Remap topic doesn't work - Multiple Robots
Hello, Based on the tutorial here, I tried to create my launches to run multiple robots in gazebo. Each robot has a node [called stopper] that takes care to move it. I want that each robot will move separately, so I will publish to {robotname}/cmdvel_mux/input/teleop topic.
when running "rostopic info /cmdvelmux/input/teleop" I noticed that I have only mobilebasenodeletmanager as subscriber, with no publisher (the publisher exists into {robotname}/cmdvelmux/input/teleop topic. Therefore, I used remap but it still doesn't work and the same problem appears.
one_robot.lanuch
<?xml version="1.0"?>
<launch>
<arg name="robot_name"/>
<arg name="init_pose"/>
<remap from="scan" to="$(arg robot_name)/scan"/>
<remap from="cmd_vel_mux/input/teleop" to="$(arg robot_name)/cmd_vel_mux/input/teleop"/>
<node name="spawn_minibot_model" pkg="gazebo_ros" type="spawn_model"
args="$(arg init_pose) -urdf -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
<!-- Launch stopper node -->
<node name="stopper" pkg="stopper" type="stopper" output="screen" args="$(arg robot_name)">
</node>
</launch>
robots.launch
<?xml version="1.0"?>
<launch>
<!-- No namespace here as we will share this description.
Access with slash at the beginning -->
<param name="robot_description"
command="$(find xacro)/xacro.py $(find turtlebot_description)/robots/kobuki_hexagons_asus_xtion_pro.urdf.xacro"/>
<!-- BEGIN ROBOT 1-->
<group ns="robot1">
<param name="tf_prefix" value="robot1_tf" />
<include file="$(find stopper)/launch/one_robot.launch" >
<arg name="init_pose" value="-x 1 -y 1 -z 0" />
<arg name="robot_name" value="Robot1" />
</include>
</group>
<!-- BEGIN ROBOT 2-->
<group ns="robot2">
<param name="tf_prefix" value="robot2_tf" />
<include file="$(find stopper)/launch/one_robot.launch" >
<arg name="init_pose" value="-x -1 -y 1 -z 0" />
<arg name="robot_name" value="Robot2" />
</include>
</group>
</launch>
multiple_robots.launch
<?xml version="1.0"?>
<launch>
<param name="/use_sim_time" value="true" />
<!-- include our robots -->
<include file="$(find stopper)/launch/robots.launch"/>
<!-- start world -->
<include file="$(find turtlebot_gazebo)/launch/turtlebot_world.launch"/>
</launch>
- As it looks, I tried to remap in onerobot.launch, but it still didn't work as I mentioned previous.
I notice that the remap works only if I do it in `multiplerobots.launch
, but it's not really possible for me, because there we don't know the robot names, but just in
one_robot.launch`.
I would like to get your help to solve this issue, I spent a lot of time on this. Thank you very much!
Asked by moni213 on 2019-03-23 08:49:42 UTC
Comments
Does someone can help? Thank you.
Asked by moni213 on 2019-03-26 08:15:42 UTC