主要内容

drivingRadarDataGenerator

从驾驶场景生成雷达传感器检测和跟踪

描述

drivingRadarDataGenerator系统对象™生成检测或跟踪目标从一个汽车雷达传感器模型的报道。使用这个对象从驾驶场景生成传感器数据包含演员和轨迹,可以创建使用drivingScenario对象。当创建场景使用驾驶场景设计师应用,雷达传感器安装在自我车辆输出drivingRadarDataGenerator对象。

drivingRadarDataGenerator对象可以模拟集群或未聚集的检测还添加随机噪声和产生错误的报警检测。你可以与其他传感器数据融合生成的检测和跟踪对象使用multiObjectTracker对象。你也可以直接输出跟踪drivingRadarDataGenerator对象。配置目标是否输出作为集群检测,未聚集的检测,或追踪,使用TargetReportFormat财产。

生成雷达检测或跟踪报告:

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

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

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

创建

描述

rdr= drivingRadarDataGenerator创建一个雷达传感器报告集群检测和使用默认属性值。

rdr= drivingRadarDataGenerator (id)设置SensorIndex财产id

例子

rdr= drivingRadarDataGenerator (___,名称,值)属性使用一个或多个名称-值对。在报价附上每个属性的名字。例如,drivingRadarDataGenerator (“TargetReportFormat”、“跟踪”、“FilterInitializationFcn”, @initcvkf)创建一个雷达传感器产生跟踪报道使用跟踪器初始化的常速线性卡尔曼滤波器。

属性

全部展开

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

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

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

传感器识别

独特的传感器标识符指定为一个正整数。使用这个属性来区分检测或跟踪来自不同传感器的多传感器系统。指定每个传感器的独特价值。如果你不更新SensorIndex的默认值0,然后在模拟雷达返回一个错误。

数据类型:

传感器更新率,在赫兹,指定为一个积极的真正的标量。的倒数更新率必须是一个整数倍数的模拟时间间隔。雷达生成新的报告间隔定义为这个倒数值。不包含任何传感器之间的更新请求更新间隔检测或跟踪。

数据类型:

传感器安装

传感器位置自我汽车车身骨架,在米,指定为1×3实值向量的形式xyz]。这个属性定义的坐标传感器沿x设在,y设在,z设在相对于自我汽车起源,地点:

  • x设在指向前方的车辆。

  • y设在点左边的车。

  • z设在从地面点。

对应于一个雷达,默认值是安装在前面的中心烧烤的轿车。

为更多的细节在自我车辆坐标系,明白了坐标系统在自动驾驶的工具箱

数据类型:

安装旋转角度的雷达,在度,指定为1×3实值向量的形式(z偏航y球场x]。该属性定义了内在欧拉角旋转的传感器z设在,y设在,x设在对自我汽车车身骨架,地点:

  • z偏航,或偏航角周围的传感器,旋转z设在自我的工具。

  • y球场,或螺旋角周围的传感器,旋转y设在自我的工具。这个旋转相对于传感器位置的结果z偏航旋转。

  • x,或横摇角,旋转传感器x设在自我的工具。这个旋转相对于传感器位置的结果z偏航y球场旋转。

这些角度clockwise-positive时的前进方向z设在,y设在,x分别设在。如果你想象传感器数据从鸟瞰的角度来看,偏航角是counterclockwise-positive因为您正在查看的数据负方向的z设在,从地面点。

为更多的细节在这个坐标系统,明白了坐标系统在自动驾驶的工具箱

数据类型:

检测报告

使雷达测量目标高度角,指定为一个逻辑0()或1(真正的)。将此属性设置为真正的模型一个雷达传感器,可以估计目标仰角。

数据类型:逻辑

使雷达测量目标范围,指定为一个逻辑1(真正的)或0()。将此属性设置为真正的模型的雷达传感器,可以测量范围从目标检测。

数据类型:逻辑

允许添加噪声雷达传感器测量,指定为一个逻辑1(真正的)或0()。将此属性设置为真正的添加噪声雷达测量。否则,测量没有噪音。即使你设置HasNoise,测量噪声协方差矩阵的报道MeasurementNoise属性生成的对象检测输出,依据,代表了测量噪声时添加HasNoise真正的

数据类型:逻辑

使创建假警报雷达测量,指定为一个逻辑1(真正的)或0()。将此属性设置为真正的报告假警报。否则,雷达只报告实际检测。

数据类型:逻辑

使视线遮挡,指定为一个逻辑1(真正的)或0()。生成检测只从对象的雷达有直接的视线,设置该属性真正的。例如,启用了这个属性,雷达不生成检测车辆,另一辆车并阻止视图。

数据类型:逻辑

源的最大数量的检测或跟踪报道,指定为这些选项之一:

  • “汽车”——传感器检测或跟踪报道。

  • “属性”——第一个传感器报告N有效的检测或跟踪,N等于MaxNumReports属性值。

最大数量的检测或跟踪传感器报告,指定为一个正整数。传感器检测报告的顺序传感器的距离增加,直到达到最大数量。

依赖关系

要启用这个特性,设置MaxNumReportsSource财产“属性”

数据类型:

报告的格式生成目标,指定为这些选项之一:

  • “集群检测”——传感器生成目标报告集群检测,每个目标是作为一个单独的检测报道的重心是未聚集的目标检测。集群检测传感器返回的数组objectDetection对象,如所描述的依据输出参数。

  • “跟踪”——传感器生成目标报告跟踪,这是集群检测处理的跟踪滤波器。传感器将跟踪作为一个数组返回objectTrack对象,如所描述的跟踪输出参数。

  • “检测”——传感器生成目标报告未聚集的检测可以有多个,每个目标检测。传感器将未聚集的检测作为一个数组返回objectDetection对象,如所描述的依据输出参数。

坐标系统的检测报告,指定这些选项之一:

  • “身体”矩形的身体系统,检测报告的自我。

  • 传感器矩形的-检测报告在矩形体系统的雷达传感器。

  • “球形传感器”-检测报告为中心的球面坐标系统在雷达传感器和与自我汽车雷达的方向。

测量分辨率

雷达的方位分辨率,在度,指定为一个积极的标量。的方位分辨率定义了最小分离在方位角的雷达可以区分两个目标。方位分辨率通常3 dB downpoint方位角雷达的波束宽度。

数据类型:

海拔高度分辨率的雷达,在度,指定为一个积极的真正的标量。的海拔决议定义了最小分离在仰角的雷达可以区分两个目标。高度分辨率通常是半功率波束宽度的仰角雷达的波束宽度。

依赖关系

要启用这个特性,设置HasElevation财产真正的

数据类型:

雷达的距离分辨率,在米,指定为一个积极的真正的标量。的距离分辨率定义范围的最低分离的雷达可以区分两个目标。

数据类型:

解决雷达速度范围,在米每秒,指定为一个积极的真正的标量。的范围内利率决议定义了最小分离速率范围的雷达可以区分两个目标。

依赖关系

要启用这个特性,设置HasRangeRate财产真正的

数据类型:

测量偏差

方位偏差的雷达,指定为负的标量。方位偏差表示为一小部分中指定的方位分辨率AzimuthResolution财产。这个值设置一个下界的方位精度雷达和无量纲。

数据类型:

高程偏差的雷达,指定为负的标量。高程偏差表示为海拔的一小部分指定的决议ElevationResolution财产。这个值设置一个下界的高程精度雷达和无量纲。

依赖关系

要启用这个特性,设置HasElevation财产真正的

数据类型:

偏见的雷达范围,指定为负的标量。偏差范围表示为指定的距离分辨率的一小部分吗RangeResolution财产。这个属性设置一个下界的测距精度雷达和无量纲。

数据类型:

数据与偏见的雷达,指定为负的标量。数据与偏见表示为一个指定的数据分辨率的分数吗RangeRateResolution财产。这个属性设置一个下界的范围率精度雷达和无量纲。

依赖关系

要启用这个特性,设置HasRangeRate财产真正的

数据类型:

检测设置

概率的检测目标,指定为一个标量范围(0,1)。该属性定义了目标检测的概率雷达截面(RCS),ReferenceRCS参考检测范围,ReferenceRange

数据类型:

参考范围为给定的检测概率和给定的参考雷达截面(RCS),米,指定为一个积极的真正的标量。的参考范围的范围是一个指定的目标有一个雷达截面ReferenceRCS属性指定的检测概率的检测DetectionProbability财产。

数据类型:

参考雷达截面(RCS)对于一个给定的概率检测和参考范围,在分贝平方米,指定为一个真正的标量。的参考RCS是检测到目标的RCS值所指定的概率DetectionProbability在指定的ReferenceRange价值。

数据类型:

假警报率报告在每个雷达分辨单元内,指定为一个积极的真正的标量范围(107,103]。单位是无量纲。对象决定了细胞的决议AzimuthResolutionRangeResolution属性,启用时,从ElevationResolutionRangeRateResolution属性。

数据类型:

中心频率的雷达波段,在赫兹,指定为一个积极的标量。

数据类型:

雷达的角的视野度,指定为1×2正实值向量的形式[azfov elfov]。领域的观点定义了全角由传感器张成的程度。方位的视野,azfov,必须躺在区间(0,360]。海拔的视野,elfov,必须躺在区间(0,180]。

数据类型:

最小和最大范围的雷达,在米,指定为1×2非负实值向量的形式(最小最大)。雷达不检测目标,超出这个范围。的最大范围内,马克斯必须大于最小射程,最小值

最小和最大范围的雷达,在米每秒,指定为1×2实值向量的形式(最小最大)。雷达不检测目标,超出这个范围。最大射程的速率,马克斯必须大于最小射程率,最小值

依赖关系

要启用这个特性,设置HasRangeRate财产真正的

这个属性是只读的。

雷达环路增益,指定为一个真正的标量。RadarLoopGain取决于的值DetectionProbability,ReferenceRange,ReferenceRCS,FalseAlarmRate属性。雷达环路增益是一个函数的报道雷达的信噪比,信噪比目标的雷达截面,RCS目标区间,R通过这个方程描述的:

信噪比=RadarLoopGain+RCS- 40日志10(R)

信噪比RCS分贝,分贝平方米,分别R单位是米,RadarLoopGain在分贝。

数据类型:

跟踪设置

卡尔曼滤波器的初始化函数,指定为一个函数处理或作为特征向量或字符串标量有效的卡尔曼滤波器的初始化函数的名称。

表显示了您可以使用指定的初始化函数FilterInitializationFcn

初始化函数 函数定义
initcaabf 初始化恒定加速度α-β卡尔曼滤波器
initcvabf 初始化常速α-β卡尔曼滤波器
initcakf 初始化加速度恒定线性卡尔曼滤波器。
initcvkf 初始化常速线性卡尔曼滤波器。
initcaekf 初始化加速度恒定扩展卡尔曼滤波器。
initctekf 初始化constant-turnrate扩展卡尔曼滤波器。
initcvekf 常速扩展卡尔曼滤波器进行初始化。
initcaukf 初始化加速度恒定无味卡尔曼滤波器。
initctukf 初始化constant-turnrate无味卡尔曼滤波器。
initcvukf 初始化常速无味卡尔曼滤波器。

您也可以编写自己的初始化函数。函数必须有如下语法:

过滤器= filterInitializationFcn(检测)
这个函数的输入是像那些由一个检测报告objectDetection对象。这个函数必须跟踪滤波器的输出对象,如trackingKF,trackingEKF,trackingUKF,或trackingABF

指导你写这个函数中,您可以检查的细节在MATLAB提供的功能®。例如:

类型initcvekf

依赖关系

要启用这个特性,设置TargetReportFormat财产“跟踪”

数据类型:function_handle|字符|字符串

阈值进行跟踪确认,指定为1×2的正整数向量形式(mn)。至少跟踪确认是否收到检测在过去N更新。必须小于或等于N

  • 当设置,考虑到概率的对象检测传感器。检测的概率取决于因素,如阻塞或杂物。你可以减少当未能得到证实或增加当太多的虚假检测被分配到的痕迹。

  • 当设置N,考虑一下你想要追踪更新的次数才能确认决定。例如,如果一个追踪每0.05秒更新一次,你想让0.5秒作出确认决定,集N = 10

例子:[3 - 5]

依赖关系

要启用这个特性,设置TargetReportFormat财产“跟踪”

数据类型:

阈值跟踪删除指定为1×2的正整数向量形式[P R]。如果没有分配给任何确认跟踪检测P次在过去R跟踪更新,然后删除。P必须小于或等于R

  • 降低雷达维护跟踪,多长时间减少R或增加P

  • 保持跟踪的时间更长,增加R或减少P

例子:[3 - 5]

依赖关系

要启用这个特性,设置TargetReportFormat财产“跟踪”

数据类型:

坐标系统的跟踪报道,指定这些选项之一:

  • “身体”—跟踪矩形身体系统的自我报告。

  • “传感器”—跟踪报道在矩形体系统的雷达传感器。

依赖关系

要启用这个特性,设置TargetReportFormat财产“跟踪”

目标概要文件

演员概要文件,指定为一个结构或一个结构数组。每个结构都包含物理和雷达的特点,一个演员。

  • 如果ActorProfiles是一个结构,所有演员传递到吗drivingRadarDataGenerator对象使用这个配置文件。

  • 如果ActorProfiles是一个数组,每个演员都传递到对象必须有一个独特的演员。

为你的驾驶场景生成的数组结构,使用actorProfiles函数。表显示了有效的结构字段。如果你不指定一个字段,该字段设置为其默认值。如果没有传递到对象,演员的ActorID字段是不包括在内。

描述
ActorID 场景定义演员标识符指定为一个正整数。
ClassID 分类标识符指定为一个非负整数。0被预留给一个未知或未赋值的类的一个对象。
长度 演员,长度指定为一个积极的真正的标量。默认值是4.7。单位是米。
宽度 指定宽度的演员,是一个积极的真正的标量。默认值是1.8。单位是米。
高度 高度的演员,指定为一个积极的真正的标量。默认值是1.4。单位是米。
OriginOffset

抵消旋转中心的演员从它的几何中心,指定为一个(xyz实值向量。旋转中心,或起源,位于底部的中心的演员。车辆,旋转中心是点在地上在后桥的中心。默认值是(0 0 0)。单位是米。

RCSPattern 雷达横截面的演员,指定为一个元素个数(RCSElevationAngles)——- - - - - -元素个数(RCSAzimuthAngles)实值矩阵。默认值是[10 10;10 10]。单位是每平方米在分贝。
RCSAzimuthAngles 方位角度对应于行RCSPattern指定为一个向量的值范围(-180、180)。默认值是(-180 180)。单位是在度。
RCSElevationAngles 高度角对应的行RCSPattern指定为一个向量的值范围(-90、90)。默认值是(-90 90)。单位是在度。

对结构的完整定义字段,请参阅演员车辆功能。

数据类型:结构体

使用

描述

生成检测

这些语法应用当您设置TargetReportFormat财产“集群检测”“检测”

依据= rdr (目标,simTime)创建了雷达检测,依据,从传感器测量的目标构成,目标相对于自我车辆目前的仿真时间,simTime。对象可以同时为多个演员生成传感器检测。

(依据,numReports)= rdr (目标,simTime)还返回的有效的检测报告,numReports

例子

(依据,numReports,isValidTime)= rdr (目标,simTime)返回一个逻辑值,isValidTime,说明是否simTime是一个有效的时间生成检测。如果simTime是一个整数的倍数的倒数吗UpdateRate属性值,然后isValidTime1(真正的)。

生成跟踪

这些语法应用当您设置TargetReportFormat财产“跟踪”

跟踪= rdr (目标,simTime)创建了雷达跟踪,跟踪,从传感器测量的目标构成,目标相对于自我车辆目前的仿真时间,simTime。对象可以同时为多个演员生成传感器跟踪。

(跟踪,numReports)= rdr (目标,simTime)还返回有效的追踪报道的数量,numReports

例子

(跟踪,numReports,isValidTime)= rdr (目标,simTime)返回一个逻辑值,isValidTime,说明是否simTime是一个有效的时间生成。如果simTime是一个整数的倍数的倒数吗UpdateRate属性值,然后isValidTime1(真正的)。

输入参数

全部展开

演员提出了目标,指定为一个结构数组或结构。每个结构对应于一个目标参与者的构成相对于自我。产生这些结构,使用targetPoses函数。你也可以手动创建这些结构。不包括自我车辆构成结构数组。

此表显示了结构所需的字段。

描述
ActorID

场景定义演员标识符指定为一个正整数。

ClassID 分类标识符指定为一个非负整数。0代表一个未知或未赋值的类的一个对象。
位置

演员的位置,指定为一个实值向量的形式xyz]。单位是米。

速度

速度(v)的演员x- - - - - -,y- - - - - -,z方向,指定为一个实值向量的形式vxvyvz]。单位是米每秒。

横摇角的演员,指定为一个真正的标量。单位是在度。

球场

螺旋角的演员,指定为一个真正的标量。单位是在度。

偏航

偏航角的演员,指定为一个真正的标量。单位是在度。

AngularVelocity

角速度(ω)的演员x- - - - - -,y- - - - - -,z方向,指定为一个实值向量的形式ωxωyωz]。单位是每秒度。

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

例子:10.5

数据类型:

输出参数

全部展开

生成的检测,作为细胞数组返回objectDetection对象。每个对象包含这些属性:

财产 定义
时间 测量时间
测量 对象的测量
MeasurementNoise 测量噪声协方差矩阵
SensorIndex 传感器的惟一ID
ObjectClassID 对象分类
ObjectAttributes 额外的信息传递给跟踪
MeasurementParameters 所使用的参数初始化函数的非线性卡尔曼跟踪滤波器

直角坐标系中,测量MeasurementNoise发表在直角坐标系中指定的吗DetectionCoordinates财产的drivingRadarDataGenerator对象。

球坐标,测量MeasurementNoise发表在球面坐标系统,它是基于传感器直角坐标系。

测量MeasurementNoise

DetectionCoordinates价值 测量MeasurementNoise坐标
“身体”

协调的依赖HasRangeRate

HasRangeRate 坐标
真正的 [x, y, z, vx; v; vz]
[x, y, z]
传感器矩形的
“球形传感器”

协调的依赖HasRangeRateHasElevation

HasRangeRate HasElevation 坐标
真正的 真正的 (阿兹;el rng; rr)
真正的 (阿兹;提高;rr)
真正的 (阿兹;el rng)
(阿兹;rng)

ObjectAttributes,这个表描述了用于跟踪的额外信息。

ObjectAttributes

属性 定义
TargetIndex 标识符的演员,ActorID,生成的检测。假警报,这个值是负的。
信噪比 在dB检测信噪比。

MeasurementParameters测量是相对于父框架。当你设置DetectionCoordinates财产“身体”,父框架是身体自我车辆。当您设置DetectionCoordinates传感器矩形的“球形传感器”父框架是传感器。

MeasurementParameters

参数 定义
框架 枚举类型指示帧用来测量报告。当框架被设置为“矩形”在直角坐标系中,检测。当框架被设置为“球”在球坐标中,检测报告。
OriginPosition 三维矢量传感器原点的偏移父框架。
取向 定位的雷达传感器坐标系对父框架。
HasVelocity 表明测量是否包含速度或范围率组件。
HasElevation 指示是否包含高程测量组件。

生成的轨迹,作为一个返回objectTrack数组在MATLAB和一个结构数组生成的代码。在生成的代码中,字段名称返回的结构相同的属性名objectTrack对象。

传感器只返回确认跟踪跟踪,满足确认阈值中指定ConfirmationThreshold财产。这些痕迹的IsConfirmed对象的属性或字段的结构真正的

数据类型:结构体|对象

数量的检测或跟踪报道,作为一个非负整数返回。numReports等于的长度依据当生成检测和跟踪当生成的痕迹。

数据类型:

有效的时间生成报告,作为一个逻辑返回0()或1(真正的)。

如果isValidTime0(),然后返回的报告依据(生成的检测)跟踪(生成的跟踪)是无效的,因为每次生成它们的传感器与传感器更新率不一致。

仅当当前模拟传感器生成的报告时间,simTime是一个时间间隔的整数倍数的传感器生成的报告。这个时间间隔等于的倒数UpdateRate属性值。

数据类型:逻辑

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

使用一个雷达传感器产生集群检测,未聚集的检测和跟踪多个车辆在驾驶的情况下。

创建驾驶场景

创建一个空的驾驶场景和添加一个双车道,100米道路段。通过使用虚线车道标记分隔车道。

场景= drivingScenario (“SampleTime”,0.02);roadCenters = [0 0 0;100 0 0];标志= [laneMarking (“固体”)laneMarking (“冲”)laneMarking (“固体”));laneSpecification = lanespec ([1],“标记”,标志着);路(场景、roadCenters“道”,laneSpecification);

增加自我车辆。右车道的车辆旅行90米以恒定的速度20米/秒。

自我=车辆(场景中,“ClassID”,1“位置”-1.8 [5 0]);egoWaypoints = [ego.Position;(ego.Position (1) + 90) ego.Position (2:3)];egoSpeed = 20;% m / ssmoothTrajectory(自我,egoWaypoints egoSpeed)

添加目标车辆,雷达可以生成检测和跟踪。

  • 第一辆车是一辆车,开始前的10米自我沿着车道车辆和旅行以恒定的速度每秒30米。

  • 第二个车辆是一辆卡车旅行在左边的车道30 m / s的速度常数。

车=车辆(场景中,“ClassID”,1“位置”[ego.Position -1.8 (1) + 10 0]);carWaypoints = [car.Position;(car.Position (1) + 75) car.Position (2:3)];carSpeed = 30;% m / ssmoothTrajectory车辆(汽车、carWaypoints、carSpeed)卡车=(场景中,“ClassID”2,“位置”(5 1.8 0),“长度”,8.2,“宽度”,2.5,“高度”,3.5);truckWaypoints = [truck.Position;(truck.Position (1) + 90) truck.Position (2:3)];truckSpeed = 30;% m / ssmoothTrajectory(卡车,truckWaypoints, truckSpeed)

情节的推动情节场景和停顿,让时间来更新。

情节(场景)推进(场景)暂停(scenario.SampleTime)结束

创建雷达传感器

创建一个雷达传感器的最大射程100米,山的镜子面前自我。配置更新以同样的速度传感器的样品时间场景。指定要使用的雷达的目标概要文件生成数据的汽车和卡车。

关闭(gcf) maxRange = 100;% mfrontMirror =[自我。FrontOverhang 0 (ego.height - 0.1)];概要文件= actorProfiles(场景);targetProfiles =概要文件(2:结束);id = 1;rdr = drivingRadarDataGenerator (id、“UpdateRate”1 / scenario.SampleTime,“MountingLocation”frontMirror,“RangeLimits”[0 maxRange],“配置文件”targetProfiles)
rdr = drivingRadarDataGenerator属性:SensorIndex: 1 UpdateRate: 50 MountingLocation: [0.9000 0 1.3000] MountingAngles: [0 0 0] FieldOfView: 20 [5] RangeLimits: 100年[0]RangeRateLimits: 100年[-100]DetectionProbability: 0.9000 FalseAlarmRate: 1.0000 e-06使用显示所有属性

创建鸟瞰的情节

创建一个鸟瞰的传感器数据的可视化情节一样。为可视化车道标记添加策划者,车辆轮廓,和雷达覆盖区。使用helperPlotScenario函数绘制场景的这些方面。这个helper函数定义的例子。

cep = birdsEyePlot (“XLim”,60 [0],“YLim”35 [-35]);lmPlotter = laneMarkingPlotter (cep),“标签”,“lm”,“DisplayName的”,“车道标记”);olPlotter = outlinePlotter (cep),“标签”,“ol”);caPlotter = coverageAreaPlotter (cep),“标签”,“ca”,“DisplayName的”,“雷达覆盖区”,“FaceColor”,“红色”,“EdgeColor”,“红色”);helperPlotScenario (cep rdr自我)

产生集群检测

使用雷达生成集群目标车辆的检测。可视化这些检测鸟瞰的阴谋。在每个仿真时间步,雷达生成每个目标只有一个检测。

clusterDetPlotter = detectionPlotter (cep),“DisplayName的”,“集群检测”,“MarkerEdgeColor”,“红色”,“MarkerFaceColor”,“红色”);重启(场景)推进(场景)simTime = scenario.SimulationTime;目标= targetPoses(自我);[侦破,numDets isValidTime] = rdr(目标,simTime);helperPlotScenario (cep rdr自我)如果isValidTime & & numDets > 0 detPos = cell2mat (cellfun (@ (d) d.Measurement(1:2),精细,“UniformOutput”、假)“)”;plotDetection (clusterDetPlotter detPos)结束结束

生成未聚集的检测

使用雷达生成未聚集的目标车辆的检测。可视化这些检测鸟瞰的阴谋。在每个仿真时间步,每个目标雷达产生多个检测。

clearData (clusterDetPlotter)释放(rdr)”。TargetReportFormat =“检测”;detPlotter = detectionPlotter (cep),“DisplayName的”,“未聚集的检测”,“MarkerEdgeColor”,“红色”);重启(场景)推进(场景)simTime = scenario.SimulationTime;目标= targetPoses(自我);[侦破,numDets isValidTime] = rdr(目标,simTime);helperPlotScenario (cep rdr自我)如果isValidTime & & numDets > 0 detPos = cell2mat (cellfun (@ (d) d.Measurement(1:2),精细,“UniformOutput”、假)“)”;plotDetection (detPlotter detPos)结束结束

生成跟踪

使用雷达来生成跟踪目标车辆。可视化这些追踪和跟踪历史上鸟瞰的阴谋。

clearData (detPlotter)释放(rdr)”。TargetReportFormat =“跟踪”;historyDepth = 20;tPlotter = trackPlotter (cep),“DisplayName的”,“跟踪”,“HistoryDepth”,historyDepth);重启(场景)推进(场景)simTime = scenario.SimulationTime;目标= targetPoses(自我);(跟踪、numTracks isValidTime] = rdr(目标,simTime);helperPlotScenario (cep rdr自我)如果isValidTime & & numTracks > 0 trackPos = cell2mat (arrayfun (@ (t) t.State(1:2:结束),“UniformOutput”、假)“)”;plotTrack (tPlotter trackPos (: 1:2))结束结束

关闭鸟瞰的情节,重新启动的情况下,雷达传感器和释放。

关闭(gcf)重启(场景)释放(rdr)

金宝app支持功能

helperPlotScenario情节的车道标记和车辆轮廓自我车辆鸟瞰的阴谋。它还阴谋雷达传感器的覆盖范围。

函数helperPlotScenario (cep、雷达、自我)%情节车道标记lmPlotter = findPlotter (cep),“标签”,“lm”);(lmv, lmf) = laneMarkingVertices(自我);plotLaneMarking (lmPlotter lmv lmf)%绘制车辆轮廓olPlotter = findPlotter (cep),“标签”,“ol”);(位置、偏航、长度、宽度、originOffset color] = targetOutlines(自我);plotOutline (olPlotter、位置、偏航、长度、宽度、“OriginOffset”originOffset,“颜色”、颜色)%绘制雷达覆盖区caPlotter = findPlotter (cep),“标签”,“ca”);plotCoverageArea (caPlotter radar.MountingLocation (1:2),radar.MountingAngles radar.RangeLimits (2) (1),radar.FieldOfView (1))结束
介绍了R2021a