关于issac gym PD控制发散问题解决
在使用 Isaac Gym 进行强化学习训练时,发现某些模型在输入 action=0 的情况下仍然出现关节发散的问题,无法保持稳定。经过调试,初步判断问题出现在 隐式 PD 控制算法 在处理 小转动惯量连杆 时的数值稳定性上。
问题分析
- 模型中存在某些 惯量极小的连杆。
- 这些连杆在进行动力学求解时,其 惯性矩阵接近奇异(singular)。
- 在 隐式 PD 控制器 中,控制增益会通过关节惯性矩阵求解逆(或类似处理),从而导致数值不稳定或增益过大。
常见解决方案
1. 添加 armature
设置:
armature = 0.01
armature表示在将 连杆转动惯量换算到关节空间后,人为添加在主对角线上的一个惯量项。- 类似于给每个关节加了一个“虚拟惯量”,从而增强数值稳定性。
- 该参数直接改善 关节惯性矩阵的条件数,避免奇异。
2. 减小仿真步长
- 将仿真步长设置为较小值,如:
dt = 0.001
- 小步长能提升隐式积分的稳定性,但 训练效率显著降低,实际应用中并不推荐。
浙公网安备 33010602011771号