Mini Raspberry Pi Boston Dynamics–inspired robot

This is a ‘Spot Micro’ walking quadruped robot running on Raspberry Pi 3B. By building this project, redditor /thetrueonion (aka Mike) wanted to teach themself robotic software development in C++ and Python, get the robot walking, and master velocity and directional control.

Mike was inspired by Spot, one of Boston Dynamics’ robots developed for industry to perform remote operation and autonomous sensing.

What’s it made of?

  • Raspberry Pi 3B
  • Servo control board: PCA9685, controlled via I2C
  • Servos: 12 × PDI-HV5523MG
  • LCD Panel: 16×2 I2C LCD panel
  • Battery: 2s 4000 mAh LiPo, direct connection to power servos
  • UBEC: HKU5 5V/5A ubec, used as 5V voltage regulator to power Raspberry Pi, LCD panel, PCA9685 control board
  • Thingiverse 3D-printed Spot Micro frame

How does it walk?

The mini ‘Spot Micro’ bot rocks a three-axis angle command/body pose control mode via keyboard and can achieve ‘trot gait’ or ‘walk gait’. The former is a four-phase gait with symmetric motion of two legs at a time (like a horse trotting). The latter is an eight-phase gait with one leg swinging at a time and a body shift in between for balance (like humans walking).

Mike breaks down how they got the robot walking, right down to the order the servos need to be connected to the PCA9685 control board, in this extensive walkthrough.

Here’s the code

And yes, this is one of those magical projects with all the code you need stored on GitHub. The software is implemented on a Raspberry Pi 3B running Ubuntu 16.04. It’s composed on C++ and Python nodes in a ROS framework.

What’s next?

Mike isn’t finished yet: they are looking to improve their yellow beast by incorporating a lidar to achieve simple 2D mapping of a room. Also on the list is developing an autonomous motion-planning module to guide the robot to execute a simple task around a sensed 2D environment. And finally, adding a camera or webcam to conduct basic image classification would finesse their creation.

22 comments
Jump to the comment form

Avatar

Hey, that’s my robot :) I’m flattered you featured it on raspberry pi’s website. Thanks!

Reply to Michael Romanko

Avatar

Great Job, Michael!

Reply to geoffrey

Avatar

Awesome job, Micheal!

Reply to Dr. Isaac Andy

Avatar

Amazing job, this has a lot of work and I congratulate the maker. Hands down the best I’ve seen in a while

Reply to Diego L Malpica

Avatar

This is awesome, great work! I had started something way less impressive last year (head mounted on wheels, RPi with openCV) but had to stop due to work priorities. I had kept raspianOS but here you’ve used Ubuntu. Is it more lightweight or does it have more development facilities?

Reply to Indy

Avatar

Indy, I used Ubuntu because I found a prebuilt raspberry pi image with ubuntu 16.04 and ROS kinetic installed. This took a lot of headache out of getting ROS up and working on the pi. I first tried building it from source on Raspbian but it was a pain. See the wiki for more info

Reply to Michael Romanko

Avatar

Hey,Michael,to install ROS,you can use Ubuntu Mate instead of Raspian

Reply to Thomas Young

Avatar

This is beautiful.
Please keep it up, and i am sure that ROS is involved here as well.
lols.

Reply to Mbonu Chinedum

Avatar

This is pretty cool. Would love to see the 2D mapping of a room.

Reply to Thabo

Avatar

I have been looking at a number of opensource designs over the past few months and this has to be right up there as one of the best I’ve, seen good job!

Reply to Richard Wadsworth

Avatar

I’m a little confused… this says it is for Pi3B but the make file linked to is for Arduino.

Reply to Frank

Avatar

“The mini ‘Spot Micro’ bot rocks a three-axis angle command/body pose control” using the word rocks for “has” or “contains” had me puzzled for a while. Rocking a position detector would have an adverse effect on on its ability to determine the robot’s position.

Reply to A SMITH

Avatar

hi,

possible to have the source file, not only the stl ?

thx

Reply to patoche

Avatar

STL?Is this c++?

Reply to Rick

Avatar

Perhaps my grasp of the language isn’t what it used to be, so please be so kind as to enlighten me… Is there a team working on this project or is it just one person i.e. Mike? I don’t quite get the phrasing “Mike isn’t finished yet: they are looking to improve their yellow beast…”. Of course, in the end it’s just a rhetorical question as I’m sure all the people already know the answer. Yuck!

Reply to Gigel De Hohenzollern

Avatar

One of the best projects featuring a Raspberry Pi. I like the use of concept of Boston Dynamics robots. To see it implement with a Raspberry Pi is inspiring.

Reply to Truston Ailende

Avatar

Very impressive. I can appreciate all that went I to it.

Reply to Carl

Avatar

Perhaps a shout out to Deok-yeon Kim is in order here. He designed the spot micro and uploaded the files to thingsverse.

Reply to Carl P.

Avatar

Excellent staff,eager to have a try. Thanks !
My QQ: 31856573.

Reply to TongTyphoon

Avatar

great!this so cool!

Reply to Rick

Avatar

Michael, great project!
You might be interested in the OpenCV AI Kit (https://opencv.org/introducing-oak-spatial-ai-powered-by-opencv/) when adding a camera. The OAK-D comes with a main camera as well as stereo cameras that can be used for 3D positioning and mapping, with a dedicated AI chip so your RPi control computer doesn’t have to get overwhelmed with your image classification.

Reply to Eliot

Avatar

this is so cool, Micheal

Reply to connor

Leave a Comment