ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Here is what I did for namespace and it's working well:

In a file robots.launch: (here I show you only the group tag)

<!-- Launch gazebo -->
<include file="$(find your_package)/launch/gazebo.launch">
  <arg name="model" value="$(arg model)"/>
 </include>

<group ns="robot1">
    <param name="tf_prefix" value="robot1_tf" />
    <include file="$(find your_package)/launch/robot.launch" >
      <arg name="init_pose" value="-x 11 -y 11 -z 0" />
      <arg name="robot_name"  value="robot1" />
    </include>
  </group>

Then in robot.launch: (here is the full file)

<launch>
    <arg name="robot_name" default="rrr"/>
    <arg name="init_pose" default="rrr"/>

    <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model"
         args="$(arg init_pose) -urdf -param /robot_description -model $(arg robot_name)"
         respawn="false" output="screen" />

        <node pkg="robot_state_publisher" type="robot_state_publisher" 
              name="robot_state_publisher" output="screen"/>

    </launch>

Then in gazebo.launch: (full file)

<launch>
<arg name="paused" default="false"/>
<arg name="use_sim_time" default="true"/>
<arg name="gui" default="true"/>
<arg name="headless" default="false"/>
<arg name="debug" default="false"/>
<arg name="model" default="$(find your_package)/urdf/robot.urdf.xacro"/>

<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find your_package)/world/world2"/>
<arg name="verbose" value="true" />
<arg name="debug" value="$(arg debug)" />
<arg name="gui" value="$(arg gui)" />
<arg name="paused" value="$(arg paused)"/>
<arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="headless" value="$(arg headless)"/>
</include>
<param name="robot_description" command="$(find xacro)/xacro  $(arg model)"/>
</launch>

example of diff_drive plugin:

<gazebo>
  <plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so">
    <alwaysOn>true</alwaysOn>
    <updateRate>100</updateRate>
    <leftJoint>left_joint</leftJoint>
    <rightJoint>right_joint</rightJoint>
    <wheelSeparation>0.6855600</wheelSeparation>
    <wheelDiameter>0.4064000</wheelDiameter>
    <torque>20</torque>
    <odometryFrame>odom</odometryFrame>
    <robotBaseFrame>base_link</robotBaseFrame>
    <publishWheelTF>true</publishWheelTF>
  </plugin>
</gazebo>