当时旧版离线更新流程是,先删除目录里的旧内容,再复制更新包里的新内容。但设置更新目录时没有设置绝对路径,导致更新脚本被删除,最终变成了空目录。
新的更新逻辑应遵守,先校验更新包,再备份旧文件,确认新文件可用后再覆盖,更新脚本目录最后更新,成功后再清理旧文件
本功能用于减少 IMU 在机动、冲击或加速度异常时产生的姿态漂移和画面跳动。
系统新增了 imu_attitude_guard_node,它位于原始 IMU 数据和姿态计算节点之间.
重力异常判断包括三类信息:
判断项 | 作用 |
|---|---|
加速度大小 | 判断当前加速度是否明显偏离 1g |
重力方向 | 判断加速度方向是否与当前姿态推算的重力方向一致 |
角速度状态 | 高速旋转时降低对加速度修正的信任 |
系统还会过滤静止状态下的加速度突跳,避免偶发毛刺导致姿态模式频繁切换。
当重力可信时,使用 BNO085 rotation vector 平滑修正姿态
当重力不可信时,使用 gyro 短时间积分姿态,避免异常加速度拉偏画面。
系统新增 hud_command_node,用于处理 HUD 全屏界面中的快捷指令。HUD 界面按 F1 弹出输入框后,不直接调用各个 ROS service,而是把用户输入发布到指令话题。
执行完成后,会把结果发布回 HUD。
本文章使用limfx的vscode插件快速发布