状态
描述
返回一个演员的真实惯性状态。使用这些数据作为输入地面真理的gTruth
=状态(交流
)insSensor
系统对象™。
这个函数只支持轨迹由使用的演员金宝appsmoothTrajectory
函数。
例子
从驾驶场景生成INS测量
生成的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
对象,指定为一个演员
或车辆
对象。要创建这些对象,可以使用演员
和车辆
函数,分别。
输出参数
gTruth
真实——惯性状态
结构
惯性的真实状态的演员,在当地笛卡尔坐标系,返回包含这些字段的结构:
场 | 描述 |
---|---|
“位置” |
位置,在米,指定为一个真正的、有限的N3的矩阵xyz)向量。N在当前帧的样本数量。 |
“速度” |
速度(v),米每秒,指定为一个真正的、有限的N3的矩阵vxvyvz)向量。N在当前帧的样本数量。 |
“定位” |
取向对当地的笛卡儿坐标系统,指定为这些选项之一:
每一个四元数或旋转矩阵是一个框架旋转从本地笛卡尔坐标系统电流传感器体坐标系。N在当前帧的样本数量。 |
“加速” |
加速度(一个米每秒的平方),指定为一个真正的、有限的N3的矩阵一个x一个y一个z)向量。N在当前帧的样本数量。 |
“AngularVelocity” |
角速度(ω),在度每秒的平方,指定为一个真正的、有限的N3的矩阵ωxωyωz)向量。N在当前帧的样本数量。 |
返回的字段值的类型双
。
版本历史
介绍了R2021a
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。