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