Modeling of motion primitive architectures using domain-specific languages

Many aspects in robotics, and their omnipresent ideal models, animals and humans, are still not understood or explored well enough, for example producing motions of animaland human-like complexity. To explore the inner workings of systems studying this complexity, the essential concepts of interest need to be made explicit and raised from the code-level to a higher level of abstraction to be able to reason about them. This work introduces a model-driven engineering approach for complex movement control architectures based on motion primitives, which in recent years have been a central development towards adaptive and flexible control of complex and compliant robots. The goal is to realize rich motor skills through the composition of motion primitives. This thesis proposes a design process to analyze the control architectures of representative example systems to identify common abstractions. Identified and formalized concepts can then be used to automate software development of motion primitive architectures through model-driven engineering methods and domain-specific languages. It turns out that the introduced notion of motion primitives implemented as dynamical systems with machine learning capabilities, provide the computational building block for a large class of such control architectures. Building on the identified concepts, a set of modularized domain-specific languages allows the compact specification of motion primitive architectures. This paves the way for domain experts rather than computing technology specialists to produce systems, which is one of the main goals of this work. The approach and the accompanying model-driven engineering toolchain is evaluated in a task of the European Robotics Challenges (EuRoC) and a real world example of automatic laundry grasping with the KUKA Lightweight Robot IV, where executable source-code is automatically generated from the domain-specific language specification.

[1]  Ingo Lütkebohle,et al.  Requirements and a case-study for SLE from robotics: event-oriented incremental component construction , 2011, GI-Jahrestagung.

[2]  Jochen J. Steil,et al.  Learning whole upper body control with dynamic redundancy resolution in coupled associative radial basis function networks , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[3]  Jun Nakanishi,et al.  Dynamical Movement Primitives: Learning Attractor Models for Motor Behaviors , 2013, Neural Computation.

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

[5]  Stanley T. Birchfield,et al.  Program synthesis by examples for object repositioning tasks , 2014, 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[6]  E. Bizzi,et al.  Article history: , 2005 .

[7]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[8]  Karsten Berns,et al.  On Software Quality-motivated Design of a Real-time Framework for Complex Robot Control Systems , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[9]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[10]  Pablo Bustos,et al.  Improving the lifecycle of robotics components using Domain-Specific Languages , 2013, ArXiv.

[11]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[12]  Tetsuo Kotoku,et al.  Coordinating Software Components in a Component-Based Architecture for Robotics , 2010, SIMPAR.

[13]  Aude Billard,et al.  Coupled Dynamical System Based Hand-Arm Grasp Planning under Real-Time Perturbations , 2011, Robotics: Science and Systems.

[14]  Olivier Michel,et al.  Cyberbotics Ltd. Webots™: Professional Mobile Robot Simulation , 2004, ArXiv.

[15]  Dongheui Lee,et al.  Incremental kinesthetic teaching of motion primitives using the motion refinement tube , 2011, Auton. Robots.

[16]  Jochen J. Steil,et al.  Modeling of movement control architectures based on motion primitives using domain-specific languages , 2015, 2015 IEEE International Conference on Robotics and Automation (ICRA).

[17]  Gabor Karsai,et al.  Design Guidelines for Domain Specific Languages , 2014, ArXiv.

[18]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[19]  Alexey Zakharov,et al.  A Reuse-Oriented Development Process for Component-Based Robotic Systems , 2012, SIMPAR.

[20]  Kunle Olukotun,et al.  OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning , 2011, ICML.

[21]  Chee Kheong Siew,et al.  Extreme learning machine: Theory and applications , 2006, Neurocomputing.

[22]  Holger Voos,et al.  Towards a Robot Perception Specification Language , 2014, ArXiv.

[23]  Gordon Cheng,et al.  Human-humanoid interaction: is a humanoid robot perceived as a human? , 2004, 4th IEEE/RAS International Conference on Humanoid Robots, 2004..

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

[25]  Azamat Shakhimardanov,et al.  Component-Based Robotic Engineering (Part II) , 2010, IEEE Robotics & Automation Magazine.

[26]  Jun Nakanishi,et al.  Learning Attractor Landscapes for Learning Motor Primitives , 2002, NIPS.

[27]  J. Buchli,et al.  Model based code generation for kinematics and dynamics computations in robot controllers , 2012 .

[28]  Patrizia Scandurra,et al.  Component-based robotic engineering (Part I) [Tutorial] , 2009, IEEE Robotics & Automation Magazine.

[29]  Torsten Bertram,et al.  Get Out of the Way – Obstacle Avoidance and Learning by Demonstration for Manipulation , 2011 .

[30]  T. Chaminade,et al.  Motor interference between Humans and Humanoid Robots: Effect of Biological and Artificial Motion , 2005, Proceedings. The 4nd International Conference on Development and Learning, 2005..

[31]  Christian Schlegel,et al.  Managing execution variants in task coordination by exploiting design-time models at run-time , 2011, 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[32]  Adriana Tapus,et al.  SafeRobots: A model-driven Framework for developing Robotic Systems , 2014, 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[33]  James J. Kuffner,et al.  OpenRAVE: A Planning Architecture for Autonomous Robotics , 2008 .

[34]  Francisco José Ortiz Zaragoza,et al.  V3CMM: a 3-view component meta-model for model-driven robotic software development , 2010 .

[35]  Auke Ijspeert,et al.  Modeling discrete and rhythmic movements through motor primitives: a review , 2010, Biological Cybernetics.

[36]  Arie van Deursen,et al.  REPORT RAPPORT , 1997 .

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

[38]  Alberto Rodrigues da Silva,et al.  Model-driven engineering: A survey supported by the unified conceptual model , 2015, Comput. Lang. Syst. Struct..

[39]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[40]  Benjamin Dittes,et al.  Formal system design for intelligent artifacts , 2012 .

[41]  Jochen J. Steil,et al.  Assisted Gravity Compensation to cope with the complexity of kinesthetic teaching on redundant robots , 2013, 2013 IEEE International Conference on Robotics and Automation.

[42]  Sebastian Wrede,et al.  A middleware for collaborative research in experimental robotics , 2011, 2011 IEEE/SICE International Symposium on System Integration (SII).

[43]  Bernhard Rumpe,et al.  A new skill based robot programming language using UML/P Statecharts , 2013, 2013 IEEE International Conference on Robotics and Automation.

[44]  Nikolaos G. Tsagarakis,et al.  A human-like walking for the COmpliant huMANoid COMAN based on CoM trajectory reconstruction from kinematic Motion Primitives , 2011, 2011 11th IEEE-RAS International Conference on Humanoid Robots.

[45]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[46]  Bernhard Rumpe,et al.  MontiArcAutomaton: Modeling Architecture and Behavior of Robotic Systems , 2014, ICRA 2014.

[47]  Adriana Tapus,et al.  Solution Space Modeling for Robotic Systems , 2014 .

[48]  Markus Völter,et al.  Software Architecture - A pattern language for building sustainable software architectures , 2006, EuroPLoP.

[49]  Joris De Schutter,et al.  Geometric Relations Between Rigid Bodies (Part 1): Semantics for Standardization , 2013, IEEE Robotics & Automation Magazine.

[50]  Tom Henderson,et al.  Logical sensor systems , 1984, J. Field Robotics.

[51]  Diomidis Spinellis,et al.  Notable design patterns for domain-specific languages , 2001, J. Syst. Softw..

[52]  Wei Wang,et al.  IFAC Proceedings Volumes (IFAC-PapersOnline) , 2015 .

[53]  Eelco Visser,et al.  DSL Engineering - Designing, Implementing and Using Domain-Specific Languages , 2013 .

[54]  José Luis Gordillo L/sub E/: a high level language for specifying vision verification tasks , 1991, Proceedings. 1991 IEEE International Conference on Robotics and Automation.

[55]  Juan F. Inglés-Romero,et al.  Managing Run-Time Variability in Robotics Software by Modeling Functional and Non-functional Behavior , 2013, BMMDS/EMMSAD.

[56]  Friedrich M. Wahl,et al.  MiRPA: Middleware for robotic and process control applications , 2007 .

[57]  E Bizzi,et al.  Motor learning through the combination of primitives. , 2000, Philosophical transactions of the Royal Society of London. Series B, Biological sciences.

[58]  Ingo Lütkebohle,et al.  Modeling Non-Functional Application Domain Constraints for Component-Based Robotics Software Systems , 2016, ArXiv.

[59]  Rico Möckel,et al.  Oncilla robot: a light-weight bio-inspired quadruped robot for fast locomotion in rough terrain , 2011 .

[60]  Piotr Trojanek Model-driven engineering approach to design and implementation of robot control system , 2013, ArXiv.

[61]  Jochen J. Steil,et al.  Teaching nullspace constraints in physical human-robot interaction using Reservoir Computing , 2012, 2012 IEEE International Conference on Robotics and Automation.

[62]  Juan F. Inglés-Romero,et al.  Model-driven software systems engineering in robotics: Covering the complete life-cycle of a robot , 2015, it Inf. Technol..

[63]  Joris De Schutter,et al.  Geometric Relations Between Rigid Bodies (Part 2): From Semantics to Software , 2013, IEEE Robotics & Automation Magazine.

[64]  Adriana Tapus,et al.  Model-driven software development approaches in robotics research , 2014, MiSE 2014.

[65]  Gerhard K. Kraetzschmar,et al.  Structured Design and Development of Domain-Specific Languages in Robotics , 2014, SIMPAR.

[66]  Broderick Crawford,et al.  Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) , 2007 .

[67]  Sebastian Wrede,et al.  A Domain-Specific Language and Simulation Architecture for the Oncilla Robot , 2013 .

[68]  Herman Bruyninckx,et al.  Domain Specific Language for Geometric Relations between Rigid Bodies targeted to robotic applications , 2013, ArXiv.

[69]  Kazuhito Yokoi,et al.  Leg motion primitives for a dancing humanoid robot , 2004, IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004.

[70]  Colin Atkinson,et al.  Criteria for Orthographic Viewpoints , 2014, VAO '14.

[71]  Benjamin Schrauwen,et al.  MACOP modular architecture with control primitives , 2013, Front. Comput. Neurosci..

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

[73]  Klaus Neumann,et al.  Neural learning of stable dynamical systems based on data-driven Lyapunov candidates , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[74]  S. Schaal Dynamic Movement Primitives -A Framework for Motor Control in Humans and Humanoid Robotics , 2006 .

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

[76]  Darwin G. Caldwell,et al.  Code generation of algebraic quantities for robot controllers , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[77]  Ulrike Thomas,et al.  Compliant motion programming: The task frame formalism revisited , 2004 .

[78]  Alois Knoll,et al.  Design Abstraction and Processes in Robotics: From Code-Driven to Model-Driven Engineering , 2010, SIMPAR.

[79]  Akim Demaille,et al.  Events! (Reactivity in urbiscript) , 2010, ArXiv.

[80]  Mitsuo Kawato,et al.  MOSAIC Model for Sensorimotor Learning and Control , 2001, Neural Computation.

[81]  Jochen J. Steil,et al.  Interactive imitation learning of object movement skills , 2011, Autonomous Robots.

[82]  Jun Nakanishi,et al.  Learning Movement Primitives , 2005, ISRR.

[83]  Alin Albu-Schäffer,et al.  Towards the Robotic Co-Worker , 2009, ISRR.

[84]  Bernhard Rumpe,et al.  Tailoring the MontiArcAutomaton Component & Connector ADL for Generative Development , 2015, ArXiv.

[85]  Jochen J. Steil,et al.  A user study on kinesthetic teaching of redundant robots in task and configuration space , 2013, HRI 2013.

[86]  Herman Bruyninckx,et al.  Open robot control software: the OROCOS project , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[87]  Sebastian Wrede,et al.  Software Abstractions for Simulation and Control of a Continuum Robot , 2012, SIMPAR.

[88]  Andreas Angerer,et al.  A Graphical Language for Real-Time Critical Robot Commands , 2013, ArXiv.

[89]  Markus Völter,et al.  From Programming to Modeling - and Back Again , 2011, IEEE Software.

[90]  Brett Browning,et al.  A survey of robot learning from demonstration , 2009, Robotics Auton. Syst..

[91]  Markus Völter,et al.  Language and IDE Modularization and Composition with MPS , 2011, GTTSE.

[92]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[93]  Bernhard Rumpe,et al.  MontiCore: a framework for compositional development of domain specific languages , 2010, International Journal on Software Tools for Technology Transfer.

[94]  Ivan Lundberg,et al.  Safety of collaborative industrial robots: Certification possibilities for a collaborative assembly robot concept , 2011, 2011 IEEE International Symposium on Assembly and Manufacturing (ISAM).

[95]  E. Bizzi,et al.  Linear combinations of primitives in vertebrate motor control. , 1994, Proceedings of the National Academy of Sciences of the United States of America.

[96]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[97]  Sebastian Wrede,et al.  A Domain-Specific Language for Rich Motor Skill Architectures , 2013, ArXiv.

[98]  Jochen J. Steil,et al.  Neural learning and dynamical selection of redundant solutions for inverse kinematic control , 2011, 2011 11th IEEE-RAS International Conference on Humanoid Robots.

[99]  Holger Voos,et al.  Declarative Specification of Robot Perception Architectures , 2014, SIMPAR.

[100]  Stefan Schaal,et al.  Learning and generalization of motor skills by learning from demonstration , 2009, 2009 IEEE International Conference on Robotics and Automation.

[101]  Andre Lemme,et al.  Bootstrapping movement primitives from complex trajectories , 2014 .

[102]  Sebastian Wrede,et al.  A Domain-Specific Language and Simulation Architecture for Motor Skill Exploration , 2013 .

[103]  Giorgio Metta,et al.  Towards long-lived robot genes , 2008, Robotics Auton. Syst..

[104]  Kjeld Jensen,et al.  Towards Rule-Based Dynamic Safety Monitoring for Mobile Robots , 2014, SIMPAR.

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

[106]  Karsten Berns,et al.  Introducing FINROC: A Convenient Real-time Framework for Robotics based on a Systematic Design Approach , 2012 .

[107]  Oussama Khatib,et al.  Springer Handbook of Robotics , 2007, Springer Handbooks.

[108]  Helge J. Ritter,et al.  A Dual Interaction Perspective for Robot Cognition: Grasping as a "Rosetta Stone" , 2007, Perspectives of Neural-Symbolic Integration.

[109]  Tewfik Ziadi,et al.  RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications , 2012, SIMPAR.

[110]  Auke Jan Ijspeert,et al.  Towards Modular Control for Moderately Fast Locomotion over Unperceived Rough Terrain , 2013 .

[111]  Turhan Özgür Comparison of Microsoft DSL Tools and Eclipse Modeling Frameworks for Domain-Specific Modeling in the context of Model-Driven Development , 2007 .

[112]  Eelco Visser,et al.  The Spoofax language workbench , 2010, SPLASH/OOPSLA Companion.

[113]  Ulrike Thomas,et al.  Error-tolerant execution of complex robot tasks based on skill primitives , 2003, 2003 IEEE International Conference on Robotics and Automation (Cat. No.03CH37422).

[114]  Joris De Schutter,et al.  Reusable hybrid force-velocity controlled motion specifications with executable Domain Specific Languages , 2011, 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[115]  Eugene Syriani,et al.  A Visual Modeling Language for RDIS and ROS Nodes Using AToM3 , 2012, SIMPAR.

[116]  Sebastian Wrede,et al.  A Survey on Domain-Specific Languages in Robotics , 2014, SIMPAR.

[117]  Herman Bruyninckx,et al.  The 5C-based architectural Composition Pattern: lessons learned from re-developing the iTaSC framework for constraint-based robot programming , 2014 .

[118]  Sebastian Wrede,et al.  A Meta-model and Toolchain for Improved Interoperability of Robotic Frameworks , 2012, SIMPAR.

[119]  Rocco Moretti,et al.  Model Driven Architecture (MDA) , 2007 .

[120]  Herman Bruyninckx,et al.  The BRICS component model: a model-based development paradigm for complex robotics software systems , 2013, SAC '13.

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

[122]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.