Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | celestyn-leighton |
View: | 30 times |
Download: | 0 times |
Kinematics Primer
Jyun-Ming Chen
Contents
General Properties of Transform2D and 3D Rigid Body Transforms Representation Computation Conversion …
Transforms for Hierarchical Objects
Math Primer
Kinematic Modeling
Two interpretations of transform “Global”:
An operator that “displaces” a point (or set of points) to desired location
“Local”: specify where
objects are placed in WCS by moving the local frame
Next, explain these concepts via 2D translationVerify that the same holds for rotation, 3D, …
Ex: 2D translation
x
y
p
The transform, as an operator, takesp to p’, thus changing the coordinate of p:
Tr(t) p = p’
p’
1
4
4
1
22
31
1
2
1
100
210
301
Tr(t)
Ex: 2D translation (cont)
p’
x
y
x’
y’
p
The transform moves the xy-frame tox’y’-frame and the point is placedwith the same local coordinate.
To determine the corresponding position of p’ in xy-frame:
frame y' x' toframe- xys that take transform the:
y'-framein x' of coordinate the:
frame-in xy of coordinate the:
''
''
''''
T
pp
pp
ppT
xyyx
yx
xy
xyyxxyyx
1
4
4
1
22
31
1
2
1
100
210
301
Tr(t)
Properties of Transform
Transforms are usually not commutable TaTb p TbTa p (in
general)
Rigid body transform: the ones
preserving the shape
Two types: rotation rot(n,) translation tr(t)
Rotation axis n passes thru
origin
Rigid Body Transform
transforming a point/object rot(n,) p; tr(t) p
not commutable rot(n,) tr(t) p tr(t) rot(n,) p
two interpretations (local vs. global axes)
2D Kinematics
Rigid body transform only consists of Tr(x,y) Rot(z,)
Computation: 3x3 matrix is
sufficient)Rot(z, ),Tr(
100
cossin
sincos
T
general,In
100
0cossin
0sincos
)Rot(z,
100
10
01
),Tr(
yxy
x
y
x
yx
ttt
t
t
t
tt
3D Kinematics
Consists of two parts 3D rotation 3D translation
The same as 2D
3D rotation is more complicated than 2D rotation (restricted to z-axis)Next, we will discuss the treatment for spatial (3D) rotation
3D Rotation Representations
Axis-angle3X3 rotation matrixUnit quaternion
Learning Objectives Representation Perform rotation Composition Interpolation Conversion among
representations …
Axis-Angle Representation
Rot(n,) n: rotation axis (global) : rotation angle (rad. or deg.) follow right-handed rule
Perform rotation Rodrigues formula
Interpolation/Composition: poor Rot(n2,2)Rot(n1,1) =?= Rot(n3,3)
Rodrigues Formula
v’=R v
r
v
v’
Rodrigues (cont)
http://mesh.caltech.edu/ee148/notes/rotations.pdfhttp://www.cs.berkeley.edu/~ug/slide/pipeline/assignments/as5/rotation.html
Rotation Matrix
Meaning of three columnsPerform rotation: linear algebraComposition: trivial orthogonalization
might be required due to FP errors
Interpolation: ?
Ax
uAxuAxuAx
uxuxuxx
uuuaA ij
ˆˆˆ
ˆˆˆ
ˆˆˆ
332211
332211
321
xRRxRRxRx
xRx
12122
1
Gram-Schmidt Orthogonalization
If 3x3 rotation matrix no longer orthonormal, metric properties might change!
321321 ˆˆˆˆˆˆ vvvuuu
222
231
11
1333
111
1222
11
ˆˆˆ
ˆˆˆ
ˆˆ
ˆˆˆˆ
ˆˆˆ
ˆˆˆˆ
ˆˆ
vvv
vuv
vv
vuuv
vvv
vuuv
uv
Verify!
Quaternion
A mathematical entity invented by HamiltonDefinition
jikki
ikjjk
kjiij
kji
qqkqjqiqqq
1222
03210
i
j k
Quaternion (cont)
Operators Addition
Multiplication
Conjugate
Length
kqpjqpiqpqpqp
kqjqiqqq
kpjpippp
33221100
3210
3210
qpqppqqpqppq 0000
qqq 0
* *** pqpq
23
22
21
20
* qqqqqqq
Unit Quaternion
Define unit quaternion as follows to represent rotation
Example Rot(z,90°)
nqn ˆsincos),ˆ(Rot 22 1q
22
22 00q
Why “unit”?
DOF point of view!
Unit Quaternion (cont)
Perform Rotation
Composition
Interpolation
)(22)(
...
020
*
xqqxqqxqqq
qxqx
****
*
)()( qpxqpqpxpqqxqx
pxpx
)(
)(
)1()( 21
tp
tpp
tppttp
Example
x
y,x’
z,z’
y’
1
2
1
1
1
2
100
001
010
100
001
010
Rpp
R
Rot(z,90°)Rot(z,90°)
p(2,1,1)
Example (cont)
1
2
1
1
0
0
0
2
1
)(0
0
2
112
002
1
1
2
)(
)(22)(
22
22
22
22
21
21
020
kji
pqqpqqpqqqp
2
222 00
1120
q
p
Example
x
y,x’
z,z’
y’
)00()001(sincos
)00()100(sincos
22
22
290
290
2
22
22
290
290
1
q
q
x,x’
y
z,y’z’
:angle-axis ingCorrespond
)(
:normalize
)0( :middle
:ionInterpolat
)(
)00()00(
00
00
)00()00(
)00)(00(
:nCompositio
5.1
5.1
42
42
22
221
121
5.1
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
12
q
qqq
kji
32
221
21
61
61
32
23
42
42
22
5.1
5.1
42
42
22
221
121
5.1
cos),0(ˆ
:angle-axis ingCorrespond
)0()0(
:normalize
)0( :middle
:ionInterpolat
n
q
qqq
Spatial Displacement
Any displacement can be decomposed into a rotation followed by a translationMatrix
Quaternion
TxxdR
Tz
y
x
x
dRxx
10
,
1
dqxqx *
Hierarchical Objects
For modeling articulated objects Robots, mechanism, …
Goals: Draw it Given the configuration, able to
compute the (global) coordinate of every point on body
Ex: Two-Link Arm (2D)
Configuration Link 1: Box (6,1);
bend 45 deg Link 2: Box (8,1);
bend 30 deg
Goals: Draw it find tip position
x
y
x
y
Ex: Two-Link Arm
Tr(0,6) Rot(z,45)Rot(z,30)
Tip pos:(0,8)
8
0Rot(z,30)Tr(0,6)Rot(z,45)
Tip Position:
T for link1: Rot(z,45) Tr(0,6) Rot(z,30)
T for link2: Rot(z,45)
Ex: Two-Link Arm
Rot(z,45)
x’y’
Tr(0,6’)
x”y”
Rot(z”,30)Tip pos:(0’”,8’”)
x”’
y’”
8
0Rot(z,45))Tr(0,6',30)Rot(z"
),T(),T(),T(
),T()','T()","T(
shown that becan It
112233
332211
ppp
ppp
Thus, two views are equivalent
The latter might be easier tovisualize.
Ex: Two-Link Arm (VRML syntax)
Transform { rotation 0 0 1 45 children Link1 Transform { translation 0 0 6 children Transform { rotation 0 0 1 30 children Link2 } } }
Classes in Javax.vecmath
• Conversion Methods:
Exercises
Study the references of Rodrigues formulaVerify equivalence of these 2 ref’sCompute inverse Rodrigues formula