首页 > 编程知识 正文

rr调度算法是什么,rrt算法原理

时间:2023-05-03 07:30:14 阅读:156782 作者:4595

声明:本文转载内容非原创,出处在文末声明。 绝对无意冒犯。 只是为了临时复习的方便,侵权一定要删除。

感谢原作者写出如此优秀的博文,让我对RRT算法有个大致的理解。

之所以对RRT算法感兴趣,是因为它不仅能在二维平面上使用,还能在高维空间中使用,这一点让我很感动。 最近很忙,下周或者什么时候用代码实际实现一下。

路径规划有什么方法? 流行的有图检索、势场法、RRT等。

快速搜索随机树(RRT )是一种常见的方法,用于访问不管什么机器人类型、不管自由度是多少、不管约束有多复杂都能用。而且它的原理很简单,这是它在机器人领域流行的主要原因之一。不过它的缺点也很明显,它得到的路径一般质量都不是很好,例如可能包含棱角,不够光滑,通常也远离最优路径

RRT可以在很多规划方法中脱颖而出,那到底有什么了不起的呢? 天下武功只是快而不坏,“快”是RRT的一大优点。 RRT的思想是为了搜索(填充)空间的大部分区域,迅速扩展类似树的路径,并找到可行的路径。 选择“树”是因为可以探索空间。 我们知道阳光几乎是树木唯一的能量来源。 为了充分利用阳光,树木用尽可能少的树枝占据尽可能多的空间。 当然,能够探索空间的未必一定是树,例如Peano曲线也可以,其密度是在上图左侧表示的例子中。 即使是Peano曲线这样的单连续曲线也可以探索空间,但那太“确定”了。 搜索轨迹的时候,我们不知道出口应该在哪里。 如果不是“确定”的检索方向,我们怎么找也找不到(找到的概率为0 )。 这个时候,“随机”的好处就会显现出来。 虽然不知道出口在哪里,但可以通过随机重复的探询击中。 而且,击中的概率随着探询次数的增加而增大。 就像买彩票一样,买的数量越多中奖的概率就越高。 (RRT的名字有“随机”的意思。 但是,随机探索也很重视战略。 如果我们从树上随机取一个点,朝着随机的方向成长,会怎么样呢? 请看上面照片的右边。 虽然是同一棵随机树,但你会发现这棵树不能很好地探索空间,在起点(红点)附近转。 这个不好。 树希望尽可能经济均匀地探索空间,不要过度探索一个地方,也不要错过大部分地方。 这样的树怎么做?

RRT的基本步骤是1 .以起点为种子,从那里生长树枝2 .在机器人的“放置”空间中,生成随机点a3.在树上找到离AA最近的点,用B表示; 4.B向a方向生长,如果不碰到障碍物,在树上添加生长的树枝和端点,返回2的随机点一般分布均匀,所以在没有障碍物的情况下树可以大致均匀地向各个方向生长,快速搜索空间。 当然,如果事先掌握了最有可能发现路线的地区的信息,就可以集中兵力重点探索这个地区,但在这种情况下不应该使用均匀分布。

RRT的弱点之一是在有狭窄通道的环境中很难找到路径。 因为狭窄的通道面积很小,所以被撞到的概率很低,找到路径所需的时间取决于运气。 下图中的示例显示,RRT对应于为人建造的短而窄的通道。 RRT可能很快找到了出口,也可能仍然被困在障碍物中。

RRT探索空间的能力很优秀。 例如,在下图左边所示的例子中,障碍物很多,很杂乱。 (由于Mathematica本身具有强大的函数库,实现此示例所需的所有代码应该不超过30行。 RRT有不适合居住的环境吗? 下图右边所示的迷宫挑战了RRT。 此时,空间被分割得非常严重,RRT看起来有点无力,可以看出随机策略随时都不是有效的。

“随机”使RRT具有较强的搜索能力。 但是,成也萧何败也萧何,“随机”也会导致RRT

盲目,像个无头苍蝇一样到处乱撞。如果机器人对环境一无所知,那么采用随机的策略可以接受。可实际情况是,机器人对于它的工作环境多多少少是知道一些的(即使不是完全知道)。我的博客一直强调信息对于机器人的重要性。这些已知的信息就可以用来改进算法。一个改进的办法就是给它一双“慧眼”:在势场法中,势函数携带了障碍物和目标的信息,如果能把这个信息告诉 RRT,让它在探索空间时有倾向地沿着势场的方向前进会更好。这样,RRT 出色的探索能力刚好可以弥补势场法容易陷入局部极小值的缺点。


  将RRT方法用在机械臂上的效果如下图所示(绿色表示目标状态)。我设置了4个障碍物(其中一个是大地),这对机械臂是个小小的挑战。由于我们生活在三维空间,没办法看到六维关节空间,所以我把六维关节空间拆成了两个三维空间,分别对应前三个关节和后三个关节(严格来说,六维转动关节空间不是一个欧式空间,它是个流形,不过这里我们不必纠结这个差别): 




转载来源:

基于Mathematica的机器人仿真环境(机械臂篇) - CSDN博客
https://blog.csdn.net/robinvista/article/details/70231205


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。