Inverse 2
Inverse 2
Ahstract- The inverse kinematics for a robot manipulator with wrist singularities [3,4,5]. These robots are commonly used
offset wrist is formulated as a minimization problem in this in welding, painting and material handling. The equations in
paper to reduce its complexity and accelerate the computation inverse kinematics become highly nonlinear and variables
speed. A specific type of robot such as Yaskawa MA1400, which are coupled, which cannot be solved by analytical approach.
has an offset between the last two axes, is chosen for analysis. Algorithms based on iterations are usually taken to solve the
Given an initial guess angle of last joint, all the 6 joint angles
inverse kinematics problem. The classical way is to compute
can be easily found through analytical solution. The output
Jacobian matrix and use Newton-Raphson method to search
value is compared with the initial guess. An error function with
for the correct solution [6]. Raghavan and Roth transform
only one variable is then defined and Newton-Raphson method
the kinematics equations into a 16 degree polynomial using
is applied to search for the solution where the error goes to zero.
the half-angle tangent of joint variables and calculate the
To check the validity of the algorithm, forward kinematics is
first computed and the position and orientation of end-effector
solutions [7]. Z. Fu, W. Yang and Z. Yang apply the theory
are then applied in the inverse kinematics to solve the joint
of Geometric Algebra to the kinematic modeling of 6R robot
angles back. The computation converges within 5 iterations in
manipulators and generate closed-form kinematics equations,
cases when the angle 85 is far away from zero and the accuracy
reformulate as a generalized eigenvalue problem, and then
is within 10.
10
degree. When 85 approaches zero, searching
yield 16 solutions [8]. The above approaches involve
direction is slightly modified to achieve convergence for the complicated computations and may not be suitable in real
algorithm. The number of iterations increases for the same time applications. To increase computation efficiency, some
accuracy. The results show that the approach presented in this methods convert the inverse kinematics problem into an
paper greatly reduces the computation time and is suitable for equivalent minimization problem without using inverse
real time application. Jacobian matrix [9, 10]. Offset modification assumes zero
offset first such that closed-form solution can be obtained
Key words: inverse kinematics, offset wrist, minimization
and then apply iterative method to minimize the error [II].
I. INTRODUCTION In this paper, similar approach like offset modification is
proposed, but the unknown variable to minimize the error is
Inverse kinematics of robot manipulator is to find the further reduced to one dimension. It reduces the complexity
joint variables when the position and orientation of the end and convergence is achieved even when the robot
effector are given. It is essential to make the transformations configuration is close to singularity.
from the Cartesian space to joint space for trajectory
planning and motion control. For a general 6-00F robot, the II. KINEMATIC AND INVERSE KrNEMATIC MODELLING
equations of 6 variables are highly coupled such that the
The Yaskawa robot MA1400, as shown in figure I, is
problem to solve the inverse kinematics is very complicated
chosen for this research. This serial manipulator has six
and time-consuming to be implemented in the real
revolute joints with offset wrist between last two axes. A
applications. So most industrial robots are built such that
coordinate frame is assigned to each link based on
three adjacent joint axes are intersecting at a common point
Denavit-Hartenberg notation. The transformation matrix
or parallel to one another. This greatly reduces the
from frame i to i-I is given by
complexity by decoupling the system into 2 sets of equations
with 3 joint variables each. The position of wrist center is sin8i sinai
used to get the first three joint angles and the orientation of
the tool is taken to solve for the other three joint angles. It -cos8i sin ai
cosai
ensures that closed-form solutions can be obtained based on
Pieper's criterion [I]. o
The special wrist configuration described above is not Table I lists the O-H parameters for the robot in Figure I.
adequate for industrial applications. Some robots are built
with offset wrist to handle high pay loads and to get long TABLE I O-H PARAMETERS FOR ROBOT IN FIGURE I
horizontal reach and appropriate angle [2]. The double
Joint i ai ai di (Ji
universal joint (OUJ) wrist has been proposed to eliminate
Research supported by ITRI Foundation.
-n/2 a1 d1 fJ1
M.K. Wu is with the Southern Taiwan University of Science and 2 0 a2 0 fJ2
Technology, Tainan, Taiwan (corresponding author to provide phone 3 -n/2 a3 0 fJ3
886·6·2533131 ext. 3520; e·mai1:w2m@mai1.stust.edu.tw).
Y.S. Kung is with the Southern Taiwan University of Science and
4 n/2 0 d4 fJ4
Technology,Tainan,Taiwan (e·mail: kung@mai1.stust.edu.tw) 5 -n/2 as 0 fJs
Feng·Chi Lee and Wen·Chuan Chen are with Mechanical and System 6 0 0 d6 fJ6
Research Laboratories, Industrial Technology Research Institute,
Hsinchu,Taiwan
\
\
\
Equating elements (1,4), (2,4) and (3,4) of (3) yields
x, C1 (a1 +a2s2+a3s23 +d4C23) = qx-d6wx-aSC6Ux+aSs6Vx=Cx (4)
sl(a1 +a2s2+a3 s23 +d4C23) = qrd6wraSC6Uy+aSS6Vy=Cy (5)
f
X, d1 +a2c2+a3c23-d4s23 = qcd6wz-aSc6uz+aSs6vz=Cz (6)
I
[ ]
change the orientation. The position is shifted by be exactly the same as required, but the position of the wrist
center will deviate from the correct one by some distance. If
C1 (s 23 c4c S + c 23 sS) + S1S4CS the guess value 86 g can be made to be equal to 86 *, then 81 *
Offset = sl (s 23 c4cS + c 23 sS) -cls4c5 x as (2) to 86 * would be the solution for inverse kinematics.
c 23 c4cS -s 23 sS 111. ALGORITHM FOR INVERSE KINEMATICS
When last frame °A6 is given, solving the angles of joints Define two functions:
*
Inv_g(86g) = 86 (14a)
*
Error(86g) = Inv_g(86g) - 86g = 86 - 86g (14b)
The inverse kinematics problem is equivalent to find the
solution for the equation: Error(86g) = o. The advantage of
(14) is to convert a six to six function into an one to one
function. The computation would be greatly simplified and
convergence for iteration could be better controlled. To
check the properties of the function, Error(86g) is plotted in
Figure 2 to 11 for the following 10 cases:
(1) Arm and wrist are bending downwards, 8] =45.1 0,
Figure 6. Case 5 Figure 7. Case 6
82=23.6°, �=12.7°, 84�56.7°, 85=34.2°, 86=78.9°
:s
(2) Arm and wrist are bending upwards, 8]�7.8°, 82=78.3°,
� �::;v�I
83=-95.6°, 84=47.8°, 8s�27.8°, 86�123.4° -,
(3) Arm is downwards and wrist is upward, 8)=45.1 0,
3
82=23.6°, 83=12.7°, 84�56.7°,85=-27.8°,86=78.9°
(4) Arm is upwards and wrist is downward, 8]=-67.8°, §
,�
..,.
L-
82=78.3°, ��95.6°, 84=47.8°, 85=34.2°, 86�123.4°
(5) Arm and wrist are bending downwards but 85 is small, "�
,,..
..., • .;.;., lWoD J4t '" ,;,
...
�
aai;l, m
If I Error(86g2)1 < I Error(86g1) 1 => Figure 12(a). Errors Figure 12(b). No. of iterations
e6g1 - 86g2 ' Error(86g1) - Error(e6g2) (l.2) 84 is replaced by a rotation from -179° to 179°.
Else
If Error(86g3) x Error(86g2) < 0 =>
�:.�
Step 6 : Go to Step 3 ,
"
It can be seen from case 6 and 7 that there are two
solutions in either case. Initial guess must be carefully .I,;.,.a '[WI --.it..!! g.e ..aa ltiul 1VJ..a �
-
chosen to prevent from falling into a solution which is not
expected. Since wrist offset is usually small, one way for Figure l3(a). Errors Figure l3(b). No. of iterations
initial guess is to assume as=Omm and solve inverse (l.3) 86 is replaced by a rotation from -179° to 179°.
kinematics analytically. Take 86 of this solution for initial Ill,
guess. The other way is to choose a point which is known to
be near the correct solution. For example, the end-effector of
robot manipulator is planned to move from point PO to Pn
following a trajectory. The joint angles of PO and Pn are
known values since they must be specified by the user first.
If the trajectory is divided into n sections, PI, P2 ... Pi ... Pn-I
are intermediate points sequentially. To find the joint angles
for Pi, initial guess can be obtained from Pi-I.
IV . SlMULAT10NS AND RESULTS
Figure 14(a). Errors Figure 14(b). No. of iterations
Forward and inverse kinematics described above are
verified for Yaskawa robot MA1400. Its O-H parameters are (2) Arm and wrist are bending upwards, 81=-67.8°, �=78.3°,
listed below: al = 150mm ' d1 = 555mm ' a2 = 760mm ' ��95.6°, 84=47.8°, 85=-27.8°, 86�123.4°. Initial
a3 = 220mm ' d4 = 870mm ' as = 45mm ' d6 = 185mm. Joint guess of 86g is obtained by assuming as=Omm.
angles (8j, 8b 83, 84, 85, 86) are first substituted in forward (2.1) 81 is replaced by a rotation from -179° to 179°.
kinematics to compute the position and orientation of
converges to an unexpected solution when ()s is about
"J
" between _3° and 0°. This indicates that selection of initial
condition is important. When there is more than one solution,
it may lead to the wrong one. Now assume that initial guess
is close to the correct solution. Let ()6g=()6+1° and run the
program again. Results are shown in figure 19.
. ..;
�
-
"'
''''
n,
Figure 15(a). Errors Figure 15(b). No. of iterations �
""
(2.2) ()4 is replaced by a rotation from -179° to 179°. �1
.."
£JrQftll09� '"
'"
�"
...
S----iP.'
,.�-
�J,.r,lmo . 'U - !IIIJI .:n.,o ::. lU � >u tm.o UUI
::r-- - --"-_£.
4>'
...
..
.,.;
..
... ,
..
..
1'IOtI -JOU 100 0.0 \00 1000 I""
....
Figure 17(a). Errors Figure 17(b). No. of iterations
Figure 20(a). Error(()6g) (b). Error(()6g) in detail
Above results indicate that no matter when the arm or
wrist are bending upwards or downwards,computations end It shows that there are four solutions in this situation. Two of
10 them are very close to each other. They are only 3° apart.
within 5 iterations with accuracies better than 10. degree.
The algorithm is fast and accurate enough to be implemented Maximum error in figure 19 is about 0.6°. It indicates that
in real time. inverse kinematics converges to the correct solution but it is
The following case will show the condition when wrist is not accurate enough. Therefore,initial guess of ()6g should be
bending from upwards to downwards, which goes across correctly taken and solution from inverse kinematics must be
wrist singularity which occurs when wrist offset does not carefully checked when ()s is small.
exist. Let ()j=45.1°, ()2=23.6°, ()3=12.7°, ()4�56.7°, ()6=78.9°,
and ()s rotates from -120° to 120°. Initial guess of ()6g is V. CONCLUSION
obtained by assuming as=Omm. Results are shown in figure An algorithm to solve the inverse kinematics is presented
18. in this paper for a 6-axes robot with wrist offset. It converts
a set of equations with 6 degrees of freedom to a nonlinear
function with only one variable. The algorithm does not use
Jacobian matrix. So the computation speed can be greatly
improved and convergence can be better controlled. When
10
wrist angle is away from 0°, accuracy within 10. degree
'"
can be achieved in 5 iterations. When wrist angle is close to
."
�,
0°, there might be multiple solutions. The numbers of
...
" iterations increase for the allowed tolerance. Correct initial
:! .r----r<L-......_.r-- guess should be taken and solution must be carefully
0.0 . . , . ,
l�_LOOmDG�tlCIDCJ:) ut.e-IDQ.tIJ$.O
-1O.D.J'!o.D 0.0 lU � n.DIDGOtlU
.... lO.Cioo:Ilr:nCo:Dl ....
checked for inverse kinematics.
Figure 18(a). Errors Figure 18(b). No. of iterations
It can be found in the figure that the inverse kinematics
ACKNOWLEDGMENT