kinematics - amirkabir university of...
TRANSCRIPT
Kinematics
Amirkabir University of TechnologyComputer Engineering & Information Technology Department
Learning Objectives
Given a robot, Derive a kinematic model of the robotAssign framesDerive equations relating relative position and orientation of frames (forward and inverse equations)
Kinematics
Kinematics is the traditional starting point for robotics courses, and is by far the most important and deepest topic. Kinematics has broad application to other fields such as graphics and computer animation.Kinematics requires the least prerequisites, basically just linear algebra and differential equations.
Kinematics
KINEMATICS: the analytical study of the geometry of motion of a robot arm:
With respect to a fixed reference co-ordinate system.Without regard to the forces or moments that cause the motion.
What is Kinematics
Forward kinematics
Given joint variables
End-effector position and orientation, -Formula?
),,,,,,( 654321 nqqqqqqqq L=
),,,,,( TAOzyxY =x
y
z
Manipulator Kinematics
We will describe a method to compute the position and orientation of the manipulator linkages and end-effector as a function of joint variables relative to a base frame.To perform this task, we will affix frames to the various parts of the robot mechanism, and then describe the relationship between these frames. A 3-DOF Manipulator Arm
Inverse Kinematics
Given a desired position (P) & orientation (R) of the end-effector
Find the joint variables which can bring the robot the desired configuration
),,( 21 nqqqq L=
x
y
z
Forward and Inverse Kinematics
xw
Joint 1
Joint 2
Joint 3
Link 1z1
World (Base) Coordinate Frame
Tool Coordinate Frame
Joint 1
Joint 2
Joint 3
Link 1z1
World (Base) Coordinate Frame
Tool Coordinate Frame
θ1
θ2
zw
yt
zt
Forward K
Inverse K
Link Space
n variables (θ1 … θn)
Tool Space
6 variables (x,y,z,θx,θy,θz)
Inverse KinematicsMore difficult.
The equations to solve are nonlinear thus systematic closed-form solution is not always available.Solution not unique.
Redundant robot.Elbow-up/elbow-down.
Configuration.
Robot dependent.
(x , y)l2
l1l2
l1
Dot Product
Let and be arbitrary vectors in and be the angle from to , then
Where θ is the angle between the vectors and is the norm.
X.Y=0 if X is perpendicular to Y.
3R θ
θcosyxyx =⋅
x yx y
x
y
θ
x
Dot Product
Properties of orthonormal coordinate frame
Mutually perpendicular Unit vectors
00
0
=⋅
=⋅
=⋅
jkki
ji
vv
vv
vv
1||
1||1||
=
=
=
k
ji
v
v
v
jk
O i
Point and Vector Representation
Point represented in OXYZ:T
zyxxyz pppP ],,[=
zyx kji zyxxyz pppP ++=r
Vector represented in OXYZ:
x
y
zP
O, O’i
jk
Coordinate TransformationReference coordinate frame OXYZBody-attached frame O’uvw
wvu kji wvuuvw pppP ++=r
x
y
zP
u
vw
O, O’
zwyvxu pppppp ===
Point represented in O’uvw:
Two frames coincide ==>
Coordinate Transformation
y
zP
u
vw
Rotation only
zyx kji zyxxyz pppP ++=r
wvu kji wvuuvw pppP ++=r
xuvwxyz RPP =
How to relate the coordinate in these two frames?
Basic Rotation
Px , Py , and Pz represent the projections of Ponto OX, OY, OZ axes, respectivelySince
wvux pppPp wxvxuxx kijiiii ⋅+⋅+⋅=⋅=
wvuy pppPp wyvyuyy kjjjijj ⋅+⋅+⋅=⋅=
wvuz pppPp wzvzuzz kkjkikk ⋅+⋅+⋅=⋅=
wvu kji wvu pppP ++=
Basic Rotation Matrix
Rotation about x-axis with
⋅⋅⋅⋅⋅⋅⋅⋅⋅
=
w
v
u
z
y
x
ppp
ppp
wzvzuz
wyvyuy
wxvxux
kkjkikkjjjijkijiii
x
z
y
v
wP
u
θ
−=θθθθθ
CSSCxRot
00
001),(
θ
Basic Rotation MatrixRotation about x axis with θ
⋅⋅⋅⋅⋅⋅⋅⋅⋅
=
w
v
u
z
y
x
ppp
ppp
wzvzuz
wyvyuy
wxvxux
kkjkikkjjjijkijiii
x
z
y
v
wP
u
θ
θθ
θθ
θθθθ
cossin
sincos
cossin0sincos0001
wvz
wvy
ux
w
v
u
z
y
x
ppp
ppppp
ppp
ppp
+=
−==
−=
Basic Rotation MatricesRotation about x-axis with θ
Rotation about y-axis with θ
Rotation about z-axis with θ
uvwxyz RPP =
−=θθθθθ
CSSCxRot
00
001),(
0
0100
),(
−=
θθ
θθθ
CS
SCyRot
−=
10000
),( θθθθ
θ CSSC
zRot
Basic Rotation Matrix
Obtain the coordinate of from the coordinate of
uvwxyz RPP =
⋅⋅⋅⋅⋅⋅⋅⋅⋅
=
wzvzuz
wyvyuy
wxvxux
kkjkikkjjjijkijiii
R
xyzuvw QPP =
TRRQ == −1
31 IRRRRQR T === −
uvwPxyzP
<== 3X3 identity matrix
⋅⋅⋅⋅⋅⋅⋅⋅⋅
=
z
y
x
w
v
u
ppp
ppp
zwywxw
zvyvxv
zuyuxu
kkjkikkjjjijkijiii
Dot products are commutative!
Example A point is attached to a rotating frame, the frame rotates 60 degree about the OZ axis of the reference frame. Find the coordinates of the point relative to the reference frame after the rotation.
)2,3,4(=uvwa
−=
−=
=
2964.4598.0
234
10005.0866.00866.05.0
)60,( uvwxyz azRota
Composite Rotation MatrixA sequence of finite rotations
Matrix multiplications do not commuteRules:
If rotating coordinate O-U-V-W is rotating about principal axis of OXYZ frame, then pre-multiplythe previous (resultant) rotation matrix with an appropriate basic rotation matrixIf rotating coordinate OUVW is rotating about its own principal axes, then post-multiply the previous (resultant) rotation matrix with an appropriate basic rotation matrix
ExampleFind the rotation matrix for the following operations:
Post-multiply if rotate about the OUVW axesPre-multiply if rotate about the OXYZ axes
...
axis OUabout Rotation axisOW about Rotation
axis OYabout Rotation
Answer
αθφ
−+−−
+−=
−
−
=
=
αθφαφαφαθφθφαθαθθ
αφαθφαθφαφθφ
ααααθθ
θθ
φφ
φφαθφ
SSSCCSCCSSCSSCCCS
CSSSCCSCSSCC
CSSCCS
SCuRotwRotIyRotR
00
001
10000
C0S-010
S0C),(),(),( 3
Coordinate Transformations• Position vector of P in {B} is transformed to position vector of P in {A}
• Description of {B} as seen from an observer in {A}
Rotation of {B} with respect to {A}
Translation of the origin of {B} with respect to origin of {A}
Coordinate TransformationsTwo special cases
1. Translation onlyAxes of {B} and {A} are parallel
2. Rotation onlyOrigins of {B} and {A} are coincident
1=BAR
'oAPBB
APA rrRr +=
0' =oAr
Homogeneous Representation
The representation of an N-component position vector by an (N+1)- component vector is called Homogeneous representation.
P=(px, py , pz )T P=(wpx, wpy , wpz ,w)T
In robotics w=1
Homogeneous RepresentationHomogeneous transformation matrix:
Homogeneous transformation matrix maps a position vector expressed in homogeneous coordinates from one coordinate systems to another coordinate system.
=
= ××
× 10101333
31
' PRrRT
oAB
A
BA
Position vector
Rotation matrix
Scaling
Homogeneous Representation
'oAPBB
APA rrRr +=
=
× 1101 31
' PBoAB
APA rrRr
Coordinate transformation from {B} to {A}
Homogeneous TransformationSpecial cases1. Translation
2. Rotation
=
×
×
10 31
'33
oA
BA rIT
=
×
×
100
31
13BA
BA RT
ExampleTranslation along z-axis with h:
=
1000100
00100001
),(h
hzTrans
+=
=
111000100
00100001
1hp
pp
ppp
hzyx
w
v
u
w
v
u
x
y
z P
u
vw
O, O’
hx
y
zP
u
vw
O, O’
ExampleRotation about the x-axis by
−
=
100000000001
),(θθθθ
θCSSC
xRot
x
z
y
v
wP
u
−
=
1100000000001
1w
v
u
ppp
CSSC
zyx
θθθθ
θ
θ
Composite Homogeneous Representation
Find the homogeneous transformation matrix (T) for the following operation:
:
axis OZabout ofRotation axis OZ along d ofn Translatioaxis OX along a ofn Translatio
axis OXabout Rotation
Answer
θ
α
44,,,, ×= ITTTTT xaxdzz αθ
−
−
=
100000000001
100001000010
001
1000100
00100001
100001000000
ααααθθ
θθ
CSSC
a
dCSSC
Homogeneous TransformationComposite Homogeneous Transformation Matrix
0x
0z
0y1
0 A2
1 A
1x
1z
1y 2x2z
2y
?i
i A2−
Post-multiply if rotate about the OUVW axesPre-multiply if rotate about the OXYZ axes
Example
Find T for rotation of α about OX followed by a translation of b units along the rotated OV axis.
T= Tv,b .Tx,α
Note: after rotation:jv=cos α jy + sin α kz
=
1000100010
0001
αα
bSinbCos
T
Minimal Representation of Orientation
⋅⋅⋅⋅⋅⋅⋅⋅⋅
=
w
v
u
z
y
x
ppp
ppp
wzvzuz
wyvyuy
wxvxux
kkjkikkjjjijkijiii
Rotation matrix representation needs 9 elements to completely describe the orientation of a rotating rigid body. Any easy way?
Euler Angles Representation
Orientation Representation
Euler angles representation ( , , )Many different typesDescription of Euler angle representations
φ θ ψ
Euler Angle I Euler Angle II Roll-Pitch-Yaw
Sequence about OZ axis about OZ axis about OX axis
of about OU axis about OV axis about OY axis
Rotations about OW axis about OW axis about OZ axis
φ φ
φθ θ θψ ψ
ψ
Orientation Representation
Euler angle I
−=
−=
−=
1000cossin0sincos
,cossin0sincos0001
,1000cossin0sincos
''
'
ϕϕϕϕ
θθθθφφ
φφ
ϕ
θφ
w
uz
R
RR
Euler Angle I
−+−
+
−−
−
=
θθϕθϕ
θφθϕφ
ϕφθϕφ
ϕφ
θϕθϕφ
ϕφθϕφ
ϕφϕθφ
cossincossinsin
sincoscoscoscos
sinsincossincos
cossin
sinsincoscossin
sincoscossinsin
coscos''' wuz RRRR
Resultant eulerian rotation matrix:
Euler Angle IIResultant Eulerian rotation matrix:
−
−+
−−
+−
=
θθϕθϕ
θϕθϕφ
ϕφθϕφ
ϕφ
θφθϕφ
ϕφθϕφ
ϕφϕθφ
cossinsinsincos
sinsincoscossin
coscoscoscossin
sincos
sincoscoscossin
cossincoscoscos
sinsin''' wvz RRRR
Deriving EULER Angles From the Rotation Matrix
To determine the set of Euler angles corresponding to a given rotation matrix
=
333221
232221
131211
rrrrrrrrr
REuler
Orientation RepresentationDescription of roll pitch yaw ( )
X
Y
Z
ϕθ
φ
How to get rotation matrix ?
φ θ ϕ
Exercise
Drive rotation matrix about an arbitrary axis.
Due: 1383/7/13Email solution in Pdf or doc format to: