主要内容

状态

惯性演员的真实状态

自从R2021a

描述

例子

gTruth=状态(交流)返回一个演员的真实惯性状态。使用这些数据作为输入地面真理的insSensor系统对象™。

这个函数只支持轨迹由使用的演员金宝appsmoothTrajectory函数。

例子

全部折叠

生成的INS传感器测量车辆在驾驶的情况下安装。情节INS测量地面真理的车辆和可视化的速度和加速度。

创建驾驶场景

负载的地理数据的行驶路线MathWorks®苹果在纳蒂克山校区,马。

data =负载(“ahroute.mat”);拉丁= data.latitude;lonIn = data.longitude;

路线的纬度和经度坐标转换成笛卡尔坐标系。设置第一个坐标原点的行驶路线。为简单起见,假设海拔0的路线。

alt = 0;起源=[拉丁语(1)lonIn (1), alt);[xEast, yNorth, z上]= latlon2local(拉丁语,lonIn alt、起源);

创建一个驾驶场景。设置转换路线的起源作为地理的参考点。

场景= drivingScenario (“GeoReference”、来源);

创建一个基于道路的笛卡尔坐标的路线。

roadCenters = [xEast yNorth z上);路(场景,roadCenters);

创建一个车辆,道路的中心线。车辆之间的旅行4和5米每秒(9到11英里每小时),减速曲线在路上。创建轨迹,使用smoothTrajectory函数。轨迹计算最小化混蛋并避免在加速度不连续,这是一个要求建模INS传感器。

egoVehicle =车辆(场景中,“ClassID”1);egoPath = roadCenters;egoSpeed = [5 5 5 4 4 4 5 4 4 4 4 5 5 5 5 5];smoothTrajectory (egoVehicle egoPath egoSpeed);

情节场景和显示三维视图从自我后面车辆。

情节(场景)chasePlot (egoVehicle)

创建INS传感器

创建一个INS传感器接受输入的模拟时间。引入噪声传感器测量通过设置速度和精度测量的标准偏差0.1和0.05,分别。

INS = insSensor (“TimeInput”,真的,“VelocityAccuracy”,0.1,“AccelerationAccuracy”,0.05);

可视化INS测量

初始化一个地理球员显示INS测量和演员地面实况。配置玩家显示其最后10位置和缩放级别设置为17。

zoomLevel = 17;球员= geoplayer(拉丁语(1)lonIn (1) zoomLevel,“HistoryDepth”10“HistoryStyle”,“行”);

预先分配的空间仿真时间、速度测量和加速度测量期间捕获的模拟。

numWaypoints =长度(拉丁);* = 0 (numWaypoints, 1);gTruthVelocities = 0 (numWaypoints, 1);gTruthAccelerations = 0 (numWaypoints, 1);sensorVelocities = 0 (numWaypoints, 1);sensorAccelerations = 0 (numWaypoints, 1);

模拟的场景。在模拟循环,获得地面真理的自我,一个INS测量状态。这些读数转换成地理坐标,在每一个路标,可视化地面真理和INS的地理数据的球员。也捕捉的速度和加速度数据绘制速度和加速度资料。

nextWaypoint = 2;推进(场景)%获得地面真理的自我状态车辆。gTruth =状态(egoVehicle);%获得INS传感器测量。测量= INS (gTruth scenario.SimulationTime);%将数据转换为地理坐标。[它实用,lonOut] = local2latlon (measurement.Position (1),measurement.Position (2),measurement.Position(3),来源);%情节差异地面实况报告的地点和位置传感器。reachedWaypoint =总和(abs (roadCenters (nextWaypoint:) - gTruth.Position)) < 1;如果reachedWaypoint plotPosition(球员,拉丁语(nextWaypoint) lonIn (nextWaypoint),“TrackID”(1)plotPosition lonOut播放器,它实用,“TrackID”2,“标签”,“英寸”)%捕获仿真时间、速度和加速度。时间(1)nextWaypoint = scenario.SimulationTime;gTruthVelocities (nextWaypoint 1) = gTruth.Velocity (2);gTruthAccelerations (nextWaypoint 1) = gTruth.Acceleration (2);sensorVelocities (nextWaypoint 1) = measurement.Velocity (2);sensorAccelerations (nextWaypoint 1) = measurement.Acceleration (2);nextWaypoint = nextWaypoint + 1;结束如果nextWaypoint > numWaypoints打破结束结束

情节速度剖面

比较地面车辆的纵向速度随着时间的推移,真理对INS捕获的速度测量的传感器。

删除零矢量和速度矢量。

* (* = = 0)= [];gTruthVelocities (gTruthVelocities = = 0) = [];sensorVelocities (sensorVelocities = = 0) = [];图保存情节(次,gTruthVelocities)情节(次,sensorVelocities)标题(“纵向速度剖面”)包含(“时间(s)”)ylabel (“速度(米/秒)”)传说(“地面实况”,“英寸”)举行

情节加速度剖面

比较汽车的地面实况纵向加速度随时间变化对加速度的测量被INS传感器。

gTruthAccelerations (gTruthAccelerations = = 0) = [];sensorAccelerations (sensorAccelerations = = 0) = [];图保存情节(次,gTruthAccelerations)情节(次,sensorAccelerations)标题(纵向加速度剖面的)包含(“时间(s)”)ylabel (“加速度(m / s ^ 2)”)传说(“地面实况”,“英寸”)举行

输入参数

全部折叠

演员属于一个drivingScenario对象,指定为一个演员车辆对象。要创建这些对象,可以使用演员车辆函数,分别。

输出参数

全部折叠

惯性的真实状态的演员,在当地笛卡尔坐标系,返回包含这些字段的结构:

描述
“位置”

位置,在米,指定为一个真正的、有限的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在当前帧的样本数量。

返回的字段值的类型

版本历史

介绍了R2021a