RobCoGen: a code generator for efficient kinematics and dynamics of articulated robots, based on Domain Specific Languages
Marco Frigerio, Jonas Buchli, Darwin Gordon Caldwell, Claudio Semini · Aisberg (University of Bergamo) · 2016
This paper presents the Robotics Code Generator (RobCoGen), an open source program that can generate an efficient implementation of rigid body dynamics and kinematics algorithms for articulated robots, such as humanoids and manipulators. New Domain Specific Languages (DSLs) for the specification of robot models and coordinate transforms lie at the core of our software. The technology of DSLs and code generation allows users to deal only with high level information (like a robot model), and relieves them from low level coding of critical routines. The generated code is efficient, tailored to each robot and suitable for applications ranging from simulations to hard real time robot control. This paper describes the rationale and the development of RobCoGen, as well as experiments that include comparisons with other programs: results show a comparable efficiency with code optimized using symbolic simplification (average execution time ratio of 1:22 with SD-FAST) and better performance than a general purpose library (ratio of 3:24 with RBDL). Our design criteria were not limited to efficiency, though, but we considered ease of use and flexibility as equally relevant.