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.

23 comments

Michael Romanko avatar

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

geoffrey avatar

Great Job, Michael!

Dr. Isaac Andy avatar

Awesome job, Micheal!

Jason avatar

Hey Michael,
Awesome Robot!
I was wondering if the original solidworks files are available anywhere as we’re looking to do a 3d rendering of the robot for an engineering project at university.

Kind regards,
J

Diego L Malpica avatar

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

Indy 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?

Michael Romanko 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

Thomas Young avatar

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

Mbonu Chinedum avatar

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

Thabo avatar

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

Richard Wadsworth 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!

Frank avatar

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

A SMITH 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.

patoche avatar

hi,

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

thx

Rick avatar

STL?Is this c++?

Gigel De Hohenzollern 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!

Truston Ailende 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.

Carl avatar

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

Carl P. avatar

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

TongTyphoon avatar

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

Rick avatar

great!this so cool!

Eliot 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.

connor avatar

this is so cool, Micheal

Comments are closed