2.2.1 Introduction to URDF

Course subject(s) Module 2. Build your own robot environment

In this lecture, the focus will be on the basics of URDF. Furthermore, links and joints, joint types and standardization will be explained.

Finally, we’ll follow two of the URDF tutorials that can be found on the ROS wiki.

Outline

URDF:

  • Domain-specific modelling language (DSML)
  • ROS specific file-format based on XML
  • Stores
    • Robot body layout (kinematic structure)
    • Appearance
    • Extra information (joint limits, mass, etc)
  • Uses names and concepts from the robotics domains

URDF Implementation:

  • Text file
  • XML tags standardized in URDF standard
  • File references using Uniform Resource Locators (URLs)
  • 3D mesh files

Contents:

  • Mostly <link> and <joint> elements
  • <link>s: form the robot’s structure
  • <joint>s: form the connections between links and set motion constraints

Joint types:

  • Fixed: rigid connection, no motion
  • Revolute: support rotation in 1 dimension (along a single axis)
  • Continuous: unlimited variant of revolute joints
  • Prismatic: support translation in 1 dimension (along a single axis)
  • Planar: translation in two dimensions
  • Floating: unlimited motion (translation and rotation) in all 6 dimentions

Standardisation:

In the video we saw a small example of a simple URDF called “tiny_robot”, we’ve replicated it here below:

In this example we have 2 links and 1 joint.

The joint type still needs to be specified: “..” is not a valid joint type and ROS won’t know what to do with it.

If we draw this robot we might see something like this:

This is obviously not a very useful robot, as it is very small and cannot do any useful work. But it is a valid URDF and shows the basic building blocks of any URDF: link and joint elements and their properties.

Tutorials

In this week, you’ll follow and complete three of the five tutorials about URDF and XACRO that are available on the ROS wiki.

As we will only discuss XACRO in the next video (2.2.2), we’ll only make the first two tutorials now:

Follow the instructions in the tutorials, and try to create the R2D2 robot yourself.

Remember: the urdf_tutorial package has already been provided to you as part of the Week 2 download zip file and should be part of your workspace. You do not need to install anything using apt-get or use rosdep.

You can find this package with the command roscd urdf_tutorial.

The files that are referred to in the tutorials are also available in the urdf_tutorial/urdf directory.

Creative Commons License
Hello (Real) World with ROS - Robot Operating System by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://online-learning.tudelft.nl/courses/hello-real-world-with-ros-robot-operating-systems//.
Back to top