Error using roslaunch while calling a world.launch file

asked 2018-12-14 06:30:03 -0500

microbot gravatar image

updated 2018-12-14 08:22:55 -0500

gvdhoorn gravatar image

I have created a robot with 25 links i.e. one chassis and 8 legs where each leg has three links and 3 joints. when I tried to use roslaunch spider_gazebo spider_world.launch, I am having the following errors:

ERROR: cannot launch node of type [robot_state_publisher/state_publisher]: can't locate node [state_publisher] in package [robot_state_publisher]

Error [parser_urdf.cc:3474] Unable to call parseURDF on robot model
Error [parser.cc:341] parse as old deprecated model file failed.

These are the node created that i found out after running rosnode list function,

gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
rob_State_publisher (robot_state_publisher/state_publisher)
urdf_spawner (gazebo_ros/spawn_model)
 /spider/
   controller_spawnner (controller_manager/spawner)

This error after searching on the internet for many days, I thought it was coz of some function I might have used in my xacro file but I could not find any mistake in the xacro file. Can anyone please shed some light about what might cause this parse error. I am usiing ros kinetic and gazebo 7.14. Also here is the sample code for 1 link and a joint which is almost same for every link with just varying name:

<link name="chassis">
    <collision>
      <origin xyz="0 0 ${height_chassis/2}" rpy="0 0 0"/>
      <geometry>
    <cylinder length="${height_chassis}" radius="${radius_chassis}"/>
      </geometry>
    </collision>

    <visual>
      <origin xyz="0 0 ${height_chassis/2}" rpy="0 0 0"/>
      <geometry>
    <cylinder length="${height_chassis}" radius="${radius_chassis}"/>
        <mesh filename="package://spider_description/meshes/chassis_upper.dae"/>
      </geometry>
      <material name="orange"/>
    </visual>

    <inertial>
      <origin xyz="0 0 ${height_chassis/2}" rpy="0 0 0"/>
      <mass value="${mass_chassis}"/>
      <inertia
      ixx="${(mass_chassis*(3*(radius_chassis)^2+(height_chassis)^2))/2}" ixy="0.0" ixz="0.0"
      iyy="${(mass_chassis*(3*(radius_chassis)^2+(height_chassis)^2))/2}" iyz="0.0"
      izz="${(mass_chassis*(radius_chassis)^2)/2}"/>
    </inertial>
  </link>

  <joint name="joint_1_1" type="revolute">
    <parent link="chassis"/>
    <child link="left_torso_1_1"/>
    <origin xyz="${radius_chassis - axel_offset} ${radius_chassis/5} ${height_chassis - axel_offset}" rpy="0 0 0"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.7" friction="0.0"/>
    <limit effort="30" velocity="1.0" lower="-2.2" upper="0.7" />
  </joint>

Also, I have added transmission elements to all the joints and have also included gazebo_ros_contro plugin.

edit retag flag offensive close merge delete