1School of Control Science and Engineering, Shandong University
2National Key Laboratory of General Artificial Intelligence, BIGAI
3Department of Automation, Tsinghua University
*Equal contribution
†Corresponding authors
Bipedal locomotion makes humanoid robots inherently prone to falls, causing catastrophic damage to the expensive sensors, actuators, and structural components of full-scale robots. To address this critical barrier to real-world deployment, we present SafeFall, a framework that learns to predict imminent, unavoidable falls and execute protective maneuvers to minimize hardware damage. SafeFall is designed to operate seamlessly alongside any existing nominal controller, ensuring no interference during normal operation. It combines two synergistic components: a lightweight, GRU-based fall predictor that continuously monitors the robot's state, and a reinforcement learning policy for mitigation. The protective policy remains dormant until the predictor identifies a fall as unavoidable, at which point it activates to take control and execute a damage-minimizing response. This policy is trained with a novel, damage-aware reward function that incorporates the robot's specific structural vulnerabilities, learning to shield critical components like the head and hands while absorbing energy with more robust parts of its body. Validated on a full-scale Unitree G1 humanoid, SafeFall demonstrated significant performance improvements over unprotected falls. It reduced peak contact forces by 68.3%, peak joint torques by 78.4%, and eliminated 99.3% of collisions with vulnerable components. By enabling humanoids to fail safely, SafeFall provides a crucial safety net that allows for more aggressive experiments and accelerates the deployment of these robots in complex, real-world environments.
@article{meng2026safefall,
title = {SafeFall: Learning Protective Control for Humanoid Robots},
author = {Ziyu Meng and Tengyu Liu and Le Ma and Yingying Wu and Ran Song and Wei Zhang and Siyuan Huang},
journal = {arXiv preprint},
year = {2026}
}