一种室内视觉导引AGV的任务规划方法与流程

文档序号:11544635阅读:303来源:国知局
一种室内视觉导引AGV的任务规划方法与流程

本发明属于路径规划领域,特别涉及一种室内视觉导引agv的任务规划方法。



背景技术:

传统仓库运输主要依靠人工装卸货物并进行运输,运输速度慢,无法长时间连续工作,人为的不当操作甚至会引起安全事故;其次,近年来随着国内人力价格不断上涨,传统的人力运输方式造成生产成本节节攀升。agv(automatedguidedvehicle)是一种由手动或自动将货物或工件装载在车上,自动行走到指定地点,再将货物或工件卸下来的移动运输工具。agv智能化程度高,不会疲劳,不惧危险,不会萎靡走神,精准精确,不仅可大大节约企业人力成本;也可使员工脱离危险岗位,从事更具人性化的工作,对提高生产效率、降本提质、提升企业的生产管理水平作用显著。

基于机器视觉的导引方式的agv主要优点是路径设置简单、灵活、成本低;路径的维护与改造方便;视觉导航不受电磁场的影响,工作更加稳定可靠;可以很方便的识别多分支路;可以很方便的识别各种路标,可以方便的获取车辆的多种运动偏差,便于设计最优控制器;智能化水平高,具有最佳的引导柔性,机器视觉导向的agv将是未来agv发展的方向。

但是传统agv任务的规划和设计比较僵硬,类似流水线的路径一旦确定很难进行更改,或者更改运行任务将面临着重新设计周围环境和硬件的问题,不利于工厂的生产,不符合智能工厂的要求。目前移动终端手机android系统以其良好的系统稳定性,超强的数据处理能力,几乎可以完全可以取代传统意义上的pc机,并可以更加便捷,实时地进行操作,将移动终端应用于agv并进行任务规划将有着重要的意义。



技术实现要素:

发明目的:针对现有技术中存在的传统agv的任务规划方式单一,路径的维护和改变比较困难,并且成本较高,缺乏灵活性,不能适应工厂根据需求实时变换运行任务的要求问题,本发明提供一种提高agv运行的灵活性,实现小车可以根据生产实时改变运行任务,提高agv运输系统的柔性和智能性的室内视觉导引agv的任务规划方法。

技术方案:为解决上述技术问题,本发明提供一种室内视觉导引agv的任务规划方法,具体步骤如下:

第一步:根据实际工厂环境,每隔三米选择一个坐标点,选取一个标签代表该坐标点构建二维平面坐标,建立标签与环境数据库;

第二步:将每个固定的avg任务点的坐标存入第一步中的数据库;

第三步:在移动终端选择agv任务点,并将选取的agv任务点为单位对工厂进行建模;

第四步:采用floyd算法计算最优执行顺序;

第五步:移动终端将该最优执行顺序发送至主控台服务器,主控台服务器根据该执行顺序计算小车运行的最终路径;

第六步:主控制台将最终路径发送至agv小车,agv小车根据该路径,实现agv小车的任务规划。

进一步的,所述第一步中标签贴在工厂顶部,便于小车上的摄像头进行扫描。

进一步的,所述第三步中并将选取的agv任务点为单位对工厂进行建模的具体步骤为:将整个工厂构建一个由选取的agv任务点所在坐标点为单位组成的网状图,并在任务点之间赋予权值,得到一个包含权值的网状图。

其中权值大小的计算方法如下:

式中:qij表示编号为i、j的任务点之间的权值

lij表示编号为i、j的任务点之间的实际距离

m表示从一个任务点到另一个任务点小车至少需要转换方向的次数。

进一步的,所述第四步中采用floyd算法计算最优执行顺序的具体步骤如下:

4.1:初始化邻接矩阵d和前驱矩阵p;

4.2:选定任务点中的其中一个,将其作为中转站,计算其他任意两个任务点经过该中转点的路径所需要的权值大小,如果该权值大小比邻接矩阵中两者的权值小,则更新邻接矩阵和前驱矩阵,否则保持不变;

4.3:判断是否遍历完所有任务点,如果遍历完则进入步骤4.4,如果没有遍历完则返回步骤4.2;

4.4:将用户选择的所有任务点的按照编号大小存储在一个数组中形成任务数组,按照数组索引,选择两个相邻的数据,即两个任务点的编号;

4.5:将这两个任务点中较小编号的作为起始点,另一个作为终点,查询前驱矩阵,得到这两点之间的最优执行顺序;

4.6:若得到的最优执行顺序中包含编号大于该终点的编号,且这个编号包含在所选任务点中,则更新任务数组,将该编号从任务数组中删除;

4.7:判断是否遍历完所有任务数组,如果遍历完则得到任务最优执行顺序并结束,如果没有遍历完则返回步骤4.4。

与现有技术相比,本发明的优点在于:

本发明通过将工厂环境虚拟化成数字化二维平面,实现工厂中所有运行实体可以通过坐标描述自身位置。同时建立通信系统,将主控台服务器、android手机、agv小车、车间工作台统一在同一局域网中,通过android进行任务规划,并将主控台作为统一控制中心和路径信息转发设备,实现了agv小车实时任务规划。将生活中必不可少的android应用于agv小车的任务规划,彰显出方便快捷的特点,又迎合了智能化工厂的要求。

同时,采用以任务点为单位进行任务规划,任意两个任务点之间的具体路径由主控台服务器根据相应的环境模型确定,并且相互独立,在任务规划时不考虑任务点之间的运行环境。某两个任务点之间的环境变化,只需要在主控台服务器更改这两个任务点之间的环境模型即可,不影响任务规划和其他任务点之间的运行。极大的减小了局部环境变化对整个系统的影响。本方案解决了传统agv小车运行任务规划不够灵活,agv的运行方式单一,对agv小车的智能化有着很重要的意义。

附图说明

图1为本发明的总体流程图;

图2为图1中计算最优执行顺序的流程图;

图3为本发明的系统框架图;

图4为具体实施例中的环境数字化标签示意图。

具体实施方式

下面结合附图和具体实施方式,进一步阐明本发明。

本发明提供了一种agv小车任务规划的方案。通过特定的环境数字化标签将整个工厂虚拟化成一个包含坐标信息的二维平面,所有在工厂内运行的agv小车可以看成这个二维平面内坐标不断变化的点,agv小车的实时坐标位置通过识别贴在天花板上的环境数字化标签确定。同时建立以wifi为媒介的通信系统,通信系统中包含主控台服务器、android手机、agv小车和工作台。其中工作台分布在工厂中,是agv小车的潜在任务地址。主控台负责整个系统的调度和规划,android手机负责agv小车的任务选择和任务最优执行顺序的计算。

本发明中agv采用车载摄像头识别特定标签用以定位,将小车和所有工作台统一在同一个坐标系中。各个小车的控制器迷你pc、各个工作台的wifi系统以及android手机统一连接在主控台服务器上。

本发明中,工厂中遍布有若干工作台,每个工作台就是agv的一个任务点,agv的任务规划以任务点为单位,每两个任务点之间的具体运行路径由主控台服务器根据环境模型统一规划,并且相互独立。若在运行过程中,其中两个任务点之间的运行环境发生变化,只需要在主控台更改这两个任务点之间的环境模型,不影响其他任务点之间的运行,同时也不影响全局的任务规划。

本发明中任务规划的实现是通过android手机客户端更改任务需求信息,即小车所要到达的工作台的信息,手机客户端通过floyd算法计算出任务的最优执行顺序,最优执行顺序以小车执行完所有任务运行路径最短为原则。通过socket将该最优执行顺序发送主控台服务器,主控台服务器根据任务顺序规划每两个任务点之间的运行路径形成小车完成所有任务的全局路径。并将该路径传送至agv的控制器,agv接收到服务器传来的路径信息后按照新的路径进行运行。

本发明中,采用一种特别设计的环境数字化标签实现工厂环境的虚拟化。每个标签包含特定的位置坐标和姿态特征,将多个标签贴在工厂的天花板上,实现将工厂的实际环境转化成虚拟的数字化二维平面,工厂中所有的运行实体如agv小车、工作台等,可以看成二维平面中的坐标点。

环境数字化标签如图4所示。标签主题颜色为红色,分为两个区域,阴影部分为边框区域,内部为数据区域,包含一个4×4的矩阵区域,共16个正方形代表一个16位的二进制数码,其中红色代表数码0,白色代表数码1。16位中包含4位方向确定位(s1s4s13s16)、10位数据位(s3s5s6s7s8s10s11s12s14s15)和2位校验位(s2s9)。

本发明中,工作台是agv的任务点,以socket客户端连接至主控台服务器,服务器维持并实时更新每个工作台对应的实际位置坐标的列表,实现在需要叫车的时候,按下工作台处的开关,指示灯亮,表示当前工作台正在叫车,当小车到达,指示灯灭。

工作台采用esp8266wifi模块实现无线通信连接至主控台服务器,esp8266模块是一款超低功耗的wifi模块,仅需3.3v直流供电就能提供稳定的wifi功能,另外芯片提供额外的io口用于拓展其他功能。

本发明中,主要应用了模块的两个io口,其中gpio04通过一个上拉电阻连接3.3v电源,用于检测开关的闭合或断开的状态,gpio05用于控制led的亮灭,当gpio05输出高电平时,三极管q1通路,发光二极管形成通路从而发光。

通过编程实现esp8266上电自动通过相应的ip地址和端口号连接至主控台服务器,并同时将自己的工作台编号发送至服务器实现连接至整个系统网络中,当此处工作台需要小车时,按下开关,esp8266检测到开关按下的信息,将叫车的信息发送给主控台,同时,gpio05置高电平,led灯亮,当小车到达并完成既定任务后,再次按下开关通知服务台此处工作台任务已完成,小车可以驶向下一个目的地,同时指示led灯熄灭,表明此处任务已完成。

整个工厂平面中,工作台被作为agv的任务点,每个任务点包含自身的坐标和特定的任务,即:通过工作台将工厂建模成一个包含若干任务点的二维平面。

本发明中agv小车的无线通信的主要功能是实时将自己的位姿信息和本身的错误信息传送给主控台服务器并接收主控台服务器传送来的运行路径信息,小车根据主控台传来的路径信息进行运行路径的更新。

本发明中,小车的无线通信部分通过车载控制中心迷你pc实现,迷你pc通过无线网卡连接至主控台服务器。车载迷你pc装入linux系统,基于linux系统编程实现小车启动时连接至主控台,发送自己的编号,并循环等待主控台发送初始运行路径信息,接收到初始路径信息时按路径运行,并在每个周期内将自己的位姿和状态信息发送给主控台服务器。在运行途中如果接收到主控台路径更改的信号,则按照更改后的路径运行。

本发明中,车载迷你pc负责的另外一个相关功能是通过摄像头获取包含标签的图像(如图4),本发明获取含有标签的图像,运用数字图像分析处理技术,将识别出来的图像数字化成一串二进制数字串用于区别不同的标签,再通过不同标签确定对应的实际位置,并且由图像中标签的位置以及旋转角度可以计算得到图像中心位置(agv位置)相对于标签的实际方位,即可以知道此时小车对应的实际坐标位置处的位姿和偏转角度信息,两者相结合可以计算出agv在实际环境中的位置与方向,实现小车在环境中的定位。

本发明中主控台服务器是整个系统的控制调度中心和转发中心,基于windows系统,采用多线程分别处理agv小车、工作台和手机端app的请求,其主要功能有如下几部分:

1、与agv小车的通信

以列表形式显示所有在线运行的agv小车编号,并实时监听是否有新的小车连接入服务器,若有新的agv小车连接,将新连接的小车的编号添加至小车列表中。向每个新启动的小车发送初始路径信息,并实时接收小车运行当中发回的状态信息显示至相应位置。当需要更改小车运行路径时,发送新的路径信息给小车。

2、与工作台的通信

维护并实时更新工作台编号列表,实际运行环境中的所有工作台都有一个对应编号,工作台在上电连接至服务器时,将自己的编号发送给服务器。每个工作台编号对应一个世界坐标,也就是工作台在实际运行环境中的相对位置。主控台服务器实时监听每个工作台的请求信息,当监听到某个编号的工作台需要小车时会根据此编号对应的坐标确定小车运行至此位置的路径,并挑选一辆小车更换路径运行至此工作台。

3、与android客户端的通信

接收android客户端的连接请求,并建立管理列表。一旦连接建立即向手机客户端发送小车的所有状态信息,包含小车的当前运行路径、本身位置和状态信息以及是否有出错,并实时更新。当主控台服务器接收到手机客户端发送来的某一辆小车的任务更改信息时,根据任务执行顺序并结合相关环境模型制定小车的实际运行路径,将路径信息转发至对应的小车,实现任务规划。

本发明中,android手机端app是小车任务规划的发起者。其主要功能是通过socket连接至主控台服务器,通过服务器发送来的信息监控所有小车的运行状态,当需要调整某一辆小车的运行任务时,用户通过需要选择小车需要完成的任务,客户端通过floyd算法计算出任务的最优执行顺序,并将该执行顺序发送至主控台服务器。具体实施步骤如下:

1、登录至主控台服务器

登录至主控台的界面,通过输入主控台服务器的ip地址和端口号,利用socket建立一个长连接,以便于接收主控台发送的小车信息和向主控台发送修改后的路径信息。

2、监控所有小车的运行状态

登录至主控台服务器后,主控台会实时将每辆小车的运行状态信息更新至手机客户端中。手机客户端也可以主动向服务器请求刷新小车的运行状态,此处即可以实时监控每辆小车的运行状态,包括每辆小车的运行路径、小车当前位置、是否发生故障的信息。

3、agv更新任务

当某辆小车需要修改运行任务时,点击此小车对应的列表,即可以进入小车任务选择界面,在此界面修改小车需要经过的工作台(任务点)编号,当选择完成后,后台通过floyd算法计算最优执行顺序,然后将该信息通过socket发送至主控台服务器。

基于以上各部分软硬件设施,本发明的任务规划方法流程如图1,具体实现步骤如下:

步骤一:根据实际工厂环境,将工厂看成一个二维平面坐标,每隔三米选择一个坐标点,选取一个标签代表该坐标点,建立标签与实际环境的数据库;

步骤二:将工厂中的所有运行实体,包括所有工作台和在线运行的agv小车虚拟成二维平面中的一个坐标点,工作台为agv运行的任务点。

步骤三:采用手机客户端选择agv的运行任务点。

步骤四:在手机客户端上,以任务点为单位对工厂进行建模。即将整个工厂看成一个由若干任务点组成的一个网状图,任务点之间根据实际环境赋予一定的权值,权值大小以如下方式计算:

式中:qij表示编号为i、j的任务点之间的权值

lij表示编号为i、j的任务点之间的实际距离

m表示从一个任务点到另一个任务点小车至少需要转换方向的次数

根据得到的一个包含权值的网状图,采用floyd算法计算经过所选任务点的最短路径,具体计算方法为:

a.初始化邻接矩阵d和前驱矩阵p;

b.选定任务点中的其中一个,将其作为中转点;

c.计算其他任意两个任务点经过该中转点的路径所需要的权值大小,若该权值大小比邻接矩阵中两者的权值小,则更新邻接矩阵和前驱矩阵,否则保持不变;

d.重复步骤b、c,直到遍历完所有所有任务点,保存最后更新完成后的前驱矩阵;

e.将用户选择的所有任务点的按照编号大小存储在一个数组中形成任务数组,按照数组索引,选择两个相邻的数据,即两个任务点的编号;

f.将这两个任务点中较小编号的作为起始点,另一个作为终点,查询前驱矩阵,得到这两点之间的最优执行顺序;

g.若得到的最优执行顺序中包含编号大于该终点的编号,且这个编号包含在所选任务点中,则更新任务数组,将改编号从任务数组中删除。

h.重复步骤e、f,g直到遍历完所有任务数组,就可以得到一条完整的包含用户所选的所有任务点的最短路径。该最短路径就是用户所选任务的最优执行顺序。

步骤五:手机客户端将该最优执行顺序发送至主控台服务器,主控台服务器根据该执行顺序计算小车运行的最终路径。具体计算方式为:

首先根据任务执行顺序,依次选取两个任务点,并对这两个任务点之间的运行环境以坐标点为单位建模,即每隔一定的距离选取一个坐标点,坐标点之间也采用公式(1)赋予一定的权值,同样形成一个包含权值的网状图;

然后,采用dijkstra算法计算两个任务点之间最短路径,也就是agv小车在这两个任务点之间的最优行驶路径;

最后,将所有任务点之间的最优路径连接起来,形成agv小车的包含所有已选任务的最终路径,并将该路径发送至agv小车。

步骤六:agv小车根据该路径行驶,实现agv小车的任务规划。

以上所述仅为本发明的实施例子而已,并不用于限制本发明。凡在本发明的原则之内,所作的等同替换,均应包含在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。

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