首页 > 编程学习 > 基于Matlab融合惯性测量单元和全球定位系统数据估计地面车辆的位置和方向(附源码)

目录

一、模拟设置

二、融合过滤器

三、搭建场景

3.1 创建地面车辆轨迹

3.2 全球定位系统接收器

3.3 IMU 传感器

四、初始化

4.1初始化insfilterNonholonomic状态

 4.2 初始化insfilterNonholonomic

4.3 初始化作用域

五、结果

 六、程序


此示例说明如何通过融合来自惯性测量单元 (IMU) 和全球定位系统 (GPS) 接收器的数据来估计地面车辆的位置和方向。

一、模拟设置

置采样率。在典型系统中,IMU中的加速度计和陀螺仪以相对较高的采样率运行。在融合算法中处理来自这些传感器的数据的复杂性相对较低。相反,GPS以相对较低的采样率运行,并且与处理它相关的复杂性很高。在这种融合算法中,GPS样本以低速率处理,加速度计和陀螺仪样本以相同的高速率一起处理。

为了模拟此配置,IMU(加速度计和陀螺仪)以 100 Hz 采样,GPS 以 10 Hz 采样。

二、融合过滤器

创建过滤器以融合 IMU + GPS 测量值。融合滤波器使用扩展的卡尔曼滤波器来跟踪方向(作为四元数)、位置、速度和传感器偏差。

对象有两个主要方法。该方法将来自IMU的加速度计和陀螺仪样本作为输入。每次对加速度计和陀螺仪进行采样时调用该方法。此方法根据加速度计和陀螺仪预测前进一个时间步的状态。扩展卡尔曼滤波器的误差协方差在此步骤中更新。

该方法将GPS样本作为输入。该方法通过计算卡尔曼增益来更新基于 GPS 样本的滤波器状态,该增益根据其不确定性对各种传感器输入进行加权。误差协方差也在此步骤中更新,这次也使用卡尔曼增益。

地面车辆有两个速度约束,假设它不会从地面反弹或在地面上滑动。这些约束使用扩展卡尔曼滤波器更新方程应用。

三、搭建场景

3.1 创建地面车辆轨迹

该对象根据指定的采样率、航点、到达时间和方向计算姿势。指定地面车辆的圆形轨迹参数。

3.2 全球定位系统接收器

以指定的采样率和参考位置设置 GPS。其他参数控制输出信号中噪声的性质。

3.3 IMU 传感器

通常,地面车辆使用 6 轴 IMU 传感器进行姿态估计。要对 IMU 传感器进行建模,请定义包含加速度计和陀螺仪的 IMU 传感器模型。在实际应用中,两个传感器可能来自单个集成电路或单独的集成电路。此处设置的属性值是低成本MEMS传感器的典型值。

四、初始化

4.1初始化insfilterNonholonomic状态

 4.2 初始化insfilterNonholonomic

测量噪声根据参数描述有多少噪声破坏了GPS读数,以及车辆动力学模型中的不确定性。

过程噪声描述了滤波器方程对状态演变的描述程度。过程噪声是使用参数扫描根据经验确定的,以共同优化滤波器的位置和方向估计值。

4.3 初始化作用域

示波器可以绘制变量随时间的变化。它在这里用于跟踪姿势错误。示波器允许滤波器估计和地面实况姿势的 3D 可视化。示波器可能会减慢模拟速度。

五、结果

 

 、程序

使用Matlab R2022b版本,点击打开。

 打开下面的“GroundIMUandGPSFusionExample.mlx”文件,点击运行,就可以看到上述效果。

关注下面公众号,后台回复关键词:估计地面车辆的位置和方向,发送源码链接。

 

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式