Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Constant Kinetic Energy Robot Trajectory Planning

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

PERIODICA POLYTECHNICA SER. MECH. ENG. VOL. 43, NO. 2, PP.

213228 (1999)

CONSTANT KINETIC ENERGY ROBOT TRAJECTORY


PLANNING
Zoltn Z OLLER and Peter Z ENTAY
Department of Manufacturing Engineering
Technical University of Budapest
H1521 Budapest, Hungary
e-mail: surname@manuf.bme.hu
Received: March 31, 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

Z. ZOLLER and P. ZENTAY

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.

1. Optimal Trajectory Planning


The motion can be designed by several optimality criteria. In industrial application
the most widely used criterion is the minimum time criterion where the robot travels
through the given path in the shortest possible time. It is needed to reduce the
production time and to increase the profit of the production. In some fields the
time is not the most important, but the consumed energy is considered as the primal
criteria. This can be the case where the amount of available energy is scarce. These
cases can be considered in space research, long term space flights or in submarine
activities both in military and deep-sea exploration.
The other case when the minimum time criteria are not advisable when a
nice smooth path for the motion is needed. When using minimum time criteria we
get a spiky trajectory (see literature [1,7]) which can cause unwanted shocks and
vibrations. For example when handling non-rigid materials with intrusive (needle)
grippers [8] a quick change in the trajectory can move or shake off the handled
object from the gripper.

1.1. Time Optimal Trajectory Planning [1]


In the program we use the optimum time motion to calculate the minimum of S (see
later). So it will be dealt with very briefly.
When using the parametric method for a CPC (Continuous Path Control) task
the solution of the inverse geometry problem is obtained in the form
qi = f i (),

i = 1, 2, . . . n,

(1)

where: qi (t) are the joint co-ordinates;


n
is the number of the degree of freedom of the robot;

is the length of the path.


The velocity along the path is

.
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

ROBOT TRAJECTORY PLANNING

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)

For finite differences 


|vmax |i =

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

are the Cartesian co-ordinates values,


are the co-ordinates of the unit tangent vector to the path,
are the components of the ith row of the inverse Jacobian matrix.

1.2. Constant Kinetic Energy Trajectory Planning


For the determination of robot motion in such a way that it would provide constant
kinetic energy the equation of the dynamics of robot motion in Riemann space may
be used. This parameterisation will later be used in our program. The Riemann
space is a metric space where the measurement of distance is the base. This distance
can be measured between two infinitesimal distant points in space [5]. The length
of non-infinitesimal curves can be obtained by integration. The Euclidean space
can be considered as a specialised version of Riemann space where the curvature
of the space is zero. The straight lines in Riemann space are called geodetic lines
[6]. These lines in Euclidean space do not appear straight. For the parameterisation of constant kinetic energy motion we will use the R scalar that is obtained
from the curvature of the Riemann space to get the parameterisation of the robot
manipulator [3].

216

Z. ZOLLER and P. ZENTAY

1.2.1. The Parametric Model in Riemann Space [2]


The parametric model of robot motion can be obtained by the method of classical
mechanics formulated by Synge (see: [3]) where the derivative of the parameter is

(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.

1.2.2. Constant Kinetic Energy Motion on a Given Path


Let the path between points A and B be given in parametric form, where is the
arc length (x = x()).
Formulating the S parameter by using the parameter one gets, S = R1
where = d
and R is the metric coefficient of Riemann space, an invariant scalar
dt
value. The metric coefficient R can be calculated using the formula
1
,
R=
T
H
where


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.

ROBOT TRAJECTORY PLANNING

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)

In any other point the velocity may be determined properly by = S A R(). If


is less or equal to the optimal cruising speed we obtain a motion energetically
better than the normal optimal cruising motion [2].

If R = constant < S A , then the constant kinetic energy motion is realised at


a lower level.
When the S parameter is determined for the whole trajectory and the minimum
of it is taken

= 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.

2. Computer Program for the Investigation of the Motion


For the investigation of the constant kinetic energy motion the LabView graphical
programming environment was used. The use of LabView was chosen because it
is easy to make a real robot control by connecting the computer via a board to the
robots primary control. The process can be followed clearly on the XY graph of
the control panel and all the changes in the parameters can be seen immediately.
The inputs are given in the control panels input slots and the output is connected
to an XY graph. The curves that were obtained during the test runs of the program
can be seen later in the paper.
The programming is done in LabViews diagram panel, with the usual programming blocks (icons). The special functions and formulas are programmed by
the formula node of LabView.
The functions in the formula node are described in detail in the paper and in
the Appendix.
The program was developed for 2D polar and 2D linear robots.
The path of robot motion in the program is a circular path (the parameterisation
can be seen in Appendix 1) in the case of both robots.

218

Z. ZOLLER and P. ZENTAY

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.

2.1. Linear Portal Robot


First the parameters of the robot have to be set (see: Fig. 1): the masses of the
manipulator segments (m0 , m 1 ), the mass of the actuator (M), the maximal speeds
of the robot arms (x1. max, x2. max), the power of the drives (P1, P2) and a force
boundary (constraint). The parameters of the path have to be set as well, in this
case the co-ordinates of the centre of the circle (x1C, x2C), the radius of the circle
(R), the angle of the start and end points of the path (alfa A, alfa B), and the step
number.
The calculations are done in the FORMULA NODE of the program. The
results of the motion can be seen on the XY GRAPH (see: Fig. 2).

Fig. 1. Input values

Fig. 2. The motion of the actuator

The results of the first calculation cycle can be seen in Fig. 3.


The minimum value of S can be seen left to the diagram (S.min). The value
of R along the path is seen at (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 too much.
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. 4). In

ROBOT TRAJECTORY PLANNING

219

Fig. 3. The determination of the minimum of S

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.

Fig. 4. Result of constant kinetic energy motion (Linear Portal Robot)

2.2. The Polar Robot


The parameter of the motion is the same as in case of the linear portal robot only
the parameters of the robot are different (see: Fig. 5). The parameters of the robot

220

Z. ZOLLER and P. ZENTAY

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).

Fig. 5. Input values

Fig. 6. The motion of the actuator

The results of the first calculation cycle can be seen in Fig. 7.

Fig. 7. The determination of the minimum of S

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

ROBOT TRAJECTORY PLANNING

221

forces will be less than by moving at time optimal motion. This again illustrates
the advantages of constant kinetic energy motion.

Fig. 8. Result of constant kinetic energy motion (Polar Robot)

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

Z. ZOLLER and P. ZENTAY

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)

ROBOT TRAJECTORY PLANNING

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)

Further derivation results in the value of acceleration:

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)

Appendix 2: The Linear Portal Robot


Kinematics of the Linear Portal Robot
The robot we use for the model is a 2D linear robot. The actuator is moving along
the x1 , x 2 axis. The mass of the actuator moving in x1 direction is m0 , M is the mass
of the handled piece so the whole moving mass in x1 direction is m1 = m 0 + M.
The mass moving in x2 direction is m2 .
From the structure of the robot we get an easy solution for the co-ordinates
because the world and the joint co-ordinates are equal to each other (x = q).
Time Optimal Trajectory Planning
To obtain the time optimal joints speeds, all the trajectory speeds for every maximal
joint speed have to be calculated.
opt1 =
opt2 =

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

Z. ZOLLER and P. ZENTAY

From this every joint speed can be calculated:


x1 = r sin opt ,
r cos opt .
x2 =

(12)
(13)

Constant Kinetic Energy Trajectory Planning


Let us observe the constant kinetic energy motion for a 2D robot when it is moving
along a circular trajectory.


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

Pdr1 Pex1 Pex1 ,

(17)

Pdr2 Pex2 Pex2 .

(18)

ROBOT TRAJECTORY PLANNING

225

From the external powers (Pex1 , Pex2 ) the accessible force can be obtained:
Fex1 =
Fex2 =

Pex1
,
v1
Pex2
.
v2

(19)
(20)

Appendix 3: The Polar Robot


Kinematics of the Polar Robot
The figure of a 2D polar robot can be seen in Fig. 2.

Fig. 2. The polar robot

Two tasks can be formulated by observing the polar robot:


1. What kind of motion (speeds and positions) is obtained by given joint coordinates and joint speeds. This is the subject of direct kinematics. In this
case the next equations can be formulated:
x
y
x
y

=
=
=
=

q2 cos q1 ,
q2 sin q1 ,
q2 cos q1 q2 (sin q1 )q1 ,

q2 sin q1 q2 (cos q1 )q.

(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

Z. ZOLLER and P. ZENTAY

The joint speeds:


q1 =
q2 =

y x x y
,
x 2 + y2
x x y y

.
x 2 + y2

(27)
(28)

The accelerations of joints:


q1 =
q2 =

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)

Time Optimal Trajectory Planning


For obtaining the optimal trajectory we need to get the relations between joint and
the co-ordinate speeds by using the parameter. By substituting the parametrical
equations into the kinematics equations earlier determined for the polar robot we
obtain these relations
q1 =
q2 =

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)

From these equations using we get:


q1 =
q2 =

f 1 (),

f 2 ().

(33)
(34)

The joint speeds are at maximal, so


q1 max =
q2 max =

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

ROBOT TRAJECTORY PLANNING

From the two values the smaller can be realised:


0 = Min { 01 , 02 }.

(39)

Constant Kinetic Energy Trajectory Planning


The Jacobian matrix of the polar robot is:

q2 sin q1 cos q1
J=
,
q2 cos q1 sin q1

(40)

The inverse Jacobian matrix is (this is needed for the calculations):

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 )

r 2 (3q22 (m a + m p ) + 3q2 kar m a (3i + kar 2 m a )) cos()2


3q22


cos(q1 )2

2r 2 (3q2 kar m a (3i + kar 2 m a )) sin() cos() sin(q1 ) cos(q1 )


3q22

r 2 (3q22 (m a + m p ) 3q2 kar m a + 3i + kar 2 m a ) sin()2 sin(q1 )2


3q22
+r (m a + m p ) cos()
2

1/2
2

(44)

228

Z. ZOLLER and P. ZENTAY

Determining the External Forces


The parameters of both time optimal and constant kinetic energy motions were determined. With these parameters we get the forces/torques equations in a parametric
form:


 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

[m a (2q2 R) + 2q2 m p ]q2 q1

.
(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)

You might also like