Hi, I'm trying to follow http://wiki.ros.org/urdf/Tutorials/Pa... after having completed all of the introductory tutorials.

I think I may not be following some of the shorthand in this tutorial correctly. I believe I have created the parser.cpp file and the URDF file in the correct locations within ~/catkin_ws/src/testbot_description/.

At the end of the tutorial it says "build your package and run it". I navigate to ~/catkin_ws/src/ and run catkin_make. This appears successful because the results end with

[100%] Built target parser


But should I be seeing a new file somewhere called "parser"? I don't see anything except the original parser.cpp file. Now I can't understand the very last tutorial instruction. It says:

  \$ .<path>/parser <path>my_robot.urdf
# ./devel/lib/robot_description/parser /src/robot_description/urdf/my_robot.urdf (for example)


I've tried navigating to ~/catkin_ws/src/testbot_description and entering:

./src/parser /urdf/my_robot.urdf


But this returns:

bash: ./src/parser: No such file or directory


The following question appears to ask the same question, but the answer to the last step is not included: http://answers.ros.org/question/14868...

That suggests I should be calling rosrun <PKG> <NAME> instead of the approach used in the tutorial. I think that means I should be calling rosrun parser my_robot.urdf or maybe rosrun parser /urdf/my_robot.urdf but running either of those still gives me:

[rospack] Error: package 'parser' not found


I think maybe I just don't have the syntax correct for this last step, but I can't figure it out from looking at the tutorial, that other question, or the rosrun documentation. Any pointers? Thank you!

edit retag close merge delete

Sort by » oldest newest most voted

Catkin follows the out-of-source build paradigm. So the binaries aren't located in your source folder. In your case they are located in ~/catkin_ws/devel/lib/<package>.

This line you posted # ./devel/lib/robot_description/parser /src/robot_description/urdf/my_robot.urdf (for example) is correct, but you have to be in your catkin root directory.

The seconds approach you posted is also correct. But <PKG> is your package testbot_description and <NAME> the name of your node parser. Then append the arguments for your node <path to your urdf>. The correct command then looks like rosrun testbot_description parser <path to your urdf>

more