单个机器人通过路径规划、运动控制,能够躲避环境中的障碍物,但会面临一个严峻的问题。当一个场景中存在多辆移动机器人时,即使每个机器人都有避障策略,也很容易就会造成道路拥堵、阻塞的情况,而且会随着机器人数量的增加变得更严峻。
就像如果道路没有交通指挥系统,人们就会将有些道路挤得水泻不通,形成死锁的局面。为解决此问题,一种基于冲突的多机器人路径搜索方法(Conflict-Base search)应运而生。
CBS基本操作过程
CBS由2个搜索过程组成,底层次的搜索过程负责为每个机器人搜索出一条有效路径,高层次的负责检查路径冲突,并选择出其中代价值最小的分支重新进行底层次的路径搜索,直到高层次的搜索过程发现有效路径为止。
高层次的搜索过程
高层次的搜索过程主要有两个作用:
1.检查路径之间的冲突,并生成新的分支;
2.选出代价值最小的分支进行低层次的搜索;
路径之间的冲突分为同一时刻占据同一个节点和同一时刻调换位置两种类型的冲突,如图(1)所示
当两条路径在n时刻检测到存在冲突的情况时,需要生成两个分支:第一个机器人在n时刻不能进入该节点和第二个机器人在n时刻不能进入该节点。
在上述两个过程完成后,选择其中代价值最小的节点进行低层次的路径搜索过程。
低层次的搜索过程
低层次的搜索过程与普通的路径规划方法类似,如Dirkstra、A*等。但其不同之处在于:
1.搜索过程中需要考虑额外的约束,即高层次搜索中添加的冲突;
2.在搜索过程中需要考虑原地等待的情况;
由于在搜索过程中需要考虑到等待的情况,因此将时间也做为一个维度加入到路径搜索过程中,通常每次扩展搜索区域时,时间增加一个单位长度。
通过高低两个搜索过程不断地运行,当问题的复杂程度不高时,能够及时得到比较好的结果。
全部0条评论
快来发表一下你的评论吧 !