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

Slides:



Advertisements
Similar presentations
Inverse Kinematics Professor Nicola Ferrier ME 2246,
Advertisements

Kinematics of Rigid Bodies
Outline: Introduction Link Description Link-Connection Description
Links and Joints.
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Manipulator’s Inverse kinematics
Continuing with Jacobian and its uses ME 4135 – Slide Set 7 R. R. Lindeke, Ph. D.
Review: Homogeneous Transformations
PLANAR RIGID BODY MOTION: TRANSLATION & ROTATION
RIGID BODY MOTION: TRANSLATION & ROTATION (Sections )
RIGID BODY MOTION: TRANSLATION & ROTATION
ME 4135 Fall 2011 R. R. Lindeke, Ph. D. Robot Dynamics – The Action of a Manipulator When Forced.
The Concepts of Orientation/Rotation ‘Transformations’ ME Lecture Series 2 Fall 2011, Dr. R. Lindeke 1.
Motion Kinematics – Lecture Series 3 ME 4135 – Fall 2011 R. Lindeke.
ME Robotics Dynamics of Robot Manipulators Purpose: This chapter introduces the dynamics of mechanisms. A robot can be treated as a set of linked.
Ch. 3: Forward and Inverse Kinematics
Ch. 4: Velocity Kinematics
Forward Kinematics.
Mobile Robotics: 10. Kinematics 1
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Inverse Kinematics Jacobian Matrix Trajectory Planning
Screw Rotation and Other Rotational Forms
Introduction to ROBOTICS
Velocities and Static Force
Definition of an Industrial Robot
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
PLANAR RIGID BODY MOTION: TRANSLATION & ROTATION
Kinematics of Rigid Bodies
Theory of Machines Lecture 4 Position Analysis.
Manipulator Motion (Jacobians) Professor Nicola Ferrier ME 2246,
Feb 17, 2002Robotics 1 Copyright Martin P. Aalund, Ph.D. Kinematics Kinematics is the science of motion without regard to forces. We study the position,
15/09/2015handout 31 Robot Kinematics Logics of presentation: Kinematics: what Coordinate system: way to describe motion Relation between two coordinate.
Lecture 2: Introduction to Concepts in Robotics
Chapter 2 Robot Kinematics: Position Analysis
MAE 242 Dynamics – Section I Dr. Kostas Sierros.
Outline: 5.1 INTRODUCTION
Kinematics of Particles
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
MOTION RELATIVE TO ROTATING AXES
Manipulator’s Forward kinematics
PLANAR KINEMATICS OF A RIGID BODY
Inverting the Jacobian and Manipulability
ASME DETC Robot Manipulators and Singularities Vijay Kumar.
Review: Differential Kinematics
M. Zareinejad 1. 2 Grounded interfaces Very similar to robots Need Kinematics –––––– Determine endpoint position Calculate velocities Calculate force-torque.
Kinematic Redundancy A manipulator may have more DOFs than are necessary to control a desired variable What do you do w/ the extra DOFs? However, even.
Just a quick reminder with another example
PLANAR RIGID BODY MOTION: TRANSLATION & ROTATION
Trajectory Generation
Chapter 3 Differential Motions and Velocities
Robotics II Copyright Martin P. Aalund, Ph.D.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4)
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 1)
Chapter 4 Dynamic Analysis and Forces 4.1 INTRODUCTION In this chapters …….  The dynamics, related with accelerations, loads, masses and inertias. In.
VECTOR MECHANICS FOR ENGINEERS: DYNAMICS Seventh Edition Ferdinand P. Beer E. Russell Johnston, Jr. Lecture Notes: J. Walt Oler Texas Tech University CHAPTER.
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Joint Velocity and the Jacobian
ME321 Kinematics and Dynamics of Machines
Mobile Robot Kinematics
Outline: 5.1 INTRODUCTION
Robot Kinematics We know that a set of “joint angles” can be used to locate and orientate the hand in 3-D space We know that the joint angles can be combined.
Outline: 5.1 INTRODUCTION
KINEMATIC CHAINS & ROBOTS (I)
Outline: 5.1 INTRODUCTION
Chapter 4 . Trajectory planning and Inverse kinematics
Chapter 3. Kinematic analysis
Robotics 1 Copyright Martin P. Aalund, Ph.D.
DIFFERENTIAL KINEMATICS
Screw Rotation and Other Rotational Forms
Presentation transcript:

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

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

ME 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)

ME 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)

ME 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

ME 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:

ME 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

ME 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   = =   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

ME 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

ME 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

ME 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

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

ME 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)

ME 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!

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

ME 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 =

ME 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)

ME 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

ME 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 :

ME 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"

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

ME 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?

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

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

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

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

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

ME 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

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

ME 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  ).

ME 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

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

ME 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 )

ME Robotics Jacobian for the picker robot

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

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