一种基于动态锁的AGV交通管制方法及系统与流程

文档序号:17776287发布日期:2019-05-28 20:12阅读:377来源:国知局
一种基于动态锁的AGV交通管制方法及系统与流程

本发明涉及自动导航车运输领域,尤指一种基于动态锁的agv交通管制方法及系统。



背景技术:

自动导航车(automatedguidedvehicle,简称agv)系统在运行中,agv的调度系统需要确定每台agv的位置(即定位)、规划其行驶路径、并避免agv驶过同一位置时发生碰撞(即交通管制)。agv传统的定位导航方式有磁条、磁钉、色带等方式,近年来新出现了使用二维码、激光雷达、视觉slam等新的定位导航方式。在不同的定位导航方式中,有不同的交通管制方式,例如,在磁条或者色带定位方式中,通过让不同的agv占用不同的磁条或者色带的线段来避撞;在激光雷达或者视觉slam(simultaneouslocalizationandmapping,同时定位与建图)定位方式中,把场地划分成细密栅格(比如5厘米见方的栅格,栅格小于agv本身的大小),通过划定每台agv的避撞半径来避免相互碰撞;在二维码定位方式中,地面间隔一定距离(比如每1.2米)贴设二维码点,通过让不同的agv占用不同的二维码点来实现避撞。当场地中存在多种定位导航方式时,由于定位和避撞方式不统一,agv调度系统不能高效地确定agv的避撞范围,影响agv的安全行驶。



技术实现要素:

本发明的目的是提供一种基于动态锁的agv交通管制方法及系统,可以统一混合导航下的agv调度,实现混合导航下的高效定位及交通管制,避免了agv发生碰撞或死锁。

本发明提供的技术方案如下:

一种基于动态锁的agv交通管制方法,包括:对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点;其中,对每个虚拟码点进行加锁包括:当虚拟码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述虚拟码点加锁成功;当虚拟码点的动态锁为其他agv锁定时,则对所述虚拟码点加锁失败;将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令,同时对所述agv经过的虚拟码点进行解锁。

进一步优选的,所述对每个虚拟码点进行加锁还包括:当虚拟码点的动态锁的状态为未锁定,且所述动态锁为限制区域锁时,则为允许在所述虚拟码点通行的agv的通行对所述虚拟码点加锁成功;和/或,当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为货架锁时,则为无货架的agv的通行对所述虚拟码点加锁成功;和/或,当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为单向锁时,则按单向锁规则进行加锁;和/或,当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为连环锁时,则按连环锁规则进行加锁。

进一步优选的,当加锁成功的虚拟码点的动态锁为普通锁、或限制区域锁、或货架锁时,更新加锁成功次数;所述直至遇到一个加锁失败的虚拟码点还包括:直至遇到一个加锁失败的虚拟码点或加锁成功次数达到预设的单次锁定最大次数。

进一步优选的,所述按单向锁规则进行加锁具体包括:从所述虚拟码点开始,沿着所述agv的运行路线方向取下一个虚拟码点作为被检查码点,对所述被检查码点进行检查;当被检查码点的动态锁不是单向锁时,则对所述虚拟码点加锁成功;当被检查码点的动态锁是单向锁,且所述被检查码点被其他agv锁定,且所述被检查码点的锁定方向与所述agv的运行路线方向不同时,则对所述虚拟码点加锁失败;当被检查码点的动态锁是单向锁,且所述被检查码点被其他agv锁定,且所述被检查码点的锁定方向与所述agv的运行路线方向相同时,则对所述虚拟码点加锁成功;当被检查码点的动态锁是单向锁,且所述被检查码点没有被其他agv锁定时,则沿着所述agv的运行路线方向,将所述被检查码点的下一个虚拟码点作为被检查码点,对所述被检查码点进行检查。

进一步优选的,所述按连环锁规则进行加锁包括:当与虚拟码点的动态锁有连环关系的所有其他虚拟码点都未被其它agv锁定时,则对所述虚拟码点及其有连环关系的所有其他虚拟码点进行加锁,且加锁成功。

进一步优选的,所述的对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点,之前包括:建立虚拟码点地图,虚拟码点的间距大于agv本身的尺寸;根据不同场地的交通管理需要对每个虚拟码点设置不同类型的动态锁。

进一步优选的,所述建立虚拟码点地图包括:对于二维码定位导航的场地,虚拟码点与粘贴二维码的位置重合;和/或,对于磁条/色带定位导航的场地,虚拟码点沿着磁条/色带布置;和/或,对于磁钉定位导航的场地,虚拟码点与磁钉的位置重合;和/或,对于激光雷达或者机器视觉slam定位导航的场地,虚拟码点沿其规划的行驶路径布置。

进一步优选的,所述根据不同场地的交通管理需要对每个虚拟码点设置不同类型的动态锁包括:当虚拟码点对应的实际场地上具有货架时,设置所述虚拟码点的动态锁为货架锁;当虚拟码点的动态锁为货架锁,且对应的实际场地上的货架被载走后,修改所述虚拟码点的动态锁为普通锁。

本发明还提供一种基于动态锁的agv交通管制系统,包括:锁定模块,用于对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点;其中,对每个虚拟码点进行加锁包括:当虚拟码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述虚拟码点加锁成功;当虚拟码点的动态锁为其他agv锁定时,则对所述虚拟码点加锁失败;路径分配模块,用于将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令;解锁模块,用于对所述agv经过的虚拟码点进行解锁。

进一步优选的,所述锁定模块,进一步用于当虚拟码点的动态锁的状态为未锁定,且所述动态锁为限制区域锁时,则为允许在所述虚拟码点通行的agv的通行对所述虚拟码点加锁成功;和/或,当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为货架锁时,则为无货架的agv的通行对所述虚拟码点加锁成功;和/或,当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为单向锁时,则按单向锁规则进行加锁;和/或,当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为连环锁时,则按连环锁规则进行加锁。

进一步优选的,所述锁定模块,进一步用于当加锁成功的虚拟码点的动态锁为普通锁、或限制区域锁、或货架锁时,更新加锁成功次数;以及,对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点或加锁成功次数达到预设的单次锁定最大次数。

进一步优选的,所述锁定模块包括:单向锁定单元,用于从所述虚拟码点开始,沿着所述agv的运行路线方向取下一个虚拟码点作为被检查码点,对所述被检查码点进行检查;当被检查码点的动态锁不是单向锁时,则对所述虚拟码点加锁成功;当被检查码点的动态锁是单向锁,且所述被检查码点被其他agv锁定,且所述被检查码点的锁定方向与所述agv的运行路线方向不同时,则对所述虚拟码点加锁失败;当被检查码点的动态锁是单向锁,且所述被检查码点被其他agv锁定,且所述被检查码点的锁定方向与所述agv的运行路线方向相同时,则对所述虚拟码点加锁成功;当被检查码点的动态锁是单向锁,且所述被检查码点没有被其他agv锁定时,则沿着所述agv的运行路线方向,将所述被检查码点的下一个虚拟码点作为被检查码点,对所述被检查码点进行检查。

进一步优选的,所述锁定模块包括:连环锁定单元,用于当与虚拟码点的动态锁有连环关系的所有其他虚拟码点都未被其它agv锁定时,则对所述虚拟码点及其有连环关系的所有其他虚拟码点进行加锁,且加锁成功。

进一步优选的,包括:地图建立模块,用于建立虚拟码点地图,虚拟码点的间距大于agv本身的尺寸;以及,根据不同场地的交通管理需要对每个虚拟码点设置不同类型的动态锁。

进一步优选的,所述地图建立模块,进一步用于对于二维码定位导航的场地,虚拟码点与粘贴二维码的位置重合;和/或,对于磁条/色带定位导航的场地,虚拟码点沿着磁条/色带布置;和/或,对于磁钉定位导航的场地,虚拟码点与磁钉的位置重合;和/或,对于激光雷达或者机器视觉slam定位导航的场地,虚拟码点沿其规划的行驶路径布置。

进一步优选的,所述地图建立模块,进一步用于当虚拟码点对应的实际场地上具有货架时,设置所述虚拟码点的动态锁为货架锁;当虚拟码点的动态锁为货架锁,且对应的实际场地上的货架被载走后,修改所述虚拟码点的动态锁为普通锁。

通过本发明提供的一种基于动态锁的agv交通管制方法及系统,能够带来以下有益效果:

1、本发明通过使用虚拟码点表示每个agv的位置,使用动态锁控制每个agv的运行,统一了混合导航下的agv调度,令同一时刻不同的agv占用不同的虚拟码点,从而实现混合导航下的高效定位及交通管制。

2、本发明通过设置特殊锁,避免了agv在一些特殊区域发生碰撞或死锁,增强了agv系统对不同应用场地的适应性。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于动态锁的agv交通管制方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明的一种基于动态锁的agv交通管制方法的一个实施例的流程图;

图2是本发明的一种基于动态锁的agv交通管制方法的另一个实施例的流程图;

图3是图2所示实施例中按限制区域锁规则进行加锁的流程图;

图4是图2所示实施例中按货架锁规则进行加锁的流程图;

图5是图2所示实施例中按单向锁规则进行加锁的流程图;

图6是图2所示实施例中按连环锁规则进行加锁的流程图;

图7是本发明的一种基于动态锁的agv交通管制方法的另一个实施例的流程图;

图8是本发明的一种基于动态锁的agv交通管制系统的一个实施例的结构示意图;

图9是本发明的一种基于动态锁的agv交通管制系统的另一个实施例的结构示意图;

图10是本发明的一种基于动态锁的agv交通管制系统的另一个实施例的结构示意图。

附图标号说明:

110.锁定模块,120.路径分配模块,130.解锁模块,100.地图建立模块,111.单向锁定单元,112.连环锁定单元。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

在本发明的一个实施例中,如图1所示,一种基于动态锁的agv交通管制方法,包括:

步骤s300对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点;

其中,对每个虚拟码点进行加锁包括:

当虚拟码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述虚拟码点加锁成功;当虚拟码点的动态锁为其他agv锁定时,则对所述虚拟码点加锁失败。

步骤s400将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令,同时对所述agv经过的虚拟码点进行解锁。

具体的,agv的当前位置是指agv当前所处的虚拟码点。前方的虚拟码点是指沿agv的运行路线方向,在agv的当前位置之前的虚拟码点。对每台agv,从当前位置开始遍历前方的虚拟码点,对前方的虚拟码点尝试加锁,直至遇到加锁失败的虚拟码点,则遍历结束;加锁成功的虚拟码点形成了有效路径,将该有效路径告知agv,让该agv沿该有效路径向前行驶,同时对该agv经过的虚拟码点进行解锁;agv行驶的过程,就是前方的虚拟码点不断加锁、后方的虚拟码点不断解锁的过程。

对虚拟码点的动态锁进行加锁时,首先检查该动态锁的当前状态,如果当前状态为锁定,且被其他agv锁定,则本agv对该虚拟码点的加锁失败;如果当前状态为未锁定,该动态锁为普通锁,则本agv对该虚拟码点的加锁成功,同时该动态锁的状态变为锁定。普通锁是指其加锁是否成功只受其当前状态影响,只要当前状态为未锁定,则对其加锁成功。如果还受其他因素影响,则为特殊锁。如果动态锁的状态为锁定,当对该动态锁解锁后,该动态锁的状态变为未锁定。

示例,假设当前位置是a点,从a点开始沿agv的运行路线方向前方的虚拟码点依次是b、c、d、e……等点,对b、c、d、e……等虚拟码点尝试加锁,如果b、c、d点加锁成功,e点加锁失败,则遍历到e点结束。将加锁成功的b、c、d点所形成的有效路径分配给该agv,并告知该agv从a点开始,经有效路径前进,当离开b、c、d点时,分别对b、c、d点解锁,到达e点后又尝试对前方的虚拟码点加锁,获得新的有效路径,如此,完成agv的行驶,到达该agv的终点。

本实施例,通过使用虚拟码点的动态锁控制agv的运行,同一个虚拟码点在同一时刻只会被一个agv锁定,在同一时刻不同的agv位于不同的虚拟码点,从而避免行驶过程中agv之间发生碰撞,实现交通管制功能。本实施例的虚拟码点的动态锁为普通锁。

在本发明的另一个实施例中,如图2-图6所示,一种基于动态锁的agv交通管制方法,包括:

步骤s310初始化加锁成功次数;

步骤s311从每台agv的当前位置开始沿所述agv的运行路线方向取下一个虚拟码点作为预加锁码点,对所述预加锁码点进行加锁;

步骤s312当所述预加锁码点的动态锁为其他agv锁定时,则对所述预加锁码点加锁失败,并跳转到步骤s400;

步骤s320当所述预加锁码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述预加锁码点加锁成功,并跳转到步骤s371。

步骤s330当所述预加锁码点的动态锁的状态为未锁定,且所述动态锁为限制区域锁时,则按限制区域锁规则进行加锁,并跳转到步骤s370;

其中,按限制区域锁规则进行加锁为:

步骤s331判断所述agv是否允许在所述预加锁码点通行;若是,执行步骤s332;若否,执行步骤s333;

步骤s332对所述预加锁码点加锁成功;

步骤s333对所述预加锁码点加锁失败。

具体的,当动态锁为限制区域锁时,表明该预加锁码点对应的实际场地为一特殊区域,只允许特定类型的agv通行。比如,在虚拟小车与实际小车混合仿真的场景,虚拟地图包括虚拟场地和实际场地,为了限制真实小车不会行驶到实际场地以外的地方,对虚拟场地设置限制区域锁,只允许虚拟小车在该区域通行,这样,真实小车就不会行驶到虚拟场地。

步骤s340当所述预加锁码点的动态锁的状态为未锁定,且所述动态锁为货架锁时,则按货架锁规则进行加锁,并跳转到步骤s370;

其中,按货架锁规则进行加锁为:

步骤s341判断所述agv是否未携带货架;若是,执行步骤s342;若否,执行步骤s343;

步骤s342对所述预加锁码点加锁成功;

步骤s343对所述预加锁码点加锁失败。

具体的,当动态锁为货架锁时,表明该预加锁码点对应的实际场地上有货架。此时载有货架的agv不能锁定该虚拟码点,从而实现载货的agv在行驶过程中能够成功地避开货架的虚拟码点,而空载的agv则能够自由地在货架下方行驶。

步骤s350当所述预加锁码点的动态锁的状态为未锁定,且所述动态锁为单向锁时,则按单向锁规则进行加锁,并跳转到步骤s380;

其中,按单向锁规则进行加锁为:

步骤s351沿着所述agv的运行路线方向取所述预加锁码点的下一个虚拟码点作为被检查码点;

步骤s352检查被检查码点的动态锁是否单向锁;若是,执行步骤s353;若否,执行步骤s356;

步骤s353检查被检查码点的动态锁是否被其他agv锁定;若是,执行步骤s354;若否,执行步骤s355;

步骤s354检查被检查码点的锁定方向与所述agv的运行路线方向是否相同;若是,执行步骤s356;若否,执行步骤s357;

步骤s355沿着所述agv的运行路线方向,将所述被检查码点的下一个虚拟码点作为被检查码点,跳转到步骤s352;

步骤s356对所述预加锁码点加锁成功;

步骤s357对所述预加锁码点加锁失败。

具体的,设置单向锁是为了避免在狭窄的通道或路口出现交通拥堵或者阻塞,适用于且不限于以下场景:两个区域通过狭长的通道来连接,需要避免对头车的情况。当预加锁码点为单向锁时,对沿着agv运行路线方向的虚拟码点逐一检查,如果单向路径上已有虚拟码点被其他不同方向的agv锁定,则该预加锁码点加锁失败,这样可以避免对头车的情况,在其他不同方向的agv通行过后,本agv再通行。

步骤s360当所述预加锁码点的动态锁的状态为未锁定,且所述动态锁为连环锁时,则按连环锁规则进行加锁,并跳转到步骤s380;

其中,按连环锁规则进行加锁为:

步骤s361检查与所述预加锁码点的动态锁有连环关系的所有其他虚拟码点是否都未被其它agv锁定;若是,执行步骤s362;若否,执行步骤s363;

步骤s362对所述虚拟码点及其有连环关系的所有其他虚拟码点进行加锁,且加锁成功;

步骤s363对所述预加锁码点加锁失败。

具体的,设置连环锁也是为了避免在狭窄的通道或路口出现交通拥堵或者阻塞,比如,有些区域,两个相邻虚拟码点之间的距离还不足以保证agv的安全,必须通过同时对多个虚拟码点加锁来加大agv之间的距离,从而保证安全。连环锁是指若干虚拟码点的动态锁之间有连环关系,必须同时加锁并且同时解锁。

步骤s370检查对所述预加锁码点加锁是否成功;若是,执行步骤s371;若否,执行步骤s400;

步骤s371更新加锁成功次数;

步骤s372判断加锁成功次数是否达到预设的单次锁定最大次数;若是,执行步骤s400;若否,执行步骤s381;

步骤s380检查对所述预加锁码点加锁是否成功;若是,执行步骤s381;若否,执行步骤s400;

步骤s381将所述预加锁码点作为所述agv的当前位置,跳转到步骤s311。

具体的,为了避免单台agv单次锁定时过多地占用虚拟码点,影响其它agv的通行效率,agv调度系统配置了单次锁定最大次数,该値为预设值,通过该値可限制单个agv单次锁定的最大虚拟码点数量,该値对普通锁、限制区域锁、货架锁起作用,对单向锁、连环锁不起作用,原因是为了让agv能够尽快地离开单向锁区域或连环锁区域,提高该区域的通行效率,单向锁锁定和连环锁锁定不受单次锁定最大次数限制。

步骤s400将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令,同时对所述agv经过的虚拟码点进行解锁。

具体的,连环锁需要同时解锁,一种情况:当agv经过的虚拟码点的动态锁为连环锁,且与该连环锁有连环关系的其他虚拟码点都不在该agv的运行路线上时,对该连环锁下的所有虚拟码点同时进行解锁;还有一种情况,该连环锁下有多个虚拟码点在该agv的运行路线上,当该agv经过该连环锁下的最后一个虚拟码点时,对该连环锁下的所有虚拟码点同时进行解锁。

虚拟码点的动态锁一般为普通锁,为了特殊区域的安全需要,本实施例对虚拟码点还设置了特殊锁,如限制区域锁、货架锁、单向锁和连环锁等,这样可以避免本agv在行驶经过该特殊区域时与其他agv发生碰撞。当然,也可以根据运行场地需要只设置一种或几种特殊锁,此处不做限制。

在本发明的一个实施例中,如图7所示,一种基于动态锁的agv交通管制方法,包括:

步骤s100建立虚拟码点地图,虚拟码点的间距大于agv本身的尺寸;

其中,对于二维码定位导航的场地,虚拟码点与粘贴二维码的位置重合;和/或,对于磁条/色带定位导航的场地,虚拟码点沿着磁条/色带布置;和/或,对于磁钉定位导航的场地,虚拟码点与磁钉的位置重合;和/或,对于激光雷达或者机器视觉slam定位导航的场地,虚拟码点沿其规划的行驶路径布置。

具体的,在运行场地内,所有agv可能采用同一种定位导航方式,也可能采用不同的定位导航方式,比如在不同区域活动的agv采用不同的定位导航方式。在运行场地内建立虚拟码点地图,用虚拟码点统一表示二维码、磁条、色带、磁钉、激光或者视觉slam等各种定位导航方式下agv的位置,这样有利于agv调度系统的简化,使调度系统不必关心实际场地和agv的具体定位导航方式,只需要针对虚拟地图进行业务设计。

虚拟码点的间距大于agv本身的尺寸,这样只要保障不同的agv位于不同的虚拟码点,就可以保障agv之间不发生碰撞。agv只能在虚拟码点处停留。每个虚拟码点都设置一个动态锁,所有动态锁的状态初始为未锁定。

对于二维码定位导航的场地,虚拟码点就是实际二维码的设置点。对于磁条/色带定位导航的场地,虚拟码点沿着磁条/色带布置,agv沿磁条/色带运行时的路线,可以简化为一连串虚拟码点的排列来表示。对于磁钉定位导航的场地,每个磁钉的位置设一个虚拟码点,还可以在磁钉之间设虚拟码点把磁钉连接成为路径。对于激光雷达/机器视觉slam定位导航的场地,agv以前能够在任意位置行驶或停留,在采用虚拟码点后,只能在虚拟码点处停留,沿由一系列虚拟码点构成的行驶路径行驶。

步骤s200根据不同场地的交通管理需要对每个虚拟码点设置不同类型的动态锁。

当虚拟码点对应的实际场地上具有货架时,设置所述虚拟码点的动态锁为货架锁;当虚拟码点的动态锁为货架锁,且对应的实际场地上的货架被载走后,修改所述虚拟码点的动态锁为普通锁。

具体的,虚拟码点的动态锁大多数都是预先静态设置,少数需要动态调整,比如,货架锁,当虚拟码点对应的实际场地上的货架被agv载走后,需要动态修改该虚拟码点的动态锁的类型,由货架锁改为普通锁,从而让所有agv都可通行。

动态锁分为普通锁和特殊锁,在一些特殊的区域,为了避免agv在这些区域发生碰撞或死锁而设置了特殊锁,特殊锁的设置增强了agv系统对不同应用场地的适应性。

步骤s300对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点。

其中,对每个虚拟码点进行加锁包括:

当虚拟码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述虚拟码点加锁成功;当虚拟码点的动态锁为其他agv锁定时,则对所述虚拟码点加锁失败。

步骤s400将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令,同时对所述agv经过的虚拟码点进行解锁。

本实施例,通过建立虚拟码点地图,根据不同场地的交通管理需要设置好每个虚拟码点的动态锁,包括类型和初始状态,然后再控制每个agv按照运行路线上虚拟码点的动态锁规则行驶,从而实现整个运行场地的交通管制功能。

在本发明的另一个实施例中,如图8所示,一种基于动态锁的agv交通管制系统,包括:

锁定模块110,用于对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点;其中,对每个虚拟码点进行加锁包括:当虚拟码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述虚拟码点加锁成功;当虚拟码点的动态锁为其他agv锁定时,则对所述虚拟码点加锁失败。

路径分配模块120,用于将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令。

解锁模块130,用于对所述agv经过的虚拟码点进行解锁。

具体的,agv的当前位置是指agv当前所处的虚拟码点。前方的虚拟码点是指沿agv的运行路线方向,在agv的当前位置之前的虚拟码点。对每台agv,从当前位置开始遍历前方的虚拟码点,对前方的虚拟码点尝试加锁,直至遇到加锁失败的虚拟码点,则遍历结束;加锁成功的虚拟码点形成了有效路径,将该有效路径告知agv,让该agv沿该有效路径向前行驶,同时对该agv经过的虚拟码点进行解锁;agv行驶的过程,就是前方的虚拟码点不断加锁、后方的虚拟码点不断解锁的过程。

对虚拟码点的动态锁进行加锁时,首先检查该动态锁的当前状态,如果当前状态为锁定,且被其他agv锁定,则本agv对该虚拟码点的加锁失败;如果当前状态为未锁定,该动态锁为普通锁,则本agv对该虚拟码点的加锁成功,同时该动态锁的状态变为锁定。普通锁是指其加锁是否成功只受其当前状态影响,只要当前状态为未锁定,则对其加锁成功。如果还受其他因素影响,则为特殊锁。如果动态锁的状态为锁定,当对该动态锁解锁后,该动态锁的状态变为未锁定。

示例,假设当前位置是a点,从a点开始沿agv的运行路线方向前方的虚拟码点依次是b、c、d、e……等点,对b、c、d、e……等虚拟码点尝试加锁,如果b、c、d点加锁成功,e点加锁失败,则遍历到e点结束。将加锁成功的b、c、d点所形成的有效路径分配给该agv,并告知该agv从a点开始,经有效路径前进,当离开b、c、d点时,分别对b、c、d点解锁,到达e点后又尝试对前方的虚拟码点加锁,获得新的有效路径,如此,完成agv的行驶,到达该agv的终点。

本实施例,通过使用虚拟码点的动态锁控制agv的运行,同一个虚拟码点在同一时刻只会被一个agv锁定,在同一时刻不同的agv位于不同的虚拟码点,从而避免行驶过程中agv之间发生碰撞,实现交通管制功能。本实施例的虚拟码点的动态锁为普通锁。

在本发明的另一个实施例中,如图9所示,一种基于动态锁的agv交通管制系统,包括:

锁定模块110,用于初始化加锁成功次数;对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点或加锁成功次数达到预设的单次锁定最大次数;

其中,对每个虚拟码点进行加锁包括:

当虚拟码点的动态锁为其他agv锁定时,则对所述虚拟码点加锁失败。当虚拟码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述虚拟码点加锁成功。

当虚拟码点的动态锁的状态为未锁定,且所述动态锁为限制区域锁时,则按限制区域锁规则进行加锁;其中,按限制区域锁规则进行加锁为:判断所述agv是否允许在所述虚拟码点通行;若是,则对所述虚拟码点加锁成功;若否,对所述虚拟码点加锁失败。

具体的,当动态锁为限制区域锁时,表明该虚拟码点对应的实际场地为一特殊区域,只允许特定类型的agv通行。比如,在虚拟小车与实际小车混合仿真的场景,虚拟地图包括虚拟场地和实际场地,为了限制真实小车不会行驶到实际场地以外的地方,对虚拟场地设置限制区域锁,只允许虚拟小车在该区域通行,这样,真实小车就不会行驶到虚拟场地。

当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为货架锁时,则为无货架的agv的通行对所述虚拟码点加锁成功;其中,按货架锁规则进行加锁为:判断所述agv是否未携带货架;若是,对所述虚拟码点加锁成功;若否,对所述虚拟码点加锁失败。

具体的,当动态锁为货架锁时,表明该虚拟码点对应的实际场地上有货架。此时载有货架的agv不能锁定该虚拟码点,从而实现载货的agv在行驶过程中能够成功地避开货架的虚拟码点,而空载的agv则能够自由地在货架下方行驶。

当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为单向锁时,则按单向锁规则进行加锁;当虚拟码点的动态锁的状态为未锁定,且所述虚拟码点的动态锁为连环锁时,则按连环锁规则进行加锁。

所述锁定模块包括:

单向锁定单元,用于从所述虚拟码点开始,沿着所述agv的运行路线方向取下一个虚拟码点作为被检查码点,对所述被检查码点进行检查;当被检查码点的动态锁不是单向锁时,则对所述虚拟码点加锁成功;当被检查码点的动态锁是单向锁,且所述被检查码点被其他agv锁定,且所述被检查码点的锁定方向与所述agv的运行路线方向不同时,则对所述虚拟码点加锁失败;当被检查码点的动态锁是单向锁,且所述被检查码点被其他agv锁定,且所述被检查码点的锁定方向与所述agv的运行路线方向相同时,则对所述虚拟码点加锁成功;当被检查码点的动态锁是单向锁,且所述被检查码点没有被其他agv锁定时,则沿着所述agv的运行路线方向,将所述被检查码点的下一个虚拟码点作为被检查码点,对所述被检查码点进行检查。

具体的,设置单向锁是为了避免在狭窄的通道或路口出现交通拥堵或者阻塞,适用于且不限于以下场景:两个区域通过狭长的通道来连接,需要避免对头车的情况。当预加锁码点为单向锁时,对沿着agv运行路线方向的虚拟码点逐一检查,如果单向路径上已有虚拟码点被其他不同方向的agv锁定,则该预加锁码点加锁失败,这样可以避免对头车的情况,在其他不同方向的agv通行过后,本agv再通行。

连环锁定单元112,用于当与虚拟码点的动态锁有连环关系的所有其他虚拟码点都未被其它agv锁定时,则对所述虚拟码点及其有连环关系的所有其他虚拟码点进行加锁,且加锁成功。

具体的,设置连环锁也是为了避免在狭窄的通道或路口出现交通拥堵或者阻塞,比如,有些区域,两个相邻虚拟码点之间的距离还不足以保证agv的安全,必须通过同时对多个虚拟码点加锁来加大agv之间的距离,从而保证安全。连环锁是指若干虚拟码点的动态锁之间有连环关系,必须同时加锁并且同时解锁。

所述锁定模块,进一步用于当加锁成功的虚拟码点的动态锁为普通锁、或限制区域锁、或货架锁时,更新加锁成功次数。

具体的,为了避免单台agv单次锁定时过多地占用虚拟码点,影响其它agv的通行效率,agv调度系统配置了单次锁定最大次数,该値为预设值,通过该値可限制单个agv单次锁定的最大虚拟码点数量,该値对普通锁、限制区域锁、货架锁起作用,对单向锁、连环锁不起作用,原因是为了让agv能够尽快地离开单向锁区域或连环锁区域,提高该区域的通行效率,单向锁锁定和连环锁锁定不受单次锁定最大次数限制。

路径分配模块120,用于将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令;

解锁模块130,用于对所述agv经过的虚拟码点进行解锁。

具体的,连环锁需要同时解锁,一种情况:当agv经过的虚拟码点的动态锁为连环锁,且与该连环锁有连环关系的其他虚拟码点都不在该agv的运行路线上时,对该连环锁下的所有虚拟码点同时进行解锁;还有一种情况,该连环锁下有多个虚拟码点在该agv的运行路线上,当该agv经过该连环锁下的最后一个虚拟码点时,对该连环锁下的所有虚拟码点同时进行解锁。

虚拟码点的动态锁一般为普通锁,为了特殊区域的安全需要,本实施例对虚拟码点还设置了特殊锁,如限制区域锁、货架锁、单向锁和连环锁等,这样可以避免本agv在行驶经过该特殊区域时与其他agv发生碰撞。当然,也可以根据运行场地需要只设置一种或几种特殊锁,此处不做限制。

在本发明的另一个实施例中,如图10所示,一种基于动态锁的agv交通管制系统,包括:

地图建立模块100,用于建立虚拟码点地图,虚拟码点的间距大于agv本身的尺寸;其中,对于二维码定位导航的场地,虚拟码点与粘贴二维码的位置重合;和/或,对于磁条/色带定位导航的场地,虚拟码点沿着磁条/色带布置;和/或,对于磁钉定位导航的场地,虚拟码点与磁钉的位置重合;和/或,对于激光雷达或者机器视觉slam定位导航的场地,虚拟码点沿其规划的行驶路径布置。

具体的,在运行场地内,所有agv可能采用同一种定位导航方式,也可能采用不同的定位导航方式,比如在不同区域活动的agv采用不同的定位导航方式。在运行场地内建立虚拟码点地图,用虚拟码点统一表示二维码、磁条、色带、磁钉、激光或者视觉slam等各种定位导航方式下agv的位置,这样有利于agv调度系统的简化,使调度系统不必关心实际场地和agv的具体定位导航方式,只需要针对虚拟地图进行业务设计。

虚拟码点的间距大于agv本身的尺寸,这样只要保障不同的agv位于不同的虚拟码点,就可以保障agv之间不发生碰撞。agv只能在虚拟码点处停留。每个虚拟码点都设置一个动态锁,所有动态锁的状态初始为未锁定。

对于二维码定位导航的场地,虚拟码点就是实际二维码的设置点。对于磁条/色带定位导航的场地,虚拟码点沿着磁条/色带布置,agv沿磁条/色带运行时的路线,可以简化为一连串虚拟码点的排列来表示。对于磁钉定位导航的场地,每个磁钉的位置设一个虚拟码点,还可以在磁钉之间设虚拟码点把磁钉连接成为路径。对于激光雷达/机器视觉slam定位导航的场地,agv以前能够在任意位置行驶或停留,在采用虚拟码点后,只能在虚拟码点处停留,沿由一系列虚拟码点构成的行驶路径行驶。

所述地图建立模块100,进一步用于根据不同场地的交通管理需要对每个虚拟码点设置不同类型的动态锁;当虚拟码点对应的实际场地上具有货架时,设置所述虚拟码点的动态锁为货架锁;当虚拟码点的动态锁为货架锁,且对应的实际场地上的货架被载走后,修改所述虚拟码点的动态锁为普通锁。

具体的,虚拟码点的动态锁大多数都是预先静态设置,少数需要动态调整,比如,货架锁,当虚拟码点对应的实际场地上的货架被agv载走后,需要动态修改该虚拟码点的动态锁的类型,由货架锁改为普通锁,从而让所有agv都可通行。

动态锁分为普通锁和特殊锁,在一些特殊的区域,为了避免agv在这些区域发生碰撞或死锁而设置了特殊锁,特殊锁的设置增强了agv系统对不同应用场地的适应性。

锁定模块110,用于对每台agv,从所述agv的当前位置开始沿所述agv的运行路线方向遍历前方的虚拟码点,对每个虚拟码点进行加锁,直至遇到一个加锁失败的虚拟码点;其中,对每个虚拟码点进行加锁包括:当虚拟码点的动态锁的状态为未锁定,且所述动态锁为普通锁时,则对所述虚拟码点加锁成功;当虚拟码点的动态锁为其他agv锁定时,则对所述虚拟码点加锁失败;

路径分配模块120,用于将加锁成功的虚拟码点所形成的有效路径分配给所述agv,并向所述agv发送相应的行驶指令;

解锁模块130,用于对所述agv经过的虚拟码点进行解锁。

本实施例,通过建立虚拟码点地图,根据不同场地的交通管理需要设置好每个虚拟码点的动态锁,包括类型和初始状态,然后再控制每个agv按照运行路线上虚拟码点的动态锁规则行驶,从而实现整个运行场地的交通管制功能。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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