四旋翼飞行器基本模型(Matlab&Simulink)

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

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

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

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

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码、Simulink、文章](#🌈4 Matlab代码、Simulink、文章)


💥1 概述

四轴飞行器模型与控制系统开发用MATLABSimulink实现

现在已经生成了基本的运动方程,可以形成Simulink植物模型了。此部分的MATLAB脚本和Simulink模型可以在名为"Basic_Simulink_Model"的文件夹中找到。首先,需要创建一个定义惯性矩、转子惯性、长度、质量、推力和阻力系数的基本脚本。然后创建Simulink模型。从一个空的Simulink块图开始,首先定义求解器选项。在Simulink的顶部工具栏上,点击Simulation,然后选择Model Configuration Parameters。在求解器选项下,确保类型为可变步长,求解器设置为自动。现在可以定义一个名为"四旋翼植物"的子系统。该子系统有4个输入(Ω1,Ω2,Ω3,Ω4)和6个输出(X,Y,Z,滚动,俯仰,偏航)。此时,模型应该看起来像下面的图2.17和2.18。

详细讲解见第4部分。

📚 2 运行结果

部分代码:

Jr = 6.5*10^(-7); % Total rotational moment of inertia around the propeller axis 6.5*10^(-6)

b = 1.144e-08; % Thrust factor

d = 9.94e-10; % Drag factor 1.0876e-9

l = 0.1; % Distance to the center of the Quadrotor

g = 9.81; % Gravitational acceleration

weight =.284; %kg Weight=mg (from a scale)

m = weight/g; % Mass of the Quadrotor in Kg

TF=30; %Simulation time

sim('Simple_Quadcopter_Model_Sim_X_Yaw');

figure(fig)

fig=fig+1;

plot(time,Phi,time,Theta,time,Psi)

title('Body Angles (rad)')

xlabel('Time(s)')

ylabel('rad')

legend('Phi','Theta','Psi')

figure(fig)

fig=fig+1;

plot(time,X,time,Y)

title('X and Y position')

xlabel('Time(s)')

ylabel('Postion (m)')

legend('X', 'Y')

figure(fig)

fig=fig+1;

plot(time,Z)

title('Altitude')

xlabel('Time(s)')

ylabel('Altitude (m)')

X_m1=(((pi/4)*l)+X);

Y_m1=-(((pi/4)*l)+Y);

X_m2=(((pi/4)*l)+X);

Y_m2=(((pi/4)*l)+Y);

X_m3=-(((pi/4)*l)+X);

Y_m3=(((pi/4)*l)+Y);

X_m4=-(((pi/4)*l)+X);

Y_m4=-(((pi/4)*l)+Y);

X1 = X_m1.*cos(Psi) - Y_m1.*sin(Psi);

Y1 = X_m1.*sin(Psi) + Y_m1.*cos(Psi);

X2 = X_m2.*cos(Psi) - Y_m2.*sin(Psi);

Y2 = X_m2.*sin(Psi) + Y_m2.*cos(Psi);

X3 = X_m3.*cos(Psi) - Y_m3.*sin(Psi);

Y3 = X_m3.*sin(Psi) + Y_m3.*cos(Psi);

X4 = X_m4.*cos(Psi) - Y_m4.*sin(Psi);

Y4 = X_m4.*sin(Psi) + Y_m4.*cos(Psi);

figure(fig)

fig=fig+1;

plot3(X,Y,Z,'lineWidth',3)

hold on

plot3(X1,Y1,Z,'--r','lineWidth',3)

plot3(X2,Y2,Z,'--k','lineWidth',3)

plot3(X3,Y3,Z,'--g','lineWidth',3)

plot3(X4,Y4,Z,'--m','lineWidth',3)

legend('Center of Mass','Motor 1','Motor 2','Motor 3','Motor 4')

grid on

title('Quadcopter Trajectory')

xlabel('X Position(m)')

ylabel('Y Position(m)')

zlabel('Z Position(m)')

🎉3 参考文献

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

🌈4 Matlab代码、Simulink、文章

相关推荐
郄堃Deep Traffic10 分钟前
机器学习+城市规划第十四期:利用半参数地理加权回归来实现区域带宽不同的规划任务
人工智能·机器学习·回归·城市规划
int型码农14 分钟前
数据结构第八章(一) 插入排序
c语言·数据结构·算法·排序算法·希尔排序
UFIT27 分钟前
NoSQL之redis哨兵
java·前端·算法
喜欢吃燃面28 分钟前
C++刷题:日期模拟(1)
c++·学习·算法
SHERlocked9332 分钟前
CPP 从 0 到 1 完成一个支持 future/promise 的 Windows 异步串口通信库
c++·算法·promise
怀旧,37 分钟前
【数据结构】6. 时间与空间复杂度
java·数据结构·算法
积极向上的向日葵1 小时前
有效的括号题解
数据结构·算法·
GIS小天1 小时前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月7日第101弹
人工智能·算法·机器学习·彩票
阿部多瑞 ABU1 小时前
主流大语言模型安全性测试(三):阿拉伯语越狱提示词下的表现与分析
人工智能·安全·ai·语言模型·安全性测试
cnbestec1 小时前
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
人工智能·线性代数·触觉传感器