A quadrupedal walking robot

Public Chat
Similar projects worth following
The DogBot project aims to demonstrate that you can build a walking robot that can work in human scale world for $1000. With the costs of 3D printing bringing part production down, and brushless motors and short run electronics prices falling and easily ordered, it should be possible to build something to rival Boston Dynamics’ Spot or MIT’s Cheetah, without the $100k+ price tag.

Why do this? There are lots of reasons - mainly because it’s a seriously fun experiment, but also it might show that with the cost of hardware reduced and open sourced, we can get collectively closer to a viable way to assist rescue workers in disaster situations, or just navigate our built environment in a way that wheeled robots can’t do. The DogBot also provides a platform for AI researchers to put their theory into practice, somewhere they can test that their simulations work under the difficulties and irregularities of real world conditions. If more people can test on this platform, without first having to find a research grant, we think the field will start to move forward a much faster pace. When you think about it, the industrial revolution and the current AI revolution have both benefited from rapid iterations by multiple participants - a lower cost robot means more reasons to iterate in the physical world.

We hope this project acts as a catalyst for this field. The next step is applying the same logic to humanoid robots, but a nice place to start is with man’s best friend.

To give you a taste of what it will look like once it is working, here is a gazebo simulation of a trot.

Everything in the project that I have created is licensed under the creative commons attribution license.  The firmware for the motor controller uses chibios which uses either GPL3 or free commercial license and Apache 2.0 License (See for details). The firmware is still very much work in progress, though care will be taken to make sure the final code can be used freely in open source projects.

  • 1 × Work in progress, but see:

  • Fusion 360 CAD now available

    Charles Galambos12/09/2019 at 13:17 3 comments

    Finally it's here,  I've made the CAD files for Dogbot publicly accessible! 

    You can access the CAD via the link:

    There are some caveats with the design as it stands. Though the design will work with 3D printed planet gears, the forces are on the edge of what they can handle and they do break fairly easily.   If the robot is to last any length of time they really need to be machined from something like 7075 aluminium.  The bearings do tend to loosen up as well, ideally they would be replaced with something with hardened metal surfaces which would last a little longer.

    I've not yet published all the design for the motor drivers, and control software.  If there is interest I can publish these as well, though both need further work.

  • Testing the new Dogbot

    Charles Galambos10/11/2019 at 15:50 0 comments

    So we've finally got the new version of the robot assembled,  fixed many niggles and now it is ready to be tested.  In the following video we've got the robot doing a slow walk with a 4kg load on its back. The new robot, which weights 20kg handles it with ease.

  • Testing the new leg, motor and controller together.

    Charles Galambos04/24/2019 at 13:46 0 comments

    We have our new motor controllers, gear box and leg working together for the first time.  It still running on the power supply, so we can't push it too hard as it powered from a bench power supply.   So far everything is looking good, plenty of torque and speed. Much smoother and quieter than previous version.

  • A New Robot Design

    Charles Galambos04/02/2019 at 10:54 2 comments

    It's been a while since I've posted anything but we've been busy here working on a new robot design.  The main goals of the redesign are to make the robot more reliable and easier to build.   The pushrod mechanism for the legs in the previous version put huge forces through a relatively small area causing the leg mounts to distort and giving the legs more give than is ideal.  To fix this we've changed the design to use a belt drive and large carbon fibre tube for the main support.  Following is picture of a prototype for the new leg design.

    Another limitation of the old design was the minimum height it could walk at, this prevented the robot lowering its body to the ground which is useful for fall prevention as well as recovery.  To give the legs more freedom they now are fixed on the side of the robot rather than under it as in the previous design.  This design also simplifies the kinematics, and makes the design more efficient as there is now effectively one motor per joint. 

    The old design was definitely a winter beast,  the PLA used to build it and the motor controllers struggled to work on a hot summer day.  To address this we're looking at using a plastic called ASA for the new build,  ungraded motor controllers, and some new 100kV motors which reduce the power need when the robot is in a position requiring high torque.

  • Improved Gait

    Charles Galambos07/11/2018 at 19:58 6 comments

    So after a bit of tinkering with the gait parameters I managed to come up with something that works much better.   It is still a fixed gait animation without any feedback, but it is stable and robust against disturbances.  Next is to add some feedback from an IMU and the torque from the motors.

  • First baby steps

    Charles Galambos07/09/2018 at 15:10 8 comments

    We've been trying some simple gaits animations to prove the robot can walk independently.  These run through a fixed set of movements without any feedback, this is the first one that worked so there is a huge room for improvement.  It falls over in the end of the video because of a problem with one of the motor controllers, it shouldn't take too long to track down and sort out.

  • How fast can the legs move?

    Charles Galambos07/06/2018 at 14:16 7 comments

    A brief update. I've just finished working on a new version of the motor control firmware to give more precise, faster control.   Here is an example of the results:

    The motor controllers are now estimating the desired velocity from successive positions, which keeps the position on target without increasing the latency in processing position commands.  The controllers also now have the option for a feed forward term for the motor torque, but that isn't used here. 

  • Standing and squatting

    Charles Galambos06/29/2018 at 10:54 2 comments

    With a new larger motors and a more rigid design, this video shows it standing up and squatting down under its own power.  The legs are still a little springy, but it should be possible to compensate for this in software.

  • Testing the motor controller and gear box

    Charles Galambos09/09/2017 at 16:59 0 comments

    So after quite a bit on work on the motor controller firmware, things are starting to come together.     Though the motor position estimation isn't working quite as well as I would like, it is good enough to control the motor and drive it reasonably efficiently.  There is also quite a bit more parameter tuning needed on the PID controllers, but I will wait until a full leg is assembled so I can tune it with a more realistic load.

    In the following video I am using a slider on a GUI to control the position of the motor.  Here I am using a single 14.8V battery.  I plan to use two of these in series to provide a 30V supply to reduce the current in the supply wiring, as you can see from the following video speed doesn't look like it will be a problem! 

  • Simulation in Gazebo

    Charles Galambos07/22/2017 at 08:20 1 comment

    Well designing the robot is all very well, but can it walk?  I decided to build a robot simulation using Gazebo,   It would have been good to do this earlier in the project as it may have helped with some of the design choices, but the simulation worked well once it was completed.

    The gait generation was based on this paper:

    Though the simulation is far from perfect this bodes well for performance of the physical robot.  I need to clean up the code for the ROS controllers, but I will add the code to the repository soon.

    The first tests were to check the actuators worked ok,  it was just moving up and down vertically.

    A slow walk, this only lifts one foot at a time whilst the other 3 are moving slowly back. It is looking good.  This is very stable, you can stop the gate at any time and dobot doesn't fall over. It's speed is limited though.

    Now a faster trot, this involves lifting two diagonal feet at the same time.   You need to be moving faster for this to be stable, but it also has a higher top speed.

View all 19 project logs

  • 1
    3D Printing Notes

    Most of the components in the project are printed in PLA with the exception of parts directly in contact with motor which will be made from ABS.

    PLA Printer setup:

    • 0.3 mm layer height
    • 20 % infill
    • Honeycomb fill pattern
    • 0.4 mm Nozzle diameter
    • Keep fan speed down to 20 to 30%, improves layer adhesion
    • Print on the hot side, typically I use 220, again to improve layer adhesion

View all instructions

Enjoy this project?



perry wrote 01/04/2019 at 06:11 point

Great Project!

Would you be willing to share some more info on your gearboxes? I am struggling a bit with figuring out my compound planetary design to get the ratio's I need. Having problems with figuring out the correct tooth count and modules that lead to the common center distance for the planets.

  Are you sure? yes | no

Charles Galambos wrote 04/02/2019 at 10:05 point

Sorting out the gearbox can be tricky.  What sort of gearing are you gong for?

  Are you sure? yes | no

Charles Galambos wrote 04/02/2019 at 10:23 point

The first thing to realise is that you can work out everything from the teeth count, as the number of teeth is proportional to the diameter.

  Are you sure? yes | no

ddomit wrote 10/03/2018 at 02:28 point

Nice Project!!! Can you share all the components needed please?!

  Are you sure? yes | no

Brian Johansen wrote 09/10/2018 at 20:43 point

New to this community, so forgive my question. Are you sharing your 3D designs and code eventually  ? This creature looks really sleek and well designed. Im impressed of the leg speed. It looks promising and I want to build one too.

  Are you sure? yes | no

jeff gates wrote 07/25/2018 at 19:10 point

Very cool, Here is another guy, James Bruton,  building a BotDog:

  Are you sure? yes | no

Tyler Berezowsky wrote 07/17/2018 at 15:11 point

Are you using FreeCAD to develop all these components (I was snooping around your repo)? How do you do assemblies? I didn't see support for assemblies in FreeCAD. 

  Are you sure? yes | no

Charles Galambos wrote 07/17/2018 at 15:22 point

The first version of dogbot used FreeCAD and I really wish I could have continued to but without decent assemblies it became a nightmare to update parts and check they fitted.  The recent versions of the robot were designed with Fusion 360, which isn't perfect but very much easier to work with.

If you are interested how the gearboxes work, the basic design has changed very little from the freecad ones.  I was checking clearances by exporting the components and importing them into a single design, a bit of a frustrating process.  

  Are you sure? yes | no

Tyler Berezowsky wrote 07/18/2018 at 22:49 point

Awesome, I was just curious about your workflow. I was trained with Solidworks and tried to transition to FreeCAD, but I also had to abandon it due the lack of solid assembly tools.  Thank you for your quick reply! It's an awesome project and I'm impressed at the amount of design work you've placed into this project thus far! 

  Are you sure? yes | no

anton.fosselius wrote 07/22/2018 at 19:59 point

have you checked out realthunders FreeCAD branch/fork?

Forum thread:

And btw i have done some work on an SDF/URDF exporter from FreeCAD to quickly test hw changes in gazebo. Check:

If you want i might be able to help you with a FreeCAD setup that makes development easier/faster.

  Are you sure? yes | no

Dan DWRobotics wrote 07/21/2017 at 17:29 point

This looking really good. Love the choice of motors. Should give a decent amount of power. Have you done any weight/force testing to see how strong you make the legs? Really like seeing big projects like this. Interested to see how this develops.

  Are you sure? yes | no

Charles Galambos wrote 07/21/2017 at 18:02 point

Thanks!  Yes I've done a some testing with my old motor controller and I believe the should be strong enough.    The legs were actually designed to be a little shorter than the ones in the pictures.  If the motors are struggling, I can increase the leverage by shortening the legs  by cutting down the carbon fibre rods.   I am hoping I won't have to though.

  Are you sure? yes | no

Ulysse wrote 07/21/2017 at 17:21 point
following with great interest

  Are you sure? yes | no

deʃhipu wrote 07/21/2017 at 16:50 point

Well, you can build a viable walking robot for $30, depending on your definition of "viable". How come I haven't seen this project before?

  Are you sure? yes | no

Charles Galambos wrote 07/21/2017 at 16:57 point

Hi!  I've only just got around to documenting it.    For this project viable is able to function in a human scale environment.

  Are you sure? yes | no

deʃhipu wrote 07/21/2017 at 17:01 point

That sounds like a very reasonable goal! Looking forward to see how it works out!

  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