Forward and Inverse Kinematics Chapter 3 Hadi Moradi ( original slides by Steve from Harvard ) Recap: rigid motions • Rigid motion is a combination of rotation and translation – Defined by a rotation matrix ( R ) and a displacement vector ( d ) – the group of all rigid motions ( d , R ) is known as the Special Euclidean group , SE (3) 1
Recap: homogeneous transforms • Basic transforms: – Three pure translation, three pure rotation Th t l ti th t ti ⎡ ⎤ ⎡ ⎤ 1 0 0 0 1 0 0 a ⎢ ⎥ ⎢ ⎥ − 0 c s 0 0 1 0 0 ⎢ ⎥ ⎢ ⎥ α α = = Trans Rot ⎢ ⎥ α ⎢ ⎥ x , a x , 0 s c 0 0 0 1 0 α α ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ 0 0 0 1 ⎦ 0 0 0 1 ⎡ ⎤ ⎡ ⎤ 1 0 0 0 c 0 s 0 β β ⎢ ⎥ ⎢ ⎥ 0 1 0 b 0 1 0 0 ⎢ ⎥ ⎢ ⎥ = = Trans Rot β ⎢ ⎢ ⎥ ⎥ y , b ⎢ ⎢ ⎥ ⎥ y , − 0 0 0 0 1 1 0 0 s s 0 0 c c 0 0 β β β β ⎢ ⎢ ⎥ ⎥ ⎢ ⎢ ⎥ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ − ⎡ ⎤ ⎡ ⎤ 1 0 0 0 c s 0 0 γ γ ⎢ ⎥ ⎢ ⎥ 0 1 0 0 s c 0 0 ⎢ ⎥ ⎢ ⎥ γ γ = = Rot Trans γ ⎢ ⎥ ⎢ ⎥ z , c z , 0 0 1 c 0 0 1 0 ⎢ ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ Example • Euler angles: we have only discussed ZYZ Euler angles. What is the g y g set of all possible Euler angles that can be used to represent any rotation matrix? – XYZ, YZX, ZXY, XYX, YZY, ZXZ, XZY, YXZ, ZYX, XZX, YXY, ZYZ 2
Example • Compute the homogeneous transformation representing a translation of p g p g 3 units along the x -axis followed by a rotation of π /2 about the current z - axis followed by a translation of 1 unit along the fixed y -axis Forward kinematics introduction • Challenge: given all the joint parameters of a manipulator, determine g g j p p the position and orientation of the tool frame 3
Convention • A n- DOF manipulator will have n joints (either revolute or prismatic) and n +1 links (since each joint connects two links) n 1 links (since each joint connects two links) – We assume that each joint only has one DOF. – The o 0 frame is the inertial frame – o n is the tool frame – Joint i connects links i -1 and i – The o i is connected to link i • • Joint variables q Joint variables, q i ⎧ θ if joint i is revolute = i ⎨ q i ⎩ d if joint i is prismatic i Convention • We said that a homogeneous transformation allowed us to express the position and orientation of o j with respect to o i position and orientation of o j with respect to o i 4
Convention • Finally, the position and orientation of the tool frame with respect to the inertial frame is given by one homogeneous transformation matrix: inertial frame is given by one homogeneous transformation matrix: – For a n -DOF manipulator ⎡ ⎤ 0 0 R o ( ) ( ) ( ) = = = ⋅ ⋅ ⋅ ⎢ n n ⎥ 0 H T A q A q A q n 1 1 2 2 n n ⎣ 0 1 ⎦ The Denavit-Hartenberg (DH) Convention • Representing each individual homogeneous transformation as the product of four basic transformations: product of four basic transformations: = A Rot Trans Trans Rot θ α i z , z , d x , a x , i i i i ⎡ − ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ 0 0 1 0 0 0 1 0 0 1 0 0 0 c s a θ θ i ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ i i − s c 0 0 0 1 0 0 0 1 0 0 0 c s 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = θ θ α α i i i i ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ 0 0 1 0 0 0 1 d 0 0 1 0 0 s c 0 α α ⎢ ⎥ ⎢ i ⎥ ⎢ ⎥ ⎢ ⎥ i i ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 − ⎡ ⎤ c s c s s a c θ θ α θ α θ i ⎢ ⎥ i i i i i i − − s s c c c c c c s s a a s s ⎢ ⎢ ⎥ ⎥ = θ θ α θ α θ i i i i i i i ⎢ ⎥ 0 s c d α α ⎢ i ⎥ i i ⎣ ⎦ 0 0 0 1 5
Existence and uniqueness • When can we represent a homogeneous transformation using the 4 DH parameters? parameters? Existence and uniqueness • Proof: R = 0 0 has the form: R R R z R R 1 1. We assume that R 1 has the form: We assume that R 1 θ θ α 1 1 , x , 0 2. Use DH1 to verify the form of R 1 6
Existence and uniqueness • Proof: 0 1 1. Use DH2 to determine the form of o 1 Use DH2 to determine the form of o 1 Physical basis for DH parameters • a i : link length, distance between the z 0 and z 1 (along x 1 ) α i : link twist, angle between z 0 and z 1 (measured around x 1 ) • • d i : link offset, distance between o 0 and intersection of z 0 and x 1 (along z 0 ) θ i : joint angle, angle between x 0 and x 1 (measured around z 0 ) • positive convention: = A Rot Trans Trans Rot θ θ α α i z , , z , , d d x , , a a x , , i i i i i i i i − ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ c s 0 0 1 0 0 0 1 0 0 a 1 0 0 0 θ θ i ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ i i − s c 0 0 0 1 0 0 0 1 0 0 0 c s 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = θ θ α α i i i i ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ 0 0 1 0 0 0 1 d 0 0 1 0 0 s c 0 α α i ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ i i ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎡ − ⎤ c s c s s a c θ θ α θ α θ i ⎢ i i i i i i ⎥ − s c c c s a s ⎢ ⎥ = θ θ α θ α θ i i i i i i i ⎢ ⎥ 0 s c d α α ⎢ i ⎥ i i ⎣ 0 0 0 1 ⎦ 7
Assigning coordinate frames • For any n -link manipulator, we can always choose coordinate frames such that DH1 and DH2 are satisfied such that DH1 and DH2 are satisfied – The choice is not unique, but the end result will always be the same 1. Choose z i as axis of rotation for joint i +1 Assigning coordinate frames 2. Assign base frame 3. Chose x 0 , y 0 to follow the right-handed convention 4. Now start an iterative process to define frame i with respect to frame i -1 8
Assigning coordinate frames i. z i -1 and z i are non-coplanar Assigning coordinate frames ii. z i -1 and z i intersect 9
Assigning coordinate frames iii. z i -1 and z i are parallel Assigning tool frame • The previous assignments are valid up to frame n -1 – The tool frame assignment is most often defined by the axes n s a : The tool frame assignment is most often defined by the axes n , s , a : 10
Example 1: two-link planar manipulator • 2DOF: need to assign three coordinate frames Example 1: two-link planar manipulator • Now define DH parameters First, define the constant parameters a i , α i First define the constant parameters a i α i – Second, define the variable parameters θ i , d i – α i θ i link a i d i 1 2 11
Example 2: three-link cylindrical robot • 3DOF: need to assign four coordinate frames Example 2: three-link cylindrical robot α i θ i link a i d i • Now define DH parameters First define the constant parameters a i α i First, define the constant parameters a i , α i – 1 1 Second, define the variable parameters θ i , d i – 2 3 12
Example 3: spherical wrist • 3DOF: need to assign four coordinate frames Example 3: spherical wrist α i θ i link a i d i • Now define DH parameters 4 First, define the constant parameters a i , α i First define the constant parameters a i α i – Second, define the variable parameters θ i , d i – 5 6 13
Next class… • More examples for common configurations 14
Recommend
More recommend