Robotics & Automation Lecture 06 Serial Kinematic Chain, Forward Kinematics John T. Wen September 11, 2008
So Far... We have covered rigid body rotational kinematics: representations of SO(3), change of coordinates, differentiation on SO(3) (angular velocity). Today, we ll add in the translational portion to obtain SE(3), special Euclidean group. Then we ll build up a kinematic structure by linking rigid bodies together through joints (i.e., forming the so-called kinematic pairs). September 11, 2008Copyrighted by John T. Wen Page 1
Rigid Body Motion (Translation and Rotation) Rigid body orientation is represented by the orthonormal frame E. For the position, we designate the origin of the frame as a point, O. (O, E) together represents the position and orientation of the rigid body, and we call it an Euclidean Frame. Given (O a,e a ) and (O b,e b ), relative position and orientation is p ab = O b O a and E b E a (represented in E a : (p ab,r ab )). p ab September 11, 2008Copyrighted by John T. Wen Page 2
Homogeneous Transformation Common representation of (p,r), p R 3, R SO(3) (homogeneous transformation): H = R p. 0 1 Such 4 4 matrices for a group called special Euclidean group of order 3, SE(3), with inverse given by H 1 = RT p. 0 1 September 11, 2008Copyrighted by John T. Wen Page 3
Serial Chain Kinematics Consider a serial chain with n bodies (with all rotational joints first). Let the inertial frame be (O 0,E 0 ) and frame (O i,e i ) attached to body i. The rotational axis for joint i is denoted by the unit vector h i and O i lies on the line along h i, and the joint angle (or position) is denoted by q i. Denote tool frame by (O T,E T ) where E T = E n. Rotational forward kinematics: E 1 = e q 1 h 1 E 0, E 2 = e q 2 h 2 E 1,..., E n = e q n h n E n 1. or E n = e q n h n...e q 2 h 2 e q 1 h 1 E 0. Translational forward kinematics: p 0T = p 01 + p 12 +...+ p n 1,n + p nt. September 11, 2008Copyrighted by John T. Wen Page 4
Examples Planar IBM Scara Stanford Puma 560 x z y Yasukawa L-3 10-DOF September 11, 2008Copyrighted by John T. Wen Page 5
Forward Kinematics in Base Frame Orientation: R 0T (q) = R 01 (q 1 )R 12 (q 2 )...R n 1,n (q n )R nt where ith joint is revolute: ith joint is prismatic: R i 1,i (q i ) = exp( (h i ) i 1 q i ) R i 1,i (q i ) = I Since p i 1,i is a constant vector in E i 1 : p 0T (q) = p 01 + R 01 (q 1 )p 12 +...+R 0,n 1 (q 1,...,q n 1 )p n 1,n + R 0,n (q 1,...,q n )p nt. ith joint is revolute: p i 1,i is a constant vector ith joint is prismatic: p i 1,i (q i ) = p i 1,i (0)+q i (h i ) i 1. September 11, 2008Copyrighted by John T. Wen Page 6
Forward Kinematics Algorithm Given (q1,...,qn), find (p 0n,R 0n ). 1. Define the base frame E 0 and origin O 0. 2. Define the zero configuration, the configuration at which all joint displacements are defined to be zero and all frames are aligned, E i = E 0, i = 1,...,n+1. 3. Choose origins of ith body, O i, along the rotational axis h i. 4. While the chain is in the zero configuration, (a) find h i ( h i represented in E i 1 ) by expressing h i in E 0 (since E i 1 = E 0 ). (b) find p i 1,i ( p i 1,i represented in E i 1 ) by representing p i 1,i in E 0 (since E i 1 = E 0 ). 5. Apply the forward kinematic equations to obtain (p 0T,R 0T ). R 0T (q) = R 01 (q 1 )R 12 (q 2 )...R n 1,n (q n )R nt p 0T (q) = p 01 + R 01 (q 1 )p 12 +...+R 0,n 1 (q 1,...,q n 1 )p n 1,n + R 0,n (q 1,...,q n )p nt. If ith joint is revolute: p i 1,i is a constant vector, R i 1,i = exp(ĥ i q i ). If ith joint is prismatic: p i 1,i = p i 1,i (0)+q i h i where p i 1,i (0) is a constant vector from the zero configuration, R i 1,i = I. September 11, 2008Copyrighted by John T. Wen Page 7
Forward Kinematics Implementation To implement forward kinematics numerically, we need the following constant vectors: Axes of rotation: (h i ) i 1 Link vectors: (p i 1,i ) i 1 To find these vectors, first put the chain in the zero configuration (you choose!), i.e., when all joint angles are zero. In this configuration, all frames are aligned, so (h i ) i 1 = (h i ) 0, (p i 1,i ) i 1 = (p i 1,i ) 0 which means we just read off these vectors in the inertial frame. Summary of procedure for forward kinematics: put chain in the chosen zero configuration choose origin of ith frame along h i Express h i and p i,i+1 all in E 0. Apply forward kinematics formula. Now let s look at some examples! September 11, 2008Copyrighted by John T. Wen Page 8