Robot Modeling and the Forward Kinematic Solution ME 4135 Lecture Series 4 Dr. R. Lindeke – Fall 2011
Looking Closely at the 0T n Matrix – the backbone of Robot Modeling Looking Closely at the 0 T n Matrix – the backbone of Robot Modeling We define 0 T n as the matrix that relates the end of the arm frame to its base – ◦ Thus it must contain information related to each of the several joints of the robot ◦ It is a 4x4 matrix populated by complex equations for both position and orientation (POSE)
Looking Closely at the 0 T n Matrix To get at the equation set, we will choose to add a series of coordinate frames to each of the joint positions The frame attached to the 1 st joint is labeled 0 while joint two has Frame 1, etc. The last Frame is the end or n Frame Thus each individual “Transform” related two frames at each end of any link – That is Distal Motion in Proximal “Space”
Looking Closely at the 0 T n Matrix As we have seen earlier, we can define a HTM ( i-1 T i ) to the transformation between any two SO 3 based frames Thus we will find that the 0 T n is given by a product formed by:
Looking Closely at the 0 T n Matrix For simplicity, we will redefine each of the of these transforms ( i-1 T i ) as A i Then, for a typical 3 DOF robot Arm, 0 T n = A 1 *A 2 *A 3 While for a full functioned 6 DOF robot (arm and wrist) would be: 0 T n = A 1 *A 2 *A 3 *A 4 *A 5 *A 6 ◦ A 1 to A 3 ‘explain’ the arm joint effect while A 4 to A 6 explain the wrist joint effects
Looking At The Frame To Frame Arrangements – Building A Modeling Basis When we move from one frame to another, we will encounter: ◦ Two translations (in a controlled sense) ◦ Two rotations (also in a controlled sense) A rotation and translation WRT the Z i-1 ◦ These are called the Joint Parameters A rotation and translation WRT the X i ◦ These are called the Link Parameters
A model of the Joint Parameters NOTE!!!
A model of the Link Parameters a i or
Talking Specifics: i is an angle measured about the Z i-1 axis from X i-1 to X i and is a variable for a revolute joint – fixed for a Prismatic Joint d i is a distance measured from the origin of Frame (i-1) to the intersection of Z i-1 and X i and is a variable for a prismatic joint – fixed for a Revolute Joint
Talking Specifics -- cont l i or a i is the Link length and measures the distance from the intersection of Z i-1 to the origin of Frame i measured along X i i is the Twist angle which measures the angle from Z i-1 to Z i as measured about X i Both of these parameters are fixed in value regardless of the joint type. ◦ Further note: Fixed does not mean zero degrees or zero length just that they don’t change
Very Important to note: Two Design Axioms prevail in this modeling approach ◦ Axiom DH 1 : The Axis X i must be designed to be perpendicular to Z i-1 ◦ Axiom DH 2 : The Axis X i must be designed to intersect Z i-1 Oh, so within reason we can design the coordinate frames (they are under our control!)
Returning to the 4 Frame parameters 1 st is which is an operation of pure rotation about Z or: 2 nd is d which is a translation along Z or:
Returning to the 4 Frame parameters 3 rd is a Translation Along X or: 4 th is which is a pure rotation about X or:
Overall Effect is:
Simplifying this Matrix:
So, Since We Can Control the Building of this Set Of Frames, What Are The Rules? We will employ a method called the Denavit- Hartenberg Method It is a Step-by-Step approach for modeling each of the frames from the initial or 0 frame all the way to the n frame This modeling technique makes each joint axis (either rotation or extension) the Z-axis of the appropriate frame (Z 0 to Z n-1 ). The Joint motion is taken WRT the Z i-1 axis of the frame pair making up the transformation matrix
The D-H Modeling Rules: 1) Locate & Label the Joint Axes: Z 0 to Z n-1 2) Establish the Base Frame. Set Base Origin anywhere on the Z 0 axis. Choose X 0 and Y 0 conveniently and to form a right hand frame. Repeat Steps 3 to 5 for i= 1 through n-1: 3) Locate the origin O i where the common normal to Z i-1 and Z i intersects Zi. If Z i intersects Z i-1 locate O i at this intersection. If Z i-1 and Z i are parallel, locate O i at Joint i+1
The D-H Modeling Rules: 4) Establish X i along the common normal between Z i-1 and Z i through O i, or in the direction Normal to the plane Z i-1 – Z i if these axes intersect 5) Establish Y i to form a right hand system 6) Establish the End-Effector (n) frame: O n X n Y n Z n. Assuming the n-th joint is revolute, set k n = a along the direction Z n-1. Establish the origin O n conveniently along Z n, at center of gripper or tool tip. Set j n = o in the direction of gripper closure (opening) and set i n = n such that n=o x a (A vector cross product.) Note if tool is not a simple gripper, set X n and Y n conveniently to form a right hand frame.
The D-H Modeling Rules: 7) Create a table of “Link” parameters: 1) i as angle about Z i-1 between X’s 2)d i as distance along Z i-1 3) i as angle about Xi between Z’s 4)l i as distance along Xi 8) Form HTM matrices A 1, A 2, … A n by substituting , d, and l into the general model 9) Form 0 T n = A 1 *A 2 *…*A n
Some Issues to remember: If you have parallel Z axes, the X axis of the second frame runs perpendicularly between them When working on a revolute joint, the model will be simpler if the two X directions are in alignment at “Kinematic Home” To achieve this kinematic home, rotate the model about moveable axes to align X’s Kinematic Home is not too critical for prismatic joints An ideal model will have n+1 frames However, additional frames may be necessary – these are considered ‘Dummy’ frames since they won’t contain joint Z axes
Applying D-H to a General Case: Case 1: Like a part of a biological arm Case 2: Like a part of a R-P manipulator
General Case: Considering Joint I in “Case 1” Connects Frames: i-1 and i We Build The L.P. (link parameter) Table FramesLinkVar dl S C S C i -1 to iiR + 37 17.5 u47.8 u17.8 S( + 37 )C( + 37 )
Leads to an A i Matrix:
Lindeke’s Folly – The “Plastic Handed” Robot
Leads to this Frame Skeleton
LP Table: FramesLinkVar dl S C S C 0 →11R 1 0S1C1 1 → 22R 22 600 01S2C2 2 → 33R 3 10S3C3 3 → 44P00 d 0 01S4C4 4 → n5R 55 1000 01S5C5
We enter MathCad to develop and then solve FKS
An Example from MathCad And so on for each of the 5 A i ’s – which we will report using typical robot short hand on the next slide!
Leading to 5 A i Matrices
Solving for FKS Here we have a special case – two of the Joints are a “planer arm” revolute set These are contained in the A 2 and A 3 Matrices These should be pre-multiplied using a trigonometric tool that recognizes any sum of angle cases Basically: T 0 n = A1*{A2 A3}*A4*A5
These 5 A Matrices will be developed into the Forward Kinematic Solution Step 1: Build and Simplify A 2 *A 3 the Simplified Product of these A2 and A3 Matrices: (This result is the "Parallel Arm" portion of the machine)
Continuing Then: The FKS then is formed by "Pre-Multiplying" this parallel arm part by A 1 (building the Arm solution) and then "Post-Multiplying" by the 'wrist' matrices A 4 *A 5 Which Leads to a rather large and “Un-handy” Matrix that is best simplified and displayed in a Table!
FKS (in Robot Short Hand and extracted & Simplified from MathCad) Matrix TermValue in Shorthand n x = R 11 -S1S5 + C23C1C5 n y = R 21 C1S5 + C23S1C5 n z = R 31 -S23C5 s x = o x = R 12 -S1C5 - C23C1S5 s y = o y = R 22 C1C5 - C23S1S5 s z = o z = R 23 S23S5 a x = R 13 S23C1 a y = R 23 S23S1 a z = R 33 C23 dx(5.25*S23 + 6*C2 + d 4 S23)C1+ 0.5*S1 dy(5.25*S23 + 6*C2 + d 4 S23)S *C1 dz( d 4 )C23 – 6*S2
Finalizing the FKS – perform a physical verification Physical verification means to plug known angles into the variables and compute the A i ’s and FKS against the Frame Skeleton Easily done in MathCad, by giving angular values to each of i ’s (1,2,3 & 5) of Zero radians or degrees and 0 units to d 4 And then Recopying 0 T 5 and simplifying mathematically
Physical Verification of Individual Ai’s
Finally we simply the FKS too!