Minimal Representations of Orientation Homogeneous Transformations
Minimal Representations of Orientation Homogeneous Transformations
Robotics 1 1
“Minimal” representations
= 3 independent variables
Robotics 1 4
ZX’Z’’ Euler angles
! inverse problem: given R = {rij}; find % , & , #
! r132 + r232 = s2&, r33 = c& ' & = ATAN2{ ± ( r132 + r232, r33 }
two values differing just for the sign
! if r132 + r232 ) 0 (i.e., s& ) 0)
r31/s& = s# , r32/s& = c# ' # = ATAN2{ r31/s&, r32/s& }
! similarly... % = ATAN2{ r13/s&, -r23/s& }
! there is always a pair of solutions
! there are always singularities (here & = 0, ± *)
Robotics 1 5
Roll-Pitch-Yaw angles
PITCH
1 ROLL z’ 2
z z’’
z’ y’’
# y’ C1RY(&)C1T
y’ & with RY(&) =
& y cos & 0 sin &
y x’ 0 1 0
# x’’ - sin & 0 cos &$
x"x’
3 YAW z y’’’
1 0 0 z’’ %
RX(#) = 0 cos # - sin # y’’
0 sin # cos #
C2RZ(%)C2T z’’’
cos % $- $ sin % 0
with RZ(%) = sin % $ cos % 0
0 0 1 x’’ % x’’’
Robotics 1 6
Roll-Pitch-Yaw angles (fixed XYZ)
! direct problem: given # , & , % ; find R
RRPY (#, &, %) = RZ (%) RY (&) RX (#) 䋹 note the order of products!
order of definition c% c& c% s& s# - s% c# c% s& c# + s% s#
= s% c& s% s& s# + c% c# s% s& c# - c% s#
- s& c& s# c& c#
! inverse problem: given R = {rij}; find # , & , %
! r322 + r332 = c2&, r31 = -s& ' & = ATAN2{-r31, ± ( r322 + r332}
for r31<0, two symmetric values w.r.t. */2
! if r322 + r332 ) 0 (i.e., c& ) 0)
r32/c& = s#, r33/c& = c# ' # = ATAN2{r32/c&, r33/c&}
! similarly ... % = ATAN2{ r21/c&, r11/c& }
! singularities for & = ± */2
Robotics 1 7
…why this order in the product?
RRPY (#, &, %) = RZ (%) RY (&) RX (#)
“reverse” order in the product
order of definition
(pre-multiplication…)
Ap AR Ap Bp
B AB linear
Ap
hom = = = ATB Bphom relationship
1 0 0 0 1 1
AR Ap BR Bp AR T - ARBT ApAB
B AB A BA B
=
0 0 0 1 0 0 0 1 0 0 0 1
AT BT (ATB)-1
B A
Robotics 1 11
Defining a robot task
yE absolute definition
of task
RFE task definition relative
to the robot end-effector
zE
RFB WT
2 • T = WTB BTE ETT
RFT 1 •
• 3
known, once
the robot direct kinematics of the
is placed robot arm (function of q)
RFW
BT (q) = WT -1 WT ET -1 = constant
E B T T
Robotics 1 12
Example of task definition
yE • the robot carries a depth camera
(e.g., a Kinect) on the end-effector
• the end-effector should go to a pose
RFE above the point P on the table,
pointing its approach axis downward
zT zE and being aligned with the table sides
RFB # 1 0 0&
RFT P • E
R T= ( E x T E
yT E
z T ) = % 0 "1 0(
% (
$ 0 0 "1'
• point P is known in the table frame RFT
RFW
"p %
x
" TR E T ! T
p = py '
$
E -1 T p TE % $ '
T = TE = $ T
T ' #0&
# 0 1 &
• the depth camera proceeds centering
T T
R E = ( ER T ) = ER T point P in its image until it senses
with
a distance h from the table (in RFE)
!
#p & "0%
! x
T
p TE = p " R E p = p y (
T T E % E
p = $0'
% ( $ '
! $ h' #h&
Robotics 1 13
Final comments on T matrices
! they are the main tool for computing the direct kinematics
of robot manipulators
! they are used in many application areas (in robotics and
beyond)
b
! in positioning/orienting a vision camera (matrix T with extrinsic
c
parameters of the camera pose)
! in computer graphics, for the real-time visualization of 3D solid
objects when changing the observation point
AR Ap
B AB
AT =
B
!x !y !z !
Robotics 1
deformation 14