You are on page 1of 10

Week 6 – Introduction to URDF

Muhammed R. Yavuz
muhammed@my.ingeniarius.pt
6th of August 2018
• Robot Models, Meshes, Worlds and Description Formats
• What is URDF?
AGENDA •

Structure of URDF
Usage in ROS
• Running RobotCraft 2018 URDF File

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 2


WORLDS DESC. FORMATS
• URDF
• SDF, URDF, or Xacro file
describing world • Legacy Format
• Usually used by ROS
• Physics Properties
• SDF
• Static Models
• Newer
• Lighting
ROBOT - • World Plugins
• More flexible
• Xacro
MODELS, MODELS
• XML Macros
• Use with URDF or SDF
MESHES, • Complete robot or any other
physical object
WORLDS, • SDF, URDF, or Xacro file describing MESHES
model
DESCRIPTION • Pose (xyz, rpy, or quaternions)
• 3D models
• Blender

FORMATS • Link
• Inertia
• Google Sketchup
• 123 Design
• Collision • Many others
• Visual • Materials
NOTE: • Joint
xyz – represents the offset • Collision vs. Visual
defaults to zero vector • Plugins
rpy - represents the rotation (roll, pitch, yaw) • Export to Collada (DAE) format
• Sensors, Motor Controllers, etc
defaults to identity to use in ROS

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 3


• Unified Robot Description Format (URDF) is an XML format for
representing a robot model. In this file you define:
• Kinematic and dynamic description of the robot
• Visual representation of the robot
• Collision model of the robot
• A list of robots described by URDF files can be found here:
http://wiki.ros.org/urdf/Examples
• URDF generation can be scripted with XACRO

WHAT IS
URDF?

Mesh for visuals Primitives for collision

More info
http://wiki.ros.org/urdf
http://wiki.ros.org/xacro

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 4


STRUCTURE OF URDF
• Description consists of a set of link elements and a set of joint
elements
• Joints connect the links together

More info
http://wiki.ros.org/urdf/XML/model

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 5


STRUCTURE OF URDF
• The link element describes a rigid body with • The joint element describes the kinematics
an inertia, visual and collision features and dynamics of the joint and also specifies
the safety limits of the joint

• Link Element Summary • Joint Element Summary

More info
http://wiki.ros.org/urdf/XML/model

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 6


• The robot description (URDF) is stored on the parameter server
(typically) under /robot_description
• You can visualize the robot model in Rviz with the RobotModel
plugin

USAGE IN A
ROS (R2D2
Tutorial on
ROS Wiki)

More info
http://wiki.ros.org/urdf/Tutorials

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 7


<?xml version="1.0"?>
<launch>
<param name="robot_description“ textfile="$(find
robotcraft2018_robot_description)/urdf/robotcraft2018.urdf" />

<node name="rviz" pkg="rviz" type="rviz" args="-d $(find


robotcraft2018_robot_description)/robotcraft2018_robot.rviz" />

<node pkg="robot_state_publisher" type="state_publisher"


name="robot_state_publisher">
ROBOTCRAFT <remap from="joint_state" to="joint_state"/>
<param name="publish_frequency" type="double"
2018 URDF value="15.0"/>
</node>
LAUNCH FILE </launch>

• This launch file does three things:


• Loads the specified model into the parameter server
• Runs nodes to publish the JointState and transforms
• Starts rViz with a configuration file

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 8


$ roslaunch robotcraft2018_robot_description
display_robotcraft2018.launch

RUNNING
ROBOTCRAFT
2018 ROBOT IN
RVIZ

• Available on Moodle
• DURING THE WEEK YOU WILL ADD THE UNIQUE
COVER OF YOUR ROBOT !!!

06/08/2018 ROBOTCRAFT 2018 – WEEK 6 9


THANK YOU FOR YOUR
ATTENTION !
Muhammed R. Yavuz
muhammed@my.ingeniarius.pt
www.mrsdyvz.com
6th of August 2018