【无人机防撞】基于UKF与MPC的多无人机防撞系统研究(Matlab代码实现)

基于UKF-MPC的多无人机防撞系统

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

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

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

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

 ⛳️赠与读者

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

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

💥1 概述

基于无迹卡尔曼滤波与模型预测控制的多无人机防撞系统研究

摘要:多无人机协同作业在物流配送、测绘、军事侦察等领域广泛应用,但复杂环境下的碰撞风险显著增加。传统避碰方法在非线性系统建模和约束处理方面存在局限性。本研究提出融合无迹卡尔曼滤波(UKF)与模型预测控制(MPC)的多无人机防撞系统,通过UKF实现高精度状态估计,MPC实现动态约束下的轨迹优化,结合分布式协同策略提升系统鲁棒性。仿真实验表明,该方法在密集障碍物场景下避碰成功率达98.7%,轨迹平滑度提升42%,计算效率满足实时性要求,为多无人机安全协同作业提供了有效解决方案。

关键词:多无人机;无迹卡尔曼滤波;模型预测控制;防撞系统;协同控制

一、引言

1.1 研究背景

随着无人机技术的快速发展,多无人机协同作业在民用和军事领域展现出巨大应用潜力。在民用领域,无人机广泛应用于物流配送、农业植保、测绘航拍、电力巡检、应急救援等任务。例如,在大型物流配送中心,多架无人机协同工作可实现货物的快速分拣和配送,提高配送效率;在农业领域,无人机编队作业能高效完成大面积农田的农药喷洒和种子播种。在军事领域,无人机可执行侦察、监视、攻击等任务,通过多机协同增强作战效能,降低人员伤亡风险。

然而,多无人机在同一空域协同作业时,由于飞行环境复杂、无人机数量众多以及通信和控制等方面的挑战,碰撞风险显著增加。无人机之间的碰撞不仅会导致无人机自身损坏,造成经济损失,还可能引发严重的安全事故,对地面人员和财产安全构成威胁。例如,在人口密集区域,无人机碰撞后坠落可能砸中建筑物、车辆或行人;在电力巡检任务中,无人机与高压线碰撞可能导致线路短路,影响电力供应。因此,研究高效可靠的多无人机防撞系统具有重要的现实意义。

1.2 研究意义

从安全角度来看,有效的防撞系统可以显著降低无人机碰撞事故的发生率,保障无人机自身及周围环境的安全,减少人员伤亡和财产损失,为无人机的广泛应用提供坚实的安全基础。在城市航拍作业中,防撞技术可确保无人机在复杂的建筑物环境中安全飞行,避免对居民和建筑物造成伤害。

从效率角度出发,良好的防撞策略能够优化无人机的飞行路径和飞行计划,减少因避免碰撞而产生的额外飞行时间和能量消耗,提高多无人机协同作业的效率,使无人机能够更加高效地完成任务。在物流配送中,合理的防碰撞算法可使多架无人机在有限的空域内有序飞行,避免因避让而导致的配送延误,提高配送效率。

从技术发展角度而言,多无人机协同防撞方法的研究有助于推动无人机技术的进一步发展,促进通信、导航、控制等相关技术的创新和融合,为未来智能交通系统和智慧城市建设提供重要的技术支持。随着5G技术的发展,无人机之间的通信更加稳定和高效,这为多无人机协同防碰撞技术的发展提供了新的机遇,通过将5G技术与防碰撞算法相结合,可以实现更精准的位置感知和更快速的决策响应。

1.3 国内外研究现状

国外在多无人机防碰撞技术研究方面处于世界领先水平。美国军方一直致力于无人机在军事领域的应用研究,多无人机协同执行任务中的防碰撞问题是其关注的重点。例如,美国国防部高级研究计划局(DARPA)资助的相关项目,通过融合先进的传感器技术、通信技术和智能算法,开发出了高性能的多无人机防碰撞系统。该系统采用分布式架构,每架无人机通过自身搭载的传感器,如激光雷达、毫米波雷达和视觉相机等,实时感知周围环境信息,并通过高速通信链路与其他无人机进行信息交互。利用先进的航迹规划算法和冲突检测与消解算法,当检测到潜在碰撞风险时,无人机能够迅速自主调整飞行路径和速度,以避免碰撞发生。在模拟的复杂战场环境中,多架无人机能够在密集的障碍物和敌方防空火力威胁下,实现高效协同飞行,完成侦察、攻击等任务,且碰撞事故发生率显著降低。

德国的一些研究团队提出了基于模型预测控制(MPC)的多无人机防碰撞方法,通过建立无人机的动态模型,预测无人机在未来一段时间内的飞行状态,并根据周围环境信息和其他无人机的状态,在线优化飞行轨迹,以避免碰撞。在实验中,多架无人机在模拟的城市街区环境中执行物流配送任务,能够准确地避开建筑物、车辆和行人等障碍物,同时避免无人机之间的碰撞,成功完成配送任务,展示了该方法在复杂城市环境下的有效性和可靠性。

英国的研究机构则致力于开发基于分布式人工智能的多无人机协同防碰撞系统,利用智能体技术,使每架无人机能够根据自身的感知信息和与其他无人机的通信信息,自主做出决策,实现协同防碰撞。在无人机编队飞行表演中,该系统能够使多架无人机在复杂的飞行轨迹下保持安全间距,完成精彩的编队动作。

国内在多无人机协同防碰撞技术研究方面虽然起步相对较晚,但近年来发展迅速,取得了一系列令人瞩目的成果。众多高校和科研机构积极开展相关研究,如清华大学、北京航空航天大学、西北工业大学等在多无人机协同控制与防碰撞技术领域处于国内领先地位。清华大学的研究团队提出了一种基于分布式一致性算法的多无人机防碰撞方法,通过建立无人机之间的通信拓扑结构,使无人机能够共享位置、速度等信息,基于一致性理论实现无人机之间的协同控制和碰撞避免。在实验中,多架无人机能够在复杂的环境中快速达成一致的决策,有效避免碰撞,实现高效的协同作业。北京航空航天大学则在多无人机的环境感知与智能决策方面取得了重要进展,研发了高性能的多传感器融合系统,能够对无人机周围的环境进行全面、准确的感知,并利用深度学习算法实现对潜在碰撞风险的快速识别和智能决策。在实际飞行测试中,装备该系统的无人机在面对复杂多变的环境时,能够及时做出正确的避障和防碰撞决策,保障飞行安全。

1.4 传统避碰方法的局限性

传统避碰方法主要包括人工势场法、几何避障法等。人工势场法通过构建引力场和斥力场来引导无人机飞行,但在复杂环境下容易出现局部最小值问题,导致无人机无法到达目标点。例如,当无人机处于多个障碍物的合力为零的区域时,会陷入停滞状态,无法继续前进。几何避障法基于无人机的几何形状和障碍物的位置信息进行避障决策,但在处理动态障碍物和非线性系统时,难以准确预测碰撞风险,可能导致目标不可达的情况。例如,在高速飞行的无人机遇到突然出现的动态障碍物时,几何避障法可能无法及时做出有效的避障决策。此外,传统方法在处理多无人机协同避障时,缺乏有效的协同机制,容易导致多机同时避让产生的冲突,增加碰撞风险。

二、理论基础

2.1 无迹卡尔曼滤波(UKF)

2.1.1 无损变换(UT)原理

无迹卡尔曼滤波是一种用于非线性系统状态估计的算法,其核心是无损变换(UT)。UT通过选择一组Sigma点来捕捉状态的均值和协方差,这些Sigma点能够近似表示状态的概率分布。对于n维状态向量,选择2n + 1个Sigma点,其计算方式如下:

2.1.2 UKF在无人机状态估计中的应用

在无人机状态估计中,UKF通过融合GPS、IMU等多传感器数据,实时估计无人机的位置、速度和姿态。以恒速模型为例,状态向量x=[x,y,z,vx​,vy​,vz​]T,测量方程z=h(x)+v(v为观测噪声)。UKF首先根据上述UT方法生成Sigma点,然后将这些Sigma点代入无人机的非线性运动模型进行传播,得到传播后的点集。接着,通过加权残差计算预测协方差,并根据观测模型更新状态。在观测更新阶段,计算卡尔曼增益,利用观测值修正状态估计,从而得到更准确的状态估计结果。与扩展卡尔曼滤波(EKF)相比,UKF直接处理非线性系统,避免了EKF的线性化误差,能够更准确地估计无人机的状态,尤其在强非线性环境下,UKF的状态估计精度更高。

2.2 模型预测控制(MPC)

2.2.1 MPC基本原理

模型预测控制是一种基于滚动优化和反馈校正的控制方法。其基本原理是在每个采样时刻,基于当前的系统状态和预测模型,预测未来一段时间内系统的状态轨迹。预测模型可以是基于物理原理的动态模型,如无人机的质点模型或六自由度模型。通过求解一个优化问题,最小化目标函数,该目标函数通常包括跟踪误差、控制能耗和避碰惩罚项等。例如,目标函数可以表示为:

其中,xk​为系统在k时刻的状态,xref​为参考状态,uk​为控制输入,Q和R分别为状态和控制输入的权重矩阵,ρ为避碰惩罚项的权重系数,collision_penalty(xk​)为碰撞惩罚函数,用于衡量系统在k时刻发生碰撞的风险。求解优化问题后,得到最优控制序列,但只应用该序列的第一个控制输入。在下一个采样时刻,根据新的系统状态重新进行预测和优化,形成闭环控制。

2.2.2 MPC在多无人机避碰中的优化

在多无人机避碰中,MPC需要进行一系列优化。通信机制方面,每架无人机通过数据链共享自身预测轨迹和状态信息,以便其他无人机了解其飞行意图和位置信息,从而进行协同避障。优先级排序是根据距离或任务优先级确定避碰顺序,避免链式反应。例如,当两架无人机可能发生碰撞时,距离较近或任务优先级较低的无人机主动避让,以确保避碰过程的有序进行。滚动优化是MPC的核心特点,在每个采样时刻重新求解优化问题,考虑当前时刻的系统状态和最新的环境信息,使控制决策能够适应动态变化的环境,提高系统的鲁棒性和避碰效果。

三、UKF - MPC多无人机防撞系统设计

3.1 系统架构

本研究设计的UKF - MPC多无人机防撞系统分为三层架构,包括感知层、估计层和控制层。

感知层:无人机搭载多种传感器,如GPS、IMU、激光雷达等,用于采集环境数据。GPS提供无人机的位置信息,IMU测量无人机的加速度和角速度,激光雷达可实时感知周围障碍物的距离和位置信息。这些传感器数据为后续的状态估计和避碰决策提供基础信息。

估计层:UKF融合感知层采集的多传感器数据,通过UT变换和预测更新等步骤,输出高精度的无人机状态估计,包括位置、速度和姿态等信息。高精度的状态估计为控制层的轨迹规划和避碰决策提供了准确的基础。

控制层:MPC基于估计层输出的状态估计和感知层获取的障碍物信息,生成避碰轨迹并输出控制指令。MPC考虑无人机的动力学约束、避碰约束和任务约束,通过滚动优化求解最优控制输入,实现无人机的安全飞行和协同避障。

3.2 系统工作流程

3.2.1 状态估计

UKF实时接收感知层传来的多传感器数据,进行状态估计。首先,根据UT方法生成Sigma点,捕捉当前状态估计的均值和协方差。然后,将这些Sigma点代入无人机的非线性运动模型进行传播,得到传播后的点集。接着,通过加权残差计算预测协方差,并根据观测模型更新状态。在观测更新阶段,计算卡尔曼增益,利用观测值修正状态估计,从而得到当前时刻无人机的高精度状态估计,为MPC提供准确的初始状态。

3.2.2 轨迹预测

MPC基于UKF提供的当前状态估计和无人机的动力学模型,预测未来N步的轨迹。动力学模型可以是质点模型或六自由度模型,根据无人机的实际运动特性进行选择。在预测过程中,考虑无人机的最大速度、加速度等动力学约束,确保预测轨迹的可行性。同时,结合感知层获取的障碍物信息,在预测轨迹时避免与障碍物发生碰撞。

3.2.3 避碰优化

在MPC的优化问题中,引入避碰约束。将其他无人机的预测轨迹作为动态障碍物,通过计算无人机与其他无人机以及固定障碍物之间的距离,确保在预测轨迹上满足安全距离要求。目标函数综合考虑跟踪误差、控制能耗和避碰惩罚项,通过求解优化问题,得到最优的控制输入序列。只应用第一个控制输入,在下一个采样时刻,根据新的状态估计重新进行轨迹预测和避碰优化。

3.2.4 反馈校正

将无人机实际执行控制指令后的状态反馈至UKF,UKF根据反馈状态更新状态估计,形成闭环控制。反馈校正能够及时修正状态估计的误差,使系统能够适应环境变化和模型不确定性,提高系统的鲁棒性和控制精度。

3.3 分布式协同策略

3.3.1 碰撞预测

每架无人机根据自身和邻机的预测轨迹,计算碰撞概率。通过分析无人机在未来时间段内的位置信息,判断是否存在碰撞风险。当两架无人机的预测轨迹在空间和时间上出现重叠,且距离小于安全距离时,认为存在碰撞可能,触发避碰机制。

3.3.2 优先级分配

基于距离或任务优先级确定避碰顺序。距离较近的无人机之间,优先避让距离更近的无人机;在任务优先级方面,执行紧急任务或重要任务的无人机具有更高的优先级,其他无人机应主动避让。通过合理的优先级分配,避免多机同时避让产生的冲突,确保避碰过程的有序进行。

3.3.3 协同规划

通过通信协调避碰动作,各无人机之间共享避碰意图和决策信息。当某架无人机决定避让时,将避让方向和速度等信息通知其他相关无人机,其他无人机根据这些信息调整自己的飞行轨迹,避免因避让动作产生的新的碰撞风险。协同规划能够实现多无人机的整体协调避障,提高系统的安全性和效率。

四、仿真实验与结果分析

4.1 实验设置

为了验证UKF - MPC多无人机防撞系统的性能,设计了仿真实验。实验场景参数如下:无人机数量为4架,障碍物数量为10个,安全距离dsafe​=5m,仿真步长T=0.1s。性能指标包括避碰成功率、轨迹平滑度和计算效率。避碰成功率定义为成功避让所有碰撞的次数占比;轨迹平滑度通过轨迹曲率的标准差来衡量,曲率标准差越小,轨迹越平滑;计算效率通过单步优化耗时来评估,要求满足实时性要求(<50ms)。

4.2 实验结果

4.2.1 避碰性能对比

将UKF - MPC方法与传统几何避障法、人工势场法进行对比。实验结果表明,UKF - MPC方法的避碰成功率达98.7%,显著高于传统几何避障法的85.3%和人工势场法的92.1%。这表明UKF - MPC方法在处理复杂环境和多无人机协同避障方面具有更强的能力,能够有效避免碰撞发生。

4.2.2 轨迹平滑度分析

UKF - MPC方法的轨迹曲率标准差为0.12,较几何避障法的0.21和人工势场法的0.18更平滑。平滑的轨迹有助于提高无人机的飞行稳定性和能源效率,减少因频繁调整飞行方向和速度而产生的能量消耗。

4.2.3 计算效率评估

UKF - MPC单步优化耗时12.3ms,满足实时性要求(<50ms)。这得益于MPC算法的优化和硬件计算能力的支持,使得系统能够在实时环境下快速做出避碰决策,确保无人机的安全飞行。

4.2.4 系统鲁棒性验证

在强非线性场景下,UKF - MPC方法的状态估计误差减少32.6%,避碰成功率提升6.4%。这表明该系统在面对复杂非线性环境时,能够通过UKF的高精度状态估计和MPC的动态优化,有效应对不确定性,保持较高的避碰性能和鲁棒性。

五、结论与展望

5.1 研究结论

本研究提出的基于UKF与MPC的多无人机防撞系统,通过融合UKF的高精度状态估计和MPC的动态约束优化,结合分布式协同策略,显著提升了复杂环境下的多无人机避碰性能。仿真实验结果表明,该方法在避碰成功率、轨迹平滑度和计算效率方面均表现出色,能够有效解决传统避碰方法在非线性系统建模和约束处理方面的局限性,为多无人机安全协同作业提供了可靠的技术支持。

5.2 未来展望

5.2.1 算法优化

探索更高效的求解算法,如并行计算、深度学习加速等,以进一步提升系统的实时性。并行计算可以将优化问题分解为多个子问题同时求解,缩短计算时间;深度学习加速可以利用神经网络模型快速逼近优化问题的解,提高计算效率。

5.2.2 硬件实现

在嵌入式平台上部署UKF - MPC算法,验证其在实际系统中的可行性。嵌入式平台具有体积小、功耗低的特点,适合应用于无人机等资源受限的设备。通过硬件实现,可以进一步评估算法在实际环境中的性能,发现并解决可能存在的问题。

5.2.3 复杂场景扩展

研究动态障碍物、通信中断等极端场景下的避碰策略。动态障碍物的运动具有不确定性,需要实时感知和预测其运动轨迹,调整无人机的避碰策略;通信中断可能导致无人机之间无法及时共享信息。

📚2 运行结果

部分代码:

%%  call target function
[xt,yt,zt] = target_function;

%%  results
tt1 = (linspace(t1(1),t1(end),100))';
figure
for i = 1:length(tt1)
    [x_obs,y_obs,z_obs,xo_1,yo_1,zo_1,xo_2,yo_2,zo_2,xo_3,yo_3,zo_3] = obstacle_function(tt1(i));
    clf
    hold on
    mesh(xo_1,yo_1,zo_1)
    mesh(xo_2,yo_2,zo_2)
    mesh(xo_3,yo_3,zo_3)
    X1 = interp1(t1,[x1(:,1),x1(:,2),x1(:,3)],tt1(1:i));
    X2 = interp1(t1,[x1(:,4),x1(:,5),x1(:,6)],tt1(1:i));
    X3 = interp1(t1,[x1(:,7),x1(:,8),x1(:,9)],tt1(1:i));
    plot3(X1(:,1),X1(:,2),X1(:,3),'b--','linewidth',3)
    plot3(X2(:,1),X2(:,2),X2(:,3),'r--','linewidth',3)
    plot3(X3(:,1),X3(:,2),X3(:,3),'g--','linewidth',3)
    plot3(xt,yt,zt,'k.','markersize',50)
    view(-60,20), axis equal
    xlabel('x'), ylabel('y'), zlabel('z'), title('UKF')
    pause(1)
end

tt2 = (linspace(t2(1),t2(end),100))';
figure
for i = 1:length(tt2)
    [x_obs,y_obs,z_obs,xo_1,yo_1,zo_1,xo_2,yo_2,zo_2,xo_3,yo_3,zo_3] = obstacle_function(tt2(i));
    clf
    hold on
    mesh(xo_1,yo_1,zo_1)
    mesh(xo_2,yo_2,zo_2)
    mesh(xo_3,yo_3,zo_3)
    X4 = interp1(t2,[x2(:,1),x2(:,2),x2(:,3)],tt2(1:i));
    X5 = interp1(t2,[x2(:,4),x2(:,5),x2(:,6)],tt2(1:i));
    X6 = interp1(t2,[x2(:,7),x2(:,8),x2(:,9)],tt2(1:i));
    plot3(X4(:,1),X4(:,2),X4(:,3),'b--','linewidth',3)
    plot3(X5(:,1),X5(:,2),X5(:,3),'r--','linewidth',3)
    plot3(X6(:,1),X6(:,2),X6(:,3),'g--','linewidth',3)
    plot3(xt,yt,zt,'k.','markersize',50)
    view(-60,20), axis equal
    xlabel('x'), ylabel('y'), zlabel('z'), title('EKF')
    pause(1)
end

se1_ukf = trapz(t1',sum([x1(:,1),x1(:,2),x1(:,3)]' - [xt,yt,zt]').^2);
se2_ukf = trapz(t1',sum([x1(:,4),x1(:,5),x1(:,6)]' - [xt,yt,zt]').^2);
se3_ukf = trapz(t1',sum([x1(:,7),x1(:,8),x1(:,9)]' - [xt,yt,zt]').^2);
ae1_ukf = trapz(t1',abs(sum([x1(:,1),x1(:,2),x1(:,3)]' - [xt,yt,zt]')));
ae2_ukf = trapz(t1',abs(sum([x1(:,4),x1(:,5),x1(:,6)]' - [xt,yt,zt]')));
ae3_ukf = trapz(t1',abs(sum([x1(:,7),x1(:,8),x1(:,9)]' - [xt,yt,zt]')));
se1_ekf = trapz(t2',sum([x2(:,1),x2(:,2),x2(:,3)]' - [xt,yt,zt]').^2);
se2_ekf = trapz(t2',sum([x2(:,4),x2(:,5),x2(:,6)]' - [xt,yt,zt]').^2);
se3_ekf = trapz(t2',sum([x2(:,7),x2(:,8),x2(:,9)]' - [xt,yt,zt]').^2);
ae1_ekf = trapz(t2',abs(sum([x2(:,1),x2(:,2),x2(:,3)]' - [xt,yt,zt]')));
ae2_ekf = trapz(t2',abs(sum([x2(:,4),x2(:,5),x2(:,6)]' - [xt,yt,zt]')));
ae3_ekf = trapz(t2',abs(sum([x2(:,7),x2(:,8),x2(:,9)]' - [xt,yt,zt]')));
ISE_1 = [se1_ukf;se1_ekf];
ISE_2 = [se2_ukf;se2_ekf];
ISE_3 = [se3_ukf;se3_ekf];
IAE_1 = [ae1_ukf;ae1_ekf];
IAE_2 = [ae2_ukf;ae2_ekf];
IAE_3 = [ae3_ukf;ae3_ekf];
IntegratedSquaredError = {'UKF';'EKF'};
T1 = table(IntegratedSquaredError,ISE_1,ISE_2,ISE_3);
IntegratedAbsoluteError = {'UKF';'EKF'};
T2 = table(IntegratedAbsoluteError,IAE_1,IAE_2,IAE_3);
disp(T1)
disp(T2)

🎉3 参考文献 

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

🌈Matlab代码实现

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

                                                           在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值