一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于轨道地图的机器小车调度系统的制作方法

2021-10-30 02:18:00 来源:中国专利 TAG:调度 系统 主要用于 小车 轨道


1.本发明涉及一种调度系统,更具体的说,本发明主要涉及一种用于轨道地图的机器小车调度系统。


背景技术:

2.随着近年来电子商务业的迅猛发展,快递物流业也随时得到了蓬勃发展,目前快递物流已拥有较为成熟的运输及配送网络,但在送达的最后一公里则依然存在诸多问题,例如取件难、容易丢件等问题,目前普遍在设置的快递箱或快递接收点,则均需收件人自行前往取件,在实际应用中难免给收件人造成不便,因此研发一种在住宅小区、写字楼上使用的自动配送系统是具有现实且实际需求的,这类自动配送利用轨道运输,为提高效率,在轨道上通常需设计多个机器小车同时运行,使用时往往是多个机器小车在同一时间分别向不同的目的运送快递,进而在系统架构设计上,如何调度以及准确合理的规划机器小车的路径就成了这类自动配送系统所必须要解决的技术难题,有必要针对此难题做进一步的研究和改进。


技术实现要素:

3.本发明的目的之一在于针对上述不足,提供一种用于轨道地图的机器小车调度系统,以期望解决现有技术用于小区、写字楼等场所中的快递自动配送系统无法对多个机器小车进行统一、准确的调度,合理规划小车路线等技术问题。
4.为解决上述的技术问题,本发明采用以下技术方案:本发明所提供的一种用于轨道地图的机器小车调度系统,其特征在于:所述的系统包括iot sdk对接模块、小车消息处理模块、路线规划模块与中央处理模块,所述iot sdk对接模块、小车消息处理模块、路线规划模块均分别接入中央处理模块,其中:所述小车消息处理模块用于获取机器小车的状态信息,并传输至中央处理模块,所述机器小车的状态信息包括小车上线消息、小车下线消息、小车位置变动消息;所述中央处理模块用于根据小车消息处理模块传输的状态信息更新系统内当前机器小车的状态;所述路线规划模块用于在接收到内部服务的调用指令后,使用路径规划算法生成路径规划结果,并传输至并传输至中央处理模块;所述调用指令至少包括需机器小车移动到指定的位置;所述中央处理模块还用于将路径规划结果转换为机器小车可识别的设备指令,并将所述设备指令通过iot sdk对接模块发送至对应的机器小车;所述路线规划模块生成的路径规划结果为多台机器小车的路径规划结果,所述中央处理模块首先模拟运行路径规划结果,如发现两台以上的机器小车路径规划结果出现冲突,具有相互需要避让的动作时,将其中至少一台机器小车的设备指令截断,然后发送设备指令的一部分至对应的机器小车,然后根据从小车消息处理模块获取的状态信息确定下发剩余的设备指令至对应的机器小车的时机,时机到达后下发剩余的设备指令至对应的机器小车。
5.作为优选,进一步的技术方案是:所述机器小车的状态信息还包括小车故障消息,
且机器小车在系统内的状态为故障与下线时,无法被内部服务所调用。
6.更进一步的技术方案是:所述中央处理模块将至少一台机器小车的从暂停避让的目标点处,将设备指令截断。
7.更进一步的技术方案是:所述系统还包括微服务框架模块,所述微服务框架模块用于将中央处理模块转换得到的设备指令封装为rpc接口命令。
8.更进一步的技术方案是:所述小车消息处理模块在首次收到机器小车的小车上线消息时,由中央处理模块在系统中初始化当前机器小车的状态。
9.更进一步的技术方案是:所述中央处理模块用于根据接收到的小车位置变动消息,判断当前机器小车的位置是否与已发送的设备指令所指的位置相一致,如判断结果为是,则更新当前机器小车的状态,反之则由路线规划模块根据上一次的调用指令重新生成路径规划结果,并由中央处理模块将其转换为设备指令,传输至当前的机器小车。
10.更进一步的技术方案是:所述调用指令中还包括动作命令,所述机器小车的状态信息还包括小车动作完成消息,所述中央处理模块用于根据接受到的小车动作完成消息,判断当前机器小车是否已经完成设备指令中的动作命令,如判断结果为是,则更新当前机器小车的状态,反之则再次生成包含动作命令的设备指令传输至当前机器小车。
11.更进一步的技术方案是:所述路线规划模块使用的路径规划算法包括:步骤a、以每台机器小车的第一个目标节点为终点,使用cbs方案得出第一路径规划结果;步骤b、选择确定第一路径规划结果中步骤最多的机器小车为第一基准,然后在其它机器小车的第一路径规划结果中添加原地等待指令,使其他机器小车的第一路径规划结果的步骤与所述基准相同;步骤c、以每台机器小车的第二个目标节点为终点,重复步骤a与步骤b,得到第二基准、以及与第二基准步骤相同的第二路径规划结果,直至得出每台机器小车的最后一个目标节点的路径规划结果,且完成步骤b。
12.更进一步的技术方案是:所述步骤a中的cbs方案为通过a*算法计算,为每台小车规划一条到终点的最短路径,然后检查判断距离最短的最短路径是否与其他小车冲突;如判断结果为是,以具有冲突的其中一台机器小车是否执行当前指令作为 区分,分别生成两个子树,并在不执行当前指令的机器小车的最短路径中增加一个额外的约束;再通过a*算法计算,在各自机器小车所属的子树中重新规划最短路径;如判断结果为否,则继续判断另一条的最短路径是否与其他小车冲突;直至每台小车到终点的最短路径都没有冲突,得到路径规划结果。
13.与现有技术相比,本发明的有益效果之一是:在系统中通过小车消息处理模块接收自动配送系统中机器小车的状态信息,并由路线规划模块根据调用指令生成路径规划结果,再由中央处理模块转换为设备指令发送至相应的机器小车执行,使得机器小车在轨道地图中按照预定的路径行走,并完成相应的动作,从而实现多台机器小车在纵横交错的轨道地图中同时运行,且相互不发生干扰,更有利于辅助自动配送系统运行与使用,同时本发明所提供的一种用于轨道地图的机器小车调度系统架构简单,可在住宅小区、商业写字楼等各类场所中的快递自动配送系统中使用,应用范围广阔。
附图说明
14.图1为用于说明本发明一个实施例的系统结构示意框图。
15.图2为用于说明本发明一个实施例的方法流程图。
16.图3为用于说明本发明一个实施例中的cbs方案流程图。
17.图4为用于说明dijkstra 算法的示意图。
具体实施方式
18.下面结合附图对本发明作进一步阐述。
19.参考图1所示,本发明的一个实施例是一种用于轨道地图的机器小车调度系统,该系统包括iot sdk对接模块、小车消息处理模块、路线规划模块与中央处理模块,正如图中所示出的,前述的iot sdk对接模块、小车消息处理模块、路线规划模块均分别接入中央处理模块,其中:上述小车消息处理模块用于获取机器小车的状态信息(该状态信息一般为机器小车上报至消息处理模块的),并传输至中央处理模块,前述机器小车的状态信息包括小车上线消息、小车下线消息、小车位置变动消息。此处优选的是,前述机器小车的状态信息还包括小车故障消息,且机器小车在系统内的状态为故障与下线时,无法被内部服务所调用。
20.上述中央处理模块用于根据小车消息处理模块传输的状态信息更新系统内当前机器小车的状态。
21.上述路线规划模块用于在接收到内部服务的调用指令后,使用路径规划算法生成路径规划结果,并传输至并传输至中央处理模块;前述调用指令至少包括需机器小车移动到指定的位置。
22.上述中央处理模块还用于将路径规划结果转换为机器小车可识别的设备指令,并将前述设备指令通过iot sdk对接模块发送至对应的机器小车。
23.上述iot sdk对接模块还用于与阿里云 iot 平台对接,从阿里云 iot 平台订阅设备状态变动,便于系统对机器小车下达设备指令。
24.更为重要的是,路线规划模块生成的路径规划结果为多台机器小车的路径规划结果,上述中央处理模块首先模拟运行路径规划结果,如发现两台以上的机器小车路径规划结果出现冲突,具有相互需要避让的动作时,将其中至少一台机器小车的设备指令截断,然后发送设备指令的一部分至对应的机器小车,然后根据从小车消息处理模块获取的状态信息确定下发剩余的设备指令至对应的机器小车的时机,时机到达后下发剩余的设备指令至对应的机器小车。优选到是,前述中央处理模块将至少一台机器小车的从暂停避让的目标点处,将设备指令截断,再分阶段发送给相应的机器小车。
25.例如,机器小车 a 和机器小车 b 会按照先后顺序分别经过轨道地图的十字路口 x,如果由于不可控因素小车 b 提前到达了路口 x,这个时候调度系统会主动让小车 b 在此等待小车 a 先通过,然后才会给下车 b 发送剩下的设备指令。
26.进一步的,设备消息处理模块的事务处理逻辑如下:当设备消息处理模块收到小车上线消息时,如果是系统第一次收到此机器小车的消息,中央处理模块会在系统内初始化一个设备信息,并实时维护此设备的状态。
27.当设备消息处理模块收到小车下线消息时,中央处理模块会把系统内维护的机器
小车信息状态设置为下线或离线,此时该机器小车无法被其他内部服务调用。
28.当设备消息处理模块收到小车位置变动消息时,中央处理模块根据接收到的小车位置变动消息,判断当前机器小车的位置是否与已发送的设备指令所指的位置相一致,如判断结果为是,则更新当前机器小车的状态,反之则由路线规划模块根据上一次的调用指令重新生成路径规划结果,并由中央处理模块将其转换为设备指令,传输至当前的机器小车。
29.基于上述的控制逻辑,上述调用指令中还需要包括动作命令,机器小车的状态信息还包括小车动作完成消息;即机器小车到达目标位置后,再执行相应的动作,例如将快递从机器小车上推出或类似的辅助动作。
30.按照上述的思路,当设备消息处理模块收到小车动作完成消息时,中央处理模块根据接受到的小车动作完成消息,判断当前机器小车是否已经完成设备指令中的动作命令,如判断结果为是,则更新当前机器小车的状态,反之则再次生成包含动作命令的设备指令传输至当前机器小车,使小车重新执行相应的动作,直至设备指令中的动作命令被执行完毕。
31.在本实施例中,通过小车消息处理模块接收自动配送系统中机器小车的状态信息,并由路线规划模块根据调用指令生成路径规划结果,再由中央处理模块转换为设备指令发送至相应的机器小车执行,使得机器小车在轨道地图中按照预定的路径行走,并完成相应的动作,从而实现多台机器小车在纵横交错的轨道地图中同时运行,且相互不发生干扰,更有利于辅助自动配送系统运行与使用。
32.正如上述所提到的,机器小车在纵横交错的轨道地图中行走,因此发明人与针对该纵横交错的轨道,对上述路线规划模块所使用的路径规划算法进行了研究,而设备消息处理模块是整个调度系统的核心,从系统外部接到服务调用以后,会通过此模块生成路径规划结果,根据规划结果生成具体的设备命令。此模块算法的实现,可以同时对多台机器小车发送运行指令,每台机器小车可以指定一个或多个目标节点,本规划算法会根据轨道地图和每个小车的位置状态得出最优的移动规划结果,每台机器小车之间的规划结果会互相避障,如果有多台机器小车需要使用同一个接驳升降梯,也会有专门的排队等待指令。
33.发明人基于上述技术目的,经多次试验后,认为针对前述纵横交错的轨道地图,参考图2所示,该算法可按照如下的步骤进行:步骤s1、以每台机器小车的第一个目标节点为终点,使用cbs方案得出第一路径规划结果;步骤s2、选择确定第一路径规划结果中步骤最多的机器小车为第一基准,然后在其它机器小车的第一路径规划结果中添加原地等待指令,使其他机器小车的第一路径规划结果的步骤与前述基准相同;步骤s3、以每台机器小车的第二个目标节点为终点,然后检查每个机器小车是否还有待规划的目标点,如有,则重复前面的两个步骤,分别得到第二基准、以及与第二基准步骤相同的第二路径规划结果,再次重复后,得到第三基准、以及与第三基准步骤相同的第二路径规划结果,如此进行,直至得出每台机器小车的最后一个目标节点的路径规划结果,且完成步骤s2。
34.在上述的步骤结束后,上述的多台机器小车路径规划完成,此时多台机器小车可
按照规划好的路径在轨道地图中行走。
35.参考图3所示,上述已经介绍了cbs方案,回到本实施例的方法中,步骤s1中的cbs方案与上述相同,具体为:为通过a*算法计算,为每台小车规划一条到终点的最短路径,然后检查判断距离最短的最短路径是否与其他小车冲突。
36.如判断结果为是,以具有冲突的其中一台机器小车是否执行当前指令作为区分,分别生成两个子树,并在不执行当前指令的机器小车的最短路径中增加一个额外的约束;再通过a*算法计算,在各自机器小车所属的子树中重新规划最短路径,即在重新规划最短路径的过程中会跳过前述出现冲突的路径。
37.如判断结果为否,则继续判断另一条的最短路径是否与其他小车冲突。
38.直至每台小车到终点的最短路径都没有冲突,得到上述的第一、第二、第三以及第n路径规划结果。
39.本发明的算法通过上述的改进,基于a*算法及cbs方案,有效的解决了解决多台机器小车多目标节点的路径规划问题,适于与在小区自动快递配送系统中使用,优化快递物流最后一公里的配送。
40.还需要明确的是,上述实施例中使用到的a*算法,以及cbs (conflict

based search) 方案解决mapf(multi

agent path finding)问题。
41.上述a* 算法是 dijkstra 算法的改进版,目的就在于解决 dijkstra 效率低下的问题,刚刚提到 dijkstra 算法不知道目标节点的位置,因此它只能向所有可能的方向扩展节点直到发现目标节点为止。a* 算法为了解决这个问题,在 dijkstra 的基础上引入了启发式函数 h(n),h(n) 表示了当前节点到目标节点的成本,保证了最优性的同时,加入了目标节点的信息,提升了搜索效率。
42.上述启发式函数 h(n) 一般为n点到目标点的距离:在上式中,xn为n点的x轴坐标,yn为n点的y轴坐标,xg为目标点的x轴坐标,yg为目标点的y轴坐标。
43.如果用a* 算法解决图4的问题,使用启发式函数 h(n) 对 dijkstra 算法的步骤进行精简:由于h(n1) > h(n2),会忽略起始点到n1这段路径;起始点到n2之间的路径有:start

n2(12),最短路径为start

n2(12);由于h(n3) > h(n4),会忽略起始点到n3这段路径;起始点到n4之间的路径有:start

n2

n4(24),最短路径为start

n2

n4(24);起始点到目标点之间的路径有:start

n4

goal(36),最短路径为start

n4

goal(36);最终可以得出最短路径为:start

n2

n4

goal(36)。可以看到a* 算法会提前把非最优的路径提前过滤出去,防止遍历过多的无效规划路径。
44.综上所述,a* 算法已经是一个比较完善的单台机器小车路径规划方案,但是无法满足多台机器小车的规划问题,因为 a* 算法只会得出各台机器小车的最优规划路径,无
法保证各个规划结果之间没有冲突。
45.本发明的应用场景为多机器小车路径规划(multi

agent path finding,简称mapf),即通过给每台机器小车规划一条路径,保证这些路径不相撞,并最小化总的运行时间,发明人使用 cbs (conflict

based search) 方案解决 mapf 问题。正如图2所示,本发明所称的cbs 方案的简要流程如下:步骤1、先给每一台机器小车规划一条最短路径,暂时忽略此规划结果可能会与其他机器小车的规划结果冲突;步骤2、检查当前的最短路有没有和其他小车冲突,如果有冲突算法根据其中一台机器小车是否执行当前指令且基准,分别生成两个子树,并对不执行指令的机器小车加一个额外的约束,以保证后面的规划会解决此冲突;步骤3、在各自机器小车维护的子树中重新规划路线,此时的规划会结合已添加的约束自动解决已经存在的冲突;步骤4、重复之前的过程,直到所有的规划结果都没有冲突。
46.在明确了本发明提供的调度系统的基本结构以及所使用的路径规划算法后,仍然参考如图1所示,本发明的另一个实施例是在上述系统结构的基础上,增加一个微服务框架模块,利用该微服务框架模块将中央处理模块转换得到的设备指令封装为rpc接口命令,以供其他内部服务调用。
47.除上述以外,还需要说明的是在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本技术概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
48.尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本技术公开的原则范围和精神之内。更具体地说,在本技术公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜