trackerGridRFS
基于网格的多目标跟踪
描述
的trackerGridRFS
系统对象™是一个跟踪器能够处理来自多个传感器的检测多个目标的二维环境中。跟踪器跟踪动态对象在一个自治系统使用高分辨率传感器数据点云和雷达探测等。跟踪器使用随机有限集(RFS)中定义的方法结合Dempster-Shafer近似为基础[1]估计网格的动态特性的细胞。从网格中提取对象,追踪使用cell-to-track协会计划[2]。更多细节,请参阅算法。
使用这个对象跟踪目标:
创建
trackerGridRFS
对象并设置其属性。调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
创建
描述
创建一个跟踪器
= trackerGridRFStrackerGridRFS
系统对象的默认属性值。
设置跟踪器使用一个或多个属性名称-值对。例如,跟踪器
= trackerGridRFS (名称,值
)trackerGridRFS (' MaxNumTracks ', 100)
创建一个基于网格的多目标跟踪器,允许最多100张光碟。在报价附上每个属性的名字。
属性
属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放
函数打开它们。
如果一个属性可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象。
跟踪器配置
TrackerIndex
- - - - - -唯一的跟踪标识符
0
(默认)|非负整数
独特的跟踪标识符,指定为一个非负整数。这个属性的使用SourceIndex
在跟踪输出,区分来自不同的追踪器的跟踪multiple-tracker系统。您必须指定这个属性是一个正整数使用跟踪跟踪熔化炉的输出作为输入。
例子:1
SensorConfigurations
- - - - - -配置跟踪传感器
trackingSensorConfiguration
对象|的数组trackingSensorConfiguration
对象|单元阵列的trackingSensorConfiguration
对象|等效结构格式
跟踪传感器的配置,指定为一个trackingSensorConfiguration
对象的数组trackingSensorConfiguration
或细胞数组的数组trackingSensorConfiguration
对象。这个属性提供了跟踪传感器的配置信息,例如传感器检测限制,传感器分辨率,和传感器安装跟踪器。没有默认值SensorConfigurations
财产,你必须指定SensorConfigurations
财产在使用跟踪器之前。如果,你可以更新配置HasSensorConfigurationsInput
属性设置为真正的
,通过指定输入参数的配置配置
。
当指定trackingSensorConfiguration
对象,以下属性必须指定这些格式:
属性名 | 格式 |
---|---|
SensorIndex |
传感器的惟一标识符,指定为一个正整数。 |
IsValidTime |
显示传感器数据是否应该被用来更新追踪,指定为 |
SensorTransformParameters |
传感器的参数变换函数,指定为一个p有效测量参数的数组结构。p是传感器的数量。结构应该包含字段中使用相同的名称作为测量参数测量功能,如 第一个结构必须从自治系统描述转换传感器坐标。随后从自治系统结构描述转换跟踪坐标系。如果只有一个结构,实行跟踪执行跟踪坐标系的自治系统。 |
SensorLimits |
传感器检测范围,指定为标量的2×2矩阵。第一行指定上下极限的方位角度。第二行指定上下极限探测范围的米。 |
跟踪器忽略了FilterInitializationFcn
,SensorTransformFcn
,MaxNumDetsPerObject
的属性trackingSensorConfiguration
对象。
交替,您可以指定这个属性使用结构和字段名称相同的属性名trackingSensorConfiguration
对象。
HasSensorConfigurationsInput
- - - - - -随着时间的推移,使更新传感器配置
假
(默认)|真正的
随着时间的推移,使更新传感器配置指定为假
或真正的
。将此属性设置为真正的
如果你想要的配置传感器随时间更新。当这个属性设置真正的
,您必须指定配置输入配置
当使用这个对象。
数据类型:逻辑
StateParameters
- - - - - -参数跟踪状态的参考系
结构([])
(默认)|结构体数组
参数的跟踪状态参考系,指定为一个结构或一个结构数组。跟踪器通过其StateParameters
属性值对StateParameters
属性生成的跟踪。您可以使用这些参数来定义的坐标系跟踪报告或其他可取的属性生成的痕迹。
例如,您可以使用以下结构来定义一个直角坐标系的原点位置(10 10 0)
米,其起源速度(2 2 0)米每秒的帧的场景。
字段名 | 价值 |
---|---|
框架 |
“矩形” |
位置 |
(10 10 0) |
速度 |
(2 2 0) |
可调:是的
数据类型:结构体
MaxNumSensors
- - - - - -最大数量的传感器
20.
(默认)|正整数
最大数量的传感器可以连接到追踪,指定为一个正整数。MaxNumSensors
必须大于或等于最大的价值SensorIndex
发现在所有的传感器数据和配置用于更新追踪。
数据类型:单
|双
MaxNumTracks
- - - - - -最大数量的跟踪
One hundred.
(默认)|正整数
最大数量的跟踪器可以保持跟踪,指定为一个正整数。
数据类型:单
|双
GridLength
- - - - - -x方向网格尺寸
One hundred.
(默认)|积极的标量
x方向尺寸网格的局部坐标,指定为一个积极的标量米。
GridWidth
- - - - - -y方向网格尺寸
One hundred.
(默认)|积极的标量
y方向尺寸网格的局部坐标,指定为一个积极的标量米。
GridResolution
- - - - - -分辨率的网格
1
(默认)|积极的标量
分辨率的网格,指定为一个积极的标量。GridResolution
代表细胞的数量每米的网格x- - -y方向的网格。
GridOriginInLocal
- - - - - -网格的位置在当地坐标系原点
(-50 -50)
(默认)|双元素向量的标量
网格的起源在当地坐标系的位置,指定为一个双元素向量标量的米。网格起源代表手机的左下角时网格。
MotionModel
- - - - - -运动模型的跟踪
常速的
(默认)|“恒定加速度”
|“constant-turn-rate”
运动跟踪模型,指定为常速的
,“恒定加速度”
,或“constant-turn-rate”
。每个运动模型的粒子状态和对象状态是:
MotionModel |
粒子状态 | 对象状态 |
---|---|---|
常速的 |
[x;vx;y;v) |
[x;vx;y;v;偏航;L;W) |
“恒定加速度” |
[x;vx;斧头;y;v;ay] |
[x;vx;斧头;y;v;ay;偏航;L;W) |
“constant-turn-rate” |
[x;vx;y;v;w) |
[x;vx;y;v;w;偏航;L;W) |
地点:
x
——对象的位置在x方向上当地的跟踪框架(m)y
——对象的位置在y方向上当地的跟踪框架(m)vx
——对象的速度在x方向上当地的跟踪框架(米/秒)v
——对象在y方向上的速度当地的跟踪框架(米/秒)斧头
——物体的加速度在x方向上当地的跟踪框架(m / s2)唉
——物体的加速度在y方向上当地的跟踪框架(m / s2)w
-偏航率在当地跟踪对象的框架(度/秒)偏航
-偏航角的对象在本地跟踪框架(度)l
对象的长度(米)W
对象的宽度(米)
VelocityLimits
- - - - - -对象的最小和最大速度
[-10 10;-10年10]
(默认)|2×2矩阵的标量
最小和最大速度的对象,指定为一个2×2矩阵m / s的标量。第一行指定了上下的速度限制x方向和第二行指定了上下的速度限制y方向。跟踪器使用这些限制样本新粒子使用均匀分布在网格中。
AccelerationLimits
- - - - - -最小和最大加速度的对象
(5 5;5 5]
(默认)|2×2矩阵的标量
最小和最大加速度的对象,指定为一个2×2矩阵m / s的标量2。第一行指定的上下极限加速度x方向和第二行指定的上下极限加速度y方向。跟踪器使用这些限制样本新粒子使用均匀分布在网格中。
当这个属性只是活跃MotionModel
属性设置为“恒定加速度”
。
TurnrateLimits
- - - - - -最小和最大的对象
[5;5]
(默认)|双元素向量的标量
最小和最大的对象,指定一个双元素向量的标量学位/ s。第一个元素定义了最小转率和第二个元素定义了最大周转周期。
当这个属性只是活跃MotionModel
属性设置为“constant-turnrate”
。
ProcessNoise
- - - - - -过程噪声协方差
N——- - - - - -N单位矩阵(默认)|N——- - - - - -N矩阵的标量
过程噪声协方差,指定为一个N——- - - - - -N矩阵的标量。这个属性指定粒子的过程噪声的位置和几何中心的目标。
当
HasAdditiveProcessNoise
属性设置为真正的
,这个过程直接增加了预测模型。在这种情况下,N等于粒子的维数的状态。当
HasAdditiveProcessNoise
属性设置为假
噪音,定义流程根据选定的运动模型。过程噪声添加到高阶术语中,加速度等常速的
模型。MotionModel
数量条款加速度 术语的意义 常速的
2
加速度的x和y方向 “恒定加速度”
2
混蛋的x和y方向 “constant-turn-rate”
3
加速度的x和y方向以及角加速度
例子:[1.0 - 0.05;0.05 - 2)
可调:是的
HasAdditiveProcessNoise
- - - - - -使模型过程噪声作为添加剂
假
(默认)|真正的
使模型过程噪声作为添加剂,指定为真正的
或假
。当这个属性真正的
、过程噪声直接添加到状态向量。否则,噪音是融入运动模型。
例子:真正的
NumParticles
- - - - - -每个网格的粒子数
10000年
(默认)|正整数
每个网格的粒子数量,指定为一个正整数。更多的粒子可以提高评估质量,但会增加计算成本。
NumBirthParticles
- - - - - -每个时间步的新生儿粒子数
1000年
(默认)|积极的标量
每个时间步新生(初始化)的粒子数量,指定为一个正整数。跟踪确定这些新生的粒子的位置通过使用预测之间的不匹配和更新后的居住质量和信念BirthProbability
财产。一个合理的价值NumBirthParticles
属性指定的大约百分之十的粒子数NumParticles
财产。
BirthProbability
- - - - - -目标的概率出生在一个单元中每一步
0.01
(默认)|标量的[0 1)
目标的概率出生在一个单元中每一步,指定为一个标量范围[0 1)
。诞生概率的概率控制新粒子生成细胞。
例子:1的军医
死亡率
- - - - - -单位时间内死亡率的粒子
1 e - 3
(默认)|积极的标量
单位时间内死亡率的粒子,指定为一个积极的标量。死亡率表明粒子或目标的可能性消失后,一次一步。死亡率影响的生存概率(P年代)的一个组件之间的连续时间步骤:
在哪里ΔT是时间步。
例子:1的军医
可调:是的
FreeSpaceDiscountFactor
- - - - - -对自由空间预测的信心
0.8
(默认)|标量
对自由空间预测的信心,指定为一个标量。在预测阶段的追踪,细胞的质量信念的“免费”(无人)减少FreeSpaceDiscountFactor
:
在哪里k是时间步指数,米是信念,α是自由空间折现系数,ΔT是时间步。
可调:是的
聚类
- - - - - -聚类方法用于新对象提取
“DBSCAN”
(默认)|“自定义”
聚类方法用于新对象提取,指定为“DBSCAN”
或“自定义”
。
“DBSCAN”
——集群使用未赋值的动态网格细胞density-based空间聚类的应用程序与噪声(DBSCAN)算法。您可以配置指定的DBSCAN算法ClusteringThreshold
和MinNumCellsPerCluster
跟踪器的属性。“自定义”
——集群未赋值的动态网格细胞使用自定义聚类函数中指定CustomClusteringFcn
跟踪器的属性。
ClusteringThreshold
- - - - - -阈值DBSCAN聚类
5
(默认)|积极的标量
DBSCAN聚类阈值,指定为一个积极的标量。
要启用这个特性,设置聚类
财产“DBSCAN”
。
CustomClusteringFcn
- - - - - -自定义函数为集群未赋值的网格细胞
函数处理
自定义函数为集群未赋值的网格细胞,指定为一个函数处理。函数必须支持这个签名:金宝app
函数指数= myFunction (dynamicGridCells)
dynamicGridCells
结构定义一组网格细胞初始化跟踪。它必须有这些字段:
场 | 描述 |
---|---|
宽度 |
细胞的宽度,指定为一个积极的标量。 |
GridIndices |
网格细胞指数,作为指定N2数组,N未赋值的细胞的数量。第一个元素指定的网格索引x方向,第二个元素指定的网格索引y方向。 |
状态 |
网格细胞、指定为一个P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。 |
StateCovariance |
网格细胞状态协方差,指定为一个P——- - - - - -P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。 |
OccupancyMass |
入住率信仰细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。 |
FreeMass |
自由信念细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。 |
指数
必须返回一个吗N元向量指标定义集群指数为每个动态网格单元。
要启用这个特性,设置聚类
财产“自定义”
。
MinNumCellsPerCluster
- - - - - -最小数量的细胞对DBSCAN每个集群
2
(默认)|正整数
最小数量的细胞对DBSCAN每个集群,指定为一个积极的标量。这个属性点是否影响一个核心的DBSCAN算法。
要启用这个特性,设置聚类
财产“DBSCAN”
。
TrackInitializationFcn
- - - - - -函数来初始化新轨道
“trackerGridRFS.defaultTrackInitialization”
(默认)|函数处理
函数来初始化新线路,指定为一个函数处理。初始化函数启动轨道从一组动态网格细胞。
默认初始化函数合并的高斯估计每个单元来描述对象的状态。对象的方向与平均速度的方向保持一致。取向的定义,对象的长度和宽度提取使用几何属性的细胞。对象计算的不确定性在长度、宽度和方向使用线性近似估计。
如果你选择定制自己的初始化函数,该函数必须支持以下签名:金宝app
函数跟踪= myFunction (dynamicGridCells)
dynamicGridCells
结构定义一组网格细胞初始化跟踪。它有以下字段:
场 | 描述 |
---|---|
宽度 |
细胞的宽度,指定为一个积极的标量。 |
GridIndices |
网格细胞指数,作为指定N2数组,N未赋值的细胞的数量。第一个元素指定了方向网格索引,第二个元素指定在y方向上的网格索引。 |
状态 |
网格细胞、指定为一个P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。 |
StateCovariance |
网格细胞状态协方差,指定为一个P——- - - - - -P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。 |
OccupancyMass |
入住率信仰细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。 |
FreeMass |
自由信念细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。 |
跟踪
必须返回一个吗objectTrack
对象或一个结构的字段名称的属性名称相同objectTrack
对象。的尺寸必须一样的状态维度中指定MotionModel
财产。
TrackUpdateFcn
- - - - - -函数来更新现有的跟踪
“trackerGridRFS.defaultTrackUpdate”
(默认)|函数处理
函数来更新现有的追踪使用其相关的动态网格细胞,指定为一个函数处理。
默认更新功能更新状态
和StateCovariance
跟踪的属性使用的新的估计动态网格细胞与跟踪。更新过程是类似的初始化过程TrackInitializationFcn
财产。追踪不适用过滤状态和状态协方差。
如果你选择定制自己的更新函数,该函数必须支持这个签名:金宝app
函数updatedTrack = TrackUpdateFcn (predictedTrack dynamicGridCells)
predictedTrack
的预测跟踪对象,指定为一个吗objectTrack
对象。dynamicGridCells
是一个结构定义一组相关联的动态网格细胞的跟踪。结构有这些字段:场 描述 宽度
细胞的宽度,指定为一个积极的标量。 GridIndices
网格细胞指数,作为指定N2数组,N未赋值的细胞的数量。第一个元素指定的网格索引x方向,第二个元素指定的网格索引y方向。 状态
网格细胞、指定为一个P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。 StateCovariance
网格细胞状态协方差,指定为一个P——- - - - - -P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。 OccupancyMass
入住率信仰细胞的质量,作为一个指定N元标量、数组N未赋值的细胞的数量。 FreeMass
自由信念细胞的质量,作为一个指定N元标量、数组N未赋值的细胞的数量。 updatedTrack
是更新后的跟踪,作为一个返回objectTrack
对象或一个结构的字段名称的属性名称相同objectTrack
对象。
AssignmentThreshold
- - - - - -阈值分配动态网格细胞追踪
30.
(默认)|积极的标量
阈值分配动态网格细胞追踪,指定为一个积极的标量。动态网格细胞只能关联一个轨道的距离(由负对数似)跟踪小于AssignmentThreshold
价值。
增加阈值,如果一个动态的细胞没有被分配到一个跟踪应该分配给它。
降低阈值,如果是动态的细胞被分配给一个追踪他们不应该分配给。
例子:18.1
ConfirmationThreshold
- - - - - -阈值进行跟踪确认
3 [2]
(默认)|实值向量的正整数1×2
阈值进行跟踪确认,指定为一个实值向量的正整数1×2(mn)
。跟踪确认是否已经分配给任何动态网格单元至少米
最后的更新N
更新。
DeletionThreshold
- - - - - -阈值跟踪删除
5 [5]
(默认)|实值向量的正整数1×2
阈值跟踪删除指定为一个实值向量的正整数1×2[P R]
。记录被删除,如果没有分配给任何动态网格单元至少P
最后的更新R
更新。
例子:0.01
数据类型:单
|双
NumTracks
- - - - - -跟踪维护跟踪
非负整数
这个属性是只读的。
跟踪器的跟踪维护,作为一个非负整数返回。
数据类型:双
NumConfirmedTracks
- - - - - -数量的确认跟踪
非负整数
这个属性是只读的。
数量的跟踪确认,作为一个非负整数返回。如果IsConfirmed
一个输出跟踪对象的属性真正的
,跟踪确认。
数据类型:双
UseGPU
- - - - - -启用动态网格地图使用GPU的估计
假
(默认)|真正的
这个属性是只读的。
使使用GPU的估计动态网格地图,指定为真正的
或假
。支持GPU计算需要并行计算工具箱™。
使用
语法
描述
返回一个列表的更新追踪确认从传感器数据的列表confirmedTracks
=跟踪器(sensorData
,时间
)sensorData
在更新的时间时间
。确认跟踪纠正和预测更新时间。
还指定了配置的传感器confirmedTracks
=跟踪器(sensorData
,配置
,时间
)配置
。要启用这种语法,设置HasSensorConfigurationsInput
财产真正的
。
(
还返回一个列表的试探性的痕迹confirmedTracks
,tentativeTracks
,allTracks
)=跟踪器(___)tentativeTracks
和所有歌曲的列表allTracks
。您可以使用任何输入参数从以前的语法的组合。
(
此外返回证据网格地图的跟踪维护。您可以使用返回的地图来获取详细的估计。confirmedTracks
,tentativeTracks
,allTracks
,地图
)=跟踪器(___)
输入参数
sensorData
- - - - - -传感器数据
N元阵列的结构
传感器数据,指定为一个N元阵列的结构。每个结构都必须定义一个高分辨率的测量传感器使用这些字段:
字段 | 描述 |
---|---|
时间 |
时间的传感器报告数据,指定为负的标量。 |
SensorIndex |
传感器的惟一标识符,指定为一个正整数。 |
测量 |
指定的传感器,测量K——- - - - - -米矩阵的标量。K测量的尺寸,米是测量的数量。每个测量定义的位置方面检测在一个矩形或球形框架。 |
MeasurementParameters |
测量参数,指定为一个结构描述从粒子状态转换到测量。看到对象检测为更多的细节。 |
的时间
值必须小于或等于当前更新时间,时间
,比前面的时间值用于更新追踪。
时间
- - - - - -更新的时间
标量
更新的时候,指定为一个标量。跟踪更新所有的追踪。单位是秒。
时间
必须大于或等于最大时间
字段值的sensorData
结构。时间
必须增加的价值与每个更新的追踪。
数据类型:单
|双
配置
- - - - - -传感器配置
数组的结构|单元阵列的结构|单元阵列的trackingSensorConfiguration
对象
传感器配置,指定为数组结构,单元阵列结构,或单元阵列trackingSensorConfiguration
对象。如果指定的值使用结构数组或单元阵列的结构,你必须包括SensorIndex
在每个结构作为一个领域。其他字段是可选的,但每个字段的结构必须具有相同的名称trackingSensorConfiguration
对象属性。你只需要指定传感器配置,需要更新。例如,如果你想要更新IsValidTime
属性仅第五传感器,指定配置
作为结构(“SensorIndex”5“IsValidTime”,假)
。
提示
如果你有一个fusionRadarSensor
跟踪系统中的传感器对象,您可以直接使用的配置结构传感器的输出对象作为输入。
依赖关系
要启用这个论点,设置HasSensorConfigurationsInput
财产真正的
。
输出参数
confirmedTracks
——确认跟踪
的数组objectTrack
对象
确认跟踪更新为当前时间,作为一个数组返回objectTrack
对象,每个元素代表一个对象的跟踪。每个轨道的国家形式遵循规定的形式MotionModel
财产。
tentativeTracks
-初步跟踪
的数组objectTrack
对象
试探性的,作为一个数组返回objectTrack
对象,每个元素代表一个对象的跟踪。每个轨道的国家形式遵循规定的形式MotionModel
财产。
allTracks
——所有的跟踪
|数组对象的结构
所有的歌曲,作为一个数组返回objectTrack
对象,每个元素代表一个对象的跟踪。每个轨道的国家形式遵循规定的形式MotionModel
财产。
地图
——动态证据网格地图
dynamicEvidentialGridMap
对象
动态证据网格地图,作为一个返回dynamicEvidentialGridMap
对象。
对象的功能
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
特定于trackerGridRFS
predictTracksToTime |
预测跟踪状态 |
predictMapToTime |
预测动态映射到一个时间戳 |
showDynamicMap |
情节动态占用网格地图 |
例子
使用基于网格跟踪器跟踪目标
创建一个跟踪场景。
现场= trackingScenario (“UpdateRate”5,“StopTime”5);rng (2021);%的可重复的结果
添加一个平台安装激光雷达传感器来跟踪场景。
平台=平台(现场);激光雷达= monostaticLidarSensor (1,“DetectionCoordinates”,“身体”,“HasOrganizedOutput”、假);
用随机位置和速度两个目标添加到场景。定义轨迹,网格,每个平台的维度。
为我= = 1:2目标平台(现场);x = 50 *(2 *兰德- 1);y = 50 *(2 *兰德- 1);vx = 5 *(2 *兰德- 1);v = 5 *(2 *兰德- 1);target.Trajectory。位置=(xy0]; target.Trajectory.Velocity = [vx vy 0];%的方向对齐目标运动的方向。target.Trajectory。取向=四元数([atan2d (v, vx), 0, 0),“eulerd”,“ZYX股票”,“帧”);目标。米esh = extendedObjectMesh(“球”);目标。尺寸=结构(“长度”4“宽度”4“高度”2,“OriginOffset”,0 0 0);结束
定义激光雷达传感器的配置。
配置= trackingSensorConfiguration (1,…“SensorLimits”(100 -180 180;0),…“SensorTransformParameters”、结构、…“IsValidTime”,真正的);
创建一个基于网格的追踪。
追踪= trackerGridRFS (“SensorConfigurations”配置,…“AssignmentThreshold”5,…“MinNumCellsPerCluster”4…“ClusteringThreshold”3);
定义一个theaterPlot
对象和两个相关策划者可视化跟踪场景。
tp = theaterPlot (“XLimits”50 [-50],“YLimits”,50 [-50]);trkPlotter = trackPlotter (tp,“DisplayName的”,“跟踪”,“MarkerFaceColor”,‘g’);tthPlotter = platformPlotter (tp,“DisplayName的”,“真理”,“MarkerFaceColor”,“r”,“ExtentAlpha”,0.2);
之前的场景与激光雷达数据和运行跟踪。
而(场景)= scene.SimulationTime;时间提前%产生点云。tgtMeshes = targetMeshes(平台);[ptCloud,配置]=激光雷达(tgtMeshes、时间);%格式的数据追踪。sensorData =结构(“时间”、时间、…“SensorIndex”,1…“测量”ptCloud”,…“MeasurementParameters”、结构…);%更新使用传感器数据的追踪。跟踪=追踪(sensorData、时间);%可视化跟踪。pos = 0(元素个数(跟踪),3);韦尔= 0(元素个数(跟踪),3);东方= quaternion.ones(元素个数(跟踪),1);昏暗的= repmat (plat.Dimensions元素个数(跟踪),1);id =字符串([tracks.TrackID]);为i = 1:元素个数(跟踪)或者(我:)=(跟踪(i) .State(2);跟踪(i) .State (4); 0];pos(我:)=(跟踪(i) .State(1);跟踪(i) .State (3); 0];昏暗的(我)。length = tracks(i).State(6); dim(i).Width = tracks(i).State(7); orient(i) = quaternion([tracks(i).State(5) 0 0],“eulerd”,“ZYX股票”,“帧”);结束trkPlotter.plotTrack (pos、昏暗的东方,ids);%可视化平台。pos = vertcat (tgtMeshes.Position);网= vertcat (tgtMeshes.Mesh);东方= vertcat (tgtMeshes.Orientation);tthPlotter.plotPlatform (pos、网格、东方);结束
算法
跟踪逻辑流程
的trackerGridRFS
证实了系统对象初始化,使用该算法自动删除跟踪:
跟踪项目所有传感器传感器数据在二维网格地图代表入住率和自由的证据Dempster-Shafer框架。
跟踪器使用particle-based方法估计的动态二维网格。这有助于跟踪器对每个单元进行分类是动态还是静态的。
跟踪管理跟踪基于这个逻辑:
跟踪器将每一个动态网格单元与现有的跟踪使用封闭的加权方法。
跟踪器初始化新的跟踪使用未赋值的动态网格细胞。创建一个跟踪的
试探性的
状态和状态会改变确认
在足够的更新。有关更多信息,请参见ConfirmationThreshold
财产。另外,跟踪立即如果追踪确认
ObjectClassID
跟踪的跟踪初始化后被设置为一个积极的价值。有关更多信息,请参见TrackInitializationFcn
财产。跟踪执行滑行,预测未赋值的跟踪当前时间,错过和删除跟踪超过允许的。有关更多信息,请参见
DeletionThreshold
财产。
引用
[1]的主犯,D。路透社,S。托姆,M。、元、T。,Krehl, G., Maile, M., Gern, A. and Dietmayer, K., 2018. A random finite set approach for dynamic occupancy grid maps with real-time application.国际机器人研究杂志》上,37 (8),pp.841 - 866。
[2]),Sascha Georg Tanzmeister, Dirk Wollherr。“基于证据的对象跟踪动态占用网格在城市环境中。”2017年IEEE智能车辆研讨会(IV),页1064 - 1070。IEEE 2017。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。