基于openTCS实现对自动导引车调度控制方法及系统与流程

文档序号:24637983发布日期:2021-04-09 20:49阅读:1059来源:国知局
基于openTCS实现对自动导引车调度控制方法及系统与流程
本发明涉及自动导引运输车
技术领域
,尤其涉及一种基于opentcs实现对自动导引车(agv)调度控制方法及系统。
背景技术
:目前,随着智能工厂的应用越来越广泛,自动导引运输车也在各个行业都有使用,对于自动导引运输车调度控制方法需要根据各个厂商的自动导航车辆的类型、agv的自动导航方式,agv的运行环境以及控制方式等需求,进行单独开发,存在开发周期长,企业投入费用大等问题。技术实现要素:本发明公开了一种基于opentcs实现对自动导引车调度控制方法及系统,以解决现有技术的上述问题或其他潜在问题中的任意问题。为了解决上述问题,本发明的技术方案是:一种基于opentcs实现对自动导引车调度控制方法,所述方法具体包括以下步骤:s1)opentcs调度系统与agv控制器建立通信连接;s2)opentcs调度系统实时读取agv(自动导引车)状态反馈数据;s3)opentcs调度系统根据agv状态反馈数据中的坐标信息查询最近的point信息下发给agv控制器,agv控制器接收到point信息发回反馈信息,完成vga初始化;s4)当opentcs调度系统接收到生产管理系统下发的任务信息,对agv进行调度和路径规划,并将规划好的路径资源发送给agv控制器,实现对多台agv进行交通管控。进一步,所述s1)中所述opentcs调度系统与agv控制器之间通信基于tcp/ip网络协议和lwip协议栈。进一步,所述s4)的具体步骤为:s4.1)opentcs调度系统根据订单任务规划出最佳路径,将分配好的路径资源按照协议格式下发给执行该任务的agv,s4.2)agv控制器接收到路径资源,控制的agv行走按照三阶贝塞尔曲线来运动,并反馈确认信息给opentcs调度系统;s4.3)opentcs调度系统发出查询指令,agv控制器在执行任务实时向opentcs调度系统上报自身状态和位置信息,opentcs根据agv上报的信息对多台agv进行交通管控。进一步,所述最佳路径包括3个目标点和3条边;其中,所述3个目标点包括当前点和2个预知点;所述3条边包括一条已经走完的边+两条即将要走的边;下发方式为以字符串格式下发。进一步,所述s4.3)所述agv反馈给调度系统的信息以字符串格式发送,每两个字段之间以“;”。进一步,所述s4.2)中的三阶贝塞尔曲线运动的转弯具体方法为:首先,将转弯分成两段对称的三阶贝塞尔曲线,其次,假设agv要沿弧ad转弯90度,转弯半径为1,将弧ad分成两段45度的弧,即弧aj和弧jd,同时需要保证弧aj和弧jd关于线段oj对称,然后,过j点做弧ajd的切线,交线段ab和cd于k点和l点,取线段ak的中点m,线段ld的中点n,则三阶贝塞尔曲线aj的4个控制点为a、m、k、j,三阶贝塞尔曲线jd的4个控制点为j、l、n、d;最后,按照控制点进行控制,实现agv转弯控制。本发明的另一目的是提供一种基于opentcs实现对自动导引车调度控制的方法的系统,所述控制系统包括opentcs调度系统、驱动接口模块、agv控制器和网络模块;所述opentcs调度系统,用于根据订单任务规划出最佳路径,将分配好的路径资源按照协议格式下发给执行该任务的agv,并根据agv控制器上报的状态信息对agv进行交通管控;所述驱动接口模块,用于实现opentcs调度系统与agv控制器按照指定的通信协议进行数据交互;所述agv控制器,用于接收调度系统路径信息并向调度系统实时反馈自身状态信息;其中,所述opentcs调度系统通过所述驱动接口模块与所述agv控制器连接。一种实现上述的一种基于opentcs实现对自动导引车调度控制方法的信息处理终端。一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的一种基于opentcs实现对自动导引车调度控制方法。本发明的有益效果是,由于采用上述技术方案,本发明基于开源的交通管控系统opentcs开发了一套通用的agv调度系统(所谓通用,即指跟agv的导航方式、agv的运行环境等无关),支持图形化地图编辑,适应不同的场景地图且保证系统鲁棒性,基于图论及路径规划算法思想可根据mes系统下发的订单进行agv调度,agv路径规划,实现多agv协同作业的实时监控与交通管控,能够有效避免多台agv碰撞或死锁。开发一套agv调度系统的技术难度较大,需要企业投入较大的开发成本,借助于成熟且开源的交通管控系统opentcs,可帮助企业快速部署一套agv调度系统,可大大节省开发成本。附图说明图1为本发明一种基于opentcs实现对自动导引车调度控制方法的流程图。图2为本发明方法中的agv行走按照三阶贝塞尔曲线来运动带转弯半径的地图模型建立的示意图。图3为三阶贝塞尔控制点求解的示意图。图4为实际场景中的agv在opentcs中的行驶状态示意图。图5为本发明一种基于opentcs实现对自动导引车调度控制系统的逻辑框图。具体实施方式下面结合附图具体实施例对本发明的技术方案做进一步说明。如图1所示,本发明一种基于opentcs实现对自动导引车调度控制方法,所述方法具体包括以下步骤:s1)opentcs调度系统与agv控制器建立通信连接;s2)opentcs调度系统实时读取agv状态反馈数据;s3)opentcs调度系统根据agv状态反馈数据中的坐标信息查询最近的point信息下发给agv控制器,agv控制器接收到point信息发回反馈信息,完成vga初始化;s4)当opentcs调度系统接收到生产管理系统下发的任务信息,对agv进行调度和路径规划,并将规划好的路径资源发送给agv控制器,实现对多台agv进行交通管控。所述s1)中所述opentcs调度系统与agv控制器之间通信基于tcp/ip网络协议和lwip协议栈。所述s4)的具体步骤为:s4.1)opentcs调度系统根据订单任务规划出最佳路径,将分配好的路径资源按照协议格式下发给执行该任务的agv,s4.2)agv控制器接收到路径资源,控制的agv行走按照三阶贝塞尔曲线来运动,并反馈确认信息给opentcs调度系统;s4.3)opentcs调度系统发出查询指令,agv控制器在执行任务实时向opentcs调度系统上报自身状态和位置信息,opentcs根据agv上报的信息对多台agv进行交通管控。所述最佳路径包括3个目标点和3条边;其中,所述3个目标点包括当前点和2个预知点;所述3条边包括一条已经走完的边+两条即将要走的边;下发方式为以字符串格式下发。所述s4.3)所述agv反馈给调度系统的信息以字符串格式发送,每两个字段之间以“;”。所述s4.2)中的三阶贝塞尔曲线运动的转弯具体方法为:首先,将转弯分成两段对称的三阶贝塞尔曲线,其次,假设agv要沿弧ad转弯90度,转弯半径为1,将弧ad分成两段45度的弧,即弧aj和弧jd,同时需要保证弧aj和弧jd关于线段oj对称,然后,过j点做弧ajd的切线,交线段ab和cd于k点和l点,取线段ak的中点m,线段ld的中点n,则三阶贝塞尔曲线aj的4个控制点为a、m、k、j,三阶贝塞尔曲线jd的4个控制点为j、l、n、d;最后,按照控制点进行控制,实现agv转弯控制,如图2和图3所示。如图5所示,一种基于opentcs实现对自动导引车调度控制的方法的系统,所述控制系统包括opentcs调度系统、驱动接口模块、agv控制器和网络模块;所述opentcs调度系统,用于根据订单任务规划出最佳路径,将分配好的路径资源按照协议格式下发给执行该任务的agv,并根据agv控制器上报的状态信息对agv进行交通管控;所述驱动接口模块,用于实现opentcs调度系统与agv控制器按照指定的通信协议进行数据交互;所述agv控制器,用于接收调度系统路径信息并向调度系统实时反馈自身状态信息;其中,所述opentcs调度系统通过所述驱动接口模块与所述agv控制器连接。一种实现上述的一种基于opentcs实现对自动导引车调度控制方法的信息处理终端。一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的一种基于opentcs实现对自动导引车调度控制方法。实施例:opentcs调度系统与agv控制器建立通信连接,opentcs调度系统调度系统启动后不断的发送“readagvstate”指令查询agv状态。agv启动时只知道自身坐标信息,point信息为null,调度系统需要根据agv上报的坐标信息查询最近的point下发给agv,agv基于此完成自身在地图中的初始化。agv接收到point信息后反馈“pointsetok”,调度系统收到后继续发送“readagvstate”查询指令。agv收到查询指令后上报自身状态,当agv走完1条边时,调度系统下发新的路径资源给agv,agv收到路径信息后反馈“ok”,调度系统收到反馈信号后继续发送“readagvstate”查询指令。调度系统与agv的通信交互过程,调度系统将规划好的路径资源发送给agv(路径下发以边为单位)。项目中调度控制的agv行走按照三阶贝塞尔曲线来运动,因此agv的每条路径边由4个点构成(路径起点、控制点1、控制点2、路径终点)。agv实时向调度系统上报自身位姿信息,频率为100hz。为了保证agv能够连续运行,调度系统每次给agv下发3个目标点(当前点和2个预知点)和3条边(一条已经走完的边+两条即将要走的边),临近路径终点时不足3个则置为null,以字符串格式下发。控制指令可以理解为“订单”系统,车体运行由一个订单列表驱动车子去运行。例如,订单1:前往a点取车,前往b点放车,前往c点充电。调度系统与agv的通信协议格式如表1和表2所示。表1agv反馈给调度系统信息agvname(vehicle-01)agv位姿信息(x、y、angle)agv当前point(point-0001)电量值(soc)agv状态:idle\executing\working表2调度系统下发给agv控制指令--路径下发pointcount:xx;pathcount:xx;注:如果一个点的类型为报告位置,这个点是不会出现在分配的点资源中的。opentcs工程模型中的点有布局坐标和模型坐标两组坐标,其中布局坐标仅用于工厂模型中的图形呈现,而模型坐标是agv驱动在导航时使用的或发送到与其通信的agv的数据(如实际场景中的agv需要目的地点的精确坐标),实际场景中的agv反馈给opentcs的位姿信息则是模型坐标。所以为了在工程模型中动态显示实际场景中agv的位置变化,需要将agv反馈上来的位姿信息转换为布局坐标。项目中调度控制的agv转弯按照三阶贝塞尔曲线来运动,因此需要根据agv的实时坐标及实际场景中转弯的贝塞尔曲线(4个控制点:起点、控制点1、控制点2、终点)求出贝塞尔时间因子t,然后将t带入工厂模型对应的贝塞尔曲线中,求解出agv在工厂模型中的布局坐标。调度系统测试用agv底层运动控制算法按照三阶贝塞尔曲线来运动,可实现带转弯半径行走。为了保证转弯曲率的连续性,建图时需要将转弯分成两段对称的三阶贝塞尔曲线。如图2中,假设agv要沿弧ad转弯90度,转弯半径为1,建图时需要将弧ad分成两段45度的弧,即弧aj和弧jd,同时需要保证弧aj和弧jd关于线段oj对称,如图3所示。过j点做弧ajd的切线,交线段ab和cd于k点和l点,取线段ak的中点m,线段ld的中点n,则地图建模中三阶贝塞尔曲线aj的4个控制点为a、m、k、j,三阶贝塞尔曲线jd的4个控制点为j、l、n、d。opentcs每次给agv下发路径举例说明:pointcount:3;pathcount:3;point-0009,triple{x=47659,y=-18904,z=0},halt_position;point-0011,triple{x=47659,y=-24533,z=0},halt_position;point-0013,triple{x=43906,y=-28286,z=0},halt_position;point-0008---point-0009,point-0008,(11),(22),point-0009,1000,0,1,0,0;point-0009---point-0011,point-0009,(33),(44),point-0011,1000,0,2,0,0;point-0011---point-0013,point-0011,(55),(66),point-0013,1000,0,3,1,270,如图4所示。以上对本申请实施例所提供的一种基于opentcs实现对自动导引车调度控制方法及系统,进行了详细介绍。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。如在说明书及权利要求书当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求书当中所提及的“包含”、“包括”为一开放式用语,故应解释成“包含/包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求书所界定者为准。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求书的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1