头盔远程更新问题解决和功能更新

远程更新失败原因简述

当时旧版离线更新流程是,先删除目录里的旧内容,再复制更新包里的新内容。但设置更新目录时没有设置绝对路径,导致更新脚本被删除,最终变成了空目录。

后续修正

新的更新逻辑应遵守,先校验更新包,再备份旧文件,确认新文件可用后再覆盖,更新脚本目录最后更新,成功后再清理旧文件

IMU 重力异常保护功能

本功能用于减少 IMU 在机动、冲击或加速度异常时产生的姿态漂移和画面跳动。

功能作用

系统新增了 imu_attitude_guard_node,它位于原始 IMU 数据和姿态计算节点之间.

异常判断内容

重力异常判断包括三类信息:

判断项

作用

加速度大小

判断当前加速度是否明显偏离 1g

重力方向

判断加速度方向是否与当前姿态推算的重力方向一致

角速度状态

高速旋转时降低对加速度修正的信任

系统还会过滤静止状态下的加速度突跳,避免偶发毛刺导致姿态模式频繁切换。

姿态保护方式

当重力可信时,使用 BNO085 rotation vector 平滑修正姿态

当重力不可信时,使用 gyro 短时间积分姿态,避免异常加速度拉偏画面。

HUD 指令节点

系统新增 hud_command_node,用于处理 HUD 全屏界面中的快捷指令。HUD 界面按 F1 弹出输入框后,不直接调用各个 ROS service,而是把用户输入发布到指令话题。

执行完成后,会把结果发布回 HUD。


本文章使用limfx的vscode插件快速发布