Forward Jump
A dynamic jump along the forward axis targeting roughly 1.0 m horizontal displacement and 0.2 m apex height.
This project page presents a task-aware co-design framework that allocates actuator parameters joint-by-joint for humanoids. The method combines continuous CMA-ES search, data-driven actuator regressions, constrained full-order trajectory optimization, and RL-based sim-to-sim validation across several tasks and pelvis topologies.
The showcased scenarios are chosen to stress the actuator allocation in different ways: short high-power bursts, prolonged loaded motion, and whole-body manipulation with asymmetric support. Together they force the design loop to balance leg, torso, and arm requirements.
A dynamic jump along the forward axis targeting roughly 1.0 m horizontal displacement and 0.2 m apex height.
Semi-squat stair climbing over five steps while carrying a 10 kg payload, emphasizing sustained leg torque and balance.
A manipulation-style motion with 5 kg weights in each hand, deliberately shifting support and creating asymmetric full-body loading.
The core algorithm couples actuator synthesis and full-body motion optimization. For every candidate vector of motor masses and gear ratios, regression models reconstruct peak torque, motor constant, rotor inertia, geometry, and stage-dependent efficiency; the robot model is updated; an inner constrained trajectory optimization is solved; and the resulting motion is scored by a scalar fitness.
Regression fits built from manufacturer data for 119 motors and 58 gearboxes provide practical estimates of peak torque, rotor inertia, motor constant, geometry, and stage-dependent transmission efficiency.
The inner problem solves full-order constrained trajectories with torque-velocity, kinematic, and contact constraints, then evaluates motor losses, positive mechanical work, and gearbox friction in a unified energy model.
CMA-ES explores the continuous design space with a population of 100 over 100 iterations. Each individual encodes motor mass and gear ratio for the robot joints, with the optimizer updating the search distribution over time.
A practical contribution of the paper is the bridge between continuous design variables and realistic actuator properties. The models below are fitted from manufacturer datasheets and allow the optimizer to stay in a continuous search space without collapsing the design problem to a small discrete parts catalog.
This section visualizes the trajectories returned by the inner constrained motion optimization. Choose one topology and all three tasks below will update.
The paper also isolates how the objective changes the resulting actuator allocation on the PRY configuration.
Objective weighting: ωem = 0, ωf = 1.
Objective weighting: ωem = 1, ωf = 0.
Objective weighting: ωem = 1, ωf = 1.
Detailed actuator parameters by robot joint across all ablation cases.
| Joint | Parameter | Case 1 | Case 2 | Case 3 |
|---|---|---|---|---|
| torso_yaw | mass[g] | 433 | 603 | 561 |
| gear_ratio | 36.1 | 68.0 | 43.5 | |
| diameter[mm] | 82.7 | 86.0 | 88.9 | |
| length[mm] | 69.5 | 97.6 | 76.4 | |
| peak_torque[Nm] | 93.9 | 205.5 | 149.0 | |
| no_load_vel[rad/sec] | 13.4 | 6.9 | 10.5 |
| Joint | Parameter | Case 1 | Case 2 | Case 3 |
|---|---|---|---|---|
| hip_pitch | mass[g] | 2483 | 1279 | 1401 |
| gear_ratio | 7.0 | 25.0 | 15.4 | |
| diameter[mm] | 139.7 | 111.6 | 114.4 | |
| length[mm] | 104.1 | 104.1 | 107.7 | |
| peak_torque[Nm] | 160.2 | 213.4 | 146.0 | |
| no_load_vel[rad/sec] | 45.2 | 15.2 | 24.1 | |
| hip_roll | mass[g] | 1625 | 1300 | 1388 |
| gear_ratio | 20.0 | 25.0 | 24.9 | |
| diameter[mm] | 119.1 | 112.1 | 114.1 | |
| length[mm] | 114.0 | 104.7 | 107.3 | |
| peak_torque[Nm] | 225.1 | 217.3 | 233.5 | |
| no_load_vel[rad/sec] | 18.0 | 15.1 | 15.0 | |
| hip_yaw | mass[g] | 1640 | 739 | 743 |
| gear_ratio | 14.2 | 25.0 | 24.6 | |
| diameter[mm] | 119.4 | 95.9 | 96.1 | |
| length[mm] | 114.4 | 84.7 | 84.8 | |
| peak_torque[Nm] | 161.7 | 115.4 | 114.2 | |
| no_load_vel[rad/sec] | 25.3 | 17.1 | 17.4 | |
| knee_pitch | mass[g] | 1944 | 1654 | 1559 |
| gear_ratio | 25.0 | 24.9 | 24.8 | |
| diameter[mm] | 125.1 | 119.7 | 117.8 | |
| length[mm] | 122.1 | 114.8 | 112.2 | |
| peak_torque[Nm] | 347.7 | 286.1 | 266.0 | |
| no_load_vel[rad/sec] | 13.8 | 14.4 | 14.6 | |
| ankle_pitch | mass[g] | 809 | 734 | 1256 |
| gear_ratio | 25.0 | 25.0 | 24.8 | |
| diameter[mm] | 98.4 | 95.8 | 111.0 | |
| length[mm] | 87.6 | 84.4 | 103.4 | |
| peak_torque[Nm] | 127.5 | 114.5 | 207.4 | |
| no_load_vel[rad/sec] | 16.8 | 17.1 | 15.3 | |
| ankle_roll | mass[g] | 809 | 734 | 1256 |
| gear_ratio | 25.0 | 25.0 | 24.8 | |
| diameter[mm] | 98.4 | 95.8 | 111.0 | |
| length[mm] | 87.6 | 84.4 | 103.4 | |
| peak_torque[Nm] | 127.5 | 114.5 | 207.4 | |
| no_load_vel[rad/sec] | 16.8 | 17.1 | 15.3 |
| Joint | Parameter | Case 1 | Case 2 | Case 3 |
|---|---|---|---|---|
| shoulder_pitch | mass[g] | 863 | 530 | 751 |
| gear_ratio | 30.9 | 69.3 | 37.9 | |
| diameter[mm] | 100.1 | 82.9 | 96.4 | |
| length[mm] | 89.7 | 93.2 | 85.2 | |
| peak_torque[Nm] | 169.1 | 182.1 | 178.1 | |
| no_load_vel[rad/sec] | 13.4 | 6.9 | 11.3 | |
| shoulder_roll | mass[g] | 880 | 407 | 341 |
| gear_ratio | 36.2 | 69.4 | 42.6 | |
| diameter[mm] | 100.7 | 76.8 | 77.4 | |
| length[mm] | 90.4 | 85.0 | 63.7 | |
| peak_torque[Nm] | 202.7 | 137.9 | 86.9 | |
| no_load_vel[rad/sec] | 11.4 | 7.4 | 11.9 | |
| shoulder_yaw | mass[g] | 955 | 407 | 331 |
| gear_ratio | 26.3 | 70.0 | 34.9 | |
| diameter[mm] | 103.0 | 76.8 | 76.7 | |
| length[mm] | 93.2 | 85.0 | 63.0 | |
| peak_torque[Nm] | 161.3 | 139.0 | 69.0 | |
| no_load_vel[rad/sec] | 15.4 | 7.3 | 14.7 | |
| elbow_pitch | mass[g] | 401 | 407 | 388 |
| gear_ratio | 48.0 | 69.0 | 44.5 | |
| diameter[mm] | 80.9 | 76.8 | 80.2 | |
| length[mm] | 67.5 | 85.0 | 66.7 | |
| peak_torque[Nm] | 115.4 | 137.0 | 103.4 | |
| no_load_vel[rad/sec] | 10.2 | 7.4 | 11.1 | |
| elbow_yaw | mass[g] | 463 | 327 | 327 |
| gear_ratio | 43.2 | 37.6 | 25.1 | |
| diameter[mm] | 84.3 | 76.4 | 76.5 | |
| length[mm] | 71.2 | 62.7 | 62.8 | |
| peak_torque[Nm] | 120.7 | 73.4 | 49.1 | |
| no_load_vel[rad/sec] | 11.0 | 13.7 | 20.5 |
If you use this work, please cite the paper as follows.
@article{task-aware_actuator2026,
title = {Task-{Aware} {Actuator} {Parameter} {Allocation} for {Multibody} {Robots}},
doi = {10.1109/LRA.2026.3674006},
journal = {IEEE Robotics and Automation Letters},
author = {Nasonov, Kirill and Kakanov, Mikhail and Skvortsova, Valeria and Zaliaev, Eduard and Borisov, Ivan},
year = {2026},
pages = {1--6},
}