1 / 54

# Robotic Kinematics the Inverse Kinematic Solution - PowerPoint PPT Presentation

Robotic Kinematics – the Inverse Kinematic Solution. ME 3230 Kinematics and Mechatronics Dr. R. Lindeke. Cartesian Space. Joint Space. Joint Space. FKS vs. IKS. In FKS we built a tool for finding end frame geometry from Given Joint data:

Related searches for Robotic Kinematics the Inverse Kinematic Solution

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Robotic Kinematics the Inverse Kinematic Solution' - rusti

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Robotic Kinematics – the Inverse Kinematic Solution

ME 3230

Kinematics and Mechatronics

Dr. R. Lindeke

ME 3230

Joint Space

Joint Space

FKS vs. IKS

• In FKS we built a tool for finding end frame geometry from Given Joint data:

• In IKS we need Joint models from given End Point Geometry:

Cartesian Space

ME 3230

So this IKS Problem is Nasty (in Mathematics this is considered a Hard Modeling Issue)

• It a more difficult problem because:

• The Equation set is “Over-Specified”:

• 12 equations in 6 unknowns

• Space can be “Under-Specified”:

• Planer devices with more joints than 2

• The Solution set can contain Redundancies:

• Multiple solutions

• The Solution Sets may be un-defined:

• Unreachable in 1 or many joints

ME 3230

• Building Workspace Maps

• Allow “Off-Line Programming” solutions

• The IKS allows the engineer to equate Workspace capabilities with Programming realities to assure that execution is feasible(as done in ROBCAD & IGRIP)

• The IKS Aids in Workplace Design and Operational Simulations

ME 3230

Doing a Pure IKS solution: the R Manipulator

R Frame Skeleton (as DH Suggest!)

Same Origin Point!

ME 3230

ME 3230

ME 3230

In the Inverse Problem, The RHS MATRIX is completely known (perhaps from a robot mapped solution)! And we use these values to find a solution to the joint equations that populate the LHS MATRIX

ME 3230

If 2 Matrices are Equal then EACH and EVERY term is also Uniquely equal as well!

Forming The IKS:

• Examining these two matrices

• n, o, a and d are “givens” in the inverse sense!!!

• (But typically we want to build general models leaving these terms unspecified)

• Term (1, 4) & (2,4) on both sides allow us to find an equation for :

• (1,4): C1*(d2+cl2) = dx

• (2,4): S1*(d2+cl2) = dy

• Form a ratio to build Tan():

• S1/C1 = dy/ dx

• Tan  = dy/dx

•  = Atan2(dx, dy)

• ME 3230

Forming The IKS: Uniquely equal as well!

• After  is found, back substitute and solve for d2:

• (1,4): C1*(d2+cl2) = dx

• Isolating d2: d2 = [dx/Cos1] - cl2

ME 3230

Alternative Method – Uniquely equal as well!“doing a pure inverse approach”

• Form A1-1 then pre-multiply both side by this ‘inverse’

• Leads to: A2 = A1-1*T0ngiven

ME 3230

Simplifying & Solving: Uniquely equal as well!

• Selecting and Equating (1,4)

• 0 = -S1*dx + C1*dy

• Solving: S1*dx = C1*dy

• Tan() = (S1/C1) = (dy/dx)

•  = Atan2(dx, dy) – the same as before

• Selecting and Equating (3,4) -- after back substituting  solution

• d2 + cl2 = C1*dx + S1*dy

• d2 = C1*dx + S1*dy - cl2

• ME 3230

Performing IKS For Industrial Robots: Uniquely equal as well!(a more involved problem)

• First let’s consider the concept of the Spherical Wrist Simplification:

• All Wrist joint Z’s intersect at a point

• The ‘n Frame’ is offset from this Z’s intersection point at a distance dn (the hand span) along the a vector of the desired solution (3rd column of desired orientation sub-matrix!) which is the z direction of the 3rd wrist joint

• This follows the DH Algorithm design tools as we have learned them!

ME 3230

Performing IKS Uniquely equal as well!– with a Spherical Wrist

• We can now separate the POSE effects:

• ARM joints

• Joints 1 to 3 in a full function manipulator (without redundant joints)

• They function to maneuver the spherical wrist to a target POSITIONrelated to the desired target POSE

• WRIST Joints

• Joints 4 to 6 in a full functioning spherical wrist

• Wrist Joints function as a primary tool to ORIENT the end frame as required by the desired target POSE

ME 3230

Performing IKS: Uniquely equal as well!Focus on Positioning

• We will define a point (called the WRIST CENTER) where all 3 z’s intersect as:

• Pc = [Px, Py, Pz]

• We find that this position is exactly: Pc = dtarget - dn*a

• Px = dtarget,x - dn*ax

• Py = dtarget,y - dn*ay

• Pz = dtarget,z - dn*az

Note: dn is the so called ‘Handspan’ (a CONSTANT)

ME 3230

Treating the Arm Types (as separate robot entities): Uniquely equal as well!

• Cartesian (2 types)

• Cantilevered

• Gantry

• Cylindrical

• Spherical (w/o d2 offset)

• 2 Link Articulating (w/o d2 offset)

• ME 3230

Cantilevered Cartesian Robot Uniquely equal as well!

J2

J3

X0

P-P-P Configuration

Y0

Z0

J1

ME 3230

Gantry Cartesian Robot Uniquely equal as well!

P-P-P Configuration

X0

Z0

Y0

J3

J2

J1

ME 3230

Cylindrical Robot Uniquely equal as well!

• Doing IKS – given a value for:

• X, Y and Z of End

• Compute , Z and R

Z0

R

Y0

X0

ME 3230

Spherical Robot Uniquely equal as well!

• Developing a IKS (model):

• Given Xe, Ye, & Ze

• Compute ,  & R

R

Z0

Y0

X0

ME 3230

2-Link Articulating Arm Manipulator Uniquely equal as well!

Z0

3

L2

L1

X0

Y0

2

1

ME 3230

Focusing on the ARM Manipulators Uniquely equal as well!in terms of Pc:

• Prismatic:

• q1 = d1= Pz (its along Z0!) – cl1

• q2 = d2 = Px or Py - cl2

• q3 = d3= Py or Px - cl3

• Cylindrical:

• 1 = Atan2(Px, Py)

• d2 = Pz – cl2

• d3 = Px/C1 – cl3 {or +(Px2 + Py2).5 – cl3}

• ME 3230

Focusing on the ARM Manipulators Uniquely equal as well!in terms of Pc:

• Spherical:

• 1 = Atan2(Px, Py)

• 2 = Atan2( (Px2 + Py2).5 , Pz)

• D3 = (Px2 + Py2 + Pz2).5 – cl3

ME 3230

Focusing on the ARM Manipulators Uniquely equal as well!in terms of Pc:

• Articulating:

• 1 = Atan2(Px, Py)

• 3 = Atan2(D, (1 – D2).5)

• Where D =

• 2 =  - 

•  is: Atan2((Px2 + Py2).5, Pz)

•  is:

ME 3230

Focusing on the ARM Manipulators Uniquely equal as well! in terms of Pc:

• 2 = Where D =

Atan2((Px2 + Py2).5, Pz) -

ME 3230

One Further Complication Must Be Considered: Uniquely equal as well!

• This is called the d2 offset problem

• A d2 offset is a problem that states that the nth frame has a non-zero offset along the Y0 axis as observed in the solution of the T0n with all joints at home

• (like the 5 dof articulating robots in our lab!)

• This leads to two solutions for 1 the So-Called “Shoulder Left” and “Shoulder Right” solutions

• ME 3230

Defining the d Uniquely equal as well!2 Offset issue

Here: ‘The ARM’ might contain a prismatic joint (as in the Stanford Arm – discussed in text) or it might be the a2 & a3 links in an Articulating Arm as it rotates out of plane

A d2 offset means that there are two places where 1 can be placed to touch a given point (and note, when 1is at Home, the wrist center is not on the X0 axis!)

ME 3230

Lets look at this Device “From the Top” – a ‘plan’ view of the structure projected to the X0 Y0 plane

F1

11

ME 3230

Solving For view of the structure projected to the X1:

• We will have a Choice of two poses for 1:

ME 3230

This device (like the S110 robots in lab) is called a “Hard Arm” Solution

• We have two 1’s

• These lead to two 2’s (Spherical)

• One for Shoulder Right & one for Shoulder Left

• Or four 2’s and 3’s in the Articulating Arm:

• Shoulder Right  Elbow Up & Down

• Shoulder Left  Elbow Up & Down

• ME 3230

Now, lets look at Orientation IKS’s “Hard Arm” Solution

• Orientation IKS again relies on separation of joint effects

• We (now) know the first 3 joints control positions

• they would have been solved by using the appropriate set of equations developed above

• The last three (wrist joints) will control the achievement of our desired Orientation

• ME 3230

• This ‘model’ separates Arm Joint and Wrist Joint Contribution to the desired Target Orientation

• Note: target orientation is a ‘given’ for the IKS model!

ME 3230

Focusing on Orientation Issues is Given by:

• Lets begin by considering ‘Euler Angles’ (they are a model that is almost identical to a full functioning Spherical Wrist as defined using the D-H algorithm!):

• Step 1, Form a Product:

• Rz1*Ry2*Rz3

• This product becomesR36 in the model on the previous slide

ME 3230

Euler Wrist Simplified: is Given by:

this matrix, which contains the joint control angles, is then set equal to a ‘U matrix’ prepared by multiplying the inverse of the ARM joint orientation sub-matrices and the Desired (given) target orientation sub-matrix:

NOTE: R03 is Manipulator dependent! (Inverse required a Transpose)

ME 3230

Continuing: to define the U-Matrix is Given by:

Rij are terms from the product of the first 3 Ai’s (rotational sub-matrix)

ni, oi & ai are from given target orientation

– we develop our models in a general way to allow computation of specific angles for specific cases

ME 3230

Now Set: is Given by:LHS (euler angles) = RHS (U-Matrix)

U as defined on the previous slide! (a function of arm-joint POSE and Desired End-Orientation)

ME 3230

Solving for Individual Orientation Angles (1 is Given by:st solve for ‘’ the middle one):

• Selecting (3,3) C= U33

• With C we “know” S = (1 - C2).5

• Hence:  = Atan2(U33, (1-U332).5)

• NOTE: leads to 2 solutions for !

ME 3230

Re-examining the Matrices: is Given by:

• To solve for : Select terms: (1,3) & (2,3)

• CS = U13

• SS = U23

• Dividing the 2nd by the 1st: S /C = U23/U13

• Tan() = U23/U13

•  = Atan2(U13, U23)

ME 3230

Continuing our Solution: is Given by:

• To solve for : Select terms: (3,1) & (3,2)

• -SC = U31

• SS = U32 (and dividing this by previous)

• Tan() = U32/-U31 (note sign migrates with term!)

•  = Atan2(-U31, U32)

ME 3230

Summarizing: is Given by:

•  = Atan2(U33, (1-U332).5)

•  = Atan2(U13, U23)

•  = Atan2(-U31, U32)

Uij’s as defined on the earlier slide!

– and –

U is manipulator and desired orientation dependent

ME 3230

Let consider a Spherical Wrist: is Given by:

Same Origin Point

Here drawn in ‘Good Kinematic Home’ – for attachment to an Articulating Arm

ME 3230

IKSing the Spherical Wrist is Given by:

ME 3230

Writing The Solution: is Given by:

Uij’s as defined on the earlier slide!

– and –

U is manipulator and desired orientation dependent

ME 3230

Let’s Solve is Given by:(here I try the ‘Pure Inverse’ Technique):

Note: R4’s Inverse

ME 3230

Simplifying is Given by:

ME 3230

Solving: is Given by:

• Let’s select Term(3,3) on both sides:

• 0 = C4U23 – S4U13

• S4U13 = C4U23

• Tan(4) = S4/C4 = U23/U13

• 4 = Atan2(U13, U23)

• With the givens and back-substituted values (from the arm joints) we have a value for 4 andthe RHS is completely known!

• ME 3230

Solving for is Given by:5 & 6

• For 5: Select (1,3) & (2,3) terms

• S5 = C4U13 + S4U23

• C5 = U33

• Tan(5) = S5/C5 = (C4U13 + S4U23)/U33

• 5 = Atan2(U33, C4U13 + S4U23)

• For 6: Select (3,1) & (3, 2) terms

• S6 = C4U21 – S4U11

• C6 = C4U22 – S4U12

• Tan(6) = S6/C6 = ([C4U21 – S4U11]/[C4U22 – S4U12])

• 6 = Atan2 ([C4U22 – S4U12], [C4U21 – S4U11])

• ME 3230

Using the Pure Inversing: is Given by:

• We removed ambiguity from the solution

• We were able to solve for joints “In Order”

• Without noting – we see the obvious relationship between Spherical wrist and Euler Orientation!

ME 3230

Summarizing: is Given by:

• 4 = Atan2(U13, U23)

• 5 = Atan2(U33, C4U13 + S4U23)

• 6 = Atan2 ([C4U22 – S4U12], [C4U21 – S4U11])

ME 3230

Lets Try One: is Given by:

• Cylindrical Robot w/ Spherical Wrist

• Given would be a Target matrix from Robot Mapping! (it’s an IKS after all!)

• The d3 “constant” is 400mm; the d6 offset (the ‘Hand Span’) is 150 mm.

• 1 = Atan2((dx – ax*150),(dy-ay*150))

• d2 = (dz – az*150)

• d3 = ((dx – ax*150)2+p(dy-ay*150)2).5 - 400

ME 3230

The Frame Skeleton: is Given by:

Note “Dummy” Frame to account for Orientation problem with Spherical Wrist – might not be needed if we had set wrist kinematic home for Cylindrical Machine!

ME 3230

Solving for U: is Given by:

NOTE: We needed a “Dummy Frame” to account for the Orientation issue at the end of the Arm (as drawn) – this becomes a “part” of the arm space – not the wrist space!

ME 3230

Simplifying: is Given by:

ME 3230

Subbing U is Given by:ij’s Into Spherical Wrist Joint Models:

• 4 = Atan2(U13, U23)= Atan2((C1ax + S1az), ay)

• 5 = Atan2(U33, C4U13 + S4U23)= Atan2{ (S1ax-C1az) , [C4(C1ax+S1az) + S4*ay]}

• 6 = Atan2 ([C4U21 - S4U11], [C4U22 - S4U12]) = Atan2{[C4*ny - S4(C1nx+S1nz)], [C4*oy - S4(C1ox+S1oz)]}

ME 3230