Presentation is loading. Please wait.

Presentation is loading. Please wait.

ME 537 - Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous.

Similar presentations


Presentation on theme: "ME 537 - Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous."— Presentation transcript:

1 ME 537 - Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous transformation can be used to examine the pose velocities of frames. This method will be compared to a conventional dynamics vector approach. The Jacobian is used to map motion between joint and Cartesian space, an essential operation when curvilinear robot motion is required in applications such as welding or assembly. Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous transformation can be used to examine the pose velocities of frames. This method will be compared to a conventional dynamics vector approach. The Jacobian is used to map motion between joint and Cartesian space, an essential operation when curvilinear robot motion is required in applications such as welding or assembly.

2 ME 537 - Robotics In particular, you will 1.Review the differential transformation. 2.Consider the screw velocity matrix. 3.Relate differential transformations to different coordinate frames. 4.Use differential transformations to determines velocities in frames. 5.Determine the Jacobian for serial robots using Waldron’s method. 6.Determine the Jacobian for parallel robots. 7.Examine robot singularities. In particular, you will 1.Review the differential transformation. 2.Consider the screw velocity matrix. 3.Relate differential transformations to different coordinate frames. 4.Use differential transformations to determines velocities in frames. 5.Determine the Jacobian for serial robots using Waldron’s method. 6.Determine the Jacobian for parallel robots. 7.Examine robot singularities.

3 ME 537 - Robotics Differential transformations T T T'T' T'T' Now if we have a frame T relating a set of axes (primed axes) to global or base axes, then a small differential displacement of these axes (dp, d  = d  k) relative to the base axes results in a new frame T' = T + dT = H(d  dp) T. Although finite rotations can't be considered vectors, differential (infinitesimal) rotations can, thus d  = d  k. Thus, the form of dT can be expressed as dT = (H(d  dp) - I) T =  T (in base frame) Now if we have a frame T relating a set of axes (primed axes) to global or base axes, then a small differential displacement of these axes (dp, d  = d  k) relative to the base axes results in a new frame T' = T + dT = H(d  dp) T. Although finite rotations can't be considered vectors, differential (infinitesimal) rotations can, thus d  = d  k. Thus, the form of dT can be expressed as dT = (H(d  dp) - I) T =  T (in base frame)

4 ME 537 - Robotics Differential transformations T T T'T' T'T' Displacements made relative to the primed axes ( dp, d  expressed in primed axes)  change the form of dT to dT = T (H(d  dp) - I) = T T  (in primed frame) Displacements made relative to the primed axes ( dp, d  expressed in primed axes)  change the form of dT to dT = T (H(d  dp) - I) = T T  (in primed frame)

5 ME 537 - Robotics Differential transformations Since dT =  T = T T , we can relate the differential transformation in either frame, given the other, as  = T T  T -1 or T  = T -1  T Letting sin(d  )  d , cos(d  )  1, the form of  (or T  ) can be shown to be Since dT =  T = T T , we can relate the differential transformation in either frame, given the other, as  = T T  T -1 or T  = T -1  T Letting sin(d  )  d , cos(d  )  1, the form of  (or T  ) can be shown to be

6 ME 537 - Robotics Screw velocity matrix In the case of pure rotation, the differential transformation, depicted by  (or T  ), reduces to a screw rotation about the unit vector k. Taking the derivative of the matrix we get the screw (angular) velocity matrix:

7 ME 537 - Robotics Differential transformations Given the relations  = T T  T -1 or T  = T -1  T we can relate the differential transformations relative to the base frame or relative to the offset frame T where T is known as a b c p Given the relations  = T T  T -1 or T  = T -1  T we can relate the differential transformations relative to the base frame or relative to the offset frame T where T is known as a b c p

8 ME 537 - Robotics Differential transformations Define the differential rotations and translations relative to the base frame by  =  x I +  y J +  z K d = d x I + d y J + d z K where  x = d  x d x = dp x  y = d  y d y = dp y...giving...  z = d  z d z = dp z Define the differential rotations and translations relative to the base frame by  =  x I +  y J +  z K d = d x I + d y J + d z K where  x = d  x d x = dp x  y = d  y d y = dp y...giving...  z = d  z d z = dp z   = = 0 0 - -   z z   y y d d x x   z z 0 -   x x d d y y - -   y y   x x 0 0 d d z z 0 0

9 ME 537 - Robotics Differential transformations Define the differential rotations and translations relative to the offset frame by  ’  =  x’ i +  y’ j +  z’ k d’ = d x’ i + d y’ j + d z’ k It can be shown (see notes) that the differential displacements in the offset frame can be related to those in the base frame by  x' =  · a =  T a  y' =  · b =  T b  z' =  · c =  T c d x' =  · (p x a) + d · a d y' =  · (p x b) + d · b d z' =  · (p x c) + d · c Define the differential rotations and translations relative to the offset frame by  ’  =  x’ i +  y’ j +  z’ k d’ = d x’ i + d y’ j + d z’ k It can be shown (see notes) that the differential displacements in the offset frame can be related to those in the base frame by  x' =  · a =  T a  y' =  · b =  T b  z' =  · c =  T c d x' =  · (p x a) + d · a d y' =  · (p x b) + d · b d z' =  · (p x c) + d · c

10 ME 537 - Robotics Velocities Vector w can be resolved into components p in the base frame by the equation p = T w. Now under a small displacement, frame T can be expressed by the new frame T' = T + dT = T + ∆T A vector w in frame T, once perturbed, can be located globally by p' such that p' = (T +  T) w The delta move, p' - p, becomes p' - p = (T +  T) w - T w =  T w Vector w can be resolved into components p in the base frame by the equation p = T w. Now under a small displacement, frame T can be expressed by the new frame T' = T + dT = T + ∆T A vector w in frame T, once perturbed, can be located globally by p' such that p' = (T +  T) w The delta move, p' - p, becomes p' - p = (T +  T) w - T w =  T w

11 ME 537 - Robotics Velocities Dividing by  t and taking the limit as  t  0 (take derivative), we determine the velocity in the base frame: where Dividing by  t and taking the limit as  t  0 (take derivative), we determine the velocity in the base frame: where

12 ME 537 - Robotics Example x r Y y X  P (3,5,0) relative to frame C Frame C 2 rad/s (2,3,0) p O A point P is located by vector  in an offset frame C as shown. At this instant the frame C origin is being translated by the velocity v t = 2 I + 2J m/s relative to the base frame. The frame is also being rotated relative to the base frame by the angular velocity  = 2 rad/s K where I, J, K are the unit vectors for the base frame. Determine the instantaneous velocity of point P using both the conventional vector dynamics approach and the differential methods in this chapter.

13 ME 537 - Robotics Example: conventional solution x r Y y X  P (3,5,0) relative to frame C Frame C 2 rad/s (2,3,0) p O v = v o +  x  where v o = v t +  x r. At this instant note that frame C is aligned with the base frame so that the unit vectors are parallel. It can be shown that  x r = -6I + 4J so that v o = 2 I + 2 J -6 I + 4 J = -4 I + 6 J m/s v = v o +  x  where v o = v t +  x r. At this instant note that frame C is aligned with the base frame so that the unit vectors are parallel. It can be shown that  x r = -6I + 4J so that v o = 2 I + 2 J -6 I + 4 J = -4 I + 6 J m/s It can be shown that  x  = -10 I + 6 J, so that v = -4 I + 6J -10 I + 6 J = -14 I + 12 J m/s (answer) It can be shown that  x  = -10 I + 6 J, so that v = -4 I + 6J -10 I + 6 J = -14 I + 12 J m/s (answer)

14 ME 537 - Robotics Example: differential solution Apply where w =  and to give Note that the same values are obtained! Apply where w =  and to give Note that the same values are obtained!

15 ME 537 - Robotics Jacobians - serial robots The Jacobian is a mapping of differential changes in one space to another space. Obviously, this is useful in robotics because we are interested in the relationship between Cartesian velocities and the robot joint rates.

16 ME 537 - Robotics Jacobians - serial robots If we have a set of functions y i = f i (x j ) i = 1,..,m ; j = 1,..,n then the differentials of y i can be written as i = 1,...m or in matrix form,  y = J  x, where J = Jacobian = If we have a set of functions y i = f i (x j ) i = 1,..,m ; j = 1,..,n then the differentials of y i can be written as i = 1,...m or in matrix form,  y = J  x, where J = Jacobian =

17 ME 537 - Robotics Jacobians - serial robots In the field of robotics, we determine the Jacobian which relates the TCF velocity (position and orientation) to the joint speeds: where v = TCF origin velocity  = orientation angular velocity (equivalent Euler angles, etc.) = joint velocities (joint rotational or translation speeds) In the field of robotics, we determine the Jacobian which relates the TCF velocity (position and orientation) to the joint speeds: where v = TCF origin velocity  = orientation angular velocity (equivalent Euler angles, etc.) = joint velocities (joint rotational or translation speeds)

18 ME 537 - Robotics Jacobians - serial robots Waldron in the paper "A Study of the Jacobian Matrix of Serial Manipulators", June, 1985, ASME Journal of Mechanisms, Transmissions, and Automation in Design, determines simple recursive forms of the Jacobian, given points on the joint axes (r i ) and joint direction vectors (e i ) for the joint axes

19 ME 537 - Robotics Jacobians - serial robots The velocity of point P, a point on some end-effector, can be determined by and also reduced to the form The velocity of point P, a point on some end-effector, can be determined by and also reduced to the form where  i is the absolute angular velocity of link i and  i is the position vector between joint axes i+1 and i :

20 ME 537 - Robotics Jacobians - serial robots The Jacobian is determined by collecting the velocities for each joint into the form: and the velocity relationship becomes: "R" "P" The Jacobian is determined by collecting the velocities for each joint into the form: and the velocity relationship becomes: "R" "P"

21 ME 537 - Robotics Jacobians - serial robots Given the Jacobian, what are we really interested in calculating for tasks like seam welding, painting, etc.? q q = = J J V V Note that J -1 only exists for a six-axis robot. Robots with less than 6 joints map the joint space into a subspace of Cartesian space.

22 ME 537 - Robotics Jacobians and Singularities The case where det (J -1 ) = 0 is referred to as a singularity. Previously we have introduced the robot redundancy. The picture shows a singularity occurring. Can you explain the problem?

23 ME 537 - Robotics Singularities Near a singularity the mechanism loses mobility in one or more directions. These directions are degenerate directions.

24 ME 537 - Robotics Nearness to Singularities The Jacobian determinant can always be expanded into the form |J| = s(q) = s 1 (q) s 2 (q)…s k (q) If one or more s i (q) = 0, then we are at one or more singular configurations. If any s i (q) are small then we are near singular configuration(s). Joint rates will increase near singularities. The Jacobian determinant can always be expanded into the form |J| = s(q) = s 1 (q) s 2 (q)…s k (q) If one or more s i (q) = 0, then we are at one or more singular configurations. If any s i (q) are small then we are near singular configuration(s). Joint rates will increase near singularities.

25 ME 537 - Robotics Nearness to Singularities The Jacobian can also be decomposed into the following form by Singular Value Decomposition (SVD) J = U S V T where U is a matrix of basis vectors in Cartesian Space, V T is a matrix of basis vectors in joint space, and S is a diagonal matrix of singular values that decrease down the diagonal. When the diagonal singular values approach zero the mechanism approaches singular configurations. Methods for computing SVD are computationally expensive. The Jacobian can also be decomposed into the following form by Singular Value Decomposition (SVD) J = U S V T where U is a matrix of basis vectors in Cartesian Space, V T is a matrix of basis vectors in joint space, and S is a diagonal matrix of singular values that decrease down the diagonal. When the diagonal singular values approach zero the mechanism approaches singular configurations. Methods for computing SVD are computationally expensive.

26 ME 537 - Robotics How do we work around singularities?  By tooling design and work placement  By robot designs  By changing to joint space motion around the singularity  By slowing down Cartesian motion near singularity, if feasible  By planning paths carefully near singularity, if feasible, perhaps allowing path deviation.  By tooling design and work placement  By robot designs  By changing to joint space motion around the singularity  By slowing down Cartesian motion near singularity, if feasible  By planning paths carefully near singularity, if feasible, perhaps allowing path deviation.

27 ME 537 - Robotics Differential motion summary 1.Differential forms can calculate velocities of frames and be simpler to apply than the conventional vector equations. 2.Jacobian is important in robotics because the robot is controlled in joint space, whereas the robot tool is applied in physical Cartesian space. Unfortunately, motion in Cartesian space must be mapped to motion in joint space through an inverse Jacobian relation. This relation might be difficult to obtain and many robots have singular configurations that must be avoided. 3.The equations for the Jacobian are easy to determine for a robot, given the current robot configuration, as outlined by Waldron et. al in the paper "A Study of the Jacobian Matrix of Serial Manipulators", June, 1985, ASME Journal of Mechanisms, Transmissions, and Automation in Design. 1.Differential forms can calculate velocities of frames and be simpler to apply than the conventional vector equations. 2.Jacobian is important in robotics because the robot is controlled in joint space, whereas the robot tool is applied in physical Cartesian space. Unfortunately, motion in Cartesian space must be mapped to motion in joint space through an inverse Jacobian relation. This relation might be difficult to obtain and many robots have singular configurations that must be avoided. 3.The equations for the Jacobian are easy to determine for a robot, given the current robot configuration, as outlined by Waldron et. al in the paper "A Study of the Jacobian Matrix of Serial Manipulators", June, 1985, ASME Journal of Mechanisms, Transmissions, and Automation in Design.

28 ME 537 - Robotics Jacobians - parallel robots Let us define two vectors: x is a vector that locates the moving platform q is a vector of the n actuator joint values. In general the number of actuated joints is equal to the degrees-of-freedom of the robot. The kinematics constraints imposed by the limbs will lead to a series of n constraint equations: f(x,q) = 0 Eqn (4.42) in notes Let us define two vectors: x is a vector that locates the moving platform q is a vector of the n actuator joint values. In general the number of actuated joints is equal to the degrees-of-freedom of the robot. The kinematics constraints imposed by the limbs will lead to a series of n constraint equations: f(x,q) = 0 Eqn (4.42) in notes

29 ME 537 - Robotics Jacobians - parallel robots We can differentiate (4.42) with respect to time to generate a relationship between joint rates and moving table velocities: where J x =  f/  x and J q = -  f/  q. Thus, the Jacobian equation can be written in the form where J = J q -1 J x. Note that the equation is already in the desired inverse form, given that we can determine J q -1 and J x. We can differentiate (4.42) with respect to time to generate a relationship between joint rates and moving table velocities: where J x =  f/  x and J q = -  f/  q. Thus, the Jacobian equation can be written in the form where J = J q -1 J x. Note that the equation is already in the desired inverse form, given that we can determine J q -1 and J x.

30 ME 537 - Robotics Singularity conditions - parallel robots A parallel manipulator is singular when either J q or J x or both are singular. If det(J q ) = 0, we refer to the singularity as an inverse kinematics singularity. This is the kind of singularity where motion of the actuation joints causes no motion of the platform along certain directions. For the picker robot this occurs when the limb links all lie in a plane (  2i = 0 or  ) or when upper arm links are colinear (  3i = 0 or  ).

31 ME 537 - Robotics Singularity conditions - parallel robots If det(J x ) = 0, we refer to the singularity as a direct kinematics singularity. This case occurs for the picker robot when all upper arm linkages are in the plane of the moving platform. Note that the actuators cannot resist any force applied to the moving platform in the z direction

32 ME 537 - Robotics Jacobian for the picker robot Referring to the figure OP + PC i = OA i + A i B i + B i C i (4.37) to close the vector from the base frame to the center of the moving platform. We differentiate to obtain the equation v p =  1i x a i +  2i x b i for the velocity of the moving platform at point P and where a i = A i B i and b i = B i C i. Referring to the figure OP + PC i = OA i + A i B i + B i C i (4.37) to close the vector from the base frame to the center of the moving platform. We differentiate to obtain the equation v p =  1i x a i +  2i x b i for the velocity of the moving platform at point P and where a i = A i B i and b i = B i C i.

33 ME 537 - Robotics Jacobian for the picker robot The term  2i x b i is a function of the non-actuated joints. We can eliminate these joints from the equation by dot multiplying by b i (and using the scalar triple product permutation) to get b i   v p =  1i  (a i x b i ) The term  2i x b i is a function of the non-actuated joints. We can eliminate these joints from the equation by dot multiplying by b i (and using the scalar triple product permutation) to get b i   v p =  1i  (a i x b i )

34 ME 537 - Robotics Jacobian for the picker robot

35 ME 537 - Robotics Jacobian for the picker robot We can assemble these terms into equations for each limb by the matrix equation: J x v p = J q where J x = and J q = Since J q is diagonal, it is easy to determine the joint rates given the desired Cartesian velocity of the tool point. We can assemble these terms into equations for each limb by the matrix equation: J x v p = J q where J x = and J q = Since J q is diagonal, it is easy to determine the joint rates given the desired Cartesian velocity of the tool point.

36 ME 537 - Robotics Jacobian summary 1.The Jacobian in robotics is particularly important because it represents the rate mapping between joint and Cartesian space. Unfortunately, for serial robots the desire is to determine the joint rates to get desired motion in Cartesian space as the tool is moved along some line in space. This usually requires the inverse of the Jacobian, which may be difficult for some mechanisms. 1.The Jacobian for parallel robots may be easier to find, as is the case for the Picker robot. 1.The Jacobian in robotics is particularly important because it represents the rate mapping between joint and Cartesian space. Unfortunately, for serial robots the desire is to determine the joint rates to get desired motion in Cartesian space as the tool is moved along some line in space. This usually requires the inverse of the Jacobian, which may be difficult for some mechanisms. 1.The Jacobian for parallel robots may be easier to find, as is the case for the Picker robot.


Download ppt "ME 537 - Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous."

Similar presentations


Ads by Google