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

You have an issue because of your last error. The nodes joint_state_publisher and robot_state_publisher need as param robot_description, which is your robot urdf but your last error say that this parameter couldn't be loaded, meaning that both nodes can't be run too.

You just need to properly load the parameter robot_description :

<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find urdf_tutorial)/urdf/2wheelrobot.urdf'"/>

You have an issue because of your last error. The nodes joint_state_publisher and robot_state_publisher need as param robot_description, which is your robot urdf but your last error say that this parameter couldn't be loaded, meaning that both nodes can't be run too.

You just need to properly load the parameter robot_description :

<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find urdf_tutorial)/urdf/2wheelrobot.urdf'"/>

EDIT

As @gvdhoorn said, you could use check_urdf to check if your urdf is well-formed (it's always a good practice). But I feel your error isn't due to a mistake in your urdf file because whenever I tried your example with a broken urdf file, the error directly pointed that out. The only times I managed to have the same error as you is when $(find PACKAGE) actually find the package you tell it to find but the urdf file isn't in this package. So you either have a typo in the name of your urdf file or you created a package within your workspace urdf_tutorial but forgot to source your package, since urdf_tutorial is also an official package that you've probably installed, the command $(find urdf_tutorial) do find the package but it's not yours, meanning it cannot find your file.