
基于 MATLAB 开发的多无人机(UAV)协同编队巡逻仿真系统。它采用了经典的长机-僚机(Leader-Follower)控制架构,深度融合了六自由度(6-DOF)非线性动力学模型与双闭环串级 PID 控制算法。通过集中式路径规划与分布式误差反馈机制,系统实现了多机在复杂巡逻航点下的菱形编队精准保持。 MATLAB打开后即可直接运行,包运行成功。 原创代码,仅供学习和研究,请勿翻卖
程序内置了非线性六自由度(6-DOF)无人机动力学模型。通过旋转矩阵 RR 将机体坐标系下的推力转换至惯性坐标系,并考虑了空气动力阻尼(线性阻尼与旋转阻尼),确保了仿真环境的逼真度。
每一架无人机均独立运行一套级联控制算法:
本程序模拟了 1架长机(Leader)+ 3架僚机(Follower) 的协同巡逻任务。系统运行后将生成三张关键的分析图表:




部分代码如下:
代码块
matlab
自动换行
复制代码
12345678910111213141516171819202122232425262728293031323334353637
% 多无人机协同巡逻仿真 - 长机/僚机队形保持% 控制架构:集中式调度 + 分布式执行% · 地面站(集中调度):规划长机航点,广播队形偏移量% · 长机(Leader) :跟踪全局航点,串级PID控制% · 僚机(Follower) :跟踪"长机位置 + 队形偏移",
% 作者:matlabfilter(V同号,除前期达成一致外,付费咨询)% 2026-03-26/Ver1
clc; clear; close all;
rng(0);
%% 全局仿真参数
dt = 0.01; % 仿真步长 s
T = 350; % 总仿真时长 s
N = round(T / dt);
%% 无人机物理参数(主机、僚机相同)
p.g = 9.81;
p.mass = 0.25;
p.Ixx = 0.012;
p.Iyy = 0.012;
p.Izz = 0.020;
p.kd_lin = 0.10;
p.kd_ang = 0.05;
%% 长机航点(全局巡逻路径)
leader_wps = [
0, 0, 0; % WP1: 地面起始
0, 0, 3; % WP2: 起飞至3m
10, 0, 3; % WP3: 向前
10, 10, 3; % WP4: 右转
0, 10, 3; % WP5: 左转
0, 0, 3; % WP6: 返回
0, 0, 0; % WP7: 降落];
switch_dist = 0.5; % 航点切换阈值 [m]
%% 队形偏移量定义(机体坐标系偏移,相对长机)% 菱形编队:长机居中,3架僚机分别在后左、后右、正后% 偏移量 [dx, dy, dz](m),dz可设不同高度分层避碰
n_followers = 3;
formation_offset = [
-3, 2, 0; % 僚机1:左后
-3, -2, 0; % 僚机2:右后
-6, 0, 0; % 僚机3:正后(双层备份机)];
复制成功
完整代码:
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删