CN111736524A - 一种基于时间和空间的多机器人调度方法、装置和设备 - Google Patents

一种基于时间和空间的多机器人调度方法、装置和设备 Download PDF

Info

Publication number
CN111736524A
CN111736524A CN202010694620.5A CN202010694620A CN111736524A CN 111736524 A CN111736524 A CN 111736524A CN 202010694620 A CN202010694620 A CN 202010694620A CN 111736524 A CN111736524 A CN 111736524A
Authority
CN
China
Prior art keywords
node
time
robot
space
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010694620.5A
Other languages
English (en)
Inventor
谢传泉
浦剑涛
张东泉
佟永政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Bucos Robot Co ltd
Shenzhen Boocax Technology Co ltd
Beijing Boocax Technology Co ltd
Original Assignee
Shandong Bucos Robot Co ltd
Shenzhen Boocax Technology Co ltd
Beijing Boocax Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Bucos Robot Co ltd, Shenzhen Boocax Technology Co ltd, Beijing Boocax Technology Co ltd filed Critical Shandong Bucos Robot Co ltd
Priority to CN202010694620.5A priority Critical patent/CN111736524A/zh
Publication of CN111736524A publication Critical patent/CN111736524A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35349Display part, programmed locus and tool path, traject, dynamic locus

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明的实施例提供了一种基于时间和空间的多机器人调度方法、装置和设备。所述方法包括从数据库中读取已有机器人的路径信息,得到机器人的空间地图;对所述空间地图在时间维度上进行升维,得到机器人的时空地图;采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径;待加入机器人根据速度‑时间曲线规划执行速度,按照所述时空地图中的时空路径进行执行。以此方式,使待加入机器人能够在时空维度上进行路径规划,避开原有地图中的机器人路径,与原有机器人不发生冲突,也不需要原有机器人调整原有路径。

Description

一种基于时间和空间的多机器人调度方法、装置和设备
技术领域
本发明的实施例一般涉及机器人路径规划领域,并且更具体地,涉及一种基于时间和空间的多机器人调度方法、装置和设备。
背景技术
在一个相对较大的场景下,需要多个机器人一起协同工作,这些机器人沿着各自的规划路径穿梭在多个不同的目的地之间;而当需要向当前场景下加入机器人时,在没有调度系统介入的情况下,待加入的机器人的预设路径往往会与场景中的机器人发生冲突,导致由于机器人的加入使原有场景下的机器人无法正常沿规划路径行驶。
发明内容
根据本发明的实施例,提供了一种基于时间和空间的多机器人调度方案。
在本发明的第一方面,提供了一种基于时间和空间的多机器人调度方法。该方法包括:
从数据库中读取已有机器人的路径信息,得到机器人的空间地图;
对所述空间地图在时间维度上进行升维,得到机器人的时空地图;
采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径;
待加入机器人根据速度-时间曲线规划执行速度,按照所述时空地图中的时空路径进行执行。
进一步地,所述已有机器人的路径信息包括:节点信息、节点连接关系和节点连接属性;其中
所述节点信息包括:节点的空间位置信息、节点编号和节点名称;
所述节点连接关系为节点之间的有向映射关系;
所述节点连接属性包括:线形属性和代价。
进一步地,所述对所述空间地图在时间维度上进行升维,包括:
将节点所在的时刻加入到所述节点信息中;
在所述节点连接关系中建立时空连接规则;
所述时空连接规则包括:
e.空间位置相同、时刻不同的两个节点可以在时空地图中连接;
f.在空间地图中不存在连接关系的两个节点,不能在时空地图中连接;
g.一个时刻的节点只能与其后的时刻的节点在时空地图中连接;
h.在机器人能够从一个节点到达另一节点的时刻建立两个节点在时空地图上的连接。
进一步地,所述采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径,包括:
步骤1:对所述待加入机器人在所述空间地图中的路径进行预搜索,计算所述路径上每个节点的启发值;
步骤2:创建所述待加入的机器人当前位置在不同时刻的节点作为候选扩展节点;
步骤3:判断所述候选扩展节点是否与其他机器人冲突,如果是,则保持所述候选扩展节点为关闭状态;否则执行步骤4;
步骤4:将所述候选扩展节点置为打开状态,计算所述候选扩展节点的启发值,选择启发值最小的候选扩展节点作为父节点,从父节点进行扩展;
步骤5:在与父节点连接的不同位置的节点中选择启发值最小的节点位置,并判断所述节点位置是否与目标终点的节点位置相同,如果相同,则执行步骤6;否则创建该节点位置在不同时刻的节点为候选扩展节点,返回步骤4;
步骤6:从目标终点开始沿父节点回溯路径,得到时空路径。
进一步地,所述预搜索,包括:
从所述待加入机器人在所述空间地图中的路径终点开始向路径起点进行搜索,计算出路径上各个节点的代价,作为所述路径上每个节点的启发值。
进一步地,所述判断所述候选扩展节点是否与其他机器人冲突,包括:
如果所述候选扩展节点的位置信息和时刻与时空地图中已有机器人的位置信息和时刻相同,则所述候选扩展节点与该已有机器人冲突。
进一步地,所述待加入机器人根据速度-时间曲线规划执行速度,包括:
根据速度-时间曲线联立方程组,得出最大速度vmax、加速过程时间t1和减速过程时间t2;所述方程组:
(vmax-v1)/a+=t1
(vmax-v2)/a-=t2
Figure BDA0002590517960000031
其中,vmax为待加入机器人的最大速度;v1为待加入机器人的初始速度;v2为待加入机器人的目标速度;a+为待加入机器人的加速度;a-为待加入机器人的减速度;S为待加入机器人的总路程;t为待加入机器人完成总路程S的总时间;t1为加速过程时间;t2为减速过程时间。
在本发明的第二方面,提供了一种基于时间和空间的多机器人调度装置。该装置包括:
空间地图读取模块,用于从数据库中读取已有机器人的路径信息,得到机器人的空间地图;
时空地图生成模块,用于对所述空间地图在时间维度上进行升维,得到机器人的时空地图;
路径规划模块,用于采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径;
速度规划模块,用于待加入机器人根据速度-时间曲线规划执行速度;
执行模块,用于按照所述时空地图中的时空路径进行执行。
在本发明的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本发明的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
本发明通过将空间地图加入时间维度,使待加入机器人能够在时空维度上进行路径规划,避开原有地图中的机器人路径,与原有机器人不发生冲突,也不需要原有机器人调整原有路径。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本发明的基于时间维度和空间维度的多机器人调度方法的流程图;
图2示出了根据本发明的实施例的空间维度的空间拓扑图;
图3示出了根据本发明的实施例的速度-时间曲线示意图;
图4示出了根据本发明的实施例的基于时间维度和空间维度的多机器人调度装置的方框图;
图5示出了能够实施本发明的实施例的示例性电子设备的方框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1示出了本发明实施例的基于时间维度和空间维度的多机器人调度方法的流程图。
该方法包括:
S101、从数据库中读取已有机器人的路径信息,得到机器人的空间地图。
首先要在人机交互界面画出机器人的虚拟路线图,即计算机中的空间拓扑图,如图2所示。作为本发明的一种实施例,所述机器人可以是AGV小车,每个机器人在行进的过程中会遵循路线图上的路径,并沿着路径分别经过路径上的各个节点,到达终点。其中从一个节点到达另一个节点走过的路径为线性路径,可以为直线或弧线。所以路线图由节点、直线和弧线构成。
故由上述可知,计算机中的一个空间拓扑图通过路径信息描述,所述路径信息包括路径节点信息、节点连接关系和节点连接属性。
节点信息中包括:空间位置信息、节点编号和节点名称。空间位置信息用于描述节点的空间位置,如图2所示的空间拓扑图中包括7个节点,空间位置分别为(x0,y0)、(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5)、(x6,y6);节点信息中还包括:节点编号,例如0~6;节点信息中还包括:节点名称,例如A、B、E、D、F、G、H。
节点连接关系用于描述具有连接关系的两个节点及其有向映射关系;例如,A连接B、B连接A、B连接F,F连接G,G连接H。
节点连接属性包括线性属性和代价;所述线性属性包括直线或弧线,例如图2所示,AB之间连线为直线、BF之间连线为直线、FG之间连线为弧线、GH之间连线为直线。代价属性用于描述从一个节点到另一个节点的代价,例如从A到B经过的路程。
从路径规划角度,以上的路径信息可以通过搜索的方法得出机器人在空间地图中的导航路径。且得出的导航路径可以满足机器人导航的需求,但如果当前空间地图中存在多个机器人,要达到避免机器人之间互相冲突的目的,必须保证任意两个机器人不会在同一时刻出现在同一位置。这就要求所构建的拓扑图中的节点不再是单纯的“位置”,而是“时间-位置”。只有将一维空间地图加入时间维度,扩展成二位时空地图,才能从时间和空间维度对机器人进行调度。
作为本发明的一种实施例,在空间拓扑图中搜索一条路径A-B-C;路径中的A、B、C分别为三个节点,其中A为起点,C为终点。但加入时间维度的搜索中,时刻T1的A点和时刻T2的A点不是同一个搜索节点(T1≠T2);可以说由时刻T1的A点到时刻T2的A点也可以做一条时空搜索的路径,这条路径的含义是从时刻T1到时刻T2,机器人在A点等待,此种等待可能是避让其他机器人造成的。这样就需要对原有的一维空间地图进行升维,使用带时间维度的拓扑图描述状态空间。
S102、对所述空间地图在时间维度上进行升维,得到机器人的时空地图。
S102-1:将节点所在的时刻加入到所述节点信息中。
一维空间地图中节点信息包括空间位置、节点编号和节点名称,在二维时空地图中将节点所在时刻信息加入节点信息中;故,二维时空地图中的节点信息包括:节点所在时刻、空间位置、节点编号和节点名称。
S102-2:在所述节点连接关系中建立时空连接规则。
原则上,在二维时空地图中节点可以有无限个,其连接关系也可能有无限种。故需要建立时空连接规则,规避掉无效或不符合逻辑的空间状态。时空连接规则包括:
a.空间位置相同、时刻不同的两个节点可以在时空地图中连接。
作为本发明的一种实施例,T1时刻的节点A可以与T2时刻的节点A连接。
b.在空间地图中不存在连接关系的两个节点,不能在时空地图中连接。
作为本发明的一种实施例,如果在空间地图中有连接关系的两个节点A和B,在时空地图中,T1时刻的A和T2时刻的B可以连接。如果在空间地图中没有连接关系的两个节点A和C,在时空地图中T1时刻的A和T2时刻的C也不可能连接。
c.一个时刻的节点只能与其后的时刻的节点在时空地图中连接。即所有的连接都是以时间先后为判断依据单向建立的。
作为本发明的一种实施例,一条时空路径上,T时刻的A可以与T+1时刻的B连接,但T时刻的A不可以与T-1时刻的B连接。
d.在两个节点能够到达的时刻建立两个节点在时空地图中的连接。
作为本发明的一种实施例,空间地图中存在n-1个机器人的路径,升维后的各个机器人的路径如下表1~表3所示。
机器人1的路径如表1所示:
Figure BDA0002590517960000081
表1机器人2的路径如表2所示:
Figure BDA0002590517960000082
表2
机器人n-1的路径如表3所示:
Figure BDA0002590517960000083
表3
将上述机器人1~n-1的路径统计出来,可以看出时空地图中各路段被占用的情况,如表4所示:
A B C D E F H I J
A T1~T2 T2~T3
B T2~T3 T3~T4 T4~T5
C T4~T5 T5~1E10
D T6~T7 T7~T8
E _ _ _ T7~T8 T8~T9 T9~T10 _
F _ _ _ _ T9~T10 T10~1E10 _
H Tm~Tn Tn~To
I Tn~To To~Tp Tp~Tq
J TP~Tq Ta~1E10
表4
将此时刻的系统暂态(机器人1~n-1的路径)注册到地图中作为动态拓扑图的一个时段的动态,描述了时空地图中各个时刻路径的占用状态,此时动态拓扑中每一个路段在未来任一时刻对机器人n来说是否拥堵可查询。
作为本发明的一种实施例,机器人从A点到B点正常行驶需要时间t,当搜索的时候,当考虑与T1时刻的A节点这个时空状态连接的其他时空状态节点时,只考虑T1+t时刻或之后的B节点。此种建立连接的方式不考虑机器人非正常速度行驶的状态以及超速行驶的状态。有效的去掉了无用的空间状态节点。
S103、采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径。
A*(A-Star)算法是一种求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。在不考虑时间维度的A*算法中,我们可以参考使用欧式距离或曼哈顿距离作为启发值;在基于拓扑路线图的搜索中,机器人转弯会计入代价。而在本发明的实施例中使用的带时间的A*搜索算法,将所有的代价,包括行走的过程和转弯的过程,一律统一成时间尺度,也就是说将完成过程所消耗的时间作为代价。
带时间维度的A*算法,具体包括如下步骤:
S103-1:对所述待加入机器人在所述空间地图中的路径进行预搜索,计算所述路径上每个节点的启发值。
在开始搜索之前,会使用“预搜索”过程计算出每个点的启发值,这个启发值实际上是这个点沿着空间地图中最短路径(不考虑冲突)到达终点所需的时间。而实际搜索出的路径是考虑多机器人冲突,机器人在某些位置绕行、等待之后形成的一条路径,路径包含途经的路径点和经过这些路径点的时刻。
预搜索是一个反向搜索的过程,搜索使用空间地图,最后不回溯路径,只记录扩展过程中终点到每个点的最小代价。
所述预搜索,包括:
从所述待加入机器人在所述空间地图中的路径终点开始向路径起点进行搜索,计算出路径上各个节点的代价,作为所述路径上每个节点的启发值。
作为本发明的一种实施例,如图2所示,已知机器人1要从A出发到达H,机器人2从H出发,依次沿G、F、B到达A,则预搜索过程如下:
a.先将终点H作为起点开始扩展,将H点的代价计为0;
b.此时扩展H计算出了节点G到H的代价,同时将H置于关闭状态;
c.扩展G得到F和H的代价,同时将G置于关闭状态;
d.扩展F得到B和H的代价,同时将F置于关闭状态;
e.扩展B分别得到E到H的代价、A到H的代价和D到H的代价,同时将B置于关闭状态。
此时所有地图节点已经全部被扩展,结束预搜索过程,此时计算得出的所有代价都作为后续搜索中的启发值。
采用不带时间的类似遍历搜索的流程,从终点扩展(倒序扩展,散播启发值),获得每个节点的启发值(把最短路径作为启发值),使有效降低算法循环次数。
作为本发明的另一种实施例,当遇到有多个候选扩展节点时,选择到H最近的点优先扩展,直到所有候选扩展节点都被扩展或所有的点都计算出到H的代价为止。
S103-2:创建所述待加入的机器人当前位置在不同时刻的节点作为候选扩展节点。
作为本发明的一种实施例,当前机器人T0时刻在A点,创建一个时空节点AT0,以及与其位置相同、时刻不同的时空节点AT0+1;其中AT0+1代表了在节点A上等待一秒的情况。将时空节点AT0和时空节点AT0+1设置为打开状态,即将该两个点作为候选扩展节点。
S103-3:判断所述候选扩展节点是否与其他机器人冲突,如果是,则保持所述候选扩展节点为关闭状态;否则执行S103-4;
作为本发明的一种实施例,判断时空节点AT0和时空节点AT0+1是否和其他机器人有冲突,如果有冲突,则不打开,保持所述候选节点的关闭状态;如果时空节点AT0和时空节点AT0+1和其他机器人无冲突,则执行S103-4。
所述判断所述候选扩展节点是否与其他机器人冲突,包括:
如果所述候选扩展节点的位置信息和时刻与时空地图中已有机器人的位置信息和时刻相同,则所述候选扩展节点与该已有机器人冲突。
作为本发明的一种实施例,在上表4中,空白处代表无冲突,如果所述候选扩展节点的位置信息和时刻与表4中的非空白格一致,例如位置信息A在T1~T2时刻,则说明所述候选扩展节点与机器人1冲突。
S103-4:将所述候选扩展节点置为打开状态,计算所述候选扩展节点的启发值,选择启发值最小的候选扩展节点作为父节点,从父节点进行扩展;
时空节点AT0的代价计算公式为:
G0=C0+H;
其中,G0为时空节点AT0的代价;C0为时空节点AT0在时间维度的代价;H为时空节点AT0在空间维度的代价,即H为预搜索中计算出的A点的启发值。
时空节点AT0+1的代价计算公式为:
G1=C1+H;
其中,G1为时空节点AT0+1的代价;C1为时空节点AT0+1在时间维度的代价;H为时空节点AT0+1在空间维度的代价,即H为预搜索中计算出的A点的启发值。
在所有候选扩展节点中选择启发值,即代价最小的候选扩展节点作为父节点;则在本实施例中,启发值较小的AT0为父节点。
S103-5:在与父节点连接的不同位置的节点中选择启发值最小的节点位置,并判断所述节点位置是否与目标终点的节点位置相同,如果相同,则执行S103-6;否则创建该节点位置在不同时刻的节点为候选扩展节点,返回S103-4。
上述S103步骤的执行逻辑如下:
(1)设置计数器count_id=0,每生成一个search_node则这个计数器自加1,用start_id对应的地图节点生成一个search_node,其中这个search_node的search_node_id为当前count_id,node_id为这个地图节点的id,C=0,H=当前点到目标点的启发代价(本方法中使用的是当前点到终点最短路径行走所需的时间),G=H+C,from_which_search_node=-1;
(2)从open列表中找出G最小的点,开始扩展,即将该节点移出open列表,并将与这个节点(如果没被扩展过)全部生成search_node,加入到open列表中,这个search_node的search_node_id为当前的count_id,node_id为当前节点在地图里的id;C=他的父节点(from_which_search_node对应的search_node_id)的C+他从父节点来到这个节点所需要的时间,H为该点到终点的启发距离(本方法为走过当前点到终点的最短路径所需要的时间),G=H+C,from_which_node标记这个节点由谁扩展而来。
再扩展出一个特殊的search_node,这个search_node的search_node_id为当前的count_id的值,node_id为第一行提到的G最小的点,from_which_search_node为G最小的点的search_node_id,H和C都和G最小的点中的H、C相同,G为H+C+1,这个点代表的机器人在G最小的点上面等待了1秒钟的情况。
判断这些新生成的节点的合理性,即这个代价G表征了机器人会在这个时间点出现在这个路段,检测此时路段上有没有其他车辆,如果有其他车辆则从open列表中删除这个search_node。
(3)迭代上述(2),直至扩展到终点,结束扩展过程。
(4)从终点回溯路径(沿着from_which_search_node回溯),直到起点。
在本实施例中,如果与父节点AT0连接的节点位置有B、E和D,需要选择其中启发值最小的节点位置,例如B节点的节点位置,B节点的节点位置与目标终点H的节点位置不相同,即当前并没有扩展到目标终点,故创建创建时空节点
Figure BDA0002590517960000131
和时空节点
Figure BDA0002590517960000132
并返回S103-4步骤重新执行,即:
通过机器人的运动学公式计算出机器人1从A到B行驶需要耗时Δt=tAB,则此时需创建时空节点
Figure BDA0002590517960000133
和时空节点
Figure BDA0002590517960000134
时空节点
Figure BDA0002590517960000135
的代价计算公式为:
G2=C2+H2;
其中,G2为时空节点
Figure BDA0002590517960000141
的代价;C2为时空节点
Figure BDA0002590517960000142
在时间维度的代价,C2=tAB,即在父节点AT0的基础上加上了Δt=tAB;H2为时空节点
Figure BDA0002590517960000143
在空间维度的代价,即H2为预搜索中计算出的B点的启发值。
时空节点
Figure BDA0002590517960000144
的代价计算公式为:
G3=C3+H2;
其中,G3为时空节点
Figure BDA0002590517960000145
的代价;C3为时空节点
Figure BDA0002590517960000146
在时间维度的代价,C3=tAB+1,即在父节点
Figure BDA0002590517960000147
的基础上加上了Δt=1;H2为时空节点
Figure BDA0002590517960000148
在空间维度的代价,即H2为预搜索中计算出的B点的启发值。
在上述时空节点
Figure BDA0002590517960000149
和时空节点
Figure BDA00025905179600001410
中,代价较小的为时空节点
Figure BDA00025905179600001411
选择时空节点
Figure BDA00025905179600001412
作为父节点。
作为本发明的另一种实施例,如果父节点AT0连接的节点位置有H、E和D,其中启发值最小的节点位置是H,与目标终点的位置相同,则执行S103-6;
依照以上方法,选取为打开状态的G最小的时空节点去扩展,直到终点H生成的时空节点被打开,此时搜索完成。
S103-6:从目标终点开始沿父节点回溯路径,得到时空路径。
在本实施例中,从目标终点H开始,依次沿父节点G、F、B、A回溯路径,得到A-B-F-G-H的时空路径。
另外,作为本发明的另一种实施例,如果从当前父节点向后扩展,有多个目标点可供选择时,把多个目标点同时加到目标点集合中,在一次搜索中可以判断多个目标点中,只要扩展范围到达任一目标点即可完成搜索,即停止搜索,利用A*“深度优先”的搜索特性,一次性搜索出到达最近的目标点的路径,省去多步比较的过程,节省计算资源。
加入时间维度的A*算法复杂度高于普通的A*算法,本方法使用的A*算法不使用时间划片而是采用构造节点的方式将原来的拓扑节点加上一个时间戳构造成搜索节点,这个时间戳的获得是通过预估机器人运动所需时间而获得,所搜索出的路径时间粒度最优,不需要进行路径合并。
所有机器人经过规划后的路径都注册到地图中作为动态地图的状态,不需要多个机器人积攒任务后一起规划,而是将当前机器人的路径“插入”到现有的时间窗口的“缝隙”中,每次规划都不影响历史规划,更符合实际调度的需求。
S104、待加入机器人根据速度-时间曲线规划执行速度,按照所述时空地图中的时空路径进行执行。
在上述S103中,已经得出了待加入机器人n的时空路径,针对该路径可生成路径表,如下表5所示:
Figure BDA0002590517960000151
表5
表5中记录了机器人n在每个节点位置的到达时间和离开时间。执行阶段还需要根据速度-时间曲线对机器人进行速度调节。所述速度-时间曲线如图3所示。
根据机器人当前的速度v1,加速度a+,减速度a-,以及给定的时间t,路程S,可以反解出速度-时间曲线,计算过程为:
已知当前速度为v1目标速度为v2,加速度为a+减速度为a-,总路程为s,总耗时为t
设最大速度为vmax
(vmax-v1)/a+=t1
(vmax-v2)/a-=t2
Figure BDA0002590517960000161
联立方程组可得到最大速度Vmax,继而可以算出加速过程和减速过程的时间t1和t2,当我们有了参考的速度曲线之后,便可以以此为模型,控制机器人调速。
根据本发明的实施例,通过将空间地图加入时间维度,使待加入机器人能够在时空维度上进行路径规划,避开原有地图中的机器人路径,与原有机器人不发生冲突,也不需要原有机器人调整原有路径。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
如图4所示,装置400包括:
空间地图读取模块410,用于从数据库中读取已有机器人的路径信息,得到机器人的空间地图。
所述已有机器人的路径信息包括:节点信息、节点连接关系和节点连接属性;其中
所述节点信息包括:节点的空间位置信息、节点编号和节点名称;
所述节点连接关系为节点之间的有向映射关系;
所述节点连接属性包括:线形属性和代价。
时空地图生成模块420,用于对所述空间地图在时间维度上进行升维,得到机器人的时空地图。
在本发明的实施例中,所述时空地图生成模块420还包括:
节点信息升维模块421,用于将节点所在的时刻加入到所述节点信息中。
连接规则建立模块422,用于建立时空连接规则,包括:
a.空间位置相同、时刻不同的两个节点可以在时空地图中连接;
b.在空间地图中不存在连接关系的两个节点,不能在时空地图中连接;
c.一个时刻的节点只能与其后的时刻的节点在时空地图中连接;
d.在机器人能够从一个节点到达另一节点的时刻建立两个节点在时空地图上的连接。
路径规划模块430,用于采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径.
在本发明的实施例中,所述路径规划模块430还包括:
预搜索模块431,用于对所述待加入机器人在所述空间地图中的路径进行预搜索,计算所述路径上每个节点的启发值;
候选节点创建模块432,用于创建所述待加入的机器人当前位置在不同时刻的节点作为候选扩展节点;
冲突判断模块433,用于判断所述候选扩展节点是否与其他机器人冲突,如果是,则保持所述候选扩展节点为关闭状态;否则执行父节点选择模块434;
如果所述候选扩展节点的位置信息和时刻与时空地图中已有机器人的位置信息和时刻相同,则所述候选扩展节点与该已有机器人冲突。
父节点选择模块434,用于将所述候选扩展节点置为打开状态,计算所述候选扩展节点的启发值,选择启发值最小的候选扩展节点作为父节点,从父节点进行扩展;
扩展模块435,用于在与父节点连接的不同位置的节点中选择启发值最小的节点位置,并判断所述节点位置是否与目标终点的节点位置相同,如果相同,则执行时空路径生成模块436;否则创建该节点位置在不同时刻的节点为候选扩展节点,返回执行父节点选择模块434;
时空路径生成模块436,用于从目标终点开始沿父节点回溯路径,得到时空路径。
速度规划模块440,用于待加入机器人根据速度-时间曲线规划执行速度;
根据速度-时间曲线联立方程组,得出最大速度vmax、加速过程时间t1和减速过程时间t2;所述方程组:
(vmax-v1)/a+=t1
(vmax-v2)/a-=t2
Figure BDA0002590517960000181
其中,vmax为待加入机器人的最大速度;v1为待加入机器人的初始速度;v2为待加入机器人的目标速度;a+为待加入机器人的加速度;a-为待加入机器人的减速度;S为待加入机器人的总路程;t为待加入机器人完成总路程S的总时间;t1为加速过程时间;t2为减速过程时间。
执行模块450,用于按照所述时空地图中的时空路径进行执行。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如图5所示,设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的计算机程序指令或者从存储单元加载到随机访问存储器(RAM)中的计算机程序指令,来执行各种适当的动作和处理。在RAM中,还可以存储设备操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
设备中的多个部件连接至I/O接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元执行上文所描述的各个方法和处理,例如方法S101~S_104。例如,在一些实施例中,方法S101~S_104可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由CPU执行时,可以执行上文描述的方法S101~S_104的一个或多个步骤。备选地,在其他实施例中,CPU可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法S_101~S104。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (10)

1.一种基于时间维度和空间维度的多机器人调度方法,其特征在于,包括:
从数据库中读取已有机器人的路径信息,得到机器人的空间地图;
对所述空间地图在时间维度上进行升维,得到机器人的时空地图;
采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径;
待加入机器人根据速度-时间曲线规划执行速度,按照所述时空地图中的时空路径进行执行。
2.根据权利要求1所述的方法,其特征在于,所述已有机器人的路径信息包括:节点信息、节点连接关系和节点连接属性;其中
所述节点信息包括:节点的空间位置信息、节点编号和节点名称;
所述节点连接关系为节点之间的有向映射关系;
所述节点连接属性包括:线形属性和代价。
3.根据权利要求1所述的方法,其特征在于,所述对所述空间地图在时间维度上进行升维,包括:
将节点所在的时刻加入到所述节点信息中;
在所述节点连接关系中建立时空连接规则;
所述时空连接规则包括:
a.空间位置相同、时刻不同的两个节点可以在时空地图中连接;
b.在空间地图中不存在连接关系的两个节点,不能在时空地图中连接;
c.一个时刻的节点只能与其后的时刻的节点在时空地图中连接;
d.在机器人能够从一个节点到达另一节点的时刻建立两个节点在时空地图上的连接。
4.根据权利要求1所述的方法,其特征在于,所述采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径,包括:
步骤1:对所述待加入机器人在所述空间地图中的路径进行预搜索,计算所述路径上每个节点的启发值;
步骤2:创建所述待加入的机器人当前位置在不同时刻的节点作为候选扩展节点;
步骤3:判断所述候选扩展节点是否与其他机器人冲突,如果是,则保持所述候选扩展节点为关闭状态;否则执行步骤4;
步骤4:将所述候选扩展节点置为打开状态,计算所述候选扩展节点的启发值,选择启发值最小的候选扩展节点作为父节点,从父节点进行扩展;
步骤5:在与父节点连接的不同位置的节点中选择启发值最小的节点位置,并判断所述节点位置是否与目标终点的节点位置相同,如果相同,则执行步骤6;否则创建该节点位置在不同时刻的节点为候选扩展节点,返回步骤4;
步骤6:从目标终点开始沿父节点回溯路径,得到时空路径。
5.根据权利要求4所述的方法,其特征在于,所述预搜索,包括:
从所述待加入机器人在所述空间地图中的路径终点开始向路径起点进行搜索,计算出路径上各个节点的代价,作为所述路径上每个节点的启发值。
6.根据权利要求4所述的方法,其特征在于,所述判断所述候选扩展节点是否与其他机器人冲突,包括:
如果所述候选扩展节点的位置信息和时刻与时空地图中已有机器人的位置信息和时刻相同,则所述候选扩展节点与该已有机器人冲突。
7.根据权利要求1所述的方法,其特征在于,所述待加入机器人根据速度-时间曲线规划执行速度,包括:
根据速度-时间曲线联立方程组,得出最大速度vmax、加速过程时间t1和减速过程时间t2;所述方程组:
(vmax-v1)/a+=t1
(vmax-v2)/a-=t2
Figure FDA0002590517950000031
其中,vmax为待加入机器人的最大速度;v1为待加入机器人的初始速度;v2为待加入机器人的目标速度;a+为待加入机器人的加速度;a_为待加入机器人的减速度;S为待加入机器人的总路程;t为待加入机器人完成总路程S的总时间;t1为加速过程时间;t2为减速过程时间。
8.一种基于时间维度和空间维度的多机器人调度装置,其特征在于,包括:
空间地图读取模块,用于从数据库中读取已有机器人的路径信息,得到机器人的空间地图;
时空地图生成模块,用于对所述空间地图在时间维度上进行升维,得到机器人的时空地图;
路径规划模块,用于采用带时间维度的A*算法,规划出待加入机器人在所述时空地图中的时空路径;
速度规划模块,用于待加入机器人根据速度-时间曲线规划执行速度;
执行模块,用于按照所述时空地图中的时空路径进行执行。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7中任一项所述的方法。
CN202010694620.5A 2020-07-17 2020-07-17 一种基于时间和空间的多机器人调度方法、装置和设备 Pending CN111736524A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010694620.5A CN111736524A (zh) 2020-07-17 2020-07-17 一种基于时间和空间的多机器人调度方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010694620.5A CN111736524A (zh) 2020-07-17 2020-07-17 一种基于时间和空间的多机器人调度方法、装置和设备

Publications (1)

Publication Number Publication Date
CN111736524A true CN111736524A (zh) 2020-10-02

Family

ID=72655989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010694620.5A Pending CN111736524A (zh) 2020-07-17 2020-07-17 一种基于时间和空间的多机器人调度方法、装置和设备

Country Status (1)

Country Link
CN (1) CN111736524A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162294A (zh) * 2020-10-10 2021-01-01 北京布科思科技有限公司 一种基于激光传感器的机器人结构检测方法
CN112985414A (zh) * 2021-04-09 2021-06-18 北京猎户星空科技有限公司 一种多智能体导航方法、装置、设备和介质
CN117733308A (zh) * 2024-02-19 2024-03-22 浙江大学 一种超声波焊接机器人路径规划方法和装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5162978B2 (ja) * 2007-06-28 2013-03-13 Necソフト株式会社 経路探索方法、経路探索システム、及び、プログラム
KR20130112507A (ko) * 2012-04-04 2013-10-14 인하대학교 산학협력단 S* 알고리즘을 이용한 이동로봇의 안전경로계획 수립방법
CN106527448A (zh) * 2016-12-16 2017-03-22 浙江工业大学 适用于仓库环境的改进a*机器人最优路径规划方法
CN107727099A (zh) * 2017-09-29 2018-02-23 山东大学 一种工厂内物料运输多agv调度及路径规划方法
CN107766965A (zh) * 2017-09-14 2018-03-06 华南理工大学 一种基于自动引导车的快递分拣方法
CN107816996A (zh) * 2017-10-31 2018-03-20 上海海事大学 时变环境下agv流时空干涉检测与规避方法
CN109115226A (zh) * 2018-09-01 2019-01-01 哈尔滨工程大学 基于跳点搜索的多机器人冲突避免的路径规划方法
CN109540146A (zh) * 2018-11-29 2019-03-29 珠海格力智能装备有限公司 路径规划方法及装置
CN109947120A (zh) * 2019-04-29 2019-06-28 西安电子科技大学 仓储系统中的路径规划方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5162978B2 (ja) * 2007-06-28 2013-03-13 Necソフト株式会社 経路探索方法、経路探索システム、及び、プログラム
KR20130112507A (ko) * 2012-04-04 2013-10-14 인하대학교 산학협력단 S* 알고리즘을 이용한 이동로봇의 안전경로계획 수립방법
CN106527448A (zh) * 2016-12-16 2017-03-22 浙江工业大学 适用于仓库环境的改进a*机器人最优路径规划方法
CN107766965A (zh) * 2017-09-14 2018-03-06 华南理工大学 一种基于自动引导车的快递分拣方法
CN107727099A (zh) * 2017-09-29 2018-02-23 山东大学 一种工厂内物料运输多agv调度及路径规划方法
CN107816996A (zh) * 2017-10-31 2018-03-20 上海海事大学 时变环境下agv流时空干涉检测与规避方法
CN109115226A (zh) * 2018-09-01 2019-01-01 哈尔滨工程大学 基于跳点搜索的多机器人冲突避免的路径规划方法
CN109540146A (zh) * 2018-11-29 2019-03-29 珠海格力智能装备有限公司 路径规划方法及装置
CN109947120A (zh) * 2019-04-29 2019-06-28 西安电子科技大学 仓储系统中的路径规划方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162294A (zh) * 2020-10-10 2021-01-01 北京布科思科技有限公司 一种基于激光传感器的机器人结构检测方法
CN112162294B (zh) * 2020-10-10 2023-12-15 北京布科思科技有限公司 一种基于激光传感器的机器人结构检测方法
CN112985414A (zh) * 2021-04-09 2021-06-18 北京猎户星空科技有限公司 一种多智能体导航方法、装置、设备和介质
CN117733308A (zh) * 2024-02-19 2024-03-22 浙江大学 一种超声波焊接机器人路径规划方法和装置
CN117733308B (zh) * 2024-02-19 2024-05-17 浙江大学 一种超声波焊接机器人路径规划方法和装置

Similar Documents

Publication Publication Date Title
CN113031603B (zh) 一种基于任务优先级的多物流机器人协同路径规划方法
CN111736524A (zh) 一种基于时间和空间的多机器人调度方法、装置和设备
KR20140055134A (ko) 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체
US20100211244A1 (en) Apparatus and method for generating and using a grid map path
Spensieri et al. An iterative approach for collision free routing and scheduling in multirobot stations
CN111338343B (zh) 自动引导车调度方法、装置、电子设备及存储介质
CN112284393B (zh) 一种智能移动机器人全局路径规划方法和系统
JP7272547B2 (ja) マルチロボット経路計画
CN113516429B (zh) 一种基于网络拥堵模型的多agv全局规划方法
CN108827311A (zh) 一种制造车间无人搬运系统路径规划方法
CN113899383A (zh) 基于短路径的多车防死锁方法、系统、设备及存储介质
Wang et al. Coordination-free multi-robot path planning for congestion reduction using topological reasoning
Li et al. Multi-AGVs conflict-free routing and dynamic dispatching strategies for automated warehouses
CN111459100A (zh) 自动导引运输车的调度方法和系统
US20220300002A1 (en) Methods and systems for path planning in a known environment
Riman et al. A Priority-based Modified A∗ Path Planning Algorithm for Multi-Mobile Robot Navigation
Chakraborty et al. Coverage of a planar point set with multiple robots subject to geometric constraints
Haiming et al. Algorithm of path planning based on time window for multiple mobile robots in warehousing system
WO2020034887A1 (zh) 智能体行进路径的确定方法及装置
Chen et al. Path Planning Considering Time-Varying and Uncertain Movement Speed in Multi-Robot Automatic Warehouses: Problem Formulation and Algorithm
CN111912407B (zh) 一种多机器人系统的路径规划方法
CN117553804B (zh) 路径规划方法、装置、计算机设备和存储介质
CN115907249A (zh) 智能体调度方法、装置、计算机可读介质及电子设备
EP0609928B1 (en) Method and apparatus for identifying or controlling travel to a rendezvous
CN112729326A (zh) 运动智能体轨迹规划方法、装置、存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201002