目标运动模型-——匀速运动CV

原创不易,路过的各位大佬请点个赞

WX: ZB823618313

目标运动模型-——匀速运动CV

  • 目标运动模型-——匀速运动CV
    • 1. 目标模型概述
    • 2. 目标运动模型
      • 2.1 匀速运动CV模型
        • 2.1.1 一维匀速运动CV 模型
        • 2.1.2 二维匀速运动CV 模型
        • 3.1.1 三维匀速运动CV 模型
      • 3.2 匀加速运动CA模型
      • 3.3 匀速转弯CT模型
      • 3.4 Singer模型
      • 3.5 “当前”统计模型
      • 3.6 Jerk统计模型

1. 目标模型概述

  机动目标模型描述了目标状态随着时间变化的过程。一个好的模型抵得上大量的数据。当前几乎所有的目标跟踪算法都是基于模型进行状态估计的。在卡尔曼滤波器被引入目标跟踪领域后,基于状态空间的机动目标建模成为主要研究对象之一。

  1. 目标的空间运动基于不同的运动轨迹和坐标系
    一维运动
    二维运动
    三维运动

  2. 根据不同方向的运动是否相关
    坐标间不耦合模型
    坐标间耦合模型

坐标间不耦合模型: 这类模型假设三维空间三个正交方向上的目标机动过程不耦合。目标机动是飞行器受到外力作用而使得加速度变化所致,所以对机动建模的难点在于对目标加速度的描述。对于无机动目标,常速(Constant Velocity,CV〉模型常用于描述这类目标的运动,而常加速度(Constant Acceleration,CA)模型则常用于描述加速度趋近常数的机动目标的运动。

坐标间耦合模型: 坐标间耦合模型绝大多数情况下指的是转弯运动模型。由于此类模型与坐标密切相关,所以可以分为两类:二维转弯模型和三维转弯模型。二维转弯模型又称为平面转弯模型,即CT模型。

下面讲机动目标不同的模型:

2. 目标运动模型

2.1 匀速运动CV模型

匀速运动模型用来匹配目标做匀速直线运动的情况,这也是目标运动最简单的情况.
其中匀速运动模型包括:

一维匀速运动CV 模型

二维匀速运动CV 模型
三维匀速运动CV 模型

2.1.1 一维匀速运动CV 模型

由于目标做匀速直线运动,则目标加速度为0。实际情况中,速度至少要轻微的变化,则加速度常常看做是具有随机特性的扰动输入,可用连续时间的白噪声来建模,并假设其服从均值为零,方差为的高斯分布,即
X¨(t)=W(t)\ddot{X}(t)=W(t)X¨(t)=W(t)
其中W(t)W(t)W(t)零均值白高斯噪声最为普遍。

一维匀速运动模型(连续):
目标状态为:位置和速度、即X=[x,x˙]T{X}=[x, \dot{x}]^TX=[x,x˙]T

CV模型为:
X˙(t)=[0100]X(t)+[01]W(t)\dot{X}(t)=\begin{bmatrix}0&1\\0&0\end{bmatrix}X(t) + \begin{bmatrix}0\\1\end{bmatrix}W(t) X˙(t)=[00​10​]X(t)+[01​]W(t)

离散化上述模型:

一维匀速运动模型(离散):
Xk+1=[1T01]Xk+[T2/2T]WkX_{k+1}=\begin{bmatrix}1&T\\0&1\end{bmatrix}X_{k} + \begin{bmatrix}T^2/2\\T\end{bmatrix}W_k Xk+1​=[10​T1​]Xk​+[T2/2T​]Wk​
TTT为采样时间。

一维匀速运动CV目标航迹如下:

代码

%% 一维匀速CV运动目标轨迹
clc;
clear all;
close all;
n=2; % state dimension : 6
T=1; % sample time.
N=100; %the runs atime,跟踪总时长
w_mu=[0]';
%% target model
q=3; % 目标运动学标准差,过程噪声
Qk=q^2*eye(1);% cov. of process noise
% state matrix
Fk= [1 T0 T ]; %Gk= [ T^2/2  T      ]; %%
%% define parameter
sV=zeros(n,N,1,1); % state
x=[1000,20]';
P_0=diag([1e5,10^2]); x0=mvnrnd(x,P_0); % 初始状态
%x0=(x+normrnd(0,0.001)')';
x=x0';
for k=1:N%% %%%%%%% target model %%%%%%%%%%%%%%%%%%%%%% 目标运动学模型(被跟踪目标建模),匀速运动CV模型w=mvnrnd(w_mu',Qk)';%过程噪声方差x=Fk*x+Gk*w;sV(:,k,1,1)=x;end
% 一维匀速CV运动目标轨迹
ii=1:N;
figure
plot(ii,sV(1,:,1,1),'-*r','LineWidth',1)
grid on
xlabel('时间(s)');ylabel('m');
legend('真实轨迹')
title('一维维匀速运动目标轨迹')

利用扩展卡尔曼滤波EKF跟踪上面的一维匀速运动目标,跟踪轨迹如下

2.1.2 二维匀速运动CV 模型

二维匀速运动模型(连续):
目标状态为:x维位置和速度、y维位置速度、即X=[x,x˙,y,y˙]T{X}=[x, \dot{x},y, \dot{y}]^TX=[x,x˙,y,y˙​]T

CV模型为:
X˙(t)=[0100000000010000]X(t)+[00100001]W(t)\dot{X}(t)=\begin{bmatrix}0&1&0&0\\0&0&0&0\\0&0&0&1\\0&0&0&0 \end{bmatrix}X(t) + \begin{bmatrix}0&0\\1&0\\0&0\\0&1\end{bmatrix}W(t) X˙(t)=⎣⎢⎢⎡​0000​1000​0000​0010​⎦⎥⎥⎤​X(t)+⎣⎢⎢⎡​0100​0001​⎦⎥⎥⎤​W(t)

离散化上述模型:

二维匀速运动模型(离散):
Xk+1=[1T000100001T0001]Xk+[T2/20T00T2/20T]WkX_{k+1}=\begin{bmatrix}1&T&0&0\\0&1&0&0\\0&0&1&T\\0&0&0&1 \end{bmatrix}X_{k} + \begin{bmatrix}T^2/2&0\\T&0\\0&T^2/2\\0&T\end{bmatrix}W_k Xk+1​=⎣⎢⎢⎡​1000​T100​0010​00T1​⎦⎥⎥⎤​Xk​+⎣⎢⎢⎡​T2/2T00​00T2/2T​⎦⎥⎥⎤​Wk​

二维匀速运动CV目标航迹如下:

代码:

%% 二维匀速CV运动目标轨迹
clc;
clear all;
close all;
n=4; % state dimension : 6
T=1; % sample time.
N=100; %the runs atime,跟踪总时长
w_mu=[0,0]';
%% target model
q=0.1; % 目标运动学标准差,过程噪声
Qk=q^2*eye(2);% cov. of process noise
% state matrix
Fk= [1 T 0 00 T 0 00 0 1 T0 0 0 T]; %Gk= [ T^2/2  0T      00      T^2/20      T ]; %%
%% define parameter
sV=zeros(n,N,1,1); % state
x=[1000,20,1000,20]';
P_0=diag([1e5,10^2,1e5,10^2]); x0=mvnrnd(x,P_0); % 初始状态
%x0=(x+normrnd(0,0.001)')';
x=x0';
for k=1:N%% %%%%%%% target model %%%%%%%%%%%%%%%%%%%%%% 目标运动学模型(被跟踪目标建模),匀速运动CV模型w=mvnrnd(w_mu',Qk)';%过程噪声方差x=Fk*x+Gk*w;sV(:,k,1,1)=x;end
% 二维匀速CV运动目标轨迹
figure
plot(sV(1,:,1,1),sV(3,:,1,1),'-*r','LineWidth',1)
grid on
xlabel('m');ylabel('m');
legend('真实轨迹')
title('二维维匀速运动目标轨迹')


代码:

%% 二维匀速CV运动目标轨迹
clc;
clear all;
close all;
n=4; % state dimension : 6
T=1; % sample time.
N=100; %the runs atime,跟踪总时长
w_mu=[0,0]';
%% target model
q=3; % 目标运动学标准差,过程噪声
Qk=q^2*eye(2);% cov. of process noise
% state matrix
Fk= [1 T 0 00 T 0 00 0 1 T0 0 0 T]; %Gk= [ T^2/2  0T      00      T^2/20      T ]; %%
%% define parameter
sV=zeros(n,N,1,1); % state
x=[1000,20,1000,20]';
P_0=diag([1e5,10^2,1e5,10^2]); x0=mvnrnd(x,P_0); % 初始状态
%x0=(x+normrnd(0,0.001)')';
x=x0';
for k=1:N%% %%%%%%% target model %%%%%%%%%%%%%%%%%%%%%% 目标运动学模型(被跟踪目标建模),匀速运动CV模型w=mvnrnd(w_mu',Qk)';%过程噪声方差x=Fk*x+Gk*w;sV(:,k,1,1)=x;end
% 二维匀速CV运动目标轨迹
figure
plot(sV(1,:,1,1),sV(3,:,1,1),'-*r','LineWidth',1)
grid on
xlabel('m');ylabel('m');
legend('真实轨迹')
title('二维维匀速运动目标轨迹')

利用扩展卡尔曼滤波EKF跟踪上面的二维匀速运动目标,跟踪轨迹如下

3.1.1 三维匀速运动CV 模型

三维匀速运动CV 模型见另一个博客

3.2 匀加速运动CA模型

匀加速运动CA模型见另一个博客

3.3 匀速转弯CT模型

匀速转弯CT运动模型见另一个博客:包括二维、三维

3.4 Singer模型

Singer模型见另一个博客

3.5 “当前”统计模型

当前统计模型见另一个博客

3.6 Jerk统计模型

Jerk模型见另一个博客

原创不易,路过的各位大佬请点个赞

目标运动模型——匀速运动CV相关推荐

  1. 机动目标跟踪——匀速运动CV模型

    机动目标跟踪--匀速运动CV模型 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--匀速运动CV模型 1. 对机动目标跟踪的理解 2. 目 ...

  2. 机动目标跟踪——目标模型概述(匀速运动CV模型)

    机动目标跟踪--目标模型概述 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--目标模型概述 1. 对机动目标跟踪的理解 2. 目标模型概 ...

  3. 自动驾驶算法-滤波器系列(三)——不同运动模型(CV、CA、CTRV、CTRA)的建模和推导

    CV & CA & CTRV & CTRA 0. 运动模型简介 1. CV模型 2. CA模型 3. CTRV模型 4. CTRA模型 上一篇文章主要讲解了不同卡尔曼滤波的原理 ...

  4. 3维空间目标跟踪的CV,CA,CT动力学模型

    类似于二维平面上车辆转动的CV,CA,CT模型.3维空间的CV.CA.CT模型也存在.用于目标跟踪时,需要考虑的角速度.速度.加速度之间的耦合关系更为复杂,所以本博客列举了这些公式. 恒定速度模型(C ...

  5. 基于目标运动模型和观测模型的交互多模算法IMM卡尔曼滤波目标跟踪matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 IMM算法的基本思想是用多个不同的运动模型匹配机动目标的不同运动模式,不同模型间的转移概率是–个马尔 ...

  6. 机动目标跟踪——三维匀速运动模型CV

    机动目标跟踪--三维匀速运动模型CV 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--三维匀速运动模型CV 1. 对机动目标跟踪的理解 ...

  7. 交互式多模型算法IMM——机动目标跟踪中的应用

    机动目标跟踪--交互式多模型算法IMM 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--交互式多模型算法IMM 机动目标跟踪--交互式多模型算法IMM 1. 对机动目 ...

  8. 交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现

    交互式多模型-粒子滤波IMM-PF-在机动目标跟踪中的应用/matlab实现 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 交互式多模型-粒子滤波IMM-PF-在机动目标跟踪中的应 ...

  9. 交互式多模型-扩展卡尔曼滤波IMM-EKF——机动目标跟踪中的应用

    交互式多模型-扩展卡尔曼滤波IMM-EKF--机动目标跟踪中的应用 原创不易,路过的各位大佬请点个赞 针对机动目标跟踪的探讨.技术支持欢迎联系,也可以站内私信 WX: ZB823618313 机动目标 ...

最新文章

  1. zbb20170613 linux 安装 mysql
  2. vagrant系列教程(二):vagrant的配置文件vagrantfile详解(转)
  3. Golang协程goroutine和管道channel结合案例
  4. XMLHttpResponse 在项目里面的运用
  5. Java Double类doubleToLongBits()方法与示例
  6. 建模师分类:选择游戏还是工业?哪个发展前景更好?
  7. “携号转网”正式试运行,这两个原因或致无法转网
  8. 巧妙解决Windows 7系统中软件乱码问题
  9. lambda函数if_现代 C++:Lambda 表达式
  10. C语言:编写一个程序,输入用户的姓名和电话号码,按姓名的词典顺序排序后,输出用户的姓和电话号码;
  11. Apache Commons Net 实现 FTP 上传/下载/删除/同步
  12. 霍尼236主机说明书_霍尼韦尔236系统中文说明.DOC
  13. 考研必备数学公式大全(数学二)(线性代数篇)
  14. 想要挣钱创收 那就用脚本操作手机群控软件啊
  15. 中国制霸生成器「GitHub 热点速览 v.22.42」
  16. 【014】Excel宏编程的交互解析(MsgBox)_001_#VBA
  17. 属性动画实现卫星菜单效果
  18. 文档服务器 件排名,全国服务器排名
  19. 中医学:—种基于隐喻认知的语言
  20. PaddlePaddle深度学习实战——英法文翻译机

热门文章

  1. GD32F405RGT6串口收发--DMA--中断(固件库)
  2. 可拖拽,拉伸的盒子(类似我们的桌面应用框,可以拉伸放大,可以拖拽移动)
  3. Python继承机制及其使用
  4. oracle ora27072,【oracle案例】ORA-19502,ORA-27072
  5. CSS布局模型/网页布局基础
  6. 分页布局实例(英文)
  7. Maven打包导致Excel资源文件损坏问题
  8. 树莓派自动化测试工具LTF
  9. 计算机毕业设计Node.js+Vue基于Java的校园交友平台(程序+源码+LW+部署)
  10. Python自动化应用案例:一键生成工厂物料采购订单(精益办公案例之三)