Skip to content

Tutorial: Creating a URDF For Your Robot

Minh-Khang Vu edited this page Oct 11, 2019 · 2 revisions

Creating a URDF For Your Robot

What's a URDF File?

URDF stands for Universal Robot Description File. It describes, in a representative fashion, the following:

  • Where each of the links and joints is relative to each other
  • How each of the joints move
  • Encodes physical properties, such as mass or moment of inertia, collision/ visual volume

URDF Files are an important component in ROS architecture, because it provides a standardized format to let all of the generic packages know how your robot is configured, what its constraints are, etc.

Workflow

In a high level, the workflow below will let you generate a URDF file:

  • Install the Plugin
  • Create a Simplified Solidworks Assembly
    • You don't want too much complexity, as calculations for collisions will take longer. Lean on the side of convex hull approximations.
    • If you already have an assembly, it's okay to use them; instructions are in the supplementary link below.
  • Setup a primary coordinate system for each of the parts
    • Remember that, as per REP 0103, X axis is forward in ROS, and all coordinate systems are right-handed.
  • Setup an axis (if applicable) about which your part moves
    • Again, Right-Hand Rule! If you're unsure, you can simply flip the signs of the axes in the generated urdf file later.
  • Move over the generated package to your Linux Environment.
  • Modify the generated package so that it's compatible with ROS Indigo.
    • Better documentation on this will come soon!

For a more detailed description, just navigate to the links below:

Links

Primary Link for the Solidworks Plugin

Supplementary Link for using the Plugin; much more exhaustive, in many ways -- includes gotchas. Once you're stuck, the most useful page for you is probably the last page.