Made a large quadruped robot using custom SimpleFOC based drivers and BLDC motors

Hi everyone,

for the past two years, I have been building a large (comparable to spot) robotic dog. For financial and educational reasons, I decided to design and build almost all of the parts myself, which naturally lead me here, to SimpleFOC for motor control.

I recently finished the robot, also using it for my graduation and since a lot you helped me during the driver/motor design I wanted to share how it all turned out. And also say, thanks, I’ve learned a lot!!

The robot has about 25kg and is almost 1 meter long. It has 12 DOF, with most of the parts 3D printed and attached to aluminium profiles. As mentioned, all 12 motors are custom build, as are their drivers.

The robot dog:


The motor/driver pair:

All my drivers :smiley: :

And some video content (contains some control/simulation related stuff as well, but that is SimpleFOC unrelated, real robot near end).

I hope someone will find it interesting and motivational. I feel like it is quite a good demonstration of what can be done with SimpleFOC. Even after 7 iterations, there are a lot of things to address and fix, so I am already working on a next version (of both the robot and the driver :smiley:).

Cheers,

Adam

Interesting to see some details. I’m sure the wire-winding transmission gave you some extra headache. I made some experiements with aramid wire myself a while ago. My last video showed, how to prevent the wire from wandering. But it might be a minor problem for you, considering the small angle you use.

Yeah,

I did not really have a problem with that + I used a rope instead of wire. Specifically rope called Dyneema DM20 that should feature very low creep rate under load. The transmission was actually the least painful part. As long as the ropes are properly tight, it works pretty great.

I struggled a lot more with the maximum motor torque, since I chose inappropriate number of turns per slot for the motors (too little), resulting in motors that weren’t very torque dense. That required me to force a lot of Iq current. The safe driver maximum turned out to be around Iq=21A, which produced about 1.21Nm of torque (before the reduction). That simply wasn’t really enough for the 25Kg robot.