Designing a Brushless Quadruped Robot

Brushless motors are changing the landscape in robotics. Coupled with precise closed-loop control, they are able to deliver excellent power to weight ratio but most importantly, they are transparent in the sense that external forces acting on the mechanism are reflected on the motor and vice versa. This leads to mechanisms that are actively compliant, meaning that they can react to environmental disturbances in ways that can be programmed. Legged robots are one category that already witnesses a revolution thanks to these drive systems. Examples such as Ghost Robotics’ Minitaur above, Stanford Doggo and others reveal that a new level of agility is possible through the use of direct drive or quasi-direct drive (with back-drivable, low-ratio reduction stages). Brushless quadruped robots can perform amazing feats, as is evident by the promotion video of Ghost Robotics’ Minitaur below:

Ghost Robotics’ Minitaur

Inspired by these advances, this blog post discusses a new design for such a robot, powered by cheap hobby brushless motors, accurate encoders and advanced closed loop digital control.

This is an Open Source project. The design files for both 3d printed parts, as well as laser cut plates are available on Thingiverse.

Structure

Digital render of the quadruped robot

The robot has a total of 8 degrees of freedom (DOF), comprising four identical leg assemblies with 2DOF each. Each of the legs is based on two motors directly coupled to one bar of a 5-bar linkage that corresponds to the actuating part of the leg. At the rear of each motor there is a capacitative angular encoder for position tracking. A central plate structure comprising two plates holds the four leg assemblies together, and also houses the electronics. The robot measures 30 x 40 x 9cm (11 x 15.7 x 3.6 inch), and the total weight including the battery is 2.2kg (4.85 lb).

Hardware & Materials

Disclaimer: This post includes affiliate links to product listings on eBay. Please read our Affiliate Link Policy for more information.

The backbone of the robot are the brushless motors, encoders and control boards. Motors are Tarot 4108, a cheap and relatively reliable motor for it’s price range (around $25 each on eBay). There is a single motor controller for each leg (2DOF), namely an ODrive 3.5. Encoders are CUI AMT102, available for $23 at Mouser, albeit without an encoder cable. Alternatively, ODrive Robotics sells them at $39 with a 2m compatible encoder cable, or make your own cable. I found that UTP cable makes for a good solution in this case. A Teensy 3.5 ($31 on eBay) handles the high-level kinematics, RC controller communucation and gait planning. The teensy communicates leg angles with each ODrive through UART using a custom protocol. In addition, it receives commands from an RC receiver through the SBUS protocol.

Almost all parts are fabricated using an in-house 3D printer (Wanhao i3 Mini). As the motors can get quite hot during high-torque production scenarios, PETG is used in all parts that are in contact with the motor. PETG offers a slightly higher glass transition temperature compared to PLA (70-80C vs 55-65C), while maintaining ease of printing. The central plates are the only parts that are laser cut at an external service.

The total BOM cost is less than $1000, including 3d printed parts cost which at the time of writing is considerably lower than the cheapest alternative, the Stanford Doggo at around $2500, and much less than the Ghost Robotics Minitaur, which up until recently was advertised at their website at a price slightly above $10000. The detailed BOM is as follows:

Read also:  Quadruped Robot Part III: Movement, Balance and Testing
PartQtyUnit PriceSubtotal
Tarot 41088$25.80 (eBay)$206.4
CUI AMT1028$23 (Mouser)$184
ODrive 3.54$119 (Odrive Robotics)$476
Teensy 3.51$31 (eBay)$31
PDB with BEC1$3.59 (eBay)$2.59
Thrust Bearings24$11.68 per 20 pcs (eBay)$23.36
M3 Hex Bolts 12mm32Local Hardware Store
M3 Hex Bolts 25mm16Local Hardware Store
M3 Self Tapping 20mm16$3.15 per 50 pcs (eBay)$3.15
Nyloc Safety Nuts M348$3.56 per 50 pcs (eBay)$3.56
Nylon spacers, standoffs>50$3.58 per lot (eBay)$3.58
18AWG cable~2m$2.67 per meter (eBay)$2.67
MR30 Connectors8$7.74 per 10 pcs (eBay)$7.74
Total$944.05

Control

ODrives flashed with a custom firmware handle the low-level control of each of the legs. They receive linkage angles and target ar`rival times from high-level control running on Teensy, and convert them to desired encoder CPR positions and velocities. ODrives then carry out trajectory control. High-level control implements a keypoint-based parametric gait generator, that generates future keypoints for the ODrives to track.

In later versions the legs of the robot are canted outwards by seven degrees creating what is known as a negative camber angle. This is to aid stability and turning (yaw), which is quite restricted due to the limited degrees of freedom (8DOF). Due to spatial limitations, motors of each leg are not exactly coaxial, and this generates control issues, which translate in gait inefficiencies. To address these a full 5-bar link mechanism inverse kinematics algorithm needs to be implemented.

Demo

Here is a video of the robot in action:

The robot is able to move at a speed of 0.3-0.4 m/s, however at that pace the motors get quite hot after a short time due to ohmic losses during static production of torque. Heat losses can be reduced by switching to a larger radius motor. Larger radius motors tend to be more effective at torque production. Alternatively, introducing a low-ratio reduction stage is also possible. These are considered for future versions of the robot.

Conclusion

This post presented an overview of a robot design based on brushless motors and closed-loop control. The robot is able to move around smoothly and quietly, and presents the most affordable solution among designs using similar technologies at the time of writing, with a total BOM cost of less than $1000. Future efforts will focus on a redesign to incorporate low-reduction belt drives, similar to those used in Stanford Doggo, as well as increase to 12 Degrees of Freedom for increased agility and lateral movement.

This is an Open Source project. The design files for both 3D printed parts as well as laser cut plates are available on Thingiverse.

For more exciting experiments and tutorials, subscribe to our email:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.