Analytical Derivatives of Rigid Body Dynamics Algorithms

Rigid body dynamics is a well-established framework in robotics. It can be used to expose the analytic form of kinematic and dynamic functions of the robot model. So far, two major algorithms, namely the recursive Newton-Euler algorithm (RNEA) and the articulated body algorithm (ABA), have been proposed to compute the inverse dynamics and the forward dynamics in a few microseconds. Evaluating their derivatives is an important challenge for various robotic applications (optimal control, estimation, co-design or reinforcement learning). However it remains time consuming, whether using finite differences or automatic differentiation. In this paper, we propose new algorithms to efficiently compute them thanks to closed-form formulations. Using the chain rule and adequate algebraic differentiation of spatial algebra, we firstly differentiate explicitly RNEA. Then, using properties about the derivative of function composition, we show that the same algorithm can also be used to compute the derivatives of ABA with a marginal additional cost. For this purpose, we introduce a new algorithm to compute the inverse of the joint-space inertia matrix, without explicitly computing the matrix itself. All the algorithms are implemented in our open-source C++ framework called Pinocchio. Benchmarks show computational costs varying between 3 microseconds (for a 7-dof arm) up to 17 microseconds (for a 36-dof humanoid), outperforming the alternative approaches of the state of the art.

[1]  Nicolas Mansard,et al.  Multicontact Locomotion of Legged Robots , 2018, IEEE Transactions on Robotics.

[2]  Justin Carpentier,et al.  Analytical Inverse of the Joint Space Inertia Matrix , 2018 .

[3]  David E. Orin,et al.  Efficient Dynamic Computer Simulation of Robotic Mechanisms , 1982 .

[4]  Olivier Stasse,et al.  Whole-body model-predictive control applied to the HRP-2 humanoid , 2015, 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[5]  R. Featherstone The Calculation of Robot Dynamics Using Articulated-Body Inertias , 1983 .

[6]  Darwin G. Caldwell,et al.  High-slope terrain locomotion for torque-controlled quadruped robots , 2016, Autonomous Robots.

[7]  Alin Albu-Schäffer,et al.  On the closed form computation of the dynamic matrices and their differentiations , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[8]  Nicolas Mansard,et al.  HPP: A new software for constrained motion planning , 2016, 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[9]  Frank Chongwoo Park,et al.  Newton-type algorithms for dynamics-based robot movement optimization , 2005, IEEE Transactions on Robotics.

[10]  Sehoon Ha,et al.  Joint Optimization of Robot Design and Motion Parameters using the Implicit Function Theorem , 2017, Robotics: Science and Systems.

[11]  Jonas Buchli,et al.  Automatic Differentiation of Rigid Body Dynamics for Optimal Control and Estimation , 2017, Adv. Robotics.

[12]  Scott Kuindersma,et al.  An efficiently solvable quadratic program for stabilizing dynamic locomotion , 2013, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[13]  Roy Featherstone Quantitative measures of a robot’s physical ability to balance , 2016, Int. J. Robotics Res..

[14]  K. Mombaur,et al.  Modeling and Optimal Control of Human-Like Running , 2010, IEEE/ASME Transactions on Mechatronics.

[15]  Roy Featherstone,et al.  Rigid Body Dynamics Algorithms , 2007 .

[16]  Yuval Tassa,et al.  Synthesis and stabilization of complex behaviors through online trajectory optimization , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[17]  Emanuel Todorov,et al.  Combining the benefits of function approximation and trajectory optimization , 2014, Robotics: Science and Systems.

[18]  Nicolas Mansard,et al.  A simulation framework for simultaneous design and control of passivity based walkers , 2016, 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR).

[19]  Russ Tedrake,et al.  A direct method for trajectory optimization of rigid bodies through contact , 2014, Int. J. Robotics Res..

[20]  Olivier Stasse,et al.  METAPOD — Template META-programming applied to dynamics: CoP-CoM trajectories filtering , 2014, 2014 IEEE-RAS International Conference on Humanoid Robots.

[21]  Roland Siegwart,et al.  State Estimation for Legged Robots - Consistent Fusion of Leg Kinematics and IMU , 2012, Robotics: Science and Systems.

[22]  Alexander Herzog,et al.  Momentum control with hierarchical inverse dynamics on a torque-controlled humanoid , 2014, Autonomous Robots.

[23]  Yuval Tassa,et al.  MuJoCo: A physics engine for model-based control , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[24]  Simona Nobili,et al.  Heterogeneous Sensor Fusion for Accurate State Estimation of Dynamic Legged Robots , 2017, Robotics: Science and Systems.

[25]  J. Y. S. Luh,et al.  Resolved-acceleration control of mechanical manipulators , 1980 .

[26]  Florence Billet,et al.  The HuMAnS toolbox, a homogenous framework for motion capture, analysis and simulation , 2006 .

[27]  Erwin Coumans,et al.  Bullet physics simulation , 2015, SIGGRAPH Courses.

[28]  Martin L. Felis RBDL: an efficient rigid-body dynamics library using recursive algorithms , 2017, Auton. Robots.

[29]  Zoran Popovic,et al.  Discovery of complex behaviors through contact-invariant optimization , 2012, ACM Trans. Graph..

[30]  Florent Lamiraux,et al.  Humanoid flexibility deformation can be efficiently estimated using only inertial measurement units and contact information , 2014, 2014 IEEE-RAS International Conference on Humanoid Robots.

[31]  Richard M. Murray,et al.  A Mathematical Introduction to Robotic Manipulation , 1994 .