赞
踩
本博客从一些常见的全局路径规划算法和局部路径规划算法出发,介绍了它们的工作原理和优缺点。
以全局地图,起始点和终点为输入,全局轨迹为输出,规划出一条无碰撞、路径最短且较为平滑的路径。
Dijkstra算法是一种用于图中最短路径搜索的经典算法,由荷兰计算机科学家Edsger W. Dijkstra于1956年提出。它被广泛应用于网络路由、地图导航、运输规划等领域。Dijkstra算法通过找到从一个起始节点到所有其他节点的最短路径来解决问题。
原理
优点
缺点
A算法(A-star算法)是一种启发式搜索算法,用于在图或图类问题中找到从起点到目标点的最短路径。这个算法结合了Dijkstra算法的最短路径性质和启发式搜索的优势,被广泛应用于路径规划、游戏AI、机器人导航和地图路线规划等领域。
原理
优点
缺点
启发式函数选择: A*算法的性能高度依赖于所选择的启发式函数。选择不合适的启发式函数可能导致算法不准确或不高效。
存储需求: A*算法需要存储和管理待探索节点列表,对于大规模问题可能需要较多的内存。
RRT(Randomized Rapidly-Exploring Tree)是一种用于路径规划的随机采样算法,最初由Steven M. LaValle于1998年提出。RRT旨在解决机器人或其他自主体的运动规划问题,使它们能够在未知或复杂的环境中找到有效路径。
原理
优点
缺点
PRM(Probabilistic Roadmap)是一种用于路径规划的概率算法,特别适用于高维度和复杂的环境。PRM算法通过在地图上随机生成一组采样点,然后连接这些点来构建一个图,从而生成路径。PRM算法在机器人导航、运动规划和自主机器人领域得到广泛应用。以下是PRM算法的基本工作原理:
原理
优点
缺点
以局部地图,周围环境信息作为输入,局部轨迹为输出,规划出一条无碰撞满足运动学或动力学约束的轨迹,常用于避免碰撞、满足舒适性等要求和实时根据周围环境进行路径的调整。
DWA(Dynamic Window Approach)算法是一种用于移动机器人路径规划和避障的实时控制方法。它通常用于机器人在动态环境中避免碰撞和实时规划路径。DWA算法是一种模型预测控制方法,它通过在机器人的状态空间中生成一系列可能的运动轨迹,然后评估每个轨迹的性能来选择最佳行动。
原理
优点
缺点
TEB(Time-Elastic Band)算法是一种用于机器人运动规划和轨迹优化的方法,特别适用于移动机器人在动态环境中的路径规划。TEB算法旨在解决机器人在复杂和动态环境中的路径规划问题,以确保机器人能够安全、高效地移动。
原理
初始化:
确定机器人的初始状态,包括位置和速度。
设置时间分辨率(时间步长)和速度分辨率(速度步长)等参数。
建立一个时间-空间轨迹,包含初始状态。
目标设定:
确定机器人的目标位置。
路径生成:
在时间-空间轨迹中,逐个时间步骤生成可能的位置-速度对(位姿和速度)。
考虑机器人的动力学模型,以确保生成的轨迹在物理上合理。
考虑速度分辨率,生成多个不同速度的轨迹分支。
避障检测:
对于每个生成的轨迹,检查轨迹上的每个时间步骤是否与障碍物相交。
如果某个时间步骤与障碍物相交,将该轨迹标记为不合法。
性能评估:
对于合法的轨迹,评估它们的性能。
性能评估通常包括目标导向性(轨迹是否接近目标位置)、避障性(轨迹是否避开障碍物)以及平滑性等。
轨迹选择:
根据性能评估选择最佳的轨迹或轨迹分支作为机器人的下一步行动。
最佳轨迹通常是在目标导向性和避障性之间取得平衡的轨迹。
控制机器人:
执行选择的轨迹上的运动命令,将机器人移动到下一个状态。
实时更新:
在机器人移动过程中,不断更新轨迹和重新规划,以适应环境的动态变化。
达到目标:
当机器人接近目标位置并满足终止条件时,算法结束。
优点
缺点
Lattice Planner是一种基于采样的路径规划算法,适用于高维度状态空间和具有复杂运动约束的机器人。它将机器人的状态空间建模为一个高维度格点图,通过采样生成候选轨迹、利用各项指标评估来寻找最佳路径。
原理
优点
缺点
EM Planner是一种采用期望最大化(Expectation-Maximization, EM)方法的路径规划算法,用于解决机器人在未知环境中的路径规划问题。它通过估计未知环境的概率分布来规划路径。
环境建模: 使用传感器数据构建环境的概率地图,其中包括障碍物的位置和不确定性。
EM算法: 使用EM算法来估计未知环境的概率分布,包括障碍物的分布和不确定性。
路径规划: 基于估计的环境概率分布,使用路径规划算法来规划路径。
轨迹执行: 执行规划的路径,同时不断更新环境模型和路径以适应新的传感器数据。
优点
缺点
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。