Error while trying to simulate multiple robots in gazebo

asked 2018-03-30 16:43:04 -0600

Igor Muniz gravatar image

I'm trying to simulate multiple turtlebots in Gazebo and for that I followed the answer of here. The part of creating the models in Gazebo seems correct, but the problem begins when trying to navigate.

[ WARN] [1522444701.892817878, 393.525000000]: Timed out waiting for transform from robot1/base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.103 timeout was 0.1.
[ WARN] [1522444702.085141356, 393.608000000]: Timed out waiting for transform from robot2/base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.1 timeout was 0.1.
[ WARN] [1522444702.085394201, 393.608000000]: Timed out waiting for transform from robot3/base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.1 timeout was 0.1.z`
[ WARN] [1522444702.186626656, 393.638000000]: Timed out waiting for transform from robot4/base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.101 timeout was 0.1.

My question is basically the one presented here, but since there was no valid answer and I do not know if the owner was able to solve the problem, I decided to ask again.

So, how navigate with multiple robots in Gazebo and share /map with them?

Some information that may be helpful....

my_world.launch

<launch>
 <arg name="world_file" default="/home/sk4ll/leia_robot/warehouse3" />
 <arg name="waypoints" default='0' />
 <arg name="robotName1" default="robot_0" />
 <arg name="robotName2" default="robot_1" />

  <arg name="base"      value="$(optenv TURTLEBOT_BASE kobuki)"/> <!-- create, roomba -->
  <arg name="battery"   value="$(optenv TURTLEBOT_BATTERY /proc/acpi/battery/BAT0)"/>  <!-- /proc/acpi/battery/BAT0 --> 
  <arg name="gui" default="true"/>
  <arg name="stacks"    value="$(optenv TURTLEBOT_STACKS hexagons)"/>  <!-- circles, hexagons --> 
  <arg name="3d_sensor" value="$(optenv TURTLEBOT_3D_SENSOR kinect)"/>  <!-- kinect, asus_xtion_pro --> 

 <param name="/use_sim_time" value="true"/>

 <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="use_sim_time" value="true"/>
    <arg name="debug" value="false"/>
    <arg name="gui" value="$(arg gui)" />
    <arg name="world_name" value="$(arg world_file)"/>
  </include>

  <include file="/home/sk4ll/leia_robot/multi_robot.launch.xml">
    <arg name="base" value="$(arg base)"/>
    <arg name="stacks" value="$(arg stacks)"/>
    <arg name="3d_sensor" value="$(arg 3d_sensor)"/>
  </include>
  </launch>

multi_robot.launch

<launch>
  <arg name="base"/>
  <arg name="stacks"/>
  <arg name="3d_sensor"/>
  <arg name="robot_name"/>
  <arg name="robot_pose"/>

  <arg name="urdf_file" default="$(find xacro)/xacro.py '$(find turtlebot_description)/robots/$(arg base)_$(arg stacks)_$(arg       3d_sensor).urdf.xacro'" />
  <param name="robot_description" command="$(arg urdf_file)" />

  <!-- BEGIN ROBOT 1-->
  <group ns="robot1">
    <param name="tf_prefix" value="robot1" />
    <include file="/home/sk4ll/leia_robot/multi_kobuki.launch.xml" >
      <arg name="base" value="$(arg base)" />
      <arg name="stacks" value="$(arg stacks)" />
      <arg name="3d_sensor" value="$(arg 3d_sensor)" />
      <arg name="robot_pose" value="-x -5.5 -y -5 -Y 1.57" />
      <arg name="robot_name"  value="robot1" />
    </include>
  </group>

  <!-- BEGIN ROBOT 2-->
  <group ns="robot2">
    <param name="tf_prefix" value="robot2" />
    <include file="/home/sk4ll/leia_robot/multi_kobuki.launch.xml" >
      <arg name="base ...
(more)
edit retag flag offensive close merge delete