The control system of a humanoid robot consists of multiple hierarchical layers, each operating at different time scales and levels of abstraction. WIA-ROB-019 defines a standard control architecture that ensures safe, responsive, and intelligent robot behavior.
The standard recognizes four primary control layers:
The innermost control loop operates at the highest frequency, controlling individual joint motors. This layer implements PID controllers, torque controllers, or more advanced schemes like computed torque control. It runs on dedicated real-time processors with hard real-time guarantees.
Key responsibilities:
This layer coordinates multiple joints to achieve desired body poses and trajectories. It implements balance controllers, center of mass regulation, and contact force distribution. Runs on real-time operating system with soft real-time constraints.
Key responsibilities:
Generates motion plans to accomplish high-level tasks. Includes path planning, obstacle avoidance, manipulation planning, and coordination between locomotion and manipulation. Can run on standard Linux with best-effort scheduling.
Key responsibilities:
Highest-level decision making incorporating perception, natural language understanding, and goal-oriented planning. Integrates with WIA-INTENT for natural language commands and WIA-AI-CORE for machine learning models.
Key responsibilities:
WIA-ROB-019 mandates that safety-critical control loops (Layers 1-2) run on real-time systems with deterministic scheduling. Layer 1 requires hard real-time (deadline misses never acceptable), while Layer 2 requires soft real-time (occasional deadline misses tolerable if infrequent). This ensures the robot maintains balance and safety even under high computational load from higher layers.
Maintaining upright posture requires controlling the robot's center of mass (CoM) to remain within the support polygon defined by foot contacts. The fundamental balance condition is:
x_CoM ∈ Support Polygon
For static balance (no motion), the CoM projection must lie within the foot contact areas. During dynamic walking, we use the more sophisticated Zero Moment Point (ZMP) criterion.
The ZMP is the point on the ground where the net moment of all forces acting on the robot equals zero. For stable walking, the ZMP must remain inside the support polygon. WIA-ROB-019 requires ZMP-based balance control for all Level 2 and higher compliance.
The ZMP position is calculated from the robot's dynamics:
ZMP = (Σ m_i × [x_i × ẍ_i + g]) / (Σ m_i × [ẍ_i_z + g])
Where m_i are segment masses, x_i are segment positions, ẍ_i are accelerations, and g is gravity.
Control strategies:
Despite sophisticated balance control, external disturbances may exceed the robot's balance capability. WIA-ROB-019 defines a hierarchy of recovery strategies:
All humanoid robots must implement fall detection and controlled falling procedures. IMU signals are continuously monitored for tilt angles exceeding thresholds (typically 30-45°). Upon fall detection, the robot transitions to a protective mode: extending arms, reducing joint stiffness to absorb impact, and logging detailed sensor data for post-incident analysis.
Human walking consists of distinct phases that WIA-ROB-019 formalizes for robot locomotion:
| Phase | Duration (% of cycle) | Key Events | Control Objectives |
|---|---|---|---|
| Heel Strike | 0% | Leading foot contacts ground | Impact absorption, prevent slipping |
| Double Support | 0-10% | Both feet on ground | Weight transfer, ZMP transition |
| Single Support | 10-50% | One foot supports full weight | Maintain balance, swing leg forward |
| Swing Phase | 50-100% | Leg moves forward | Toe clearance, trajectory tracking |
| Opposite Heel Strike | 100% (= 0% next cycle) | Other foot contacts | Cycle completion, repeat |
Typical step cycle duration: 0.8-1.2 seconds at normal walking speed (0.8-1.2 m/s). Double support phase critical for stability—minimum 10% of cycle recommended.
Uses analytical functions to generate joint trajectories based on gait parameters (step length, height, timing). Fast computation enables real-time adaptation. Common approaches:
Formulate walking as an optimization problem minimizing energy consumption, torque, or other cost functions subject to dynamics and constraints. More computationally expensive but generates optimal motions for complex scenarios.
Typical formulation:
minimize J = ∫ [w₁||τ||² + w₂||CoM - CoM_ref||²] dt
subject to robot dynamics
ZMP ∈ support polygon
joint limits
torque limits
collision avoidance
Solution methods: Sequential Quadratic Programming (SQP), Interior Point methods, Direct Collocation. Computation time: 0.1-10 seconds depending on complexity and horizon length.
Deep reinforcement learning and imitation learning show promise for generating natural, robust walking patterns. Trained in simulation then transferred to hardware. Benefits include adaptation to terrain and disturbances. Challenges include sample efficiency, safety during training, and sim-to-real transfer.
WIA-ROB-019 permits learning-based controllers but requires:
Robust locomotion requires adapting to surface properties. WIA-ROB-019 requires the robot to detect and classify terrain types:
| Terrain Type | Friction Coefficient | Stiffness | Required Adaptations |
|---|---|---|---|
| Concrete/Asphalt | 0.7-0.9 | Very High | Standard gait parameters |
| Carpet | 0.5-0.7 | Medium | Increased foot lift, moderate compliance |
| Tile (wet) | 0.2-0.4 | Very High | Reduced speed, smaller steps, careful weight transfer |
| Grass | 0.4-0.6 | Low-Medium | Higher foot lift, increased compliance |
| Gravel | 0.6-0.8 | Low | Wide stance, slower speed, high compliance |
| Stairs (up) | 0.7-0.9 | Very High | Specialized stair climbing gait |
| Stairs (down) | 0.7-0.9 | Very High | Controlled descent, visual verification of steps |
Detection methods:
Walking on slopes requires adjusting the robot's orientation and modifying gait parameters:
Humanoid robots must coordinate arm motion with body posture and balance. WIA-ROB-019 specifies workspace requirements and coordination strategies.
The reachable workspace depends on arm kinematics and balance constraints:
Many tasks require coordinated motion of legs, torso, and arms. Examples include:
WIA-ROB-019 recommends task-space optimization formulations that treat the entire robot as a kinematic chain:
minimize ||q̇||² + w||ė - ė_desired||²
subject to J(q)q̇ = ė_desired (task constraint)
ZMP ∈ support polygon (balance)
q_min ≤ q ≤ q_max (joint limits)
||q̇|| ≤ q̇_max (velocity limits)
Where J(q) is the task Jacobian, ė_desired is the desired end-effector velocity, and q̇ are joint velocities. Solved at each time step (100-200 Hz) using quadratic programming.
For safe physical interaction with humans and the environment, robots must exhibit compliant behavior. Impedance control shapes the relationship between applied forces and resulting motion:
F = M(ẍ - ẍ_d) + B(ẋ - ẋ_d) + K(x - x_d)
Where F is the interaction force, and M, B, K are desired inertia, damping, and stiffness matrices. By adjusting these parameters, the robot can be made more compliant (soft, back-drivable) or stiff (precise position control).
WIA-ROB-019 requires variable impedance control for safe human interaction:
Direct force control enables tasks requiring specific contact forces:
Implementation requires accurate force sensing (F/T sensors) and force control loops running at >200 Hz. Control bandwidth typically 10-50 Hz depending on mechanical compliance.
This chapter explored the control systems that enable humanoid robot locomotion and manipulation. We examined hierarchical control architectures, balance control using ZMP methods, walking pattern generation, terrain adaptation, whole-body motion planning, and compliant interaction through impedance control.
These control strategies transform the mechanical hardware described in Chapter 2 into a functional system capable of stable walking, adaptive behavior, and safe human interaction. The WIA-ROB-019 control specifications ensure consistent performance across different robot platforms.
In Chapter 4, we'll investigate the sensor systems and perception algorithms that provide the data these controllers rely on, enabling robots to understand and navigate complex real-world environments.