苏黎世大学T-RO发表HDVIO2.0,在强风和模型失配下稳住VIO

风一吹,VIO就“虚”?视觉–惯性里程(VIO)已经是微型无人机机载状态估计的标配,但在高速机动、气动效应明显、且长时间处于强风等持续外扰环境中时,仅依赖相机和IMU的传统方案往往会产生明显误差累积,定位精度快速下滑。

对此,苏黎世大学RPG团队提出了HDVIO2.0(Hybrid Dynamics VIO),并发表于”IEEE Transactions on Robotics(T-RO)”。提出了一套在强风和模型误差条件下依然稳定工作的VIO系统,并在多组公开无人机动力学数据集以及风速约25km/h的真实飞行实验中进行测试,相比现有方法显著提升了轨迹精度和风扰估计表现。

文末还附有论文与代码链接,方便您一键直达。

视频来源:https://www.youtube.com/watch?v=wUaEp0YGpDM

技术难点

近年来VIMO、VID、HDVIO都会在VIO里加入无人机的动力学约束,希望借助推力、扭矩等控制输入,区分“自身控制导致的运动”和“外界扰动导致的运动”,并估计风力等外力。

但在高速飞行、强风和模型不准确的场景下,传统方案存在几个关键短板:

  • 动力学模型过于简化:通常只用刚体+线性阻力,复杂气动力、推力标定误差都被“打包”进外力或IMU偏置,持续侧风会被错误吸收,导致估计发散。

  • 只约束平动,不约束转动:现有方法大多只在“位移和速度”上利用动力学,姿态仍依赖陀螺积分,长时间飞行或剧烈机动时容易姿态漂移。

  • 高保真模型难以直接嵌入VIO:如 NeuroBEM这类模型需要真实的速度和姿态作为输入,若直接与VIO互相依赖,误差会不断放大。

研究思路

针对上述挑战,HDVIO2.0在传统视觉–惯性后端的基础上,引入一个混合动力学模型,让“物理模型与神经网络学习残差”共同约束状态估计和外力估计。

统一因子图框架

研究团队把整个问题放到一个滑动窗口优化框架里,用因子图把视觉、惯性和动力学残差统一起来求解。

  • 系统采用滑动窗口优化VIO:窗口里同时维护关键帧位姿、无人机状态(位置、姿态、速度、IMU 偏置、外力)和路标点。

  • 代价函数由四类残差组成:视觉重投影、IMU预积分、动力学残差以及边缘化残差,统一通过因子图形式一起优化。

连续时间转动建模

  • 连续时间表示:

用B-spline表达机体系角速度轨迹,控制点均匀分布在时间轴上,采样和求导都可以用矩阵形式高效完成。

  • 利用转矩测量拟合B-spline:通过扭矩测量模型,把 B-spline控制点作为优化变量,拟合满足刚体转动方程的角速度与角加速度,从而在后端对姿态引入额外物理约束。

  • 在线优化:每来一帧新图像,就在固定长度(约 0.1 s)的 B-spline 上增删控制点并局部LM优化,使连续时间姿态模型随时间滚动更新。

无论阶数和控制点间距如何,表示角速度的VelBSpl都比表示姿态的RotBSpl收敛更快。

基于双TCN的残差动力学建模

  • 动力学部分由“基础物理模型+学习残差”组成:物理模型负责推力、重力、惯性等显式项,残差力/残差力矩用于吸收气动拖曳、推力系数误差等复杂效应。

  • 为此,HDVIO2.0使用两个TCN:一个根据推力指令 + 陀螺测量预测残差推力,另一个根据扭矩指令+陀螺测量预测残差力矩;输入只用“控制命令+IMU”,不需要速度、姿态真值。

  • 训练时,网络通过最小化“动力学积分得到的位移 / 速度 / 姿态变化”和MoCap或离线SLAM轨迹之间的误差来学习残差,无需额外的力传感器。

实验测试

NeuroBEM

在NeuroBEM数据集上,只用推力/力矩 + IMU输入不同动力学模型,不跑VIO,只比较它们对力/力矩的估计精度。

对比结果

HDVIO2.0在力估计RMSE上明显优于简单多项式和 BEM 模型,整体接近依赖完整状态输入的 NeuroBEM,说明“刚体+ TCN 残差”这套混合动力学本身就足够精确。

NeuroBEM 测试集上,不同动力学模型在力/力矩 RMSE 上的对比。HDVIO2.0 仅依赖thrust/torque + IMU,就能接近需要完整状态输入的 NeuroBEM。

Blackbird & VID

在无外部扰动情况下,评估HDVIO2.0在高速飞行中的轨迹精度和泛化能力。

Blackbird

Blackbird数使用 0.5–9 m/s 的多条高速轨迹(含图像、IMU、转速),用部分轨迹训练动力学,其余轨迹作为测试,只比较轨迹精度(ATET/ATER)。

VID:

  • 室内:在MoCap环境下做“弹性绳牵引”和“挂载重物”实验,通过力传感器或模型得到外力真值;

  • 室外:在没有MoCap的场地,先用离 SLAM得到位姿,再用来监督训练动力学模块。

结果显示

  • 在Blackbird中,HDVIO2.0 在多数轨迹上位置和姿态误差最低,在 Egg 8 m/s 等高速轨迹上,相比纯 VIO 和 HDVIO 误差明显降低;

  • 在VID中,HDVIO2.0 在拉绳 / 挂载场景的z轴外力RMSE 最小;在只用SLAM监督的室外慢速轨迹上,也能显著降低姿态误差,说明“无 MoCap”场景下依然可用。

风场与闭环飞行

测试环境

  • 在室内搭建由 3 台风机组成的侧风场,最大风速约25km/h;

  • 无人机搭载T265 和Jetson TX2,只用T265左目图像 + IMU 运行HDVIO2.0,MoCap 作为真值;

  • 设计圆形和“8字”轨迹,并加上“有/无阻力板”两种配置,测试外力估计;

  • 进一步,将HDVIO2.0接入EKF和控制器,做闭环飞行,与 T265自带追踪对比。

结果显示

  • 在风场实验中,HDVIO2.0对侧向风力的RMSE在多种配置下都最小,外力曲线能较好跟随真值峰值;

  • 加速度计偏置估计保持稳定,不像部分基线方法在持续风下出现明显漂移;

  • 在闭环飞行中,HDVIO2.0的轨迹误差小于T265,且 TX2 上可以以30 Hz实时运行。

资源速递

点击左下角阅读原文即可跳转论文链接

论文:

HDVIO2.0: Wind and Disturbance Estimation withHybrid Dynamics VIO

论文链接:

https://doi.org/10.1109/TRO.2025.3603551

代码链接:

https://github.com/uzh-rpg/hdvio2.0

如果您有感兴趣的技术话题,请在留言区告诉我们!关注阿木实验室,更多技术干货不断更新!

开发遇到棘手难题可以上阿木官方论坛:

bbs.amovlab.com

有工程师亲自解答

10000+无人机开发者和你共同进步!

图片