Kinematics Primer Jyun-Ming Chen
Contents General Properties of Transform 2D 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 translation Verify that the same holds for rotation, 3D, …
Ex: 2D translation x y p The transform, as an operator, takes p to p ’, thus changing the coordinate of p: Tr(t) p = p ’ p’p’ Tr(t)
Ex: 2D translation (cont) p’p’ x y x’x’ y’y’ p The transform moves the xy-frame to x ’ y ’ -frame and the point is placed with the same local coordinate. To determine the corresponding position of p ’ in xy-frame: Tr(t)
Properties of Transform Transforms are usually not commutable T a T b p T b T a 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
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-angle 3X3 rotation matrix Unit 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(n 2, 2 )Rot(n 1, 1 ) =?= Rot(n 3, 3 )
Rodrigues Formula v ’ =R v r v v’v’
Rodrigues (cont) tations.pdf pipeline/assignments/as5/rotation.html
Rotation Matrix Meaning of three columns Perform rotation: linear algebra Composition: trivial orthogonalization might be required due to FP errors Interpolation: ?
Gram-Schmidt Orthogonalization If 3x3 rotation matrix no longer orthonormal, metric properties might change! Verify!
Quaternion A mathematical entity invented by Hamilton Definition i j k
Quaternion (cont) Operators Addition Multiplication Conjugate Length
Unit Quaternion Define unit quaternion as follows to represent rotation Example Rot(z,90°) Why “ unit ” ? DOF point of view!
Unit Quaternion (cont) Perform Rotation Composition Interpolation
Example x y,x ’ z,z ’ y’y’ Rot(z,90°) p(2,1,1)
Example (cont)
Example x y,x ’ z,z ’ y’y’ x,x ’ y z,y ’ z’z’
Spatial Displacement Any displacement can be decomposed into a rotation followed by a translation Matrix Quaternion
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) 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’x’ y’y’ Tr(0,6 ’ ) x”x” y”y” Rot(z ”,30) Tip pos:(0 ’”,8 ’” ) x ”’ y ’” Thus, two views are equivalent The latter might be easier to visualize.
Ex: Two-Link Arm (VRML syntax) Transform { rotation children Link1 Transform { translation children Transform { rotation children Link2 }
Classes in Javax.vecmath Conversion Methods:
Exercises Study the references of Rodrigues formula Verify equivalence of these 2 ref ’ s Compute inverse Rodrigues formula