快速開始,如何快速开始惯性导航仿真

关注

从Apple iWatch到SpaceX Falcon9,许多运动设备中都具备惯性测量单元(Inertial Measurement Unit, IMU)进行位置和运动测量。尽管Apple iWatch和SpaceX Falcon9使用的IMU精度悬殊,用于处理IMU数据的算法也极为不同,但它们背后的物理和数学模型是相同的。

如何理解IMU不同精度参数对应用的影响呢?现在可以通过Aceinna提供的在线工具快速进行IMU相关算法仿真,通过仿真来直观的理解各个参数的影响。这一在线工具包括了开源的仿真框架GNSS-INS-SIM和基于Web的GUI。之前的文章中,我们讲解了如何在Python中直接配置和使用GNSS-INS-SIM。本文将进一步讲解,如何利用Web GUI快速完成惯性导航算法仿真。

开始

IMU包含三轴加速度和三轴陀螺仪,也可以选配三轴地磁传感器。通常与GNSS接收机进行融合完成组合导航方案。IMU通常应用于运动测量、平台稳定、姿态测量以及GPS失锁期间的位置跟踪。

在使用在线版本的仿真系统之前,需要在ACEINNA Developer Website完成注册并登陆,然后可以参考快速应用手册中的示例来学习如何使用。本文将着重于一些要点。

创建IMU模型

IMU模型描述了IMU的噪声和漂移等误差特性。这些特性通常在IMU产品制造商的用户手册中提供,包括零偏稳定性和随机游走(对应陀螺仪为角度随机游走,对应加速度为速度随机游走)等等。仿真系统内置了高精度、中等精度和低精度的IMU模型,可供选择使用。创建完成IMU误差模型后,需要对其命名以供后续使用。

Figure 1 ACEINNA Navigation Studio can be used to create an IMU Sensor Model in seconds生成运动轨迹

运行算法前,需要生成运动轨迹。轨迹描述了物体随时间的运动,其用于生成对应的参考加速度和角速度。结合上述的传感器误差模型,仿真系统将会进一步生成带误差的IMU测量数据,而测量数据则可用作算法的输入。

最简单的运动轨迹为:保持静止。静止时的传感器测量可以用于进行Allan方差分析。下图给出了之前文章中用到的左转测试,它用于仿真无LIDAR、摄像机及GNSS辅助情况下自动驾驶汽车利用惯性导航完成定位的误差特性。

Figure 2 Motion Generator for Left Hand Turn选择算法并仿真

具有运动轨迹和传感器模型后,我们需要选择一个算法来进行仿真。现在,基于Web的在线版本的GNSS-INS-SIM提供了多个预置的算法,包括Aceinna IMU产品中所使用的算法。Aceinna将提供工具,支持将ACEINNA’s OpenIMU embedded inertial development tools创建的用户自定义算法上传。

这里,我们选择了“Free Integration”算法,该算法演示了纯IMU产品的导航性能。在一次仿真中可以将算法运行多次,从而对误差进行统计。

Figure 3 Select an Algorithm to Run Simulation结果显示

仿真完成后,你将收到提醒。在线版本的GNSS-INS-SIM提供了多种在线数据进行仿真数据分析,包括:

误差的统计结果;Allan方差画图;数据的时间变化图/误差图地图显示(用于位置显示)

下面是将本次仿真结果显示在地图上的结果。

Figure 4 Position vs Ref (“Truth”) Position on Map Plot

Figure 5 Drift in X,Y,Z Position vs Time

下一步

IMU的惯性导航算法仿真通常费时费力,Aceinna的开发者网站提供了强大的在线工具,可以极大的简化这一过程。我们将根据用户反馈,扩充和增加仿真工具。

后续的文章中,我们将进一步详细讲解如何进行GNSS/INS组合导航仿真,包括如何模拟GNSS因树木、建筑和其他遮挡导致的GPS失锁。