详解路径规划算法
2022年1月17日 浏览:1835 收藏:1
来源 | 知乎@搬砖的旺财、阿木实验室
自主机器人近距离操作运动规划体系
在研究自主运动规划问题之前,首先需建立相对较为完整的自主运动规划体系,再由该体系作为指导,对自主运动规划的各项具体问题进行深入研究。本节将根据自主机器人的思维方式、运动形式、任务行为等特点,建立与之相适应的自主运动规划体系。并按照机器人的数量与规模,将自主运动规划分为单个机器人的运动规划与多机器人协同运动规划两类规划体系。
单个自主机器人的规划体系
可视图法
同一障碍物中,相邻顶点可见(通常不考虑凹多边形障碍物中不相邻顶点也有可能可见的情况),不相邻顶点不可见,权值赋为 。
不同障碍物之间顶点可见性的判断则转化为判断顶点连线是否会与其它顶点连线相交的几何问题。如下图虚线所示,、 分别是障碍物 、 的顶点,但 与 连线与障碍物其它顶点连线相交,故 、 之间不可见;而实线所示的 与 连线不与障碍物其它顶点连线相交,故 、 之间可见。
Dijkstra算法
A*算法
算法步骤
改进算法
滚动规划
-
环境信息预测:在滚动的每一步,机器人根据探测到的视野内的信息、或所有已知的环境信息,建立环境模型,包括设置已知区域内的节点类型信息等; -
局部滚动优化:将上述环境信息模型看成一个优化的窗口,在此基础上,根据目标点的位置和特定的优化策略计算出下一步的最优子目标,然后根据子目标和环境信息模型,选择局部规划算法,确定向子目标行进的局部路径,并实施当前策略,即依所规划的局部路径行进若干步,窗口相应向前滚动; -
反馈信息校正:根据局部最优路径,驱动机器人行走一段路径后,机器人会探测到新的未知信息,此时可以根据机器人在行走过程探测到的新信息补充或校正原来的环境模型,用于滚动后下一步的局部规划。
滚动在线RRT算法流程
对滚动窗口随机树T初始化,T开始只包含初始位置S;
滚动窗口自由空间中随机选择一个状态 ;
根据最短路径思想寻找树T中和 距离最近的节点 ;
选择输入 ,使机器人状态由 到 ;
确定 是否符合回归分析,不符合则回到第4步;
将 作为随机树T的一个新节点, 则被记录在连接节点 和 的边上。
基本人工势场法
-
非负且连续可微; -
斥力势强度距离障碍物越近其强度越大; -
引力势强度离目标位置越近其强度越小。
人工势场法算法改进
-
根据传感器信息计算当前位置的引力和斥力; -
判断是否处于绕行行为,若是,执行3;若否,执行4; -
判断是否离开局部极小区域,若是,机器人沿着合力方向运动,结束绕行行为;若否,机器人沿着斥力场等势线运动,继续绕行行为; -
判断是否遇到局部极小点,若是,机器人沿着斥力场等势线运动,开始绕行行为;若否,机器人沿着合力方向运动; -
判断是否到达目标,若是,退出算法;若否,继续1;
BUG1算法
BUG2算法
TangentBUG算法
LPA*算法
D* Lite算法
点赞 1 评论 收藏 1