Benchmarking and Workload Analysis of Robot Dynamics Algorithms

Rigid body dynamics calculations are needed for many tasks in robotics, including online control. While there currently exist several competing software implementations that are sufficient for use in traditional control approaches, emerging sophisticated motion control techniques such as nonlinear model predictive control demand orders of magnitude more frequent dynamics calculations. Current software solutions are not fast enough to meet that demand for complex robots. The goal of this work is to examine the performance of current dynamics software libraries in detail. In this paper, we (i) survey current state-of-the-art software implementations of the key rigid body dynamics algorithms (RBDL, Pinocchio, RigidBodyDynamics.jl, and RobCoGen), (ii) establish a methodology for benchmarking these algorithms, and (iii) characterize their performance through real measurements taken on a modern hardware platform. With this analysis, we aim to provide direction for future improvements that will need to be made to enable emerging techniques for real-time robot motion control. To this end, we are also releasing our suite of benchmarks to enable others to help contribute to this important task.

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

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

[3]  Scott Kuindersma,et al.  A Performance Analysis of Parallel Differential Dynamic Programming on a GPU , 2018, WAFR.

[4]  Gerhard Wellein,et al.  LIKWID: A Lightweight Performance-Oriented Tool Suite for x86 Multicore Environments , 2010, 2010 39th International Conference on Parallel Processing Workshops.

[5]  Sergey Levine,et al.  Trust Region Policy Optimization , 2015, ICML.

[6]  J. Y. S. Luh,et al.  On-Line Computational Scheme for Mechanical Manipulators , 1980 .

[7]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[8]  M. McCall,et al.  Rigid Body Dynamics , 2008 .

[9]  Roland Siegwart,et al.  Fast nonlinear Model Predictive Control for unified trajectory optimization and tracking , 2016, 2016 IEEE International Conference on Robotics and Automation (ICRA).

[10]  Siddhartha S. Srinivasa,et al.  CHIMP, the CMU Highly Intelligent Mobile Platform , 2015, J. Field Robotics.

[11]  No License,et al.  Intel ® 64 and IA-32 Architectures Software Developer ’ s Manual Volume 3 A : System Programming Guide , Part 1 , 2006 .

[12]  Larry Jackel,et al.  The DARPA Robotics Challenge Finals: Results and Perspectives , 2017, J. Field Robotics.

[13]  Claudio Semini HyQ - Design and Development of a Hydraulically Actuated Quadruped Robot , 2010 .

[14]  Darwin G. Caldwell,et al.  RobCoGen: a code generator for efficient kinematics and dynamics of articulated robots, based on Domain Specific Languages , 2016 .

[15]  Alan Edelman,et al.  Julia: A Fast Dynamic Language for Technical Computing , 2012, ArXiv.

[16]  Oliver Brock,et al.  Analysis and Observations From the First Amazon Picking Challenge , 2016, IEEE Transactions on Automation Science and Engineering.

[17]  Aaron D. Ames,et al.  Valkyrie: NASA's First Bipedal Humanoid Robot , 2015, J. Field Robotics.

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

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

[20]  Nicholas Nethercote,et al.  Valgrind: a framework for heavyweight dynamic binary instrumentation , 2007, PLDI '07.

[21]  A. Borisov,et al.  Rigid Body Dynamics , 2018 .

[22]  Hans Joachim Ferreau,et al.  Efficient Numerical Methods for Nonlinear MPC and Moving Horizon Estimation , 2009 .

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

[24]  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.

[25]  Efraim Rotem,et al.  Inside 6th-Generation Intel Core: New Microarchitecture Code-Named Skylake , 2017, IEEE Micro.

[26]  Scott Kuindersma,et al.  Optimization-based locomotion planning, estimation, and control design for the atlas humanoid robot , 2015, Autonomous Robots.