CN110645983A - 用于无人车的路径规划方法、装置和系统 - Google Patents
用于无人车的路径规划方法、装置和系统 Download PDFInfo
- Publication number
- CN110645983A CN110645983A CN201810666631.5A CN201810666631A CN110645983A CN 110645983 A CN110645983 A CN 110645983A CN 201810666631 A CN201810666631 A CN 201810666631A CN 110645983 A CN110645983 A CN 110645983A
- Authority
- CN
- China
- Prior art keywords
- path
- distribution
- stations
- order
- unmanned vehicle
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3415—Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/4189—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the transport system
- G05B19/41895—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the transport system using automatic guided vehicles [AGV]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/28—Logistics, e.g. warehousing, loading, distribution or shipping
-
- 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]
Abstract
本申请实施例公开了用于无人车的路径规划方法、装置和系统。该方法的一具体实施方式包括:根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单;根据预先存储的路网数据和分配的订单,确定无人车待配送的站点;将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径;将生成的配送路径发送给对应的无人车。该实施方式有助于提高路径的规划效率。
Description
技术领域
本申请实施例涉及物流配送技术领域,具体涉及用于无人车的路径规划方法、装置和系统。
背景技术
随着互联网技术和自动化技术的发展,尤其是硬件成本的降低,人力成本的上升,未来无人配送车将成为快递行业必然的发展方向。在快递行业,从卖家到买家大致经过:卖家—发货地分拣中心—运输—收货地分拣中心—配送站—配送员—用户。无人配送车所要解决的是代替配送员,将订单从配送站送给用户。而每个配送站往往有不止一个配送车,面对配送站大量的订单,如何分配订单给配送车,并设计配送车的路线将成为一个非常重要的问题。
发明内容
本申请实施例提出了用于无人车的路径规划方法、装置和系统。
第一方面,本申请实施例提出了一种用于无人车的路径规划方法,包括:根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单;根据预先存储的路网数据和分配的订单,确定无人车待配送的站点,其中,路网数据包括站点信息和任意目标数目个站点之间的最短路径信息,站点信息包括站点的位置信息和对应的配送区域;将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径,其中,当前路径中除起点外的站点为无人车待配送的站点;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径;将生成的配送路径发送给对应的无人车,以使该无人车按照该配送路径将分配的订单配送至对应的站点。
在一些实施例中,该方法还包括:响应于确定选取的最短路径中未包含无人车待配送的全部站点,将当前路径中终点端的预设数目个站点作为起点,继续执行路径规划步骤。
在一些实施例中,路网数据包括任意两个站点之间的最短路径信息;以及该方法还包括:响应于确定选取的最短路径中包含无人车待配送的全部站点,但终点不是配送中心,从路网数据的任意两个站点之间的最短路径信息中,选取从该终点出发至配送中心的最短路径;根据选取的最短路径生成配送路径。
在一些实施例中,根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单,包括:根据各待配送订单的货物体积以及无人车的各储位容积,将体积大的货物放入容积大的储位,其中,无人车包含至少两个分为至少两种容积的储位,且同一储位对应同一用户的订单。
在一些实施例中,待配送订单通过一些步骤获得:从当日的各订单集合中选取对应当前服务时间段的订单集合,以作为当前订单集合,其中,根据当日待配送订单中设定的配送时间,将当日待配送订单预先划分为至少两个订单集合,各订单集合对应配送中心不同的服务时间段;确定当前订单集合中的待配送订单的数量是否不小于当前空闲的无人车的总储位数量;响应于确定待配送订单的数量小于总储位数量,从剩余的订单集合中选取待配送订单,加入当前订单集合中。
在一些实施例中,从剩余的订单集合中选取待配送订单,加入当前订单集合中,包括:在对应下个服务时间段的订单集合中,统计该订单集合对应的每个站点与当前订单集合对应的各站点之间的曼哈顿距离的总和;按照曼哈顿距离的总和由小到大的顺序,从小的一端站点对应的待配送订单中选取待配送订单,以及将选取的待配送订单加入当前订单集合中。
在一些实施例中,若有至少两辆无人车配送订单,则根据选取的最短路径生成配送路径,包括:根据选取的最短路径,生成每辆无人车的第一候选配送路径,统计至少两辆无人车的第一总配送距离,其中,最短路径信息包括路径距离;执行以下调整步骤:交换任意两辆无人车的目标储位所分配的订单,对于该任意两辆无人车中的每辆无人车,根据调整后的待配送的站点,再次执行路径规划步骤,生成该无人车的第二候选配送路径;确定至少两辆无人车调整后的总配送距离是否小于第一总配送距离;若调整后的总配送距离小于第一总配送距离,则将交换的两辆无人车的第二候选配送路径分别作为第一候选配送路径,并将调整后的总配送距离作为第一总配送距离;直至调整时长达到预设时长,将至少两辆无人车的第一候选配送路径分别作为配送路径;其中,目标储位为两辆无人车的各储位中,所分配的订单对应的站点不是彼此待配送的站点、且储位容积不小于彼此所分配的订单的货物体积的储位。
第二方面,本申请实施例提出了一种用于无人车的路径规划装置,包括:订单分配单元,被配置成根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单;站点确定单元,被配置成根据预先存储的路网数据和分配的订单,确定无人车待配送的站点,其中,路网数据包括站点信息和任意目标数目个站点之间的最短路径信息,站点信息包括站点的位置信息和对应的配送区域;路径规划单元,被配置成将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径,其中,当前路径中除起点外的站点为无人车待配送的站点;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径;发送单元,被配置成将生成的配送路径发送给对应的无人车,以使该无人车按照该配送路径将分配的订单配送至对应的站点。
在一些实施例中,该装置还包括:第一响应单元,被配置成响应于确定选取的最短路径中未包含无人车待配送的全部站点,将当前路径中终点端的预设数目个站点作为起点,继续执行路径规划步骤。
在一些实施例中,路网数据包括任意两个站点之间的最短路径信息;以及该装置还包括:第二响应单元,被配置成响应于确定选取的最短路径中包含无人车待配送的全部站点,但终点不是配送中心,从路网数据的任意两个站点之间的最短路径信息中,选取从该终点出发至配送中心的最短路径;根据选取的最短路径生成配送路径。
在一些实施例中,订单分配单元进一步被配置成:根据各待配送订单的货物体积以及无人车的各储位容积,将体积大的货物放入容积大的储位,其中,无人车包含至少两个分为至少两种容积的储位,且同一储位对应同一用户的订单。
在一些实施例中,该装置还包括待配送订单获得单元,被配置成:从当日的各订单集合中选取对应当前服务时间段的订单集合,以作为当前订单集合,其中,根据当日待配送订单中设定的配送时间,将当日待配送订单预先划分为至少两个订单集合,各订单集合对应配送中心不同的服务时间段;确定当前订单集合中的待配送订单的数量是否不小于当前空闲的无人车的总储位数量;响应于确定待配送订单的数量小于总储位数量,从剩余的订单集合中选取待配送订单,加入当前订单集合中。
在一些实施例中,待配送订单获得单元进一步被配置成:在对应下个服务时间段的订单集合中,统计该订单集合对应的每个站点与当前订单集合对应的各站点之间的曼哈顿距离的总和;按照曼哈顿距离的总和由小到大的顺序,从小的一端站点对应的待配送订单中选取待配送订单,以及将选取的待配送订单加入当前订单集合中。
在一些实施例中,若有至少两辆无人车配送订单,则路径规划单元还包括:生成子单元,被配置成根据选取的最短路径,生成每辆无人车的第一候选配送路径,统计至少两辆无人车的第一总配送距离,其中,最短路径信息包括路径距离;调整子单元,被配置成执行以下调整步骤:交换任意两辆无人车的目标储位所分配的订单,对于该任意两辆无人车中的每辆无人车,根据调整后的待配送的站点,再次执行路径规划步骤,生成该无人车的第二候选配送路径;确定至少两辆无人车调整后的总配送距离是否小于第一总配送距离;若调整后的总配送距离小于第一总配送距离,则将交换的两辆无人车的第二候选配送路径分别作为第一候选配送路径,并将调整后的总配送距离作为第一总配送距离;直至调整时长达到预设时长,将至少两辆无人车的第一候选配送路径分别作为配送路径;其中,目标储位为两辆无人车的各储位中,所分配的订单对应的站点不是彼此待配送的站点、且储位容积不小于彼此所分配的订单的货物体积的储位。
第三方面,本申请实施例提出了一种用于无人车的路径规划系统,包括:服务器,被配置成根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单;根据预先存储的路网数据和分配的订单,确定无人车待配送的站点,其中,路网数据包括站点信息和任意目标数目个站点之间的最短路径信息,站点信息包括站点的位置信息和对应的配送区域;将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径,其中,当前路径中除起点外的站点为无人车待配送的站点;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径;将生成的配送路径发送给对应的无人车;无人车,被配置成按照服务器发送的配送路径,将分配的订单配送至对应的站点。
在一些实施例中,该系统还包括:终端,被配置成将接收的订单变更请求发送给对应的无人车,其中,订单变更请求包括变更配送地址和\或配送时间;以及无人车,还被配置成根据订单变更请求和剩余的待配送订单,确定待配送的站点数目是否大于目标数目的最大值;响应于确定待配送的站点数目不大于目标数目的最大值,从路网数据的任意目标数目个站点之间的最短路径信息中,选取从当前所在站点出发至配送中心、且途经待配送站点的最短路径,根据选取的最短路径生成变更后的配送路径。
在一些实施例中,无人车还被配置成:响应于确定待配送的站点数目大于目标数目的最大值,将无人车当前所在的站点作为起点,执行路径规划步骤,生成变更后的配送路径。
在一些实施例中,执行路径规划步骤,生成变更后的配送路径,包括:执行路径规划步骤,生成变更后的第三候选配送路径,统计第三候选配送路径的总距离;执行以下优化步骤:交换第三候选配送路径中除起点和终点外的任意两个站点之间的顺序,生成第四候选配送路径;确定第四候选配送路径的总距离是否小于第三候选配送路径的总距离;若第四候选配送路径的总距离小于第三候选配送路径的总距离,则将第四候选配送路径作为第三候选配送路径;直至优化时长达到预设时长,将第三候选配送路径作为变更后的配送路径。
第四方面,本申请实施例提出了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一实施例所描述的方法。
第五方面,本申请实施例提出了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如上述第一方面中任一实施例所描述的方法。
本申请实施例提出的用于无人车的路径规划方法、装置和系统,首先,根据待配送订单的订单信息和无人车的数据信息,可以为无人车分配订单。然后,根据预先存储的路网数据和分配的订单,可以确定无人车待配送的站点。其中,路网数据可以包括站点信息和任意目标数目个站点之间的最短路径信息;而站点信息可以包括站点的位置信息和对应的配送区域。接着,可以将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径,其中,当前路径中除起点外的站点为无人车待配送的站点;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径。最后,可以将生成的配送路径发送给对应的无人车,以使该无人车按照该配送路径将分配的订单配送至对应的站点。也就是说,利用预先存储的路网数据可以有助于提高无人车配送路径的规划效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于无人车的路径规划方法的一个实施例的流程图;
图3是根据本申请的用于无人车的路径规划方法的又一个实施例的流程图;
图4是根据本申请的用于无人车的路径规划装置的一个实施例的结构示意图;
图5是根据本申请的用于无人车的路径规划系统的一个实施例的时序图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的用于无人车的路径规划方法、装置或系统的示例性系统架构100。
如图1所示,系统架构100可以包括终端101、102,网络103、106,数据库服务器104、服务器105和无人车107、108。网络103可以用以在终端101、102,数据库服务器104和服务器105之间提供通信链路的介质。网络106可以用以在数据库服务器104、服务器105和无人车107、108之间提供通信链路的介质。网络103、106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端101、102通过网络103与服务器105进行交互,以接收或发送消息等。终端101、102上可以安装有各种客户端应用,例如购物类应用、订单管理系统、无人车配送管理系统、网页浏览器和即时通讯工具等。
这里的终端101、102可以是硬件,也可以是软件。当终端101、102为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、膝上型便携计算机和台式计算机等等。当终端101、102为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
数据库服务器104可以是提供各种服务的服务器,例如可以是对路网数据进行存储、更新的服务器。该服务器还可以用于存储订单信息。
服务器105也可以是提供各种服务的服务器,例如可以是对终端101、102所安装的应用提供支持的后台服务器。后台服务器可以根据终端101、102发送的操作指令,对无人车107、108进行配送管理。即后台服务器可以对待配送订单的订单信息、无人车的数据信息以及路网数据进行分析,并可以将分析结果(例如生成的配送路径)发送给无人车107、108。这样无人车可以按照该配送路径将分配的订单配送至对应的站点。
这里的数据路服务器104和服务器105同样可以是硬件,也可以是软件。当数据路服务器104和服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当数据路服务器104和服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
无人车107、108可以为各种用于配送包裹货物的无人车。无人车107、108上一般设置有用于放置货物的储位。
需要说明的是,本申请实施例所提供的用于无人车的路径规划方法一般由服务器105执行。相应地,用于无人车的路径规划装置一般设置于服务器105中。
可以理解的是,在服务器105具有数据库服务器104的相应功能的情况下,系统架构100可以不设置数据库服务器104。
应该理解,图1中的终端、网络、数据库服务器、服务器和无人车的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络、数据库服务器、服务器和无人车。
继续参见图2,其示出了根据本申请的用于无人车的路径规划方法的一个实施例的流程200。该用于无人车的路径规划方法可以包括以下步骤:
步骤201,根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单。
在本实施例中,用于无人车的路径规划方法的执行主体(例如图1所示的服务器105)可以根据待配送订单的订单信息和无人车(例如图1所示的无人车107、108)的数据信息,为无人车分配订单。其中,订单信息通常可以包括(但不限于)货物的属性信息(如名称、数量、尺寸等)和配送信息(如配送地址、配送时间等)。无人车的数据信息通常可以包括无人车的属性信息(如编号、储位尺寸和数量等)和工作状态(如配送状态、空闲状态或故障维修状态等)。在这里,待配送订单的订单信息和无人车的数据信息可以(但不限于)存储在数据库服务器(例如图1所示的数据库服务器104)中。
例如,执行主体可以为每辆无人车随机分配订单。又例如,执行主体可以根据待配送订单中设定的配送时间,从中选取最近的(即距离当前时间较近)待配送订单进行分配。再例如,若无人车仅有一个较大的储位,则执行主体可以根据待配送订单中货物的体积,选取总体积接近无人车的储位容积的一个或多个待配送订单。这样可以提高储位的空间利用率,提升配送效率。
在本实施例的一些可选地实现方式中,无人车可以包含至少两个储位。且至少两个储位分为至少两种容积。也就是说,一辆无人车可以包含多种容积的储位。而为了避免在配送过程中用户拿错订单,一个储位一般可以放置一个用户的订单货物。此时,执行主体可以根据各待配送订单的货物体积以及无人车的各储位容积,将体积大的货物放入容积大的储位。例如,执行主体可以按照储位容积由大到小的顺序,从大的一端开始依次放入体积由大到小的货物,以提高储位的空间利用率。
需要说明的是,配送中心每日的服务时间一般是固定,如8:00-18:00。且待配送订单中设定的配送时间通常在服务时间内。而每个待配送订单可以设定有多个配送时间。因此,可以将服务时间划分为不同的服务时间段,如8:00-10:00,10:00-12:00等。每个服务时间段的时长在本申请中并不限制。进而,可以根据当日待配送订单中设定的配送时间,将当日待配送订单预先划分为至少两个订单集合。其中,各订单集合对应配送中心不同的服务时间段。
在这里,对于未设定配送时间的待配送订单,例如执行主体可以根据订单的生成时间的先后顺序,将其均分至上述至少两个订单集合中。作为示例,执行主体可以根据各订单对应的站点,将待配送订单进行聚类,即同一站点的待配送订单属于一类。这样,执行主体可以将未设定配送时间的待配送订单,划分至属于一类的设定配送时间的待配送订单所在的订单集合中。具体划分方法不限制。
可选地,上述分配给无人车的待配送订单可以通过以下步骤获得:首先,执行主体可以从当日的各订单集合中选取对应当前服务时间段的订单集合,以作为当前订单集合。这里的当前服务时间段可以是当前时间所在的服务时间段,也可以是最近的服务时间段。接着,执行主体可以确定当前订单集合中的待配送订单的数量是否不小于当前空闲的无人车的总储位数量,即确定是否有剩余储位。若待配送订单的数量小于总储位数量,则执行主体可以从剩余的订单集合中选取待配送订单,从而加入当前订单集合中。这里的选取方式不限制,例如可以从剩余的订单集合中选取与当前订单集合中的待配送订单对应相同站点的待配送订单。
进一步地,执行主体可以按照时间的先后顺序,在对应下个服务时间段的订单集合中,统计该订单集合对应的每个站点与当前订单集合对应的各站点之间的曼哈顿距离的总和。然后,按照曼哈顿距离的总和由小到大的顺序,从小的一端站点对应的待配送订单中选取待配送订单,以及将选取的待配送订单加入当前订单集合中。这样有助于减小无人车的配送距离,从而提高配送效率,减低能耗。
例如当前订单集合对应的站点有A和B。对应下个服务时间段的订单集合对应的站点有C和D。执行主体可以计算C与A、B之间的曼哈顿距离的总和L1。并可以计算D与A、B之间的曼哈顿距离的总和L2。若L1小于L2,则执行主体可以从对应下个服务时间段的订单集合中,对应站点C的各待配送订单中选取。
需要说明的是,在从剩余的订单集合中选取待配送订单之前,执行主体还可以进一步地预估配送完成当前订单集合中的待配送订单后,当前服务时间段的剩余时长是否大于每个站点的平均配送时长。若剩余时长大于每个站点的平均配送时长,则说明可能会提前完成当前服务时间段的配送任务。此时,执行主体可以从剩余的订单集合中选取待配送订单。即可以利用剩余时间继续进行订单配送,从而提高无人车的利用率,完善订单的合理分配过程。其中,每个站点的平均配送时长包括无人车从前一个站点行驶至该站点的时长以及等待用户领取订单货物的时长。
在这里,执行主体可以根据当前订单集合对应的站点数量以及每个站点的平均配送时长,来预估无人车从每个站点的出发时间。这样就可以确定无人车从当前订单集合对应的最后一个站点的出发时间。进而可以确定最后一个站点的出发时间与当前服务时间段的结束时间之间的差值,即为当前服务时间段的剩余时长。其中,无人车从配送中心出发的时间可以人为设置。可以理解的是,如果当日的各订单集合中没有对应当前服务时间段的订单集合,那么可以推迟无人车在配送中心的出发时间。例如可以使无人车在配送中心的出发时间为下个服务时间段的开始时间。
步骤202,根据预先存储的路网数据和分配的订单,确定无人车待配送的站点。
在本实施例中,根据预先存储的路网数据和步骤201中分配的订单,执行主体可以确定无人车待配送的站点。其中,路网数据可以包括站点信息和任意目标数目个站点之间的最短路径信息。站点信息可以包括站点的位置信息和对应的配送区域。而最短路径信息一般可以包括无人车可行驶的最短路线。目标数目可以根据实际情况来设置,如可以为2和/或3等。路网数据的存储位置在本申请中并不限制,如可以存储在数据库服务器中。
也就是说,根据路网数据中各站点对应的配送区域,执行主体可以确定每辆无人车上的待配送订单中的配送地址对应的站点,即为该无人车待配送的站点。
可以理解的是,不同于传统的车辆,无人车一般需要行驶在非机动车道和人行道。且对道路有一定的要求,比如不建议泥土路、石子路等不平坦道路。此外,无人车不能像人一样上楼梯,走角度较大的斜坡,或者穿过某些路障和一些特殊地点,所以需要设立固定的配送站点。即每个配送中心可以对应多个站点,且每个站点对应不同的配送区域。
步骤203,从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径。
在本实施例中,执行主体可以将无人车所在的配送中心作为起点,并执行以下路径规划步骤(即步骤203至步骤205)。首先,执行主体可以从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径,以作为当前路径。其中,当前路径中除起点外的站点为无人车待配送的站点。也就是说,除去起点(配送中心)外,选取的最短路径(当前路径)中的其他站点都是无人车待配送的站点。
作为示例,路网数据中包括任意两个、三个和四个站点之间的最短路径信息。而无人车待配送的站点为A、B、C、D和E。此时,为了提高路径规划效率,执行主体可以从任意四个站点之间的最短路径信息中,选取从配送中心出发、且包含站点A-E中任意三个站点的最短路径,以作为当前路径。可以理解的是,在路径规划过程中,可以直接利用预先存储的路网数据。这样可以减少计算量,从而有助于提高路径的规划效率。
需要说明的是,由于无人车通常是从配送中心出发进行货物配送,所以在规划路径时,一般是以配送中心为起点和终点。
步骤204,确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心。
在本实施例中,执行主体可以确定选取的最短路径(包括当前路径)中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心。也就是说,选取的所有最短路径连接在一起,是否是以配送中心为起点和终点、且经过无人车待配送的全部站点。
在本实施例的一些可选地实现方式中,若执行主体确定选取的最短路径中未包含无人车待配送的全部站点,则说明路径规划未完成。此时,执行可以将当前路径中终点端的预设数目个站点作为起点,继续执行路径规划步骤。其中,预设数目可以根据实际情况设置,一般小于目标数目。当目标数目为多个数值(如2、3和4)时,预设数目可以小于目标数目中的最大数值(如4)。
作为示例,配送中心为O;无人车待配送的站点为A、B、C、D和E;当前路径为O-A-B-C。此时,执行主体可以将当前路径中的A-B-C作为起点,继续执行上述路径规划步骤。即从任意四个站点之间的最短路径信息中,选取从A-B-C出发、且包含站点D或E的最短路径,以作为当前路径。
可选地,执行主体可以将当前路径中的B-C作为起点,从任意三个站点之间的最短路径信息中,选取从B-C出发、且包含站点D或E的最短路径,以作为当前路径。或者,从任意四个站点之间的最短路径信息中,选取从B-C出发、且包含站点D和E的最短路径,以作为当前路径。再或者,执行主体可以将当前路径中的C作为起点,从任意四个站点之间的最短路径信息中,选取从C出发、且包含站点D、E和O的最短路径,以作为当前路径。
进一步地,在路网数据包括任意两个站点之间的最短路径信息的情况下,若执行主体确定选取的最短路径中包含无人车待配送的全部站点,但终点不是配送中心,则可以从路网数据的任意两个站点之间的最短路径信息中,选取从该终点(即选取的最短路径中的终点)出发至配送中心的最短路径。进而可以根据选取的最短路径生成配送路径。
例如,待配送的站点为A、B和C,选取的最短路径为O-A-B-C。此时,执行主体可以从路网数据的任意两个站点之间的最短路径信息中,选取从站点C出发至配送中心O的最短路径。进而可以生成配送路径O-A-B-C-O。
可以理解的是,利用路网数据中的任意目标数目个站点之间的最短路径信息,可以减少很多重复计算过程,降低执行主体的资源占用,有利于快速生成无人车的配送路径。而且通过对路网数据进行维护和更新,如站点信息的变更,可以保证路径规划的准确性。
步骤205,响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径。
在本实施例中,若执行主体确定选取的最短路径中包含无人车待配送的全部站点,且终点是配送中心,则说明路径规划完成。执行主体可以根据选取的最短路径生成配送路径。例如可以将选取的最短路径中的无人车可行驶路线作为配送路径。
可以理解的是,在生成配送路径时,对于选取的各最短路径中的重叠部分,执行主体可以仅统计一次。例如当前路径为O-A-B-C,后续选取的最短路径为A-B-C-E,则生成的配送路径为O-A-B-C-E。
此外,一个配送中心往往会设置有多辆无人车,以进行订单配送。所以在本实施例的一些可选地实现方式中,执行主体还可以对每辆无人车所选取的最短路径进行优化调整,从而使得整体的配送距离更短。这样有助于提高整体的配送效率,同时可以减低能耗。具体可以参见图3实施例的相关描述,此处不再赘述。
步骤206,将生成的配送路径发送给对应的无人车。
在本实施例中,执行主体可以将步骤205中生成的配送路径发送给对应的无人车。这样,可以使该无人车按照该配送路径,将分配的订单配送至对应的站点,以完成配送任务。
本实施例中的用于无人车的路径规划方法,首先,根据待配送订单的订单信息和无人车的数据信息,可以为无人车分配订单。然后,根据预先存储的路网数据和分配的订单,可以确定无人车待配送的站点。接着,可以将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径。最后,可以将生成的配送路径发送给对应的无人车,以使该无人车按照该配送路径将分配的订单配送至对应的站点。也就是说,利用预先存储的路网数据可以有助于提高无人车配送路径的规划效率。
进一步参见图3,其示出了根据本申请的用于无人车的路径规划方法的又一个实施例的流程300。该用于无人车的路径规划方法不仅可以包括图2实施例中的步骤,还可以包括以下步骤:
步骤301,根据选取的最短路径,生成每辆无人车的第一候选配送路径,统计至少两辆无人车的第一总配送距离。
在本实施例中,若有至少两辆无人车配送订单,则用于无人车的路径规划方法的执行主体(例如图1所示的服务器105)可以根据每辆无人车选取的最短路径,生成每辆无人车的第一候选配送路径。并且可以统计至少两辆无人车的第一总配送距离,即各辆无人车的第一候选配送路径的距离的总和。其中,最短路径信息可以包括路径距离。
步骤302,交换任意两辆无人车的目标储位所分配的订单,对于该任意两辆无人车中的每辆无人车,根据调整后的待配送的站点,再次执行路径规划步骤,生成该无人车的第二候选配送路径。
在本实施例中,执行主体可以执行以下调整步骤(即步骤302至步骤305):首先,对于至少两辆无人车,执行主体可以交换任意两辆无人车的目标储位所分配的订单。其中,目标储位可以为两辆无人车的各储位中,所分配的订单对应的站点不是彼此待配送的站点、且储位容积不小于彼此所分配的订单的货物体积的储位。之后,对于该任意两辆无人车(即交换的两辆无人车)中的每辆无人车,执行主体可以根据调整后的待配送的站点,再次执行上述路径规划步骤,从而可以生成该无人车的第二候选配送路径。
作为示例,无人车A的储位A1、A2中的订单均对应站点C。无人车B的储位B1和B2中的订单分别对应站点D和E。其中,A1和B1的容积相同,均为大储位。A2和B2均为小储位。且A1中的订单货物体积较大。其他储位中的订单货物体积小。此时,由于A1与B1对应的站点不同,且B1可以放置A1中的订单货物,所以A1与B1可以为目标储位。这样交换后,无人车A待配送的站点为D和C;而无人车B待配送的站点为C和E。另外,由于A2与B1、B2对应的站点均不同,且A2可以放置B1或B2中的订单货物,B1或B2也可以放置A2中的订单货物,所以A2与B1、A2与B2也可以为目标储位。
步骤303,确定至少两辆无人车调整后的总配送距离是否小于第一总配送距离。
在本实施例中,执行主体可以确定至少两辆无人车调整后的总配送距离是否小于第一总配送距离。也就是说,每次调整交换之后,执行主体可以统计各无人车的总配送距离,以确定其是否小于第一总配送距离。
在这里,如果调整后的总配送距离不小于第一总配送距离,即说明调整后各无人车的总配送距离没有减小,那么执行主体可以忽略此次调整,保持各无人车原来的第一候选配送路径。如果调整后的总配送距离小于第一总配送距离,即说明调整后各无人车的总配送距离减小了,那么执行主体可以继续执行步骤304。在一些应用场景中,执行主体还可以对交换过的两个目标储位进行标记,从而避免重复交换计算。
步骤304,若调整后的总配送距离小于第一总配送距离,则将交换的两辆无人车的第二候选配送路径分别作为第一候选配送路径,并将调整后的总配送距离作为第一总配送距离。
在本实施例中,若调整后的总配送距离小于第一总配送距离,则执行主体可以将交换的两辆无人车的第二候选配送路径分别作为第一候选配送路径。并可以将调整后的总配送距离作为第一总配送距离。此时,执行主体可以返回步骤302,继续执行调整步骤。
步骤305,直至调整时长达到预设时长,将至少两辆无人车的第一候选配送路径分别作为配送路径。
在本实施例中,执行主体可以循环执行上述调整步骤,直至调整时长达到预设时长(如2分钟)。此时,执行主体可以将至少两辆无人车的第一候选配送路径分别作为各自的配送路径。
可以理解的是,本实施例中的用于无人车的路径规划方法,可以将无人车的配送路径规划问题转换为一种数学模型。并采用启发式算法,得到该模型可行的、结果较好的解。且通过不断搜索可行解,来使得目标函数(即总运行时间)不断减小。直至达到求解时间的限制,从而返回搜索的解。在这里,所有可行解都必须满足该数学模型的条件,否则就不是可行解。数学模型可以包括以下内容:
满足
其中,i和j表示待配送的订单,且每个订单都对应有所需配送到的站点,i,j=0,1,...,n+1,0和n+1分别表示起始站点和终点站点,这里均为配送中心;ti,j表示无人车在任意两个订单i与j对应的站点之间所用的时间,若两个订单对应同一站点,则该时间为0;v表示无人车,v=1,...,M;
表示任意两个订单i和j由第v辆无人车来配送,若是则为1,若否则为0;k表示无人车的储位,k=1,...,S;表示第v辆无人车配送第j个订单的货物,且将其放在第k个储位,若是则为1,若否则为0。
其中,Vk表示无人车的第k个储位容积;V'j表示第j个订单的货物体积。
其中,
表示第v辆无人车将第j个订单送达到对应站点的时间;aj和bj分别表示第j个订单中设定的配送时间段的两个端值。在这里,公式(1)表示M辆无人车的总运行时间的最小值。公式(2)表示货物体积不大于储位容积。公式(3)表示分配给每辆无人车的订单数量不大于其储位数量。公式(4)表示任一订单都有、且仅有一辆无人车来配送。公式(5)表示所有无人车都从起点出发参与配送。公式(6)表示所有无人车都回到终点。公式(7)表示任意三个订单所对应的站点之间的路径关系。公式(8)表示预估的送达时间在用户设定的配送时间段内。
本实施例中的用于无人车的路径规划方法,在确定每辆无人车的第一候选配送路径的情况下,还可以对无人车的配送路径进行调整优化,以减小各无人车的总配送距离,即缩短整体的配送距离。这样,不仅可以调高整体的配送效率,还有助于降低能耗。
请参见图4,作为对上述各图所示方法的实现,本申请提供了一种用于无人车的路径规划装置的一个实施例。该装置实施例与上述各实施例所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的用于无人车的路径规划装置400可以包括:订单分配单元401,被配置成根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单;站点确定单元402,被配置成根据预先存储的路网数据和分配的订单,确定无人车待配送的站点,其中,路网数据包括站点信息和任意目标数目个站点之间的最短路径信息,站点信息包括站点的位置信息和对应的配送区域;路径规划单元403,被配置成将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径,其中,当前路径中除起点外的站点为无人车待配送的站点;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径;发送单元404,被配置成将生成的配送路径发送给对应的无人车,以使该无人车按照该配送路径将分配的订单配送至对应的站点。
在本实施例的一些可选地实现方式中,该装置400还可以包括:第一响应单元(图4中未示出),被配置成响应于确定选取的最短路径中未包含无人车待配送的全部站点,将当前路径中终点端的预设数目个站点作为起点,继续执行路径规划步骤。
可选地,路网数据可以包括任意两个站点之间的最短路径信息;以及该装置400还可以包括:第二响应单元(图4中未示出),被配置成响应于确定选取的最短路径中包含无人车待配送的全部站点,但终点不是配送中心,从路网数据的任意两个站点之间的最短路径信息中,选取从该终点出发至配送中心的最短路径;根据选取的最短路径生成配送路径。
在一些实施例中,订单分配单元401可以进一步被配置成:根据各待配送订单的货物体积以及无人车的各储位容积,将体积大的货物放入容积大的储位,其中,无人车包含至少两个分为至少两种容积的储位,且同一储位对应同一用户的订单。
进一步地,该装置400还可以包括待配送订单获得单元(图4中未示出),被配置成:从当日的各订单集合中选取对应当前服务时间段的订单集合,以作为当前订单集合,其中,根据当日待配送订单中设定的配送时间,将当日待配送订单预先划分为至少两个订单集合,各订单集合对应配送中心不同的服务时间段;确定当前订单集合中的待配送订单的数量是否不小于当前空闲的无人车的总储位数量;响应于确定待配送订单的数量小于总储位数量,从剩余的订单集合中选取待配送订单,加入当前订单集合中。
可选地,待配送订单获得单元可以进一步被配置成:在对应下个服务时间段的订单集合中,统计该订单集合对应的每个站点与当前订单集合对应的各站点之间的曼哈顿距离的总和;按照曼哈顿距离的总和由小到大的顺序,从小的一端站点对应的待配送订单中选取待配送订单,以及将选取的待配送订单加入当前订单集合中。
在一些实施例中,若有至少两辆无人车配送订单,则路径规划单元403还可以包括:生成子单元(图4中未示出),被配置成根据选取的最短路径,生成每辆无人车的第一候选配送路径,统计至少两辆无人车的第一总配送距离,其中,最短路径信息包括路径距离;调整子单元(图4中未示出),被配置成执行以下调整步骤:交换任意两辆无人车的目标储位所分配的订单,对于该任意两辆无人车中的每辆无人车,根据调整后的待配送的站点,再次执行路径规划步骤,生成该无人车的第二候选配送路径;确定至少两辆无人车调整后的总配送距离是否小于第一总配送距离;若调整后的总配送距离小于第一总配送距离,则将交换的两辆无人车的第二候选配送路径分别作为第一候选配送路径,并将调整后的总配送距离作为第一总配送距离;直至调整时长达到预设时长,将至少两辆无人车的第一候选配送路径分别作为配送路径;其中,目标储位为两辆无人车的各储位中,所分配的订单对应的站点不是彼此待配送的站点、且储位容积不小于彼此所分配的订单的货物体积的储位。
可以理解的是,该装置400中记载的诸单元与参考图2和图3中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于该装置400及其中包含的单元,在此不再赘述。
继续参见图5,其示出了本申请提供的一种用于无人车的路径规划系统的一个时序图。本实施例中的用于无人车的路径规划系统可以包括服务器和无人车。
如图5所示,在步骤501中,服务器(例如图1所示的服务器105)可以根据待配送订单的订单信息和无人车的数据信息,为无人车(例如图1所示的无人车107、108)分配订单。可以参见图2中步骤201的相关描述,此处不再赘述。
在本实施例的一些可选地实现方式中,服务器可以根据各待配送订单的货物体积以及无人车的各储位容积,将体积大的货物放入容积大的储位。其中,无人车包含至少两个分为至少两种容积的储位,且同一储位对应同一用户的订单。
可选地,上述待配送订单可以通过以下步骤获得:首先,服务器可以从当日的各订单集合中选取对应当前服务时间段的订单集合,以作为当前订单集合。其中,根据当日待配送订单中设定的配送时间,将当日待配送订单预先划分为至少两个订单集合,各订单集合对应配送中心不同的服务时间段。接着,服务器可以确定当前订单集合中的待配送订单的数量是否不小于当前空闲的无人车的总储位数量。之后,响应于确定待配送订单的数量小于总储位数量,服务器可以从剩余的订单集合中选取待配送订单,加入当前订单集合中。
进一步地,服务器首先可以在对应下个服务时间段的订单集合中,统计该订单集合对应的每个站点与当前订单集合对应的各站点之间的曼哈顿距离的总和。之后,可以按照曼哈顿距离的总和由小到大的顺序,从小的一端站点对应的待配送订单中选取待配送订单,以及可以将选取的待配送订单加入当前订单集合中。
在步骤502中,服务器可以根据预先存储的路网数据和分配的订单,确定无人车待配送的站点。其中,路网数据可以包括站点信息和任意目标数目个站点之间的最短路径信息;站点信息可以包括站点的位置信息和对应的配送区域。可以参见图2中步骤202的相关描述,此处不再赘述。
在步骤503中,服务器可以将无人车所在的配送中心作为起点,执行以下路径规划步骤:首先,可以从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径。其中,当前路径中除起点外的站点为无人车待配送的站点。可以参见图2中步骤203的相关描述,此处不再赘述。
在步骤504中,服务器可以确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心。可以参见图2中步骤204的相关描述,此处不再赘述。
在一些实施例中,响应于确定选取的最短路径中未包含无人车待配送的全部站点,服务器可以将当前路径中终点端的预设数目个站点作为起点,继续执行路径规划步骤。
进一步地,路网数据可以包括任意两个站点之间的最短路径信息。此时,若服务器确定选取的最短路径中包含无人车待配送的全部站点,但终点不是配送中心,则可以从路网数据的任意两个站点之间的最短路径信息中,选取从该终点出发至配送中心的最短路径。然后,可以根据选取的最短路径生成配送路径。
在步骤505中,响应于确定包含全部站点,且终点是配送中心,服务器可以根据选取的最短路径生成配送路径。可以参见图2中的步骤205的相关描述,此处不再赘述。
进一步地,若有至少两辆无人车配送订单,则服务器可以对各无人车选取的最短路径进行优化,以减小至少两辆无人车的总配送路径,从而提高整体的配送效率,减低总能耗。首先,服务器可以根据选取的最短路径,生成每辆无人车的第一候选配送路径,统计至少两辆无人车的第一总配送距离,其中,最短路径信息包括路径距离;接着,可以执行以下调整步骤:交换任意两辆无人车的目标储位所分配的订单,对于该任意两辆无人车中的每辆无人车,根据调整后的待配送的站点,再次执行路径规划步骤,生成该无人车的第二候选配送路径;确定至少两辆无人车调整后的总配送距离是否小于第一总配送距离;若调整后的总配送距离小于第一总配送距离,则将交换的两辆无人车的第二候选配送路径分别作为第一候选配送路径,并将调整后的总配送距离作为第一总配送距离;继续执行上述调整步骤,直至调整时长达到预设时长,将至少两辆无人车的第一候选配送路径分别作为配送路径;其中,目标储位为两辆无人车的各储位中,所分配的订单对应的站点不是彼此待配送的站点、且储位容积不小于彼此所分配的订单的货物体积的储位。
在步骤506中,服务器可以通过有线连接方式或无线连接方式,将生成的配送路径发送给对应的无人车。
在步骤507中,无人车可以按照服务器发送的配送路径,将分配的订单配送至对应的站点。
在一些可选地实现方式中,本实施例中的系统还可以包括终端(例如图1中所示的终端101、102)。在步骤508中,终端可以通过有线连接方式或无线连接方式,将接收的订单变更请求发送给对应的无人车。例如终端可以直接将订单变更请求发送给无人车,或者也可以通过服务器将订单变更请求发送给无人车。其中,订单变更请求可以包括变更配送地址和/或变更配送时间。可以理解的是,若待配送订单中的配送地址发生变化,则有可能会使其对应的站点发生变化。若配送时间发生变化,则可能会使无人车待配送的站点增加或减少。
此时,处于配送中的无人车可以依据订单变更请求进行自我路径规划,从而实现配送路径的临时变更。这样,有助于提高无人车配送的灵活性,也更加符合实际需求。在实际配送过程中,往往会遇到很多情况,从而需要临时变更配送路径。而在一些特殊情况下,可能会出现通信错误或延迟等情况,所以为了保证顺利完成配送任务,可以使无人车具有自我路径规划功能,即自己规划剩余待配送订单的配送路径。
具体地,在步骤509中,无人车可以根据订单变更请求和剩余的待配送订单,确定待配送的站点数目是否大于目标数目的最大值。例如目标数目为2、3和4,则目标数目的最大值可以为4。
在步骤510中,响应于确定待配送的站点数目不大于目标数目的最大值,无人车可以从路网数据的任意目标数目个站点之间的最短路径信息中,选取从当前所在站点出发至配送中心、且途经待配送站点的最短路径,并可以根据选取的最短路径生成变更后的配送路径。这样,无人车可以按照变更后的配送路径,将剩余的待配送订单配送至对应的站点。
例如,当前所在站点为A;剩余的待配送站点为B和C;配送中心为O。此时,无人车可以从路网数据的任意4个站点之间的最短路径信息中,选取A-B-C-O或者A-C-B-O的最短路径,从而生成变更后的配送路径。再例如,剩余的待配送站点为B、C和D。此时,无人车可以先从路网数据的任意4个站点之间的最短路径信息中,选取从站点A出发、经过站点B、C和D的最短路径。之后,可以从路网数据的任意2个站点之间的最短路径信息中,选取B-O、C-O或D-O的最短路径。这样,根据两次选取的最短路径便可以生成变更后的配送路径。
在本实施例的一些可选地实现方式中,响应于确定待配送的站点数目大于目标数目的最大值,无人车可以将其当前所在的站点作为起点,执行上述路径规划步骤,从而生成变更后的配送路径。
进一步地,无人车还可以对变更后的配送路径进行优化,从而减少配送距离。具体地,首先,无人车可以执行上述路径规划步骤,从而生成变更后的第三候选配送路径,统计第三候选配送路径的总距离。之后,无人车可以执行以下优化步骤:交换第三候选配送路径中除起点和终点外的任意两个站点之间的顺序,生成第四候选配送路径;确定第四候选配送路径的总距离是否小于第三候选配送路径的总距离;若第四候选配送路径的总距离小于第三候选配送路径的总距离,则可以将第四候选配送路径作为第三候选配送路径。继续执行优化步骤,直至优化时长达到预设时长,将无人车的第三候选配送路径作为变更后的配送路径。
本实施例中的用于无人车的路径规划系统,服务器利用预先存储的路网数据,可以减少很多重复计算步骤,从而简化路径规划的计算过程,提高配送路径的生成效率。同时,无人车具有自我路径规划功能,利用上述路网数据可以实现配送路径的临时变更。这样,不仅提升了无人车配送的灵活性,扩大适用范围,也有助于保证配送任务的顺利完成。
下面参见图6,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器105)的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括触摸屏、键盘、鼠标、麦克风等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括订单分配单元、站点确定单元、路径规划单元和发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,订单分配单元还可以被描述为“根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据待配送订单的订单信息和无人车的数据信息,为无人车分配订单;根据预先存储的路网数据和分配的订单,确定无人车待配送的站点,其中,路网数据包括站点信息和任意目标数目个站点之间的最短路径信息,站点信息包括站点的位置信息和对应的配送区域;将无人车所在的配送中心作为起点,执行以下路径规划步骤:从路网数据的任意目标数目个站点之间的最短路径信息中,选取从该起点出发的最短路径以作为当前路径,其中,当前路径中除起点外的站点为无人车待配送的站点;确定选取的最短路径中是否包含无人车待配送的全部站点,且选取的最短路径中的终点是否为配送中心;响应于确定包含全部站点,且终点是配送中心,根据选取的最短路径生成配送路径;将生成的配送路径发送给对应的无人车,以使该无人车按照该配送路径将分配的订单配送至对应的站点。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。