FixTheRobot Explore Robotics / Systems Engineering / Challenges

E · System design challenge 5

Challenge 5: Humanoid Locomotion Integration

A humanoid is a robot description, many actuators, an IMU and a state estimator before it is a controller. Get the plumbing right and prove it in simulation.

  • Uses modules 11, 14, 15
  • ROS 2 Jazzy

1. Problem statement

You are given (or build) a simulated humanoid. The deliverable is the integration architecture (description, actuators, sensing, estimation, timing), the simulation-to-hardware plan, and the validation evidence that the estimation and low-level control meet requirements. Gait and whole-body controllers are a research-level design choice: the track gives introductory guides on the building blocks (balance basics, null-space task priorities, model predictive control), and this challenge asks you to state which controller you use and what it needs from the rest of the system.

2. Constraints

  • Update rates: joint control loops (hundreds of Hz to kHz), IMU, state estimation and the higher-level controller are each at their own rate and must meet their deadlines.
  • The robot description has correct inertia, joint limits and frames; the same description feeds simulation and control.
  • Contact events need joint torque or force sensing, or an estimator; state which.
  • Simulation parameters (latency, friction, actuator limits) are matched to measurements before results are trusted.
  • Safe behaviour on estimator or communication loss (safe fall or safe stop) is defined.
  • All timestamps are verified; the control loop thread is real-time capable.

3. Architecture

joint encoders + IMU (+ force sensing) ─▶ state estimator ─▶ base pose, velocity, contact
locomotion / whole-body controller (your choice) ─▶ joint commands ─▶ ros2_control ─▶ actuators
simulation (matched parameters) ◀▶ same interfaces ◀▶ hardware
ItemDecision to make
DescriptionLinks, joints, inertia, limits, frames
ActuatorsTorque, speed, bandwidth, current limits and thermal limits
SensingIMU placement, joint sensing, contact estimation
EstimationFilter structure and noise parameters
Control and timingLoop rates, real-time threads, interfaces
Sim to realParameter matching and checks

4. Implementation stages

  1. Robot description. Prepare and validate the model (preparing and validating a robot description).
  2. Actuators and power. Size motors, gearboxes and the battery (calculating motor torque and speed requirements, selecting a gearbox planetary harmonic cycloidal, building a power budget and estimating runtime).
  3. Sensing. Configure the IMU and obtain its noise parameters (IMU configuration, obtaining imu noise parameters).
  4. State estimation. Choose the filter structure and noise (ekf vs factor graphs loosely vs tightly coupled, choosing process and measurement noise).
  5. Controller integration. Update rates and ros2_control (selecting controller update rates, integrating a controller with ros2 control, real time linux and rtos basics for robots).
  6. Simulation to real. Match parameters and diagnose differences (matching simulated sensors and actuators to hardware, diagnosing simulation to hardware differences).
  7. Balance and control building blocks. Read the introductions to balance, whole-body control and MPC (balance basics, whole-body control, model predictive control) and decide which structure you will use.
  8. Failure handling. Safe states and watchdogs (safe states e stops and communication loss).
  9. Validation. Step responses, estimator consistency and repeatable simulation results (validating controller performance).

5. Validation criteria

6. Engineering trade-offs

  • Model-based controllers (ZMP, MPC, whole-body) vs learned ones: predictability and tuning effort against flexibility; the choice is outside this site’s verified sources.
  • Joint torque sensing vs estimated contact: hardware cost against estimator complexity.
  • Fidelity vs simulation speed.
  • Centralised real-time computer vs distributed joint controllers.

References

  • Tools and guides for this challenge are linked in the stages. Introductory guides on balance, whole-body control and model predictive control are linked above, based on the Wikipedia articles on the zero moment point and model predictive control and the READMEs of TSID, OCS2 and acados (read 2026-11-06); full gait generators and whole-body controllers are not covered: use the documentation and literature of the controller you choose. This challenge is a design task, and no performance claim in it comes from a cited source.