一种基于斥力势场的多机器人调度方法与流程

文档序号:11827384阅读:426来源:国知局

本发明涉及一种多机器人调度方法,具体涉及一种通过人为添加机器人之间的排斥力来调度多个机器人,避免机器人互相干扰碰撞的调度方法。



背景技术:

具有定位导航的室内机器人具有越来越多的应用。但是仅将两台完全相同的机器人放在同一个环境工作会发生相互干扰,这就需要一套调度系统根据各个机器人的状态合理分配任务与资源,避免机器人之间互相干扰。目前常见的做法是划分各个机器人的工作区域以实现互不干扰,但这就限制了机器人的工作范围。本发明公开了一种方法,使得室内移动的多台机器人在预设的路径上行走时合理避让其他机器人,互相不发生干扰碰撞。



技术实现要素:

本申请解决了多个机器人在同一工作环境工作时会互相干扰碰撞的问题。

为解决上述技术问题,本申请采用以下技术方案,具体内容如下:一种基于斥力势场的多机器人调度方法,包括以下步骤:

a. 机器人使用室内基站得到绝对坐标,将绝对坐标发送到调度系统。

b.调度系统计算两两机器人之间的距离。

c.根据距离计算出两两机器人之间的斥力,距离越近斥力越强,反之越弱。采用公式force=-0.3*log((distance-0.8)/2),其中distance表示两两机器人之间的距离,log为以10为底的对数。

d.将每一对斥力发送给相关的两台机器人。

e.机器人收到一组斥力,分别是与其他每一台机器人的斥力,取方向为两两机器人相互排斥的方向得到斥力向量,计算出斥力向量的合力得到总斥力向量。

f. 机器人根据路径规划出的路线,取沿路径行走的向量作为原始驱动力向量。

g. 将原始驱动力向量和斥力的合力向量求和得到最终驱动力向量。

h. 将此最终驱动力向量作为机器人的运动控制输入。

i. 机器人两行动轮采用PID控制器控制,接收上一步的最终驱动力向量作为输入,计算出电机应有的输入电压。

j. 将控制电压发送给电机驱动芯片,实现机器人的运动。

进一步地,步骤a中,每台机器人使用室内基站,结合GPS定位方法,定位出机器人的当前坐标,当前坐标即为绝对坐标。

进一步地,步骤c中,斥力的大小根据公式force = -0.3*log((distance-0.8)/2)计算,其中distance表示两两机器人之间的距离。

进一步地,步骤f中,路径规划方法为:每台机器人的行走路径在图上使用单源最短路径方法,得出自身的行走路径最优解。

进一步地,地图采用关键点与关键点之间的连线表示。关键点与关键点的连线以“图”为数据结构。

该方法能保证机器人在运行过程中互相不碰撞,并具有如下特点:

1. 在经过十字路口时先到的略微减速通过,后到的停下来让行之后再通过;

2. 在同一条道路上,前方的机器人遇到障碍停下来后,后方的会平缓减速停下;

3. 在交汇的三叉路口,略微靠前对会略微加速汇入,略微靠后对会略微减速汇入;

4. 在平行且相互靠近对两条道路上对两台机器人会合理调节前后间距。

附图说明

图1.斥力与机器人距离之间的关系图。

具体实施方式

如图一所示为斥力与机器人距离之间的关系图,斥力force = -0.3*log((distance-0.8)/2)。其中distance表示两两机器人之间的距离,log为以10为底的对数,force表示斥力。从图中可以直观看出,斥力在机器人距离0.5米时趋近于无强大,可使机器人之间的距离不小于0.5米。在基于趋近于无穷远时斥力趋近于无穷小,即较远的机器人互不影响。较近的机器人会尽量避免相撞。

1. 绝对坐标

每台机器人使用室内基站,结合GPS定位方法,定位出机器人的当前坐标,当前坐标即为绝对坐标。

2. 地图表示

地图采用关键点(如拐角,桌子,门)与关键点之间的连线表示。关键点与关键点的连线以“图”为数据结构。

3. 路径规划

每台机器人的行走路径在图上使用单源最短路径方法,得出自身的行走路径最优解。

4. 调度方法

a. 机器人使用室内基站得到绝对坐标,将绝对坐标发送到调度系统。

b. 调度系统计算两两机器人之间的距离。

c. 根据距离计算出两两之间的斥力,距离越近斥力越强,反之越弱。采用公式force = -0.3*log((distance-0.8)/2),其中distance表示两两机器人之间的距离,log为以10为底的对数,force表示斥力。

d. 将每一对斥力发送给相关的两台机器人。

e. 机器人收到一组斥力,分别是与其他每一台机器人的斥力,取方向为两两机器人相互排斥的方向得到斥力向量,计算出斥力向量的合力得到总斥力向量。

f.机器人根据路径规划出的路线,取沿路径行走的向量作为原始驱动力向量。

g.将驱动力向量和斥力的合力向量求和得到最终驱动力向量。

h.将此最终驱动力向量作为机器人的运动控制输入。

i. 机器人两行动轮采用PID控制器控制,接收上一步的运动向量作为输入,计算出电机应有的输入电压。

j.将控制电压发送给电机驱动芯片,实现机器人的运动。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1