Ch. 3: Forward and Inverse Kinematics Recap: 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 − ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ 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 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 1
Recap: the physical basis for DH parameters • a i : link length, distance between the o 0 and o 1 (projected along x 1 ) α : link twist angle between z and z (measured around x ) α i : link twist, angle between z 0 and z 1 (measured around x 1 ) • • • d i : link offset, distance between o 0 and o 1 (projected along z 0 ) θ i : joint angle, angle between x 0 and x 1 (measured around z 0 ) • General procedure for determining forward kinematics 1. Label joint axes as z 0 , …, z n-1 (axis z i is joint axis for joint i +1) 2. Choose base frame: set o 0 on z 0 and choose x 0 and y 0 using right- handed convention 3. For i =1: n -1, i. Place o i where the normal to z i and z i-1 intersects z i . If z i intersects z i-1 , put o i at intersection. If z i and z i-1 are parallel, place o i along z i such that d i =0 ii. x i is the common normal through o i , or normal to the plane formed by z i-1 and z i if the two intersect iii. Determine y i using right-handed convention 4 4. Place the tool frame: set z n parallel to z n- 1 Place the tool frame: set z parallel to z 1 5. For i =1: n , fill in the table of DH parameters 6. Form homogeneous transformation matrices, A i 0 that gives the position and orientation of the end-effector in 7. Create T n the inertial frame 2
Example 4: cylindrical robot with spherical wrist • 6DOF: need to assign seven coordinate frames – But we already did this for the previous two examples so we can fill in the But we already did this for the previous two examples, so we can fill in the table of DH parameters: α i θ i link a i d i 1 2 3 o 3 , o 4 , o 5 are all at the same point o c 4 5 6 Example 4: cylindrical robot with spherical wrist • Note that z 3 (axis for joint 4) is collinear with z 2 (axis for joint 3), thus we can make the following combination: can make the following combination: = − + r c c c c c s s s s c ⎡ ⎤ r r r d 11 1 4 5 6 1 4 6 1 5 6 11 12 13 x ⎢ ⎥ = − − r s c c c s s s c s c r r r d ⎢ ⎥ 21 1 4 5 6 1 4 6 1 5 6 = = 0 0 3 21 22 23 y T T T = − − ⎢ ⎥ 6 3 6 r s c c c s r r r d 31 4 5 6 4 6 31 32 33 z ⎢ ⎥ = − − − r c c c s c s c s s c ⎣ 0 0 0 1 ⎦ 12 1 4 5 6 1 4 6 1 5 6 = − − + r s c c s s s s c s c 22 1 4 5 6 1 4 6 1 5 6 = − r s c c c c 32 4 5 6 4 6 = − r c c s s c 13 1 4 5 1 5 = r r 23 = r 33 = d x = + + d s c s d c c d c d y 1 4 5 6 1 5 6 1 3 = − + + d s s d d d z 4 5 6 1 2 3
Example 5: the Stanford manipulator • 6DOF: need to assign seven coordinate frames: 1 1. Choose z 0 axis (axis of rotation for joint 1, base frame) Choose z 0 axis (axis of rotation for joint 1 base frame) 2. Choose z 1 -z 5 axes (axes of rotation/translation for joints 2-6) 3. Choose x i axes 4. Choose tool frame 5. Fill in table of DH parameters: α i θ i link a i d i 1 2 3 4 5 6 Example 5: the Stanford manipulator • Now determine the individual homogeneous transformations: ⎡ − ⎤ ⎡ ⎤ ⎡ ⎤ c 0 s 0 c 0 s 0 1 0 0 0 1 1 2 2 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − s 0 c 0 s 0 c 0 0 1 0 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = = = 1 1 2 2 A , A , A ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − 1 2 3 0 1 0 0 0 1 0 d 0 0 1 d 2 3 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ − ⎡ ⎤ c 0 s 0 4 4 ⎢ ⎥ s 0 c 0 ⎢ ⎥ = 4 4 A , ⎢ ⎥ 4 − 0 1 0 0 ⎢ ⎢ ⎥ ⎥ ⎣ 0 0 0 1 ⎦ 4
Example 5: the Stanford manipulator • Finally, combine to give the complete description of the forward kinematics: kinematics: [ ] ( ) ( ) = − − − + r c c c c c s s s s c d s c c c s 11 1 2 4 5 6 4 6 2 5 6 2 4 5 6 4 6 [ ( ) ] ( ) = − − + + r s c c c c s s s s c c s c c c s 21 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6 ( ) = − − − r s c c c s s c s c 31 2 4 5 6 4 6 2 5 6 [ ] ( ) ( ) = − + + − − + r c c c c s s c s s s s s c s c c 12 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6 [ ( ) ] ( ) ⎡ ⎤ = − − − − + − + r r r d r s c c c s s c s s s c s c s c s 11 12 13 x ⎢ ⎥ 22 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6 ( ) = + + r r r d ⎢ ⎥ r s c c s s c c s s = ⋅ ⋅ ⋅ = 0 21 22 23 y T A A 32 2 4 5 6 4 6 2 5 6 ( ) − ⎢ ⎥ 6 1 6 = + r r r d r c c c s s c s s s 31 32 33 z ⎢ ⎢ ⎥ ⎥ 13 1 2 4 5 2 5 1 4 5 = ⎣ ⎣ 0 0 0 0 0 0 1 1 ⎦ ⎦ r 23 = r 33 ( ) = − + + − d c s d s d d c c c s c c s s s s x 1 2 3 1 2 6 1 2 4 5 1 5 2 1 4 5 ( ) = + + + + d s s d c d d c s s c c s s c s s y 1 2 3 1 2 6 1 4 5 2 4 1 5 5 1 2 = d z Example 6: the SCARA manipulator • 4DOF: need to assign five coordinate frames: 1 1. Choose z 0 axis (axis of rotation for joint 1, base frame) Choose z 0 axis (axis of rotation for joint 1 base frame) 2. Choose z 1 -z 3 axes (axes of rotation/translation for joints 2-4) 3. Choose x i axes 4. Choose tool frame 5. Fill in table of DH parameters: α i θ i link a i d i 1 2 3 4 5
Example 6: the SCARA manipulator • Now determine the individual homogeneous transformations: ⎡ − ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ − ⎤ c s 0 a c c s 0 a c 1 0 0 0 c s 0 0 1 1 1 1 2 2 2 2 4 4 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − s c 0 a s s c 0 a s 0 1 0 0 s c 0 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = = = = 1 1 1 1 2 2 2 2 4 4 A , A , A , A ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ 1 2 − 3 4 0 0 1 0 0 0 1 0 0 0 1 d 0 0 1 d 3 4 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎡ + − + + ⎤ c c s s c s s c 0 a c a c 12 4 12 4 12 4 12 4 1 1 2 12 ⎢ ⎥ − − − + + s s c c c c s s s s s s c c c c 0 0 a a s s a a s s ⎢ ⎢ ⎥ ⎥ = ⋅ ⋅ ⋅ = 0 0 12 12 4 4 12 12 4 4 12 12 4 4 12 12 4 4 1 1 1 1 2 2 12 12 T A A ⎢ ⎥ 4 1 4 − − − 0 0 1 d d 3 4 ⎢ ⎥ ⎣ 0 0 0 1 ⎦ Forward kinematics of parallel manipulators • Parallel manipulator: two or more series chains connect the end- p effector to the base (closed-chain) • Gruebler’s formula (3D): ( ) ∑ n j = − + # DOF 6 n n f L j i = i 1 #DOF for joint i #DOF for joint i number of links* number of joints *excluding ground 6
Forward kinematics of parallel manipulators • Example (2D): Inverse Kinematics • Find the values of joint parameters that will put the tool frame at a j p p desired position and orientation (within the workspace) – Given H : ⎡ ⎤ R o ( ) = ∈ H SE 3 ⎢ ⎥ ⎣ 0 1 ⎦ 7
Recommend
More recommend