4/2/20 (A final note on) Mobile Kinematics Kinematics: overview, 2 transforms, and wheels § Given this setup: P P x z θ θ ξ I = y y P y 1 1 θ P x x 1 1 θ θ x § We can map { X I ,Y I } (global) ßà { X R ,Y R } (robot) y 1 y 1 y § Use rotation matrices and velocity vector in x, y, θ x 1 x 1 § Why do we care so much? 2 1 2 (A final note on) Mobile Kinematics Manipulator Kinematics 3 4 § Goal: take robot from A I to B I § Kinematics (possible motion of a body) for manipulator robots § We know where we want it in the global setting § End effector position and § What do we actually control? (In what frame of reference?) orientation, wrt. an arbitrary initial frame Y I Y I X R § A manipulator is moved Y R x x’ by changing (sending motion ξ A = y ξ B = y’ X R θ commands to) its… θ Y R θ ’ θ § Joints: revolute and X I P prismatic X I § Point: Convert from A I to B I by changing ξ R 3 4 3 4 Images from: dreamstime.com Manipulator State Position & Orientation 5 6 Configuration: where is every point on a manipulator? § In Instantaneous description of geometry of a manipulator § State: a set of variables which describe change of configuration over time in response to joint forces Control inputs § R P External influences § θ d 5 6 5 6 1
4/2/20 Images from: dreamstime.com Images from: dreamstime.com Position & Orientation Forward Kinematics & IK 7 8 7 8 7 8 Images from: dreamstime.com Mobile vs. Manipulator Kinematics Problem 9 10 § Description: how § The st state sp space is the set of all possible states P many parameters… P § The st state of the manipulator is: § …to describe planar x θ § A set of variables which describe changes in θ position & orientation? ξ I = y y configuration over time, in response to joint forces + co θ § …to describe 3D y 1 1 external forces x position & orientation? x 1 1 § Where do joint forces come from? § In 3D, it’s always 6 § Controllers! § Where is it on x, y, z ? § What is its x, y, z § So, given some set of joints, rotation? what signals do we send? § In jo join int t space vs. Ca Cartesian space 9 10 9 10 Images from: dreamstime.com Goal Joint vs. Cartesian space 11 12 § Joint space: we co cont ntrol the robot’s DoFs § Goal: take robot end effector from A I to B I § So we issue commands in terms of those § We know where we want it in the global setting § Mobile: “Roll forward 2 meters, rotate 53˚ clockwise” § What do we actually control? § Manipulator: “Rotate joint two 90˚ and joint four 65˚, § Point: Convert from A I to B I then slide joint three 17cm” § Cartesian space: usually we wa want to accomplish A B But wait, there’s more… things in terms of the world § Mobile: Go to the building in B2 § Manipulator: get the object on the table in front of you § Kinematics lets us tra transform § Now a 6 ßà 6 transformation back and forth 11 12 11 12 2
4/2/20 Review: Z Rotation Matrix* Review: Z Rotation Matrix* 13 14 § We derived this geometrically : § In practice, it’s really this: § Rotations around z à 0s and 1 s If we assume frame axes are of length 1 § a = cos θ § y I y I b = sin θ § ⎡ ⎤ ⎡ ⎤ cos θ − sin θ 0 cos θ − sin θ 0 c = - sin θ § ⎢ ⎥ ⎢ ⎥ R θ ( ) = sin θ cos θ 0 y R R θ ( ) = sin θ cos θ 0 ⎢ ⎥ ⎢ ⎥ d = cos θ § x R Rotations around ⎢ 0 0 1 ⎥ ⎢ 0 0 1 ⎥ § ⎣ ⎦ ⎣ ⎦ z à 0s and 1 s y R d x I x R b θ z R x I a z I c * AKA orthogonal rotation matrix * AKA orthogonal rotation matrix 13 14 13 14 Other Rotation Matrices Complex Rotations 15 16 § Similarly derived § What if we don’t just rotate around a single axis? 1 0 0 from axis of 0 𝑑𝑝𝑡𝜄 " −𝑡𝑗𝑜𝜄 " 𝑆 " = § Any rotation in 3D space z I rotation and 0 𝑡𝑗𝑜𝜄 " 𝑑𝑝𝑡𝜄 " can be broken down into trigonometric single-axis rotations values of z R x R 𝑑𝑝𝑡𝜄 - 0 𝑡𝑗𝑜𝜄 - § Given orthogonal axes projections 𝑆 - = 0 1 0 −𝑡𝑗𝑜𝜄 - 0 𝑑𝑝𝑡𝜄 - § Multiply rotation matrices: x I 1 0 0 𝑑𝑝𝑡𝜄 - 0 𝑡𝑗𝑜𝜄 - 𝑑𝑝𝑡𝜄 . −𝑡𝑗𝑜𝜄 . 0 0 𝑑𝑝𝑡𝜄 " −𝑡𝑗𝑜𝜄 " R = 0 1 0 𝑆 . = 𝑡𝑗𝑜𝜄 . 𝑑𝑝𝑡𝜄 . 0 0 𝑡𝑗𝑜𝜄 " 𝑑𝑝𝑡𝜄 " −𝑡𝑗𝑜𝜄 - 0 𝑑𝑝𝑡𝜄 - y R y I 0 0 1 § Can do any number of rotations; just multiply out 15 16 15 16 Mobile to Manipulator Multiframe Kinematics 17 18 § Ho How w many frames of reference do we have? § Add a number of chained frames of reference § We’ve been translating among frames based on possible motion § How do they re relate ? P P θ θ y 1 y 1 x 1 x 1 17 18 17 18 3
4/2/20 Kinematic Chaining Describing A Manipulator 19 20 § Do you need to do every transformation? § Arm made up of links in a chain § What do we really care about? § Joints each have < x,y,z > and roll/pitch/yaw § So, ea each h joint nt has a coordinate system § We label links, joints, and angles joint i+1 joint i-1 joint i 19 20 19 20 Forward Kinematics Forward & Inverse 21 22 § Forward: Joint space (robot § Vector Φ represents the array of M joint values: space – previously R ) § Inputs: joint angles [ ] θ 1 , θ 2 , …, θ n = f f f Φ ... § Outputs: coordinates of end-effector 1 2 M § Vector e represents an array of N values that describe § Inverse: the end effector in world space: § Inputs: desired coordinates of end- ⎡ ⎤ effector e = e 1 e 2 ... e N ⎣ ⎦ § Outputs: joint angles § If we need end effector position and orientation, e § Inverse kinematics are tricky would contain 6 DOFs: 3 translations and 3 rotations. If § Multiple solutions we only need end effector position, e would just contain the 3 translations. § No solutions {x,y,z}, r/p/y § Dead spots Cartesian space (global space – previously I ) 21 22 21 22 Forward: i à i-1 Describing A Manipulator 23 24 § Arm made up of links in a chain § We are we looking for transformation matrix T , going from frame i to frame i-1: § How to describe each link? § Many choices exist i-1 i-1 T i (also written T or i-1 T i ) DH parameters, quaternions are widely used, Euler angles… § i § Joints each have coordinate system § Determine position and orientation of end- § {x,y,z}, r/p/y effector as function of displacements in joints § Why? joint i+1 § So we can multiply out along all joints joint i-1 joint i 23 24 23 24 4
4/2/20 Forward Kinematics and IK Matrices for Pure Translation 25 26 x I x R § Joint angles ⇆ end effector configuration y I y R ξ R = ξ I = § Can string together rotations with multiplication z I z R θ θ § So, can get end effector rotation by § Finding rotation from [joint i-1 to i ] ✕ [joint i to i+1 ] ✕ … Origin point of R in I: In 3D: Generally: 0 1 0 0 0 1 0 0 x joint i+1 § Rot Rotat ation on of of end 3 0 1 0 3 0 1 0 y effect ef ector frame , 0 0 0 1 0 0 0 1 z relative to bas base joint i-1 1 0 0 0 1 0 0 0 1 joint i fr frame www.youtube.com/watch?v=lVjFhNv2N8o 25 26 25 26 Matrices for Pure Rotation Describing A Manipulator 27 28 § Arm made up of links in a chain § How to describe each link? x x § Many choices exist y y § DH parameters widely used ξ I = ξ R = z z Although it’s not true that quaternions are not widely used § θ I θ R § DH parameters Around z : § Denavit-Hartenberg joint i+1 § a i-1 , α i-1 , d i , θ 2 Review? Introduction to Homogeneous Transformations & Robot Kinematics joint i Jennifer Kay 2005 joint i-1 ce.aut.ac.ir/~shiry/lecture/robotics/amr/kinematics.pdf 27 28 27 28 Denavit-Hartenberg Method Defining Frames for Joints 29 30 § Efficient way to find transformation matrices § What’s the frame of reference for a joint? § Actually, completely flexible Set frames for all joints 1. § This is actually the tricky part. § We usually choose: § 1 axis through the center of Calculate all DH parameters from frames 2. rotation/direction of displacement P 4 DH parameters fully define position and orientation § (not 6) § 2 more perpendicular to that Which can be any orientation! Populate DH parameter table § 3. § We can move the origin Populate joint-to-joint DH transformation matrices 4. § P is no longer <0, 0, 0> Matrix for 0- 1 , matrix for 1 -2, etc. § § To use DH method, choose frames carefully Multiply all matrices together, in order 5. 0- 1 × 1 -2 × 2-3 × … § 29 30 29 30 5
Recommend
More recommend