Direct Kinematics: Robotics 1
Direct Kinematics: Robotics 1
Direct kinematics
Prof. Alessandro De Luca
Robotics 1 1
Kinematics of robot manipulators
n study of ...
geometric and timing aspects of robot motion,
without reference to the causes producing it
Robotics 1 2
Motivations
n functional aspects
n definition of robot workspace
n calibration
n operational aspects
task execution task definition and
(actuation by motors) performance
Robotics 1 3
Kinematics
formulation and parameterizations
𝑟 = 𝑓(𝑞)
JOINT DIRECT TASK
space (Cartesian)
INVERSE space
n choice of parameterization 𝑞
n unambiguous and minimal characterization of robot configuration
n n = # degrees of freedom (dof) = # robot joints (rotational or
translational)
n choice of parameterization 𝑟
n compact description of position and/or orientation (pose) variables
of interest to the required task
n usually, 𝑚 £ 𝑛 and 𝑚 6 (but none of these is strictly necessary)
Robotics 1 4
Open kinematic chains
𝑞2 𝑞𝑛 𝑅𝐹𝐸
𝑞4
𝑞1 𝑞3 𝑟 = (𝑟1, … , 𝑟2 )
e.g., the relative angle e.g., it describes the
between a link and the pose of frame 𝑅𝐹𝐸
following one
n 𝑚=2 n 𝑚=5
n pointing in space n positioning and pointing in space
n positioning in the plane (like for spot welding)
n 𝑚=3 n 𝑚=6
n orientation in space n positioning and orientation in space
n positioning and orientation in the plane n positioning of two points in space
(e.g., end-effector and elbow)
Robotics 1 5
Classification by kinematic type
first 3 dofs only
SCARA
(RRP)
cylindric
Cartesian or (RPP)
gantry
(PPP) articulated or
anthropomorphic
(RRR)
polar or
spherical
(RRP)
𝑟 = 𝑓7 (𝑞)
Robotics 1 7
Direct kinematics of 2R planar robot
just using inspection…
𝑦 𝑞.
𝑃 𝜙
𝑝𝑦 • 𝑞= 𝑞 𝑛=2
D
𝑙2
𝑞2 𝑝E
𝑙1 𝑟 = 𝑝F 𝑚=3
𝑞1 𝜙
𝑝𝑥 𝑥
joint 2 joint 𝑖 + 1
link 𝑖 − 1 joint 𝑛
link 1
link 𝑛
joint 1 link 𝑖
joint 𝑖 − 1
link 0 joint 𝑖
(base) (end effector)
revolute prismatic
Robotics 1 9
Spatial relation between joint axes
90°
common normal
𝐵 (axis of link 𝑖 )
Robotics 1 10
Spatial relation between link axes
axis of joint 𝑖
link 𝑖 − 1
link 𝑖
𝐷
𝐶
axis of link 𝑖 − 1 axis of link 𝑖
𝜎
𝜃M
link 𝑖 − 1 is moved
by joint 𝑖 − 1 frame 𝑅𝐹𝑖 is
attached to link 𝑖 𝛼M
𝑧M
𝑧M-. 𝑎M
𝑑M 𝑂M 𝑥M
𝑥M-.
𝜃M
𝑂M-. axis of link 𝑖
axis of joint 𝑖 as common normal to
around which link 𝑖 rotates joint axes 𝑖 and 𝑖 + 1
or along which link 𝑖 slides
Robotics 1 12
Definition of DH parameters
joint axis joint axis joint axis
𝑖−1 𝑖 𝑖+1
link 𝑖
link 𝑖 − 1
𝛼M
𝐷 𝑧M
•
𝑧M-. 𝑎M
𝑑M 𝑂M
𝑥M-. 𝑥M
𝜃M
𝑂M-.
video
https://www.youtube.com/watch?v=rA9tm0gTln8
n note: the author of this video uses 𝑟 in place of 𝑎 , and does not add subscripts!
Robotics 1 14
Homogeneous transformation
between successive DH frames (from frame 𝑖 − 1 to frame 𝑖 )
Robotics 1 15
Denavit-Hartenberg matrix
J. Denavit and R.S. Hartenberg, “A kinematic notation for lower-pair mechanisms based on matrices,”
Trans. ASME J. Applied Mechanics, 23: 215–221, 1955
Robotics 1 16
Ambiguities in defining DH frames
n frame 0: origin and 𝑥0 axis are arbitrary
n frame 𝑛: 𝑧[ axis is not specified
n however, 𝑥[ must intersect and be chosen orthogonal to 𝑧[-.
𝑦b 𝑦D 𝑥D
𝑃 𝑦a 𝑖 𝛼M 𝑎M 𝑑M 𝜃M
• • 1 0 𝑙. 0 𝑞.
𝑙D 𝑇𝐶𝑃 𝑧a
𝑦.
𝑞D approach 2 0 𝑙D 0 𝑞D
axis
𝑥. 𝑐.D −𝑠.D
𝑙. • 0 𝑙. 𝑐. + 𝑙D 𝑐.D
b 𝑠 𝑐.D 0 𝑙. 𝑠. + 𝑙D 𝑠.D
𝑞. 𝐴D 𝑞 = .D
• 0 0 1 0
𝑥b 0 0 0 1
Tool Center Point 𝑇𝐶𝑃 and associated end-effector frame 𝑅𝐹a
D b D
0 1 0 𝑇𝐶𝑃E 𝑇𝐶𝑃E (𝑞) 𝑇𝐶𝑃E 0
b
D 𝑇𝐶𝑃(𝑞) = b D 0
D
𝑇a = 0 0 −1 𝑇𝐶𝑃F 𝑇𝐶𝑃F (𝑞) = b𝐴D 𝑞 𝑇𝐶𝑃F = b𝑇a 𝑞
−1 0 0 0 1 0 0 0
0 0 0 1 1 1 1
= b𝐴D 𝑞 D
𝑇a
Robotics 1 20
DH assignment for a SCARA robot
video
𝑞3
𝑞1 𝑞2
𝑞4
all parallel
(or coincident)
J1 shoulder
Robotics 1 22
Step 2: link axes
Robotics 1 23
Step 3: frames
𝒛𝟏
𝒙𝟏 𝒛𝟐 = 𝒛𝟑
axes 𝒚𝒊 for 𝑖 > 0
are not shown 𝒙𝟐
(nor needed; they form
right-handed frames) 𝒙𝟑
𝒙𝟒
𝒛𝟎
𝒛𝟒 = 𝒂 axis
(approach)
𝒚𝟎
𝒙𝟎
Robotics 1 24
Step 4: DH table of parameters
𝑖 𝛼M 𝑎M 𝑑M 𝜃M
𝒛𝟏
1 0 𝑎. 𝑑. 𝑞.
𝒙𝟏 𝒛𝟐 = 𝒛𝟑 2 0 𝑎D 0 𝑞D
𝑎1
𝑎2 𝒙𝟐 3 0 0 𝑞f 0
𝑞f
𝑑4 𝒙𝟑 4 𝜋 0 𝑑r 𝑞r
𝑑1
𝒛𝟎 𝒙𝟒
𝒛𝟒 note that
• 𝑑. and 𝑑r could be set = 0
𝒚𝟎 • 𝑑r < 0 (opposite to 𝒛f )
𝒙𝟎
• also, 𝑞f < 0 in this configuration
Robotics 1 25
Step 5: DH transformation matrices
Robotics 1 26
Step 6a: direct kinematics
_ M-.
homogeneous matrix 𝑇a as product of the 𝐴M (𝑞M )’s
Robotics 1 28
Stanford manipulator
n 6-dof: 2R-1P-3R (spherical wrist)
n robot with shoulder offset
n ‘one possible’ DH assignment of
frames is shown
n determine the associated
n table of DH parameters
n homogeneous transformation
matrices
n direct kinematics
n write a program for computing
the direct kinematics
n numerically (Matlab), given a 𝒒
n symbolically (Mathematica,
Maple, Symbolic Manipulation
Toolbox of Matlab, …)
Robotics 1 29
DH table for Stanford manipulator
n 6-dof: 2R-1P-3R (spherical wrist)
𝑖 𝛼M 𝑎M 𝑑M 𝜃M
1 −𝜋/2 0 𝑑1 > 0 𝑞1 = 0
2 𝜋/2 0 𝑑2 > 0 𝑞2 = 0
3 0 0 𝑞3 > 0 −𝜋/2
4 −𝜋/2 0 0 𝑞4 = 0
5 𝜋/2 0 0 𝑞5 = −𝜋/2
6 0 0 𝑑6 > 0 𝑞6 = 0
joint variables are in red, while their values
in the robot configuration shown are in blue
Robotics 1 30
KUKA LWR 4+
n 7R (no offsets, spherical shoulder and spherical wrist)
available at
DIAG Robotics Lab
n determine
n frames and table
of DH parameters
n homogeneous
transformation
matrices
n direct kinematics
n 𝑑. and 𝑑{ can be
set = 0 or not
(as needed)
left right
side view (from the left) frontal view
Robotics 1 31
KUKA KR5 Sixx R650
n 6R (offsets at shoulder and elbow, spherical wrist)
top view
n 𝑎M & 𝛼M = distance & twist angle from 𝑧M-. to 𝑧M , measured along & about 𝑥M-.
n 𝑑M & 𝜃M = distance & angle from 𝑥M-. to 𝑥M , measured along & about 𝑧M
n source of much confusion... if you are not aware of it (or don’t mention it!)
n convenient with link flexibility: a rigid frame at the base, another at the tip...
classical y2 x2
(or distal)
𝑐𝜃M −𝑐𝛼M 𝑠𝜃M 𝑠𝛼M 𝑠𝜃M 𝑎M 𝑐𝜃M planar 2R
M-. 𝑠𝜃M 𝑐𝛼M 𝑐𝜃M −𝑠𝛼M 𝑐𝜃M 𝑎M 𝑠𝜃M y1 example
𝐴M =
0 𝑠𝛼M 𝑐𝛼M 𝑑M y0 x1
0 0 0 1
modified
(or proximal) x0 y2 x2
𝑐𝜃M −𝑠𝜃M 0 𝑎M y1 y0
x1
M-. |}~ 𝑐𝛼M 𝑠𝜃M 𝑐𝛼M 𝑐𝜃M −𝑠𝛼M −𝑑M 𝑠𝛼M
𝐴M =
𝑠𝛼M 𝑠𝜃M 𝑠𝛼M 𝑐𝜃M 𝑐𝛼M 𝑑M 𝑐𝛼M x0
0 0 0 1 modified DH tends to place frames
Robotics 1 ‘at the base’ of each link 33