针对多无人机编队在动态障碍物环境下的协同飞行与安全避障问题,本文采用领航‑跟随编队控制 与控制障碍函数(CBF) 相结合的方法,设计一种分布式多无人机避障控制框架。系统以集群几何中心为虚拟领航点实现稳定编队,通过控制障碍函数将避障约束转化为二次规划(QP)问题,实现无人机对动态障碍物的实时规避;同时引入无人机间安全距离约束,保证单机自主避障且不干扰其他无人机飞行。仿真结果表明,所提方法可实现动态障碍物无碰撞运动、多无人机编队保持、无人机间自主避障,满足复杂动态环境下多机安全协同飞行要求。
1 引言
多无人机编队系统在巡检、侦察、物资运输等场景具有广泛应用前景。动态环境下,无人机需在保持编队队形的同时,自主规避移动障碍物与同伴无人机,对控制算法的安全性、鲁棒性与实时性提出较高要求。
传统避障方法多基于人工势场、速度障碍法等,存在局部最优、避障不严格等问题。控制障碍函数(CBF)可将安全约束以解析形式嵌入优化层,通过二次规划求解满足约束的最优控制量,实现严格安全避障。
本文基于MATLAB搭建多无人机编队动态避障仿真平台,保留领航‑跟随编队结构,在原始代码框架上增强动态障碍物互避、单机自主避障、无人机间防碰撞等功能,并以可视化方式标记各无人机目标点,实现完整仿真验证。
2 系统模型与算法原理
2.1 无人机运动模型
采用单积分器模型描述无人机水平运动:
p˙=v\dot{\boldsymbol{p}} = \boldsymbol{v}p˙=v
其中:p=[x,y]T\boldsymbol{p}=[x,y]^\text{T}p=[x,y]T为无人机位置;v\boldsymbol{v}v为控制输入(速度),受最大速度约束 ∣v∣≤vmax|\boldsymbol{v}|≤v_{\text{max}}∣v∣≤vmax。
2.2 领航‑跟随编队模型
以无人机集群几何中心 作为虚拟领航点:
pcenter=1N∑i=1Npi\boldsymbol{p}{\text{center}} = \frac{1}{N}\sum{i=1}^N \boldsymbol{p}_ipcenter=N1i=1∑Npi
每架无人机相对领航点保持固定相对位置:
pi=pcenter+Δpi\boldsymbol{p}i = \boldsymbol{p}{\text{center}} + \Delta \boldsymbol{p}_ipi=pcenter+Δpi
通过编队控制律维持队形,同时跟随中心向目标点运动。
2.3 控制障碍函数(CBF)避障原理
定义安全函数:
h(p)=d(p,pobs)−Dsafe≥0h(\boldsymbol{p}) = d(\boldsymbol{p},\boldsymbol{p}{\text{obs}}) - D{\text{safe}} \ge 0h(p)=d(p,pobs)−Dsafe≥0
其中:ddd为欧氏距离;DsafeD_{\text{safe}}Dsafe为安全距离。
CBF要求安全条件渐进不变:
h˙≥−αh\dot{h} \ge -\alpha hh˙≥−αh
将约束线性化后得到:
Av≤b\boldsymbol{A}\boldsymbol{v} \le \boldsymbol{b}Av≤b
2.4 二次规划(QP)求解
以跟踪期望速度为目标,在避障约束下优化速度:
minv12vTv−vaimTv\min_{\boldsymbol{v}} \frac{1}{2}\boldsymbol{v}^\text{T}\boldsymbol{v} - \boldsymbol{v}_{\text{aim}}^\text{T}\boldsymbol{v}vmin21vTv−vaimTv
s.t.Av≤b\text{s.t.} \quad \boldsymbol{A}\boldsymbol{v} \le \boldsymbol{b}s.t.Av≤b
求解得到平滑、可行、无碰撞的控制量。
2.5 动态障碍物运动模型
障碍物采用独立随机运动模式:
- 定时随机更新运动方向与速度;
- 触碰边界自动速度反弹;
- 实时检测与其他障碍物距离,小于安全距离则速度反向,实现障碍物间无碰撞。
3 控制系统设计
3.1 整体控制架构
系统分为三层:
- 编队层:虚拟领航点跟踪目标点,维持队形;
- 全局避障层:CBF约束动态障碍物,QP求解中心速度;
- 单机自主避障层:各无人机独立检测同伴距离,增加防碰撞约束,实现互不干扰。
3.2 动态障碍物无碰撞控制
对每个障碍物独立执行:
- 随机变向与速度更新;
- 边界反弹约束;
- 障碍物间距离检测;
- 碰撞预判→速度反向→位置更新。
3.3 多无人机自主避障控制
- 计算单机期望速度(编队+目标跟踪);
- 构建两类约束:
- 约束1:避开所有动态障碍物;
- 约束2:避开其他无人机,保持安全距离;
- 单机独立QP求解,实现自主避障且不干扰编队。
4 仿真实现与结果分析
4.1 仿真环境
- 无人机数量:5 架
- 动态障碍物数量:6 个
- 运动范围:x∈[−4,9], y∈[−4,9]x∈[-4,9],\ y∈[-4,9]x∈[−4,9], y∈[−4,9]
- 总仿真时间:25 s
- 控制周期:0.05 s
bash
clc; clear all; close all; warning off;
% 1. 无人机配置
UAV_NUM = 6; % 无人机数量
car_position = [-2, -3, -2, -1, -3,-1;
-2, -2, -3, -2.5, -0.5,0;
0, 0, 0, 0, 0,0];
% 2. 障碍物初始配置(独立随机移动)
OBSTACLE_NUM = 6; % 障碍物数量
obstacle_position = [0, 2, 2, 4, 1, 3;
-1, 2, 4, 4, -2, 2.5];
% 3. 独立动态障碍物核心参数(每个障碍物随机不同)
obstacle_v_max = 0.78; % 最大速度
obstacle_dir_change_T = 10; % 每隔N步随机变向
bound_x = [-4, 9]; % X边界
bound_y = [-4, 9]; % Y边界
% 4. 固定仿真参数
goal_position = [7; 7]; % 目标点
car_radius = 0.1; % 无人机半径
center_radius = 0.05; % 中心点半径
obstacle_radius = 0.3; % 障碍物半径
safe_margin = 0.5; % 安全裕度
Time = 25; % 总时间
T = 0.05; % 步长
alpha = 0.9; % 避障强度
speed_limit = 1; % 无人机速度限幅
goal_threshold = 0.2;
obstacle_safe_dist = 2*(obstacle_radius + safe_margin); % 障碍物间安全距离
uav_safe_dist = 0.6; % 无人机之间安全距离(互不干扰)
4.2 实现流程
- 参数初始化:无人机/障碍物初始位置、安全半径、避障系数等;
- 图形初始化:绘制无人机、障碍物、轨迹、目标点(不同符号标记);
- 主循环:
- 更新动态障碍物位置(无碰撞);
- 编队控制与CBF避障;
- 单机独立避障(无人机间防碰撞);
- 位置更新与可视化刷新;
- 数据存储与曲线输出。
4.3 结果分析
- 编队保持:无人机在避障过程中稳定保持队形;
- 动态障碍物:障碍物独立移动、边界反弹、互不碰撞;
- 自主避障:每架无人机可自主规避障碍物与同伴,不干扰其他无人机;
- 可视化:各无人机终点以不同符号显示,轨迹清晰可辨。



5 结论
本文实现了一种基于CBF‑QP的多无人机编队动态避障控制方法,在保留原始领航‑跟随编队框架基础上,实现动态障碍物无碰撞运动、多机自主避障、无人机间互不干扰等功能。系统控制结构清晰、实时性强、安全性严格,可直接用于多无人机动态环境协同控制仿真验证与算法测试。