文档帮助中心文档
trackFuser
单假定进行航迹熔化炉
的trackFuser生成的系统对象™融合跟踪跟踪传感器或追踪者和建筑师分散的跟踪系统。trackFuser使用全球最近邻(GNN)算法来维护一个假说对其追踪的对象。输入跟踪被称为源或当地的追踪和跟踪调用的输出中央的痕迹。
使用这个对象融合跟踪:
创建trackFuser对象并设置其属性。
调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
熔化炉= trackFuser
熔化炉= trackFuser(名称、值)
熔化炉= trackFuser创建一个进行航迹熔化炉,使用全球最近邻(GNN)算法来维持一个假说对其追踪的对象。
熔化炉
例子
熔化炉= trackFuser (名称,值)集属性熔化炉使用一个或多个名称-值对。未指定的属性有默认值。在单引号附上每个属性的名字。
熔化炉= trackFuser (名称,值)
名称,值
全部展开
属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。
释放
如果一个属性可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象。
FuserIndex
1
fuser唯一索引,指定为一个正整数。使用这个属性来区分不同熔化炉multiple-fuser环境。
例子:2
2
MaxNumSources
20.
最大数量的fuser能保持源配置,指定为一个正整数。
例子:200年
200年
SourceConfigurations
fuserSourceConfiguration
源系统的配置,指定的单元阵列fuserSourceConfiguration对象。默认值是1N单元阵列的fuserSourceConfiguration对象,N的价值吗MaxNumSources财产。您可以指定这个属性在创建一个名称-值对创建或指定。
数据类型:对象
对象
赋值
“MatchPairs”
“Munkres”
“Jonker-Volgenant”
“拍卖”
“自定义”
分配算法,指定为“MatchPairs”,“Munkres”,“Jonker-Volgenant”,“拍卖”,或“自定义”。Munkres是唯一分配算法,保证最优的解决方案,但它也是最慢的,特别是大量的检测和跟踪。其他算法并不能保证问题的最优解,但可以快20或更多的跟踪和检测。使用“自定义”定义自己的作业功能和指定的名称CustomAssignmentFcn财产。
CustomAssignmentFcn
数据类型:字符
字符
自定义赋值函数,指定为一个函数处理。赋值函数必须有以下语法:
(作业、unassignedCentral unassignedLocal] = f(成本、costNonAssignment)
assignmunkres
要启用这个特性,设置赋值财产“自定义”。
数据类型:函数处理|字符串|字符
函数处理
字符串
AssignmentThreshold
30 *[1正]
进行航迹赋值阈值,指定为一个积极的标量或矢量1×2 (C1C2),C1≤C2。如果指定为一个标量,指定的值,瓦尔,是扩大到瓦尔,正]。
正
最初,fuser执行规范化的粗估计距离的所有地方和中央的踪迹。fuser只计算准确的归一化距离的地方和中央组合粗归一化距离小于C2。同时,fuser只能分配一个本地跟踪中央跟踪如果他们准确的归一化距离小于C1。看到距离函数用于跟踪滤波器(trackingCKF和trackingEKF例如)距离计算的一个解释。
距离
trackingCKF
trackingEKF
小贴士:
增加的价值C2如果有地方和中央的组合跟踪,但不应计算作业。如果减少计算要花太多的时间。
增加的价值C1如果有当地追踪,但不应该分配给中央足迹。减少它如果有地方跟踪分配给中央追踪他们不应该分配给(太远)。
StateTransitionFcn
“constvel”
状态转换函数,指定为一个函数处理。这个函数计算时间步的状态k基于时间步的状态k1。
如果HasAdditiveProcessNoise是真正的,该函数必须使用下面的语法:
HasAdditiveProcessNoise
真正的
x (k) = f (x (k - 1), dt)
x (k)——(估计)状态的时间k,指定为一个向量或矩阵。如果指定为一个矩阵,矩阵的每一列代表一个状态向量。
x (k)
k
dt——预测的时间步。
dt
如果HasAdditiveProcessNoise是假,该函数必须使用这种语法:
假
x (k) = f (x (k - 1), w (k - 1), dt)
w (k)——过程噪声在时间k。
w (k)
例子:@constacc
@constacc
数据类型:function_handle|字符|字符串
function_handle
StateTransitionJacobianFcn
”
雅可比矩阵的状态转换函数,指定为一个函数处理。如果不指定,雅可比矩阵数值计算,这可能会增加处理时间和数值不准确。如果指定,该函数必须支持这两个语法之一:金宝app
如果HasAdditiveProcessNoise是真正的,该函数必须使用这种语法:
Jx (k) = statejacobianfcn (x (k), dt)
x (k)——(估计)状态的时间k指定为一个米1的向量的值。
Jx (k)-雅可比矩阵的状态转换函数的状态,df / dx,评估x (k)。雅可比矩阵作为一个返回米——- - - - - -米矩阵。
Jx (k)
df / dx
(Jx (k) (Jw (k)] = statejacobianfcn (x (k), w (k), dt)
w (k)——过程噪声在时间k指定为一个W1的向量的值。
Jw (k)-雅可比矩阵的状态转换函数对过程噪声,df / dw,评估x (k)和w (k)。雅可比矩阵作为一个返回米——- - - - - -W矩阵。
Jw (k)
df / dw
例子:@constaccjac
@constaccjac
ProcessNoise
(3)
过程噪声协方差,指定为一个积极的真正的标量或一个正定矩阵。
当HasAdditiveProcessNoise是真正的,指定过程噪声协方差是一个积极的真正的标量或正定米——- - - - - -米矩阵。米状态向量的维数。当指定为一个标量,矩阵的多米——- - - - - -米单位矩阵。
当HasAdditiveProcessNoise是假,指定过程噪声协方差作为W——- - - - - -W矩阵。W过程噪声向量的维数。
例子:[1.0 - 0.05;0.05 - 2]
[1.0 - 0.05;0.05 - 2
数据类型:单|双
单
双
选择模型过程噪声作为添加剂,指定为真正的或假。当这个属性真正的、过程噪声添加到状态向量。否则,噪音是纳入状态转换函数。
StateParameters
结构()
参数的跟踪状态参考系,指定为一个结构或一个结构数组。fuser通过其StateParameters属性值对StateParameters属性生成的跟踪。您可以使用这些参数来定义的坐标系跟踪报告或其他可取的属性生成的痕迹。
例如,您可以使用以下结构来定义一个直角坐标系的原点位置(10 10 0)米,其起源速度(2 2 0)米每秒的帧的场景。
(10 10 0)
框架
“矩形”
位置
速度
(2 2 0)
可调:是的
数据类型:结构体
结构体
ConfirmationThreshold
3 [2]
阈值中心跟踪确认,指定为一个正整数米,或1×2向量的正整数米N)与米≤N。中央跟踪确认如果是分配给当地至少追踪米次在过去N更新。如果指定了一个正整数米,确认阈值扩展到米,米]。
DeletionThreshold
5 [5]
阈值中心跟踪删除指定为一个正整数P,或1×2向量的正整数PR)与P≤R。中央跟踪删除如果跟踪没有分配给当地至少追踪P次在过去R更新。如果指定了一个正整数P,确认阈值扩展到P,P]。
例子:(5 - 6)
(5 - 6)
FuseConfirmedOnly
保险丝只确认当地的追踪,指定为假或真正的。将此属性设置为假如果你想融合所有本地跟踪不管他们的确认状态。
数据类型:逻辑
逻辑
FuseCoasted
保险丝摸当地,指定为真正的或假。将此属性设置为真正的最后如果你想融合本地歌曲(IsCoasted的字段或属性localTracks输入是真正的)。将其设置为假如果你想只融合当地跟踪不摸样。
IsCoasted
localTracks
例子:真正的
StateFusion
“十字”
“十字路口”
状态融合算法,指定为:
“十字”——使用cross-covariance融合算法
“十字路口”——使用协方差交叉融合算法
“自定义”——允许您指定一个定制的融合功能
使用StateFusionParameters属性来指定其他参数使用的状态融合算法。
StateFusionParameters
CustomStateFusionFcn
自定义状态融合函数,指定为一个函数处理。国家融合函数必须支持以下语法之一:金宝app
[fusedState, fusedCov] = f (trackState trackCov) [fusedState fusedCov] = f (trackState、trackCov fuseParams)
trackState被指定为一个N——- - - - - -米矩阵。N跟踪状态的维数,米是轨道的数目。
trackState
trackCov被指定为一个N——- - - - - -N- - - - - -米矩阵。N跟踪状态的维数,米是轨道的数目。
trackCov
fuseParams是可选的参数中定义的StateFusionParameters财产。
fuseParams
fusedState作为一个返回N1的向量。
fusedState
fusedCov作为一个返回N——- - - - - -N矩阵。
fusedCov
要启用这个特性,设置StateFusion财产“自定义”。
[]
参数状态融合功能。这取决于所选择的StateFusion算法,您可以指定StateFusionParameters为:
如果StateFusion是“十字”,指定它作为标量(0,1)。看到fusexcov为更多的细节。
fusexcov
如果StateFusion是“十字路口”,指定“引爆器”或“跟踪”。看到fusecovint为更多的细节。
“引爆器”
“跟踪”
fusecovint
如果StateFusion是“自定义”,您可以指定这些参数在任何变量类型,只要他们比赛的设置可选的fuseParams输入自定义的状态融合函数中指定CustomStateFusionFcn财产。
默认情况下,这个属性是空的。
NumCentralTracks
这个属性是只读的。
中央目前跟踪由熔化炉维护,作为一个非负整数返回。
数据类型:双
NumConfirmedCentralTracks
数量确认中央追踪目前由熔化炉维护,作为一个非负整数返回。
confirmedTracks =熔化炉(localTracks tFusion)
[confirmedTracks, tentativeTracks allTracks analysisInformation] =熔化炉(localTracks tFusion)
confirmedTracks=熔化炉(localTracks,tFusion)从列表中返回一个确认列表跟踪当地的痕迹。确认轨道预计更新时间,tFusion。
confirmedTracks=熔化炉(localTracks,tFusion)
confirmedTracks
tFusion
(confirmedTracks,tentativeTracks,allTracks,analysisInformation)=熔化炉(localTracks,tFusion)还返回一个试探性的歌曲列表,所有歌曲的列表,和分析信息。
(confirmedTracks,tentativeTracks,allTracks,analysisInformation)=熔化炉(localTracks,tFusion)
tentativeTracks
allTracks
analysisInformation
objectTrack
当地的追踪,指定为数组objectTrack对象,或一组结构和字段名称相匹配的属性名objectTrack对象。当地铁路轨道产生源跟踪系统追踪器。
数据类型:对象|结构体
更新时间,指定为一个标量。fuser预计这次所有中央跟踪。单位是秒。
跟踪确认,作为一个数组返回objectTrackMATLAB中的对象®的结构,作为一个数组返回代码生成。在代码生成中,字段名称返回的结构相同的属性名objectTrack。
跟踪确认,如果它满足确认阈值中指定ConfirmationThreshold财产。在这种情况下,IsConfirmed对象的属性或字段的结构真正的。
IsConfirmed
数据类型:结构体|对象
试探性的,作为一个数组返回objectTrack在MATLAB对象,作为一个数组返回代码生成的结构。在代码生成中,字段名称返回的结构相同的属性名objectTrack。
跟踪是试探性的,如果它不满足确认阈值中指定ConfirmationThreshold财产。在这种情况下,IsConfirmed对象的属性或字段的结构假。
所有的歌曲,作为一个数组返回objectTrack在MATLAB对象,作为一个数组返回代码生成的结构。在代码生成中,字段名称返回的结构相同的属性名objectTrack。所有曲目包括确认和试探性的痕迹。
附加信息分析跟踪更新,作为一个结构返回。这种结构的字段有:
TrackIDsAtStepBeginning
追踪id步骤开始时
CostMatrix
成本分配矩阵
作业
返回的任务分配功能
UnassignedCentralTracks
IDs未赋值的中央
UnassignedLocalTracks
IDs未赋值的局部痕迹
NonInitializingLocalTracks
InitiatedCentralTrackIDs
IDs的中央追踪期间启动步骤
UpdatedCentralTrackIDs
DeletedTrackIDs
IDs的中央追踪期间删除步骤
TrackIDsAtStepEnd
IDs的中央跟踪步骤结束时
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:
obj
发行版(obj)
predictTrackToTime
initializeTrack
deleteTrack
sourceIndices
一步
克隆
isLocked
重置
全部折叠
定义两个追踪来源:内部和外部的。的SourceIndex的每个源必须是唯一的。
SourceIndex
internalSource = fuserSourceConfiguration (1,“IsInternalSource”,真正的);externalSource = fuserSourceConfiguration (2“IsInternalSource”、假);
创建一个trackFuser与FuserIndex等于3。fuser需要上面定义的两个来源和使用“十字”StateFusion模型。
熔化炉= trackFuser (“FuserIndex”3,“MaxNumSources”2,…“SourceConfigurations”{internalSource; externalSource},…“StateFusion”,“十字”);
更新熔化炉和两个从两个来源追踪。使用三维恒定速度状态,美国给出的顺序的x;vx;y;v;z;vz]。两个轨道的状态是相同的,但是他们的协方差是不同的。第一,创建一个大型协方差x -轴。第二,创建一个大型协方差y -轴。
跟踪= [objectTrack (“SourceIndex”,1“状态”,(10;0,0,0,0,0),…“StateCovariance”诊断接头([100、1000、1、10、1,10]));…objectTrack (“SourceIndex”2,“状态”,(10;0,0,0,0,0),…“StateCovariance”诊断接头([1,10100、1000、1、10])));
融合与融合时间等于0。
时间= 0;confirmedTracks =熔化炉(跟踪、时间);
获得职位和职位的协方差源追踪和跟踪确认。
positionSelector = [1 0 0 0 0 0;0 0 1 0 0 0;0 0 0 0 0 1);% [x;y;z][inputPos, inputCov] = getTrackPositions(追踪,positionSelector);[outputPos, outputCov] = getTrackPositions (confirmedTracks positionSelector);
可视化结果使用trackPlotter。
trackPlotter
tPlotter = theaterPlot (“XLim”(0,20),“YLim”[10]-10年,“ZLim”,-10,10);tPlotter1 = trackPlotter (tPlotter,“DisplayName的”,“输入追踪”,“MarkerEdgeColor”,“蓝”);tPlotter2 = trackPlotter (tPlotter,“DisplayName的”,“融合跟踪”,“MarkerEdgeColor”,“绿色”);plotTrack (tPlotter1 inputPos inputCov) plotTrack (tPlotter2、outputPos outputCov)标题(“Cross-covariance融合”)
[1]Blackman, s和Popoli, R。,1999年。现代设计与分析跟踪系统(书)。诺伍德,MA: Artech房子,1999。
[2]庄、Chee-Yee Shozo森威廉·h·巴克,Kuo-Chu常。”架构和算法跟踪协会和融合。“IEEE航空航天和电子系统杂志15,没有。第5 - 13 (2000):1。
[3],鑫,班Bar-Shalom, d . Choukroun y Oshman, j . Thienel和m .艾丹•。”进行航迹融合体系结构的有效性评估”。在《评估的发展,导航和航天器控制”。施普林格,2015年。
使用笔记和限制:
看到系统在MATLAB代码生成对象(MATLAB编码器)。
你必须指定MaxNumSources房地产施工。此外,代码生成的属性是只读的。
你必须指定SourceConfigurations在施工期间财产的来源。此外,
所有元素的SourceConfigurations必须使用相同的LocalToCentralTransformFcn。
LocalToCentralTransformFcn
所有元素的SourceConfigurations必须使用相同的CentralToLocalTransformFcn。
CentralToLocalTransformFcn
输入歌曲必须是一个结构体数组,而不是一个objectTrack对象数组。
跟踪输出(三)都是一个结构体数组,而不是一个objectTrack对象数组。
的ObjectAttributes结构的输入源跟踪必须在相同的格式(相同的字段名称和数据类型)。
ObjectAttributes
的StateParameters结构的输入源跟踪必须在相同的格式(字段名称和数据类型相同)StateParameters跟踪熔化炉的结构。
trackerTOMHT|trackerGNN|trackerJPDA|trackerPHD|objectTrack
trackerTOMHT
trackerGNN
trackerJPDA
trackerPHD
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室