1 / 84

Review of static and dynamic manipulator descriptions

Review of static and dynamic manipulator descriptions. Updates. Lab #1 writeup due today Lab #2 (inverse kinematics) next week (3/12) Prelab distributed today Lab #3 (velocity kinematics) tentatively scheduled for week of 3/19. Ch. 2: Rigid Body Motions and Homogeneous Transforms. 02_03.

read
Download Presentation

Review of static and dynamic manipulator descriptions

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. Review of static and dynamic manipulator descriptions ES159/259

  2. Updates • Lab #1 writeup due today • Lab #2 (inverse kinematics) next week (3/12) • Prelab distributed today • Lab #3 (velocity kinematics) tentatively scheduled for week of 3/19 ES159/259

  3. Ch. 2: Rigid Body Motions and Homogeneous Transforms ES159/259

  4. 02_03 Rotation matrices • General 3D rotation: • Special cases • Basic rotation matrices ES159/259

  5. 02_03 Properties of rotation matrices • Summary: • Columns (rows) of R are mutually orthogonal • Each column (row) of R is a unit vector • The set of all n x n matrices that have these properties are called the Special Orthogonal group of order n ES159/259

  6. 02_03 Properties of rotation matrices (cont’d) • SO(3) is a group under multiplication • Closure: • Identity: • Inverse: • Associativity: • In general, members of SO(3) do not commute Allows us to combine rotations: ES159/259

  7. 02_05 Rotational transformations • Now assume p is a fixed point on the rigid object with fixed coordinate frame o1 • The point p can be represented in the frame o0 (p0) again by the projection onto the base frame ES159/259

  8. 02_09 Compositions of rotations • Summary: • Consecutive rotations w/ respect to the current reference frame: • Post-multiplying by successive rotation matrices • w/ respect to a fixed reference frame (o0) • Pre-multiplying by successive rotation matrices • We can also have hybrid compositions of rotations with respect to the current and a fixed frame using these same rules ES159/259

  9. 02_10 Parameterizing rotations • There are three parameters that need to be specified to create arbitrary rigid body rotations • We will describe three such parameterizations: • Euler angles • Roll, Pitch, Yaw angles • Axis/Angle ES159/259

  10. 02_10 Parameterizing rotations • Euler angles • Rotation by f about the z-axis, followed by q about the current y-axis, then y about the current z-axis ES159/259

  11. 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) • Consider three frames, o0, o1, and o2 and corresponding rotation matrices R21, and R10 • Let d21 be the vector from the origin o1 to o2, d10 from o0 to o1 • For a point p2 attached to o2, we can represent this vector in frames o0 and o1: ES159/259

  12. Homogeneous transforms • We can represent rigid motions (rotations and translations) as matrix multiplication • Define: • Now the point p2 can be represented in frame o0: • Where the P0 and P1 are: ES159/259

  13. Homogeneous transforms • Basic transforms: • Three pure translation, three pure rotation ES159/259

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

  15. 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

  16. 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

  17. 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

  18. 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

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

  20. 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

  21. 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

  22. 03_03 The physical basis for DH parameters • ai: link length, distance between the o0 and o1 (projected along x1) • ai: link twist, angle between z0 and z1 (measured around x1) • di: link offset, distance between o0 and o1 (projected along z0) • qi: joint angle, angle between x0 and x1 (measured around z0) ES159/259

  23. 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

  24. 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

  25. 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 • 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 • 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

  26. 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

  27. General procedure for determining forward kinematics • Label joint axes as z0, …, zn-1 (axis zi is joint axis for joint i+1) • Choose base frame: set o0 on z0 and choose x0 and y0 using right-handed convention • For i=1:n-1, • Place oi where the normal to zi and zi-1 intersects zi. If zi intersects zi-1, put oi at intersection. If zi and zi-1 are parallel, place oi along zi such that di=0 • xi is the common normal through oi, or normal to the plane formed by zi-1 and zi if the two intersect • Determine yi using right-handed convention • Place the tool frame: set zn parallel to zn-1 • For i=1:n, fill in the table of DH parameters • Form homogeneous transformation matrices, Ai • Create Tn0 that gives the position and orientation of the end-effector in the inertial frame ES159/259

  28. Forward kinematics of parallel manipulators • Parallel manipulator: two or more series chains connect the end-effector to the base (closed-chain) • # of DOF for a parallel manipulator determined by taking the total DOFs for all links and subtracting the number of constraints imposed by the closed-chain configuration • Gruebler’s formula (3D): #DOF for joint i number of links* number of joints ES159/259 *excluding ground

  29. Inverse Kinematics • Find the values of joint parameters that will put the tool frame at a desired position and orientation (within the workspace) • Given H: • Find all solutions to: • Noting that: • This gives 12 (nontrivial) equations with n unknowns • For the forward kinematics there is always a unique solution • Potentially complex nonlinear functions • The inverse kinematics may or may not have a solution • Solutions may or may not be unique • Solutions may violate joint limits • Closed-form solutions are ideal! ES159/259

  30. 03_12 Overview: kinematic decoupling • Appropriate for systems that have an arm a wrist • Such that the wrist joint axes are aligned at a point • For such systems, we can split the inverse kinematics problem into two parts: • Inverse position kinematics: position of the wrist center • Inverse orientation kinematics: orientation of the wrist • First, assume 6DOF, the last three intersecting at oc • Use the position of the wrist center to determine the first three joint angles… ES159/259

  31. 03_12 Overview: kinematic decoupling • Now, origin of tool frame, o6, is a distance d6 translated along z5 (since z5 and z6 are collinear) • Thus, the third column of R is the direction of z6 (w/ respect to the base frame) and we can write: • Rearranging: • Calling o = [oxoyoz]T, oc0 = [xcyczc]T ES159/259

  32. 03_12 Overview: kinematic decoupling • Since [xcyczc]T are determined from the first three joint angles, our forward kinematics expression now allows us to solve for the first three joint angles decoupled from the final three. • Thus we now have R30 • Note that: • To solve for the final three joint angles: • Since the last three joints for a spherical wrist, we can use a set of Euler angles to solve for them ES159/259

  33. 03_13 Inverse position kinematics • Now that we have [xcyczc]T we need to find q1, q2, q3 • Solve for qi by projecting onto the xi-1, yi-1 plane, solve trig problem • Two examples • elbow (RRR) manipulator: 4 solutions (left-arm elbow-up, left-arm elbow-down, right-arm elbow-up, right-arm elbow-down) • spherical (RRP) manipulator: 2 solutions (left-arm, right-arm) ES159/259

  34. 03_20 RRR: Four total solutions • In general, there will be a maximum of four solutions to the inverse position kinematics of an elbow manipulator • Ex: PUMA ES159/259

  35. Inverse orientation kinematics • Now that we can solve for the position of the wrist center (given kinematic decoupling), we can use the desired orientation of the end effector to solve for the last three joint angles • Finding a set of Euler angles corresponding to a desired rotation matrix R • We want the final three joint angles that give the orientation of the tool frame with respect to o3 (i.e. R63) ES159/259

  36. Inverse Kinematics: general procedure • Find q1, q2, q3 such that the position of the wrist center is: • Using q1, q2, q3, determine R30 • Find Euler angles corresponding to the rotation matrix: inverse position kinematics inverse orientation kinematics ES159/259

  37. Ch. 4: Velocity Kinematics ES159/259

  38. Velocity Kinematics • We want to relate end-effector linear and angular velocities with the joint velocities • First we will discuss angular velocities about a fixed axis • Second we discuss angular velocities about arbitrary (moving) axes • We will then introduce the Jacobian • Instantaneous transformation between a vector in Rn representing joint velocities to a vector in R6 representing the linear and angular velocities of the end-effector ES159/259

  39. Angular velocity: arbitrary axis • Skew-symmetric matrices • Definition: a matrix S is skew symmetric if: • i.e. • Let the elements of S be denoted sij, then by definition: • Thus there are only three independent entries in a skew symmetric matrix • Now we can use S as an operator for a vector a = [axayaz]T ES159/259

  40. Angular velocity: arbitrary axis • Properties of skew-symmetric matrices • The operator S is linear • The operator S is known as the cross product operator • This can be seen by the definition of the cross product: ES159/259

  41. Angular velocity: arbitrary axis • Properties of skew-symmetric matrices • For • This can be shown for and R as follows: • This can be shown by direct calculation. Finally: • For any ES159/259

  42. Angular velocity: arbitrary axis • Consider that we have an angular velocity about an arbitrary axis • Further, let R = R(t) • Now the time derivative of R is: • Where w(t) is the angular velocity of the rotating frame • To show this, consider a point p fixed to a moving frame o1: ES159/259

  43. Addition of velocities • Want to determine the angular and linear velocity of the end effector given combinations of joint velocities • Linear velocities use vector addition in the inertial frame • Angular velocities can be added once they are projected into the same coordinate frame. • This can be extended to calculate the angular velocity for an n-link manipulator: • Suppose we have an n-link manipulator whose coordinate frames are related as follows: • Now we want to find the rotation of the nth frame in the inertial frame: • We can define the angular velocity of the tool frame in the inertial frame: ES159/259

  44. The Jacobian • Now we are ready to describe the relationship between the joint velocities and the end effector velocities. • Assume that we have an n-link manipulator with joint variables q1, q2, …, qn • Our homogeneous transformation matrix that defines the position and orientation of the end-effector in the inertial frame is: • We can call the angular velocity of the tool frame w0,n0 and: • Call the linear velocity of the end-effector: ES159/259

  45. The Jacobian • Therefore, we want to come up with the following mappings: • Thus Jv and Jw are 3xn matrices • we can combine these into the following: • where: • J is called the Jacobian • 6xn where n is the number of joints ES159/259

  46. Deriving Jw • Remember that each joint i rotates around the axis zi-1 • Thus we can represent the angular velocity of each frame with respect to the previous frame • If the ith joint is revolute, this is: • If the ith joint is prismatic, the angular velocity of frame i relative to frame i-1 is zero • Thus, based upon our rules of forming the equivalent angular velocity of the tool frame with respect to the base frame: • Where the term ri determines if joint i is revolute (ri =1) or prismatic (ri =0) ES159/259

  47. Deriving Jv • End-effector velocity due to prismatic joints • Assume all joints are fixed other than the prismatic joint di • The motion of the end-effector is pure translation along zi-1 • Therefore, we can write the ith column of the Jacobian: ES159/259

  48. Deriving Jv • End-effector velocity due to revolute joints • Assume all joints are fixed other than the revolute joint qi • The motion of the end-effector is given by: • Where the term r is the distance from the tool frame on to the frame oi-1 • Thus we can write the ith column of Jv: ES159/259

  49. The complete Jacobian • The ith column of Jv is given by: • The ith column of Jw is given by: ES159/259

  50. Singularities • We can now derive the Jacobian as a mapping given by the following: • This means that the columns of J form a basis for the space of possible end effector velocities • Thus, for the end effector to be able to achieve any arbitrary body velocity x, J must have rank 6 • We know that J is 6xn and that: • Thus, • For example, for the two link planar manipulator, • For example, for the Stanford manipulator, • Note that the columns the Jacobian of a kinematically redundant manipulator are never linearly independent ES159/259

More Related