步态相位(相位时钟输入)
Gait Phase Variable / Clock Input (sin/cos phase)进阶把步态相位编码成 sin、cos 两个数输入策略网络,让它知道节拍。
这是步态相位在学习型运控里的具体用法:训练强化学习行走策略时,在关节角、角速度、速度指令等观测之外,再输入 sin(2πφ) 和 cos(2πφ),φ 为 0–1 循环的相位。不直接输入 φ,是因为 φ 从 0.99 跳回 0 时数值突变,而 sin/cos 对应圆上一点、始终连续,网络能看出这两个时刻其实相邻。有了这个外部节拍,没有记忆的前馈网络也能输出稳定的周期步态,并和周期奖励里的支撑、摆动时间表对齐。Walk These Ways(Margolis 与 Agrawal)为四条腿各输入一个 sin 时序信号,并把步频和腿间相位偏移作为指令,从而在线切换小跑、踱步、跳跃等步态。
例子unitree_rl_gym 的 G1 环境把 sin(2πφ)、cos(2πφ) 拼在观测向量末尾,与角速度、投影重力、速度指令、关节位置和速度、上一步动作一起送进策略网络。
- 也叫
- 时钟输入、相位观测、clock input、sin/cos 相位编码
- 相关
- 步态相位(相位时钟)、强化学习运控、Walk These Ways、观测、支撑相 / 摆动相、位置编码
- 来源
- unitree_rl_gym: legged_gym/envs/g1/g1_env.py
Siekmann et al., Periodic Reward Composition (arXiv 2011.01387)