A Domain Specific Language for kinematic models and fast implementations of robot dynamics algorithms

Rigid body dynamics algorithms play a crucial role in several components of a robot controller and simulations. Real time constraints in high frequency control loops and time requirements of specific applications demand these functions to be very efficient. Despite the availability of established algorithms, their efficient implementation for a specific robot still is a tedious and error-prone task. However, these components are simply necessary to get high performance controllers. To achieve efficient yet well maintainable implementations of dynamics algorithms we propose to use a domain specific language to describe the kinematics/dynamics model of a robot. Since the algorithms are parameterized on this model, executable code tailored for a specific robot can be generated, thanks to the facilities available for \dsls. This approach allows the users to deal only with the high level description of their robot and relieves them from problematic hand-crafted development; resources and efforts can then be focused on open research questions. Preliminary results about the generation of efficient code for inverse dynamics will be presented as a proof of concept of this approach.

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

[2]  W. Taha,et al.  Plenary talk III Domain-specific languages , 2008, 2008 International Conference on Computer Engineering & Systems.

[3]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit , 2009 .

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

[5]  Ulrik Pagh Schultz,et al.  Model-based kinematics generation for modular mechatronic toolkits , 2010, GPCE '10.

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

[7]  Gerhard K. Kraetzschmar,et al.  A Platform-independent Programming Environment for Robot Control , 2010, ArXiv.

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

[9]  Chee-Meng Chew,et al.  Virtual Model Control: An Intuitive Approach for Bipedal Locomotion , 2001, Int. J. Robotics Res..

[10]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[11]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

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

[13]  Andreas Pott,et al.  BRICS - Best practice in robotics , 2010, ISR/ROBOTIK.

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

[15]  Davide Brugali From the Editor-in-Chief: A New Research Community, a New Journal , 2010 .

[16]  Roy Featherstone,et al.  A Beginner's Guide to 6-D Vectors (Part 1) , 2010, IEEE Robotics & Automation Magazine.

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

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

[19]  Christian Schlegel,et al.  Robotic software systems: From code-driven to model-driven designs , 2009, 2009 International Conference on Advanced Robotics.

[20]  Christian Schlegel,et al.  Towards Quality of Service and Resource Aware Robotic Systems through Model-Driven Software Development , 2010, ArXiv.

[21]  Herman Bruyninckx,et al.  OROCOS RTT-Lua: an Execution Environment for building Real-time Robotic Domain Specific Languages , 2010 .