adhoc_communication simulation parameters

asked 2018-01-06 09:53:20 -0600

Mirco gravatar image

updated 2018-01-06 09:57:51 -0600

I am using the adhoc_communication module ( http://wiki.ros.org/adhoc_communication ) for a project and when I run the project, the simulated robots do not see each other. I created a launch file with 3 robots and for each group starts a adhoc_communication module and the module that use it (control_layer).

I use ROS Kinetic with Ubuntu 16.04 LTS.

The launch code example is:

<launch>
<group ns="bot0">
    <node pkg="adhoc_communication" type="adhoc_communication" name="adhoc_communication" output="screen">
        <param name="mac" value="00:00:00:00:00:00"/>
        <param name="loss_ratio" value="0"/>
        <param name="max_frame_size" value="1500" />
        <param name="hop_limit_min" value="1" />
        <param name="hop_limit_max" value="1" />
        <param name="hop_limit_increment" value="3" />
        <param name="max_packet_size" value="150000000" />
        <param name="beacon_interval" value="100" />
        <param name="enable_cooperative_relaying" value="true" />
        <param name="sim_robot_macs" value="bot1,00:11:00:00:00:00!bot2,00:22:00:00:00:00"/>
        <param name="simulation_mode" value="true"/>
    </node>
    <node pkg="control_layer" type="control_layer" name="robot_0" output="screen">
        <param name="robot_name" value="robot_0" />
        <param name="robot_prefix" value="/bot0" />
        <param name="seconds_send_timer" value="8" />
        <param name="seconds_pub_timer" value="6" />
        <param name="seconds_recompute_transform" value="25" />
        <param name="split_size" value="2048" />
        <param name="splitted" value="false" />
    </node>
</group>
<group ns="bot1">
    <node pkg="adhoc_communication" type="adhoc_communication" name="adhoc_communication" output="screen">
        <param name="mac" value="00:11:00:00:00:00"/>
        <param name="loss_ratio" value="0"/>
        <param name="max_frame_size" value="1500" />
        <param name="hop_limit_min" value="1" />
        <param name="hop_limit_max" value="1" />
        <param name="hop_limit_increment" value="3" />
        <param name="max_packet_size" value="150000000" />
        <param name="beacon_interval" value="100" />
        <param name="enable_cooperative_relaying" value="true" />
        <param name="sim_robot_macs" value="bot0,00:00:00:00:00:00!bot2,00:22:00:00:00:00"/>
        <param name="simulation_mode" value="true"/>
    </node>
    <node pkg="control_layer" type="control_layer" name="robot_1" output="screen">
        <param name="robot_name" value="robot_1" />
        <param name="robot_prefix" value="/bot1" />
        <param name="seconds_send_timer" value="8" />
        <param name="seconds_pub_timer" value="6" />
        <param name="seconds_recompute_transform" value="25" />
        <param name="split_size" value="2048" />
        <param name="splitted" value="false" />
    </node>
</group>
<group ns="bot2">
    <node pkg="adhoc_communication" type="adhoc_communication" name="adhoc_communication" output="screen">
        <param name="mac" value="00:22:00:00:00:00"/>
        <param name="loss_ratio" value="0"/>
        <param name="max_frame_size" value="1500" />
        <param name="hop_limit_min" value="1" />
        <param name="hop_limit_max" value="1" />
        <param name="hop_limit_increment" value="3" />
        <param name="max_packet_size" value="150000000" />
        <param name="beacon_interval" value="100" />
        <param name="enable_cooperative_relaying" value="true" />
        <param name="sim_robot_macs" value="bot0,00:00:00:00:00:00!bot1,00:11:00:00:00:00"/>
        <param name="simulation_mode" value="true"/>
    </node>
    <node pkg="control_layer" type="control_layer" name="robot_2" output="screen">
        <param name="robot_name" value="robot_2" />
        <param name="robot_prefix" value="/bot2" />
        <param name="seconds_send_timer" value="8" />
        <param name="seconds_pub_timer" value="6" />
        <param name="seconds_recompute_transform" value="25" />
        <param name="split_size" value="2048" />
        <param name="splitted" value="false" />
    </node>
</group>
</launch>

I try to simulate the robots with a specific mac address, but the "get neightbor" function does not find the other robots.

Can someone help me? Thank you so much.

edit retag flag offensive close merge delete