A Domain-Specific Language and Simulation Architecture for...

Preview:

Citation preview

A Domain-Specific Language and Simulation Architecture for theOncilla Robot*

Arne Nordmann1 and Alexandre Tuleu2 and Sebastian Wrede1

I. INTRODUCTION

We present an experimentation environment for the ex-ploration of rich motor skills on a quadruped robot. Weintroduce a simulation platform around the (open) quadrupedrobot ’Oncilla’ that is integrated with a domain-specificlanguage (DSL) tool-chain for modeling and execution ofreproducible movement experiments. The Webots-based sim-ulator, shown in a Screenshot in Figure 1, features an opensource and cross-platform (Linux and Mac OS) interface withtaxonomic structure and rich sensor feedback. By providinga common abstracted interface for both simulation andhardware, it enables faster and easier transfer of experimentsbetween these two domains. This interface is accessiblethrough a local C++ interface as well as remotely via anopen-source middleware in with C++, Java, Python, andCommon Lisp bindings for extended language and tool sup-port. Integrated with the common interface, a DSL-based en-vironment around the simulator allows compact formulationof experiments in domain-specific terminology and easedgeneration of reproducible artifacts for experimentation. Wepresent how movement architectures and dynamical-systems-based components of different partners of the AMARSiproject are incorporated in the development of the DSL andthe experimentation toolchain.

II. DSL APPROACH

Research on movement generation in robotics is not onlychallenging for reasons of the intrinsic complexity of theunderlying control problems, but also due to the techno-logical and conceptual fragmentation of the domain. Ouranswer to this challenge is a model-driven approach around adomain-specific language (DSL) environment [1], integratedwith the quadruped simulator. We show our work based onDSLs to establish a domain-specific hypothesis test cycle formovement generation on robots.

The two core DSLs separate the domain along the formu-lation of functional and software architectural aspects. TheAMARSi DSL [2] is designed to allow compact structuraldescription of motor control architectures. It expresses motorcontrol systems as combinations of so-called movement prim-itives, that model flexible and adaptive movements in terms

*This work was partially funded by the European FP7 project AMARSi(grant no. 248311).

1A. Nordmann and S. Wrede are with the Research Institute forCognition and Robotics, Bielefeld University, 33615 Bielefeld, Germany{anordman, swrede} at cor-lab.de

2A. Tuleu is with the BioRob Lab at EPFL, 1015 Lausanne, Switzerlandalexandre.tuleu at epfl.ch

Fig. 1. Screenshot of the Oncilla simulator frontend in Webots.

of dynamical systems. It focuses solely on the functional con-cepts of a system, hiding the software architectural aspects. Asecond DSL covers the software architectural aspects, orga-nizing the system in Components with States, Ports,and their wiring.

As an example of how we foresee the DSL tool-chainto speed-up the hypotheses test cycle, we show how weallow formulation of dynamical system hypotheses directlyin the DSL environment. Figure 2 shows an example ofwriting a dynamical system as formula in the projectionalAMARSi DSL editor to be tested on the Oncilla platform. Itsupports writing the expression with references to the inputsand outputs of its context.

III. SOFTWARE ARCHITECTURE

The DSLs are prototyped and built in JetBrains MPS [3], alanguage workbench for building domain-specific languagesand their projectional editors. Model to model transformationbetween the AMARSi DSL and the Component DSL mapsthe functional system model to software concepts defined inthe Component DSL.

The Component DSL allows to automatically generateexperimentation code, targeting the AMARSi software ar-chitecture, which we exemplify together with the integratedquadruped simulation platform. The two main software li-braries of the software architecture are the Compliant Con-trol Architecture (CCA), a robotics component framework,and the Robot Control Interface (RCI), a library providingsoftware abstractions to model robot interfaces [4].

Figure 3 shows the common abstracted interface for bothsimulation and hardware. Its interface is locally accessible

Fig. 2. Adaptive Module with its inputs and outputs for goal, feedback and control output. It contains a Dynamical System that is specified byan mathematical expression referencing inputs and outputs.

through an RCI-based C++ interface, using multiple inher-itance to expose the node taxonomy. It is also remotelyavailable through CCA and an open-source middle-ware withC++, Java, Python and Common Lisp bindings for extendedlanguage and tool support. One of the main design goals wasto implement a common abstraction between hardware andsimulation, with binary compatibility, to facilitate an easiertransfer between hardware and simulation. The abstractionalso allows to potentially exchange the simulation backend.

IV. SIMULATION ENVIRONMENTThe Oncilla robot is an open source, lightweight, bio-

inspired quadruped robot developed by the AMARSi consor-tium. It can be seen as an improved version of the Cheetah-Cub robot [5], with one additional degree of freedom perleg (adduction / abduction), stronger brush-less motor, moresensors (passive joint position measurement, three axis loadcells per leg and IMU), improved payload capacity andfastest communication loop (up to 500 Hz). From Cheetah-Cub, Oncilla retakes the three-segmented Advanced SpringLoaded Pantograph (ASLP) leg design, based on observationof leg kinematics in animal locomotion.

A Webots [6] model has been created, with an exact rep-resentation of the ASLP leg design including the two closedkinematic loop of each legs, serial and parallel compliance,and asymmetric actuation of the knee. These complex taskshave been performed with the use of our open sourcelibrary libwebots. These library expose a series of reusablemodules that provide an efficient API to access the OpenDynamic Engine primitives created by Webots. It allowsto extend the Webots API by further features like closedkinematic loops, or create new complex functionality like the

Fig. 3. Three-layered Oncilla Software Architecture.

possibility to restraint the robot motion in its sagital plane.Although a precise description of the Oncilla quadrupedrobot could not be created, we motivate our choice of Webotsas physic simulator in comparison to other open source ormore accurate alternatives, for the simplicity of the Webotsinterface, targeting education [7]. The simple interface led tothe application of the Oncilla simulator as teaching materialfor several master level courses.

V. CONCLUSION

Implementing the Oncilla interface to different simulator-backends and the Oncilla hardware still requires a lot ofmanual (implementation) work. Modeling functional andnon-functional aspects of a platform would allow easier andfaster integration of further backends (further simulators [8]and robot platforms) into the presented experimentationenvironment, by automatic generation of the required gluecode.

The presented approach allows explicit modeling of mo-tion control architectures and its quick validation in a simula-tion backend. Algorithmic and system parameters typicallyhidden in software artifacts are made explicit through theDSL approach. Thereby, reproducible experimentation isfacilitated and Experimentation is sped up as long as devel-opers stay within the modeled domain. That said, adaptingthe Oncilla interface to different simulator-backends andthe Oncilla hardware still requires manual (implementation)work. Modeling functional and non-functional aspects of aplatform would allow easier and faster integration of furtherbackends (further simulators [8] and robot platforms) throughautomatic code generation. Future work at the DSL level willfocus on improved representation of dynamic model aspectsand a more powerful expression language to directly specifydynamical systems.

REFERENCES

[1] A. Nordmann and S. Wrede. A Domain-Specific Language for RichMotor Skill Architectures. In 3rd International Workshop on Domain-Specific Languages and models for Robotic systems, Tsukuba, 2012.

[2] A. Nordmann and S. Wrede. A Case-Study on a Domain-SpecificLanguage for Robotics Motion Architectures (submitted). In ACM/IEEE16th International Conference on Model Driven Engineering Languagesand Systems (MODELS), 2013.

[3] JetBrains. Meta Programming System.[4] A. Nordmann, M. Rolf, and S. Wrede. Software Abstractions for

Simulation and Control of a Continuum Robot. In Itsuki Noda, NoriakiAndo, Davide Brugali, and James J. Kuffner, editors, Simulation,Modeling, and Programming for Autonomous Robots, volume 7628 ofLecture Notes in Computer Science, pages 113–124, Berlin, Heidelberg,2012. Springer Berlin Heidelberg.

[5] A. Sproewitz, A. Tuleu, M. Vespignani, M. Ajallooeian, E. Badri, andA. Ijspeert. Towards Dynamic Trot Gait Locomotion - Design, Controland Experiments with Cheetah-cub, a Compliant Quadruped Robot.International Journal of Robotics Research, submitted, 2013.

[6] Olivier Michel. Webots: Professional mobile robot simulation. Inter-national Journal of Advanced Robotic Systems, 1(1):39–42, 2004.

[7] Luc Guyot, Nicolas Heiniger, Olivier Michel, and Fabien Rohrer.Teaching robotics with an open curriculum based on the e-puck robot,simulations and competitions.

[8] Michael Reckhaus, Nico Hochgeschwender, Jan Paulus, AzamatShakhimardanov, and Gerhard K. Kraetzschmar. An Overview aboutSimulation and Emulation in Robotics. In Proceedings of SIMPAR 2010Workshops Intl. Conf. on SIMULATION, MODELING and PROGRAM-MING for AUTONOMOUS ROBOTS, pages 365–374, 2010.

Recommended