Documente Academic
Documente Profesional
Documente Cultură
Martin Svejda,
Tomas Cechura
Department of Cybernetics
University of West Bohemia
Pilsen, Czech Republic
Email: msvejda@kky.zcu.cz, tomek89@ntis.zcu.cz
AbstractThis paper deals with the problem of interpola- of the pipes of complex geometries. New presented algorithm
tion of generated end-effector trajectories for application in is convenient for interpolation of the position coincident points
robotics. For complex shaped trajectories there are often many from weld trajectory generators because of the following im-
high resolution coincident points generated from CAD/CAM portant properties: natural interpolation through given position
systems or trajectory generators. The preprocessing (refining) coincident points with respect to continuity of velocity and
is necessary for proceeding these points to the manipulator
control system. Two interpolation methods are discussed: Line
acceleration, possibility to interpolate large amount of the
interpolation with polynomial blending and new proposed method coincident points with small mutual distance (precise points of
Cubic spline interpolation with recalculated feed rate. Second given resolution from trajectory generators), required velocity
introduced method describes how to interpolate the coincident and acceleration profile. The paper is divided as follows:
points and compute the feed rate of the interpolation in order to Firstly the standard line interpolation with polynomial blending
reduce undesirable peaks in acceleration and ensure demanded algorithm is used for trajectory planning of the end-effector
position, velocity and acceleration profile along the trajectory. The coordinates in the task space. Secondly considering some
new interpolation algorithm was implemented to the trajectory drawbacks of the algorithm the new cubic spline interpolation
generator for complex pipe weld inspection robot. Experimental algorithm with recalculated feedrate is proposed. Finally new
measurements made on control system of real prototype are algorithm is used for trajectory planning of the NDT manipu-
finally presented for evaluation of proposed method performance.
lator for pipe welds.
c
978-1-4673-6627-4/15/$31.00
2015 IEEE 406
2nd segment
(m-1) st segment coordinates P i the maximal velocities and accelerations have
1st segment
to be recomputed. One of the possibilities is depicted in Fig. 2
where we suppose that time for movement through the segment
will be the same for all coordinates.
0
3
Tk = |p k p k1
max | (4) 5
0 5 10 15 20 25
pmax max
4k t
Norm of Acceleration (black) Norm of Velocity (black)
1
Velocity x,y,z
0
In order to use 1-dimensional line interpolation with poly-
nomial blending algorithm for trajectory planning of manipula- 1
0 5 10 15 20 25
t
tors the problem have to be extended to multidimensional case. 4
2
m = {x, y, z, , , } where x, y, z are position coordinates 4
0 5 10 15 20 25
and , , are orientation coordinates given by the Euler t
407
10
(i+1)-th segment
,,
5 interp. polynom:
i-th segment
Position
0
interp. polynom:
5
0 5 10 15 20 25
t
2
,,
0
Velocity
2
0 5 10 15 20 25
t
4
,,
2
Acceleration
4
0 5 10 15 20 25
t
Fig. 4. Position, velocity and acceleration of rotation motion (-red, - Fig. 5. Cubic spline interpolation
green, -blue). Constraints are vmax = 1.2, amax = 2.5, vmax = 1.5,
amax = 2, vmax = 2, amax = 1.5
Continuity of velocity (w.r.t. ):
B. Cubic spline interpolation with recalculated feed rate [3 2 1 0] Am m
i = [0 0 1 0] Ai+1 (9)
Unfortunately, it can be seen that line interpolation with where i = N 2 results in N 2 equations.
polynomial blending is not very suitable for interpolation
coincident point which are too close to each other. There Continuity of acceleration (w.r.t. ):
are two main inconveniences. Firstly, the norm of the trans-
[6 2 0 0] Am m
i = [0 2 0 0] Ai+1 (10)
lation velocity (or velocity of Euler angles) is not constant
along the blending segments, see Fig. 3 and there are many where i = 1 . . . N 2 results in N 2 equations.
applications where it can be fundamental problem (e.g. arc
welding, precise NDT testing, etc.). Secondly, there are peaks Zero acceleration (w.r.t. ) in the first and last segments:
in the acceleration when motion is passing through blending
segments, see Fig. 3, 4. This fact is getting much more [0 2 0 0] Am m
1 = 0, [6 2 0 0] AN 1 = 0
important mainly when there are many close coincident points results in 2 equation.
for interpolation because of possibility to excite undesirable
vibrations of the manipulator. Therefore, the line interpolation In total, we get 4N 4 equations (8, 9, 10, 11) for 4(N 1)
with the polynomial blending is much more convenient for pick unknown parameters Am i , i = 1 . . . N 1 for each coordinate
and place applications. Therefore the new algorithm based on m = {x, y, z, , , }. It results in solving linear system of
the spline interpolation with appropriate feed rate computation equation with sparse matrices:
was derived in order to interpolate coincident task space points. 3
0 0 0 m
P1
1) Interpolation coincident points by the cubic spline: We 3
0 0 0 P2m
suppose the interpolation of i-th segment of coordinates pm i , 30 Pm
0 0 3
m = {x, y, z, , , } by the cubic polynomial with parameter 3
1 0 0
Pm
2
, see Fig. 5. Position and directional derivatives are given in 0 13
0 " m# m
P3m
the matrix form as: 3 A 1
0 0 P
1 4
Am = (11)
2 2 2
pm 2 1 Am 0
3
0
i () = (7) 1 0 Am
i 3
2 2
0 0 0
pmi () 1 11
= 32 2 1 0 Am
0
i 1 0 0
11 10 0
0
2 pm
i ()
= [6 2 0 0] Am
1
0 0 0
0
i
2 0 0 1 1
0
m T
where Am i = [ai3 ami2 am
i1 am
i0 ] are polynomial parame- where
ters for each coordinate and segment. It is clear that there are
more possibilities for choosing the polynomial parameters. It 30 = [0 0 0 1] , 31 = [1 1 1 1]
was shown experimentally that the best choice with respect to 20 = [0 0 1 0] , 21 = [3 2 1 0]
natural behaviour of interpolation curve is only the continuity
of position, velocity and acceleration in the coincident points 10 = [0 2 0 0] , 11 = [6 2 0 0]
(it generates minimal variance in the acceleration along the
trajectory). Therefore the boundary condition of each segment
is given for N coincident points Pim as: Note that it is necessary to solve the system of equations with
large sparse matrices for the cubic spline interpolation curve of
Continuity of position: each coordinate (there exist effective methods for solving, e.g.
sparse in Matlab). Interpolation curves for the coordinates
[0 0 0 1] Am m m m
i = Pi , [1 1 1 1] Ai = Pi+1 (8) with the same coincident points as we used above are shown
where i = 1 . . . N 1 results in 2N 2 equations. in Fig. 6.
408
40 5
Px Py
20 dPx/dphi dPy/dphi
0
xaxis
yaxis
ddPx/dphi2 ddPy/dphi2
0
5
20
40 10
0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 300 350 400
phi phi
20 10
Pz Palpha
Palphaaxis
dPz/dphi 5 dPalpha/dphi
10
zaxis
ddPz/dphi2 ddPalpha/dphi2
0
0
5
10 10
0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 300 350 400
phi phi
40 5
Pgammaaxis
Pbeta Pgamma
Pbetaaxis
20 dPbeta/dphi dPgamma/dphi
ddPbeta/dphi2 0 ddPgamma/dphi2
0
5
20
40 10
0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 300 350 400
phi phi
Fig. 6. Cubic interpolation curves pm () and corresponding directional derivatives as a function of parameter .
2) Feed rate computation: The well-known problem for calculated using the following iteration:
parametrization of the curve is computation of the parameter
in such a way the arc-length, velocity and acceleration along
the curve comply desired position, velocity and acceleration i () 1
Z k
i ()
profile (typically trapezoidal velocity profile given by the k+1 = k +k k (s Si1 ) k k d
maximal velocity and acceleration constraints vmax , amax ). |0 {z }
The arc-length s((t)) of the parametrization ((t)) (only Adaptive Simpsons quadrature
Z (t) " x
pi ((t))
# Note that there are only several iterations needed for
((t)) y sufficient accuracy for the coincident point close to each other.
s((t)) = k k d(t), ((t)) = pi ((t))
0 (t) pzi ((t))
(12) For known (t), the equations (13) are used to express the
The transformation between velocity and acceleration of arc-
velocity (t) of the parameter from
and the acceleration (t)
length s(t) and parameter (t) is given by the linear rela- desired velocity v(t) and the acceleration a(t) profile.
tionship (for the given position). It can be derived by time
Finally, the interpolated point pm
i ((t)) in the segment
derivative of (12) as follows: is computed according to (7) and corresponding velocity
1 p m
i ((t)) and the acceleration pm
i ((t)) are given by time
(t) = v(t) (13)
derivative of (7) for known (t), (t), as follows:
(t)
k (t)
(t) k
T pm
i ()
(t) 2 (t) 2
p m
(v(t)) i ((t)) =
(t) = 3(t)2 2(t) 1 0 Am
i (t)
1 (t) 2 (t)
=
(t) a(t)
3 (15)
k (t) k (t) k
(t) k
2 pm
i () 2 pm
i ()
pm
i ((t)) = (t) + =
(t)
2
m
It can be easily shown that the integral (12) is not solvable = 6(t) 2 0 0 Ai 2 (t)+
in closed form for cubic polynomial parametrization ((t)). + 3(t)2 2(t) 1 0 Am i (t)
Therefore the new numerical algorithm was derived:
Using adaptive Simpsons quadrature, see [4], (e.g. quad
in Matlab) the integral (12) is numerically computed with
given accuracy for each segment. It results in the arc-length The interpolated trajectory through given coincident points
sequence S1 . . . SN 1 , where Si represent the arc-length along in time domain is depicted in Fig. 7. Note that peaks in
the trajectory from the beginning of the trajectory to i + 1-th acceleration are caused by the requirements of a constant
coincident point. velocity along the trajectory in spite of the coincident points
significantly change. This effect will be reduced for points to
The actual segment (active cubic polynomial) can be deter- be generated in finer resolution (e.g. for points derived from
mined from desired position profile s(t) and known sequence CAD systems or trajectory generators for welds in Section III).
of arc-length S1 . . . SN 1 . Suppose that the i-th segment is The feed rate function s(t) (t) and its time derivative are
actual. The correct value of the parameter (t) {0, 1} in depicted in Fig. 8 for position, velocity and acceleration profile
the i-th segment corresponding to desired arc-length s(t) is chosen for the constraints vmax = 1, amax = 4.
409
20 10
Px Py
0 dPx dPy
x axis
y axis
ddPx 0 ddPy
20
40 10
0 5 10 15 20 25 0 5 10 15 20 25
t t
5 20
Pz Palpha
alpha axis
0 dPz 10 dPalpha
z axis
ddPz ddPalpha
5 0
10 10
0 5 10 15 20 25 0 5 10 15 20 25
t t
50 5
Pbeta Pgamma
gamma axis
dPbeta dPgamma
beta axis
ddPbeta ddPgamma
0 0
50 5
0 5 10 15 20 25 0 5 10 15 20 25
t t
Fig. 7. Cubic interpolation curves pm () and its time derivative as a function of time.
30
s(t)
phi(t)
We have developed standalone application for generating
20
s(t), phi(t)
10
NDT testing trajectories according to a currently inspected
0
weld. It integrates trajectory generator which produces coin-
0 5 10 15 20 25
t cident points along the inspected weld trajectory with given
1
resolution and the second proposed interpolation method II-B.
ds(t)/dt, dphi(t)/dt
ds(t)/dt
dphi(t)/dt
0.5 Data output of the application is exported to the robot control
0
system as a sequence of task space coordinates with specific
0 5 10 15 20 25
t equal time differences.
10
2
d s(t)/dt , d phi(t)/dt
d2s(t)/dt2
5
d2phi(t)/dt2
2
0
2
10
2
0 5 10 15 20 25
t
Fig. 8. feed rate for cubic interpolation curves. Desired position s(t),
velocity v(t) and acceleration a(t) profile (red), computed position, velocity
and acceleration of parameter (t) (blue).
410
0.5
that despite of acceleration along line segments are zero the
Position x,y,z
0.01
0.01
the method is much more convenient e.g. for pick and place
0.02
6.231 6.232 6.233 6.234 6.235 6.236 6.237 6.238
applications with only a few coincident points. The second
t 4
x 10
new presented method was developed especially for purposes
Norm of acceleration (magenta)
0.02
0
position, velocity and acceleration profile (trapezoid velocity
1
profile) along the interpolated trajectory the algorithm for
6.231 6.232 6.233 6.234 6.235 6.236 6.237 6.238
t
x 10
4
feed rate computation was introduced. The numerical adaptive
0.1
Simpsons quadrature is used to determine the arc-length
Velocity ,
0
of the interpolated trajectory. It leads to iterative algorithm
0.1
6.231 6.232 6.233 6.234 6.235 6.236 6.237 6.238
for computation of position, velocity and acceleration of the
0.2
t
x 10
4
cubic spline parameter satisfying demanded profile. Finally
Acceleration ,
411