1 / 28

Ch. 3: Forward and Inverse Kinematics

Ch. 3: Forward and Inverse Kinematics. 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)

krikor
Download Presentation

Ch. 3: Forward and Inverse Kinematics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ch. 3: Forward and Inverse Kinematics ES159/259

  2. 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) • We can represent rigid motions (rotations and translations) as matrix multiplication • The matrix multiplication H is known as a homogeneous transform and we note that • Inverse transforms: ES159/259

  3. Recap: homogeneous transforms • Basic transforms: • Three pure translation, three pure rotation ES159/259

  4. Example • Euler angles: we have only discussed ZYZ Euler angles. What is the 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 • ZZY cannot be used to describe any arbitrary rotation matrix since two consecutive rotations about the Z axis can be composed into one rotation ES159/259

  5. Example • Compute the homogeneous transformation representing a translation of 3 units along the x-axis followed by a rotation of p/2 about the current z-axis followed by a translation of 1 unit along the fixed y-axis ES159/259

  6. Forward kinematics introduction • Challenge: given all the joint parameters of a manipulator, determine the position and orientation of the tool frame • Tool frame: coordinate frame attached to the most distal link of the manipulator • Inertial frame: fixed (immobile) coordinate system fixed to the most proximal link of a manipulator • Therefore, we want a mapping between the tool frame and the inertial frame • This will be a function of all joint parameters and the physical geometry of the manipulator • Purely geometric: we do not worry about joint torques or dynamics • (yet!) ES159/259

  7. Convention • A n-DOF manipulator will have n joints (either revolute or prismatic) and n+1 links (since each joint connects two links) • We assume that each joint only has one DOF. Although this may seem like it does not include things like spherical or universal joints, we can think of multi-DOF joints as a combination of 1DOF joints with zero length between them • The o0 frame is the inertial frame • on is the tool frame • Joint i connects links i-1 and i • The oi is connected to link i • Joint variables, qi ES159/259

  8. Convention • We said that a homogeneous transformation allowed us to express the position and orientation of oj with respect to oi • what we want is the position and orientation of the tool frame with respect to the inertial frame • An intermediate step is to determine the transformation matrix that gives position and orientation of oi with respect to oi-1: Ai • Now we can define the transformation oj to oi as: ES159/259

  9. Convention • Finally, the position and orientation of the tool frame with respect to the inertial frame is given by one homogeneous transformation matrix: • For a n-DOF manipulator • Thus, to fully define the forward kinematics for any serial manipulator, all we need to do is create the Ai transformations and perform matrix multiplication • But there are shortcuts… ES159/259

  10. The Denavit-Hartenberg (DH) Convention • Representing each individual homogeneous transformation as the product of four basic transformations: ES159/259

  11. The Denavit-Hartenberg (DH) Convention • Four DH parameters: • ai: link length • ai: link twist • di: link offset • qi: joint angle • Since each Ai is a function of only one variable, three of these will be constant for each link • di will be variable for prismatic joints and qi will be variable for revolute joints • But we said any rigid body needs 6 parameters to describe its position and orientation • Three angles (Euler angles, for example) and a 3x1 position vector • So how can there be just 4 DH parameters?... ES159/259

  12. 03_02 Existence and uniqueness • When can we represent a homogeneous transformation using the 4 DH parameters? • For example, consider two coordinate frames o0 and o1 • There is a unique homogeneous transformation between these two frames • Now assume that the following holds: • DH1: • DH2: • If these hold, we claim that there • exists a unique transformation A: ES159/259

  13. 03_02 Existence and uniqueness • Proof: • We assume that R10 has the form: • Use DH1 to verify the form of R10 • Since the rows and columns of R10 must be unit vectors: • The remainder of R10 follows from the properties of rotation matrices • Therefore our assumption that there exists a unique q and a that will give us R10 is correct given DH1 ES159/259

  14. 03_02 Existence and uniqueness • Proof: • Use DH2 to determine the form of o10 • Since the two axes intersect, we can represent the line between the two frames as a linear combination of the two axes (within the plane formed by x1 and z0) ES159/259

  15. 03_03 Physical basis for DH parameters • ai: link length, distance between the z0 and z1 (along x1) • ai: link twist, angle between z0 and z1 (measured around x1) • di: link offset, distance between o0 and intersection of z0 and x1 (along z0) • qi: joint angle, angle between x0 and x1 (measured around z0) positive convention: ES159/259

  16. 03_04 Assigning coordinate frames • For any n-link manipulator, we can always choose coordinate frames such that DH1 and DH2 are satisfied • The choice is not unique, but the end result will always be the same • Choose zi as axis of rotation for joint i+1 • z0 is axis of rotation for joint 1, z1 is axis of rotation for joint 2, etc • If joint i+1 is revolute, zi is the axis of rotation of joint i+1 • If joint i+1 is prismatic, zi is the axis of translation for joint i+1 ES159/259

  17. 03_04 Assigning coordinate frames • Assign base frame • Can be any point along z0 • Chose x0, y0 to follow the right-handed convention • Now start an iterative process to define frame i with respect to frame i-1 • Consider three cases for the relationship of zi-1 and zi: • zi-1 and zi are non-coplanar • zi-1 and zi intersect • zi-1 and zi are parallel zi-1 and zi are coplanar ES159/259

  18. 03_04 Assigning coordinate frames • zi-1 and zi are non-coplanar • There is a unique shortest distance between the two axes • Choose this line segment to be xi • oi is at the intersection of zi and xi • Choose yi by right-handed convention ES159/259

  19. 03_04 Assigning coordinate frames • zi-1 and zi intersect • Choose xi to be normal to the plane defined by zi and zi-1 • oi is at the intersection of zi and xi • Choose yi by right-handed convention ES159/259

  20. 03_04 Assigning coordinate frames • zi-1 and zi are parallel • Infinitely many normals of equal length between zi and zi-1 • Free to choose oi anywhere along zi, however if we choose xi to be along the normal that intersects at oi-1, the resulting di will be zero • Choose yi by right-handed convention ES159/259

  21. 03_05 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: • a is the approach direction • s is the ‘sliding’ direction (direction along which the grippers open/close) • n is the normal direction to a and s ES159/259

  22. 03_06 Example 1: two-link planar manipulator • 2DOF: need to assign three coordinate frames • Choose z0 axis (axis of rotation for joint 1, base frame) • Choose z1 axis (axis of rotation for joint 2) • Choose z2 axis (tool frame) • This is arbitrary for this case since we have described no wrist/gripper • Instead, define z2 as parallel to z1 and z0 (for consistency) • Choose xi axes • All zi’s are parallel • Therefore choose xi to intersect oi-1 ES159/259

  23. 03_06 Example 1: two-link planar manipulator • Now define DH parameters • First, define the constant parameters ai, ai • Second, define the variable parameters qi, di • The ai terms are 0 because all zi are parallel • Therefore only qi are variable ES159/259

  24. 03_02tbl Example 2: three-link cylindrical robot • 3DOF: need to assign four coordinate frames • Choose z0 axis (axis of rotation for joint 1, base frame) • Choose z1 axis (axis of translation for joint 2) • Choose z2 axis (axis of translation for joint 3) • Choose z3 axis (tool frame) • This is again arbitrary for this case since we have described no wrist/gripper • Instead, define z3 as parallel to z2 ES159/259

  25. 03_02tbl Example 2: three-link cylindrical robot • Now define DH parameters • First, define the constant parameters ai, ai • Second, define the variable parameters qi, di ES159/259

  26. 03_03tbl Example 3: spherical wrist • 3DOF: need to assign four coordinate frames • yaw, pitch, roll (q4, q5, q6) all intersecting at one point o (wrist center) ES159/259

  27. 03_03tbl Example 3: spherical wrist • Now define DH parameters • First, define the constant parameters ai, ai • Second, define the variable parameters qi, di ES159/259

  28. 03_03tbl Next class… • More examples for common configurations ES159/259

More Related