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:
- REP 103 – Standard Units of Measure and Coordinate Conventions
- ROS uses a right-handed coordinate system : X+ (forward); Y+ (left) then Z+ (up)
- ROS uses SI units for everything:
- Length: meters
- Angles: radians
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.
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//.