insSensor
描述
的insSensor
系统对象™模型设备,融合测量从一个惯性导航系统(INS)和全球导航卫星系统(GNSS)如GPS、并输出融合测量。
输出融合INS和GNSS测量:
创建
insSensor
对象并设置其属性。调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
创建
属性
属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放
函数打开它们。
如果一个属性可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象。
MountingLocation
- - - - - -平台上的位置传感器(米)
(0 0 0)
(默认)|三元素的实值向量形式(xyz]
位置传感器的平台,在米,指定为一个三元素实值向量的形式xyz]。向量定义传感器的起源从原点的偏移的平台。
可调:是的
数据类型:单
|双
RollAccuracy
- - - - - -辊精度测量(度)
0.2
(默认)|非负实数
辊的精度测量传感器的身体,在度,指定为一个非负实数。
卷是周围的旋转x设在传感器的身体。滚动噪声建模为一个白噪声过程。RollAccuracy
集卷测量噪声的标准差。
可调:是的
数据类型:单
|双
PitchAccuracy
- - - - - -距测量精度(度)
0.2
(默认)|非负实数
球场的精度测量传感器的身体,在度,指定为一个非负实数。
球场是周围的旋转y设在传感器的身体。音调噪声建模为一个白噪声过程。PitchAccuracy
定义了螺距测量噪声的标准差。
可调:是的
数据类型:单
|双
YawAccuracy
- - - - - -偏航测量精度(度)
1
(默认)|非负实数
偏航传感器测量精度的身体,在度,指定为一个非负实数。
偏航是周围的旋转z设在传感器的身体。偏航噪声建模为一个白噪声过程。YawAccuracy
定义了偏航测量噪声的标准差。
可调:是的
数据类型:单
|双
PositionAccuracy
- - - - - -位置测量精度(m)
(1 1 1)
(默认)|非负实数|三元素实值向量
身体的位置测量传感器,精度在米,指定为非负实数或三元素实值向量。向量的元素设置的准确性x- - - - - -,y- - - - - -,z分别测量-安置。如果您指定PositionAccuracy
作为一个标量值,那么对象集所有三个位置的准确性这个值。
位置噪声建模为一个白噪声过程。PositionAccuracy
定义位置测量噪声的标准差。
可调:是的
数据类型:单
|双
VelocityAccuracy
- - - - - -速度测量精度(米/秒)
0.05
(默认)|非负实数
传感器的速度测量精度的身体,在米每秒,指定为一个非负实数。
速度噪声建模为一个白噪声过程。VelocityAccuracy
定义了速度测量噪声的标准差。
可调:是的
数据类型:单
|双
AccelerationAccuracy
- - - - - -加速度测量精度(m / s2)
0
(默认)|非负实数
加速度传感器测量精度的身体,在米每秒,指定为一个非负实数。
加速度噪声建模为一个白噪声过程。AccelerationAccuracy
定义加速度测量噪声的标准差。
可调:是的
数据类型:单
|双
AngularVelocityAccuracy
- - - - - -角速度测量精度(度/秒)
0
(默认)|非负实数
传感器的角速度测量精度的身体,在米每秒,指定为一个非负实数。
角速度是建模为一个白噪声过程。AngularVelocityAccuracy
定义加速度测量噪声的标准差。
可调:是的
数据类型:单
|双
TimeInput
- - - - - -允许输入的模拟时间
假
或0
(默认)|真正的
或1
HasGNSSFix
- - - - - -使GNSS修复
真正的
或1
(默认)|假
或0
启用GNSS修复,指定为一个逻辑1
(真正的
)或0
(假
)。将此属性设置为假
模拟GNSS接收机修复的损失。GNSS接收机修复丢失时,指定的位置测量漂移速度PositionErrorFactor
财产。
可调:是的
依赖关系
要启用这个特性,设置TimeInput
来真正的
。
数据类型:逻辑
PositionErrorFactor
- - - - - -位置误差因素没有GNSS修复
(0 0 0)
(默认)|负的标量|1×3矢量的标量
RandomStream
- - - - - -随机数源
“全球流”
(默认)|“与种子mt19937ar”
随机数来源,指定这些选项之一:
“全球流”
——使用当前全球随机数生成随机数流。“与种子mt19937ar”
——使用mt19937ar算法生成随机数,指定的种子种子
财产。
数据类型:字符
|字符串
种子
- - - - - -最初的种子
67年
(默认)|非负整数
的初始种子mt19937ar随机数发生器算法,指定为一个非负整数。
依赖关系
要启用这个特性,设置RandomStream
来“与种子mt19937ar”
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
使用
描述
输入参数
gTruth
- - - - - -惯性传感器的身体的真实状态
结构
惯性传感器身体的真实状态,在当地笛卡尔坐标系,指定为一个包含这些字段的结构:
场 | 描述 |
---|---|
“位置” |
位置,在米,指定为一个真正的、有限的N3的矩阵xyz)向量。N在当前帧的样本数量。 |
“速度” |
速度(v),米每秒,指定为一个真正的、有限的N3的矩阵vxvyvz)向量。N在当前帧的样本数量。 |
“定位” |
取向对当地的笛卡儿坐标系统,指定为这些选项之一:
每一个四元数或旋转矩阵是一个框架旋转从本地笛卡尔坐标系统电流传感器体坐标系。N在当前帧的样本数量。 |
“加速” |
加速度(一个米每秒的平方),指定为一个真正的、有限的N3的矩阵一个x一个y一个z)向量。N在当前帧的样本数量。 |
“AngularVelocity” |
角速度(ω),在度每秒的平方,指定为一个真正的、有限的N3的矩阵ωxωyωz)向量。N在当前帧的样本数量。 |
必须的字段值类型双
或单
。
的位置
,速度
,取向
字段是必需的。其他字段是可选的。
例子:结构(“位置”,[0 0 0],“速度”,[0 0 0],“定位”,四元数([1 0 0 0]))
simTime
- - - - - -仿真时间
非负实数
仿真时间,以秒为单位,指定为一个非负实数。
数据类型:单
|双
输出参数
测量
——测量传感器的身体运动
结构
测量传感器的身体运动,在当地的笛卡尔坐标,返回包含这些字段的结构:
场 | 描述 |
---|---|
“位置” |
位置,在米,指定为一个真正的、有限的N3的矩阵xyz)向量。N在当前帧的样本数量。 |
“速度” |
速度(v),米每秒,指定为一个真正的、有限的N3的矩阵vxvyvz)向量。N在当前帧的样本数量。 |
“定位” |
取向对当地的笛卡儿坐标系统,指定为这些选项之一:
每一个四元数或旋转矩阵是一个框架旋转从本地笛卡尔坐标系统电流传感器体坐标系。N在当前帧的样本数量。 |
“加速” |
加速度(一个米每秒的平方),指定为一个真正的、有限的N3的矩阵一个x一个y一个z)向量。N在当前帧的样本数量。 |
“AngularVelocity” |
角速度(ω),在度每秒的平方,指定为一个真正的、有限的N3的矩阵ωxωyωz)向量。N在当前帧的样本数量。 |
返回的字段值的类型双
或单
和相同类型的中相应的字段值gTruth
输入。
对象的功能
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
例子
从静止的输入生成INS测量
创建一个动态结构,定义了一个固定位置在当地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 (的旋转(度))传说(“滚”,“节”,“偏航”)
为跟踪场景生成INS测量
生成INS测量使用insSensor
系统对象™。使用waypointTrajectory
生成真实的道路。使用trackingScenario
组织模拟和可视化运动。
指定真实轨迹8字形东北部的平面路径。使用一个50 Hz采样率,持续时间5秒。
Fs = 50;时间= 5;numSamples = f *时间;t = (0: (numSamples-1)。/ Fs;= 2;x = a。* sqrt (2)。* cos (t) /(罪(t)。^ 2 + 1);罪恶y = x (t) *;z = 0 (numSamples, 1);路点= [x, y, z];路径= waypointTrajectory (“锚点”锚点,“TimeOfArrival”t);
创建一个insSensor
系统接收INS数据对象模型。设置PositionAccuracy
来0.1
。
ins = insSensor (“PositionAccuracy”,0.1);
创建一个跟踪场景的运动被定义为用一个平台路径
。
场景= trackingScenario (“UpdateRate”Fs);四轴飞行器=平台(场景);四轴飞行器。轨迹=路径;
创建一个戏剧情节真实形象化四轴飞行器
运动和四轴飞行器运动测量建模insSensor
。
tp = theaterPlot (“XLimits”,3,3,“YLimits”,3,3);quadPlotter = platformPlotter (tp,…“DisplayName的”,“真实运动”,…“标记”,“年代”,…“MarkerFaceColor”,“蓝”);insPlotter = detectionPlotter (tp,…“DisplayName的”,“INS测量”,…“标记”,' d ',…“MarkerFaceColor”,“红色”);
在一个循环中,推进场景,直到它完成。对于每一个时间步,获取当前运动样本,INS测量的运动模型,然后画出结果。
而推进(场景)运动= platformPoses(场景中,“四元数”);insMeas = ins(运动);plotPlatform (quadPlotter motion.Position);plotDetection (insPlotter insMeas.Position);暂停(1 / scenario.UpdateRate)结束
为将生成INS测量平台
生成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数据对象模型。设置PositionAccuracy
来0.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 (的旋转(度))
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
版本历史
介绍了R2018b
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。