如何使用扩展的卡尔曼滤波器进行IMU和光流传感器融合?

时间:2015-10-02 20:22:33

标签: kalman-filter opticalflow sensor-fusion

我正在构建一个四轴飞行器,我正在使用pixhawk自动驾驶仪系统,附带px4flow传感器,用于光流数据。 px4flow是一款带有集成陀螺仪和高度传感器的高速智能相机(手臂处理器),它通过内部光流算法输出线速度。

现在,我想通过使用扩展的卡尔曼滤波器来融合IMU和光流数据来改善我的位置和速度估计。 我已经为预测步骤导出了状态模型函数和状态转移矩阵。

问题在于导出光流速的测量模型/函数,以用于扩展卡尔曼滤波器的更新阶段。我相信我必须从光流算法中得出它的一些方法,但就我而言,这就是它。

*编辑:这是一篇描述px4flow单元及其如何计算速度的文章。 (忘了添加链接,现在就在那里)

https://pixhawk.org/_media/modules/px4flow_paper.pdf

1 个答案:

答案 0 :(得分:2)

我假设(因为你没有提供任何细节)状态向量包含世界坐标中的速度和位置。光流以身体坐标返回XY速度,因此您必须根据偏航角度旋转它以获得世界坐标的速度。

如果是这种情况,您可以选择:

  • 如果状态向量不包括方向,则将光流速预转换为世界坐标,然后使用线性观测模型(零矩阵,在状态向量中X,Y速度位置为1)
  • 如果状态向量包含方向,则可以编写使用角度在世界 - 主体坐标之间进行变换的完整观察模型。

这基本上就是这个过程。但是,为了获得更好的答案,您应该提供更多详细信息。