Code generation of algebraic quantities for robot controllers

Controllers for articulated robots such as an arm or a humanoid commonly need to continuously calculate complex algebraic quantities, such as the joint space inertia matrix or Jacobians. An effective and fast implementation of the calculation of these quantities is crucial to achieve complex, yet robust controllers and thus enable sophisticated behaviors in robots. Although the nature of these algebraic quantities is very well known in robotics, they do not lend themselves easily to manual implementation, because of ambiguities and the complexity in their development and use. We propose an approach that addresses this issue by relying on automatic code generation, thus relieving the user from hand crafted development. Our approach also addresses efficiency and speed, in order to satisfy the strict requirements of real time robot controllers, yet it is easy to use. We show the effectiveness of our method by means of some preliminary comparisons.

[1]  G. Oriolo,et al.  Robotics: Modelling, Planning and Control , 2008 .

[2]  Stefan Schaal,et al.  Inverse dynamics control of floating-base robots with external constraints: A unified view , 2011, 2011 IEEE International Conference on Robotics and Automation.

[3]  Peter I. Corke,et al.  A robotics toolbox for MATLAB , 1996, IEEE Robotics Autom. Mag..

[4]  Oussama Khatib,et al.  An open source extensible software package to create whole-body compliant skills in personal mobile manipulators , 2011, 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.

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

[6]  Darwin G. Caldwell,et al.  A Domain Specific Language for kinematic models and fast implementations of robot dynamics algorithms , 2013, ArXiv.

[7]  P. Gerum Xenomai-Implementing a RTOS emulation framework on GNU / Linux , 2022 .

[8]  Aruna Raja,et al.  Domain Specific Languages , 2012 .

[9]  Neville Hogan,et al.  Impedance Control: An Approach to Manipulation: Part II—Implementation , 1985 .

[10]  Oussama Khatib,et al.  Control Strategies for Robots in Contact , 2006 .

[11]  Oussama Khatib,et al.  Synthesis and control of whole-body behaviors in humanoid systems , 2007 .

[12]  Darwin G. Caldwell,et al.  Torque-control based compliant actuation of a quadruped robot , 2012, 2012 12th IEEE International Workshop on Advanced Motion Control (AMC).

[13]  Heiko Behrens,et al.  Xtext: implement your language faster than the quick and dirty way , 2010, SPLASH/OOPSLA Companion.

[14]  Oussama Khatib,et al.  A unified approach for motion and force control of robot manipulators: The operational space formulation , 1987, IEEE J. Robotics Autom..

[15]  Ferdinando Cannella,et al.  Design of HyQ – a hydraulically and electrically actuated quadruped robot , 2011 .

[16]  Jun Nakanishi,et al.  Operational Space Control: A Theoretical and Empirical Comparison , 2008, Int. J. Robotics Res..