%状态量:X = [x, vx, y, vy, z, vz]
%控制量:U = [u1, u2, u3, u4]
close all;
clear all;
%常系数
L= 0.3875; %单位(m)
Ix = 0.05887; %单位(kg·m^2)
Iy = 0.05887;
Iz = 0.13151;
g = 9.81; %单位(N/kg)
%动力学方程的常系数
a1 = -(Iy - Iz)/Ix;
a2 = -(Iz - Ix)/Iy;
a3 = -(Ix - Iy)/Iz;
b1 = L/Ix;
b2 = L/Iy;
b3 = 1/Iz;
Ts = 0.1; %采样时间
t = 5; %仿真时间
len = fix(t/Ts); %仿真步数
n = 6; %状态维度
w = 0.1; %过程标准差
v = 0.5; %测量标准差
Q = w^2*eye(n); %过程方差
R = v^2; %测量值的方差
h=@(x)[x(2);x(4);x(6)]; %测量方程
s=[1;2;3;3;2;1]; %初始状态
x=s+w*randn(6,1); %初始化状态
P = eye(6); %初始化协方差矩阵
xV = zeros(6,len); %EKF估计值
sV = zeros(6,len); %真实值
zV = zeros(3,len); %测量值
for k=1:len
%随机赋值控制量
u2 = 0.1*randn(1,1);
u3 = 0.1*randn(1,1);
u4 = 0.1*randn(1,1);
z = h(s) + v*randn;
sV(:,k)= s; %实际状态
zV(:,k) = z; %状态测量值
%状态方程
f=@(x)[x(1)+Ts*x(2);
(a1*x(4)*x(6) +b1*u2)*Ts+x(2);
x(3)+Ts*x(4);
(a2*x(2)*x(6) +b2*u3)*Ts+x(4);
x(5)+Ts*x(6);
(a3*x(2)*x(4) +b3*u4)*Ts+x(6);];
%一步预测,同时计算f的雅可比矩阵A
[x1,A]=jaccsd(f,x);
%过程方差预测
P=A*P*A'+Q;
%状态预测,同时计算h的雅可比矩阵H
[z1,H]=jaccsd(h,x1);
%计算卡尔曼增益
K=P*H'/(H*P*H'+R);
%状态EKF估计值
x=x1+K*(z-z1);
%协方差更新
P=P-K*H*P;
xV(:,k) = x;
%更新状态
s = f(s) + w*randn(6,1);
end
%俯仰角、滚转角、偏航角度值
for k=1:2:5
figure(); hold on;
plot(sV(k,:),'-.'); %画出真实值
plot(xV(k,:)) %画出最优估计值
plot(abs(sV(k,:)-xV(k,:)), '--'); %画出误差值
legend('真实状态', 'EKF最优估计估计值', '误差值');
end
%俯仰角速度、滚转角速度、偏航角速度度值
for k=2:2:6
figure(); hold on;
plot(sV(k,:),'-.'); %画出真实值
plot(xV(k,:)) %画出最优估计值
plot(zV(k/2,:),':'); %画出状态测量值
plot(abs(sV(k,:)-xV(k,:)), '--'); %画出误差值
legend('真实状态', 'EKF最优估计估计值', '状态测量值', '误差值');
end

博士僧小星
- 粉丝: 2565
最新资源
- 027造价控制流程-工程款竣工结算基本程序.doc
- MBTI测试性格类型介绍.doc
- 动自化测控技术与仪器-基于单片机的多功能血压计的设计.doc
- 2019年计算机教师年度工作总结.doc
- 援外工程造价信息管理体系的构建设想.doc
- 造价咨询行业现状与分析.docx
- 钢筋绑扎分项工程质量技术交底卡.doc
- 中央真空吸尘系统管路预埋施工规范.doc
- xx房地产开发有限公司人事考核系统.doc
- 办公楼土建及水电工程招标文件.doc
- ⅲ标段清单说明.doc
- 钻孔桩施工注意事项.doc
- 重点难点分析5现场施工管理12钻孔与灌浆23工期保证措施.doc
- 黄金珠宝时尚首饰模特大赛.doc
- 第四章施工网络计划及工期保证.doc
- 学生座位表模板【Excel中进行排学生座位的操作技巧】.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


