13_Course Summary_宾夕法尼亚大学机器人运动规划专项课程【学习笔记】
课程回顾
最开始讨论了在网格上移动的机器人的路径规划问题,引入了图的概念,图中节点对应机器人可以到达的离散位置,边缘对应位点间的路径。
对于这些基于网格的问题,我们讨论了广度优先搜索【Breadth First Searth】或烧草算法【Grassfire Algorithm】,该算法从起点向外探索来找到最短路径
【放动图】
还讨论了Dijkatra算法,这是用加权图进行最短路径规划的通用算法
最后,还介绍了A* 算法,当你有更多的指引信息时,这个算法能加快对最短路径的搜索
这些基于图形的算法非常重要,因为它们为各种路径规划做了基础。
接下来讨论了位形空间的概念,它为探究各种机器人系统提供了统一的框架,机器人的位形空间对应这机器人可以到达所有位置的集合,位形空间的维数和拓扑值取决于系统的布局和结构。有了给出的抽象图,我们接着讨论位形空间障碍,这些障碍代表机器人由于工作空间中的阻碍而无法到达的位置
位形空间的概念让我们能够根据点的运动来考虑机器人的运动,如图所示机器人在躲避障碍的同时也在形空间中移动
在位形空间的章节,我们简单讨论了用于确定给出的位置是否会与工作空间障碍物发生碰撞的检查函数,从而提供位形空间障碍物和(与其)互补的*空间的隐藏信息。
我们讨论了一些在连续位形空间的路径规划算法,可视图方法
梯形分解法
以及基于网格的方法,即在位形空间中建立离散均匀的间隔点
每一个方法都代表我们会用不同的方式来捕获离散图内连续位形空间的结构,这样就能使用基于图表的路径规划算法(例如Dijkstra算法)来解决问题。
另一类重要方法是基于随机抽样的想法,在这种思路中,我们从位形空间中随机选择样本点,然后构建路径图,并通过不交错的边来连接,介绍了两种利用随机样本的方法。
即随机路图法,该算法寻求建立*空间的路线图或框架
以及快速搜索树方法,该算法以起点和终点为种子构建不断往外生长的树,以探索*空间并建立之间的路径
两种算法在实践中的应用效果很好,即使在多维位形空间中也是。虽然当它们失败时,很难确定这是因为没有路径还是缺少足够的随机样本点。
最后还学习了人工势场法,该方法让机器人远离障碍物并把它吸引到目标点
有了这些方法,我们最后通过计算此人工势场的梯度来导机器人穿越位形空间,势场法的共同优点是它们运用起来相对简单,并且仅使用传感器信息就能直接执行。
考虑到篇幅,规划中还有很多有趣的主题尚且没有讨论。
目前,我们默认机器人可以随时在任何方向和空间*移动,但事实并非如此。比如车型机器人,它无法立即侧向平移或者以车头向前的形式朝固定角度行驶,具有这类约束的系统称为非完整系统,必须用特殊的规划方法来处理。
在相关方面,我们经常要处理具有动态约束的系统,例如,对于四旋翼系统,我们无法直接控制四旋翼的速度,但可以控制每个旋翼提供的推力,这些情况限制了飞行器的移动方式,所以需要适当变换考虑;
同时对多个机器人进行规划会带来一系列新的问题。如我们所见,规划问题的复杂度会随着系统*度的增加而呈指数式增长。随着多机器人加入,会出现多种交互情形,而这可能会造成很大的协调困难,希望多个机器人相互协作,这非常有趣,而这些交互实际上成为规划问题的关键部分;
这就引入了新问题,当机器人应对移动障碍物时会发生什么,在路径规划中,额外的时间维度会引发许多有趣的问题。
在本模块中,我们假设机器人完全了解其位置,并且还确切知道所有障碍物的位置,而现实并非总是如此,而且,我们可能需要其他规划方法来解决这些维度中的不确定性