该方法通过 B 样条曲线参数化路径,利用 灰狼优化器(Grey Wolf Optimizer, GWO) 优化控制点位置,在满足飞行安全(避障、高度限制等)和性能指标(路径长度、平滑性、能耗)的前提下,生成一条光滑、可行、高效的三维航迹。
🎯 项目目标
在三维空间中给定起点 ( \mathbf{S} ) 和终点 ( \mathbf{G} )
存在若干静态障碍物(以球体或立方体建模)
使用 B 样条曲线 表示路径(由控制点决定)
利用 GWO 算法 优化中间控制点坐标
优化目标:最小化路径长度 + 惩罚项(碰撞、曲率过大等)
🧰 所需工具箱
MATLAB R2020a 或更高
无需额外工具箱(纯 MATLAB 实现)
✅ 步骤详解
Step 1:定义环境与障碍物
matlab
% 环境边界
x_min = 0; x_max = 100;
y_min = 0; y_max = 100;
z_min = 0; z_max = 50;
% 起点与终点
start = [10, 10, 10];
goal = [90, 90, 30];
% 障碍物(球体:[x, y, z, radius])
obstacles = [
40, 40, 20, 10;
60, 60, 15, 8;
30, 70, 25, 12;
70, 30, 10, 9
];
Step 2:B 样条曲线生成函数
使用三次(k=4)均匀 B 样条:
matlab
function path = eva