CN114879689A - 机器人调度方法、装置、可读存储介质及电子设备 - Google Patents
机器人调度方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN114879689A CN114879689A CN202210601921.8A CN202210601921A CN114879689A CN 114879689 A CN114879689 A CN 114879689A CN 202210601921 A CN202210601921 A CN 202210601921A CN 114879689 A CN114879689 A CN 114879689A
- Authority
- CN
- China
- Prior art keywords
- robot
- current
- node
- current node
- robots
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0219—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种机器人调度方法、装置、可读存储介质及电子设备,该方法包括:获取调度区域的拓扑地图;根据拓扑地图规划各个器人的行驶路线,并将各个行驶路线发送至对应的所述机器人;当获取到当前机器人发送的针对当前节点的节点资源申请信息时,判断当前节点是否可用;当当前节点可用时,判断当前节点是否还有其他机器人同时申请;若是,根据当前机器人和其他机器人的任务优先级和机器人优先级来分配所述当前节点;当当前节点分配到所述当前节点时,发送当前节点的节点资源至前机器人,以使当前机器人行驶到当前节点。节点的节点资源根据执行任务的各个机器人的任务优先级和机器人优先级来分配,提高节点的使用率。
Description
技术领域
本发明涉及机器人领域,特别是涉及一种机器人调度方法、装置、可读存储介质及电子设备。
背景技术
智能制造企业的快速发展,物流系统的迭代更新,对制造车间的机器人要求越来越高。目前制造企业多采用多机器人来进行生产和制造。对于对机器人系统来说,其路径规划、资源调度和任务分配等过程远比单一机器人复杂。
目前的多机器人系统中,各个机器人执行任务时,路径的资源分配是根据机器人或者任务的优先级进行分配的。在多机器人协作的环境中,优先级高的机器人先规划自己的路径,优先级低的机器人将比它优先级高的机器人的路径视为障碍物,进而再进行规划。这种方法容易出现资源死锁的问题,对于优先级高的机器人来说可以很好的完成任务,但是对应优先级低的机器人则无法顺利完成任务,从全局来看机器人整体的工作效率低。
发明内容
鉴于上述状况,有必要针对现有技术中多机器人系统中机器人工作效率低的问题,提供一种机器人调度方法、装置、可读存储介质及电子设备。
一种机器人调度方法,包括:
获取调度区域的拓扑地图,所述拓扑地图包括所述调度区域所有位置标记点对应的节点;
根据所述拓扑地图和执行任务的各个机器人当前所在的节点和要到达的终点节点,规划各个所述机器人的行驶路线,并将各个所述行驶路线发送至对应的所述机器人,以使所述机器人根据其接收到的行驶路线行驶,所述行驶路线包括所述拓扑地图中机器人从其当前所在的节点至终点节点所要经过的所有节点;
当获取到当前机器人发送的针对当前节点的节点资源申请信息时,判断所述当前节点是否可用,每个所述机器人从其当前所在的节点行驶至下一节点前需要申请分配下一节点的节点资源;
当所述当前节点可用时,判断所述当前节点是否还有其他机器人同时申请;
若是,根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点;
当所述当前节点分配给所述当前机器人时,发送所述当前节点的节点资源至所述当前机器人,以使所述当前机器人行驶到所述当前节点。
进一步的,上述机器人调度方法,其中,所述发送所述当前节点的节点资源至所述当前机器人的步骤之后还包括:
当所述当前机器人行驶至所述当前节点时,从所述拓扑地图中删除所述当前节点;
根据删除节点后的所述拓扑地图,以及所述当前机器人当前所在的节点和要到达的终点节点,重新规划所述当前机器人的行驶路线;
将重新规划出的行驶路线发送至所述当前机器人,以使所述当前机器人按照重新规划后的行驶路线行驶。
进一步的,上述机器人调度方法,其中,所述根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点的步骤包括:
比较所述当前机器人和所述其他机器人的任务优先级;
当所述当前机器人的任务优先级高于所述其他机器人的优先级时,将所述当前节点分配至所述当前机器人;
当所述当前机器人与所述其他机器人相同时,比较所述当前机器人和所述其他机器人的机器人优先级,当所述当前机器人的机器人优先级高于所述其他机器人时,将所述当前节点分配至所述当前机器人。
进一步的,上述机器人调度方法,其中,所述判断所述当前节点是否可用的步骤之后还包括:
当所述当前节点不可用时,发送等待指令至所述当前机器人,并实时监测所述当前节点是否可用,所述等待指令用于指示机器人原地等待。
进一步的,上述机器人调度方法,其中,所述根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点的步骤之后还包括:
当所述当前节点未分配到所述当前节点时,发送等待指令至所述当前机器人,并实时监测所述当前节点是否可用,所述等待指令用于指示机器人原地等待。
进一步的,上述机器人调度方法,其中,所述判断所述当前节点是否可用的步骤包括:
查询所述当前节点的当前状态,所述当前节点的状态包括可分配状态和不可分配状态;
根据所述当前节点的当前状态判断所述当前节点是否可用。
进一步的,上述机器人调度方法,其中,所述根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点的步骤之后还包括:
将所述当前节点的当前状态修改为不可分配状态,并当分配到所述当前节点的机器人驶离所述当前节点时,将所述当前节点的状态修改为可分配状态。
本发明还公开了一种机器人调度装置,包括:
获取模块,用于获取调度区域的拓扑地图,所述拓扑地图包括所述调度区域所有位置标记点对应的节点;
第一路径规划模块,用于根据所述拓扑地图和执行任务的各个机器人当前所在的节点和要到达的终点节点,规划各个所述机器人的行驶路线,并将各个所述行驶路线发送至对应的所述机器人,以使所述机器人根据其接收到的行驶路线行驶,所述行驶路线包括所述拓扑地图中机器人从其当前所在的节点至终点节点所要经过的所有节点;
第一判断模块,用于当获取到当前机器人发送的针对当前节点的节点资源申请信息时,判断所述当前节点是否可用,每个所述机器人从其当前所在的节点行驶至下一节点前需要申请分配下一节点的节点资源;
第二判断模块,用于当所述当前节点可用时,判断所述当前节点是否还有其他机器人同时申请;
节点分配模块,用于根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点;
第一发送模块,用于当所述当前节点分配给所述当前机器人时,发送所述当前节点的节点资源至所述当前机器人,以使所述当前机器人行驶到所述当前节点。
进一步的,上述机器人调度装置,还包括:
删除模块,用于当所述当前机器人行驶至所述当前节点时,从所述拓扑地图中删除所述当前节点;
第二路径规划模块,用于根据删除节点后的所述拓扑地图,以及所述当前机器人当前所在的节点和要到达的终点节点,重新规划所述当前机器人的行驶路线;
第二发送模块,用于将重新规划出的行驶路线发送至所述当前机器人,以使所述当前机器人按照重新规划后的行驶路线行驶。
进一步的,上述机器人调度装置,还包括:
发送及监测模块,用于当所述当前节点不可用,或者当所述当前节点未分配到所述当前节点时,发送等待指令至所述当前机器人,并实时监测所述当前节点是否可用,所述等待指令用于指示机器人原地等待。
本发明还提供了一种电子设备,包括存储器和处理器,所述存储器存储有程序,所述程序被所述处理器执行时实现上述任一所述的方法。
本发明还提供了一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现上述任一所述的方法。
本发明中,对执行任务的各个机器人全局规划行驶路线,机器人按照各自的行驶路线走向下一步时,需要向系统申请下一步的节点的节点资源,等待系统将下一步的节点资源分配给自己。节点的节点资源实时根据执行任务的各个机器人的任务优先级和机器人优先级来分配,对资源分配进行合理管控,提高节点的使用率,提高工作效率同时也能有效防止机器人发生碰撞。
附图说明
图1为本发明第一实施例提供的机器人调度方法的流程图;
图2为本发明第二实施例提供的机器人调度方法的流程图;
图3为本全局静态路径规划的拓扑示意图;
图4为进行动态路径规划后的拓扑意图;
图5为本发明第三实施例中机器人调度装置的结构示意图;
图6为本发明电子设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
请参阅图1,为本发明第一实施例中的机器人调度方法,包括步骤S11~S15。
步骤S11,获取调度区域的拓扑地图,所述拓扑地图包括所述调度区域所有位置标记点对应的节点。
本实施例中的机器人调度方法应用于调度终端,适用于对多个机器人的进行调度。该调度终端可以为个人电脑、服务器等电子设备。该调度区即为该多个机器人需要执行任务的区域。根据实际环境标注该调度区域的机器人能到的所有位置标记点并建立图,通过数据提取转化形成拓扑地图。该拓扑地图有多个节点连接而成,每个节点即为该调度区域中的一个标记点。
步骤S12,根据所述拓扑地图和执行任务的各个机器人当前所在的节点和要到达的终点节点,规划各个所述机器人的行驶路线,并将各个所述行驶路线发送至对应的所述机器人,以使所述机器人根据其接收到的行驶路线行驶。所述行驶路线包括所述拓扑地图中机器人从其当前所在的节点至终点节点所要经过的所有节点。
首先针对每一个需要执行任务的机器人进行路径规划,找到一条最优的行驶路线。具体实施时,各机器人的路径规划时可采用Dijkstra算法来实现。Dijkstra算法为机器人规划出最优路径的原理说明如下。
机器人接受任务派发开始,从机器人当前所在的节点为起始节点,任务的目的地为终点节点。创建两个列表Openlist和Closedlist两个列表。Openlist列表存放已经更新过的邻接节点。Closedlist列表存放Openlist中代价值最小的节点。从起始节点开始,将该起始节点放入到Closelist列表中,遍历Closelist中该起始节点的子节点,并将这些子节点放入到Openlist列表中。可以理解的,如果放入Openlist列表的子节点在Openlist列表中已经存在,则不需要再放入。并且,通过公式f(n)计算从初始节点到n节点的实际代价值,再比较Openlist列表计算出的节点代价值,取出最小代价值节点,并将该最小代价值的节点存入Closedlist列表中。然后遍历Closedlist列表中此最小代价值的节点的子节点,继续重复上述操作。如果最后加入Closedlist列表中的节点是终点节点,表示最优路线已经找到。Closedlis列表中存放的就是从起点到终点节点的最优路线。其中,代价值计算公式为:
上式中,point代表节点,source表示起始节点,sink表示要走到的下一个点。走到下一个点代价值计算都是从最开始的起点值开始累加进行计算。
每个执行任务的机器人的行驶路线均可采用上述方法得到。调度终端得到各个机器人的行驶路线后发送至对应的机器人。
步骤S13,当获取到当前机器人发送的针对当前节点的节点资源申请信息时,判断所述当前节点是否可用。每个所述机器人从其当前所在的节点行驶至下一节点前需要申请分配下一节点的节点资源,所述申请信息为所述机器人申请分配下一节点时发送的信息。
当机器人接收到行驶计划后,预从当前节点行驶至下一节点时,均发送申请信息至调度终端,以申请分配该下一节点的使用资源。调度终端接收到机器人发送的针对一节点的申请信息时,判断申请的当前节点是否可用。
可用理解的,各个节点是否可用根据节点的状态来判断。调度终端对每个节点的状态进行标记,该一节点被机器人占用时,其状态标记为不可分配状态,当该节点未被任何人占用时,其状态标记为可分配状态。调度终端查询该当前节点的当前状态,并根据该当前节点的当前状态判断其是否可用。
步骤S14,当所述当前节点可用时,判断所述当前节点是否还有其他机器人同时申请。
步骤S15,若是,根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点。
具体的,所述根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点的步骤包括:
比较所述当前机器人和所述其他机器人的任务优先级;
当所述当前机器人的任务优先级高于所述其他机器人的优先级时,将所述当前节点分配至所述当前机器人;
当所述当前机器人与所述其他机器人相同时,比较所述当前机器人和所述其他机器人的机器人优先级,当所述当前机器人的机器人优先级高于所述其他机器人时,将所述当前节点分配至所述当前机器人。
每个机器人需每要走到一个节点时,会向调度端发送下一个节点的节点资源申请。调度端检查该节点资源是否被占用或者查看该资源是否可分配,如果可以分配则分配给该机器人,若不可分配则告诉该机器人目前该节点不可用需等待,并且实时检查该节点的资源状态。
如果同一时间有多个机器人向调度端申请同一节点的节点资源时,调度终端比较各个机器人的申请时间再做分配,时间可精确到毫秒。若申请时间都是一样再比较机器人之间的任务的优先级;若任务优先级一样再比较机器人优先级;分配给优先级高者。如果最后还是一样则随机给一个机器人。即本实施例中,节点资源调度采用三层的策略进行资源分配:第一层采用先来先服务算法,第二层采用任务优先级,第三层采用机器人优先级。
步骤S16,当所述当前节点分配给所述当前机器人时,发送所述当前节点的节点资源至所述当前机器人,以使所述当前机器人行驶到所述当前节点。
当当前机器人分配到该当前节点时,发送当前节点的节点资源至该当前机器人,以使该当前机器人行驶到该当前节点。
可以理解后,该当前节点分配后,该调度终端修改该当前节点的状态为可分配状态,当机器人使用完该当前节点后,调度端回收该资源,并且将其状态改为可分配状态。
本实施例中,对执行任务的各个机器人全局规划行驶路线,机器人按照各自的行驶路线走向下一步时,需要向系统申请下一步的节点的节点资源,等待系统将下一步的节点资源分配给自己,一直到达目的地为止。节点的节点资源实时根据执行任务的各个机器人的任务优先级和机器人优先级来分配,对资源分配进行合理管控,提高节点的使用率,提高工作效率同时也能有效防止机器人发生碰撞。
请参阅图2,为本发明第一实施例中的机器人调度方法,包括步骤S21~S29。
步骤S21,调度终端获取调度区域的拓扑地图,所述拓扑地图包括所述调度区域所有位置标记点对应的节点。
步骤S22,调度终端根据所述拓扑地图和执行任务的各个机器人当前所在的节点和要到达的终点节点,规划各个所述机器人的行驶路线,并将各个所述行驶路线发送至对应的所述机器人。所述行驶路线包括所述拓扑地图中机器人从其当前所在的节点至终点节点所要经过的所有节点。
在下发任务时,首先针对每一个需要执行任务的机器人进行路径规划,为每一个机器人找到一条最优的行驶路线。此时采用的路径规划采用的是全局静态路径规划,即针对某一机器人进行路径规划时,不会考虑其他各个机器人当前占据的节点和其要到达的终点节点。对各机器人进行路径规划时可采用Dijkstra算法来实现。
步骤S23,当当前机器人接收到所述行驶路线时,发送申请下一节点的节点资源的申请信息至所述调度终端。
步骤S24,所述调度终端判断申请的当前节点是否可用,若是执行步骤S25,否则执行步骤S31。
步骤S25,所述调度终端判断所述当前节点是否还其他机器人同时申请,若是执行步骤S26,否则执行步骤S32。
步骤S26,所述调度终端根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点。
步骤S27,当所述当前机器人分配到所述当前节点时,所述调度终端发送所述当前节点的节点资源至所述当前机器人。
步骤S28,所述当前机器人接收到所述当前节点的节点资源时,行驶到所述当前节点。
当前机器人根据行驶计划预从上一节点行驶至当前节点时,会向调度终端发送当前节点的申请信息,若该当前节点可用,且无其他机器人申请时,调度终端将该当前节点的节点资源分配给当前节点,若该当前节点还有其他机器人同时申请时,则按照任务优先级和机器人优先级来分配当前节点,并发送当前节点的节点资源至分配到当前节点的机器人。
若该当前机器人接收到该当前节点的节点资源时则可以行驶到该当前节点。若该当前机器人未分配到该当前节点则原地等待,直至该当前节点可用时,再重新参与该当前节点的分配。
每个机器人需要走到下一个节点时,会向调度终端发送该下一个点的节点资源的申请信息。调度端检查申请调度的当前节点是否被占用或者查看该当前节点是否可分配。如果可以分配则分配给该机器人,若不可分配则告诉该机器人目前当前节点不可用需等待并且每过一定时间检查该当前节点的资源状态,直至该当前节点可用时再进行分配。如果同一时间有多个机器人向调度终端申请同一节点的节点资源时,调度终端比较各个机器人的申请时间再做分配,申请时间可以精确到毫秒。若申请时间都是一样再比较机器人之间的任务的优先级;若任务优先级一样再比较机器人优先级;分配给优先级高者。如果最后还是一样则随机给一个机器人。
步骤S29,所述调度终端从所述拓扑地图中删除所述当前节点,并根据删除节点后的所述拓扑地图,以及所述当前机器人当前所在的节点和要到达的终点节点,重新规划所述当前机器人的行驶路线。
步骤S30,将重新规划出的行驶路线发送至所述当前机器人,并返回步骤S23。
机器人执行任务时,从起点到终点有多条路径可以行驶,最优路径相比于其他路径既能减少任务完成时间,也能节省自身资源。但是在多机器人的环境中,最初规划出的行驶对于单个机器人可能是最优的,但在全局的未必是最优。例如,在实际操作过程中,多机器人执行任务,会占用一些路径点,并且占用的时间长短不一,当某台机器人规划好的最优路径一定要经过此路径点时,则需要等待一定的时间。当最优路径出现阻塞的情况下,行驶的过程需要等待一定的时间,导致该路径未必是最优路径。导致多个机器人在完成多项任务时未能达到最优路径规划。因此本实施例中,在实际作业中需要实时对各个机器人的行驶路线重新进行规划。
在全局路径规划时,各个机器人可以按照规划好的最优行驶路线进行行驶。机器人每行驶到一个节点时,需要重新规划其行驶路线。在重新规划行驶路线之前需要根据各个节点的当前使用情况更新拓扑地图。在拓扑地图中,包括的是所有可连通的节点。但是在实际情况中,多机器人同时执行任务时,某些路径点会被占用,但是在给各个机器人规划初始的行驶路线时,并没有规避这些被占用的节点。因为如果在机器人接收到任务时,就将各个机器人当前所占据的节点在拓扑地图上去除,然后规划出各个机器人最初的行驶路线。此时会出现的问题是,可能任务的终点是不可到达的点,因此无法规划处出最优行驶路线。所以接收到任务时,使用全局规划好的行驶路线,在机器人行驶的过程中,也就是行驶每一步再根据各个机器人行驶情况再进行重新规划行驶路线。机器人行驶到新的节点时,其他人机器人也会发生位置变化,有些节点可以重新加入到拓扑结构图中。
可以理解的,调度终端可以将处于未执行任务的机器人放入A集合中。将处于正在执行任务和已经分配任务的机器人小车放入集合B。机器人占据的节点每更新一次,调度终端都会对应更新A集合或B集合,并且获取A集合中的机器人的当前所在的节点,从拓扑图中移除相对应的节点,以及获取集合B中移动的机器车当前所在的节点和它们的执行任务的终点节点,从拓扑图中移除相对应的节点,对更新后的拓扑地图重新调用Dijkstra进行行驶路线规划。
举例来说,请参阅图3为在全局静态路径规划下从A点到O点,在整个拓扑图中,有一机器人小车在L点通向M点的道路中占据。此时在A点的机器人小车先从A到B,到达B后,重新动态规划新的路径,其效果如图4所示。重新规划路径后,将在L通向M车辆后续的占据的资源路径点从拓扑图中去除,重新规划的路径显然相比全局静态规划的路径行驶的距离更远,但是对于全局来说该车辆不会再L点一直等待,对于全局比第一条路径更优。
步骤S31,所述调度终端发送等待指令至申请所述当前节点的机器人,以使机器人原地等待,并且,所述调度终端实时监测所述当前节点是否可用。
步骤S32,发送所述当前节点的节点资源至所述当前机器人。
本实施例中,机器人会先按照调度终端全局规划的路径行走,机器人每走一步时,调度终端会更新拓扑地图,将拓扑地图上机器人占据的节点从全局的拓扑地图去除重新规划各个机器人的行驶路线。并且机器人走向下一步时,需要向系统申请下一步的资源,等待系统将下一步的资源分配给自己。一直到达目的地为止。在全局静态规划中加入了机器人路径动态规划,并且对资源分配进行管控,防止机器人发生碰撞。
请参阅图5,为本发明第三实施例中的机器人调度装置,包括:
获取模块31,用于获取调度区域的拓扑地图,所述拓扑地图包括所述调度区域所有位置标记点对应的节点;
第一路径规划模块32,用于根据所述拓扑地图和执行任务的各个机器人当前所在的节点和要到达的终点节点,规划各个所述机器人的行驶路线,并将各个所述行驶路线发送至对应的所述机器人,以使所述机器人根据其接收到的行驶路线行驶,所述行驶路线包括所述拓扑地图中机器人从其当前所在的节点至终点节点所要经过的所有节点;
第一判断模块33,用于当获取到当前机器人发送的针对当前节点的节点资源申请信息时,判断所述当前节点是否可用,每个所述机器人从其当前所在的节点行驶至下一节点前需要申请分配下一节点的节点资源;
第二判断模块34,用于当所述当前节点可用时,判断所述当前节点是否还有其他机器人同时申请;
节点分配模块35,用于根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点;
第一发送模块36,用于当所述当前节点分配给所述当前机器人时,发送所述当前节点的节点资源至所述当前机器人,以使所述当前机器人行驶到所述当前节点。
进一步的,上述机器人调度装置,还包括:
删除模块,用于当所述当前机器人行驶至所述当前节点时,从所述拓扑地图中删除所述当前节点;
第二路径规划模块,用于根据删除节点后的所述拓扑地图,以及所述当前机器人当前所在的节点和要到达的终点节点,重新规划所述当前机器人的行驶路线;
第二发送模块,用于将重新规划出的行驶路线发送至所述当前机器人,以使所述当前机器人按照重新规划后的行驶路线行驶。
进一步的,上述机器人调度装置,还包括:
发送及监测模块,用于当所述当前节点不可用,或者当所述当前节点未分配到所述当前节点时,发送等待指令至所述当前机器人,并实时监测所述当前节点是否可用,所述等待指令用于指示机器人原地等待。
本发明实施例所提供的机器人调度装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明另一方面还提出一种电子设备,请参阅图6,所示为本发明第四实施例当中的电子设备,包括处理器10、存储器20以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述的机器人调度方法。
其中,所述电子设备可以为但不限于个人电脑、服务器等计算机设备。处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据等。
其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘。存储器20在另一些实施例中也可以是电子设备的外部存储装置,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器20还可以既包括电子设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于电子设备的应用软件及各类数据等,还可以用于暂时地存储已经输出或者将要输出的数据。
可选地,该电子设备还可以包括用户接口、网络接口、通信总线等,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置与其他电子装置之间建立通信连接。通信总线用于实现这些组件之间的连接通信。
需要指出的是,图6示出的结构并不构成对电子设备的限定,在其它实施例当中,该电子设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的机器人调度方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置中获取指令并执行指令的系统)使用,或结合这些指令执行系统、装置而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或结合这些指令执行系统、装置而使用的设备。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种机器人调度方法,其特征在于,包括:
获取调度区域的拓扑地图,所述拓扑地图包括所述调度区域所有位置标记点对应的节点;
根据所述拓扑地图和执行任务的各个机器人当前所在的节点和要到达的终点节点,规划各个所述机器人的行驶路线,并将各个所述行驶路线发送至对应的所述机器人,以使所述机器人根据其接收到的行驶路线行驶,所述行驶路线包括所述拓扑地图中机器人从其当前所在的节点至终点节点所要经过的所有节点;
当获取到当前机器人发送的针对当前节点的节点资源申请信息时,判断所述当前节点是否可用,每个所述机器人从其当前所在的节点行驶至下一节点前需要申请分配下一节点的节点资源;
当所述当前节点可用时,判断所述当前节点是否还有其他机器人同时申请;
若是,根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点;
当所述当前节点分配给所述当前机器人时,发送所述当前节点的节点资源至所述当前机器人,以使所述当前机器人行驶到所述当前节点。
2.如权利要求1所述的机器人调度方法,其特征在于,所述发送所述当前节点的节点资源至所述当前机器人的步骤之后还包括:
当所述当前机器人行驶至所述当前节点时,从所述拓扑地图中删除所述当前节点;
根据删除节点后的所述拓扑地图,以及所述当前机器人当前所在的节点和要到达的终点节点,重新规划所述当前机器人的行驶路线;
将重新规划出的行驶路线发送至所述当前机器人,以使所述当前机器人按照重新规划后的行驶路线行驶。
3.如权利要求1所述的机器人调度方法,其特征在于,所述根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点的步骤包括:
比较所述当前机器人和所述其他机器人的任务优先级;
当所述当前机器人的任务优先级高于所述其他机器人的优先级时,将所述当前节点分配至所述当前机器人;
当所述当前机器人与所述其他机器人相同时,比较所述当前机器人和所述其他机器人的机器人优先级,当所述当前机器人的机器人优先级高于所述其他机器人时,将所述当前节点分配至所述当前机器人。
4.如权利要求1所述的机器人调度方法,其特征在于,所述判断所述当前节点是否可用的步骤之后还包括:
当所述当前节点不可用时,发送等待指令至所述当前机器人,并实时监测所述当前节点是否可用,所述等待指令用于指示机器人原地等待。
5.如权利要求1所述的机器人调度方法,其特征在于,所述根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点的步骤之后还包括:
当所述当前节点未分配到所述当前节点时,发送等待指令至所述当前机器人,并实时监测所述当前节点是否可用,所述等待指令用于指示机器人原地等待。
6.如权利要求1所述的机器人调度方法,其特征在于,所述判断所述当前节点是否可用的步骤包括:
查询所述当前节点的当前状态,所述当前节点的状态包括可分配状态和不可分配状态;
根据所述当前节点的当前状态判断所述当前节点是否可用。
7.如权利要求6所述的机器人调度方法,其特征在于,所述根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点的步骤之后还包括:
将所述当前节点的当前状态修改为不可分配状态,并当分配到所述当前节点的机器人驶离所述当前节点时,将所述当前节点的状态修改为可分配状态。
8.一种机器人调度装置,其特征在于,包括:
获取模块,用于获取调度区域的拓扑地图,所述拓扑地图包括所述调度区域所有位置标记点对应的节点;
第一路径规划模块,用于根据所述拓扑地图和执行任务的各个机器人当前所在的节点和要到达的终点节点,规划各个所述机器人的行驶路线,并将各个所述行驶路线发送至对应的所述机器人,以使所述机器人根据其接收到的行驶路线行驶,所述行驶路线包括所述拓扑地图中机器人从其当前所在的节点至终点节点所要经过的所有节点;
第一判断模块,用于当获取到当前机器人发送的针对当前节点的节点资源申请信息时,判断所述当前节点是否可用,每个所述机器人从其当前所在的节点行驶至下一节点前需要申请分配下一节点的节点资源;
第二判断模块,用于当所述当前节点可用时,判断所述当前节点是否还有其他机器人同时申请;
节点分配模块,用于根据所述当前机器人和所述其他机器人的任务优先级和机器人优先级来分配所述当前节点;
第一发送模块,用于当所述当前节点分配给所述当前机器人时,发送所述当前节点的节点资源至所述当前机器人,以使所述当前机器人行驶到所述当前节点。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述程序被所述处理器执行时实现如权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210601921.8A CN114879689A (zh) | 2022-05-30 | 2022-05-30 | 机器人调度方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210601921.8A CN114879689A (zh) | 2022-05-30 | 2022-05-30 | 机器人调度方法、装置、可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114879689A true CN114879689A (zh) | 2022-08-09 |
Family
ID=82680397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210601921.8A Pending CN114879689A (zh) | 2022-05-30 | 2022-05-30 | 机器人调度方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114879689A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115271556A (zh) * | 2022-09-27 | 2022-11-01 | 江西萤火虫微电子科技有限公司 | 机器人任务调度方法、装置、可读存储介质及电子设备 |
-
2022
- 2022-05-30 CN CN202210601921.8A patent/CN114879689A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115271556A (zh) * | 2022-09-27 | 2022-11-01 | 江西萤火虫微电子科技有限公司 | 机器人任务调度方法、装置、可读存储介质及电子设备 |
CN115271556B (zh) * | 2022-09-27 | 2022-12-30 | 江西萤火虫微电子科技有限公司 | 机器人任务调度方法、装置、可读存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992060B (zh) | 多移动机器人的路径规划方法及系统 | |
KR102041093B1 (ko) | 조정된 경로 계획기를 사용하는 다수의 자동화 비-홀로노믹 차량들을 효율적으로 스케줄링하는 방법 및 장치 | |
CN111798041A (zh) | 一种基于时间窗的agv智能调度方法 | |
CN111596658A (zh) | 一种多agv无碰撞运行的路径规划方法及调度系统 | |
CN115271556B (zh) | 机器人任务调度方法、装置、可读存储介质及电子设备 | |
TWI797204B (zh) | 電池組優化輸送規劃方法 | |
CN110196057B (zh) | 一种车辆驾驶路径的规划系统、方法和装置 | |
CN112087712B (zh) | 车联网通信方法和服务器、路侧单元、通信装置以及系统 | |
CN110570040A (zh) | 车辆调度方法及装置、计算机存储介质、电子设备 | |
CN108198409B (zh) | 智能驾驶汽车的远程调度方法和装置、电子设备及计算机存储介质 | |
JP2021043505A (ja) | 最適経路決定装置及び最適経路決定プログラム | |
CN114879689A (zh) | 机器人调度方法、装置、可读存储介质及电子设备 | |
KR20100090927A (ko) | 복수개의 자원을 점유하는 무인 반송차의 동적 주행방법 | |
CN114611896A (zh) | 机器人任务调度方法、计算机设备及存储介质 | |
CN111459100B (zh) | 自动导引运输车的调度方法和系统 | |
CN111079988A (zh) | 任务的执行方法、装置、存储介质及电子装置 | |
KR100506600B1 (ko) | 물류반송시스템 | |
JP6999882B2 (ja) | 最適経路決定装置及び最適経路決定プログラム | |
CN115755786A (zh) | 基于流量的多agv全局调度方法 | |
KR101583398B1 (ko) | 다노선 배차 방법 및 시스템 | |
CN115790594A (zh) | 多类型机器人路径规划方法、装置、设备和存储介质 | |
CN114519480A (zh) | 多机器人导航的资源分配方法、设备及存储介质 | |
CN110689094A (zh) | 基于物联网的自动导引运输车任务分配方法及系统 | |
CN110930755A (zh) | 一种停车场确定方法、装置及电子设备 | |
US20200349837A1 (en) | Computing system and method for operating a computing system |
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 |