In this post, we describe the components and the architecture of the Tigrillo robot, a compliant quadruped platform controlled with a Raspberry Pi to achieve early research on CPGs and transfer learning. In order to situate the technical description that follows in a scientific context, it may be useful to explain the research methodology that is used:
- Optimisation of a parametric CPG controller using the NRP and the VirtualCoach
- Transfer and validation on the Tigrillo quadruped platform
- Collection and analysis of sensors feedback ont the robot and in the NRP to design and improve a robust closed-loop system
- Implementation of the CPGs using NEST on the NRP
- Transfer and validation on Oncelot, our quadruped robot embedding SpiNNaker hardware
- Comparaison between simulations and the real platforms and extraction of knowledge to iterate on step 1.
The Tigrillo robot enables step 2 by providing a robot to validate the accuracy an general behavior in the NRP simulations.
The design process of Tigrillo platform have been guided considering three main features for the robot: compliance, cheapness, versatility. The compliance is a key element in this research as it is believed to add efficiency and robustness to locomotion, like what we can see in biology. However, it also challenges classical control techniques as the dynamics of the robot is now governed by equations with a higher complexity level. On the current platform, the compliance is mainly ensure by using springs in the legs knee instead of actuating them.
Electrical and Software architecture:
- Sensors and Actuators: 4 Dynamixel RX-24F servomotors, an IMU (Inertial Measurement Unit), various force and flexion sensors in the feet and legs
- Power supply: A DC step-up voltage convertor connected to a 3 cells LiPo battery to supply the boards and motors with a regulated voltage and a stalk current that can rise to 10A when the legs are pushing together and the motors have to deliver a high torque.
- Control Board: A OpenCM board (based on an Atmel ARM Cortex-M3 microprocessor) that reads the analog sensor values at a constant frequency and send the position or velocity commands to the servomotors using the protocol standard defined by Dynamixel.
- Computation board: A Raspberry Pi with Ubuntu Mate 16.04 that implements a CPG controller included in the same Python software stack that the one used in the NRP and thus easily switch from simulation to trials and validation in the real world.
The software repository also includes board documentation on the top of the python code used for control and simulation.