← All posts

What came first the torque or the actuator?

Actuator sizing and selection

How do you know whether your selection of actuators is suitable? When we build robots we are spoilt by choice of actuators, there are so many different kinds with differing strengths and weaknesses.

The Selection Approach

For the robotic legs I want to have human like capabilities, walking, jumping and self stabilising. It is essential that the system can deliver high torque over short time intervals while maintaining mechanical compliance. This makes sense when we consider human mobility, our hips and knees absorb the majority of the reaction force during walking and also produce the torque to walk, jump and catch ourselves with.

The actuator type which fits the bill here is QDD - (Quasi Direct Drive). QDDs are defined by their low gearing ratio (up to 10:1). This gives us the mechanical compliance we need to be able to absorb each step and quickly produce torque. Higher gearing ratios do provide more torque but compromise on speed and compliance.

So from here selecting a group of QDDs with static torque estimates for each pose in the walking cycle should yield a suitable actuator selection, right? WRONG!

The forces we need to recover from change greatly in dynamics compared to static load estimates. How do you determine the torques for these cases? You test. You take your robot, push it and read the torque values. But wait! How are we going to test a robot which doesn’t exist, to choose actuators, if we don’t have a robot or actuators!?

This is where I got stuck. I started going in circles a bit, I made a digital mockup of the robot’s masses, degrees of freedom and approximate inertias, a mockup URDF (Unified Robot Description Format). I made 3 different URDFs, each having a unique actuator configuration from different manufacturers.

I vibe coded some MPC based humanoid robot gait demos and read out torque from these. This wasn’t reliable since it only showed a selected predetermined trajectory and was very slow.

So instead I started experimenting with RL (Reinforcement learning). I quickly managed to get a Unitree G1 model to walk and resist pushes in simulation. Trying the same reward function on my own URDF failed miserably and I got stuck in some strange territory when it came to gaits like scooting forward. This was a step forward, I knew this approach would work.

Luckily for me I’m not doing this alone, my friend Simon, who is working on the controls for our system managed to very quickly get the models tested in Simulation. This gave us a clear best actuator selection.

Mock-up URDF

The important quantities we selected by were torque, speed, gearing ratio, and RMS (Root Mean Square) torque.

An actuator is always delivered with an extensive data sheet explaining everything worth knowing about the actuator. To simplify our torque criteria we need to understand how an actuator works.

Simply. We turn current to torque. This current generates heat at P [W]=I2 [A2]⋅R [Ω]P\,[\mathrm{W}] = I^2\,[\mathrm{A}^2] \cdot R\,[\Omega]. So more current gives us more torque and more heat.

To keep the motor from overheating we want to operate in a torque range where the current is sustainable over long-time, this is the rated torque of the actuator, the maximum torque from maximum current is the peak torque. We want to stay in the rated territory to avoid overheating but sometimes need to administer enough torque greater than that. Here we work with RMS torque, the root of the mean squared torque over a time window T [s]T\,[\mathrm{s}]:

τRMS [N m]=1T [s]∫0Tτ2(t) [N2 m2] dt\tau_{\mathrm{RMS}}\,[\mathrm{N\,m}] = \sqrt{\frac{1}{T\,[\mathrm{s}]} \int_0^{T} \tau^2(t)\,[\mathrm{N^2\,m^2}]\,dt}

The torque is squared before averaging because heat scales with I2I^2, and torque is proportional to current, so heat scales with τ2\tau^2. A plain average would hide short, large peaks, while the squared average weights them correctly.

As long as the RMS torque is below / equal to the rated torque the selection is good. So we can administer our peak torque without worry if the RMS is still in the allowed range.

So now finally after having calculated static loads, RL based dynamic loads and taking into account what actuator archetype are best suited and testing 3 different selections we finally have our best bet.

The hip yaw uses the AKH70-16, the hip roll, hip pitch, and knee use the AKE90-8, and the ankle pitch and ankle roll use the AK10-9.

Actuators

Downstream from here, my next steps are selecting all the electronics that accompany the actuators. These include motor controllers, power distribution, encoders, cables, onboard compute, and anything else I discover along the way. In parallel, I will begin experimenting with simple tendon transmission systems.

With the actuator selection now settled, I can finally move from sizing the legs on paper toward actually building the actuation system.

Thanks for reading!

-Sencan