Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Spawning Erratic robot in Gazebo 1.9 with ROS groovy

Hi, I am trying to spawn erratic robot in Gazebo 1.9 using following launch file.

<launch>
<!-- Convert an xacro and put on parameter server -->
<param name="robot_description" command="$(find xacro)/xacro.py $(find erratic_description)/urdf/erratic.urdf.xacro" />

<!-- Spawn a robot into Gazebo -->
<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model erratic" />
</launch>

It works perfect for PR2 robot but in the case of erratic it does not spawn the robot and produce the following output.

    Warning [parser.cc:353] No <sdf> element in file[data-string]
Error [parser.cc:694] XML Element[controller:diffdrive_plugin], child of element[model] not defined in SDF. Ignoring.[model]
Error [parser.cc:685] Error reading element <model>
Error [parser.cc:345] Unable to read element <sdf>
Error [parser.cc:296] parse as old deprecated model file failed.
Error [World.cc:1469] Unable to read sdf string[<!-- =================================================================================== --><!-- |    This document was autogenerated by xacro from /opt/ros/groovy/stacks/erratic_robot/erratic_description/urdf/erratic.urdf.xacro | --><!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | --><!-- =================================================================================== --><robot xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" name="erratic"><!-- Included URDF Files --><material name="Black"><color rgba="0.0 0.0 0.0 1.0" /></material><material name="Blue"><color rgba="0.0 0.0 0.8 1.0" /></material><material name="Green"><color rgba="0.0 0.8 0.0 1.0" /></material><material name="Grey"><color rgba="0.7 0.7 0.7 1.0" /></material><material name="Grey2"><color rgba="0.9 0.9 0.9 1.0" /></material><material name="Red"><color rgba="0.8 0.0 0.0 1.0" /></material><material name="White"><color rgba="1.0 1.0 1.0 1.0" /></material><link name="base_footprint"><inertial><mass value="0.0001" /><origin xyz="0 0 0" /><inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><box size="0.001 0.001 0.001" /></geometry><material name="Green" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0.128" /><geometry><box size="0.001 0.001 0.001" /></geometry></collision></link><joint name="base_footprint_joint" type="fixed"><origin rpy="0 0 0" xyz="0.063 0 0.128" /><parent link="base_footprint" /><child link="base_link" /></joint><link name="base_link"><inertial><mass value="20" /><origin xyz="0 0 0" /><inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_base_link.dae" /></geometry><material name="Blue" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_base_link.dae" /></geometry></collision></link><joint name="base_caster_support_joint" type="continuous"><origin rpy="0 0 0" xyz="-0.188 0 -0.043" /><parent link="base_link" /><child link="base_caster_support_link" /><axis xyz="0 0 1" /><anchor xyz="0.01 0 0" /><limit effort="100" k_velocity="0" velocity="100" /><joint_properties damping="0.0" friction="0.0" /></joint><transmission name="base_caster_support_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="base_caster_support_motor" /><joint name="base_caster_support_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><link name="base_caster_support_link"><inertial><mass value="0.1" /><origin xyz="0 0 0" /><inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_support_link.dae" /></geometry></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_support_link.dae" /></geometry></collision></link><joint name="caster_wheel_joint" type="continuous"><origin rpy="0 0 0" xyz="-0.025 0 -0.0469" /><parent link="base_caster_support_link" /><child link="caster_wheel_link" /><axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" k_velocity="0" velocity="100" /><joint_properties damping="0.0" friction="0.0" /></joint><transmission name="caster_wheel_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="caster_wheel_motor" /><joint name="caster_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><link name="caster_wheel_link"><inertial><mass value="0.1" /><origin rpy="0 0 0" xyz="0 0 0" /><inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_wheel_link.dae" /></geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_wheel_link.dae" /></geometry></collision></link><gazebo reference="caster_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" /></gazebo><joint name="computer_mount_joint" type="fixed"><origin rpy="0 0 0" xyz="-0.0925 0 0.0795" /><parent link="base_link" /><child link="computer_link" /></joint><link name="computer_link"><inertial><mass value="2" /><origin rpy="0 0 0" xyz="0 0 0.028" /><inertia ixx="0.1" ixy="0" ixz="0" iyy="0.1" iyz="0" izz="0.1" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0.028" /><geometry><box size="0.17 0.175 0.056" /></geometry></visual><collision><origin rpy="0 0 0" xyz="0 0 0.028" /><geometry><box size="0.17 0.175 0.056" /></geometry></collision></link><gazebo reference="computer_link"><material>Erratic/BlueBrushedAluminum</material></gazebo><joint name="base_link_left_wheel_joint" type="continuous"><origin rpy="0 0 0" xyz="0.075 0.16525 -0.053" /><axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" velocity="100" /><joint_properties damping="0.0" friction="0.0" /><parent link="base_link" /><child link="base_link_left_wheel_link" /></joint><link name="base_link_left_wheel_link"><inertial><mass value="0.1" /><origin xyz=" 0 0 0 " /><inertia ixx="0.012411765597" ixy="0.0" ixz="0.0" iyy="0.015218160428" iyz="0.0" izz="0.011763977943" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry></collision></link><gazebo reference="base_link_left_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" /><material>Erratic/Grey</material></gazebo><gazebo reference="base_link_left_motor_link"><material>Erratic/White</material></gazebo><transmission name="base_link_left_wheel_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="base_link_left_wheel_motor" /><joint name="base_link_left_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><joint name="base_link_right_wheel_joint" type="continuous"><origin rpy="0 0 0" xyz="0.075 -0.16525 -0.053" /><axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" velocity="100" /><joint_properties damping="0.0" friction="0.0" /><parent link="base_link" /><child link="base_link_right_wheel_link" /></joint><link name="base_link_right_wheel_link"><inertial><mass value="0.1" /><origin xyz=" 0 0 0 " /><inertia ixx="0.012411765597" ixy="0.0" ixz="0.0" iyy="0.015218160428" iyz="0.0" izz="0.011763977943" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry></collision></link><gazebo reference="base_link_right_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" /><material>Erratic/Grey</material></gazebo><gazebo reference="base_link_right_motor_link"><material>Erratic/White</material></gazebo><transmission name="base_link_right_wheel_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="base_link_right_wheel_motor" /><joint name="base_link_right_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><gazebo><controller:diffdrive_plugin name="differential_drive_controller" plugin="libdiffdrive_plugin.so"><alwaysOn>true</alwaysOn><update>100</update><updateRate>100.0</updateRate><leftJoint>base_link_right_wheel_joint</leftJoint><rightJoint>base_link_left_wheel_joint</rightJoint><wheelSeparation>0.3305</wheelSeparation><wheelDiameter>0.15</wheelDiameter><torque>5</torque><interface:position name="position_iface_0" /><topicName>cmd_vel</topicName></controller:diffdrive_plugin><controller:gazebo_ros_p3d name="p3d_base_controller" plugin="libgazebo_ros_p3d.so"><alwaysOn>true</alwaysOn><updateRate>100.0</updateRate><bodyName>base_link</bodyName><topicName>base_pose_ground_truth</topicName><gaussianNoise>0.01</gaussianNoise><frameName>map</frameName><xyzOffsets>0 0 0</xyzOffsets><rpyOffsets>0 0 0</rpyOffsets><interface:position name="p3d_base_position" /></controller:gazebo_ros_p3d><canonicalBody>base_footprint</canonicalBody><!-- this publishes empty joint_states due to no transmission, but
             triggering robot_state_publisher to publish tf between fixed joints in erratic,
             (e.g. base_laser_link for the base_scan frame) --><controller:gazebo_ros_controller_manager name="gazebo_ros_controller_manager" plugin="libgazebo_ros_controller_manager.so"><alwaysOn>true</alwaysOn><updateRate>100.0</updateRate><interface:audio name="gazebo_ros_controller_manager_dummy_iface" /></controller:gazebo_ros_controller_manager></gazebo><gazebo reference="base_link"><material>Erratic/Grey2</material></gazebo><gazebo reference="base_top_link"><material>Erratic/Grey2</material></gazebo><gazebo reference="caster_wheel_link"><material>Erratic/Black</material></gazebo><gazebo reference="base_caster_box_link"><material>Erratic/Black</material></gazebo><gazebo reference="base_caster_support_link"><material>Erratic/White</material></gazebo>

Any suggestions? Thanks.

Spawning Erratic robot in Gazebo 1.9 with ROS groovy

Hi, I am trying to spawn erratic robot in Gazebo 1.9 using following launch file.

<launch>
<!-- Convert an xacro and put on parameter server -->
<param name="robot_description" command="$(find xacro)/xacro.py $(find erratic_description)/urdf/erratic.urdf.xacro" />

<!-- Spawn a robot into Gazebo -->
<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model erratic" />
</launch>

It works perfect for PR2 robot but in the case of erratic it does not spawn the robot and produce the following output.

    Warning [parser.cc:353] No <sdf> element in file[data-string]
Error [parser.cc:694] XML Element[controller:diffdrive_plugin], child of element[model] not defined in SDF. Ignoring.[model]
Error [parser.cc:685] Error reading element <model>
Error [parser.cc:345] Unable to read element <sdf>
Error [parser.cc:296] parse as old deprecated model file failed.
Error [World.cc:1469] Unable to read sdf string[<!-- =================================================================================== --><!-- |    This document was autogenerated by xacro from /opt/ros/groovy/stacks/erratic_robot/erratic_description/urdf/erratic.urdf.xacro | --><!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | --><!-- =================================================================================== --><robot xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" name="erratic"><!-- Included URDF Files --><material name="Black"><color rgba="0.0 0.0 0.0 1.0" /></material><material name="Blue"><color rgba="0.0 0.0 0.8 1.0" /></material><material name="Green"><color rgba="0.0 0.8 0.0 1.0" /></material><material name="Grey"><color rgba="0.7 0.7 0.7 1.0" /></material><material name="Grey2"><color rgba="0.9 0.9 0.9 1.0" /></material><material name="Red"><color rgba="0.8 0.0 0.0 1.0" /></material><material name="White"><color rgba="1.0 1.0 1.0 1.0" /></material><link name="base_footprint"><inertial><mass value="0.0001" /><origin xyz="0 0 0" /><inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><box size="0.001 0.001 0.001" /></geometry><material name="Green" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0.128" /><geometry><box size="0.001 0.001 0.001" /></geometry></collision></link><joint name="base_footprint_joint" type="fixed"><origin rpy="0 0 0" xyz="0.063 0 0.128" /><parent link="base_footprint" /><child link="base_link" /></joint><link name="base_link"><inertial><mass value="20" /><origin xyz="0 0 0" /><inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_base_link.dae" /></geometry><material name="Blue" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_base_link.dae" /></geometry></collision></link><joint name="base_caster_support_joint" type="continuous"><origin rpy="0 0 0" xyz="-0.188 0 -0.043" /><parent link="base_link" /><child link="base_caster_support_link" /><axis xyz="0 0 1" /><anchor xyz="0.01 0 0" /><limit effort="100" k_velocity="0" velocity="100" /><joint_properties damping="0.0" friction="0.0" /></joint><transmission name="base_caster_support_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="base_caster_support_motor" /><joint name="base_caster_support_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><link name="base_caster_support_link"><inertial><mass value="0.1" /><origin xyz="0 0 0" /><inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_support_link.dae" /></geometry></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_support_link.dae" /></geometry></collision></link><joint name="caster_wheel_joint" type="continuous"><origin rpy="0 0 0" xyz="-0.025 0 -0.0469" /><parent link="base_caster_support_link" /><child link="caster_wheel_link" /><axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" k_velocity="0" velocity="100" /><joint_properties damping="0.0" friction="0.0" /></joint><transmission name="caster_wheel_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="caster_wheel_motor" /><joint name="caster_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><link name="caster_wheel_link"><inertial><mass value="0.1" /><origin rpy="0 0 0" xyz="0 0 0" /><inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_wheel_link.dae" /></geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_wheel_link.dae" /></geometry></collision></link><gazebo reference="caster_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" /></gazebo><joint name="computer_mount_joint" type="fixed"><origin rpy="0 0 0" xyz="-0.0925 0 0.0795" /><parent link="base_link" /><child link="computer_link" /></joint><link name="computer_link"><inertial><mass value="2" /><origin rpy="0 0 0" xyz="0 0 0.028" /><inertia ixx="0.1" ixy="0" ixz="0" iyy="0.1" iyz="0" izz="0.1" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0.028" /><geometry><box size="0.17 0.175 0.056" /></geometry></visual><collision><origin rpy="0 0 0" xyz="0 0 0.028" /><geometry><box size="0.17 0.175 0.056" /></geometry></collision></link><gazebo reference="computer_link"><material>Erratic/BlueBrushedAluminum</material></gazebo><joint name="base_link_left_wheel_joint" type="continuous"><origin rpy="0 0 0" xyz="0.075 0.16525 -0.053" /><axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" velocity="100" /><joint_properties damping="0.0" friction="0.0" /><parent link="base_link" /><child link="base_link_left_wheel_link" /></joint><link name="base_link_left_wheel_link"><inertial><mass value="0.1" /><origin xyz=" 0 0 0 " /><inertia ixx="0.012411765597" ixy="0.0" ixz="0.0" iyy="0.015218160428" iyz="0.0" izz="0.011763977943" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry></collision></link><gazebo reference="base_link_left_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" /><material>Erratic/Grey</material></gazebo><gazebo reference="base_link_left_motor_link"><material>Erratic/White</material></gazebo><transmission name="base_link_left_wheel_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="base_link_left_wheel_motor" /><joint name="base_link_left_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><joint name="base_link_right_wheel_joint" type="continuous"><origin rpy="0 0 0" xyz="0.075 -0.16525 -0.053" /><axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" velocity="100" /><joint_properties damping="0.0" friction="0.0" /><parent link="base_link" /><child link="base_link_right_wheel_link" /></joint><link name="base_link_right_wheel_link"><inertial><mass value="0.1" /><origin xyz=" 0 0 0 " /><inertia ixx="0.012411765597" ixy="0.0" ixz="0.0" iyy="0.015218160428" iyz="0.0" izz="0.011763977943" /></inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry></collision></link><gazebo reference="base_link_right_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" /><material>Erratic/Grey</material></gazebo><gazebo reference="base_link_right_motor_link"><material>Erratic/White</material></gazebo><transmission name="base_link_right_wheel_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="base_link_right_wheel_motor" /><joint name="base_link_right_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><gazebo><controller:diffdrive_plugin name="differential_drive_controller" plugin="libdiffdrive_plugin.so"><alwaysOn>true</alwaysOn><update>100</update><updateRate>100.0</updateRate><leftJoint>base_link_right_wheel_joint</leftJoint><rightJoint>base_link_left_wheel_joint</rightJoint><wheelSeparation>0.3305</wheelSeparation><wheelDiameter>0.15</wheelDiameter><torque>5</torque><interface:position name="position_iface_0" /><topicName>cmd_vel</topicName></controller:diffdrive_plugin><controller:gazebo_ros_p3d name="p3d_base_controller" plugin="libgazebo_ros_p3d.so"><alwaysOn>true</alwaysOn><updateRate>100.0</updateRate><bodyName>base_link</bodyName><topicName>base_pose_ground_truth</topicName><gaussianNoise>0.01</gaussianNoise><frameName>map</frameName><xyzOffsets>0 0 0</xyzOffsets><rpyOffsets>0 0 0</rpyOffsets><interface:position name="p3d_base_position" /></controller:gazebo_ros_p3d><canonicalBody>base_footprint</canonicalBody><!-- this publishes empty joint_states due to no transmission, but
             triggering robot_state_publisher to publish tf between fixed joints in erratic,
             (e.g. base_laser_link for the base_scan frame) --><controller:gazebo_ros_controller_manager name="gazebo_ros_controller_manager" plugin="libgazebo_ros_controller_manager.so"><alwaysOn>true</alwaysOn><updateRate>100.0</updateRate><interface:audio name="gazebo_ros_controller_manager_dummy_iface" /></controller:gazebo_ros_controller_manager></gazebo><gazebo reference="base_link"><material>Erratic/Grey2</material></gazebo><gazebo reference="base_top_link"><material>Erratic/Grey2</material></gazebo><gazebo reference="caster_wheel_link"><material>Erratic/Black</material></gazebo><gazebo reference="base_caster_box_link"><material>Erratic/Black</material></gazebo><gazebo reference="base_caster_support_link"><material>Erratic/White</material></gazebo>

robot. Any suggestions? Thanks.

Spawning Erratic robot in Gazebo 1.9 with ROS groovy

Hi, I am trying to spawn erratic robot in Gazebo 1.9 using following launch file.

<launch>
<!-- Convert an xacro and put on parameter server -->
<param name="robot_description" command="$(find xacro)/xacro.py $(find erratic_description)/urdf/erratic.urdf.xacro" />

<!-- Spawn a robot into Gazebo -->
<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model erratic" />
</launch>

It works perfect for PR2 robot but in the case of erratic it does not spawn the robot. Any suggestions? Thanks.Thanks. Here is the output of the launch file. Running PR2 in same way also generates alot of errors in terminal but manage to spawn it.In this tutorial they explicitly says that

Note: at this writing there are still a lot of errors and warnings from the console output that need to be fixed from the PR2's URDF due to Gazebo API changes.

Warning [parser.cc:353] No <sdf> element in file[data-string]
Error [parser.cc:694] XML Element[controller:diffdrive_plugin], child of element[model] not defined in SDF. Ignoring.[model]
Error [parser.cc:685] Error reading element <model>
Error [parser.cc:345] Unable to read element <sdf>
Error [parser.cc:296] parse as old deprecated model file failed.
Error [World.cc:1469] Unable to read sdf string
<!--This document was autogenerated by xacro from /opt/ros/groovy/stacks/erratic_robot/erratic_description/urdf/erratic.urdf.xacro | -->
<!--EDITING THIS FILE BY HAND IS NOT RECOMMENDED========== -->
<robot xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
    xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
     xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" name="erratic">

<!-- Included URDF Files -->
<material name="Black"><color rgba="0.0 0.0 0.0 1.0" /></material>
<material name="Blue"><color rgba="0.0 0.0 0.8 1.0" /></material>
<material name="Green"><color rgba="0.0 0.8 0.0 1.0" /></material>
<material name="Grey"><color rgba="0.7 0.7 0.7 1.0" /></material>
<material name="Grey2"><color rgba="0.9 0.9 0.9 1.0" /></material>
<material name="Red"><color rgba="0.8 0.0 0.0 1.0" /></material>
<material name="White"><color rgba="1.0 1.0 1.0 1.0" /></material>
<link name="base_footprint">
<inertial><mass value="0.0001" /><origin xyz="0 0 0" />
<inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001" /></inertial>
<visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><box size="0.001 0.001 0.001" /></geometry>
<material name="Green" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0.128" /><geometry>
<box size="0.001 0.001 0.001" /></geometry></collision></link>
<joint name="base_footprint_joint" type="fixed"><origin rpy="0 0 0" xyz="0.063 0 0.128" />
<parent link="base_footprint" /><child link="base_link" /></joint>
<link name="base_link"><inertial><mass value="20" /><origin xyz="0 0 0" />
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" /></inertial>
<visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_base_link.dae" /></geometry>
<material name="Blue" /></visual>
<collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_base_link.dae" /></geometry></collision></link>
<joint name="base_caster_support_joint" type="continuous">
<origin rpy="0 0 0" xyz="-0.188 0 -0.043" /><parent link="base_link" />
<child link="base_caster_support_link" /><axis xyz="0 0 1" /><anchor xyz="0.01 0 0" /><limit effort="100" k_velocity="0" velocity="100" />
<joint_properties damping="0.0" friction="0.0" /></joint>
<transmission name="base_caster_support_trans" type="pr2_mechanism_model/SimpleTransmission">
<actuator name="base_caster_support_motor" /><joint name="base_caster_support_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission>
<link name="base_caster_support_link"><inertial><mass value="0.1" />
<origin xyz="0 0 0" /><inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01" /></inertial>
<visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_support_link.dae" />
</geometry></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_support_link.dae" /></geometry></collision></link>
<joint name="caster_wheel_joint" type="continuous">
<origin rpy="0 0 0" xyz="-0.025 0 -0.0469" /><parent link="base_caster_support_link" /><child link="caster_wheel_link" />
<axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" k_velocity="0" velocity="100" />
<joint_properties damping="0.0" friction="0.0" /></joint><transmission name="caster_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
<actuator name="caster_wheel_motor" /><joint name="caster_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><link name="caster_wheel_link"><inertial>
<mass value="0.1" /><origin rpy="0 0 0" xyz="0 0 0" /><inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943" /></inertial>
<visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_wheel_link.dae" /></geometry>
<material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_caster_wheel_link.dae" /></geometry></collision></link>
<gazebo reference="caster_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" /></gazebo>
<joint name="computer_mount_joint" type="fixed"><origin rpy="0 0 0" xyz="-0.0925 0 0.0795" />
<parent link="base_link" /><child link="computer_link" /></joint><link name="computer_link">
<inertial><mass value="2" /><origin rpy="0 0 0" xyz="0 0 0.028" /><inertia ixx="0.1" ixy="0" ixz="0" iyy="0.1" iyz="0" izz="0.1" /></inertial>
<visual><origin rpy="0 0 0" xyz="0 0 0.028" /><geometry><box size="0.17 0.175 0.056" /></geometry></visual>
<collision><origin rpy="0 0 0" xyz="0 0 0.028" /><geometry><box size="0.17 0.175 0.056" /></geometry></collision></link>
<gazebo reference="computer_link"><material>Erratic/BlueBrushedAluminum</material></gazebo><joint name="base_link_left_wheel_joint" type="continuous">
<origin rpy="0 0 0" xyz="0.075 0.16525 -0.053" /><axis xyz="0 1 0" />
<anchor xyz="0 0 0" /><limit effort="100" velocity="100" /><joint_properties damping="0.0" friction="0.0" />
<parent link="base_link" /><child link="base_link_left_wheel_link" /></joint><link name="base_link_left_wheel_link"><inertial>
<mass value="0.1" /><origin xyz=" 0 0 0 " /><inertia ixx="0.012411765597" ixy="0.0" ixz="0.0" iyy="0.015218160428" iyz="0.0" izz="0.011763977943" />
</inertial><visual><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" />
</geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" /></geometry></collision></link>
<gazebo reference="base_link_left_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" /><kp value="1000000.0" /><kd value="1.0" />
<material>Erratic/Grey</material></gazebo><gazebo reference="base_link_left_motor_link"><material>Erratic/White</material></gazebo>
<transmission name="base_link_left_wheel_trans" type="pr2_mechanism_model/SimpleTransmission"><actuator name="base_link_left_wheel_motor" />
<joint name="base_link_left_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission>
<joint name="base_link_right_wheel_joint" type="continuous"><origin rpy="0 0 0" xyz="0.075 -0.16525 -0.053" />
<axis xyz="0 1 0" /><anchor xyz="0 0 0" /><limit effort="100" velocity="100" /><joint_properties damping="0.0" friction="0.0" />
<parent link="base_link" /><child link="base_link_right_wheel_link" /></joint>
<link name="base_link_right_wheel_link"><inertial>
<mass value="0.1" /><origin xyz=" 0 0 0 " />
<inertia ixx="0.012411765597" ixy="0.0" ixz="0.0" iyy="0.015218160428" iyz="0.0" izz="0.011763977943" /></inertial><visual>
<origin rpy="0 0 0" xyz="0 0 0" /><geometry><mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" />
</geometry><material name="Black" /></visual><collision><origin rpy="0 0 0" xyz="0 0 0" /><geometry>
<mesh filename="/opt/ros/groovy/stacks/erratic_robot/erratic_description/meshes/collada/erratic_front_wheel_link.dae" />
</geometry></collision></link><gazebo reference="base_link_right_wheel_link"><mu1 value="100.0" /><mu2 value="100.0" />
<kp value="1000000.0" /><kd value="1.0" /><material>Erratic/Grey</material></gazebo><gazebo reference="base_link_right_motor_link">
<material>Erratic/White</material></gazebo><transmission name="base_link_right_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
<actuator name="base_link_right_wheel_motor" /><joint name="base_link_right_wheel_joint" /><mechanicalReduction>1.0</mechanicalReduction></transmission><gazebo><controller:diffdrive_plugin name="differential_drive_controller" plugin="libdiffdrive_plugin.so">
<alwaysOn>true</alwaysOn><update>100</update><updateRate>100.0</updateRate><leftJoint>base_link_right_wheel_joint</leftJoint>
<rightJoint>base_link_left_wheel_joint</rightJoint><wheelSeparation>0.3305</wheelSeparation><wheelDiameter>0.15</wheelDiameter><torque>5</torque>
<interface:position name="position_iface_0" /><topicName>cmd_vel</topicName></controller:diffdrive_plugin>
<controller:gazebo_ros_p3d name="p3d_base_controller" plugin="libgazebo_ros_p3d.so"><alwaysOn>true</alwaysOn><updateRate>100.0</updateRate>
<bodyName>base_link</bodyName><topicName>base_pose_ground_truth</topicName><gaussianNoise>0.01</gaussianNoise>
<frameName>map</frameName><xyzOffsets>0 0 0</xyzOffsets><rpyOffsets>0 0 0</rpyOffsets><interface:position name="p3d_base_position" />
</controller:gazebo_ros_p3d><canonicalBody>base_footprint</canonicalBody><!-- this publishes empty joint_states due to no transmission, but
             triggering robot_state_publisher to publish tf between fixed joints in erratic,
             (e.g. base_laser_link for the base_scan frame) -->
<controller:gazebo_ros_controller_manager name="gazebo_ros_controller_manager" plugin="libgazebo_ros_controller_manager.so">
<alwaysOn>true</alwaysOn><updateRate>100.0</updateRate><interface:audio name="gazebo_ros_controller_manager_dummy_iface" />
</controller:gazebo_ros_controller_manager></gazebo><gazebo reference="base_link">
<material>Erratic/Grey2</material></gazebo><gazebo reference="base_top_link"><material>Erratic/Grey2</material>
</gazebo><gazebo reference="caster_wheel_link"><material>Erratic/Black</material></gazebo>
<gazebo reference="base_caster_box_link"><material>Erratic/Black</material></gazebo>
<gazebo reference="base_caster_support_link"><material>Erratic/White</material>
</gazebo><origin xyz="0 0 0" rpy="0 -0 0" /></robot>]