从驾驶场景生成雷达传感器检测和跟踪
的drivingRadarDataGenerator
系统对象™生成检测或跟踪目标从一个汽车雷达传感器模型的报道。使用这个对象从驾驶场景生成传感器数据包含演员和轨迹,可以创建使用drivingScenario
对象。当创建场景使用驾驶场景设计师应用,雷达传感器安装在自我车辆输出drivingRadarDataGenerator
对象。
的drivingRadarDataGenerator
对象可以模拟集群或未聚集的检测还添加随机噪声和产生错误的报警检测。你可以与其他传感器数据融合生成的检测和跟踪对象使用multiObjectTracker
对象。你也可以直接输出跟踪drivingRadarDataGenerator
对象。配置目标是否输出作为集群检测,未聚集的检测,或追踪,使用TargetReportFormat
财产。
生成雷达检测或跟踪报告:
创建drivingRadarDataGenerator
对象并设置其属性。
调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
创建一个雷达传感器报告集群检测和使用默认属性值。rdr
= drivingRadarDataGenerator
设置rdr
= drivingRadarDataGenerator (id
)SensorIndex
财产id
。
属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放
函数打开它们。
如果一个属性可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象。
传感器识别SensorIndex
- - - - - -独特的传感器标识符0
(默认)|正整数独特的传感器标识符指定为一个正整数。使用这个属性来区分检测或跟踪来自不同传感器的多传感器系统。指定每个传感器的独特价值。如果你不更新SensorIndex
的默认值0
,然后在模拟雷达返回一个错误。
数据类型:双
UpdateRate
- - - - - -传感器更新率(赫兹)10
(默认)|积极的真正的标量传感器更新率,在赫兹,指定为一个积极的真正的标量。的倒数更新率必须是一个整数倍数的模拟时间间隔。雷达生成新的报告间隔定义为这个倒数值。不包含任何传感器之间的更新请求更新间隔检测或跟踪。
数据类型:双
MountingLocation
- - - - - -自我车辆上的传感器位置(m)(3.4 0 0.2)
(默认)|1×3实值向量的形式(xyz]传感器位置自我汽车车身骨架,在米,指定为1×3实值向量的形式xyz]。这个属性定义的坐标传感器沿x设在,y设在,z设在相对于自我汽车起源,地点:
的x设在指向前方的车辆。
的y设在点左边的车。
的z设在从地面点。
对应于一个雷达,默认值是安装在前面的中心烧烤的轿车。
为更多的细节在自我车辆坐标系,明白了坐标系统在自动驾驶的工具箱。
数据类型:双
MountingAngles
- - - - - -雷达安装旋转角度(度)(0 0 0)
(默认)|1×3实值向量的形式(z偏航y球场x卷]安装旋转角度的雷达,在度,指定为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设在,从地面点。
为更多的细节在这个坐标系统,明白了坐标系统在自动驾驶的工具箱。
数据类型:双
HasElevation
- - - - - -使雷达测量目标仰角角度假
或0
(默认)|真正的
或1
使雷达测量目标高度角,指定为一个逻辑0
(假
)或1
(真正的
)。将此属性设置为真正的
模型一个雷达传感器,可以估计目标仰角。
数据类型:逻辑
HasRangeRate
- - - - - -使雷达测量目标区间真正的
或1
(默认)|假
或0
使雷达测量目标范围,指定为一个逻辑1
(真正的
)或0
(假
)。将此属性设置为真正的
模型的雷达传感器,可以测量范围从目标检测。
数据类型:逻辑
HasNoise
- - - - - -允许添加噪声雷达传感器测量真正的
或1
(默认)|假
或0
允许添加噪声雷达传感器测量,指定为一个逻辑1
(真正的
)或0
(假
)。将此属性设置为真正的
添加噪声雷达测量。否则,测量没有噪音。即使你设置HasNoise
来假
,测量噪声协方差矩阵的报道MeasurementNoise
属性生成的对象检测输出,依据
,代表了测量噪声时添加HasNoise
是真正的
。
数据类型:逻辑
HasFalseAlarms
- - - - - -使创建假警报雷达探测真正的
或1
(默认)|假
或0
使创建假警报雷达测量,指定为一个逻辑1
(真正的
)或0
(假
)。将此属性设置为真正的
报告假警报。否则,雷达只报告实际检测。
数据类型:逻辑
HasOcclusion
- - - - - -使视线遮挡真正的
或1
(默认)|假
或0
使视线遮挡,指定为一个逻辑1
(真正的
)或0
(假
)。生成检测只从对象的雷达有直接的视线,设置该属性真正的
。例如,启用了这个属性,雷达不生成检测车辆,另一辆车并阻止视图。
数据类型:逻辑
MaxNumReportsSource
- - - - - -的最大数量的检测或跟踪报道“汽车”
(默认)|“属性”
源的最大数量的检测或跟踪报道,指定为这些选项之一:
“汽车”
——传感器检测或跟踪报道。
“属性”
——第一个传感器报告N有效的检测或跟踪,N等于MaxNumReports
属性值。
MaxNumReports
- - - - - -最大数量的检测或跟踪50
(默认)|正整数最大数量的检测或跟踪传感器报告,指定为一个正整数。传感器检测报告的顺序传感器的距离增加,直到达到最大数量。
要启用这个特性,设置MaxNumReportsSource
财产“属性”
。
数据类型:双
TargetReportFormat
- - - - - -报告的格式生成目标“集群检测”
(默认)|“跟踪”
|“检测”
报告的格式生成目标,指定为这些选项之一:
“集群检测”
——传感器生成目标报告集群检测,每个目标是作为一个单独的检测报道的重心是未聚集的目标检测。集群检测传感器返回的数组objectDetection
对象,如所描述的依据
输出参数。
“跟踪”
——传感器生成目标报告跟踪,这是集群检测处理的跟踪滤波器。传感器将跟踪作为一个数组返回objectTrack
对象,如所描述的跟踪
输出参数。
“检测”
——传感器生成目标报告未聚集的检测可以有多个,每个目标检测。传感器将未聚集的检测作为一个数组返回objectDetection
对象,如所描述的依据
输出参数。
DetectionCoordinates
- - - - - -坐标系统的检测报告“身体”
(默认)|传感器矩形的
|“球形传感器”
坐标系统的检测报告,指定这些选项之一:
“身体”
矩形的身体系统,检测报告的自我。
传感器矩形的
-检测报告在矩形体系统的雷达传感器。
“球形传感器”
-检测报告为中心的球面坐标系统在雷达传感器和与自我汽车雷达的方向。
AzimuthResolution
- - - - - -方位分辨率的雷达(度)4
(默认)|积极的真正的标量雷达的方位分辨率,在度,指定为一个积极的标量。的方位分辨率定义了最小分离在方位角的雷达可以区分两个目标。方位分辨率通常3 dB downpoint方位角雷达的波束宽度。
数据类型:双
ElevationResolution
- - - - - -海拔的分辨率雷达(度)5
(默认)|积极的真正的标量海拔高度分辨率的雷达,在度,指定为一个积极的真正的标量。的海拔决议定义了最小分离在仰角的雷达可以区分两个目标。高度分辨率通常是半功率波束宽度的仰角雷达的波束宽度。
要启用这个特性,设置HasElevation
财产真正的
。
数据类型:双
RangeResolution
- - - - - -雷达的距离分辨率(米)2.5
(默认)|积极的真正的标量雷达的距离分辨率,在米,指定为一个积极的真正的标量。的距离分辨率定义范围的最低分离的雷达可以区分两个目标。
数据类型:双
RangeRateResolution
- - - - - -范围解决雷达速度(米/秒)0.5
(默认)|积极的真正的标量解决雷达速度范围,在米每秒,指定为一个积极的真正的标量。的范围内利率决议定义了最小分离速率范围的雷达可以区分两个目标。
要启用这个特性,设置HasRangeRate
财产真正的
。
数据类型:双
AzimuthBiasFraction
- - - - - -雷达的方位偏差零头0.1
(默认)|负的标量方位偏差的雷达,指定为负的标量。方位偏差表示为一小部分中指定的方位分辨率AzimuthResolution
财产。这个值设置一个下界的方位精度雷达和无量纲。
数据类型:双
ElevationBiasFraction
- - - - - -高程偏差的雷达0.1
(默认)|负的标量高程偏差的雷达,指定为负的标量。高程偏差表示为海拔的一小部分指定的决议ElevationResolution
财产。这个值设置一个下界的高程精度雷达和无量纲。
要启用这个特性,设置HasElevation
财产真正的
。
数据类型:双
RangeBiasFraction
- - - - - -倾向分数范围0.05
(默认)|负的标量偏见的雷达范围,指定为负的标量。偏差范围表示为指定的距离分辨率的一小部分吗RangeResolution
财产。这个属性设置一个下界的测距精度雷达和无量纲。
数据类型:双
RangeRateBiasFraction
- - - - - -数据与偏见分数0.05
(默认)|负的标量数据与偏见的雷达,指定为负的标量。数据与偏见表示为一个指定的数据分辨率的分数吗RangeRateResolution
财产。这个属性设置一个下界的范围率精度雷达和无量纲。
要启用这个特性,设置HasRangeRate
财产真正的
。
数据类型:双
DetectionProbability
- - - - - -目标的检测概率0.9
(默认)|标量范围(0,1)概率的检测目标,指定为一个标量范围(0,1)。该属性定义了目标检测的概率雷达截面(RCS),ReferenceRCS
参考检测范围,ReferenceRange
。
数据类型:双
ReferenceRange
- - - - - -参考范围给出检测概率(m)One hundred.
(默认)|积极的真正的标量参考范围为给定的检测概率和给定的参考雷达截面(RCS),米,指定为一个积极的真正的标量。的参考范围的范围是一个指定的目标有一个雷达截面ReferenceRCS
属性指定的检测概率的检测DetectionProbability
财产。
数据类型:双
ReferenceRCS
- - - - - -给定参考雷达横截面检测概率(dBsm)0
(默认)|真正的标量参考雷达截面(RCS)对于一个给定的概率检测和参考范围,在分贝平方米,指定为一个真正的标量。的参考RCS是检测到目标的RCS值所指定的概率DetectionProbability
在指定的ReferenceRange
价值。
数据类型:双
FalseAlarmRate
- - - - - -假警报率报告1 e-6
(默认)|积极的真正的标量范围[107,103]假警报率报告在每个雷达分辨单元内,指定为一个积极的真正的标量范围(107,103]。单位是无量纲。对象决定了细胞的决议AzimuthResolution
和RangeResolution
属性,启用时,从ElevationResolution
和RangeRateResolution
属性。
数据类型:双
CenterFrequency
- - - - - -雷达频带的中心频率(赫兹)77年e9
(默认)|积极的真正的标量中心频率的雷达波段,在赫兹,指定为一个积极的标量。
数据类型:双
FieldOfView
- - - - - -雷达视场角度(度)20 [5]
|1×2正实值向量的形式[azfov elfov]
雷达的角的视野度,指定为1×2正实值向量的形式[azfov elfov]
。领域的观点定义了全角由传感器张成的程度。方位的视野,azfov
,必须躺在区间(0,360]。海拔的视野,elfov
,必须躺在区间(0,180]。
数据类型:双
RangeLimits
- - - - - -最小和最大范围的雷达(m)150年[0]
(默认)|1×2非负实值向量的形式(最小最大)
最小和最大范围的雷达,在米,指定为1×2非负实值向量的形式(最小最大)
。雷达不检测目标,超出这个范围。的最大范围内,马克斯
必须大于最小射程,最小值
。
RangeRateLimits
- - - - - -最小值和最大值范围雷达速度(米/秒)(-100 100)
(默认)|1×2实值向量的形式(最小最大)
最小和最大范围的雷达,在米每秒,指定为1×2实值向量的形式(最小最大)
。雷达不检测目标,超出这个范围。最大射程的速率,马克斯
必须大于最小射程率,最小值
。
要启用这个特性,设置HasRangeRate
财产真正的
。
RadarLoopGain
- - - - - -雷达环路增益这个属性是只读的。
雷达环路增益,指定为一个真正的标量。RadarLoopGain
取决于的值DetectionProbability
,ReferenceRange
,ReferenceRCS
,FalseAlarmRate
属性。雷达环路增益是一个函数的报道雷达的信噪比,信噪比目标的雷达截面,RCS目标区间,R通过这个方程描述的:
信噪比=RadarLoopGain
+RCS- 40日志10(R)
信噪比和RCS分贝,分贝平方米,分别R单位是米,RadarLoopGain
在分贝。
数据类型:双
FilterInitializationFcn
- - - - - -卡尔曼滤波器的初始化函数@initcvekf
(默认)|函数处理|特征向量|字符串标量卡尔曼滤波器的初始化函数,指定为一个函数处理或作为特征向量或字符串标量有效的卡尔曼滤波器的初始化函数的名称。
表显示了您可以使用指定的初始化函数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
|字符
|字符串
ConfirmationThreshold
- - - - - -阈值进行跟踪确认3 [2]
(默认)|1×2的正整数向量阈值进行跟踪确认,指定为1×2的正整数向量形式(mn)
。至少跟踪确认是否收到米
检测在过去N
更新。米
必须小于或等于N
。
当设置米
,考虑到概率的对象检测传感器。检测的概率取决于因素,如阻塞或杂物。你可以减少米
当未能得到证实或增加米
当太多的虚假检测被分配到的痕迹。
当设置N
,考虑一下你想要追踪更新的次数才能确认决定。例如,如果一个追踪每0.05秒更新一次,你想让0.5秒作出确认决定,集N = 10
。
例子:[3 - 5]
要启用这个特性,设置TargetReportFormat
财产“跟踪”
。
数据类型:双
DeletionThreshold
- - - - - -阈值跟踪删除5 [5]
(默认)|1×2的正整数向量阈值跟踪删除指定为1×2的正整数向量形式[P R]
。如果没有分配给任何确认跟踪检测P
次在过去R
跟踪更新,然后删除。P
必须小于或等于R
。
降低雷达维护跟踪,多长时间减少R
或增加P
。
保持跟踪的时间更长,增加R
或减少P
。
例子:[3 - 5]
要启用这个特性,设置TargetReportFormat
财产“跟踪”
。
数据类型:双
TrackCoordinates
- - - - - -坐标系统的跟踪报道“身体”
(默认)|“传感器”
坐标系统的跟踪报道,指定这些选项之一:
“身体”
—跟踪矩形身体系统的自我报告。
“传感器”
—跟踪报道在矩形体系统的雷达传感器。
要启用这个特性,设置TargetReportFormat
财产“跟踪”
。
配置文件
- - - - - -演员简介演员概要文件,指定为一个结构或一个结构数组。每个结构都包含物理和雷达的特点,一个演员。
如果ActorProfiles
是一个结构,所有演员传递到吗drivingRadarDataGenerator
对象使用这个配置文件。
如果ActorProfiles
是一个数组,每个演员都传递到对象必须有一个独特的演员。
为你的驾驶场景生成的数组结构,使用actorProfiles
函数。表显示了有效的结构字段。如果你不指定一个字段,该字段设置为其默认值。如果没有传递到对象,演员的ActorID
字段是不包括在内。
场 | 描述 |
---|---|
ActorID |
场景定义演员标识符指定为一个正整数。 |
ClassID |
分类标识符指定为一个非负整数。0 被预留给一个未知或未赋值的类的一个对象。 |
长度 |
演员,长度指定为一个积极的真正的标量。默认值是4.7 。单位是米。 |
宽度 |
指定宽度的演员,是一个积极的真正的标量。默认值是1.8 。单位是米。 |
高度 |
高度的演员,指定为一个积极的真正的标量。默认值是1.4 。单位是米。 |
OriginOffset |
抵消旋转中心的演员从它的几何中心,指定为一个(xyz实值向量。旋转中心,或起源,位于底部的中心的演员。车辆,旋转中心是点在地上在后桥的中心。默认值是 |
RCSPattern |
雷达横截面的演员,指定为一个元素个数(RCSElevationAngles) ——- - - - - -元素个数(RCSAzimuthAngles) 实值矩阵。默认值是[10 10;10 10] 。单位是每平方米在分贝。 |
RCSAzimuthAngles |
方位角度对应于行RCSPattern 指定为一个向量的值范围(-180、180)。默认值是(-180 180) 。单位是在度。 |
RCSElevationAngles |
高度角对应的行RCSPattern 指定为一个向量的值范围(-90、90)。默认值是(-90 90) 。单位是在度。 |
数据类型:结构体
这些语法应用当您设置TargetReportFormat
财产“集群检测”
或“检测”
。
(
还返回的有效的检测报告,依据
,numReports
)= rdr (目标
,simTime
)numReports
。
(
返回一个逻辑值,依据
,numReports
,isValidTime
)= rdr (目标
,simTime
)isValidTime
,说明是否simTime
是一个有效的时间生成检测。如果simTime
是一个整数的倍数的倒数吗UpdateRate
属性值,然后isValidTime
是1
(真正的
)。
这些语法应用当您设置TargetReportFormat
财产“跟踪”
。
(
还返回有效的追踪报道的数量,跟踪
,numReports
)= rdr (目标
,simTime
)numReports
。
(
返回一个逻辑值,跟踪
,numReports
,isValidTime
)= rdr (目标
,simTime
)isValidTime
,说明是否simTime
是一个有效的时间生成。如果simTime
是一个整数的倍数的倒数吗UpdateRate
属性值,然后isValidTime
是1
(真正的
)。
目标
- - - - - -目标演员的姿势演员提出了目标,指定为一个结构数组或结构。每个结构对应于一个目标参与者的构成相对于自我。产生这些结构,使用targetPoses
函数。你也可以手动创建这些结构。不包括自我车辆构成结构数组。
此表显示了结构所需的字段。
场 | 描述 |
---|---|
ActorID |
场景定义演员标识符指定为一个正整数。 |
ClassID |
分类标识符指定为一个非负整数。0 代表一个未知或未赋值的类的一个对象。 |
位置 |
演员的位置,指定为一个实值向量的形式xyz]。单位是米。 |
速度 |
速度(v)的演员x- - - - - -,y- - - - - -,z方向,指定为一个实值向量的形式vxvyvz]。单位是米每秒。 |
卷 |
横摇角的演员,指定为一个真正的标量。单位是在度。 |
球场 |
螺旋角的演员,指定为一个真正的标量。单位是在度。 |
偏航 |
偏航角的演员,指定为一个真正的标量。单位是在度。 |
AngularVelocity |
角速度(ω)的演员x- - - - - -,y- - - - - -,z方向,指定为一个实值向量的形式ωxωyωz]。单位是每秒度。 |
simTime
- - - - - -当前仿真时间目前的仿真时间,以秒为单位,指定为一个非负实数。
例子:10.5
数据类型:双
依据
——生成检测objectDetection
对象生成的检测,作为细胞数组返回objectDetection
对象。每个对象包含这些属性:
财产 | 定义 |
---|---|
时间 |
测量时间 |
测量 |
对象的测量 |
MeasurementNoise |
测量噪声协方差矩阵 |
SensorIndex |
传感器的惟一ID |
ObjectClassID |
对象分类 |
ObjectAttributes |
额外的信息传递给跟踪 |
MeasurementParameters |
所使用的参数初始化函数的非线性卡尔曼跟踪滤波器 |
直角坐标系中,测量
和MeasurementNoise
发表在直角坐标系中指定的吗DetectionCoordinates
财产的drivingRadarDataGenerator
对象。
球坐标,测量
和MeasurementNoise
发表在球面坐标系统,它是基于传感器直角坐标系。
测量
和MeasurementNoise
DetectionCoordinates 价值 |
测量 和MeasurementNoise 坐标 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
“身体” |
协调的依赖
|
|||||||||||||||
传感器矩形的 |
||||||||||||||||
“球形传感器” |
协调的依赖
|
为ObjectAttributes
,这个表描述了用于跟踪的额外信息。
ObjectAttributes
属性 | 定义 |
---|---|
TargetIndex |
标识符的演员,ActorID ,生成的检测。假警报,这个值是负的。 |
信噪比 |
在dB检测信噪比。 |
为MeasurementParameters
测量是相对于父框架。当你设置DetectionCoordinates
财产“身体”
,父框架是身体自我车辆。当您设置DetectionCoordinates
来传感器矩形的
或“球形传感器”
父框架是传感器。
MeasurementParameters
参数 | 定义 |
---|---|
框架 |
枚举类型指示帧用来测量报告。当框架 被设置为“矩形” 在直角坐标系中,检测。当框架 被设置为“球” 在球坐标中,检测报告。 |
OriginPosition |
三维矢量传感器原点的偏移父框架。 |
取向 |
定位的雷达传感器坐标系对父框架。 |
HasVelocity |
表明测量是否包含速度或范围率组件。 |
HasElevation |
指示是否包含高程测量组件。 |
跟踪
——生成的跟踪objectTrack
数组|结构数组生成的轨迹,作为一个返回objectTrack
数组在MATLAB和一个结构数组生成的代码。在生成的代码中,字段名称返回的结构相同的属性名objectTrack
对象。
传感器只返回确认跟踪跟踪,满足确认阈值中指定ConfirmationThreshold
财产。这些痕迹的IsConfirmed
对象的属性或字段的结构真正的
。
数据类型:结构体
|对象
numReports
——检测或跟踪报道数量的检测或跟踪报道,作为一个非负整数返回。numReports
等于的长度依据
当生成检测和跟踪
当生成的痕迹。
数据类型:双
isValidTime
——有效时间生成报告0
|1
有效的时间生成报告,作为一个逻辑返回0
(假
)或1
(真正的
)。
如果isValidTime
是0
(假
),然后返回的报告依据
(生成的检测)跟踪
(生成的跟踪)是无效的,因为每次生成它们的传感器与传感器更新率不一致。
仅当当前模拟传感器生成的报告时间,simTime
是一个时间间隔的整数倍数的传感器生成的报告。这个时间间隔等于的倒数UpdateRate
属性值。
数据类型:逻辑
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
使用一个雷达传感器产生集群检测,未聚集的检测和跟踪多个车辆在驾驶的情况下。
创建驾驶场景
创建一个空的驾驶场景和添加一个双车道,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))结束
objectDetection
|objectTrack
|drivingScenario
|multiObjectTracker
|visionDetectionGenerator
|lidarPointCloudGenerator
|insSensor
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。