✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:Matlab科研工作室
🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。
🔥 内容介绍
一、研究背景与意义
1.1 四旋翼无人机控制领域的挑战
四旋翼无人机凭借其体积小、机动性强、作业范围广等优势,已广泛应用于航拍测绘、物流配送、应急救援、电力巡检等多个领域。然而,其动力学系统具有强耦合、非线性、欠驱动的特性,同时在实际飞行过程中易受到外部干扰(如风力扰动、气流变化)、模型参数摄动(如负载变化、电池电压下降)以及未建模动态(如桨叶气流干扰、机械传动损耗)的影响,导致精确建模难度极大。
传统的控制方法(如PID控制、滑模控制、反步控制等)大多依赖于精确的动力学模型。当无人机面临复杂动态环境或模型存在较大误差时,这类模型依赖型控制方法的控制性能会显著下降,甚至可能导致飞行不稳定。因此,开发不依赖精确模型、能够自适应复杂环境的控制策略,成为四旋翼无人机控制领域的核心研究难题之一。
1.2 数据驱动控制与Koopman算子理论的兴起
随着传感器技术、数据存储技术和计算能力的快速发展,数据驱动控制方法应运而生。该类方法直接利用系统运行过程中采集的数据构建控制模型,无需依赖精确的机理建模,为解决非线性系统控制问题提供了新的思路。其中,Koopman算子理论作为一种强大的非线性系统线性化工具,受到了控制领域的广泛关注。
Koopman算子将非线性系统的分析转化到高维线性空间中,通过寻找能够表征系统动态特性的Koopman特征函数,实现对非线性系统的线性描述。这种线性化方法不改变系统的原始动力学特性,而是通过提升状态空间来获得线性表示,相较于传统的局部线性化方法(如泰勒展开),具有全局近似的优势。将Koopman算子理论与模型预测控制(MPC)相结合,形成Koopman-MPC控制框架,能够充分利用数据驱动的优势实现对非线性系统的高精度跟踪控制,为解决四旋翼无人机的复杂控制问题提供了全新的技术路径。
1.3 研究意义
本研究聚焦于Koopman-MPC基于数据驱动的四旋翼无人机学习与控制,旨在解决传统控制方法对精确模型依赖的痛点,提升无人机在复杂动态环境下的控制性能和鲁棒性。其研究意义主要体现在以下三个方面:
(1)理论意义:丰富和完善数据驱动控制与Koopman算子理论在欠驱动非线性系统中的应用成果,为类似的非线性系统控制问题提供理论参考;
(2)技术意义:开发出高精度、强鲁棒性的四旋翼无人机控制算法,突破传统控制方法的局限性,提升无人机在实际复杂场景中的作业能力;
(3)应用意义:为航拍测绘、应急救援、电力巡检等实际应用场景提供更可靠的无人机控制技术支撑,推动无人机产业的高质量发展。
二、核心理论基础
2.1 Koopman算子理论
2.1.1 Koopman算子的基本定义
对于非线性动力学系统 \( \dot{x}(t) = f(x(t)) \),其中 \( x(t) \in \mathbb{R}^n \) 为系统状态向量,\( f: \mathbb{R}^n \to \mathbb{R}^n \) 为非线性向量场。Koopman算子 \( \mathcal{K} \) 是定义在系统状态函数空间上的线性算子,其作用是将系统状态的观测函数向前推移,即对于任意观测函数 \( g: \mathbb{R}^n \to \mathbb{R} \),有:
\( (\mathcal{K}g)(x) = g(\phi_t(x)) \)
其中 \( \phi_t(x) \) 表示系统在初始状态 \( x \) 下经过时间 \( t \) 的流映射,即 \( \phi_t(x) = x(t) \)。Koopman算子的线性性体现在 \( \mathcal{K}(ag + bh) = a\mathcal{K}g + b\mathcal{K}h \)(其中 \( a, b \) 为常数,\( g, h \) 为观测函数),这一特性使得原本非线性的系统动态在Koopman空间中可以用线性方程描述。
2.1.2 Koopman特征函数与线性化表示
Koopman算子的特征函数 \( \psi(x) \) 满足 \( \mathcal{K}\psi = \lambda\psi \),其中 \( \lambda \) 为对应的特征值。对于自治非线性系统,若选取一组Koopman特征函数 \( \psi_1(x), \psi_2(x), ..., \psi_m(x) \) 构成提升状态向量 \( \psi(x) = [\psi_1(x), \psi_2(x), ..., \psi_m(x)]^T \in \mathbb{R}^m \)(\( m \geq n \)),则系统在提升状态空间中的动态可表示为线性方程:
\( \dot{\psi}(x(t)) = A\psi(x(t)) \)
其中 \( A \in \mathbb{R}^{m \times m} \) 为Koopman算子在该组特征函数下的线性矩阵表示。对于非自治系统(如存在控制输入的四旋翼无人机系统),可将控制输入纳入提升状态空间,此时系统的线性化表示为:
\( \dot{\psi}(x(t), u(t)) = A\psi(x(t), u(t)) + Bu(t) \)
其中 \( u(t) \in \mathbb{R}^p \) 为控制输入向量,\( B \in \mathbb{R}^{m \times p} \) 为输入矩阵。通过这种方式,原本复杂的非线性系统被转化为高维线性系统,从而可以利用成熟的线性控制理论进行控制器设计。
2.2 模型预测控制(MPC)原理
模型预测控制是一种基于滚动优化的先进控制方法,其核心思想是:在每个控制时刻,利用系统模型预测未来一段时间内的系统输出,然后通过求解一个带约束的优化问题得到当前时刻的控制输入,随后仅施加第一个控制输入到系统中,在下一个控制时刻重复上述过程。
MPC的基本流程包括三个步骤:(1)预测模型:利用系统模型预测未来 \( N \) 个预测步长内的系统状态和输出;(2)滚动优化:根据预测结果和预设的性能指标(如跟踪误差最小化),在满足系统输入约束、状态约束的前提下,求解优化问题得到最优控制序列;(3)反馈校正:将实际系统输出与预测输出进行比较,利用误差对预测模型进行校正,提高控制精度。
MPC的优势在于能够有效处理多变量、带约束的控制问题,具有较强的鲁棒性和灵活性。将Koopman算子得到的线性化模型作为MPC的预测模型,即可形成Koopman-MPC控制框架,该框架既保留了MPC处理约束的能力,又借助Koopman算子实现了对非线性系统的有效建模,能够充分发挥数据驱动方法的优势。
2.3 数据驱动的Koopman算子辨识
Koopman算子的辨识是实现Koopman-MPC控制的关键步骤,其核心是利用系统的输入输出数据,确定合适的提升状态向量(特征函数)以及对应的线性矩阵 \( A \) 和 \( B \)。常用的数据驱动辨识方法包括动态模态分解(DMD)及其改进算法(如EDMD、KDMD等)。
扩展动态模态分解(EDMD)是应用最广泛的Koopman算子辨识方法之一,其基本思路是:首先选取一组基函数 \( \psi(x) = [\psi_1(x), \psi_2(x), ..., \psi_m(x)]^T \)(如多项式基、三角函数基、径向基函数等)作为候选特征函数;然后利用采集到的系统状态数据 \( x_1, x_2, ..., x_N \) 和对应的下一时刻状态数据 \( x_2, x_3, ..., x_{N+1} \),构建提升状态矩阵 \( \Psi = [\psi(x_1), \psi(x_2), ..., \psi(x_N)]^T \) 和 \( \Psi' = [\psi(x_2), \psi(x_3), ..., \psi(x_{N+1})]^T \);最后通过最小二乘法求解线性方程组 \( \Psi' = A\Psi \),得到Koopman线性矩阵 \( A \)。对于含控制输入的系统,只需将控制输入纳入数据矩阵,即可通过类似的方法辨识出矩阵 \( A \) 和 \( B \)。
三、基于Koopman-MPC的四旋翼无人机控制系统设计
3.1 四旋翼无人机动力学模型概述
四旋翼无人机的动力学模型通常分为姿态动力学和位置动力学两部分。姿态动力学描述无人机姿态角(滚转角 \( \phi \)、俯仰角 \( \theta \)、偏航角 \( \psi \))的变化规律,位置动力学描述无人机质心在惯性坐标系中的位置(\( x, y, z \))变化规律。其简化动力学模型如下:
姿态动力学:
\( \dot{\phi} = p + q\sin\phi\tan\theta + r\cos\phi\tan\theta \)
\( \dot{\theta} = q\cos\phi - r\sin\phi \)
\( \dot{\psi} = q\sin\phi\sec\theta + r\cos\phi\sec\theta \)
\( J_x\dot{p} = (J_y - J_z)qr + \tau_x \)
\( J_y\dot{q} = (J_z - J_x)pr + \tau_y \)
\( J_z\dot{r} = (J_x - J_y)pq + \tau_z \)
位置动力学:
\( \ddot{x} = \frac{1}{m}(u_1(\sin\psi\sin\phi + \cos\psi\cos\phi\sin\theta) - F_{dx}) \)
\( \ddot{y} = \frac{1}{m}(u_1(\cos\psi\sin\phi - \sin\psi\cos\phi\sin\theta) - F_{dy}) \)
\( \ddot{z} = \frac{1}{m}(u_1\cos\phi\cos\theta - mg - F_{dz}) \)
其中,\( p, q, r \) 为姿态角速率;\( J_x, J_y, J_z \) 为转动惯量;\( \tau_x, \tau_y, \tau_z \) 为姿态控制力矩;\( u_1 \) 为总升力;\( m \) 为无人机质量;\( g \) 为重力加速度;\( F_{dx}, F_{dy}, F_{dz} \) 为空气阻力。该模型存在较强的非线性和耦合特性,直接用于控制器设计难度较大。
3.2 系统整体控制架构
基于Koopman-MPC的四旋翼无人机控制系统采用分层控制架构,分为内层姿态控制和外层位置控制,整体架构如图1所示(此处保留原有图注逻辑,不新建图像标签)。该架构主要包括数据采集模块、Koopman算子辨识模块、Koopman-MPC控制器模块以及执行器模块。
(1)数据采集模块:通过无人机上的惯性测量单元(IMU)、GPS、气压计等传感器,实时采集无人机的姿态角、姿态角速率、位置、速度等状态数据,以及电机输出的控制信号数据;
(2)Koopman算子辨识模块:利用采集到的状态数据和控制数据,通过EDMD算法辨识Koopman线性模型,得到提升状态空间中的线性矩阵 \( A \)、\( B \) 以及观测矩阵 \( C \)(用于将提升状态映射回原始状态);
(3)Koopman-MPC控制器模块:分为位置MPC控制器和姿态MPC控制器。位置MPC控制器根据位置参考指令和当前位置状态,通过Koopman线性模型预测未来位置动态,求解优化问题得到期望姿态角;姿态MPC控制器根据期望姿态角和当前姿态状态,通过Koopman线性模型预测未来姿态动态,求解优化问题得到期望控制力矩;
(4)执行器模块:将期望控制力矩和总升力转换为四个电机的转速指令,驱动电机运转,实现无人机的姿态和位置控制。
3.3 Koopman算子辨识实现
针对四旋翼无人机的动力学特性,选取合适的提升状态向量是Koopman算子辨识的关键。考虑到无人机的状态包括姿态角 \( \phi, \theta, \psi \)、姿态角速率 \( p, q, r \)、位置 \( x, y, z \)、速度 \( \dot{x}, \dot{y}, \dot{z} \),选取以下基函数构建提升状态向量:
\( \psi(x) = [\phi, \theta, \psi, p, q, r, x, y, z, \dot{x}, \dot{y}, \dot{z}, \phi^2, \theta^2, \psi^2, \phi\theta, \phi\psi, \theta\psi, p\phi, q\theta, r\psi, 1]^T \)
其中包含了原始状态变量、二次项以及交叉项,能够有效表征系统的非线性动态。数据采集阶段,通过无人机的悬停、爬升、下降、转弯等多种飞行工况,采集足够数量的状态数据和控制数据,确保辨识模型的准确性。然后利用EDMD算法,构建提升状态矩阵 \( \Psi \) 和 \( \Psi' \),通过最小二乘法求解得到Koopman线性矩阵 \( A \) 和 \( B \)。为了提高辨识精度,采用滑动窗口更新策略,实时利用最新的飞行数据更新Koopman线性模型,增强模型对环境变化的适应性。
3.4 Koopman-MPC控制器设计
3.4.1 优化目标函数设计
Koopman-MPC控制器的优化目标是使无人机的实际状态跟踪参考状态,同时最小化控制输入的变化量,以保证控制的平滑性。目标函数设计如下:
\( J = \sum_{k=0}^{N-1} \| y(k|t) - y_{ref}(k|t) \|_Q^2 + \sum_{k=0}^{N-2} \| \Delta u(k|t) \|_R^2 \)
其中,\( N \) 为预测步长;\( y(k|t) = C\psi(x(k|t)) \) 为预测输出(原始状态);\( y_{ref}(k|t) \) 为参考输出;\( \Delta u(k|t) = u(k|t) - u(k-1|t) \) 为控制输入增量;\( Q \in \mathbb{R}^{n \times n} \) 为输出误差权重矩阵;\( R \in \mathbb{R}^{p \times p} \) 为控制输入增量权重矩阵。通过调整 \( Q \) 和 \( R \) 的元素值,可以平衡跟踪精度和控制平滑性。
3.4.2 约束条件设置
考虑到无人机的物理限制,Koopman-MPC控制器需要设置严格的约束条件,包括控制输入约束和状态约束。
(1)控制输入约束:无人机的电机转速存在最大值和最小值,对应的总升力 \( u_1 \) 和控制力矩 \( \tau_x, \tau_y, \tau_z \) 也存在范围限制,即:
\( u_{min} \leq u(t) \leq u_{max} \)
其中 \( u_{min} \) 和 \( u_{max} \) 分别为控制输入的下限和上限。
(2)状态约束:无人机的姿态角和位置存在安全范围限制,例如滚转角和俯仰角通常限制在 \( \pm 30^\circ \) 以内,以保证飞行稳定;位置约束根据实际作业场景确定,即:
\( x_{min} \leq x(t) \leq x_{max} \)
\( y_{min} \leq y(t) \leq y_{max} \)
\( z_{min} \leq z(t) \leq z_{max} \)
\( \phi_{min} \leq \phi(t) \leq \phi_{max} \)
\( \theta_{min} \leq \theta(t) \leq \theta_{max} \)
3.4.3 优化问题求解
将Koopman线性模型、目标函数和约束条件相结合,构建二次规划(QP)优化问题。在每个控制时刻,利用数值优化算法(如内点法、序列二次规划法等)求解该QP问题,得到最优控制序列 \( u(t|t), u(t+1|t), ..., u(t+N-2|t) \),然后将第一个控制输入 \( u(t|t) \) 施加到无人机系统中。由于MPC采用滚动优化策略,每个控制时刻只需求解一个有限时域的优化问题,计算量可控,适合实时控制。
四、研究结论与未来展望
4.1 研究结论
本研究提出了一种基于Koopman-MPC的数据驱动四旋翼无人机学习与控制方法,通过理论分析和仿真实验验证了该方法的有效性,主要结论如下:
(1)Koopman算子理论能够有效将四旋翼无人机的非线性动力学系统线性化,通过数据驱动的EDMD算法可以准确辨识出Koopman线性模型,无需依赖精确的机理建模;
(2)基于Koopman-MPC的控制算法在无干扰和有干扰工况下均具有更高的跟踪精度和更平滑的控制输入,相较于传统PID控制和基于精确模型的MPC控制,其控制性能更优;
(3)Koopman-MPC算法具有较强的鲁棒性,能够快速适应外部干扰和模型参数变化,且计算效率满足实时控制要求,适合实际应用。
4.2 未来展望
虽然本研究取得了一定的成果,但仍有以下几个方面需要进一步深入研究:
(1)提升状态向量的自适应选取:目前提升状态向量的基函数需要人工选取,未来可研究基于深度学习的自适应基函数选取方法,进一步提高Koopman模型的辨识精度和泛化能力;
(2)分布式Koopman-MPC控制:针对多无人机协同控制场景,研究分布式Koopman-MPC控制方法,实现多无人机的协同轨迹跟踪和任务分配;
(3)实际飞行实验验证:未来需要搭建实际的四旋翼无人机实验平台,进行户外飞行实验,进一步验证算法在实际复杂环境中的性能;
(4)容错控制扩展:结合故障诊断技术,研究基于Koopman-MPC的容错控制方法,提高无人机在传感器故障或执行器故障情况下的飞行安全性。
⛳️ 运行结果





🔗 参考文献
[1] 侯涛,唐丽,牛宏侠.基于数据驱动的高速列车速度复合控制研究[J].交通运输系统工程与信息, 2023, 23(3):145-152.DOI:10.16097/j.cnki.1009-6744.2023.03.016.
[2] 王雄壮.基于MPC和ESO的软体执行器轨迹跟踪控制[J].数字制造科学, 2024(4):272-277.
[3] 丁博文,付东飞,金志豪,等.基于改进Koopman算子在线预估器的海洋浮体路径跟踪预测控制算法[J].控制与决策, 2025(3).DOI:10.13195/j.kzyjc.2024.0164.
📣 部分代码
🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料
🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:
🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类
2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP
👇
1033

被折叠的 条评论
为什么被折叠?



