传感器融合和跟踪工具箱™使您能够建模惯性测量单元(IMU)、全球定位系统(GPS)和惯性导航系统(INS)。通过将模型的属性设置为硬件数据表中的值,可以对特定的硬件进行建模。您可以调整环境和噪声属性,以模拟真实环境。您可以使用这些模型来测试和验证您的融合算法,或者在开发更大的应用程序时作为占位符。
本教程概述了传感器融合和跟踪工具箱中的惯性传感器和GPS模型。
要学习如何生成驱动传感器模型的地面真实运动,请看waypointTrajectory
和kinematicTrajectory
.有关融合惯性传感器数据的教程,请参见使用惯性传感器确定方向.
IMU是安装在平台上的电子设备。IMU由单个传感器组成,报告平台运动的各种信息。imu组合了多个传感器,包括加速度计、陀螺仪和磁力计。
使用此工具箱,从IMU模型返回的测量使用以下单位和坐标约定。
输出 | 描述 | 单位 | 坐标系统 |
---|---|---|---|
加速度 | 当前加速度计读数 | 米/秒2. | 传感器体 |
角速度 | 当前陀螺仪阅读 | 拉德/秒 | 传感器体 |
磁场 | 电流磁强计读数 | μT | 传感器体 |
通常,IMU返回的数据被融合在一起,并解释为平台的滚动、俯仰和偏航。现实世界中的IMU传感器可以对每个传感器具有不同的轴。传感器融合和跟踪工具箱提供的模型假设各个传感器轴对齐。
要创建IMU传感器模型,请使用imuSensor
系统对象™。
IMU = imuSensor
IMU = imussensor with properties: IMUType: 'accel-gyro' SampleRate: 100 Temperature: 25 Accelerometer: [1×1 accelparams] Gyroscope: [1×1 gyroparams] RandomStream: 'Global stream'
默认IMU模型包含一个理想的加速计和一个理想的陀螺仪accelparams
和回转参数
对象定义加速计和陀螺仪配置。您可以设置这些对象的属性以模拟特定的硬件和环境。有关IMU参数对象的更多信息,请参阅accelparams
,回转参数
,磁参数
.
要建模接收IMU传感器数据,请使用平台的地面真实加速度和角速度调用IMU模型:
trueAcceleration = [1 0 0];trueAngularVelocity = [1 0 0];[accelerometerReadings, gyroscopeReadings] = IMU (trueAcceleration trueAngularVelocity)
加速度计读数=-1.0000 0 9.8100陀螺仪读数=1 0 0
您可以使用以下命令生成输入IMU模型的地面真实轨迹:kinematicTrajectory
和waypointTrajectory
.
全球定位系统(GPS)为地球表面的平台(接收器)提供三维位置信息。
全球定位系统(GPS)由一组连续环绕地球运行的卫星组成。卫星保持这样的配置,即平台始终在至少四颗卫星的视野内。通过测量从卫星到平台的信号的飞行时间,可以对平台的位置进行三边测量。卫星给广播信号加时间戳,在接收时与平台时钟进行比较。需要三颗卫星对三维位置进行三边测量。第四颗卫星需要纠正平台和卫星之间的时钟同步错误。
传感器融合和跟踪工具箱提供的GPS模拟对平台(接收器)数据进行建模,这些数据已被处理并解释为高度、纬度、经度、速度、地面速度和航向。
从GPS模型返回的测量使用以下单位和坐标约定。
输出 | 描述 | 单位 | 坐标系统 |
---|---|---|---|
拉拉 | 基于WGS84椭球地球模型的大地坐标当前全球位置读数 | 度(纬度)、度(经度)、米(高度) | 拉拉 |
速度 | GPS显示的当前速度 | 米/秒 | 当地NED |
地面速度 | GPS显示的当前地面速度 | 米/秒 | 当地NED |
课程 | 从GPS读取当前航向 | 度 | 当地NED |
GPS模型使您能够设置高精度和噪声参数,以及接收器更新率和参考位置。
要创建GPS模型,请使用gpsSensor
系统对象。
GPS=GPS传感器
GPS = gpsSensor with properties: UpdateRate: 1 Hz ReferenceLocation: [0 0 0] [deg deg m] HorizontalPositionAccuracy: 1.6 m VerticalPositionAccuracy: 3 m VelocityAccuracy: 0.1 m/s RandomStream: 'Global stream' DecayFactor: 0.999 . GPS = gpsSensor with properties: UpdateRate: 1 Hz ReferenceLocation: [0 0 0] [deg deg m
模型接收GPS传感器数据时,调用平台地面真实位置和速度的GPS模型:
truePosition = [1 0 0];trueVelocity = [1 0 0];(LLA、速度、水平、课程)= GPS (truePosition trueVelocity)
LLA = 0.0000 0.0000 0.3031速度= 1.0919 -0.0008 -0.1308地速度= 1.0919航向= 359.9566
您可以生成地面真实轨迹,您输入到GPS模型使用kinematicTrajectory
和waypointTrajectory
.
惯性导航系统(INS)使用类似IMU上的惯性传感器:加速度计、陀螺仪和磁强计。惯性导航系统融合惯性传感器数据,以计算平台的位置、方向和速度。INS/GPS使用GPS数据校正INS。通常,INS和GPS读数与扩展卡尔曼滤波器融合,其中INS读数用于预测步骤,GPS读数用于更新步骤。当GPS信号不可靠时,INS/GPS的一个常见用途是航位推算。
“INS/GPS”是指整个系统,包括滤波。传感器融合和跟踪工具箱提供的INS/GPS模拟对INS/GPS进行建模,并返回惯性传感器和GPS接收机基于地面真实运动报告的位置、速度和方向。
从INS/GPS返回的测量使用以下单位和坐标约定。
输出 | 描述 | 单位 | 坐标系统 |
---|---|---|---|
位置 | 从INS/GPS读取的当前位置 | 米 | 当地NED |
速度 | 从INS/GPS读取的当前速度 | 米/秒 | 当地NED |
方向 | 来自INS/GPS的当前方向读数 | 四元数或旋转矩阵 | 不适用 |
要创建INS/GPS模型,请使用insSensor
系统对象。您可以通过调整融合数据的准确性来模拟真实世界的INS/GPS系统:滚转、俯仰、偏航、位置和速度。
INS = insSensor
INS = insSensor with properties: RollAccuracy: 0.2 deg PitchAccuracy: 0.2 deg YawAccuracy: 1 deg PositionAccuracy: 1 m VelocityAccuracy: 0.05 m/s RandomStream: 'Global stream'
要对接收的INS/GPS传感器数据进行建模,请调用INS/GPS模型,其中包含平台的地面真实位置、速度和方向:
trueMotion=struct(...“位置”,[0 0 0],...“速度”,[0 0 0],...“定位”,四元数(1,0,0,0));测量=惯性系统(trueMotion)
测量=结构与字段:方向:[1×1四元数]位置:[0.2939 -0.7873 0.8884]速度:[-0.0574 -0.0534 -0.0405]