Robot Inverse Kinematics - Faculty of...

14
PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics & Control Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering Asanga Ratnaweera, Department of Mechanical Engineering 2 The Inverse Kinematics The determination of all possible and feasible sets of joint variables, which would achieve the specified position and orientation of the manipulator’s end-effector with respect to the base frame. In practice, a robot manipulator control requires knowledge of the endeffector position and orientation for the instantaneous location of each joint as well as knowledge of the joint displacements required to place the end- effector in a new location.

Transcript of Robot Inverse Kinematics - Faculty of...

Page 1: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

1

PR 502: Robot Dynamics & Control

Robot Inverse Kinematics

Asanga RatnaweeraDepartment of Mechanical Engieering

Asanga Ratnaweera, Department of Mechanical Engineering

2

The Inverse KinematicsThe determination of all possible and feasible sets of joint variables, which would achieve the specified position and orientation of the manipulator’s end-effector with respect to the base frame.In practice, a robot manipulator control requires knowledge of the endeffector position and orientation for the instantaneous location of each joint as well as knowledge of the joint displacements required to place the end-effector in a new location.

Page 2: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

2

Asanga Ratnaweera, Department of Mechanical Engineering

3

Solvability of Inverse Kinematic ModelInverse Kinematics is complex because the solution is to be found for nonlinear simultaneous equations:

Involves harmonic functions (sine and cosine)Number of equations are generally more than the number of unknowns

Therefore, some equations are mutually dependent

These lead to the possibility of multiple solutions or nonexistence of any solution for a given end-effector position and orientation.

Asanga Ratnaweera, Department of Mechanical Engineering

4

Existence of the solution The conditions for existence of solutions to the inverse kinematic problem are :

The desired point should lie inside the (restricted) work-envelopThe wrist should be a 3-DOF joint in order to realize all the possible orientations.

Consider the general form of kinematics model for a robot manipulator:

=

1000rrrrrrrrrrrr

T34332331

24232221

14131211

n0

Page 3: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

3

Asanga Ratnaweera, Department of Mechanical Engineering

5

Existence of the solutionThis can yield maximum of 12 equations

9 equations arise from rotational matrix (3x3)3 equations arise from the displacement vector

Out of 9 equations from rotational matrix involves only three unknowns corresponding to the orientation of the end effector

Three Euler angles or RPY anglesTherefore, there exists only six independent constraints in n unknownsThus, in order for a manipulator to have all the possible solutions

The number of DOF n should be less than or equal to 6 necessary condition for the existence of a solution

Asanga Ratnaweera, Department of Mechanical Engineering

6

Existence of the solutionIn addition to these 6 independent constraint equations, the tool position and orientation must be such that the limits on the joint motions are not violated.

Page 4: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

4

Asanga Ratnaweera, Department of Mechanical Engineering

7

Existence of the solutionFor manipulators with less than or more than 6 DOF, the solutions are more complex:

When DOF are less than 6, it cannot attain the general goal position and orientation in 3D space- mathematically over-determined. When DOF are more than 6, mathematically under-determined, so that all the unknowns cannot be found.

Asanga Ratnaweera, Department of Mechanical Engineering

8

Multiple SolutionsMultiple solutions can arise:

If more than two joint axes are parallel.

If trigonometric functions are existed in the equations. Ex: sinθ = sine(2π+ θ)

Page 5: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

5

Asanga Ratnaweera, Department of Mechanical Engineering

9

Multiple SolutionsMultiple solutions depends on:

Number of non-zero joint link parameters.In General number of ways to reach a certain goal is directly related to the number of non-zero link parameters.

Number of degree of freedom.Manipulator with more than 6 DOF may have infinitely many solutions.

Asanga Ratnaweera, Department of Mechanical Engineering

10

Solution techniquesThere are two approaches to solve inverse kinematics equations

Closed form solutionNumerical solution

Page 6: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

6

Asanga Ratnaweera, Department of Mechanical Engineering

11

Closed form solutionGeneral guideline

1. Solve equations involving only one joint variables first.

2. Look for pairs or set of equations, which could be reduced to one equation in one joint variable by application of algebraic and trigonometrically identities.

3. Use tan-12 functions instead of cos-1 and sin-1

4. Solution is terms of elements of the position vector components are more efficient.

tan-12 function returns the accurate angle in the range of –π and π by eliminating the sign of both y and x and detecting whether either x or y is non zero.

Asanga Ratnaweera, Department of Mechanical Engineering

12

Closed form solutionGeneral guideline5. Consider the general form of the kinematics equation:

Each i-1Ti is a function of only one joint variable, qi.Therefore, pre-multiplying both sides by the inverse:

Thus the matrix elements of the right hand side are, zero, constant, or function of the joint variable q1.

TT.........TTTT n1n

43

211

0n

0 == −

[ ] TTT.........TTT 1

10

n1n

43

21

n1 −− ==

Page 7: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

7

Asanga Ratnaweera, Department of Mechanical Engineering

13

Ex: three axis robot

L2

L3

Asanga Ratnaweera, Department of Mechanical Engineering

14

Ex: three axis robot

+++

===

1000SLSL0CS

)CLCL(SC-SS-CS)CLCL(C-SS-CCC

TTTTT222332323

2223311231231

2223311231231

32

211

03

0

S23 = sin (θ2+ θ3)

Page 8: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

8

Asanga Ratnaweera, Department of Mechanical Engineering

15

Ex: three axis robotConsider the 3 DOF manipulator

==

1000rrrrrrrrrrrr

TT34332331

24232221

14131211

n0

The kinematric equation can be obtained using DH method:

+++

==

1000SLSL0CS

)CLCL(SC-SS-CS)CLCL(C-SS-CCC

TT222332323

2223311231231

2223311231231

n0

Asanga Ratnaweera, Department of Mechanical Engineering

16

Ex: three axis robotTherefore,

Thus, 11 non trivial equations for three unknowns θ1, θ2, θ3

=

+++

1000rrrrrrrrrrrr

1000SLSL0CS

)CLCL(SC-SS-CS)CLCL(C-SS-CCC

34332331

24232221

14131211

222332323

2223311231231

2223311231231

Page 9: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

9

Asanga Ratnaweera, Department of Mechanical Engineering

17

Ex: three axis robotFrom step 1, θ1 can be found from the element 3 of the row 1.

-sin θ1 = r13

This is not preferred as a correct quadrant of the angle cannot be found. (step 3)Alternatively applying step 2, θ1 can be isolated by dividing elements 4 of the row 1 and row 2.

24222331

14222331

r)CLCL(Sr)CLCL(C

=+=+

θ1 = tan-1 (r24/r14)

Asanga Ratnaweera, Department of Mechanical Engineering

18

Ex: three axis robotThe other two unknowns cannot be obtained directly:

Therefore applying step 5 in the guidelines and post multiplying by the inverse of 2T3:

[ ] 132

43

21 TTTT −=

=

10000100SL0CSCL0-SC

T 3333

3333

32 [ ]

=−

1000010000CS--L0SC

T 33

333

1

32

Page 10: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

10

Asanga Ratnaweera, Department of Mechanical Engineering

19

Ex: three axis robot

Only function of θ2Considering the elements of the position vector

Asanga Ratnaweera, Department of Mechanical Engineering

20

Ex: three axis robot

Page 11: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

11

Asanga Ratnaweera, Department of Mechanical Engineering

21

Example: 3 DOF Spherical Robot

The position and the orientation of the end-effector of the robot manipulator shown below is given by T. Determine all the values of joint variables of the robot manipulator.

The joint displacements allowed are: -1000<θ1< 1000; -30<θ2<700; 0.05m <d3<0.5m

=

10000.2120.70700.7070.184-0.612-0.5000.612-0.1060.3540.8660.354

T

Asanga Ratnaweera, Department of Mechanical Engineering

22

Example: 3 DOF Spherical Robot

Coordinate frames

Page 12: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

12

Asanga Ratnaweera, Department of Mechanical Engineering

23

Example: 3 DOF Spherical RobotDH Parameter table

Joint transformation matrices

Asanga Ratnaweera, Department of Mechanical Engineering

24

Example: 3 DOF Spherical Robot

=

10000.2120.70700.7070.184-0.612-0.5000.612-0.1060.3540.8660.354

T

Overall transformation matrix

Therefore,

End-effector position and orientation

Page 13: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

13

Asanga Ratnaweera, Department of Mechanical Engineering

25

Example: 3 DOF Spherical Robot

106.0213 =− SCd

184.0213 −=− SSd

212.023 =Cd

−=

106.0184.0tan 1θ

(1)

(2)

(3)

(2)/(1)

√[(1) 2 + (2) 2]/(3)

+±=

212.0106.0184.0tan

22

√[(1) 2 + (2) 2+ (3) 2] 2223 212.0106.0184.0 ++=d

Equating the elements of the 4th column

Asanga Ratnaweera, Department of Mechanical Engineering

26

Example: 4 DOF RPPR Robot

The joint-link transformation matrices for a 4 DOF RPPR manipulator is shown in the next slide. If the tool configuration matrix at a given instant is as shown below. Determine the joint variables.

Page 14: Robot Inverse Kinematics - Faculty of Engineeringeng.pdn.ac.lk/old/mechanical/menu/class/downloads/notes/IK.pdf · PR 502 Robot Dynamics & Control 2/28/2007 1 PR 502: Robot Dynamics

PR 502 Robot Dynamics & Control 2/28/2007

14

Asanga Ratnaweera, Department of Mechanical Engineering

27

Example: 4 DOF RPPR RobotJoint transformation matrices