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.
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
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.
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π+ θ)
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
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 −− ==
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)
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
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
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
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
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
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
2θ
√[(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.
PR 502 Robot Dynamics & Control 2/28/2007
14
Asanga Ratnaweera, Department of Mechanical Engineering
27
Example: 4 DOF RPPR RobotJoint transformation matrices