0

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

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

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

*编辑:这是一篇描述 px4flow 单元以及它如何计算速度的文章。(忘记加链接了,现在有)

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

4

1 回答 1

2

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

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

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

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

于 2015-12-01T12:39:17.973 回答