文档

constacc

恒定加速度运动模型

语法

updatedstate = constacc(状态)
dt updatedstate = constacc(状态)

描述

例子

updatedstate= constacc (状态返回更新后的状态,状态步进时间为1秒的匀速卡尔曼滤波运动模型。

例子

updatedstate= constacc (状态dt指定时间步长,dt

例子

全部折叠

定义二维定加速度运动的初始状态。

状态= [1;1;1;2;1;0];

预测1秒后的状态。

状态= constacc(状态)
状态=6×12.5000 2.000 1.000 3.0000 1.0000

定义二维定加速度运动的初始状态。

状态= [1;1;1;2;1;0];

预测0.5 s后的状态。

状态= constacc (0.5),
状态=6×11.6250 1.5000 1.000 2.5000 1.0000

输入参数

全部折叠

定加速度运动的卡尔曼滤波状态向量,指定为实值3 n元向量。N是运动的空间自由度的数目。对于每一个运动的空间度,状态向量采用下表所示的形式。

空间维度 状态向量的结构
一维 [x, vx; ax)
二维 [x, vx;斧子;y v,唉)
三维 [x, vx;斧子;y v;是的;z; vz; az)

例如,x代表了x协调,vx的速度x方向,斧头中的加速度x方向。如果运动模型是在一维空间中,则y- - -z-坐标轴假设为零。如果运动模型在二维空间中,则沿z-轴假设为零。位置坐标以米为单位。速度坐标的单位是米/秒。加速度坐标的单位是米/秒2

例子:[5, 0.1, 0.01, 0; -0.2; -0.01; 3; 0.05; 0]

数据类型:

过滤器的时间步间隔,指定为正标量。时间单位以秒为单位。

例子:0.5

数据类型:|

输出参数

全部折叠

更新的卡尔曼滤波状态向量,返回为与输入状态向量具有相同元素个数和解释的实值向量。

算法

对于二维恒加速过程,经过时间步长的状态转移矩阵,T,为块对角线:

x k + 1 v x k + 1 一个 x k + 1 y k + 1 v y k + 1 一个 y k + 1 1 T 1 2 T 2 0 0 0 0 1 T 0 0 0 0 0 1 0 0 0 0 0 0 1 T 1 2 T 2 0 0 0 0 1 T 0 0 0 0 0 1 x k v x k 一个 x k y k v y k 一个 y k

每个空间维度的块有这样的形式:

1 T 1 2 T 2 0 1 T 0 0 1

对于每个额外的空间维度,添加一个相同的块。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2017a

这个话题有帮助吗?