车辆调度方法、装置、电子设备、计算机可读介质
文献发布时间:2023-06-19 11:29:13
技术领域
本公开涉及计算机技术领域,具体涉及仓储作业技术领域,尤其涉及车辆调度方法和装置、电子设备、计算机可读介质以及计算机程序产品。
背景技术
仓库固有的组单逻辑为预先组成一个集合单,集合单组成时,所有待拣选物品便全部定位完成,AMR(Autonomous Mobile Robot,自主移动机器人)只能在现有物品定位基础上进行路线规划。如果AMR已经确定完拣选路线,当AMR马上经过某位置A,但此时订单池中又有两件新下发的位置A的物品,则该AMR无法领取该任务,此种方式必然会导致AMR无法最大化拣选其行走路线上的商品。
发明内容
本公开的实施例提出了车辆调度方法和装置、电子设备、计算机可读介质以及计算机程序产品。
第一方面,本公开的实施例提供了一种车辆调度方法,该方法包括:获取订单池的初始订单以及仓库中即将出发的当前运输车;组合所有初始订单得到集合单,将集合单对应的位置信息动态分配给当前运输车;基于集合单对应的位置信息,规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行;在订单池有增加订单时,根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车。
在一些实施例中,上述根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车包括:响应于当前运输车中具有订单未饱和的运输车,根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车。
在一些实施例中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车包括:实时获取各个订单未饱和的运输车的位置;针对所有订单未饱和的运输车中各个运输车,响应于该运输车在该运输车对应的运行路线中未驶过增加订单对应的位置,且该运输车的位置距增加订单对应的位置最短,将增加订单对应的位置信息下发给该运输车。
在一些实施例中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车还包括:针对所有订单未饱和的运输车中各个运输车,在各自的运行路线中均已驶过增加订单对应的位置,响应于该运输车在该运输车对应的运行路线中驶过增加订单对应的位置的距离在设定距离阈值范围之内,将增加订单对应的位置信息下发给该运输车,以使该运输车返回增加订单对应的位置。
在一些实施例中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车包括:实时获取各个订单未饱和的运输车的位置;响应于一部分订单未饱和的运输车在其运行路线中已驶过增加订单对应的位置,另一部分订单未饱和的运输车在其运行路线中未驶过增加订单对应的位置,将增加订单对应的位置信息下发给距增加订单对应的位置最短的运输车。
在一些实施例中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车包括:检测增加订单对应的位置所在的片区是否有订单未饱和的运输车;若有,将增加订单对应的位置信息下发给片区中距离增加订单对应的位置最近的订单未饱和的运输车。
第二方面,本公开的实施例提供了一种拣货装置,该装置包括:获取单元,被配置成获取订单池的初始订单以及仓库中即将出发的当前运输车;组合单元,被配置成组合所有初始订单得到集合单;分配单元,被配置成将集合单对应的位置信息动态分配给当前运输车;规划单元,被配置成基于集合单对应的位置信息,规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行;增发单元,被配置成在订单池有增加订单时,根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车。
在一些实施例中,上述增发单元包括:增发模块,被配置成响应于当前运输车中具有订单未饱和的运输车,根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车。
在一些实施例中,上述增发模块包括:获取子模块,被配置成实时获取各个订单未饱和的运输车的位置;下发子模块,被配置成针对所有订单未饱和的运输车中各个运输车,响应于该运输车在该运输车对应的运行路线中未驶过增加订单对应的位置,且该运输车的位置距增加订单对应的位置最短,将增加订单对应的位置信息下发给该运输车。
在一些实施例中,上述增发模块还包括:增发子模块,被配置成针对所有订单未饱和的运输车中各个运输车,在各自的运行路线中均已驶过增加订单对应的位置,响应于该运输车在该运输车对应的运行路线中驶过增加订单对应的位置的距离在设定距离阈值范围之内,将增加订单对应的位置信息下发给该运输车,以使该运输车返回增加订单对应的位置。
在一些实施例中,上述增发模块包括:定位子模块,被配置成实时获取各个订单未饱和的运输车的位置;定距子模块,被配置成响应于一部分订单未饱和的运输车在其运行路线中已驶过增加订单对应的位置,另一部分订单未饱和的运输车在其运行路线中未驶过增加订单对应的位置,将增加订单对应的位置信息下发给距增加订单对应的位置最短的运输车。
在一些实施例中,上述增发模块包括:检测子模块,被配置成检测增加订单对应的位置所在的片区是否有订单未饱和的运输车;定标子模块,被配置成在增加订单对应的位置所在的片区有车辆时,将增加订单对应的位置信息下发给片区中距离增加订单对应的位置最近的订单未饱和的运输车。
第三方面,本公开的实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
第五方面,本公开的实施例提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面任一实现方式描述的方法。
本公开的实施例提供的车辆调度方法和装置,首先获取订单池的初始订单以及仓库中即将出发的当前运输车;其次,组合所有初始订单得到集合单;再次,将集合单对应的位置信息动态分配给当前运输车;从次,基于集合单对应的位置信息,规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行。最后,在订单池有增加订单时,根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车。由此,不再按照订单池的预先设置集合单固定分配行走路线,而是将订单池的所有初始订单组合成一个集合单,并将集合单中的订单动态分配给即将出发的当前运输车,在订单池有增加订单时,随时将增加订单对应的位置信息下发到当前运输车,保证了运输车在运行路线上拣选产品的数量最大化。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的车辆调度方法的一个实施例的流程图;
图3是本公开的实施例中当前运输车一种运行线路示意图;
图4是根据本公开的车辆调度方法的另一个实施例的流程图;
图5是根据本公开的车辆调度装置的实施例的结构示意图;
图6是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的车辆调度方法的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,通常可以包括无线通信链路等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如即时通信工具、邮箱客户端等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有通信和控制功能的车载设备,也可以是安装有上述车载设备的自动导引运输车或自主移动机器人。上述车载设备可以与自动导引运输车或自主移动机器人的自动驾驶系统进行通信。可选地,上述车载设备的功能也可以整合至自动导引运输车或自主移动机器人的自动驾驶系统中。当终端设备101、102、103为软件时,可以安装在上述自动导引运输车或自主移动机器人中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如为终端设备101、102、103上自动驾驶系统提供支持的车联网服务器。车联网服务器可以对网络中各自动导引运输车或自主移动机器人的相关信息进行分析处理,并将处理结果(如集合单对应的位置信息,运行路线等)反馈给终端设备。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本公开的实施例所提供的车辆调度方法一般由服务器105执行。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
如图2,示出了根据本公开的车辆调度方法的一个实施例的流程200,该车辆调度方法包括以下步骤:
步骤201,获取订单池的初始订单以及仓库中即将出发的当前运输车。
本实施例中,订单池为订单系统实时存放订单的池子,通过整合订单池中不同波次的订单确定仓库中存储的待拣选的产品以及各个产品对应的仓库的储位。
当前运输车为从仓库中装载订单中产品的载货工具,该载货工具可以是自主引导车或自主移动机器人,当前运输车进入仓库之前,首先向当前运输车中输入仓库的布局,以使当前元运输车根据仓库的布局确定仓库中所有存储有产品的储位,如图3中的储位A,仓库中设置有多个巷道,在每个巷道内设置有多个储位,每个储位具有一定格式的编码,一般通过排列层来设置编码,比如T-01-01-01,表示这个储位在T巷道,01排,01列,01层。
当前运输车在进入仓库拣选产品之前,需要得到车辆调度方法运行于其上的执行主体下发的订单的产品的位置信息,该产品的位置信息包括:订单的产品的SKU(StockKeeping Unit,库存量单位)、订单对应的位置(订单中各个产品对应的仓库的储位),可以在当前运输车在得到产品的信息之后,为当前运输车的位置规划最短的运行路线,并基于提供的运行路线控制当前运输车在仓库中运行,以使当前运输车基于订单对应的位置在不同产品对应的储位进行产品装载,从而达到拣选产品的目的。
车辆调度方法运行于其上的执行主体(如图1所示的服务器105)可以通过安装在当前运输车上的定位装置获取仓库中即将出发的当前运输车,例如,获取仓库的布局地图,实时获取仓库入口处的用户终端(如图1所示的终端设备101、102、103)上定位装置的信号,确定即将出发的当前运输车。
步骤202,组合所有初始订单得到集合单。
本实施例中,当前运输车可以是一辆运输车也可以是多辆运输车,而初始订单是仓库中当前运输车出发之前,订单池中的订单。
基于传统的为各个运输车预先分配集合单的方法,本实施例中,将所有初始订单组合在一起得到一整个集合单,再为各个运输车动态分配订单,可以综合考虑当前订单池的订单状态,优化各个运输车的运行路线,防止运输车运输过程的拥堵。
可选地,在组合所有初始订单时,还可以根据各个初始订单的属性、来源、以及各个初始订单对应的产品的储位在集合单中将所有初始订单划分为不同的订单子集合(例如,对应的仓库的不同片区,组合属于同一片区的初始订单得到子集合),每个订单子集合可以对应当前运输车中至少一个运输车,通过划分子集合可以快速、便利地为不同区域的运输车分配任务。步骤203,将集合单对应的位置信息动态分配给当前运输车。
本实施例中,集合单对应的位置信息是指集合单中各个初始订单的产品编码(如,SKU)以及初始订单中各个产品对应的仓库的储位。
由于流拣选系统彻底打破集合单的概念,基于流拣选的原理,本实施例中,将所有当下订单作为一整个集合单,将这整个集合单实时动态分配,可以将当前运输车的使用与流拣选系统相结合,使当前运输车的拣选路径最为简洁。
当前运输车可以是一辆运输车也可以是多辆运输车,当当前运输车为一辆运输车时,可以将集合单中所有初始订单的产品编码以及所有初始订单中各个产品对应的仓库的储位分配给当前运输车,以使运输车在仓库中拣选与所有初始订单相关的产品;可选地,还可以根据集合单中各个初始订单的波次不同,将最接近当前时间的波次的初始订单的产品编码以及该初始订单中各个产品对应的仓库的储位分配给当前运输车。
当当前运输车为多辆运输车时,可以基于各个运输车的位置、功能等将集合单中所有初始订单划分不同的子订单集合,为每个运输车分配一个子订单集合,并将各个运输车对应的子订单集合中各个初始订单的产品编码以及子订单集合中各个产品对应的仓库的储位下发给各个运输车。
可选地,对于集合单中属于不同仓库片区的子集合,可以预先为各个运输车划分仓库片区(每个运输车负责不同的仓库片区),基于集合单中所有初始订单所属的仓库片区不同划分不同的子订单集合,为每个运输车分配对应片区的子订单集合,并将各个运输车对应的子订单集合中各个初始订单的产品编码以及子订单集合中各个产品对应的仓库的储位下发给各个运输车。
如图3所示,在运输车AMR1的运行路线B中具有多个产品对应的仓库的储位①分布在运行路线上。
本实施例中,在组合集合单时,无需预先考虑运输车的情况,在组合完成整个集合单之后,基于当前运输车的数量、位置、片区等信息可以为当前运输车动态分配不同的订单,使各个运输车具有各自的、适合当前仓库布局的订单集合。
步骤204,基于集合单对应的位置信息,规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行。
本实施例中,运行路线由运输车对应的初始订单决定,不同的初始订单形成的运行路线不同。而当前运输车可以一辆运输车也可以是多辆运输车,组成集合单的各个初始订单对应的位置信息可以是一个或多个,因此为当前运输车中各个运输车分配的运行路线可以不同。例如,当当前运输车为多辆时,可以为多辆运输车平均分配所有初始订单中所有产品对应的仓库的储位,从而形成各个运输车的运行路线。
本实施例中,在为当前运输车规划运行路线时,可以仅考虑集合单对应的位置信息,以保证当前运输车可以穷尽集合单对应的所有产品的在仓库中的储位。
可选地,车辆调度运行于其上的执行主体还可以基于集合单对应的位置信息、仓库的布局规划当前运输车的运行路线,并向当前运输车下发运行路线。由此,综合考虑仓库的布局信息,可以基于当前仓库的实际布局结构,更加合理规划当前运输车的运行路线。
本实施例中,当前运输车可以是一辆运输车也可以是多辆运输车,当当前运输车为一辆运输车时,需要结合集合单中所有初始订单的产品对应的储位,形成运行路线,即规划的运行路线路过集合单中所有初始订单的产品对应的储位,进一步地,当规划的运行路线有多条路线时,还可以从该多条路线中选取运行距离最短,或运行时间最短的路线作为最终的向当前运输车下发的运行路线。当当前运输车为多辆运输车时,为当前运输车中每辆运输车分配集合单中的至少一个初始订单,并基于各个运输车对应的初始订单为各个运输车规划运行路线,在规划运行路线过程中每辆运输车的运行路线需要路过每辆运输车对应的初始订单的产品的储位,更进一步地,当为各个运输车规划的初始运行路线均为多条时,还可以基于当前运输车中所有运输车对应的仓库的片区或者当前运输车中所有运输车的订单量,为当前运输车中的各个运输车选取各个运输车可运行路程最短或者运行时间最短的运行路线,从而保证向各个运输车下发的运行路线是最优地运行路线。
进一步地,本实施例中,还可以基于仓库布局、运输车的运输需求在规划运行路线时设置运行路线的形状,如图3所示,运输车AMR1的运行路线B的形状为S型,在图3中,运输车AMR1走S型运行路线B,可以保证运输车AMR1行走路程最短。
为了保证拣选的产品的可靠性,可选地,运行路线的形状还可以是“非”字型形状。“非”字型形状的运行路线相对于S型运行路线可以将运输车的路线详尽到各个储位,虽然在行走路程没有优化作用,但是可以保证均可以达到各个储位。
步骤205,在订单池有增加订单时,根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车。
本实施例中,在订单池中的订单随用户的下单情况而变化,例如用户随时下单,订单池中的订单增加,即订单池有增加订单时,基于本实施例中动态给运输车分配集合单对应的位置信息的原理,还可以结合当前运输车的运行路线,实时根据当前运输车的位置(当前运输车在运行路线中所处的位置)以及订单量,向当前运输车下发增加订单对应的位置信息。
本实施例中,订单量是为当前运输车已分配的初始订单的数量,基于订单量和当前运输车的额定量(当前运输车正常运行在当前运行路线的当前位置运行时可以接收的所有的订单的数量),可以计算当前运输车还可以承载的订单数量,即通过订单量可以确定当前运输车的订单是否饱和。若当前运输车的订单已饱和(订单量等于额定量),确定当前运输车无法再承担订单任务;若当前运输车的订单未饱和,确定当前运输车还可以再进行增加订单的运输任务。需要说明的是,由于当前运输车在运行路线是运行状态,其额定量在运行路线的不同位置取值可以不同。
当执行主体接收到增加订单之后,若当前运输车在运行路线中所处的当前位置,还未行使过增加订单的对应的储位,且当前运输车在当前位置处于订单未饱和状态,将增加订单对应的位置信息下发给当前运输车。
本实施例中,可以首先确定多辆运输车中处于未饱和状态的运输车,再基于处于未饱和状态的运输车的位置,向当前运输车下发增加订单对应的位置信息。具体地,在本实施例的一些可选实现方式中,上述根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车包括:响应于当前运输车中具有订单未饱和的运输车,根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车。
本可选实现方式中,通过为订单未饱和的运输车下发增加订单的位置信息,可以保证当前运输车中各个运输车可以最大化的接收订单任务。
可选地,在当当前运输车为多辆运输车时,还可以首先统计多辆运输车中未行使过增加订单的对应的储位的运输车,其次,检测未行使过增加订单的对应的储位的运输车在各自的位置是否处于未饱和状态,最后,选取处于未饱和状态且未行使过增加订单的对应的储位的运输车中运行路线路过增加订单对应储位的运输车,并将增加订单对应的位置信息下发给该选取的运输车。由此,为当前运输车承载增加订单的任务提供了一种可选的实现方式,保证增加订单得到实时处理。
可选地,在当当前运输车为多辆运输车时,还可以首先统计多辆运输车中未行使过增加订单的对应的储位的运输车,其次,检测未行使过增加订单的对应的储位的运输车在各自的位置是否处于未饱和状态,最后,选取处于未饱和状态且未行使过增加订单的对应的储位的运输车中距增加订单对应储位最近的运输车,并将增加订单对应的位置信息下发给该选取的运输车。由此,为当前运输车承载增加订单的任务提供了另一种可选的实现方式,保证增加订单得到实时处理。本公开的实施例提供的车辆调度方法,首先获取订单池的初始订单以及仓库中即将出发的当前运输车;其次,组合所有初始订单得到集合单;再次,将集合单对应的位置信息动态分配给当前运输车;从次,基于集合单对应的位置信息,规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行。最后,在订单池有增加订单时,根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车。由此,不再按照订单池的预先设置集合单固定分配行走路线,而是将订单池的所有初始订单组合成一个集合单,并将集合单中的订单动态分配给即将出发的当前运输车,在订单池有增加订单时,随时将增加订单对应的位置信息下发到当前运输车,保证了运输车在运行路线上拣选产品的数量最大化。
在本公开的另一实施例中,如图4,示出了根据本公开的车辆调度方法的另一个实施例的流程400,该车辆调度方法包括以下步骤:
步骤401,获取订单池的初始订单以及仓库中即将出发的当前运输车。
步骤402,组合所有初始订单得到集合单。
步骤403,将集合单对应的位置信息动态分配给当前运输车。
步骤404,规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行。
应当理解,上述步骤401-步骤404中的操作和特征,分别与步骤201-步骤204中的操作和特征相对应,因此,上述在步骤201-步骤204中对于操作和特征的描述,同样适用于步骤401-步骤404,在此不再赘述。
步骤405,实时获取订单池的增加订单。
本实施例中,订单池中订单可以随用户的下单情况而变化,用户随时下单,订单池中的订单增加,组合的集合单随时更新(集合单中的订单变为初始订单加增加订单),基于本实施例中动态给运输车分配集合单对应的位置信息的原理,还可以结合当前运输车的行走路线,实时根据当前运输车的位置以及订单的饱和度为当前运输车中订单未饱和的运输车下发订单。
步骤406,响应于当前运输车中具有订单未饱和的运输车,根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车。
本实施例提供车辆调度方法,参见流拣选动态下单原理,当当前运输车出发后,如果运输车的集合单未饱和,则仍然可以给运输车分配拣选订单。而运输车的订单是否饱和由运输车的订单容量、订单中产品的储位确定。例如,在仓库中的拣选人员在当前运输车中一些运输车订单容量已饱和,则向车辆调度方法运行于其上的执行主体发送订单已饱和信号。或者,当前运输车的各个运输车上的设备实时检测各自运输车上的订单容量是否已饱和,并在订单饱和时向执行主体发送订单已饱和信号。
本实施例中,增加订单对应的位置信息包括:增加订单的产品编码以及增加订单中各个产品对应的仓库的储位。
本实施例中,当执行主体确定当前运输车中具有订单未饱和的运输车,则实时获取各个订单未饱和的运输车的位置,当某个订单未饱和的运输车距增加订单在仓库中对应的位置最近时,将增加订单对应的位置信息下发给距增加订单在仓库中对应的位置最近该订单未饱和的运输车。或者,当某个订单未饱和的运输车与增加订单属于仓库的同一片区,则将增加订单对应的位置信息下发给与增加订单属于仓库的同一片区的运输车。
本实施例中,由于车辆调度方法运行于其上的执行主体将所有订单(可以包括初始订单和增加订单)组成一整个集合单,从而在有增加订单时,可以在运输车的订单量未饱和时边行走边向运输车下发订单,进而使当前运输车的行走路线更加有效,且还可以减少运输车的使用量。
本实施例提供的车辆调度方法,实时监控订单池中增加订单,并更新集合单,在当前运输车具有订单未饱和的运输车时,结合各个订单未饱和的运输车的位置,将增加单元对应位置下发给订单未饱和的运输车,从而达到了实时根据订单未饱和的运输车的位置进行拣选任务下发的目的。
在本公开的一些可选实现方式中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车包括:实时获取各个订单未饱和的运输车的位置;针对所有订单未饱和的运输车中各个运输车,响应于该运输车在该运输车对应的运行路线中未驶过增加订单对应的位置,且该运输车的位置距增加订单对应的位置最短,将增加订单对应的位置信息下发给该运输车。
本可选实现方式中,增加订单对应的位置信息包括:增加订单的产品编码以及增加订单中各个产品对应的仓库的储位。
本可选实现方式中,增加订单对应的位置是指增加订单的每个产品对应的仓库的储位,执行主体得到增加订单之后,可以通过查找仓库的库存表确定增加订单中各个产品对应的仓库的储位。而运输车的位置距增加订单对应的位置最短是指该运输车的位置距离增加订单的当前产品对应的仓库的储位的距离最短。
如图3所示,运输车AMR1运行在其运行路线B上,订单池中新增加了增加订单对应位置②后,执行主体获取运输车AMR1的位置,如果运输车AMR1还未经过增加订单对应位置②,则将该订单直接分配给该运输车。
本可选实现方式中,在订单未饱和的运输车中有运输车在该运输车对应的运行路线中未驶过增加订单对应的位置,且该运输车的位置距增加订单对应的位置最短,将增加订单对应的位置信息下发给该运输车,从而保证该运输车可以在其运行路线上运行时增加拣选订单,提高了拣选订单的效率,保证了运行路线的产品拣选的最大化。
进一步地,在本实施例的另一些可选实现方式中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车还包括:针对所有订单未饱和的运输车中各个运输车,在各自的运行路线中均已驶过增加订单对应的位置,响应于该运输车在该运输车对应的运行路线中驶过增加订单对应的位置的距离在设定距离阈值范围之内,将增加订单对应的位置信息下发给该运输车,以使该运输车返回增加订单对应的位置。
本可选实现方式中,该运输车在该运输车对应的运行路线中驶过增加订单对应的位置的距离是指,该运输车在运行路线中驶过上述增加订单的当前产品对应的仓库的储位的距离。
本可选实现方式中,设定距离阈值范围可以根据仓库的布局、运输车的长度等进行设置,比如,设定距离阈值范围为(0,10m)。
可选地,针对所有订单未饱和的运输车中各个运输车,在各自的运行路线中均已驶过增加订单对应的位置时,还可以选取距增加订单对应的位置最短的运输车,并将增加订单对应的位置信息下发给选取的运输车。
本可选实现方式中,在订单未饱和的运输车中各运输车均已驶过增加订单对应的位置时,在该运输车对应的运行路线中驶过增加订单对应的位置的距离在设定距离阈值范围之内,将增加订单对应的位置信息下发给该运输车,从而保证该运输车可以在其运行路线上运行时增加拣选订单,提高了拣选订单的效率,保证了运行路线的产品拣选的最大化。
在本实施例的一些可选实现方式中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车包括:实时获取各个订单未饱和的运输车的位置;响应于一部分订单未饱和的运输车在其运行路线中已驶过增加订单对应的位置,另一部分订单未饱和的运输车在其运行路线中未驶过增加订单对应的位置,将增加订单对应的位置信息下发给距增加订单对应的位置最短的运输车。
如图3所示,如果运输车AMR1已经行驶过增加订单的产品对应的储位②,则执行主体评估下一辆运输车的集合单数以及达到该位置的时间,如果下一辆运输车距离增加订单的产品对应的储位②的位置仍然很远,影响增加订单的时效,则控制运输车AMR1折回拣选该增加订单的产品对应的储位②的产品,然后再使运输车AMR1按照之前的运行路线行进拣选产品。
本可选实现方式中,在订单未饱和的运输车中部分运输车已驶过增加订单对应的位置,而另一部分运输车未驶过增加订单对应的位置时,将增加订单对应的位置信息下发给距增加订单对应的位置最短的运输车,从而保证该运输车可以在其运行路线上运行时增加拣选订单,提高了拣选订单的效率,保证了运行路线的产品拣选的最大化。
在本实施例的一些可选实现方式中,上述根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车包括:检测增加订单对应的位置所在的片区是否有订单未饱和的运输车;若有,将增加订单对应的位置信息下发给片区中距离增加订单对应的位置最近的订单未饱和的运输车。
本可选实现方式中,根据增加订单对应的位置所在的片区,确定订单未饱和的运输车,为实现增加订单拣选提供了一种可靠性的运输车动态分配方式,提高了订单池订单拣选效率。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了车辆调度的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本公开的实施例提供了一种车辆调度500,该装置500包括:获取单元501、组合单元502、分配单元503、规划单元504、增发单元505。其中,获取单元501,被配置成获取订单池的初始订单以及仓库中即将出发的当前运输车。组合单元502,被配置成组合所有初始订单得到集合单。分配单元503,被配置成将集合单对应的位置信息动态分配给当前运输车。规划单元504,被配置成基于集合单对应的位置信息,规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行。增发单元505,被配置成在订单池有增加订单时,根据当前运输车的订单量和位置,将增加订单对应的位置信息下发给当前运输车。
在本实施例中,拣货装置500中,获取单元501、组合单元502、分配单元503、规划单元504、增发单元505的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204、步骤205。
在一些实施例中,上述增发单元505包括:增发模块(图中未示出)。其中,增发模块,可以被配置成响应于当前运输车中具有订单未饱和的运输车,根据订单未饱和的运输车的位置,将增加订单对应的位置信息下发给订单未饱和的运输车。
在一些实施例中,上述增发模块包括:包括:获取子模块(图中未示出)、下发子模块(图中未示出)。其中,上述获取子模块,可以被配置成实时获取各个订单未饱和的运输车的位置。上述下发子模块,可以被配置成针对所有订单未饱和的运输车中各个运输车,响应于该运输车在该运输车对应的运行路线中未驶过增加订单对应的位置,且该运输车的位置距增加订单对应的位置最短,将增加订单对应的位置信息下发给该运输车。
在一些实施例中,上述增发模块还包括:增发子模块(图中未示出)。其中,上述增发子模块,可以被配置成针对所有订单未饱和的运输车中各个运输车,在各自的运行路线中均已驶过增加订单对应的位置,响应于该运输车在该运输车对应的运行路线中驶过增加订单对应的位置的距离在设定距离阈值范围之内,将增加订单对应的位置信息下发给该运输车,以使该运输车返回增加订单对应的位置。
在一些实施例中,上述增发模块包括:定位子模块(图中未示出)、定距子模块(图中未示出)。其中,上述定位子模块,可以被配置成实时获取各个订单未饱和的运输车的位置。上述定距子模块,可以被配置成响应于一部分订单未饱和的运输车在其运行路线中已驶过增加订单对应的位置,另一部分订单未饱和的运输车在其运行路线中未驶过增加订单对应的位置,将增加订单对应的位置信息下发给距增加订单对应的位置最短的运输车。
在一些实施例中,上述增发模块包括:检测子模块(图中未示出)、定标子模块(图中未示出)。其中,上述检测子模块,可以被配置成检测增加订单对应的位置所在的片区是否有订单未饱和的运输车。上述定标子模块,可以被配置成在增加订单对应的位置所在的片区有车辆时,将增加订单对应的位置信息下发给片区中距离增加订单对应的位置最近的订单未饱和的运输车。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备600的结构示意图。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、等的输入装置606;包括例如液晶显示器(LCD,Liquid Crystal Display)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。
需要说明的是,本公开的实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:获取订单池的初始订单以及仓库中即将出发的当前运输车;组合所有初始订单得到集合单,将集合单对应的位置信息动态分配给当前运输车;规划并向当前运输车下发运行路线,以使当前运输车按运行路线在仓库中运行。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括获取单元、组合单元、分配单元、规划单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,位置获取单元还可以被描述为“被配置成获取订单池的初始订单以及仓库中即将出发的当前运输车”的单元。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
- 配送车辆调度方法、装置、电子设备和计算机可读介质
- 配送车辆调度方法、装置、电子设备和计算机可读介质