四轴飞行器传感器(Simulink&Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、Simulink实现、文章


💥1 概述

第3章-四轴飞行器传感器
植物模型代表了给定输入的系统的理想响应,但在现实世界中并非如此四轴飞行器的功能。有许多因素在四轴飞行器的运动中起作用例如风、温度和创建模型时的近似值。四轴飞行器的反馈来自几种类型的传感器。这些包括加速度计和陀螺仪,它们通常被安置在惯性测量单元(IMU)内。陀螺仪提供角速度数据和加速度计提供轴向加速度数据。当建模一个四轴飞行器,理想的形式传感器可以被描述为馈通,这意味着工厂的输出直接到控制器。传感器的真实世界建模包括传感器偏差、噪声和延迟附加。

 陀螺仪/加速度计是测量三个旋转速度和三个轴向的传感器
加速度。这些数据通常经过过滤,然后输入到控制器中。从本质上讲,这些传感器提供
 传感器被安置在飞行控制器中,理想位置是在中心四轴飞行器为了提供最准确的数据。使用这些传感器的一个非常重要的方面是初始化。一般来说,这些传感器会有一个偏置输出,这意味着读数并不完美。然而,这种偏差可以通过初始化传感器来消除。想象一架四轴飞行器完全静止不动在桌子上。已知加速度计应该在X和Y方向上读取0加速度,9.81𝑚/𝑠2在Z方向上,陀螺仪应该在所有三个轴上读取零旋转速度。传感器很可能不会读取这些值。初始化是记录偏差和减法它来自于测量的加速度。这些传感器也有一个与之相关的延迟。这个延迟可以建模为一个低通滤波器。沿着对于低通滤波器,它们有一个与之相关的偏置增益,最后是噪声。这些方面可以添加传感器,如下式(3.1)所示。

详细讲解见第4部分。

📚2 运行结果

 

 

 

 

部分代码:

sim('Plant_Model_W_Sensors_biased')
Phi_dot_bias=mean(Phi_dot);
Theta_dot_bias=mean(Theta_dot);
Psi_dot_bias=mean(Psi_dot);
X_dot_dot_bias=mean(X_dot_dot);
Y_dot_dot_bias=mean(Y_dot_dot);
Z_dot_dot_bias=mean(Z_dot_dot);
sim('Plant_Model_W_Sensors_Un_biased')
figure(fig)
fig=fig+1;
plot(time,Phi_dot,time,Theta_dot,time,Psi_dot)
hold on
plot(time,Phi_dot_B,time,Theta_dot_B,time,Psi_dot_B)
title('Gyroscope Bias Removal')
xlabel('Time(s)')
ylabel('Angle (rad)')
legend('Phi Vel Biased','Theta Vel Biased','Psi Vel Biased','Phi Vel Unbiased','Theta Vel Unbiased','Psi Vel Unbiased')
figure(fig)
fig=fig+1;
plot(time,Z_dot_dot,time,Y_dot_dot,time,X_dot_dot)
hold on
plot(time,Z_dot_dot_B,time,Y_dot_dot_B,time,X_dot_dot_B)
title('Accelerometer Bias Removal')
xlabel('Time(s)')
ylabel('Acceleration (m/s^2)')
legend('Z Accel Biased','Y Accel Biased','X Accel Biased','Z Accel Unbiased','Y Accel Unbiased','X Accel Unbiased')

figure(fig)
fig=fig+1;
subplot(2,1,1)
plot(time,Phi_dot_B,time,Theta_dot_B,time,Psi_dot_B)
title('Gyroscope Angular Outputs')
ylabel('Ang Vel(Rad/s)')
subplot(2,1,2)
plot(time,Phi,time,Theta,time,Psi)
title('Plant Angular Outputs')
xlabel('Time(s)')
ylabel('Angle(Rad)')

figure(fig)
fig=fig+1;
subplot(2,1,1)
plot(time,X_dot_dot_B,time,Y_dot_dot_B)
title('Accelerometer Outputs')
ylabel('Acceleration (m/s^2)')
subplot(2,1,2)
plot(time,X,time,Y)
title('Plant Position Outputs')
ylabel('Position(m)')
xlabel('Time(s)')

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、Simulink实现、文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值