Sei sulla pagina 1di 4

Forward Kinematics Analysis Using KUKA KR Agilus Robot

Denis A. Tatarnikov1,a

1
National Research Tomsk Polytechnic University (TPU), 30 Lenin Ave., Tomsk, 634050, Russia
a
den2276@yandex.ru

Keywords: forward kinematics; KUKA KR Agilus; robotic manipulator; analysis; modeling.

Abstract. This paper is devoted to the forward kinematics analysis of industrial KUKA robot of KR Agilus series. The
objective of forward kinematics is to calculate the position and orientation of the robot end-effector, the last link in the
kinematic chain, in terms of given joint angles. The kinematics analysis is obtained and comparison between simulation
and experimental results is done. Experiment results verify the effectiveness of the calculations presented in this paper.

Introduction
Nowadays any kind of modern production use more and more automatic solutions to achieve
new goals. That is why automatic systems use in most cases different robot manipulators. They are
very complex and integrate many sensors and effectors, have many degrees-of-freedom and requires
operator interfaces and different programming tools.
It is very important to analyse the kinematics and to plan the trajectory of the robot from its
design to experiment. The kinematic problems, however, are very complex with difficult computing
due to the multidegree-of–freedom and multilink space mechanisms of the robot. The capabilities of
early robotic manipulators were limited by the servo-control of separate joint axes. The modern
industrial robotic systems, on the other hand, should implement the task-level control that simplifies
the manufacturing task definition for the end users [1]. There are different kinds of robotic
manipulators; one of them is the KUKA KR Agilus.

Figure 1. KUKA KR Agilus

Denavit-Harbenterg (DH) notation


Any robot manipulator can be described kinematically by giving the values of four quantities
for each link of robot joint: link twist – α, joint angle – θ, link length – a, link offset – d. Two describe
the link itself, and two describe the link's connection to a neighboring link. The definition of
mechanisms by means of these quantities is a convention usually called the Denavit—Hartenberg
notation [2].
D-H parameters for KUKA KR Agilus is shown in Table 1. All the ai and di values can be
found from the robot specification [3].

Table 1. D-H parameters


Link θi αi ai di
1 θ1 90 a1 d1
2 θ2 0 a2 0
3 θ3-90 90 a3 0
4 θ4 -90 0 d4
5 θ5 90 0 0
6 θ6+180 0 0 d6

Forward kinematics calculations

The forward kinematics is the process that calculates the position and orientation of the end-
effector (EE), the last link in the kinematic chain, in terms of given joint angles. This set of equations
is generated by using the D-H parameters obtained from the link assignation.
D-H notation corresponds to four operations – two rotations and two translations – that are
sufficient to compute a transformation matrix that transforms from frame Ki-1 to frame Ki within a
robot kinematic link chain.
𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡(𝑧, 𝜃𝑖 )𝑇𝑟𝑎𝑛𝑠(0,0, 𝑑𝑖 )𝑇𝑟𝑎𝑛𝑠(𝑎𝑖 , 0,0)𝑅𝑜𝑡(𝑥, 𝛼𝑖 )
cos 𝜃𝑖 − sin 𝜃𝑖 cos 𝛼𝑖 sin 𝜃𝑖 sin 𝛼𝑖 𝑎𝑖 cos 𝜃𝑖
sin 𝜃𝑖 cos 𝜃𝑖 cos 𝛼𝑖 − cos 𝜃𝑖 sin 𝛼𝑖 𝑎𝑖 sin 𝜃𝑖
=[ ]
0 sin 𝛼𝑖 cos 𝛼𝑖 𝑑𝑖
0 0 0 1
Therefore, in general for a series of N kinematic links, the overall transformation between the
first frame K0, the base of the first kinematic link, and the last KN, the end-effector, would be a matrix
multiplication of all the D-H transformation matrices:
𝑙𝑥 𝑚𝑥 𝑛𝑥 𝑝𝑥
𝑙 𝑦 𝑚𝑦 𝑛𝑦 𝑝𝑦 ⃗ ⃗⃗⃗ 𝑛⃗⃗ 𝑝⃗ 𝑹 𝑝⃗
0 0 1
𝑁𝑇 = 1𝑇 2𝑇 ⋯
𝑁−1
𝑁𝑇 = [ ] = [𝑙 𝑚 ]=[ 𝑇 ]
𝑙𝑧 𝑚𝑧 𝑛𝑧 𝑝𝑧 0 0 0 1 ⃗⃗
0 1
0 0 0 1
where R - corresponds to a 3x3 matrix, representing rotation; 𝑝⃗ - corresponds to a 3x1 matrix (vector)
that represents translation.
Thus, for a 6-DOF robot as KUKA KR Agilus, the overall robot transform would be:
𝑙𝑥 𝑚𝑥 𝑛𝑥 𝑝𝑥
0 0 1 2 3 4 5 𝑙𝑦 𝑚𝑦 𝑛𝑦 𝑝𝑦
6𝑇 = 1𝑇 2𝑇 3𝑇 4𝑇 5𝑇 6𝑇 = [ ]
𝑙𝑧 𝑚𝑧 𝑛𝑧 𝑝𝑧
0 0 0 1
This overall transformation will described the position of robot tool flange in Cartesian relative
to world coordinate frame, which generally is located in the robot root (base).
If robot have tool or different base, world coordinates do not match the robot root, it will require
multiplying transformation matrix 06𝑇 to tool matrix and/or base matrix.
Transformation matrices for the robot are the following:
cos 𝜃1 0 −sin 𝜃1 𝑎1 cos 𝜃1
0 sin 𝜃1 0 cos 𝜃𝑖 𝑎1 sin 𝜃1
1𝑇 = [ ]
0 −1 0 𝑑1
0 0 0 1
cos 𝜃2 − sin 𝜃2 0 𝑎2 cos 𝜃2
1 sin 𝜃2 cos 𝜃2 0 𝑎2 sin 𝜃2
2𝑇 = [ ]
0 0 1 0
0 0 0 1
cos 𝜃3 0 − sin 𝜃3 𝑎3 cos 𝜃3
2 sin 𝜃3 0 cos 𝜃3 𝑎3 sin 𝜃3
3𝑇 = [ ]
0 −1 0 0
0 0 0 1
cos 𝜃4 0 sin 𝜃4 0
3 sin 𝜃4 0 − cos 𝜃𝑖 0
4𝑇 = [ ]
0 1 0 𝑑4
0 0 0 1
cos 𝜃5 0 − sin 𝜃5 0
4 sin 𝜃5 0 cos 𝜃5 0
5𝑇 = [ ]
0 −1 0 0
0 0 0 1
cos 𝜃6 − sin 𝜃6 0 0
5 sin 𝜃6 cos 𝜃6 0 0
6𝑇 = [ ]
0 0 1 𝑑6
0 0 0 1
Each of joint angles must be multiplied by ‘-1’, the third angle must have 90° subtracted from
it and the sixth angle must have 180° added to it before the multiplication according to D-H
parameters (Table 1).
Calculating overall transformation matrix you will get the following results:
𝑙𝑥 = s1 (s4 c5 c6 + c4 s6 ) + c1 (−s23 s5 c6 + c23 (c4 c5 c6 − s4 s6 ))
𝑙𝑦 = −c1 (s4 c5 c6 + c4 s6 ) + s1 (−s23 s5 c6 + c23 (c4 c5 c6 − s4 s6 ))
𝑙𝑧 = −c6 (s23 c4 c5 + c23 s5 ) + s23 s5 s6
𝑚𝑥 = c6 (s1 c4 − c1 c23 s4 ) − s6 (s1 s4 c5 + c1 (c23 c4 c5 − s23 s5 ))
𝑚𝑦 = c1 (−c4 c6 + c5 s4 s6 ) − s1 (−s23 s5 s6 + c23 (s4 c6 + c4 c5 s6 ))
𝑚𝑧 = s23 s4 c6 + s6 (s23 c4 c5 + c23 s5 )
𝑛𝑥 = −s1 s4 s5 − c1 (s23 c5 + c23 c4 s5 )
𝑛𝑦 = −s1 s23 c5 + s5 (−s1 c23 c4 + c1 s4 )
𝑛𝑧 = −c23 c5 + c4 s23 s5
𝑝𝑥 = −d6 s1 s4 s5 + c1 (a1 + a2 c2 − s23 (d4 + d6 c5 ) + c23 (a3 − d6 c4 s5 ))
𝑝𝑦 = d6 c1 s4 s5 + s1 (a1 + a2 c2 − s23 (d4 + d6 c5 ) + c23 (a3 − d6 c4 s5 ))
𝑝𝑧 = d1 − c23 (d4 + d6 c5 ) − a2 s2 + s23 (−a3 + d6 c4 s5 )
where 𝑠𝑖 = sin 𝜃𝑖 , 𝑐𝑖 = cos 𝜃𝑖 , 𝑠23 = sin(𝜃2 + 𝜃3 ), 𝑐23 = cos(𝜃2 + 𝜃3 )
To translate from rotation matrix to Euler angles (Roll, Pitch, Yaw – RPY angles) we have the
following formulas for rotation matrix in RPY convention (X, Y’, Z” rotation):
𝑹𝑅𝑃𝑌 (𝛾, 𝛽, 𝛼) = 𝑹𝑧 (𝛼) ∙ 𝑹𝑦 (𝛽) ∙ 𝑹𝑥 (𝛾)
cos 𝛼 cos 𝛽 cos 𝛼 sin 𝛽 sin 𝛾 − sin 𝛼 cos 𝛾 cos 𝛼 sin 𝛽 cos 𝛾 + sin 𝛼 sin 𝛾
= [ sin 𝛼 cos 𝛽 sin 𝛼 sin 𝛽 sin 𝛾 + cos 𝛼 cos 𝛾 sin 𝛼 sin 𝛽 cos 𝛾 − cos 𝛼 ain 𝛾 ]
− sin 𝛽 cos 𝛽 sin 𝛾 cos 𝛽 cos 𝛾
𝑟11 𝑟12 𝑟13
= [𝑟21 𝑟22 𝑟23 ]
𝑟31 𝑟32 𝑟33
From the previous rotation matrix, we will get the following equations for RPY angles:
𝛽 = 𝐴𝑡𝑎𝑛2(−𝑟31 , √𝑟11 2 + 𝑟21 2 )
𝛼 = 𝐴𝑡𝑎𝑛2(𝑟21 , 𝑟11 )
𝛾 = 𝐴𝑡𝑎𝑛2(𝑟32 , 𝑟33 )

Experiment result

The forward kinematics will always give you only one solution after matrix transformation.
Every set of joint angles have only one Cartesian position in space. That is why we can compare
analytical solution obtained by mathematical calculations and real experimental results on the robot
by finding the standard deviation for final values.
Because after calculations and in real we have not the one end value but the set of values (x, y,
z for translation in mm, and a, b, c for orientation in degrees) we use the following formula for the
standard deviation.
1
𝜎 = √6 ∑6𝑖=1(𝑓𝑎𝑖 − 𝑓𝑟𝑖 )2 – Standard deviation for one measurement with set of values (x, y, z,
a, b, c) as difference between analytical solution (fa) and robot solution (fr).
We conduct several experiments (Fig. 2) to validate calculations of forward kinematics for
various robot position. Then we average the total standard deviation as
𝑁
1
𝜎𝑁 = ∑ 𝜎𝑖 ≈ 0.02
𝑁
𝑖=1
So it says that for translation part we have deviation about 0.02 mm between calculated and
real value, and for orientation it also 0.02 degrees. Separating calculation for translation and
orientation gives the same results.

0.025

0.02

0.015

0.01

0.005

Figure 2. Experiment results

Conclusion

In this paper, analytic solution for forward kinematics of KUKA KR Agilus was presented. The
experimental results are shown successful application of forward kinematics. Outlined information
can be used in any systems that are oriented to work with robots of KUKA Agilus robots. Future
work will be concentrated on solving problems of inverse kinematics of this robot manipulators.

References

[1] Bolmsj G., Nikoleris G., “Task Planning for Welding Applications.” Proceedings of the IEEE
International Conference on Systems, Man and Cybernetics—Systems Engineering in the Service of
Humans, vol. 1, (1993), pp. 515–519.
[2] Craig J.J. Introduction to Robotics: Mechanisms and Controls, Addison-Wesley, Reading, MA,
1989.
[3] KR AGILUS sixx with W and C Variants. Specification – KUKA Roboter GmbH, 2014 – 129 p.

Potrebbero piacerti anche