Time-parameterization
The paths found in Section Path planning are geometric objects devoid of any timing information and, as such, cannot be executed directly on the robot. One simple solution may consist in time-parameterizing the path using a constant path velocity. However, this solution is usually unsatisfactory: either the velocity is too high and the robot will violate kinodynamic constraints at some positions on the path, or the velocity is too low, hence inefficient. This section presents algorithms to find optimal time-parameterizations, i.e. which minimize traversal time while respecting given kinodynamic constraints.
Consider a path in the configuration space
The objective is to find a time-parameterization
so that the retimed trajectory satisfies given constraints while minimizing trajectory duration , which is the most important criterion in industrial robotics.
Time-parameterization of straight segments under velocity and acceleration bounds
Velocity and acceleration bounds are the most common constraints in industrial robotics. For a n-DOF robot, they have the form
Paths returned by motion planners (see Section Path planning) are usually composed of straight segments. A straight segment between and is given by . Differentiating with respect to , one has and .
Therefore, the optimization problem becomes: find the function such that is minimal and that
and , , , . Note that the initial and final velocities are constrained to be zero so as to ensure velocity continuity at the junction of different path segments.
This problem has a closed-form solution:
If , then the optimal profile is composed of two segments:
i. acceleration between time instants 0 and ;
ii. deceleration between time instants and , where ;
Else, the optimal profile is composed of three segments:
i. acceleration between time instants 0 and ;
ii. zero acceleration (constant velocity) between time instants and ;
iii. deceleration between time instants and , where and .
Exercise: Time-parameterize a 2D path
Implement in Python the above algorithm to optimally time-parameterize the paths found in Section Path planning under the following bounds , .
Time-parameterization of arbitrary paths under general second-order bounds
Second-order (kinodynamic) bounds are constraints of the form
where , , and are, respectively, an M x n matrix, an n x M x n tensor, and an M-dimensional vector.
Inequality (*) is very general and may represent a large variety of second-order systems and constraints. As an example, consider an n-DOF manipulator with dynamics
Assume that the manipulator is subject to lower and upper bounds on the joint torques, that is, for any joint i and time t,
Clearly, these torque bounds can be put in the form of (*) with
Contrary to the case of velocity and acceleration bounds and linear paths, there is no closed-form solution in the general case of second-order constraints and arbitrary paths. However, there is a very efficient algorithm, first proposed by Bobrow in the 1980's and later perfected by many others, to numerically find the optimal time-parameterization, see Pham and Pham (2018). An implementation of the algorithm can be found at https://github.com/hungpham2511/toppra.
To learn more about this topic
Hauser, K., & Ng-Thow-Hing, V. (2010). Fast smoothing of manipulator trajectories using optimal bounded-acceleration shortcuts. In Robotics and Automation (ICRA), 2010 IEEE International Conference on (pp. 2493-2498).
H. Pham, Q.-C. Pham. A new approach to Time-Optimal Path Parameterization based on Reachability Analysis. IEEE Transactions on Robotics, vol. 34(3), pp. 645–659, 2018.