投影重力
Projected Gravity常用把竖直向下的重力方向换到机器人机体坐标系下表示,告诉策略身体歪了多少。
投影重力是足式和人形机器人强化学习中几乎必备的观测量:取世界坐标系下的单位重力方向 (0, 0, −1),用躯干(基座)姿态四元数的逆旋转换到机体坐标系下表示。机器人站直时它等于 (0, 0, −1);身体前倾或侧倾时 x、y 分量变为非零,大小反映俯仰和横滚的程度。它只包含倾斜信息、不含朝向(偏航角),而偏航角对保持平衡没用、在真机上还会漂移,所以比直接输入四元数更干净。真机上由 IMU 估计的姿态算出。legged_gym、Isaac Lab 都把它放进观测,奖励函数也常用其 x、y 分量的平方来惩罚身体不水平。
例子宇树 unitree_rl_gym 的真机部署脚本读取 IMU 四元数,算出投影重力放进观测的第 4–6 维,与角速度、速度指令、关节角等一起输入行走策略。
- 也叫
- 重力投影、投影重力向量、Projected Gravity Vector、projected_gravity、projected_gravity_b
- 相关
- 本体感知、惯性测量单元、机体坐标系、四元数、强化学习运控、横滚-俯仰-偏航角
- 来源
- Isaac Lab API: isaaclab.envs.mdp (projected_gravity)
legged_gym (ETH RSL): legged_robot.py
unitree_rl_gym: deploy_real.py