300 likes | 552 Vues
Ch. 4: Velocity Kinematics. 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
E N D
Ch. 4: Velocity Kinematics ES159/259
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
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
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
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
Angular velocity: arbitrary axis • Derivative of a rotation matrix • let R be an arbitrary rotation matrix which is a function of a single variable q • R(q)R(q)T=I • Differentiating both sides (w/ respect to q) gives: • Now define the matrix S as: • Then ST is: • Therefore S + ST = 0 and ES159/259
Angular velocity: arbitrary axis • Example: let R=Rx,q, then using the previous results we have: ES159/259
Angular velocity: arbitrary axis • Now 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
Addition of angular velocities • For most manipulators we will want to find the angular velocity of one frame due to the rotations of multiple frames • We assume that there are no translational components: all coordinate frames have coincident origins • Consider three frames: o0, o1, o2: • To illustrate how the rotation of multiple frames is determined by the rotations of the individual frames, take the derivative of this rotation matrix: • By our previous convention: • Where w0,20 is the angular velocity corresponding to a rotation of R20 in the inertial frame ES159/259
Addition of angular velocities • Now the first term can be derived as follows: • Where w0,10 is the angular velocity corresponding to a rotation of R10 in the inertial frame • The second term is derived using the properties of so(n) • Thus combining these results: from our definition of since because ES159/259
Addition of angular velocities • Further: • And since • Therefore 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
Linear velocities • The linear velocity of any point on a rigid body is the sum of the linear velocity of the rigid body and the velocity of the particle due to rotation of the rigid body • First, the position of a point p attached to a rigid body is: • Where o is the origin of the o1 frame expressed in the inertial frame • To find the velocity, take the derivative as follows: • Where v is the velocity of the rigid body in the inertial frame • If the point p is moving relative to the rigid body, then we also need to take this in consideration we assume that p is fixed w/ respect to the rigid body ES159/259
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
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
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
Deriving Jw • Now Jw can simply be written as follows: • There are n columns, each is 3x1, thus Jw is 3xn ES159/259
Deriving Jv • Linear velocity of the end effector: • Therefore we can simply write the ith column of Jv as: • However, the linear velocity of the end effector can be due to the motion of revolute and/or prismatic joints • Thus the end-effector velocity is a linear combination of the velocity due to the motion of each joint • w/o L.O.G. we can assume all joint velocities are zero other than the ith joint • This allows us to examine the end-effector velocity due to the motion of either a revolute or prismatic joint ES159/259
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
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
The complete Jacobian • The ith column of Jv is given by: • The ith column of Jw is given by: ES159/259
Example: two-link planar manipulator • Calculate J for the following manipulator: • Two joint angles, thus J is 6x2 • Where: ES159/259
Example: velocity of an arbitrary point • We can also use the Jacobian to calculate the velocity of any arbitrary point on the manipulator • This is identical to placing the tool frame at any point of the manipulator ES159/259
Example: Stanford manipulator • The configuration of the Stanford manipulator allows us to make the following simplifications: • Where o is the common origin of the o3, o4, and o5 frames ES159/259
03_04tbl Example: Stanford manipulator • From the forward kinematics of the Stanford manipulator, we calculated the homogeneous transformations for each joint: ES159/259
03_04tbl Example: Stanford manipulator • To complete the derivation of the Jacobian, we need the following quantities: z0, z1, … , z5, o0, o1, o3, o6 • o3 is o and o0 = [0 0 0]T • We determine these quantities by noting the construction of the T matrices • oj is the first three elements of the last column of Tj0 • zj is Rj0k, or equivalently, the first three elements of the third column of Tj0 • Thus we can calculate the Jacobian by first determining the Tj0 • Thus the zi terms are given as follows: ES159/259
03_04tbl Example: Stanford manipulator • And the oi terms are given as: • Finally, the Jacobian can be assembled as follows: ES159/259
03_04tbl Example: Stanford manipulator • Finally, the Jacobian can be assembled as follows: ES159/259
03_04tbl Example: SCARA manipulator • Jacobian will be a 6x4 matrix • Thus we will need to determine the following quantities: z0, z1, … , z3, o0, o1, o2, o4 • Since all the joint axes are parallel, we can see the following: • From the homogeneous transformation matrices we can determine the origins of the coordinate frames ES159/259
03_04tbl Example: SCARA manipulator • Thus o0, o1, o2, o4 are given by: • Finally, we can assemble the Jacobian: ES159/259
Next class… • Formal definition of singularities • Tool velocity • manipulability ES159/259