Error using roslaunch while calling a world.launch file
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.