ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Tips for making an urdf model

asked 2015-01-18 00:55:42 -0500

nodge gravatar image

Hi, I want to make an urdf model for an existing robot using xacro. It is a simple robot with one arm and a moving base. What physical properties are important to include in the model, and which can possibly be abstracted away? Do these properties need to be obtained through direct measurement?

Do you have any tips in general for making urdf models?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-01-18 08:53:52 -0500

corb gravatar image

One approach is to find an existing URDF that has the same basic topology (possibly Turtlebot) and then modify it (in best case just updating the measurements of each piece). The model covers two aspects: the visible model which is used for Rviz visualization, and the physical model which is used for planning and to ensure collisions don;t occur. You don't need perfect 3D mesh designs for ROS moveit/planning - the meshes are just for visualization.

For a simple robot there are three main groups: base, arm, and gripper. I haven't modelled a base, but I believe, at a minimum, you will need the outside measurements and you will need to ensure your drive mechanism is modelled correctly - e.g. you will need to make sure the wheels are measured at the right location and are right size. You will need to ensure the right drive mechanism is modelled (tank-ackerman steering, or holonomic, etc).

For the arm, you will need to have the correct number of joints (e.g. Degrees of Freedom DOF), you will need to measure how long each link is between joints and you will need to measure how much each joint can rotate.

For the gripper, you will need to know whether it is a parallel gripper, a trapezoidal gripper or a single-sided gripper and you will need to measure the parts of the gripper.

Once you are done with the XACRO, you then convert that to URDF and then run MoveIt setup assistant to generate the SRDF file.

edit flag offensive delete link more


You don't need perfect 3D mesh designs for ROS moveit/planning - the meshes are just for visualization.

Note that MoveIt does use meshes for its built-in collision detection algorithm. It is true though that they don't need to be perfect. In fact, convex hulls are often used.

gvdhoorn gravatar image gvdhoorn  ( 2015-01-18 09:55:04 -0500 )edit

Correct - I should have said the "visual" tags are just for Rviz and don't need to be perfect. The "collision" tags are used for collision - and these need to just be accurate enough to prevent collision but don't need visual detail.

corb gravatar image corb  ( 2015-01-18 10:17:25 -0500 )edit

Question Tools

1 follower


Asked: 2015-01-18 00:55:42 -0500

Seen: 954 times

Last updated: Jan 18 '15