【基于模型预测控制的多无人机参考轨迹跟踪】针对由三架四旋翼无人机组成的机群,实施线性与非线性模型预测控制(LMPC & NLMPC)以实现参考轨迹跟踪,同时考虑避碰、严格的输入/状态约束以及风扰问题

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

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

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

📋📋📋本文内容如下:🎁🎁🎁

 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

基于模型预测控制的多无人机参考轨迹跟踪研究

摘要:本文聚焦于由三架四旋翼无人机组成的机群,通过实施线性与非线性模型预测控制(LMPC & NLMPC)实现参考轨迹跟踪。研究过程中充分考虑避碰、严格的输入/状态约束以及风扰等关键问题,旨在探索适合多无人机轨迹跟踪的有效控制策略,并通过对比分析两种控制方法的性能,为实际应用提供理论依据。

关键词:多无人机;模型预测控制;轨迹跟踪;避碰;输入/状态约束;风扰

一、引言

本文针对由三架四旋翼无人机组成的机群,实施线性与非线性模型预测控制(Linear and Non-linear Model Predictive Control,LMPC & NLMPC),以实现参考轨迹跟踪,同时考虑避碰、严格的输入/状态约束以及风扰问题。

我们在一个必须遵循正弦参考轨迹,同时满足严格约束并抵御风扰的三无人机编队上,对LMPC和NLMPC进行了比较。
性能通过均方误差(Mean-Squared Error,MSE)以及推力和俯仰角的定性表现来进行评估。

针对同一系统开发并应用两种截然不同的模型预测控制(Model Predictive Control,MPC)方法——线性模型预测控制(Linear MPC)和非线性模型预测控制(Non-Linear MPC)。最终目标是评估模型预测控制在该控制方法所适用的应用场景中的有效性

随着无人机技术的飞速发展,多无人机协同作业在众多领域展现出巨大的应用潜力,如物流配送、环境监测、搜索救援等。在这些应用场景中,精确的轨迹跟踪是实现任务目标的关键。模型预测控制(MPC)作为一种先进的控制方法,具有对约束处理能力强、能考虑未来动态信息等优点,在多无人机轨迹跟踪领域受到广泛关注。

本文针对三架四旋翼无人机机群,开展基于线性与非线性模型预测控制的参考轨迹跟踪研究,重点解决避碰、严格约束以及风扰等实际问题,为多无人机系统的高效、安全运行提供技术支持。

二、系统模型建立

2.1 四旋翼无人机动力学模型

四旋翼无人机的动力学模型是一个复杂的非线性系统,考虑其平动和转动运动。设无人机的质量为 m,转动惯量分别为 Ix​、Iy​、Iz​,位置坐标为 (x,y,z),姿态角为滚转角 ϕ、俯仰角 θ、偏航角 ψ。

2.2 多无人机系统模型

将三架四旋翼无人机视为一个整体系统,定义系统的状态变量为各无人机的位置、速度、姿态角和角速度,即 

三、模型预测控制算法设计

3.1 线性模型预测控制(LMPC)

3.1.1 线性化处理

对四旋翼无人机的非线性动力学模型在工作点附近进行线性化处理,得到线性状态空间模型:

x˙=Ax+Bu

其中,A 和 B 为线性化后的系统矩阵和输入矩阵。

3.1.2 预测模型

3.1.3 优化问题

3.2 非线性模型预测控制(NLMPC)

3.2.1 非线性预测模型

直接使用四旋翼无人机的非线性动力学模型作为预测模型,通过数值积分方法(如欧拉法、龙格 - 库塔法)预测系统在未来 N 个时刻的状态。

3.2.2 优化问题

四、避碰与约束处理

4.1 避碰策略

4.2 输入/状态约束处理

五、风扰模型与处理

5.1 风扰模型

5.2 风扰处理

在模型预测控制中,将风扰视为系统的扰动输入。通过在线估计风扰的大小和方向,将其纳入预测模型中,提高系统对风扰的鲁棒性。同时,在优化问题中考虑风扰的影响,调整控制输入以抵消风扰对轨迹跟踪的影响。

六、仿真实验与结果分析

6.1 仿真环境设置

搭建 MATLAB/Simulink 仿真平台,设置三架四旋翼无人机的初始位置、速度和姿态角。定义参考轨迹为空间中的螺旋曲线,设置预测时域 N=10,控制时域 Nc​=5,权重矩阵 Q 和 R 根据实际需求进行调整。

6.2 实验结果对比

分别采用 LMPC 和 NLMPC 对三架无人机进行轨迹跟踪控制,记录无人机的轨迹跟踪误差、控制输入变化以及避碰情况。

6.2.1 轨迹跟踪误差

对比 LMPC 和 NLMPC 下无人机的轨迹跟踪误差,发现 NLMPC 在处理非线性问题和复杂约束时具有更好的跟踪性能,轨迹跟踪误差更小。

6.2.2 控制输入变化

分析两种控制方法下控制输入的变化情况,LMPC 的控制输入相对较为平滑,而 NLMPC 由于需要处理非线性优化问题,控制输入的变化可能更为剧烈。

6.2.3 避碰情况

在仿真过程中,观察两种控制方法下的避碰效果。结果表明,两种方法都能有效避免无人机之间的碰撞,但 NLMPC 在避碰过程中的调整更为灵活和准确。

七、结论与展望

7.1 结论

本文针对三架四旋翼无人机机群,开展了基于线性与非线性模型预测控制的参考轨迹跟踪研究。通过建立系统模型、设计控制算法、处理避碰与约束以及风扰问题,进行了仿真实验。结果表明,NLMPC 在轨迹跟踪精度、避碰效果等方面优于 LMPC,但计算复杂度较高;LMPC 计算量较小,但在处理复杂非线性问题时性能稍逊。

7.2 展望

未来的研究可以进一步优化模型预测控制算法,提高计算效率,降低计算复杂度。同时,可以开展实际飞行实验,验证算法在真实环境中的有效性和鲁棒性。此外,还可以研究多无人机协同控制中的其他问题,如编队控制、任务分配等,为多无人机系统的实际应用提供更全面的技术支持。

📚2 运行结果

部分代码:

figure
subplot(3,1,1),plot(out.u1,'LineWidth',1.5)
xlim([0 257])
grid on
xlabel('Time [s]')
ylabel('Thrust [N]')
legend('$u_1$ ','interpreter','latex')
title('Thrust 1')
subplot(3,1,2),plot(out.u2,'LineWidth',1.5)
xlim([0 257])
grid on
xlabel('Time [s]')
ylabel('Thrust [N]')
legend('$u_1$ ','interpreter','latex')
title('Thrust 2')
subplot(3,1,3),plot(out.u3,'LineWidth',1.5)
xlim([0 257])
grid on
xlabel('Time [s]')
ylabel('Torque [N/m]')
legend('$u_1$ ','interpreter','latex')
title('Thrust 3')
meancomp=mean(out.t_comp(2:end))
figure
plot(out.t_comp(2:end),'LineWidth',1.5),hold on,
yline(meancomp,'--k','LineWidth',2);
grid on
xlabel('Time [s]')
ylabel('Solving time [s]')
legend('Solving time','Mean','interpreter','latex')
title('Solving time')

figure
plot(X,Y,'LineWidth',1.5)
hold on
plot(refe_x,refe_y,'LineWidth',1.5)
xlim([0 out.tout(end)])
grid on
xlabel('x [m]')
ylabel('y [m]')
legend('$Trajectory$ ','Reference','interpreter','latex')
title('Trajectory')

error = sqrt((refe_x-X).^2+(refe_y-Y).^2)

figure
plot(error,'LineWidth',1.5)
xlim([0 out.tout(end)])
grid on
xlabel('Distance error [m]')
ylabel('Time [s]')
legend('$Error$ ','interpreter','latex')
title('Trajectory error')

MSE_x = immse(X,refe_x)
MSE_y = immse(Y,refe_y)

🎉3 参考文献 

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)

🌈Matlab代码、Simulink仿真、文档下载

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值