当前位置: 首页 > news >正文

四旋翼飞行器基本模型(MatlabSimulink)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈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、文章

http://www.lryc.cn/news/154691.html

相关文章:

  • P1116 车厢重组(冒泡排序)
  • Android逆向学习(番外一)smali2java部分文件无法反编译的bug与修复方法
  • go语言基本操作---三
  • ArcGIS Enterprise + ArcGIS Pro 常用服务类型发布
  • 优思学院|亲和图案例:寻找六西格玛的项目
  • tomcat 的缓存机制
  • laravel 压缩文件与解压文件
  • kind搭建k8s集群用于测试
  • 软件测试人需要掌握的测试知识架构体系(上)
  • QT数据库,实现数据库增删改查
  • SQL-子查询
  • 【8章】Spark编程基础(Python版)
  • 桌面应用小程序,一种创新的跨端开发方案
  • 将本地jar打包到本地maven仓库或maven私服仓库中
  • java 实现建造者模式
  • 串行FIR滤波器
  • Spring Boot 整合 Shiro(后端)
  • 面试中的自我介绍:首印象决定一切
  • 深入理解联邦学习——联邦学习的价值
  • linux 内存一致性
  • Vue 如何监听 localstorage的变化
  • ActiveMQ使用JDBC持久化消息
  • 光环云出席Enjoy出海AIGC主题研讨会,助力企业迎接AI时代机遇与挑战
  • 动态规划:路径和子数组问题(C++)
  • 微服务-gateway跨域配置
  • 爬虫项目(二):中国大学排名
  • 十二、MySQL(DQL)分组/排序/分页查询如何实现?
  • 设计模式概念学习
  • Spring MVC 五 - DispatcherServlet初始化过程(续)
  • day36:网编day3,TCP、UDP模型