基于RRT*与自重构的UAV编队避障方法研究。 基于leader-follower、行为法和人工势场法APf的分布式控制策略 参考2024IEEE会议论文自己做的改进,有原文参考。 1.RRT*生成全局路径,提取关键点作为局部路径点引导。 2.UAV/机器人先从各自起点形成V型编队,随后保持编队航行,遇见障碍物收缩避障,狭窄区域自重构为一字队形穿过,随后通过区域后变为原来队形并到达目标。 整个过程动态调整编队队形 3.leader:目标导航+避障+避碰+自重构 4.follower: 编队+避障+避碰+自重构

在无人机(UAV)应用日益广泛的当下,如何实现高效、安全的编队飞行并巧妙避开障碍物成为研究热点。今天咱就聊聊基于RRT*与自重构的UAV编队避障方法。

底层策略:分布式控制策略

这里采用了基于leader - follower、行为法和人工势场法(APf)的分布式控制策略,它可是这套避障方法的基石。这种策略并非凭空而来,而是参考2024 IEEE会议论文并加以改进的成果。

RRT*:绘制全局路径蓝图

  1. 生成全局路径:RRT在整个过程中负责生成全局路径。简单来说,RRT(快速扩展随机搜索树星型算法)是一种在高维空间中进行路径搜索的有效算法。它通过不断随机采样空间中的点,并将其添加到搜索树中,逐步构建出一条从起点到目标点的路径。代码示例(以Python简单伪代码示意):
import random

# 定义搜索空间
search_space = [(0, 0), (10, 10)]  
# 起点和目标点
start = (1, 1)
goal = (9, 9)
tree = [start]

def sample():
    return (random.uniform(search_space[0][0], search_space[1][0]),
            random.uniform(search_space[0][1], search_space[1][1]))

while True:
    s = sample()
    # 找到树中距离采样点最近的节点
    nearest = min(tree, key=lambda x: ((x[0] - s[0])**2 + (x[1] - s[1])**2)**0.5)  
    new_node = (nearest[0] + (s[0] - nearest[0]) * 0.1, nearest[1] + (s[1] - nearest[1]) * 0.1)  
    if ((new_node[0] - goal[0])**2 + (new_node[1] - goal[1])**2)**0.5 < 0.5:
        tree.append(goal)
        break
    tree.append(new_node)

在这段代码里,我们先设定了搜索空间、起点和目标点,然后通过不断采样点,在树中寻找最近节点并生成新节点,直到目标点加入树中,完成全局路径搜索的模拟。

  1. 提取关键点:生成全局路径后,提取关键点作为局部路径点引导。这些关键点就像是路途中的重要地标,为UAV后续的局部路径规划提供指引。

UAV编队的“变形记”

  1. 编队初始形成:UAV/机器人先从各自起点形成V型编队。这就好比士兵们集合时要先站好特定的队形。
  2. 航行与避障:随后保持编队航行,一旦遇见障碍物,编队会收缩避障。想象一下,就像一群大雁遇到了山峰,它们会紧凑起来绕过去。在狭窄区域,编队会自重构为一字队形穿过,通过区域后又变回原来的V型队形并到达目标。整个过程中,编队队形根据环境动态调整。

Leader与Follower的分工协作

  1. Leader的多面手职责
    - 目标导航:leader要像队伍中的指挥官,明确知道目标在哪里,带领整个编队朝目标前进。
    - 避障:当遇到障碍物时,leader要及时规划绕开障碍物的路径。
    - 避碰:避免与其他物体或UAV发生碰撞,保障编队安全。
    - 自重构:在需要改变编队队形时,leader要发起并协调整个编队的重构。
  2. Follower的紧密跟随与应变
    - 编队:紧紧跟随leader的步伐,保持编队的相对位置关系。
    - 避障:和leader一样,也要具备自主避障能力,确保在编队过程中不撞上障碍物。
    - 避碰:防止与相邻的UAV或其他物体碰撞。
    - 自重构:响应leader的指令,及时完成编队的自重构动作。

这种基于RRT*与自重构的UAV编队避障方法,通过合理的策略和分工,为UAV在复杂环境中的编队飞行提供了一种有效的解决方案,在未来的诸如物流运输、航空测绘等领域有望发挥重要作用。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐