rmc logo

Dr. Friedrich Lange ‒ trajectory-generation

Trajectory Generation

Trajectory generation means that for a given desired trajectory a commanded trajectory is computed that satisfies constraints on the velocity, the acceleration and the jerk. In addition, the desired path is preserved, if possible. Finally the commanded trajectory is synchronized with the desired trajectory.

In our applications, the desired trajectory is computed by sensor values. The current position of the commanded trajectory is then sent to the postion controller of an industrial robot.

Free trial !
You can test the latest version of our method. Just send me an email with your test data, we generate a feasible trajectory from it. And you can check the performance with your criteria. The data format is given below.

The following table shows in which paper the different methods have been presented / explained by us.

 

 

normal execution of the trajectory

immediate stop on the desired path

forward scaling with Direct Position Interpolation (DPI)

ICRA 2014
(not recommended)

ICRA2015
(not recommended)

forward scaling with Arc Length Interpolatoon (ALI)

ICRA2015 poster
RA-L2016
ICRA2016
(not recommended)

ICRA2015

Direct Scaling (DS)

ICRA 2014
RA-L2016

ICRA2016
Advanced Robotics

not required

forward scaling and backtracking with DPI

ICRA2014
(limited path accuracy, but less delay)

not required

forward scaling and bactracking with ALI

ICRA2015 poster
RA-L2016
ICRA2016
Advanced Robotics

not required

minimum backtracking for fast target motion
(improved convergence)

Advanced Robotics

not required

adapation of the preview (minimum delay)

Advanced Robotics

not required

proper execution of closed loops in the path

Advanced Robotics

not required

 

The explained methods for trajectory generation have been applied (withput being mentioned) in our experiments since 2013, e.g. the DPI method in the force control of ICRA2013 (stiff sensor). Before, with a compliant sensor and without considering jerk constraints, Direct Scaling (DS) of the velocity and the acceleration were sufficient, see e.g. the force control of ICRA2012.

 

Related publications:

  • Advanced Robotics  Friedrich Lange and Alin Albu-Schäffer: Iterative Path-Accurate Trajectory Generation for Fast Sensor-Based Motion of Robot Arms. Advanced Robotics Vol. 30, Issue 21, pages 1380-1394, Nov. 2016, online version available since Aug. 29th, 2016 at http://dx.doi.org/10.1080/01691864.2016.1222307. A limited number of free copies is available here (please save the paper on your computer instead of downloading it several times).
    Paper (Manuscript only)
    Abstract
    Sensor-based trajectory generation of industrial robots can be seen as the task of, first, adaptation of a given robot program according to the actually sensed world, and second, its modification that complies with robot constraints regarding its velocity, acceleration, and jerk. The second task is investigated in this paper. Whenever the sensed trajectory violates a constraint, a transient trajectory is computed that, both, keeps the sensed path, and reaches the sensed trajectory as fast as possible while satisfying the constraints. This is done by an iteration of forward scaling and backtracking. In contrast to previous papers a new backtracking algorithm and an adaptation of the prediction length are presented that are favorable for high-speed trajectories. Arc Length Interpolation is used in order to improve the path accuracy. This is completed by provisions against cutting short corners or omitting of loops in the given path. The refined trajectory is computed within a single sampling step of 4 ms using a standard KUKA industrial robot.

  • ICRA2016  Friedrich Lange and Alin Albu-Schäffer: Path-Accurate Online Trajectory Generation for Jerk-Limited Industrial Robots. In Proc. IEEE Int. Conf. on Robotics and Automation (ICRA), Stockholm, Sweden, May 2016
    For the abstract and the manuscript see RA-L2016.

  • RA-L2016  Friedrich Lange and Alin Albu-Schäffer: Path-Accurate Online Trajectory Generation for Jerk-Limited Industrial Robots. IEEE Robotics and Automation Letters (RA-L) 1(1):82-89, 2016, preprint online since Dec. 9th, 2015.
    Paper
      Video

    Abstract
    Standard industrial controllers of robot arms define constraints on the velocity, the acceleration, and the jerk and abort execution in case any of them is violated. In addition to satisfying these constraints, the presented method tries to generate a trajectory that is path-accurate, i.e., that exactly tracks the 6-dof shape of the desired path in axis space. Furthermore, the computed trajectory is as close as possible to the original robot program. This is reached by forward scaling and backtracking until a feasible trajectory is obtained. In contrast to previous work, blending of subsequent segments of the desired path is prevented by interpolation of the arc length instead of direct position interpolation. Because of its time-efficiency the algorithm can be applied in each sampling step, e.g. every 4 ms for a standard KUKA robot with RSI interface. Experimental results demonstrate the approach.

  • ICRA2015  Friedrich Lange and Michael Suppa: Trajectory Generation for Immediate Path-Accurate Jerk-Limited Stopping of Industrial Robots. In Proc. IEEE Int. Conf. on Robotics and Automation (ICRA), Seattle, WA, U.S.A., pages 2021-2026, May 2015
    Paper  Video
    Abstract
    Stopping the motion of industrial robots in response to warnings or unexpected sensor data is a special case of trajectory generation. In contrast to emergency stops, here the robot has to satisfy the limits of the acceleration and the jerk. In addition, during the deceleration the robot must follow the path accurately, i.e., the shape of the original path may not be left. This is usually done by scaling the desired velocity. However, for curved paths, e.g. those generated by blending of linear motion commands, by sensor corrections, or directly by splines, this method may leave the desired path. The problem is solved by interpolation using the arc length. In contrast to other methods, here the constraints are considered directly, resulting in a time-efficient computation. Finally, the proposed method prevents a rebound caused by the jerk limits when reaching zero velocity. Experiments are presented using a stiff KUKA robot whose path is exactly tracked during deceleration.

  • ICRA2015 Poster  Friedrich Lange and Michael Suppa: Trajectory Generation for Path-Accurate Jerk-Limited Sensor-Based Path Corrections of Robot Arms. In Proc. IEEE Int. Conf. on Robotics and Automation (ICRA) , Seattle, WA, U.S.A., Late Breaking Results Poster Session, May 2015

  • ICRA2014  Friedrich Lange and Michael Suppa: Predictive Path-Accurate Scaling of a Sensor-Based Defined Trajectory. In Proc. IEEE Int. Conf. on Robotics and Automation (ICRA), Hong Kong, China, pages 754-759, May/June 2014
    Paper  Video
    Abstract

    The paper considers an a priori given robot trajectory which has to be recomputed when online sensedinformation on the environment is available. Then the original trajectory is adapted in order to continue the so far commanded motion by the sensed geometric shape. The adapted trajectory has to comply with restrictions on velocity, acceleration and jerk. Furthermore it is desired to converge to the original trajectory. At least if the robot is in contact with the environment it is further essential that the geometrical path is not left when modifying the trajectory. This means that preferably only the temporal profile is changed by scaling or rescaling the velocity. In order to inhibit overshooting, future restrictions are predicted and backtracked in the case of a violation. All this computation is done within a single sampling step, i.e. within 4 ms for a standard KUKA industrial robot. This precludes accurate optimization algorithms. When applied without an a priori given trajectory the method results in an near time- optimal solution.

 

Data format for tests with our software:

The sampled axis positions of the desired trajectory are listed in an ASCII file, with a new line for each sampling step and the axis values separated by a space. For numerical reasons, positions greater than 10 can result in inaccuracies. Therefore, angular values are expected in radians.

The data file begins with a header. Its first line gives
- the number of axes
- the preview (see below)
- the number of sampling steps
The second line gives the velocity constraints of the individual axes.
The third line gives the acceleration constraints of the individual axes.
The fourth line gives the jerk constraints of the individual axes.
Then the desired trajectory begins.

The constraints are given by the tolerated position differences of subsequent sampling steps k, i.e. q(k)-q(k-1), q(k)-2q(k-1)+q(k-2), and q(k)-3q(k-1)+3q(k-2)-q(k-3), not the velocity limit in rad/s, the acceleration limit in rad/s^2, or the jerk limit in rad/s^3. For example, with a sampling period of 0.01 s, an acceleration limit of 1 rad/s^2 will be 0.000100. Thus the sampling period is implictly considered.

There are two kinds of data files:

  • Time-invariant trajectories can be provided with preview 1. Then line 5 gives the desired axis positions of sampling step 0, line 6 the respective values of sampling step 1 and so on. An example for this type of data file is given in trajgen1.dat.
  • For time-variant trajectories, i.e. trajectores which are refined in each sampling step according to the latest sensor data, in each sampling step all currently predicted axis positions have to be provided. For example, with a preview of 3, this means that

    - Line 5 gives the desired axis positions of time-step 0.
    - Line 6 gives the assumed desired axis positions of time-step 1, predicted at time-step 0.
    - Line 7 gives the assumed desired axis positions of time-step 2, predicted at time-step 0.
    - Line 8 gives the desired axis positions of time-step 1.
    - Line 9 gives the assumed desired axis positions of time-step 2, predicted at time-step 1.
    - Line 10 gives the assumed desired axis positions of time-step 3, predicted at time-step 1.
    - Line 11 gives the desired axis positions of time-step 2.
    - Line 12 gives the assumed desired axis positions of time-step 3, predicted at time-step 2.
    - Line 13 gives the assumed desired axis positions of time-step 4, predicted at time-step 2

    An example for this type of data file is given in trajgen1a.dat. In this file, the index of the current time-step is appended WITHOUT space to the first line of each time-step. This has no effect on the processing but may facilitate debugging. This feature is optional.

The test file has to be sent to Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!.

Zuletzt aktualisiert: Montag, 19. Februar 2018 von Dr. Friedrich Lange