👨🎓个人主页
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
基于A*算法的飞行轨迹三维规划研究
随着自动化技术的发展,现代航空技术水平有了前所未有的提高,促进了无人机在军事、民用领域的广泛应用。航迹规划技术作为无人机任务规划的关键技术,一直都是无人机领域的一大研究热点。无人机航迹规划是指在满足其运动约束条件的同时,寻找无人机从起始点到目标点符合某种性能指标的最优或次优的可飞轨迹。在现实应用中,由于无人机飞行环境复杂,约束条件多,航迹规划的质量不仅取决算法的优劣还与解决问题的策略相关,因此如何建立准确的环境模型和如何选取高效的规划算法成为解决航迹规划问题的要素。
本文是在Astar算法的基础上,对无人机三维航迹规划问题展开研究,主要研究内容如下:
首先,对无人机航迹规划相关问题进行数学建模,包括无人机模型、机动性能约束和等效数字地图。重点介绍飞行空间三维数学模型的建立,将飞行区域中基准地形、山峰及威胁综合,建立包含飞行区域综合信息的三维数学模型。为后面研究无人机离线、在线航迹规划问题做了铺垫。
其次,研究基于遗传算法的无人机三维离线航迹规划。Astar算法解决航迹规划问题需要进行复杂的编码,故需要改进进化操作算子。本文根据航迹段特点改进变异操作算子,从而生成更适合无人机飞行的航迹。此外针对Astar算法早熟问题改进适应度函数,构造一种随进化代数动态调整的非线性适应度函数,该方法解决了算法早熟问题并且提高了算法收敛速度。
最后,研究基于Astar算法的在线航迹规划。由于在突发威胁情况下需要采取应急的二次重规划,为提高应对突发威胁的应急能力,在线航迹规划阶段应选用实时性较好的规划算法。
一、A*算法基本原理与三维扩展
A*算法是一种结合Dijkstra算法完备性和最佳优先搜索(BFS)效率的启发式搜索算法,其核心公式为:
f(n)=g(n)+h(n)
其中,g(n)表示从起点到当前节点的实际代价,h(n)为启发式函数,用于估计当前节点到终点的代价。在三维路径规划中,算法通过扩展三维空间中的邻域节点(如26邻域或动态扩展策略)逐步逼近目标节点。
三维扩展特性:
- 节点扩展维度:传统二维栅格扩展至三维空间,需考虑高度方向的移动约束(如爬升角、转向角)。
- 动态启发式权重:引入动态调整的启发函数权重,平衡搜索速度与路径最优性。
- 代价函数复合设计:结合路径长度、能量消耗(如飞行阻力、坡度影响)等多目标优化。
二、三维路径规划实现流程
-
环境建模:
- 体素栅格法:将三维空间离散化为栅格单元,标记障碍物(如禁飞区、山体)和可通行区域。
- 分层切片法:沿Z轴分层处理三维空间,每层采用二维栅格建模,降低计算复杂度。
- 威胁模型构建:对雷达、天气区等动态威胁建立三维柱状或球状模型。
-
路径搜索与优化:
- 节点扩展策略:采用26邻域或自适应邻域扩展(如根据无人机机动性限制调整邻域范围)。
- 碰撞检测:基于射线法或几何相交检测,确保路径避开障碍物。
- 路径平滑处理:
- B样条曲线:使用三次准均匀B样条消除路径转折点。
- Floyd双向平滑:优化路径长度并减少冗余节点。
- 算法实现示例(MATLAB):
- 主函数包括环境初始化、节点扩展、开放列表优先级队列管理及路径回溯。
- 关键代码模块:
Astar.m
(路径搜索)、getChildNode.m
(邻域节点生成)、defColorMap.m
(三维地图渲染)。
三、关键技术挑战与优化策略
-
计算效率提升:
- 启发式函数优化:采用欧几里得距离与高度加权函数,减少无效搜索。
- 分层搜索:先粗粒度规划全局路径,再局部精细化。
- 数据结构改进:使用“值表”替代开放/封闭列表,结合堆排序加速节点检索。
-
动态环境适应:
- 实时重规划:结合D* Lite算法处理动态障碍物。
- 威胁预测:集成机器学习模型预测天气变化或移动威胁。
-
物理约束融合:
- 运动学模型嵌入:限制最大爬升角(≤25°)、转向角(≤30°)等参数。
- 能量代价函数:引入飞行高度与风速影响的能量损耗因子。
四、应用案例与验证
-
无人机山区避障:
- 实验环境:100×100×100栅格,含随机山体与禁飞区。
- 结果:改进A*算法路径长度较传统方法缩短12%,计算时间减少35%。
-
直升机应急救援:
- 任务场景:灭火与医疗救援,考虑火势扩散和伤员运输时间约束。
- 算法表现:动态调整启发函数权重,优先避开高温区域,路径安全性提升40%。
-
城市物流无人机:
- 动态障碍:模拟建筑物间随机移动的无人机群。
- 性能:融合A*与APF(人工势场)算法,冲突避免成功率98%。
五、研究局限性及未来方向
-
现存问题:
- 高维计算瓶颈:三维栅格粒度细化导致计算量指数增长。
- 动态环境适应性不足:多数研究假设障碍物静态,实时性需进一步提升。
-
未来优化方向:
- 混合算法设计:A*与RRT(快速随机树)结合,平衡全局最优与实时性。
- AI增强搜索:利用强化学习优化启发函数,自主适应复杂环境。
- 多机协同规划:基于分布式A*实现无人机群冲突消解与任务分配。
六、结论
A*算法在三维飞行轨迹规划中展现出高效性与灵活性,通过环境建模优化、代价函数复合设计及路径平滑处理,可有效应对复杂空域挑战。未来结合AI技术与多算法融合,将进一步提升其在动态任务场景中的实用性,为无人机物流、应急救援等领域提供关键技术支撑。
📚2 运行结果
clear
load ('MapData.mat');
WayPoints = [];
WayPointsAll = [];
OPEN_COUNT = 0;
OPEN_COUNT_ALL = 0;
%%%%%%Terrain Data Fill%%%%%%%
Cut_Data = Final_Data(301:400,101:200);
MIN_Final_Data = min(min(Cut_Data));
%%%%%%%ALGORITHM START%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%Compute time%%%%%%%%%%%
tic
timerVal = tic
[WayPoints,OPEN_COUNT] = A_star(MAX_X,MAX_Y,MAX_Z,20,20,7,90,70,5,MAP,CLOSED,Display_Data);
toc(timerVal)
elapsedTime = toc(timerVal)
figure(1)
axis([1 MAX_X 1 MAX_Y 1 MAX_Z]);
plot3(WayPoints(:,1),WayPoints(:,2),WayPoints(:,3),'b','linewidth',2);
hold on
surf(Display_Data(1:100,1:100)','linestyle','none');
plot3(20,20,7,'*');
plot3(90,70,5,'^');
set(gca,'xticklabel','');
set(gca,'yticklabel','');
set(gca,'zticklabel',{'2000','4000','6000','4000','5000','6000','7000','8000','9000','10000'});
xlabel('纬度');
ylabel('经度');
zlabel('高度(m)');
grid on
clear
load ('MapData.mat');
WayPoints = [];
WayPointsAll = [];
OPEN_COUNT = 0;
OPEN_COUNT_ALL = 0;
%%%%%%Terrain Data Fill%%%%%%%
Cut_Data = Final_Data(301:400,101:200);
MIN_Final_Data = min(min(Cut_Data));
%%%%%%%ALGORITHM START%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%Compute time%%%%%%%%%%%
tic
timerVal = tic
[WayPoints,OPEN_COUNT] = A_star(MAX_X,MAX_Y,MAX_Z,20,20,7,90,70,5,MAP,CLOSED,Display_Data);
toc(timerVal)
elapsedTime = toc(timerVal)
figure(1)
axis([1 MAX_X 1 MAX_Y 1 MAX_Z]);
plot3(WayPoints(:,1),WayPoints(:,2),WayPoints(:,3),'b','linewidth',2);
hold on
surf(Display_Data(1:100,1:100)','linestyle','none');
plot3(20,20,7,'*');
plot3(90,70,5,'^');
set(gca,'xticklabel','');
set(gca,'yticklabel','');
set(gca,'zticklabel',{'2000','4000','6000','4000','5000','6000','7000','8000','9000','10000'});
xlabel('纬度');
ylabel('经度');
zlabel('高度(m)');
grid on
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]晁泽睿,南英,王昕,冯开.基于数字地图的三维飞行轨迹规划技术[J].舰船电子工程,2022,42(06):107-111+139.
[2]李喆,王顺森,李勇,吴军,颜晓江,徐耀博.船舶管线智能布置的优化Astar算法[J/OL].西安交通大学学报,2022(12):1-10[2022-10-19].http://kns.cnki.net/kcms/detail/61.1069.t.20220823.1101.002.html