文档帮助中心文档
TrackingMscekf
Trackergnn
恒定速度TrackingMscekf初始化
mscekf = initcvmscekf(检测)
mscekf = initcvmscekf(检测,范围限制)
例子
MSCEKF= initcvmscekf(检测)初始化TrackingMscekf基于在修改的球形坐标中跟踪的类(用于跟踪的扩展Kalman滤波器)根据提供的信息对象电视目的,检测。该功能假设目标范围为3E4单位和1E的范围协方差10单位2。
MSCEKF= initcvmscekf(检测)
MSCEKF
检测
对象电视
这TrackingMscekf可以将对象与跟踪器一起用于跟踪目标,该目标具有单个观察者的纯角度测量。
MSCEKF= initcvmscekf(检测,,,,范围限制)允许将范围信息指定到过滤器。这范围限制变量是两个元素向量,第一个元素指定目标范围,第二个元素指定范围中的标准偏差。
MSCEKF= initcvmscekf(检测,,,,范围限制)
范围限制
全部收缩
创建一个仅角度检测。
检测= objectDetection(0,[30; 20],,“测量参数”,,,,...结构('框架',,,,'球形',,,,'hatrange',错误的));
利用initcvmscekf创建一个TrackingMscekf使用仅角度检测初始化的过滤器。
initcvmscekf
filter = initcvmscekf(检测)
filter =带有属性的TrackingMscekf:状态:[6X1 double] statecovariance:[6x6 double] statetransitionfcn:@constevelmsc statetransitionjacobianfcn:@constellmscjacjac processNoise:[3x3 double] superiremscn suitermscn suitermscn lorecr.scirjemmscn: @coistercn: @corncri @corvercn coriutrf. [3x1] [3x1] [3x1]:[2x2 double] HasadDitiveMeasurementNoise:1
创建用于后续旋转的测量参数。
MEATPARAMSENSTOPLAT = struct('框架',,,,'球形',,,,'hatrange',错误的,...'方向',rotmat(Quaternion([0 0 30],'rotvecd'),'框架'))
MEATPARAMSENSORTOPLAT =带有字段的结构:框架:“球形” hasrange:0方向:[3x3 double]
MEASPARAMPLATTOSCENARIO = struct('框架',,,,'长方形',,,,'hatrange',错误的,...'方向',rotmat(Quaternion([30 0 0],'rotvecd'),'框架'))
MEASPARAMPLATTOSCENARIO =带有字段的结构:帧:'矩形'hadrange:0方向:[3x3双]
MEASPARAM = [MESEPARAMSENSTOPLAT; MEASPARAMPLATTOSCENARIO];检测= objectDetection(0,[30; 20],,“测量参数”,Measparam);
初始化过滤器。
filter = initcvmscekf(检测);
检查过滤器的测量与检测相同。
cvmeasmsc(滤波器。
ans =2×130.0000 20.0000
考虑一个方案,当目标以恒定速度移动并且观察者以恒定加速度移动时。使用常数速度模型来定义目标的初始状态。
tgtState = [2000; -3; 500; -5; 0; 0];
使用恒定加速模型定义观察者的初始状态。
observerState = [0; 2; 0; 490; -10; 0.2; 0; 0; 0; 0];
创建一个Trackergnn对象用于initcvmscekf有一些有关范围和范围协方差的先前信息。
范围= 1000;rangestDdev = 1e3;RangeStimate = [Range RangestDdev];tracker = trackergnn(“ filterInitializationfcn',@(det)initcvmscekf(det,rangestimate));
使用测量模型模拟合成数据。得到AZ和El使用CVMEAS功能。
AZ
El
CVMEAS
SyntheticParams = struct('框架',,,,'球形',,,,'hatrange',错误的,...“原始位置”,观察者(1:3:end));MEAT = CVMEAS(TGTSTATE,SyntheticParams);
创建一个仅角度的对象进行模拟合成检测。
检测= objectDetection(0,MEAS,,“测量参数”,,,,...结构('框架',,,,'球形',,,,'hatrange',错误的),“ suberumentnoise',0.033*眼(2));
创建TrackPlotter和PlatformPlotter可视化场景。
tp =戏剧图('xlimits',[0 2500],'ylimits',[0 1000]);TargetPlotter = PlatformPlotter(TP,'显示名称',,,,'目标',,,,“ MarkerfaceColor”,,,,'K');observerplotter = PlatformPlotter(TP,'显示名称',,,,“观察者”,,,,“ MarkerfaceColor”,,,,'r');trkplotter = trackplotter(tp,'显示名称',,,,'追踪',,,,“ MarkerfaceColor”,,,,'G',,,,“历史记录”,50);tgttrajplotter =轨迹Plotter(TP,'显示名称',,,,“目标轨迹”,,,,'颜色',,,,'K');obstrajplotter =轨迹平原(tp,'显示名称',,,,“观察者轨迹”,,,,'颜色',,,,'r');
运行跟踪器。
时间= 0;DT = 0.1;tgtposes = [];obsposes = [];尽管时间<50 [Conftracks,TentTracks,Alltracks] = Tracker(检测,时间);为了i = 1:numel(alltracks)setTrackFilterProperties(tracker,alltracks(i).trackid,“观察者”,观察者(3:3:end));结尾%更新合成检测。observerstate = constacc(观察者,dt);tgtstate = constvel(tgtstate,dt);syntheticparams.originposition = observerstate(1:3:end);检测。测量= CVMEAS(TGTSTATE,SYNTHETICTAREMSS);时间=时间 + dt;检测。时间=时间;%更新图tgtposes = [tgtposes; tgtstate(1:2:end)'];%#好的obsposes = [obsposes; observerstate(1:3:end)'];%#好的targetPlotter.plotplatform(tgtstate(1:2:end)');observerplotter.plotplatform(observerState(1:3:end)');tgttrajplotter.plottrajectory({tgtposes});obstrajplotter.plottrajectory({obsposes});%绘制第一个曲目,因为没有错误的警报,这应该是% 目标。%从赛道的MSC状态获得职位。cartState = cvmeasmsc(alltracks(i).state,'长方形') + observerstate(1:3:end);trkplotter.plottrack(cartstate');结尾
检测报告,指定为对象电视目的。
例子:检测= objectDetection(0,[1; 4.5; 3],'MeasurementNoise',[1.0 0 0; 0 2.0 0; 0 0 1.5])
检测= objectDetection(0,[1; 4.5; 3],'MeasurementNoise',[1.0 0 0; 0 2.0 0; 0 0 1.5])
范围信息,指定为两个元素向量,第一个元素指定目标范围,第二个元素指定范围中的标准偏差。
数据类型:单身的|双倍的
单身的
双倍的
恒定速度跟踪在MSC框架中扩展了Kalman滤波器,以返回TrackingMscekf目的。
该功能假设单位目标加速标准偏差,则使用过程噪声配置过滤器。
该函数通过在笛卡尔框架中使用协方差的线性转换来配置状态的协方差。
您可以将此功能用作FilterInitializationFCN财产的Trackertomht和Trackergnn系统对象。
FilterInitializationFCN
Trackertomht
该功能初始化观察力的TrackingMscekf各个方向的观察者加速度为零的类。您必须使用SetTrackFilterProperties跟踪器的功能更新观察力。
观察力
SetTrackFilterProperties
constvelmsc
constvelmscjac
cvmeasmsc
cvmeasmscjac
您有此示例的修改版本。您想用您的编辑打开这个示例吗?
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站以获取可用的翻译内容,并查看本地事件和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
联系您当地的办公室