主要内容

insSensor

惯性导航系统和GNSS / GPS仿真模型

描述

insSensor系统对象™模型设备,融合测量从一个惯性导航系统(INS)和全球导航卫星系统(GNSS)如GPS、并输出融合测量。

输出融合INS和GNSS测量:

  1. 创建insSensor对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

INS= insSensor返回一个系统对象,INS,模型输出测量的INS和GNSS的装置。

例子

INS= insSensor (名称,值)属性使用一个或多个名称-值对。未指定的属性有默认值。在报价附上每个属性的名字。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

位置传感器的平台,在米,指定为一个三元素实值向量的形式xyz]。向量定义传感器的起源从原点的偏移的平台。

可调:是的

数据类型:|

辊的精度测量传感器的身体,在度,指定为一个非负实数。

是周围的旋转x设在传感器的身体。滚动噪声建模为一个白噪声过程。RollAccuracy集卷测量噪声的标准差。

可调:是的

数据类型:|

球场的精度测量传感器的身体,在度,指定为一个非负实数。

球场是周围的旋转y设在传感器的身体。音调噪声建模为一个白噪声过程。PitchAccuracy定义了螺距测量噪声的标准差。

可调:是的

数据类型:|

偏航传感器测量精度的身体,在度,指定为一个非负实数。

偏航是周围的旋转z设在传感器的身体。偏航噪声建模为一个白噪声过程。YawAccuracy定义了偏航测量噪声的标准差。

可调:是的

数据类型:|

身体的位置测量传感器,精度在米,指定为非负实数或三元素实值向量。向量的元素设置的准确性x- - - - - -,y- - - - - -,z分别测量-安置。如果您指定PositionAccuracy作为一个标量值,那么对象集所有三个位置的准确性这个值。

位置噪声建模为一个白噪声过程。PositionAccuracy定义位置测量噪声的标准差。

可调:是的

数据类型:|

传感器的速度测量精度的身体,在米每秒,指定为一个非负实数。

速度噪声建模为一个白噪声过程。VelocityAccuracy定义了速度测量噪声的标准差。

可调:是的

数据类型:|

加速度传感器测量精度的身体,在米每秒,指定为一个非负实数。

加速度噪声建模为一个白噪声过程。AccelerationAccuracy定义加速度测量噪声的标准差。

可调:是的

数据类型:|

传感器的角速度测量精度的身体,在米每秒,指定为一个非负实数。

角速度是建模为一个白噪声过程。AngularVelocityAccuracy定义加速度测量噪声的标准差。

可调:是的

数据类型:|

允许输入的模拟时间,指定为一个逻辑0()或1(真正的)。将此属性设置为真正的通过使用输入仿真时间simTime论点。

可调:没有

数据类型:逻辑

启用GNSS修复,指定为一个逻辑1(真正的)或0()。将此属性设置为模拟GNSS接收机修复的损失。GNSS接收机修复丢失时,指定的位置测量漂移速度PositionErrorFactor财产。

可调:是的

依赖关系

要启用这个特性,设置TimeInput真正的

数据类型:逻辑

位置误差因素没有GNSS修复,指定为一个标量或1×3向量的标量。

HasGNSSFix属性设置为,位置误差的增长速度二次加速度计由于常数的偏见。一个位置组件的位置误差E(t)可以表示为E(t)= 1/2αt2,在那里α是相应的组件和位置误差因素t是自GNSS修复丢失的时间。在运行时,对象的计算t基于simTime输入。计算出的E(t)的值x,y,z组件的组件被添加到相应的位置gTruth输入。

可调:是的

依赖关系

要启用这个特性,设置TimeInput真正的HasGNSSFix

数据类型:|

随机数来源,指定这些选项之一:

  • “全球流”——使用当前全球随机数生成随机数流。

  • “与种子mt19937ar”——使用mt19937ar算法生成随机数,指定的种子种子财产。

数据类型:字符|字符串

的初始种子mt19937ar随机数发生器算法,指定为一个非负整数。

依赖关系

要启用这个特性,设置RandomStream“与种子mt19937ar”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

使用

描述

例子

测量= INS (gTruth)模型从一个INS传感器接收到的数据阅读和GNSS传感器读数。真实的输出测量是基于惯性传感器的身体状态,gTruth

测量= INS (gTruth,simTime)另外指定模拟的时候,simTime。要启用这种语法,设置TimeInput财产真正的

输入参数

全部展开

惯性传感器身体的真实状态,在当地笛卡尔坐标系,指定为一个包含这些字段的结构:

描述
“位置”

位置,在米,指定为一个真正的、有限的N3的矩阵xyz)向量。N在当前帧的样本数量。

“速度”

速度(v),米每秒,指定为一个真正的、有限的N3的矩阵vxvyvz)向量。N在当前帧的样本数量。

“定位”

取向对当地的笛卡儿坐标系统,指定为这些选项之一:

  • N元的列向量四元数对象

  • 3-by-3-by -N旋转矩阵的数组

  • N3的矩阵xy球场z偏航)角的度

每一个四元数或旋转矩阵是一个框架旋转从本地笛卡尔坐标系统电流传感器体坐标系。N在当前帧的样本数量。

“加速”

加速度(一个米每秒的平方),指定为一个真正的、有限的N3的矩阵一个x一个y一个z)向量。N在当前帧的样本数量。

“AngularVelocity”

角速度(ω),在度每秒的平方,指定为一个真正的、有限的N3的矩阵ωxωyωz)向量。N在当前帧的样本数量。

必须的字段值类型

位置,速度,取向字段是必需的。其他字段是可选的。

例子:结构(“位置”,[0 0 0],“速度”,[0 0 0],“定位”,四元数([1 0 0 0]))

仿真时间,以秒为单位,指定为一个非负实数。

数据类型:|

输出参数

全部展开

测量传感器的身体运动,在当地的笛卡尔坐标,返回包含这些字段的结构:

描述
“位置”

位置,在米,指定为一个真正的、有限的N3的矩阵xyz)向量。N在当前帧的样本数量。

“速度”

速度(v),米每秒,指定为一个真正的、有限的N3的矩阵vxvyvz)向量。N在当前帧的样本数量。

“定位”

取向对当地的笛卡儿坐标系统,指定为这些选项之一:

  • N元的列向量四元数对象

  • 3-by-3-by -N旋转矩阵的数组

  • N3的矩阵xy球场z偏航)角的度

每一个四元数或旋转矩阵是一个框架旋转从本地笛卡尔坐标系统电流传感器体坐标系。N在当前帧的样本数量。

“加速”

加速度(一个米每秒的平方),指定为一个真正的、有限的N3的矩阵一个x一个y一个z)向量。N在当前帧的样本数量。

“AngularVelocity”

角速度(ω),在度每秒的平方,指定为一个真正的、有限的N3的矩阵ωxωyωz)向量。N在当前帧的样本数量。

返回的字段值的类型和相同类型的中相应的字段值gTruth输入。

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

扰动 扰动对象上定义的
扰乱 应用扰动对象
一步 运行系统对象算法
克隆 创建重复的系统对象
isLocked 确定系统对象在使用
重置 重置的内部状态系统对象
释放 释放资源,并允许修改系统对象属性值和输入特征

例子

全部折叠

创建一个动态结构,定义了一个固定位置在当地north-east-down (NED)的起源。因为这个平台是静止的,你只需要定义一个样本。假设真实运动采样10秒100 Hz采样率。创建一个默认的insSensor系统对象™。Preallocate变量来保存的输出insSensor对象。

Fs = 100;时间= 10;numSamples = f *时间;运动=结构(“位置”,0 (1、3)“速度”,0 (1、3)“定位”,(1,1,“四元数”));INS = insSensor;positionMeasurements = 0 (numSamples, 3);velocityMeasurements = 0 (numSamples, 3);orientationMeasurements = 0 (numSamples 1“四元数”);

在一个循环中,调用INS运动与静止的结构返回位置,速度,在当地NED和方向测量坐标系统。日志的位置、速度和姿态测量。

=我= 1:numSamples测量INS(运动);:positionMeasurements(我)= measurements.Position;:velocityMeasurements(我)= measurements.Velocity;orientationMeasurements (i) = measurements.Orientation;结束

从四元数与欧拉角转换方向可视化的目的。情节的位置、速度和方向测量。

orientationMeasurements = eulerd (orientationMeasurements,“ZYX股票”,“帧”);t = (0: (numSamples-1)) / Fs;次要情节(1,1)情节(t, positionMeasurements)标题(“位置”)包含(“时间(s)”)ylabel (“位置(m)”)传说(“北”,“东”,“下来”次要情节(3、1、2)情节(t, velocityMeasurements)标题(“速度”)包含(“时间(s)”)ylabel (“速度(米/秒)”)传说(“北”,“东”,“下来”次要情节(3,1,3)情节(t, orientationMeasurements)标题(“定位”)包含(“时间(s)”)ylabel (的旋转(度))传说(“滚”,“节”,“偏航”)

图包含3轴对象。坐标轴对象1标题位置包含3线类型的对象。这些对象代表北,东,下来。坐标轴对象2与标题速度包含3线类型的对象。这些对象代表北,东,下来。轴面向对象3标题包含3线类型的对象。这些对象代表辊、俯仰、偏航。

生成INS测量使用insSensor系统对象™。使用waypointTrajectory生成真实的道路。

指定一个真实取向,从传感器的身体开始x设在北部和结尾与传感器的身体x设在与东方。指定路径点弧形轨迹和到场时间向量对应的锚点。使用一个100 Hz采样率。创建一个waypointTrajectory系统对象的路径约束和设置SamplesPerFrame这整个轨迹输出一个电话。

eulerAngles = [0, 0, 0;0,0,0;90年,0,0;90年,0,0);取向=四元数(eulerAngles,“eulerd”,“ZYX股票”,“帧”);r = 20;路点= [0,0,0;100年,0,0;100 + r, r, 0;100 + r, 100 + r, 0);toa =[0、10、10 +(2 *π* r / 4), 20 +(2 *π* r / 4)];Fs = 100;numSamples =地板(Fs * toa(结束));路径= waypointTrajectory (“锚点”锚点,“TimeOfArrival”toa,“定位”取向,“SampleRate”Fs,“SamplesPerFrame”,numSamples);

创建一个insSensor系统接收INS数据对象模型。设置PositionAccuracy0.1

ins = insSensor (“PositionAccuracy”,0.1);

调用路径轨迹对象,路径真实,产生运动。叫INS模拟器,ins真实的运动生成INS测量。

[motion.Position, motion.Orientation,运动。速度]=路径();insMeas = ins(运动);

转换返回的取向ins欧拉角的度可视化的目的。随着时间的推移图的完整路径和方向。

orientationMeasurementEuler = eulerd (insMeas.Orientation,“ZYX股票”,“帧”);次要情节(2,1,1)情节(insMeas.Position (: 1), insMeas.Position (:, 2));标题(“路径”)包含(“北(m)”)ylabel (“东(m)”次要情节(2,1,2)t = (0: (numSamples-1)。/ Fs;情节(t, orientationMeasurementEuler (: 1),t, orientationMeasurementEuler (:, 2),t, orientationMeasurementEuler (:, 3));标题(“定位”)传说(“偏航”,“节”,“滚”)包含(“时间(s)”)ylabel (的旋转(度))

图包含2轴对象。坐标轴对象1标题路径包含一个类型的对象。轴面向对象2标题包含3线类型的对象。这些对象代表偏航、俯仰,滚。

扩展功能

另请参阅

对象

介绍了R2020b