A Dynamic Programming Framework for Optimal Planning of Redundant Robots Along Prescribed Paths With Kineto-Dynamic Constraints

Offline optimal planning of trajectories for redundant robots along prescribed task space paths is usually broken down into two consecutive processes: first, the task space path is inverted to obtain a joint space path, then, the latter is parametrized with a time law. If the two processes are separated, they cannot optimize the same objective function, ultimately providing sub-optimal results. In this paper, a unified approach is presented where dynamic programming is the underlying optimization technique. Its flexibility allows accommodating arbitrary constraints and objective functions, thus providing a generic framework for optimal planning of real systems. To demonstrate its applicability to a real world scenario, the framework is instantiated for time-optimality on Franka Emika’s Panda robot. The well-known issues associated with the execution of non-smooth trajectories on a real controller are partially addressed at planning level, through the enforcement of constraints, and partially through post-processing of the optimal solution. The experiments show that the proposed framework is able to effectively exploit kinematic redundancy to optimize the performance index defined at planning level and generate feasible trajectories that can be executed on real hardware with satisfactory results. <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Note to Practitioners</i> —The common planning algorithms which consolidated over the years for generating trajectories for non-redundant robots are not adequate to fully exploit the more advanced capabilities offered by redundant robots. This is especially true in performance-demanding tasks, as for robots employed on assembly lines in manufacturing industries, repeatedly performing the same activity. Once the assembly line engineer has defined the tool path in the task space, our planning algorithm unifies inverse kinematics and time parametrization so as to bring the manipulator at its physical limits to achieve specific efficiency goals, being execution time the most typical one. The algorithm is configurable in terms of constraints to consider and objective functions to optimize, therefore it can be easily adapted to optimize other custom-defined efficiency indices, to better respond to the needs of the automation plant. Being based on discrete dynamic programming, the global optimum is guaranteed for a given resolution of the problem. This can be configured by the operator to achieve the desired trade-off between efficiency and planning time. In our experiments, we go through the whole process of planning and executing a time-optimal trajectory on a real robot, and discuss some practical details, such as trajectory smoothness and actuator saturation, aiding the practitioners in deploying our algorithm effectively. Currently, the algorithm’s applicability is limited to those cases where hours are available for planning, hence it is not well-suited for those cases where the robot activity has to change frequently. By replacing the underlying dynamic programming engine with a different methodology, such as randomized algorithms, the planning time could be controlled to be upper-bounded, thus returning the most efficient solution that can be achieved in the time available for reconfiguring the production. Other applications of interest include optimal ground control of space robotic assets and performance benchmarking of online planning algorithms.