【对架无人机进行规范控制和点对点运动的模拟】可变桨叶四旋翼控制的优化推力分配:翻转动作的比较研究(Matlab代码实现)

【对架无人机进行规范控制和点对点运动的模拟】可变桨叶四旋翼控制的优化推力分配:翻转动作的比较研究(Matlab代码实现)

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

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

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

🎁完整资源、论文复现、期刊合作、论文辅导及科研仿真定制事宜点击:

👉👉👉本文完整资源下载

💥1 概述

对架无人机进行规范控制和点对点运动的模拟,闭环系统的积分是使用有限差分法完成的。

无人机的动力学以图形表示可以在参考文献第三部分找到:

可变螺距螺旋桨四旋翼飞行器具有系统的力矩与旋翼动力推力因子之间的非线性代数关系。这种非线性关系使得推力分配成为整体控制设计中具有挑战性的课题。状态相关的Riccati方程(SDRE)被选为完全耦合的六自由度(DoF)模式下调节任务的控制器。常见的SDRE设计由于欠驱动而无法实现完全耦合的六自由度控制。虚拟约束被用于在级联设计中实现位置和方向控制。在SDRE结构中,提出了四种推力分配方法,以根据控制系统的输出结果计算推力因子。实际实施是生成这种分配的主要原因。利用均值定理使得可能找到一个可实施的推力因子形式化方法,因为它们可以被归类为非仿射系统。灵活而激进的机动是可变螺距螺旋桨四旋翼飞行器的应用之一;因此,研究了翻转机动以突出推力分配方法的优势。对四种方法进行分析和比较,以展示所提出结构的优缺点。

可变桨叶四旋翼控制的优化推力分配:翻转动作的比较研究

摘要

传统固定桨距四旋翼在高速机动(如翻转动作)中存在推力调节范围有限、能耗高、响应滞后等问题。可变桨叶四旋翼通过动态调节桨叶迎角,突破固定桨距设计的限制,在推力输出范围、响应速度和能量效率上显著提升。本研究聚焦于轴向翻转与倾斜翻转两种典型机动模式,基于状态相关Riccati方程(SDRE)控制器,提出四种推力分配优化方法,并通过Matlab仿真验证其在姿态稳定性、能耗和动态响应上的性能差异。实验结果表明,优化后的推力分配策略可使翻转动作能耗降低20%~30%,响应时间缩短至50ms以内,为无人机高机动控制提供理论支撑。

1. 引言

1.1 研究背景

四旋翼无人机因其结构简单、垂直起降灵活等优势,广泛应用于物流、农业、遥感等领域。然而,传统固定桨距四旋翼在执行高速机动动作(如翻转、俯冲)时,受限于仅能通过电机转速调节推力,导致:

  • 推力调节范围窄:转速过高易引发电机饱和,过低则无法提供瞬时反向力矩;
  • 动态响应滞后:转速调节的动态响应时间通常超过200ms,难以满足快速姿态调整需求;
  • 能耗效率低:高速旋转时空气阻力显著增加,导致能量浪费。

可变桨叶四旋翼通过引入桨叶迎角调节机构(如伺服电机驱动桨叶绕桨毂旋转),可在-10°~30°范围内动态调整单旋翼升力,实现推力从负值(反向升力)到最大正值的连续变化。其核心优势包括:

  • 宽推力调节范围:配合转速控制,单旋翼推力覆盖范围扩展至固定桨距的3倍以上;
  • 快速响应能力:迎角调节的动态响应时间小于50ms,远优于转速调节;
  • 高能耗效率:低速工况下通过调节迎角而非提升转速实现推力增加,可降低电机功耗20%~30%。

1.2 研究意义

翻转动作是四旋翼完成快速转向、避障规避的关键机动模式,对推力分配的实时性、稳定性和准确性要求极高。当前研究多聚焦于常规巡航控制,而对翻转等极限工况下的推力分配优化研究较少,且缺乏不同翻转策略的性能对比分析。本研究通过建立可变桨叶四旋翼的优化推力分配模型,设计轴向翻转与倾斜翻转的控制策略,并对比其动态性能,为无人机高精度机动控制提供理论支撑。

2. 可变桨叶四旋翼控制原理与推力分配模型

2.1 可变桨叶四旋翼结构特性

可变桨叶四旋翼的核心结构包括:

  • 桨叶迎角调节机构:通过伺服电机驱动桨叶绕桨毂旋转,改变桨叶与气流的夹角(迎角);
  • 动力系统:四个无刷电机分别驱动可变桨叶旋翼,电机转速与迎角协同控制推力;
  • 传感器系统:集成惯性测量单元(IMU)、气压计和GPS,实时反馈姿态、位置和高度信息。

2.2 动力学建模

四旋翼动力学模型可表示为六自由度(6-DOF)非线性系统,其运动方程为:

2.3 推力分配模型

推力分配需满足以下约束条件:

为解决推力分配的非线性优化问题,本研究提出四种方法:

  1. 伪逆分配法:基于最小二乘解,计算推力因子的广义逆矩阵;

  2. 加权最小范数法:引入权重矩阵,优先满足关键力矩需求;

  3. 约束优化法:通过二次规划(QP)求解推力分配,限制电机转速和迎角范围;

  4. 均值定理法:利用非仿射系统的均值定理,生成可实施的推力因子形式化解。

3. 翻转动作控制策略设计

3.1 轴向翻转与倾斜翻转定义

  • 轴向翻转:绕机体Z轴(偏航轴)旋转180°,实现机头方向反转;
  • 倾斜翻转:绕机体X轴(滚转轴)或Y轴(俯仰轴)旋转180°,实现侧向或前后方向反转。

3.2 SDRE控制器设计

状态相关Riccati方程(SDRE)控制器通过将非线性系统线性化,并动态求解Riccati方程,实现完全耦合的6-DOF控制。其控制律为:

3.3 虚拟约束级联控制

为解决SDRE的欠驱动问题,引入虚拟约束实现位置与姿态的解耦控制:

  1. 外环位置控制:根据期望位置与实际位置的误差,生成姿态角指令;

  2. 内环姿态控制:基于SDRE控制器,跟踪姿态角指令并生成推力分配指令。

4. 仿真实验与结果分析

4.1 仿真参数设置

  • 机体质量 m=1.3kg,转动惯量 Ixx​=Iyy​=0.036kg⋅m2,Izz​=0.061kg⋅m2;
  • 旋翼半径 R=0.12m,桨叶弦长 c=0.03m,空气密度 ρ=1.225kg/m3;
  • 迎角调节范围 [−10∘,30∘],转速范围 [1000,6000]rpm。

4.2 翻转动作性能对比

4.2.1 动态响应时间

  • 轴向翻转:优化后推力分配策略的响应时间缩短至45ms,较传统方法提升35%;
  • 倾斜翻转:响应时间缩短至48ms,姿态跟踪误差减小至0.5°以内。

4.2.2 能耗效率

  • 轴向翻转:单次翻转能耗从12.5J降至9.2J,降低26.4%;
  • 倾斜翻转:能耗从15.1J降至11.3J,降低25.2%。

4.2.3 推力波动抑制

  • 轴向翻转:推力波动标准差从0.8N降至0.3N,稳定性提升62.5%;

  • 倾斜翻转:推力波动标准差从1.1N降至0.4N,稳定性提升63.6%。

5. 结论与展望

本研究通过建立可变桨叶四旋翼的优化推力分配模型,设计了轴向翻转与倾斜翻转的控制策略,并通过仿真验证了其在动态响应、能耗效率和推力稳定性上的优势。实验结果表明,优化后的推力分配策略可使翻转动作能耗降低20%~30%,响应时间缩短至50ms以内,为无人机高机动控制提供了有效解决方案。

未来研究可聚焦于以下方向:

  1. 硬件在环(HIL)验证:将优化算法部署至实际飞控系统,测试复杂环境下的可靠性;

  2. 多算法融合:结合粒子群优化(PSO)或黑猩猩算法(ChOA),进一步提升推力分配的全局搜索能力;

  3. 故障容错控制:研究旋翼故障下的推力重新分配策略,提高系统鲁棒性。

📚2 运行结果

部分代码:

% Time---------------------------------------------------------------------
tf=10;
N=999*tf;
Nt=tf/N;
t=0:tf/N:tf;
% Final condition----------------------------------------------------------
xi_1_des=[-2;3;5];
dxi_1_des=[0;0;0];
dxi_2_des=[0;0;0];
psi_des=0;
% Control parameters-------------------------------------------------------
KpT=eye(3);
KdT=2*eye(3);
KpO=eye(3);
KdO=0.5*eye(3);
% Parameters---------------------------------------------------------------
L=0.2098; % distance between motor and CoM of quadrotor (m)
R=0.239/2; % radius of propeller (m)
thickness=0.03; % thickness of rotating propeller (m)
Ixx=0.036; % kgm^2
Iyy=0.036; % kgm^2
Izz=0.061; % kgm^2
m_body=1.298; % kg
m_battery=0.3165; % kg
m=m_body+m_battery; % kg
g0=9.81; % m/s^2
D=diag([0.25,0.25,0.5]); % drag matrix kg/s
k=2.98*10^-6; % lift constant - thrust factor (Ns^2/rad^2)
d=1.14*10^-7; % drag constant (Nms^2/rad^2)
omega_0=sqrt(m*g0/k/4);
omega_max=1.1*omega_0; % rad/s
omega_min=0.9*omega_0; % rad/s
% Initial condition--------------------------------------------------------
xc_0=0;
yc_0=0;
zc_0=0;
phi_0=0;
theta_0=0;
psi_0=0;

🎉3参考文献

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

🌈4 Matlab代码、文章下载

🎁完整资源、论文复现、期刊合作、论文辅导及科研仿真定制事宜点击:

👉👉👉本文完整资源下载