一种基于形式化方法的物流运输无人车多任务规划方法与流程

文档序号:14678258发布日期:2018-06-12 21:48阅读:249来源:国知局
一种基于形式化方法的物流运输无人车多任务规划方法与流程

本发明属于任务规划领域,尤其设计一种基于形式化方法的物流运输无人车多任务规划方法。



背景技术:

物流运输无人车的基本功能是在智能物流仓库中搬运货物或者在某个固定地理范围内运送快递,当货物量较大时,无人车在同一时间将会有多个子任务需要完成,为了最大化无人车运送货物的效率,必须对物流运输无人车进行多任务规划。

传统的任务规划方法只能应对单任务的情况,当任务数增大时无法保证任务规划的最优性。因此,有必要设计一种可以在物流运输无人车接收到多个任务的情况下,能够保证运送效率最优的方法。



技术实现要素:

本发明所解决的技术问题是,提供一种基于形式化方法的物流运输无人车多任务规划方法,能够为物流运输无人车提供完成多任务的最优策略。

本发明所提供的技术方案为:

一种基于形式化方法的物流运输无人车多任务规划方法,其特征在于,包括以下步骤:

步骤1:环境抽象;将物流运输无人车运行时所处的实际环境抽象成无人车能够识别的抽象迁移系统模型,以使物流运输无人车能够识别它所处的环境、可以行走的路径以及每条路径的代价大小;

每辆物流运输无人车运行所处实际环境(物流运输无人车负责的地理区域范围)是固定不定或不经常改变的。首先,通过百度地图的地图工具获取到物流运输无人车运行所处实际环境的地图,然后将该地图中的路口或拐角抽象成节点,将节点与节点之间的路径抽象成迁移关系,将节点与节点之间的路径长度(可通过百度地图上的“测距”功能获取)抽象成迁移代价,便将环境抽象成了一个抽象迁移系统模型。

所述抽象迁移系统由节点、迁移关系和迁移代价共3种元素组成,抽象迁移系统可以用如下的四元组表示:

T=(S,sinit,→,c)

其中,T表示抽象迁移系统;S表示抽象迁移系统中的所有节点的集合,也就是上述所有路口和拐点抽象成的节点的集合;sinit表示系统的初始节点,它是物流运输无人车开始执行任务时所处的初始位置,如果物流运输无人车的初始位置是在某个路口或拐点,那么sinit将会是包含在S集合中的一个点;如果物流运输无人车的初始位置不是在路口或拐点,那么sinit将会是一个与S集合中的节点都不相同的新的节点;→表示抽象迁移系统中节点到节点之间所有迁移关系的集合;c表示抽象迁移系统中节点到节点之间所有迁移代价的集合。

当无人车在实际环境中行走的时候,无人车的行走路径对应到环境的抽象迁移系统中,相当于抽象迁移系统中的一个节点序列。

步骤2:任务描述;将物流运输无人车需要完成的任务描述成一个形式化公式;所述形式化公式是一种接近自然语言线性时序逻辑描述语言,它包括4种逻辑符号:“□”(始终)、“◇”(最终)、“○”(接下来)、“U”(直到),3种布尔运算符:“∧”(与),“∨”(或),“¬”(非),以及抽象迁移系统中的节点;

物流运输无人车的任务一般是复杂的时序任务,比如:现在某个物流运输无人车上载有4件需要派送的货物,首先无人车需要将货物分别送到a、b、c、d这4个点,然后返回到配货站e点重新装载货,这个任务可以被描述为一个形式化公式:◇a∧◇b∧◇c∧◇d∧□◇e其中◇a的意思是不论物流运输无人车如何安排执行任务的策略,但是必须满足至少经过一次a点,同时因为布尔运算符“∧”(与)的意思是“同时满足”,所以可知子条件◇a∧◇b∧◇c∧◇d的意思是无人车必须满足至少要经过一次a、b、c、d这4个点,而□◇e的意思是指无人车最终必须停在e点,所以这个形式化公式的意思指是无人车必须满足至少经过一次a、b、c、d这4个点,最后停在e点。再比如:必须先送a、b点的货物,再送c、d点的货物,最后返回e点,同时永久避开交通拥挤的f点,这个任务可以被描述为:◇a∧◇b∧◇c∧◇d∧□◇e∧□◇((¬c∨¬d)U(a∧b))∧□◇¬f,其中子条件◇a∧◇b∧◇c∧◇d∧□◇e的意思与上面相同,依然是指无人车必须至少经过一次a、b、c、d这4个点,并且最终停在e点;(¬c∨¬d)U(a∧b)的意思是,直到无人车已经去过了a点和b点,否则它不能去c或d的任意一点,也就是说无人车必须先配送a和b两点的货物,然后再配送c和d的货物;□◇¬f的意思是说无人车永远不能经过f点。又因为上述三个子条件是用布尔运算符“∧”(与)连接的,所以这三个子条件必须都被满足。

步骤3:建立可行策略域;具体分两个步骤:

步骤31:将描述物流运输无人车需要完成的任务的形式化公式转换成形式化自动机;

形式化自动机可以用如下的四元组表示:

B=(V,vinit,Δ,F)

其中,B表示一个形式化自动机;V表示形式化自动机中所有节点的集合;vinit表示形式化自动机的初始节点;Δ表示形式化自动机中节点到节点之间所有迁移关系的集合;F表示形式化自动机中可接受节点的集合,可接受节点集合F是V的一个子集(在LTL2BA工具生成的形式化自动机的结果中,包含了对初始节点和可接受节点的描述)。

形式化公式很容易被人使用,但是形式化公式不能直接用于数学分析,所以就需要将形式化公式转换为了形式化自动机。形式化自动机是对形式化公式进行解释说明的一种自动机,它可以判断物流运输无人车的一个任务执行策略是否能满足此形式化公式,也就是用来检测一个任务执行策略是否符合物流运输无人车需要完成的任务的需求,所述的任务执行策略是指物流运输无人车运送货物的路线,其对应到抽象迁移系统中,是一个节点序列。形式化自动机的输入是抽象迁移系统的节点序列,输出是形式化自动机的节点序列。如果形式化自动机的一个输出节点序列中包含可接受节点集合F中的节点,则称这个输出对应的输入是可接受的。如果一个输入在形式化自动机中是可接受的,那么这个输入所对应的任务执行策略一定是满足形式化公式的。

可以采用LTL2BA工具,将形式化公式转换为形式化自动机。LTL2BA(http://www.lsv.fr/~gastin/ltl2ba/)是一个本领域已公开的可以将快速地将形式化公式转换为形式化自动机的一个工具包。形式化自动机在过去只是被应用在模型检测领域,本发明首次将形式化自动机应用在了解决物流运输无人车的任务规划问题中,可以解决无人车在面临复杂的时序性任务时,不能保证执行任务花费的总代价最小的难题,保证完成任务的同时,保证花费的总代价最小。

步骤32:将形式化自动机映射到抽象迁移系统模型中,生成可行策略域;

所述映射是指用形式化自动机B=(V,vinit,Δ,F)和抽象迁移系统T=(S,sinit,→,c)中的节点集合V与S、初始节点sinit与vinit分别做笛卡尔乘积,迁移关系和迁移代价分别按照一定规则映射到可行策略域(具体规则在下面描述),其结果就是可行策略域。所述笛卡尔乘积是数学领域中已公开的一种数学运算。

可行策略域中包含了物流运输无人车完成任务的所有可能的任务执行策略,并且这些任务执行策略一定是既符合物流无人车的任务需求,又满足实际环境的。

一个可行策略域可以用如下五元组表示:

P=(N,ninit,Δp,cp,Fp)

其中,P表示一个可行策略域;N表示可行策略域中所有节点的集合,N是由形式化自动机的节点集合V和抽象迁移系统的节点集合S作笛卡尔乘积得到的,N中的每个节点都是由形式化自动机的一个节点和抽象迁移系统的一个节点组合成的,N中的节点数量是V和S数量的乘积,例如V包含v1、v2两个节点,S包含s1、s2、s3共3个节点,则N是V和S的笛卡尔乘积,N中共包含6个节点,它们分别是v1s1、v1s2、v1s3、v2s1、v2s2、v2s3;ninit表示可行策略域的初始节点,ninit是由形式化自动机的初始节点vinit和抽象迁移系统的初始节点sinit作笛卡尔乘积得到的,可行策略域的初始节点ninit可以表示为(vinit,sinit);Δp表示可行策略域中节点到节点之间迁移关系的集合,可行策略域中节点到节点之间的迁移关系确定方法为:当且仅当在抽象迁移系统T=(S,sinit,→,c)中节点si到sj的迁移关系存在,并且在形式化自动机B=(V,vinit,Δ,F)中,节点vi到vj的迁移关系存在,则在可行策略域中节点sivi到sjvj的迁移关系存在(抽象迁移系统、形式化自动机和可行策略域,这三者的本质都是类似于图4那样的‘节点迁移图’,即它们都有各自的节点和迁移关系,但是各自的迁移关系所对应的实际物理意义是不同的);cp表示可行策略域中节点到节点之间的迁移代价集合,可行策略域中两个节点之间的迁移代价等于这两个节点对应的两个抽象迁移系统节点之间的代价;Fp表示可行策略域中可接受节点的集合,如果形式化自动机中的一个节点是可接受节点,那么与这个节点所对应的可行策略域中的节点也是可接受节点。

在一个可行策略域中,任何一个符合迁移关系的节点序列(即这个节点序列中任意相邻的两个节点之间都存在迁移关系)都对应着无人车的一条任务执行策略,当一条任务执行策略是由可行策略域中的初始节点ninit开始,并由一个可接受节点结束时,我们称这条策略是一条可接受策略,可接受策略一定是满足形式化公式的(这是本领域内的已知定理,这个定理是下面搜索算法的核心依据)。

步骤4:采用最优策略搜索算法,在可行策略域中搜索出最优任务执行策略;最优策略搜索算法的输入是一个可行策略域,输出是这个可行策略域中的最优任务执行策略;最优策略搜索算法包括以下4个步骤:

步骤41:从可行策略域中的初始节点开始搜索,首先找出初始节点可以达到的所有节点,记录这些节点,并分别记录迁移到这些节点的代价值;

步骤42:在所有已记录的节点中,选择代价值最小的节点,由该节点继续向下搜索,找出该节点可以达到的所有节点,然后将该节点从记录中删除;

步骤43:记录下步骤42中的代价值最小的节点以达到的所有节点,并分别记录由初始节点经过步骤42中的代价值最小的节点迁移到这些节点的总代价值,如果搜索到的节点是之前已经记录过的节点,则不用再次记录;

步骤44:重复步骤42和43,直到搜索到一个可接受的节点;这时由初始节点到可接受节点一步步的迁移过程,就是要求的最优任务执行策略。

这里搜索算法是在可行策略域中进行搜索,可接受节点是属于可行策略域中的节点,不是实际环境中所说的机器人的终点,但是两者在逻辑上存在对应关系的。可行策略域中的节点是由抽象迁移系统和形式化自动机中的节点做笛卡尔乘积得到的,可行策略域中的一条策略其实是既包括了抽象迁移系统约束,又包含了形式化自动机的约束的。

形式化公式是对物流运输无人车需要完成的任务进行描述,形式化自动机由形式化公式转化而来;对于形式化自动机来说,如果形式化自动机的输出以初始节点开始,以一个可接受节点结束,那么这个输出所对应输入是满足形式化公式的,也就是满足物流运输无人车需要完成的任务的要求的,这个概念映射到可行策略域中就变成了“当可行策略域中的一条策略是由初始节点ninit开始,并由一个可接受节点结束时,则该策略一定是满足形式化公式的”;对于一个无人车物流运输任务,如要求必须先去配货站a提取包裹,再去b、c投递包裹,最后再返回配货站d,只要找到的可行策略域中的策略满足“由初始节点ninit开始,并由一个可接受节点结束”,那么在该策略对应的物流运输无人车运送货物的路线中,无人车最后一定是返回了d点。

因此,利用最优策略搜索算法在可行策略域中搜索到最优的策略之后,即解决了物流无人车任务规划问题。

步骤5:将步骤4中可行策略域中搜索出的最优任务执行策略映射回抽象迁移系统,得到物流运输无人车在抽象迁移系统的最优路径;

可行策略域中的最优任务执行策略对应可行策略域中的一个节点序列;将可行策略域中的节点序列中的抽象迁移系统节点提取出来,维持原顺序不变,组成一个抽象迁移系统节点序列,从而得到无人车能够识别的行走路径;例如,在上述所述的可行策略域P中,搜索出的最优任务执行策略是P中的节点序列:v1s2、v1s3、v2s1,将这个序列中的抽象迁移系统节点提取出来是:s2、s3、s1,即抽象迁移系统中行走路径是s2→s3→s1。抽象迁移系统中的每个节点都对应实际环境中的一个路口或拐角,将抽象迁移系统节点序列对应到实际环境中,即可得到实际环境中无人车的最优行走路径。物流运输无人车的多任务规划比传统的“旅行商问题”更加复杂,因为物流运输任务中可能会出现明确的时序逻辑要求,比如要求必须先去配货站a提取包裹,再去b、c投递包裹,最后再返回配货站d。针对此类问题,传统的“旅行商问题”解决方法无能为力,而本方法正是弥补了这方面的空缺。且当任务出现变化的时候,本方法可以通过简单地调整形式化公式,来轻松地适应新的任务。

有益效果

本发明公开了一种基于形式化方法的物流运输无人车多任务规划方法,本方法适用于当物流运输无人车同时有多个不同地点和优先级的包裹需要提取或投递的情况。本方法通过对物流运输无人车多个任务的完成顺序和路径,即提取或投递包裹的顺序和路径进行规划和安排,最小化物流运输无人车完成所有任务的代价,从而为物流运输无人车提供完成多任务的最优策略,所述代价可以是物流运输无人车花费的油耗、时间或行走路径长度等。。本方法可以很好地物流运输无人车解决多任务规划的问题,并且可以保证结果的最优性。

附图说明

图1是本发明所述方法的流程示意图;

图2是本发明的一个实施例中物流运输无人车所处的实际环境;

图3是图2所示的环境转换成的抽象迁移系统;

图4是无人车的任务对应的形式化自动机,描述这个任务的形式化公式是◇a∧◇b∧◇c∧◇d∧□◇((¬m∨¬n)U(a∧b∧c∧d));

图5是在图2所示的实际环境中无人车完成图4所示任务的最优策略;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

如图1所示,本发明实施例提供的一种基于形式化方法的物流运输无人车任务规划方法,包括以下步骤:

步骤1:环境抽象;将物流运输无人车运行时所处的实际环境抽象成无人车能够识别的抽象迁移系统模型,以使物流运输无人车能够识别它所处的环境、可以行走的路径以及每条路径的代价大小;

所述抽象迁移系统由节点、迁移关系和迁移代价共3种元素组成,抽象迁移系统用如下的四元组表示:

T=(S,sinit,→,c)

其中,T表示抽象迁移系统;S表示抽象迁移系统中的所有节点的集合,即物流运输无人车运行时所处的实际环境中所有路口和拐点抽象成的节点的集合;sinit表示系统的初始节点,它是物流运输无人车开始执行任务时所处的初始位置;→表示抽象迁移系统中节点到节点之间所有迁移关系的集合;c表示抽象迁移系统中节点到节点之间所有迁移代价的集合。

图2是本发明物流运输无人车所处实际环境的一个实施例,使用步骤1的方法,对这个环境进行环境抽象,所得结果如图3所示,图3是本发明中物流运输无人车所处实际环境抽象成的抽象迁移系统。

步骤2:任务描述;将物流运输无人车需要完成的多个任务描述成一个形式化公式;所述形式化公式是一种接近自然语言线性时序逻辑描述语言,它包括4种逻辑符号、3种布尔运算符以及抽象迁移系统中的节点;4种逻辑符号分别为“□”、“◇”、“○”、“U”,分别表示始终、最终、接下来、直到;3种布尔运算符分别为:“∧”、“∨”、“¬”,分别表示与、或、非;

在本发明的一个实施例中,在图1所示的实际环境中,物流运输无人车在某时刻被分配了一个任务:取得a、b、c、d这4个货物,然后将这个4个货物一起送到打包台m或n,并且除非无人车取得了所有的4个货物,否则它不能经过m或n。这个任务可以描述成一个形式化公式:

◇a∧◇b∧◇c∧◇d∧□◇((¬m∨¬n)U(a∧b∧c∧d))。

步骤31:将描述物流运输无人车需要完成的任务的形式化公式转换成形式化自动机;

形式化自动机用如下的四元组表示:

B=(V,vinit,Δ,F)

其中,B表示一个形式化自动机;V表示形式化自动机中所有节点的集合;vinit表示形式化自动机的初始节点;Δ表示形式化自动机中节点到节点之间所有迁移关系的集合;F表示形式化自动机中可接受节点的集合,可接受节点集合F是V的一个子集;

步骤32:将形式化自动机映射到抽象迁移系统模型中,生成可行策略域;

一个可行策略域用如下五元组表示:

P=(N,ninit,Δp,cp,Fp)

其中,P表示一个可行策略域;N表示可行策略域中所有节点的集合,N是由形式化自动机的节点集合V和抽象迁移系统的节点集合S作笛卡尔乘积得到的,N中的每个节点都是由形式化自动机的一个节点和抽象迁移系统的一个节点组合成的,N中的节点数量是V和S数量的乘积;ninit表示可行策略域的初始节点,ninit是由形式化自动机的初始节点vinit和抽象迁移系统的初始节点sinit作笛卡尔乘积得到的;Δp表示可行策略域中节点到节点之间迁移关系的集合,可行策略域中节点到节点之间的迁移关系确定方法为:当且仅当在抽象迁移系统T=(S,sinit,→,c)中节点si到sj的迁移关系存在,并且在形式化自动机B=(V,vinit,Δ,F)中,节点vi到vj的迁移关系存在,则在可行策略域中节点sivi到sjvj的迁移关系存在;cp表示可行策略域中节点到节点之间的迁移代价集合,可行策略域中两个节点之间的迁移代价等于这两个节点对应的两个抽象迁移系统节点之间的代价;Fp表示可行策略域中可接受节点的集合,如果形式化自动机中的一个节点是可接受节点,那么与这个节点所对应的可行策略域中的节点也是可接受节点;

在步骤2所述的实施例中的形式化公式◇a∧◇b∧◇c∧◇d∧□◇((¬m∨¬n)U(a∧b∧c∧d)),这个形式化公式可以转换为一个形式化自动机,如图4所示。

将步骤3所述的形式化自动机(即图3)映射到步骤1所述的抽象迁移系统(即图1)中,可以得到一个可行策略域,这个可行策略域共有527个节点,31个可接受节点。

形式化自动机中的每个节点表示无人车在执行任务过程中的一个个状态点,这里的状态点并没有实际的物理意义,而是表示无人车任务完成的程度在形式化自动机中的一个体现。

当无人车在实际环境中行驶时,会生成一个抽象迁移系统中的节点序列,比如:取货物a对应图3抽象迁移系统中的节点P28等。当无人车每行驶到一个点,形式化自动机都会判断这个点是否满足形式化自动机当前所在位置的某个迁移条件,如果满足,则会在形式化自动机中产生节点迁移。

形式化自动机的输入是一个抽象迁移系统中的节点序列,形式化自动机的输出是一个形式化自动机的节点序列。

定理:当形式化自动机的一个输出节点序列是以初始节点开始,以一个可接受节点结束,则这个输出对应的输入序列(抽象迁移系统的节点序列)是满足形式化公式的。

例如:在图2中(图2所示的形式化自动机的节点用init和数字2-16表示),无人车刚开始执行任务的时候对应形式化自动机中的init节点,如果下一刻无人车通过一系列动作取到了货物a,那么无人车就满足了节点init至节点8的迁移条件,此时无人车任务完成的程度状态体现在形式化自动机中就是节点8。在这里,单个节点8是没有任何物理意义的,但是一个节点序列是有实际物理意义的。例如无人车依次执行了4个动作:取货物a→取货物b→取货物c→取货物d→去包装台m,那么这个过程输入到形式化自动机中,会生成一个节点序列:init→8→12→14→15→16,当一个形式化自动机中的节点序列满足从初始节点init开始,并以一个可接受节点(即节点16)结束,那么这个节点序列对应的无人车动作是满足任务要求的,也就是代表无人车完成了任务。但是注意,这里只能通过节点序列来判断无人车是否完成了任务,并不能判断无人车完成任务所花费的代价是否最少。

步骤4:采用最优策略搜索算法,在可行策略域中搜索出最优任务执行策略;最优策略搜索算法的输入是一个可行策略域,输出是这个可行策略域中的最优任务执行策略;最优策略搜索算法包括以下4个步骤:

步骤41:从可行策略域中的初始节点开始搜索,首先根据可行策略域中节点到节点之间迁移关系,找出初始节点可以达到的所有节点,记录这些节点,并分别记录迁移到这些节点的代价值;

步骤42:在所有已记录的节点中,选择代价值最小的节点,由该节点继续向下搜索,找出该节点可以达到的所有节点,然后将该节点从记录中删除;

步骤43:记录下步骤42中的代价值最小的节点以达到的所有节点,并分别记录由初始节点经过步骤42中的代价值最小的节点迁移到这些节点的总代价值,如果搜索到的节点是之前已经记录过的节点,则不用再次记录;

步骤44:重复步骤42和43,直到搜索到一个可接受的节点;这时由初始节点到可接受节点一步步的迁移过程,就是要求的最优任务执行策略。

在步骤4所述的可行策略域中,用最优策略搜索算法进行搜索,最终得出物流运输无人车完成步骤2所述实施例中的任务的最优策略,最优策略如图5所示。

综上所述,本发明实施例提供了一种基于形式化方法的物流运输无人车任务规划方法。已知物流运输无人车所处的环境和其被分配的任务,首先将环境抽象成抽象迁移系统,将任务描述成形式化公式,然后将形式化公式转换为形式化自动机,再把形式化自动机映射到抽象迁移系统生成可行策略域,最后用最优策略搜索算法在可行策略域中搜索出最优策略,该最优策略可以指示物流运输无人车完成任务,并使完成任务的总代价最小,实现了物流运输无人车任务规划。同时本方法可以适应任务多变的情况,对于不同的任务,只需输入不同的形式化公式,即可轻松地搜索出最优策略。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1