Kinematics: Solving Sequences Manipulators & DH parameters P P θ θ y 1 y 1 x 1 x 1 Many slides, graphics, and ideas adapted (with thanks!) from: Siegwart, Nourbakhsh and Scaramuzza, Autonomous Mobile Robots Renata Melamud, An Introduction to Robot Kinematics, CMU Rick Parent, Computer Animation, Ohio State Steve Rotenberg, Computer Animation, UCSD Angela Sodemann, www.youtube.com/watch?v=lVjFhNv2N8o, ASU : www.cs.cmu.edu/~16311/ppp/Kinematics_final.pdf
Review: Kinematics 2 Goal: Figure out where robot or § Go P P end effector is in the global θ θ (world) frame of reference y 1 y 1 x 1 x 1 hod: Treat robot and world as § Met Metho having different frames of reference that we convert between § Use matrices that represent complete information about world and robot Where it is (location of the origin) § Which way axes are pointed (orientation) § Why: so we can put the robot where we want it § Why 2
Review: Manip. Kinematics 3 Goal: Figure out where end effector is § Go hod: Treat each joint as having its § Met Metho own independent frame that moves with respect to the previous one § Joint 1 moves wrt. the world § Joint 2 moves wrt. joint 1, etc. § Then, each transform from joint i to joint i+1 is a single rotation or translation § Each joint has one degree of freedom § Multi-axis joints are treated as 2+ joints connected by zero-length links 3
Review: Rotation 4 § Any frame of reference can be represented by: § 3 numbers for planar movement: ( x , y , θ ) § 6 numbers for 3D: ( x , y , z , φ , θ , ψ ) (roll/pitch/yaw) § Any rotation can be broken down into single rotations around one axis each § We transform rotations between frames by multiplying by a rotation matrix § Derived trigonometrically 4
Review: Translation 5 § Any frame of reference can be represented by: § 3 numbers for planar movement: ( x , y , θ ) § 6 numbers for 3D: ( x , y , z , φ , θ , ψ ) § Any translation (movement) can be broken down into single moves in one axis each § We transform translations by adding location information to the matrices, as follows (we’ll do rotation 1 0 0 x 1 0 x and translation 0 1 0 y 0 1 y 0 0 1 z exercises in class, 0 0 1 0 0 0 1 as well as DH) 5
Review: Describing A Manipulator 7 § Arm made up of links in a chain § Joints each have <x,y,z> and roll/pitch/yaw § So, each joint has a coordinate system § We label links, joints, and angles joint i+1 joint i-1 joint i 7
Review: Kinematics 8 § You’ll sometimes see vector Φ to represent the array of M joint values: [ ] = f f f Φ ... 1 2 M § We sometimes use vector e to represent array of N values describing end effector § Position/orientation ⎡ ⎤ e = e 1 e 2 ... e N § E.g., configuration ⎣ ⎦ § Example: § For end effector position and orientation, e would contain 6 DOFs: 3 translations and 3 rotations § If we only need position, e would contain 3 translations 8
Review: Forward & Inverse 9 Joint space (robot Cartesian space (global space – previously R ) space – previously I ) θ 1 , θ 2 , …, θ n (x,y,z), r/p/y This is what we can This is where things in the directly control robot’s environment are 9
Forward: i à i-1 10 § We are we looking for transformation matrix (or transform) T that converts between frame i and frame i-1: i-1 i-1 i-1 T i (or T ) T i (or ) i § Determine position and orientation of end- effector as function of displacements in joints 10
Forward Kinematics and IK 11 § Joint angles ⇆ end effector configuration in I § Can string together rotations with multiplication § So, can get end effector rotation by ? § Finding rotation from [joint i-1 to i ] ✕ [joint i to i+1 ] ✕ … joint i+1 § Rot Rotation on of of end ector frame , ef effec relative to ba base joint i-1 fra frame joint i www.youtube.com/watch?v=lVjFhNv2N8o 11
Describing A Manipulator 14 § But where do these frames come from? § An arm is made up of links in a chain § How How to o describe each link? § Many choices exist § DH parameters widely used joint i+1 Also: quaternions, Euler angles, … § § Denavit-Hartenberg parameters § DH parameters let you describe each t-i T i with only 4 values § a i-1 , α i-1 , d i , θ 2 joint i joint i-1 14
Denavit-Hartenberg Method 15 § Ef Efficient wa way of of findi ding g transfor ormation on matrices Set frames for all joints Set 1. 1. § This is actually the tricky part Calculate all DH parameters from frames Ca 2. 2. 4 DH parameters (not 6!) define position/orientation* § ulate DH parameter table Po Popula * How is this possible? 3. 3. We already have some constraints on joints – ulate joint-to-joint DH transformation matrices Po Popula 4. 4. i.e., that they’re connected by a rigid link that Matrix for 0- 1 , matrix for 1 -2, etc. § can rotate or displace (but not both) Multiply all matrices together, in order Mul 5. 5. 0- 1 × 1 -2 × 2-3 × … § 15
Defining Frames for Joints 16 § What’s the frame of reference for a joint? § Actually, completely flexible § We usually choose: P § 1 axis through the center of rotation/direction of displacement § 2 more perpendicular to that Which can be any orientation! § § We can move the origin § P is no longer <0, 0, 0> § To use DH method, choose frames carefully 16
1. Choose Frames for DH 17 § z axis must be axis of motion +x § Rotation around z for revolute § Translation along z for prismatic +z +y § x i axis orthogonal to z i an and z i-1 § There’s always a line that satisfies this § y axis must follow the right-hand rule § Fingers point + x § Thumb points + z § Palm faces + y § x i axis must intersect z i-1 axis § Which may mean translating origin 17
2. Find DH Parameters Given frames (from 1): a i-1 : link length – distance Z i-1 ⇆ Z i along X i α i-1 : link twist – angle Z i-1 ⇆ Z i around X i d i : link offset – distance X i-1 to X i along Z i θ i : joint angle – angle X i-1 and X i around Z i
3. DH Parameter Table 19 Given parameters: Create a parameter table § § # of rows = (# of frames) – 1 § Columns = 4 (always) ß DH parameters θ , α , a, d θ α a d frame 0-1 θ 0-1 α 0-1 a 0-1 d 0-1 frame 1-2 θ 1-2 α 1-2 a 1-2 d 1-2 frame 2-3 … … … … 19
4. Make Transform Matrix 20 Given parameter table: § Fill DH transformation matrix* for each transition: ⎡ ⎤ cos θ i − sin θ i cos α i , i + 1 sin θ i sin α i , i + 1 a i , i + 1 cos θ i ⎢ ⎥ ⎢ sin θ i cos θ i cos α i , i + 1 − cos θ i sin α i , i + 1 a i , i + 1 sin θ i ⎥ i − 1 = R i ⎢ ⎥ 0 sin α i , i + 1 cos α i , i + 1 d i ⎢ ⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 0 = R § And multiply (e.g., ) 0 R 2 1 R 2 1 is the same matrix as would be found by 0 R 2 § other methods. DH is fast and efficient. * Conceptual derivation is at the end 20
Transformation i to i-1 22 a i-1 : di distance ce Z i-1 an and Z i al along X i together: screw α i-1 : an angle Z i-1 an and Z i ar around X i displacement 𝑌 # = Trans * + 𝑏 #,#./ Rot * + 𝑏 #,#./ d i : di distance ce X i-1 to to X i al along Z i together: screw θ 2 : an angle X i-1 an and X i ar around Z i displacement 𝑎 # = Trans 4 + 𝑏 #,#./ Rot 4 + 𝑏 #,#./ § Coordinate transformation: #5/ 𝑈 = 𝑎 # 𝑌 # = Trans 4 + 𝑒 # Rot 4 + 𝜄 # Trans * + 𝑏 #,#./ Rot * + 𝑏 #,#./ # 22
Transformation i to i-1 23 1 0 0 0 0 1 0 0 1 0 0 0 Trans 4 + 𝑒 # = 0 0 1 𝑒 # 0 cos𝛽 #,#./ −sin𝛽 #,#./ 0 Rot * + 𝛽 #,#./ = 0 0 0 1 0 sin𝛽 #,#./ cos𝛽 #,#./ 0 0 0 0 1 1 0 0 𝑏 #,#./ cos 𝜄 # −sin 𝜄 # 0 0 0 1 0 0 sin 𝜄 # cos 𝜄 # 0 0 Trans * + 𝑏 #,#./ = Rot 4 + 𝜄 # = 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 Transformation in DH: ⎡ ⎤ cos θ i − sin θ i cos α i , i + 1 sin θ i sin α i , i + 1 a i , i + 1 cos θ i ⎢ ⎥ ⎢ sin θ i cos θ i cos α i , i + 1 − cos θ i sin α i , i + 1 a i , i + 1 sin θ i ⎥ i − 1 = R i ⎢ ⎥ 0 sin α i , i + 1 cos α i , i + 1 d i ⎢ ⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 23
Exercises
Exercise 1 26 Hom Homog ogeneou ous § tra transfo formati tions translate and rotate simultaneously. Y world 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3 Y R X R X world 26
Exercise 1 27 ? 𝑈 = / Y world 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3 Y R X R X world 27
Exercise 1 28 ? 𝑈 = / Y world 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 X R 6. Moves forward 3 Y R X world 28
Exercise 1 29 ? 𝑈 = / Y world X R 1. Rotates 90˚ Y R 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3 X world 29
Exercise 1 30 cos 𝜄 −sin 𝜄 𝑦 ? 𝑈 = sin 𝜄 cos 𝜄 𝑧 / 0 0 1 X R 1. Rotates 90˚ Y world Y R 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3 X world 30
Exercise 1 31 𝜌 2 𝜌 2 cos B −sin B 0 𝜌 2 𝜌 2 ? 𝑈 = sin B cos B 5 / 0 0 1 X R 1. Rotates 90˚ Y world Y R 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3 X world 31
Recommend
More recommend