Professional Documents
Culture Documents
Training Class
3
URDF: Overview
also
a “link”
joint
4
URDF: Link
6
ROS-I Conventions
• Unlike DH-Parameters,
URDF allows free choice
of frame orientation
7
Exercise 3.0
Exercise 3.0
Create a simple urdf
camera_frame
table
world
8
URDF: XACRO
<xacro:myRobot prefix=“left_”/>
<xacro:myRobot prefix=“right_”/>
9
XACRO -> URDF
10
XACRO: Macros
robot.xacro
<xacro:macro name=“robot” params=“id”>
Define <joint name=“${id}_joint1”>
XACRO
...
Macro
</xacro>
workcell.xacro
<xacro:include filename=“robot.xacro”/>
Include
and
<xacro:robot id:=“left />
Call
Macro <xacro:robot id:=“right” />
11
URDF Practical Examples
12
Exercise 3.1
Exercise 3.1
Combine simple urdf with ur5 xacro
camera_frame
base_link
table
world
13
TF – Transforms in ROS
14
TF: Overview
• TF is a distributed framework
to track coordinate frames
• Each frame is related to at least one other frame
15
TF: Time Sync
Transform
widget
time
To
TCP?
world robot base robot base robot base robot base robot base
camera TCP TCP TCP TCP TCP
16
TF: c++
Camera
URDF
TF
18
Exercise 3.2
Exercise 3.2
Param: base_frame
Introduction to TF
fake_ar_pub myworkcell_node
vision_node
descartes_node
TF myworkcell_support
myworkcell_moveit_cfg ur5_driver
world->target = world->camera
* camera->target
19
Motion Planning
in ROS
20
Motion Planning
in ROS
21
Traditional Robot Programming
Joint
Move J1 J2 J1 J2
Linear
Move P1 P2 P1 P2
22
MoveIt Motion Planning
Robot Controller
Execute
Move
Request Start Goal
Planning Filtering
Kinematics
ROS Actions Robot
Path Planning
Collision Checking
C++ API
24
MoveIt Components
Sensor Input
http://moveit.ros.org/wiki/High-level_Overview_Diagram
http://moveit.ros.org/wiki/Pipeline_Overview_Diagram 25
MoveIt Nodes
http://moveit.ros.org/documentation/concepts/
26
MoveIt! / Robot Integration
• A MoveIt! Package...
– includes all required nodes, config, launch files
• motion planning, filtering, collision detection, etc.
– is unique to each individual robot model
• includes references to URDF robot data
– uses a standard interface to robots
• publish trajectory, listen to joint angles
– can (optionally) include workcell geometry
• e.g. for collision checking
27
HowTo:
Set Up a New Robot
(or workcell)
28
Motivation
29
HowTo:
Set Up a New Robot
1. Create a URDF
2. Create a MoveIt! Package
3. Update MoveIt! Package for ROS-I
4. Test on ROS-I Simulator
5. Test on “Real” Robot
30
Create a URDF
31
Verify the URDF
32
Create a MoveIt! Package
33
Update MoveIt! Package
34
Update MoveIt! Package
ROS Industrial
FollowJointTrajectory
Action Industrial
MoveIt! Robot
Joint_Names, Joint
Points
Trajectory Simulator
- Point 1
- Point 2 Action
... Motion
Custom Server
Interface
Path
State Interface
35
Exercise 3.3
Exercise 3.3:
Create a MoveIt! Package Param: base_frame
fake_ar_pub myworkcell_node
vision_node
descartes_node
myworkcell_support
myworkcell_moveit_config ur5_driver
36
HowTo:
Motion Planning using MoveIt!
1. Motion Planning using RViz
2. Motion Planning using C++
37
Motion Planning in RViz
Display Options
38
Motion Planning in RViz
Planning Options
39
Exercise 3.4
Exercise 3.4:
Motion Planning using RVIZ
40
Review
ROS ROS-Industrial
• URDF • Robot Drivers
• MoveIt • Path Planners
• Path Planners
• RViz Planning
41
Questions?
• ROS-I Architecture
• Setup Assistant
• Robot Launch Files
• RViz Planning
42