The time optimal path tracking for industrial robots regards the problem of generating trajectories that follow predefined end-effector (EE) paths in shortest time possible taking into account kinematic and dynamic constraints. The complicated tasks used in industrial applications lead to very long EE paths. At the same time smooth trajectories are mandatory in order to increase the service life.

The consideration of jerk and torque rate restrictions, necessary to achieve smooth trajectories, causes enormous numerical effort, and increases computation times. This is in particular due to the high number of optimization variables required for long geometric paths. In this paper we propose an approach where the path is split into segments. For each individual segment a smooth time optimal trajectory is determined and represented by a spline. The overall trajectory is then found by assembling these splines to the solution for the whole path. Further we will show that by using splines, the jerks are automatically bounded so that the jerk constraints do not have to be imposed in the optimization, which reduces the computational complexity. We present experimental results for a six-axis industrial robot. The proposed approach provides smooth time optimal trajectories for arbitrary long geometric paths in an efficient way.

Highly automated production lines with
efficient exploitation of the available resources become increasingly
important for high wage countries to stay competitive. The utilization of
present hardware plays a central role. This can be achieved by an intelligent
path planning, using mathematical models of the mechanics to consider
technical constraints in an optimization for the determination of optimal
motions. It is an established approach to divide the problem into the
geometric path planning using a scalar path parameter

Dynamic programming (DP): the phase space is divided into a discrete grid.
Based on Bellman's optimality principle

Numerical integration: the optimal solution for the path parameter time
evolution is obtained by integrating maximum and minimum accelerations and
finding optimal switching points for this acceleration and deceleration
periods in the phase plane

Convex optimization: the third method is based on a convex formulation
of the optimization problem that can be solved with efficient optimization
packages

The tasks to be performed in industrial applications often contain long paths with rough as well as fine contours. Furthermore, the movement should be precise in order to comply with required accuracies on the one hand, and the motor torques should be smooth in order to avoid vibrations and to protect the hardware. Short optimization times are also crucial in order that the saving in execution time is not annihilated by increased calculation times.

To overcome these demands, one may start to optimize the whole path using one
approach mentioned above considering kinematic (joint velocity and
acceleration) and dynamic (torque) constraints. Smooth trajectories can be
achieved by taking jerk or torque rate restrictions into account. In

To obtain smooth robot movements in short optimization times, we approximate
the solution provided by the DP approach for each segment of the path with a
spline. Subsequently, this approximation is used as initial guess for the
optimization of the spline using an active-set solver

As the initial state for the spline optimization is derived by a DP approach, the first part can be assigned to category one. A categorization of the spline optimization is not really possible, since we use an active set solver to optimize the non-convex problem.

The paper is organized as follows: in Sect.

In this paper we use the abbreviation

The aim of path planning is the definition of the robot's task. There are
several methods to define such a geometric path, like polynomials,
combination of lines, circles and clothoids

A three-dimensional spline curve, describing the end-effector position can be
written as

Six-axis industrial robot with geometric path.

In Sect.

For the trajectory optimization several technical constraints should be
considered. The first one concerns the end-effector velocity

Restrictions imposed by the used hardware concern the motor torque, joint
velocity, and joint acceleration. In Sect.

With the chain rule Eq. (

By introducing the variable

The values for the motor torque restrictions

The better the robot model matches the real system, the better the limits can
be exploited. Primarily parameters that are necessary to simulate the
kinematics, like link lengths or distances between axis can be taken from CAD
– data. The parameters for the dynamic model – masses, centers of gravity
or inertia tensors can usually only be estimated with CAD models. For a good
match of the derived robot model with the real system, a parameter
identification as shown in

The requirements of smooth time optimal trajectories for long geometric paths
and short computation times were discussed in Sect.

The piecewise optimization procedure is sketched in
Fig.

Solution strategy: successive dynamic programming (SDP).

The length of the horizons should be chosen carefully. A short optimization horizon in combination with a long prediction horizon leads to unnecessary long calculation times since the solution of the prediction horizon is discarded. Conversely a long optimization horizon and a short prediction horizon effects unnecessary deceleration phases. A general choice can not be proposed, rather they have to be chosen problem dependent.

For a fix point

Graphical illustration of technical restrictions in the

The velocity restrictions can be squared and combined to

The set of curves provide a feasible region (shaded in Fig.

The DP approach is based on Bellman's optimality principle. “[...] An
optimal policy has the property that whatever the initial state and the
initial decision are, the remaining decisions must constitute an optimal
policy with regard to the state resulting from the first decision

With a process running backwards, these decisions can be picked up and
optimized with respect to a desired optimality. For that purpose the first
step is to discretize the whole path into

The backwards running process starts at the paths end by initializing the
cost function

Feasible region in the

Dynamic programming algorithm.

The solution provided by the DP approach in
Sect.

In a first step the trend of

Spline approximation and optimal solution.

Since the approximation does not respect any restrictions, local violations
are the consequence. Therefore an optimization of the control points, using

For a fine discretization, the restriction check at every discrete point is
computationally expensive. A significant calculation time reduction can be
achieved by providing analytical expressions for the gradients of the cost
functional and restrictions with respect to the optimization variables. There
are actually software tools to compute gradient and Hessians using automatic
differentiation. Nevertheless, as the restrictions and the objective are
given as analytical functions of the optimization variables, the gradients
can easily be calculated analytically. By inserting the spline

To achieve a continuous trajectory a consideration of the terminal conditions
for the spline optimization is necessary, as with the DP algorithm. For this
purpose the first two control points have to be calculated separately. The
first control point is defined by the terminal condition for

The definition of

The experiments are realized with a Stäbli RX130L, a six-axis industrial
robot. It is controlled by a Bernecker und Rainer system with PD controller
and torque feed forward control for each joint. We use a spline curve of
degree

Geometric path – logo of the Institute of Robotics at the JKU Linz.

For the calculation of the initial solution for the spline optimization with
the SDP algorithm the velocity discretization amounts

Figure

Limiting curve and optimal evolution of the SDP approach and for the smooth solution.

A comparison of the motor torques, discontinuous (provided by the SDP
approach) and smooth, is given by Fig.

Motor torques, above: torque trends for the SDP solution, below: torque trends for the smooth solution.

Motor torque rates, above: torque rate trends for the SDP solution, below: torque rate trends for the smooth solution.

Joint jerks, above: trend of joint jerks for the SDP approach,
middle: trend of joint jerks for a smooth solution with

The smoothness of the trajectory contrasts with an increasing execution time
from

For validation purposes we implemented an optimization with hard jerk
constraints

Finally we tried to calculate a time optimal trajectory for the whole path in
one go, with

The results of the different methods are listed in Table

Trajectory execution times

The spline optimization was done with the active-set algorithm of the Matlab
optimizer fmincon. With the time

This paper presents an approach to derive smooth time optimal trajectories for arbitrary long geometric paths. The main idea is to split the path into sections, to calculate optimal trajectories using terminal conditions, and to assemble the solutions for the individual segments. To achieve smooth trajectories in acceptable calculation times we propose a spline optimization in the phase space. The problem of convenient initial states for the optimization is solved with a DP approach in which terminal conditions can be considered in an easy way. With the spline optimization it is also simple to achieve a smooth start and stop of the robot. The presented approach may be interesting for robot manufacturers which already have algorithms for the path tracking problem and want to extend them to achieve smooth trajectories. Experiments to show the proper functionality of the method are realized on a six-axis industrial robot. An extension of the algorithm to consider jerk and torque rate restrictions in the optimization will be part of future work.

This work has been supported by the Austrian COMET-K2 program of the Linz Center of Mechatronics (LCM), and was funded by the Austrian federal government and the federal state of Upper Austria. Edited by: M. Hofbaur Reviewed by: two anonymous referees