路径规划算法简介

关于路径规划的定义,在不同的地方有着不同的理解,一般常规的理解是到达不同节点的路径选择,也就是说其在某些场景下可以等价为任务规划,寻找得到任务顺序。
运动规划的定义较为广发,涉及到运动体在运动过程中的状态和动作,其可以理解成包括路径规划和轨迹规划,轨迹规划在路径规划的基础上包括了时间和速度等信息。

路径规划概念

在路径规划中,通常会涉及到两个重要的概念:配置空间和工作空间

  • 配置空间(Configuration Space)。配置空间是机器人学中一个非常重要的概念,它是指所有可能的机器人姿态或位置的集合。在配置空间中,每个元素代表机器人的一个可行的状态或位置。配置空间通常是高维的,因为机器人的姿态或位置通常由多个参数决定,例如,关节角度、末端执行器的位置和方向等。
  • 工作空间(Workspace)。工作空间是机器人能够到达的所有可能位置的集合。在机器人学中,通常将机器人视为一个刚体,并将其在三维空间中移动,因此,机器人的工作空间通常是一个三维空间。工作空间的大小和形状取决于机器人的几何形状、关节限制以及环境的约束等。

进行路径规划时,要将工作空间转换到配置空间中,即将机器人转化为一个质点,同时将障碍物按照机器人的体积进行膨胀

路径规划算法主要可分成两种,一种是基于搜索结果的规划,另一类便是基于采样的规划。相关知识的搜集主要来源于古月居——路径规划算法

常见的列表类型

在路径规划算法中,通常会用到多个不同的列表来存储不同的信息,以辅助路径的搜索和规划。以下是一些常见的列表类型及其作用:

  • 开放列表(open list):存储当前已经发现但尚未被探索的节点,通常按照节点到起点的距离(或代价)排序,以便在下一次选择探索节点时能够优先选择距离起点较近的节点。
  • 关闭列表(closed list):存储已经被探索过的节点,以避免重复探索相同的节点。
  • 路径列表(path):存储当前已经探索过的节点构成的路径,用于在搜索过程中回溯和更新最优路径。
  • 障碍物列表(obstacle):存储障碍物的位置和形状信息,以便在路径规划过程中进行障碍物检测和避障。
  • 地图列表(map):存储环境地图信息,包括地图大小、起点和终点位置、障碍物位置和形状等

图搜索算法

两种针对无权图的基本图搜索算法:深度优先搜索(Depth First Search, DFS)广度优先搜索(Breadth First Search, BFS)。它们的区别在于openlist(后面介绍)所选用的数据结构类型不同,前者使用栈,后者使用队列。

启发式搜索算法:贪婪最佳优先算法(Greedy Best First Search, GBFS),用来提高搜索效率,但是不能确保找到最优路径。

经典的算法:Dijkstra算法、A*算法,前者是广度优先算法(BFS)在带权图中的扩展,后者则是在前者中加入启发函数得到的算法,兼顾效率和完备性。

基于采样的算法

基于采样的路径规划算法是一类常用的路径规划算法,它通过在配置空间中随机采样一些点来构建一棵采样树,然后从起点开始,通过一定的策略在采样树上搜索一条到达目标点的路径。

RRT和它的变种算法。这类算法的核心在于随机采样,从父节点开始,随机在地图上生成子节点,连接父子节点并进行碰撞检测,若无碰撞,就扩展该子节点。

Rapidly-exploring Random Tree (RRT)算法,其主要思想是从起点开始,不断向前延伸一棵树,直到找到目标点。具体来说,该算法随机生成一些点,并找到树上最近的节点,然后向该方向延伸一条新的分支,并将其加入到树中。在搜索过程中,该算法会根据搜索的进展情况不断调整采样点的位置,以便更好地搜索到最优路径。RRT算法的优点是能够高效地搜索到配置空间中的大部分区域,但是在搜索过程中可能会出现一些不必要的分支,从而影响搜索效率。

参考文献
图搜索算法


   转载规则


《路径规划算法简介》 CHQ 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录