MoveIt! starts with a URDF (Universal Robot Description Format), the native format for describing robots in ROS. On this page, you will find resources for the URDF, important tips and also a list of MoveIt! specific requirements.
- The URDF ROS Wiki Page - The URDF ROS Wiki page is the source of most information about the URDF.
- URDF Tutorials - Tutorials for working with the URDF.
- Solidworks URDF Plugin - A plugin that lets you generate a URDF directly from a Solidworks model.
This section contains a set of tips on making sure that the URDF that you generate can be used with MoveIt!. Make sure you go through all these tips before starting to use MoveIt! with your robot.
Special Characters in Joint Names
Joint names should not contain any of the following special characters: -,[,],(,),
We hope to be able to get rid of these restrictions on the joint names soon.
Some URDFs have safety limits set in addition to the joint limits of the robot. Here's an example of the safety controller specified for the PR2 head pan joint:
<safety_controller k_position="100" k_velocity="1.5" soft_lower_limit="-2.857" soft_upper_limit="2.857"/>
The "soft_lower_limit" field and the "soft_upper_limit" field specify the joint position limits for this joint. MoveIt! will compare these limits to the hard limits for the joint specified in the URDF and choose the limits that are more conservative.
- If the "soft_lower_limit" and the "soft_upper_limit" in the safety_controller are set to 0.0, your joint will be unable to move.
MoveIt! relies on you to specify the correct robot model.
MoveIt! uses the meshes specified in the URDF for collision checking. The URDF allows you to specify two sets of meshes separately for visualization and collision checking. In general, the visualization meshes can be detailed and pretty, but the collision meshes should be much less detailed. The number of triangles in a mesh affects the amount of time it takes to collision check a robot link. The number of triangles in the whole robot should be on the order of a few thousand.
Test your URDF
It is very important to test your URDF out and make sure things are ok. The ROS URDF packages provide a tool that can help you check your URDF. To use this tool, follow the instructions here.
There are lots of URDFs available for robots using ROS.
- URDF Examples - A list of URDFs from the ROS community.
- Back to Configuration