MPERL: Hardware and Software Codesign for Robotic Manipulators xc2xa9 Building small custom robots is getting democratized thanks to affordable tools like 3D printers and micro controllers. However, it still requires expertise from a wide range of domains: from designing the mechanical parts to writing the code that controls the robot. We present MPERL, a tool to help nonexperts build custom robotic manipulators. MPERL starts from an abstract description of the robotxe2x80x99s kinematic structure which contains information about joints, actuators, and sensors. The structure is refined with an easily manufactured geometry. Furthermore, from the structure MPERL generates control code which can be used to move the robot to a target configuration. We evaluate MPERL on a range of common robotic manipulator architectures, both serial and parallel.

Exploiting linearity in dynamics solvers for the design of composable robotic manipulation architectures We investigate two major limiting factors in the design and implementation of modern dynamics solvers that interfere with their full utilization in versatile, manipulationdriven robotic software architectures. The first limitation originates from the design of those solvers which aims at computational efficiency while neglecting composability. Instead, we advocate to design the solvers in such a way that they exploit linearity in the equations of motion to fully decompose the state of a kinematic chain. This enables a versatile recomposition and more flexible applications. Secondly, we have observed that most implementations follow the programming principle of information hiding. Consequently, the internal state that is used to compute motion control commands is withheld from other parts of the software architecture. We tackle this problem by following a dataflow programming paradigm and separating the softwarexe2x80x99s dataflow from the control flow. Thereafter, we demonstrate those two simple, yet effective strategies to overcome the limitations along various case studies.