2022年IEEE TITS SCI2区TOP,基于切线交点和目标引导策略的无人机自主路径规划,深度解析+性能实测

目录


1.摘要

无人机路径规划使无人机能够避开障碍物并高效到达目标,为了生成无障碍碰撞的高质量路径,本文提出了一种基于切线交点和目标引导策略的自主路径规划算法(APPATT)。在目标引导下,采用椭圆切线图方法生成两条子路径,当遇到障碍物时,基于启发式规则选择其中一条子路径。无人机沿选定的子路径飞行,并通过这种方式反复调整飞行路径,以避开障碍物,直到无碰撞路径延伸到目标。考虑到无人机的运动约束,采用三次B样条曲线平滑航点,以获得可行路径。

2.问题描述

在此场景中,假设无人机需从起点 S S S飞往终点 E E E,但高楼阻挡了直接路径,因此需要规划一条无碰撞的路径。为提高计算效率并简化路径搜索,三维环境被简化为二维场景。障碍物被统一建模为椭圆形,以避免不规则多边形带来的计算复杂性和路径不平滑问题。环境中有 N N N个障碍物,每个障碍物的中心坐标为 ( x k , y k ) (x_k, y_k) (xk,yk),半长轴和半短轴分别为 a a a和 b b b,倾斜角度为 θ \theta θ, r s a f e r_{safe} rsafe为无人机与障碍物之间的最小安全距离。

障碍物可以表示为:
( x − x k ) c o s θ + ( y − y k ) s i n θ 2 ( a + r s a f e ) 2 + ( y − y k ) c o s θ − ( x − x k ) s i n θ 2 ( b + r s a f e ) 2 = 1 \begin{aligned} \frac{(x-x_k)cos\\theta+(y-y_k)sin\\theta^2}{(a+r_{safe})^2} +\frac{(y-y_k)cos\\theta-(x-x_k)sin\\theta^2}{(b+r_{safe})^2}=1 \end{aligned} (a+rsafe)2(x−xk)cosθ+(y−yk)sinθ2+(b+rsafe)2(y−yk)cosθ−(x−xk)sinθ2=1

无碰撞路径上的每个路点满足:
( x i − x k ) c o s θ + ( y i − y k ) s i n θ 2 ( a + r s a f e ) 2 + ( y i − y k ) c o s θ − ( x i − x k ) s i n θ 2 ( b + r s a f e ) 2 ≥ 1 \begin{aligned} \frac{(x_{i}-x_{k})cos\\theta+(y_{i}-y_{k})sin\\theta^{2}}{(a+r_{safe})^{2}} +\frac{(y_i-y_k)cos\\theta-(x_i-x_k)sin\\theta^2}{(b+r_{safe})^2}\geq1 \end{aligned} (a+rsafe)2(xi−xk)cosθ+(yi−yk)sinθ2+(b+rsafe)2(yi−yk)cosθ−(xi−xk)sinθ2≥1

3.APPATT算法

APPATT通过在遇到障碍物时基于椭圆切线图生成两条子路径,并根据规则选择其中一条路径,避免构建整个道路图。算法分为两种版本:SETG-TG(已知环境)和DETG-TG(实时收集环境信息)。APPATT通过连接无碰撞的交点生成高质量路径,避免不必要的计算,并能根据障碍物位置动态调整路径。

SETG-TG算法

SETG-TG算法通过生成航点并更新起点和终点,迭代地寻找无碰撞路径。算法步骤包括: 使用椭圆建模障碍物; 初始化起点和终点并设置航点集合;判断从起点到终点的路径是否无碰撞,若有碰撞则生成切线并根据启发式规则选择路径。算法不断调整路径,直到找到一条无碰撞的路径到达终点,适用于已知环境下的路径规划。

DETG-TG算法

DETG-TG算法适用于动态环境和完全未知环境。在动态环境中,算法通过实时感知和重新规划碰撞路径应对突发障碍物;在未知环境中,算法通过传感器逐步感知并更新环境信息,限制飞行距离以频繁调整路径。算法通过迭代步骤,生成无碰撞路径并避开障碍,直至无人机到达终点。

4.结果展示

5.参考文献

1 Liu H, Li X, Fan M, et al. An autonomous path planning method for unmanned aerial vehicle based on a tangent intersection and target guidance strategyJ. IEEE Transactions on Intelligent Transportation Systems, 2020, 23(4): 3061-3073.

6.代码获取

xx

7.算法辅导·应用定制·读者交流

xx

相关推荐
To_OC10 小时前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
To_OC1 天前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
05Kevin2 天前
lk每日冒险题--数据结构6.27
算法
To_OC2 天前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安2 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者2 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
kisshyshy3 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范