Constant Kinetic Energy Robot Trajectory Planning
Constant Kinetic Energy Robot Trajectory Planning
Constant Kinetic Energy Robot Trajectory Planning
213228 (1999)
Abstract
In Continuous Path Control (CPC) problems of robot motion planning three tasks have to be solved.
These are the path planning, the trajectory planning and the trajectory tracking. The present paper
focuses on the problem of trajectory planning. When solving this problem several criteria can be
chosen. These can be requirement of minimum time, minimum energy, minimum force, etc. In this
article, we deal with constant kinetic energy motion planning. Comparing with time optimal cruising
motion, a much smoother trajectory with more power for solving manufacturing tasks is obtained.
This is clearly demonstrated by the results of the sample program. The problem of kinematics and
dynamics are solved for 2D polar and 2D linear robots.
Keywords: robot, trajectory planning, constant kinetic energy, LabView.
Introduction
At process planning for robots the most important task is the robot motion planning.
When designing robot motion the first task is to define the geometry of the path.
In motion planning two kinds of motion can be considered that are widely used in
robotics: the PTP (Point To Point) and the CPC (Continuous Path Control) motions.
The PTP motion is a kind of motion where only the control point of the motion is
programmed and the rest of the path is extrapolated by the robot. In the CPC motion
the speed and the position of the robots TCP (Tool Centre Point) has to be estimated
in every point of the path. In this article only the CPC motion is investigated.
When designing robot motion three major tasks have to be solved:
1. The path planning: The robot and its environment are known, the task is to
design a path where the motion of the robots TCP is defined through a given
set of positions.
2. Trajectory planning: The path is given which has to be followed by the
working point (TCP or end-effector centre point) of the robot, and the corresponding orientation of the tool or gripper attached to it. The task is to find
a motion that satisfies a given goal (minimum time, minimum energy, etc.).
214
3. Trajectory tracking: The task in this part is to plan the control action, which
guarantees the realisation of the desired trajectories with the necessary accuracy.
i = 1, 2, . . . n,
(1)
.
t
(2)
f i ()
f i ()
=
|v|i ,
t
(3)
qi x
,
f i ()
()
(4)
|v| =
From (1)
qi =
|v|i =
i = 1, 2, . . . n.
215
At the time optimal cruising motion some of the qi values have their limit value
qi max so,
qi max
i = 1, 2, . . . n.
(5)
|vi max | = f () ,
i
()
The optimum velocity may only be the minimum of |v|i max values. That is
|v|opt = min{|v|i max },
i = 1, 2, . . . n.
(6)
qi max
f i (+) f i ()
()
(7)
It is easy to prove (see: [2]) that using the equation of the differential motion of the
robot one gets:
qi max
.
(8)
|vmax |i = n
1 x j
j =1 Ji j
xj
x j
n
1
j =1 Ji j
216
(9)
S = 2T ,
where T is the overall kinetic energy of the manipulator system. By using the
equation of dynamics of the manipulator in energetic form we get the following
equation:
dT
= Ndr Nex ,
(10)
dt
where Ndr is the momentary power developed by the drives; Nex is the power given
by the external forces effecting the end effector.
If the frictional forces are neglected at the level of Nex interactive power Ndr
will be at its maximum (Ndr = Nex ) if the motion occurs at constant kinetic energy
T = T0 = const. When this kind of motion is applied no unnecessary acceleration
or deceleration will occur, so the trajectory will be much smoother and the energy
for the excessive motions will be zero.
In the parametric model this can be formulated by the S = S 0 = constant
requirement.
H=
J
T
I
x1 x2 x3
,
,
(11)
,
(12)
(13)
is the tangent vector of the path, J the Jacobian matrix of the robot and I is the
inertia matrix of the robot.
217
, J , I are the functions of that is R = R() has a given value in every part
of the path. Let us determine the optimal cruising speed for the first point (A) of
the path. Let it be called A . With these symbols
A
.
S A =
RA
To obtain
S = S A =
.
R()
(14)
(15)
= S E .
(16)
S = Min
R()
Then determining the velocity as:
= S E R(),
(17)
the constant kinetic energy motion is realised for the whole trajectory.
218
The initialisation of the program must contain the geometry of the path and
the parameters of the robot (inertia, mass, power of drives, etc.). In both programs
the calculations along the path are done twice. In the first cycle the minimum value
of S is determined. In this way the motion of the robot at constant kinetic energy
will be at maximum speed set by the speed boundary of the drives. This is illustrated
on a diagram in the first test result (Fig. 4, Fig. 8). The curve of the constant kinetic
energy motion touches the curve of the time optimal motion but does not intersect
it. It always stays under the time optimal curve.
219
the diagram it can be seen that the trajectory of the constant kinetic energy motion
is much smoother, the speed along the path does not fluctuate as much as in the
time optimal motion. In the same diagram the forces of the first joint needed for
the robots motion are also illustrated. It can be clearly seen from the diagram that
by using the constant kinetic energy motion the joint forces will be less than by
moving at time optimal motion. This is a great advantage of using constant kinetic
energy motion.
220
are: the mass of the robot arm (ma), the mass of the actuator (mp), the length of the
robot arm (arm), the maximal speed of joints, the maximal forces that the drives
can deliver (Th1, Th2) and an upper boundary (constraint) for the forces.
The calculations are also done in a FORMULA NODE. The robot motion is
illustrated on a XY GRAPH (see: Fig. 6).
The minimum value of S can be seen left to the diagram (S.min). The value
of R along the path is seen under (A), and T is the max. kinetic energy determined
for the time optimal motion. The whole time of the constant kinetic energy motion
is longer than the time of the time optimal motion but the difference is not so large.
In the second calculation cycle the angular speed values are illustrated in one
diagram for both time optimal and constant kinetic energy motions (see: Fig. 8). In
the diagram it can be seen that the trajectory of the constant kinetic energy motion
is much smoother, the speed along the path does not fluctuate as much as in the
time optimal motion. In the same diagram the forces of the first joint needed for
the robots motion are also illustrated. It can be seen from the diagram, as in the
case of the polar robot, that by using the constant kinetic energy motion the joint
221
forces will be less than by moving at time optimal motion. This again illustrates
the advantages of constant kinetic energy motion.
3. Conclusions
From the test results of the program, for the two robots, it is clear that when the
time is not the most important criterion of robot motion the constant kinetic energy
motion provides a much better trajectory characteristic. The motion in the sample
programs indicated that the constant kinetic energy motion had taken longer time
to accomplish than time optimal motion, however, the difference was not too big.
When the difference is as small the constant kinetic energy motion is better because
it uses less energy and the trajectory is much smoother (better for handling delicate
objects). Sometimes, however, the difference can be considerably larger. In this
case it is better to make the calculations for both criteria and to choose the one more
suitable for the task.
Acknowledgements
The authors wish to express their thanks to Dr Jnos Soml, professor, the supervisor of
our work for his support and professional work in developing, controlling and revisioning
this research.
222
References
[1] S OML , J. L ANTOS , B. C AT, P.T.: Advanced Robot Control, Akadmiai Kiad, Budapest,
1997.
[2] S OML , J. L OGINOV, A.: Energetically Optimal Cruising Motion of Robots, IEEE Conference on Intelligent Engineering Systems 1997, Budapest.
[3] S OML , J. P ODURAJEV, J.: A New Approach to the Contour Following Problem in Robot
Control (Dynamic Model in Riemann Space), Mechatronics, Vol. 3. No. 2, pp. 241263, 1993.
[4] T TH , S.: Optimal Time Cruising Trajectory Planning for SCARA, CAMP94 International
Conference, Budapest 1994 Sept. 1315, pp. 5461.
[5] H RASK , P.: Introduction to the General Theory of Relativity, Tanknyvkiad, 1997. Budapest
(In Hungarian). pp. 56103.
[6] L NCZOS , K.: Space Through the Ages, Academic Press Inc. London Ltd. 1979, pp. 130-240.
[7] Z ENTAY, P. Z OLLER , Z.: Time Optimal Trajectory Planning for Robots in LabView Programming System, MicroCAD 99 Miskolc, 1999. February 2425.
[8] Z OLLER , Z. Z ENTAY, P. M EGGYES , A. A RZ , G.: Robotical Handling of Polyurethane
Foams with Needle Grippers, Periodica Polytechnica, 1999. (to be published).
[9] S ZATMRI , S Z .: Labview Based Control of Parallel Type Robots, FMTU99, 1999, ClujNapoca, Romania, pp. 6568.
[10] S ZATMRI , S Z .: Velocity and Acceleration Constrained Motion of Parallel Type Robots, 9.
DAAAM Symposium (DAAAM98), 1998, Cluj-Napoca, Romania, pp. 455456.
Appendix
Appendix 1: Parameterisation of the Path
Let us parameterise a circular path. This path and its parameterisation is used
in the program for the motion of both robots (see: Fig. 1). The conventional
parameterisation is used when the centre of the circle is given by its X, Y coordinates and the path is parameterised by its radius (r) and the angle from the
starting point ().
Fig. 1. Arc
To obtain the arc length parameters we use the r ( in radians). The two
co-ordinates by the arc length parameter are like the following:
x1 = x1A + r cos ,
x2 = x2A + r sin ,
(1)
(2)
223
where: x1A is the first co-ordinate and x2A is the second co-ordinate of the centre
of the circular path.
By deriving x1 , x 2 by time the co-ordinate speeds are obtained:
x1 = r sin ,
r cos .
x2 =
(3)
(4)
x1 = r(cos + sin ),
x2 = r( sin + cos ).
(5)
(6)
The derivative of x1 , x 2 by sets the tangent vectors of the path, the vector:
x1
(7)
= r sin ,
x2
=
r cos .
(8)
x1 max
,
r sin
x2 max
.
r cos
(9)
(10)
From the two joint speeds the smaller can be realised [1].
opt = Min{ opt1 , opt2 }.
(11)
224
(12)
(13)
0
m1
, this matrix is a symThe inertia matrix of the robot is
0 (m 1 + m 2 )
metrical matrix which contains non-zero elements only in its diagonal.
The H matrix in this case is equal to the inertia matrix because the Jacobian
matrix of a linear portal robot is a unit matrix. From this the R scalar is easily
obtained. The T H in this case looks like:
r sin
0
m1
[r sin r cos ]
r cos
0 (m 1 + m 2 )
= [m 1r 2 sin2 + (m 1 + m 2 )r 2 cos2 ].
From this the value of R is:
1
.
R=
m 1r 2 sin2 + (m 1 + m 2 )r 2 cos2
(14)
(15)
If we take r and use the sin2 = 1 cos2 , we obtain the easy form for R:
R=
From this =
1
1
.
r m 1 + m 2 cos2
(16)
2T R is obtained.
Accessible External Forces
The less energy for accelerating or decelerating the robot arm (Pdr1 , Pdr2 ) is used
the more energy (or force) is left for manufacturing. If the robot does not use any
energy for acceleration (deceleration) all the force in the robot arm can be used for
manufacturing. The equations are calculated by their component equations:
1
m (v1 )2
2 1
t
1
m (v2 )2
2 2
t
(17)
(18)
225
From the external powers (Pex1 , Pex2 ) the accessible force can be obtained:
Fex1 =
Fex2 =
Pex1
,
v1
Pex2
.
v2
(19)
(20)
=
=
=
=
q2 cos q1 ,
q2 sin q1 ,
q2 cos q1 q2 (sin q1 )q1 ,
(21)
(22)
(23)
(24)
2. By giving the positions and speeds of the TCP of the robot the joint speeds
and positions have to be calculated. This is called the inverse kinematics task.
To solve this task the next equation can be formulated:
The joint co-ordinates:
y
q1 = arctg ,
x
x 2 + y2.
q2 =
(25)
(26)
226
y x x y
,
x 2 + y2
x x y y
.
x 2 + y2
(27)
(28)
x y x y 2(x y x y)(x x + y y )
,
x 2 + y2
(x 2 + y 2 )2
x 2 + x x + y 2 + y y
(x x + y y )2
2
.
(x + y 2 )3/2
x 2 + y2
(29)
(30)
r cos (x
c + r cos ) + r sin (y
c + r sin )
,
2
(xc + r cos ) + (yc + r sin )2
(xc + r cos )r sin + (yc + r sin )r cos
.
(xc + r cos )2 + (yc + r sin )2
(31)
(32)
f 1 (),
f 2 ().
(33)
(34)
f 1 () 01 ,
f 2 () 02 .
(35)
(36)
The values of angular velocities that correlate to the maximal joint velocities are
obtained by taking the angular velocities from these equations that are proportional
to the trajectory speeds:
01 =
02 =
q1 max
,
f 1 ()
q2 max
.
f 2 ()
(37)
(38)
227
(39)
q2 sin q1 cos q1
J=
,
q2 cos q1 sin q1
(40)
sin q1 cos q1
1
J =
q2
q2 .
cos q1
sin q1
The inertia matrix of the polar robot is:
I0 + m a (q22 q2 kar) + 13 m a kar 2 + q22 m p
0
I =
.
0
ma + m p
The value of the R scalar is:
1
,
R=
T H
where:
H=
1
I J
.
(41)
(42)
(43)
By substituting the previous equations into R we get the value for it:
R = 1/ r 2 (m a + m p )
cos(q1 )2
1/2
2
(44)
228
I + m (q 2 q R) + 1 m R 2 q 2 m
0
0
a 2
2
2 p
3 a
q1
1
=
,
2
q2
0
ma + m p
.
(45)
1
[m a (2q2 R) + 2q2 m p ]q12
2
By subtracting these values from the forces/torques given by the drives we get the
maximal forces/torques for manufacturing:
+
Fne1 = Fdr1 1 ,
Fne2 = Fdr2 2 .
(46)