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

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

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

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

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

目录

💥1 概述

一、四旋翼飞行器的基本组成与结构

1. 结构形式

2. 核心组件

二、动力学模型建立方法

1. 基本假设

2. 坐标系定义

3. 数学模型推导

4. 模型优化

三、控制策略与算法

1. 经典控制方法

2. 智能控制方法

3. 控制效果对比

四、传感器与执行器配置

1. 传感器系统

2. 执行器系统

五、典型研究案例

1. Matlab/Simulink仿真建模

2. 滑模控制应用

3. 实际系统实现

六、未来研究方向

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、Simulink、文章


💥1 概述

一、四旋翼飞行器的基本组成与结构

现在已经生成了基本的运动方程,可以形成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部分。 

1. 结构形式
  • 布局类型:主要有“X”形和“十”字形两种。其中“X”形布局因机动性更高且控制算法更灵活而被广泛应用。
  • 旋翼配置:四个旋翼对称分布于机架端部,相邻旋翼旋转方向相反(如1、3号逆时针,2、4号顺时针),以抵消反扭矩效应。
2. 核心组件
  • 机架:由中心板、机臂和脚架构成,需满足轻量化(碳纤维、PA66+30GF材料)与高强度要求。机臂直接承载电机和螺旋桨,受力复杂。
  • 动力系统
    • 电机:无刷电机因高效率和耐用性成为主流,通过电子调速器(电调)调节转速。
    • 桨叶:材质包括尼龙、碳纤维和木桨,影响升力与稳定性。
    • 电池:多为锂聚合物电池,提供系统电力。
  • 主控系统
    • 传感器:陀螺仪、加速度计(如MPU6050)、磁强计(HMC5883)和气压计(BMP180)用于姿态检测;激光测距和GPS模块辅助定位。

    • 微控制器(如STM32):处理传感器数据并输出控制指令,实现姿态稳定。
  • 遥控系统:通过无线模块(如NRF24L01)接收指令,AD采集模块转换信号。

二、动力学模型建立方法

1. 基本假设
  • 飞行器为刚体且质量分布对称,几何中心与质心重合。
  • 仅受重力与螺旋桨拉力作用,忽略空气阻力及陀螺效应(部分模型)。
2. 坐标系定义
  • 地球坐标系(惯性系):固定于地面,用于描述飞行器的绝对位置。
  • 机体坐标系:固连于飞行器质心,用于分析姿态与局部运动。
3. 数学模型推导
4. 模型优化
  • 改进模型考虑角加速度与切向力影响,提高机动状态下的精度。

三、控制策略与算法

1. 经典控制方法
  • PID控制:通过比例、积分、微分环节调节误差,广泛用于姿态稳定。但参数整定困难,动态响应较慢。
  • 滑模控制:鲁棒性强,适用于抗干扰场景。通过设计滑模面实现快速收敛,但存在抖振问题。
2. 智能控制方法
  • 模糊PID:结合模糊规则动态调整PID参数,提升响应速度与抗干扰能力。
  • 神经模糊PID:引入神经网络自学习能力,进一步优化控制精度,超调量减少约30%。
  • 强化学习(如DDPG、PPO):通过环境交互优化控制策略,适应复杂任务(如抗风扰、负载变化)。
3. 控制效果对比
算法类型响应速度抗干扰性参数依赖性适用场景
传统PID中等基础姿态控制
滑模控制高扰动环境
神经模糊PID高精度跟踪
强化学习自适应极强复杂动态任务

四、传感器与执行器配置

1. 传感器系统
  • 姿态检测:MPU6050(三轴陀螺仪+加速度计)融合数据输出欧拉角,HMC5883磁强计辅助偏航角校准。
  • 定位与导航:BMP180气压计测量高度,GPS模块(如BS-280)提供经纬度坐标,超声波传感器用于近地定高。
  • 环境感知:激光测距模块与相机扩展避障与视觉导航功能。
2. 执行器系统
  • 电调与电机:无刷电机(如朗宇980KV)由电调驱动,响应PWM信号调节转速,实现升力与力矩控制。


五、典型研究案例

1. Matlab/Simulink仿真建模
  • 开发非线性六自由度模型,集成动力学方程与控制算法,验证悬停、轨迹跟踪等场景。仿真结果显示,粒子群优化模糊PID的响应时间较传统PID缩短40%。
2. 滑模控制应用
  • 杨庆华等(2009)设计反演滑模控制器,通过李雅普诺夫稳定性分析,实现高扰动下的姿态稳定,仿真误差小于0.1 rad。
3. 实际系统实现
  • 裴春祥团队基于STM32设计控制器,结合卡尔曼滤波与变参数PID,在室外环境中实现抗风扰飞行,高度误差控制在±0.2m内。

六、未来研究方向

  1. 多传感器融合:结合视觉SLAM与IMU提升自主导航精度。
  2. 自适应控制:开发基于深度强化学习的全自主避障算法。
  3. 轻量化设计:探索新型复合材料与3D打印技术优化机架结构。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值