







基于蜣螂优化算法(DBO) 的多无人机三维路径规划方法,用于在复杂地形与威胁环境中协同规划多条安全、平滑的飞行轨迹。
一、研究背景
- 问题需求:无人机在低空复杂环境中执行任务(如侦察、巡检)时,需自主规划避开地形障碍与雷达/火力威胁的最优路径,同时满足飞行约束与多机协同。
- 算法选择:DBO是2022年提出的新型元启发式算法,模拟蜣螂滚球、舞蹈、繁殖、觅食与偷窃行为,具有全局探索与局部开发平衡的特点,适用于高维非线性优化问题。
二、主要功能
- 环境建模 :基于
peaks函数生成山峰地形,并设置圆柱体威胁区(10个)。 - 多机路径规划:支持6架无人机从起点到终点的三维航迹协同规划。
- 成本评估:综合考虑路径长度、威胁碰撞、高度约束、平滑度四项目标。
- 结果可视化:绘制三维轨迹图、俯视图、成本收敛曲线及各成本项统计图。
三、算法步骤(DBO核心流程)
- 初始化:随机生成蜣螂种群位置(球坐标参数),计算初始适应度。
- 滚球行为(生产者):根据光照强度(随机数)更新位置,模拟粪球滚动。
- 舞蹈行为:当遇到障碍时,通过正切函数调整方向。
- 繁殖行为:在最优解附近生成子代(边界随迭代收缩)。
- 觅食行为:小蜣螂在局部区域搜索食物源。
- 偷窃行为:部分个体偷取其他蜣螂的粪球(全局最优扰动)。
- 边界约束与择优:越界处理,保留历史最优解。
四、技术路线
环境建模 → 问题编码(球坐标) → DBO优化迭代 → 坐标转换(球→笛卡尔) → 多机成本计算 → 最优轨迹输出 → 可视化分析
- 编码方式 :每架无人机的路径由
n个中间节点描述,每个节点用(r, ψ, φ)球坐标表示,共3×n×N维变量(N为无人机数)。 - 约束处理:位置边界采用限幅策略,高度低于地面或碰撞威胁区时赋惩罚值。
五、公式原理
- 位置更新方程 (简化示例):
- 滚球:xinew=xi+0.3∣xi−xworst∣+a⋅0.1⋅xioldx_i^{new} = x_i + 0.3|x_i - x_{worst}| + a \cdot 0.1 \cdot x_i^{old}xinew=xi+0.3∣xi−xworst∣+a⋅0.1⋅xiold
- 舞蹈:xinew=xi+tan(θ)⋅∣xi−xiold∣x_i^{new} = x_i + \tan(\theta) \cdot |x_i - x_i^{old}|xinew=xi+tan(θ)⋅∣xi−xiold∣
- 繁殖边界:Lb∗=bestX⋅(1−R)Lb^* = bestX \cdot (1-R)Lb∗=bestX⋅(1−R), Ub∗=bestX⋅(1+R)Ub^* = bestX \cdot (1+R)Ub∗=bestX⋅(1+R),其中R=1−t/TR=1-t/TR=1−t/T
- 球坐标转笛卡尔 :
{xk+1=xk+rkcosψksinϕkyk+1=yk+rkcosψkcosϕkzk+1=zk+rksinψk \begin{cases} x_{k+1} = x_k + r_k \cos\psi_k \sin\phi_k \\ y_{k+1} = y_k + r_k \cos\psi_k \cos\phi_k \\ z_{k+1} = z_k + r_k \sin\psi_k \end{cases} ⎩ ⎨ ⎧xk+1=xk+rkcosψksinϕkyk+1=yk+rkcosψkcosϕkzk+1=zk+rksinψk - 成本函数 :J=b1Jlength+b2Jthreat+b3Jaltitude+b4JsmoothJ = b_1J_{length} + b_2J_{threat} + b_3J_{altitude} + b_4J_{smooth}J=b1Jlength+b2Jthreat+b3Jaltitude+b4Jsmooth
六、参数设定
| 参数 | 含义 | 设定值 |
|---|---|---|
pop |
种群规模 | 100 |
maxgen |
最大迭代次数 | 200 |
n |
每机路径节点数 | 10 |
N |
无人机数量 | 6 |
P_percent |
生产者比例 | 0.2 |
b1~b4 |
成本权重 | [1,5,1,5] |
| 威胁半径 | 圆柱/球体尺寸 | 50~80 m |
| 地图范围 | X/Y轴 | 1~1000 |
| 飞行高度范围 | Z轴 | 100~200 m |
七、运行环境
- 软件:MATLAB(R2020b及以上版本)
八、应用场景
- 军事领域:多无人机协同突防、战场侦察路径规划。
- 民用领域:山区电力巡检、灾害评估中的多机覆盖路径规划。
- 科研教学:元启发式算法性能验证、三维路径规划算法对比研究。