RAP an autonomous quadruped robot

RAP is aimed at developing from scratch - ie no ROS - the HW and SW of a four-leg robot with sensors enabling an autonomous walk.

Similar projects worth following
This project started from my desire to develop an autonomous robot without relying on existing kits, so I could dig into the necessary algorithms, hardware design and associated code.

I initially considered developing on top of ROS (Robot Operating System) but as this is my first project of this kind, I decided to stay "bare metal" - I am not a Linux expert - and become familiar with Inverse Kinematics, COG determination etc.

RAP stands for Robotic Autonomous Pet - which certainly sounds much more serious than what this project actually is ! - and has the following characteristics :
- four leg, 3 DOF per leg
- sensors : LIDAR for 2D scan of the environment, IMU to get pitch, roll, yaw and compass information, Foot pressure sensors for detecting "in the air leg" situations.
- Wifi connectivity

Hardware design was done on Fusion360, all code done in C++. Source files are available on GitHub.

Below some details info about the mechanical and electronics components involved : 


it is composed of 30x15mm aluminium profiles for the robot body, and 12x12mm profiles for the robot stand. The parts have been printer on Polymax PLA, which is stronger than regular PLA, actually almost as ABS. 

Dimensions are : body length 370mm, body width 340mm, default height 370mm.


The controller board is a Teensy 2.6, which is more powerful than an Arduino and includes a FPU, useful for the IK computation. This board is 3.3V compliant and does not tolerate 5V I/Os, so a bunch of level converters have been used. 

Servos are controlled by a SSC32U Lynxmotion board. This board can control up to 32 servos, which is more than enough for tihs project. While it simplifies the servo control code, I sitll had to implement movement acceleration/deceleration than is provided by other boards. I may switch to Pololu Maestro boards later. 

Servos are of RDS3115MG type, and are supposed to provide a 15kg torque, which is the main reason I selected this model - apart from the price - considering the robot weights about 3kg with its battery.

Two power supplies are used : a 15A 5V Pololu for the electronics,  a 3.3V regulator, for the Teensy a 20W 7.2V for the servos. The battery is a LiPo 3S 1800mAh battery typically used with drones (another hobby...).  I included a LiPo voltage alarm to protect the battery. 

Below some of the first walks... still lots of room for improvement !!

sheet - 28.32 kB - 11/17/2018 at 11:25


sheet - 36.03 kB - 11/17/2018 at 11:24


  • 1 × Teensy 2.6 controller
  • 1 × SSC32U servo controller
  • 1 × Arduino LCD Module,Quimat IIC/I2C/TWI Serial 2004 20x4 LCD Module Shield
  • 1 × POLOLU-2881 Pololu 5V, 15A Step-Down Voltage Regulator D24V150F5
  • 1 × DC 6-40V To 1.2-36V 300W 20A Constant Current Adjustable Buck Converter Step Down Module Board With Short Circuit Protection Fun

View all 12 components

  • 1
    Inverse Kinematics

    Below the basic computation I used. As I am not sure if / how I can convert that into a clean document, I preferred to attach screen copies of the notes I took, hopefully you will find that useful.

    I attached the excel file I used to test the computation before implementing it and draw a schematic view of a leg.

  • 2
    COG (Center of Gravity)

    The below determines the COG location desired before a given leg can be lifted. 

    Also below the excel file I used to draw the COG position based on this mdel.

View all instructions

Enjoy this project?



Jclabbat wrote 12/22/2018 at 10:18 point

Quand je pensé que j ai fait cela pendant mes Etudes, Ingénieur specialisé en robotique, je suis vraiment un imposteur ;-). Bravo Phil. Jc ps prévoie quand même l’option silence en cas ou ton animal aboie tout le temps. Tu vas avoir des problèmes avec tes voisins.

  Are you sure? yes | no

Philippe Elie wrote 11/18/2018 at 08:52 point

merci ! Je lisais la description du projet Pablo Odysseus et j’ai réalisé que c’etait toi ! C’est génial, bravo

  Are you sure? yes | no

Ulysse wrote 11/17/2018 at 19:01 point

Bien joué Philippe.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates