搭配同济自瞄的云台 yaw 轴控制器算法。
本赛季这台步兵备赛周期不足 20 天,同时需要兼顾硬件与机械维修。因此该方案在比赛中没能完全发挥出预期效果。
尽管如此,在车辆状态正常的场次中,本控制方案均取得了较好的实战表现。0-2 后的第三局车辆刚完成维修并重新投入使用,即便第二小局车辆再次出现故障,赛后步兵伤害排行仍提升至东部赛区第二,仅次于浙江大学。因此,笔者对这套方案的实际效果整体比较满意。
需要特别说明的是,本步兵云台的转动惯量非常大,甚至高于许多队伍的英雄云台。这对控制器的鲁棒性、力矩输出能力和参数辨识精度都提出了更高要求。在这种负载条件下取得上述效果,说明该方案仍具有较好的工程可用性。
由于笔者今年大四,目前已经离开学校,仍有部分优化工作未能继续完成。这里将后续思路简要记录,供后续维护和迭代参考。如有疑问,欢迎通过笔者联系方式(qq:1332881527)进行技术交流。
-
Pitch 轴重力补偿
当前控制器主要面向 yaw 轴,但在 pitch 轴完成较高质量重力补偿后,整体方案理论上可以较好兼容双轴云台。Pitch 轴重力补偿可以考虑两类方案:一是对重力项进行建模,并在工作区间内做局部线性化;二是使用神经网络进行端到端补偿。若仅训练重力补偿项,训练成本和模型复杂度预计会明显低于完整动力学建模。
-
倾斜工况下的 yaw 轴重力项建模
如果受机械装配影响,yaw 电机安装并不完全水平,或车辆需要在斜坡上进行瞄准,可以在 yaw 轴模型中引入重力项,将其视为带倾角的重力摆模型。进一步地,当倾斜角拓展到 90 度时,该建模方式也可以自然过渡到 pitch 轴的重力补偿问题。
-
不同 pitch 角度下的 yaw 参数打表
不同 pitch 仰角会改变 yaw 轴的等效动力学参数,例如转动惯量
J和粘性阻尼B。因此,可以考虑对不同 pitch 角度下的 yaw 轴辨识参数进行打表,并在运行时根据当前仰角插值或切换参数。实际效果取决于云台质量、结构耦合程度以及 ESO 补偿能力;当云台较轻或 ESO 补偿效果较好时,参数变化带来的差异可能并不明显。
注意:请使用控制力矩(命令力矩)进行模型辨识,可以不用考虑延迟时间,此时模型参数并非真实参数...