1. AGV控制系统介绍
AGV控制系统可分为集中式控制系统和分布式控制系统。与AGV分布式控制系统相比,前一种系统中的AGV可以通过上位机的指令实现工厂模式中的规划路径行驶。在车辆调度、路线优化等方面更加成熟稳定。
工业应用中的AGV项目解决方案考虑实际需求,一般采用集中控制系统。 AGV集中控制系统主要包括中央调度控制系统和车载控制系统两部分。中央调度控制系统负责任务调度、路径规划和交通管理,车载控制器负责完成分配任务的执行、导航运动、充电安全等方面的控制。
AGV系统完成工作离不开两个控制系统的协调运行,而通信系统在AGV车载控制系统与中央调度控制系统之间发送和接收信息的过程中起着不可或缺的重要作用。
本文的主要内容包括:
1)基于802.11g标准协议的WLAN技术构建一个完整的高传输速率的无线局域网,通过TCP/IP完成AGV与调度系统应用层软件所在的上位机之间的发送和接收通信。
2)完整定义中央控制系统与各AGV车载控制系统之间的双向通讯协议内容,包括:AGV上下线、订单任务下发、移动指示灯、AGV动力速度、AGV位置姿态等手动控制转换。
3)针对AGV集中控制系统通信压力大的问题,分析上位机软件架构,增加AGV车载通信适配器的通信模块。
2. AGV控制系统通信方案设计
AGV集中控制系统的通信结构如图1所示。在AGV集中控制系统中,中央调度控制系统与各AGV进行双向通信,AGV之间不进行通信。
图1 通信系统结构
2.1 通信结构设计
常用的无线通信方式包括无线局域网(WLAN)、Zigbee、蓝牙、红外(IrDA)技术和超宽带(UWB)技术。设计方案是为了提高AGV系统运行时数据通信的实时性、可靠性和稳定性,并考虑了干扰源多的AGV系统和需要远程通信的系统的工作环境要求,最大传输速率和对各频段协议的覆盖范围进行排序和比较。范围及申请价格如表1所示。
表1 协议对比结果
根据分析,方案设计选择基于802.11g标准的WLAN技术来完成AGV通信系统的网络搭建。传输速率大,有效工作距离远超Zigbee和蓝牙,与IEEE802.11g和IEEE802.11b Wi-Fi系统具有良好的兼容性,适合功率较大的AGV系统网络。
WLAN的通信传输协议包括TCP协议和UDP协议。 TCP(TransmissionControlProtocol)为用户提供面向连接、基于字节流的通信连接; UDP(UserDatagramProtocol)提供非面向连接的数据传输。与TCP协议不同,数据可以直接发送和接收,而不需要双方先建立连接。
UDP协议的数据发送和接收不受连接数的限制,因此具有较高的通信效率,但也不可避免地降低了UDP协议传输数据的可靠性。在上位机和AGV小车正式收发数据之前,需要双方先建立可靠的连接。考虑到AGV系统通信系统的实时性和工作环境要求,通信方案选择较为成熟的TCP传输协议来构建系统无线通信网络。
WLAN组网方式灵活,常用的WLAN网络拓扑包括IBSS和ESS拓扑。
IBSS(独立基本服务集)网络结构的连接方式,其拓扑结构简单,易于维护。在这种结构下,各个AGV之间可以通过无线网卡进行通信,但是AGV之间存在信道共享的问题。适用于AGV分布式控制系统:ESS(ExtentServiceSet扩展服务集)网络包含多个无线AP。连接到网络的AGV 还支持数据通信期间AP 之间的频率和空间复用。这种结构可以完全适合AGV集中控制系统的网络通信需求。
为了提高无线网络连接的安全性和稳定性,预先分配路由器的IP地址范围,设置系统通信的地址池,为连接无线网络的AGV分配静态IP地址,并比较AGV对应的IP地址。 MAC地址与固定IP地址绑定,方便上位机服务器根据IP地址识别并注册对应的AGV。
2.2 通讯内容定义
在工业环境中,AGV机器人主要通过自动进出装卸站、工作台、货架等限定单元来完成物料进出仓库的运输。它们能够充分适应工作时间长、处理量大等要求。中央调度控制系统与AGV车载控制系统的具体通信流程如下:
1)建立连接:上位机调度控制系统接受MES系统的响应后,通过通信系统与空闲AGV建立订单联系,检查AGV是否可以处理相应的订单。
2)命令指令:AGV可以处理相应的命令,上位机开始逐段发出运动指令,AGV回复确认数据。为了提高AGV行驶状态的平稳性,在作业下发行驶路段的同时,提前下发预分配的线段。
3)信息更新:AGV通过无线网络将当前位置和状态发送给上位机,上位机更新并存储接收到的数据并释放路径资源。
4)心跳包:AGV定期发送小车位置和状态的实时数据,检测AGV与上位机通讯是否稳定,防止系统连接掉线。
5)订单回复:AGV主动报告已到达订单目的地并完成装卸或充电操作指令。
6)订单结束:上位机响应AGV完成订单,继续下订单或停放AGV。
通信系统发送和接收的标准数据在协议消息的数据包中定义。车辆通信系统以上行链路向主机发送数据,主机以下行链路向车辆通信系统发送数据。该协议以固定长度字节数组数据包的形式发送。
头部占据1个字节,OxAA确定这是数据包的起始点。主要目的是防止因接收到错误报文而导致系统错误,并便于传输数据包时进行数据识别和匹配。
功能码占1字节,定义如表2所示。
表2 功能码
根据不同的功能码,车辆控制系统会对协议报文进行相应的分析和处理。
AGV车号ID段占用高低位2个字节,用于上位机识别数据包的来源AGV,并将要发送的数据准确投递到指定的AGV;
AGV位置占用高低位2个字节,用于上位机控制系统和车载控制系统的相互对标,为系统实时运行状态提供可靠依据。
AGV功率占用高低位2个字节。通过中央调度控制系统对任务指令的下达进行评估,及时向储能不足的AGV发出自动充电指令,维持系统高效稳定运行。
AGV是否可以处理下发订单的状态回复占用1个字节,用于两次确认AGV的状态,避免无效订单。
动作指令段占用1个字节,包含定义的动作指令,如表3所示。
表3 动作命令列表
AGV路径段的下发占用4个字节,用于下发下一个目的地点对应的两个路径段。提前发送的第二路径段用于保证AGV运行状态的顺畅。根据中央调度系统的路径资源分配机制分段下发指令,每次都需要上行确认,以便及时释放路径资源。直到订单规划的包含路径完成。
上下行命令和响应帧格式如表4和表5所示。
表4 下行消息
表5 上行消息
报文校验部分占用两个字节,用于验证传输数据的准确性,判断是否存在错误数据。消息协议采用CRC校验,提高系统通信的可靠性。
尾部占用1个字节,OxBB确定这是数据包的结束点。
2.3 通讯适配器
上位机调度控制系统是基于开源组织结构开放式TCS。针对AGV集中控制系统通信压力大的问题,分析了上位机软件架构,采用Java编程语言编写通信适配器,完成了系统通信模块的集成开发。
软件框架如图2所示
图2 软件框架图
openTCS支持的通信适配器主要实现在特定自动导引车、不连续运输机等的通信协议中,充当内核和执行设备之间的中介。 AGV通讯通讯器的实现步骤如下:
1)创建子类VehicleCommAdapter:继承BasicVehicleCommAdapter,实现命令队列管理;在派生类中使用realvehicle的抽象方法;当受控AGV上报状态和命令操作时,反馈内核。
2)创建VehicleCommAdapterFactory工厂类,依次实例化VehicleCommAdapter给出的AGV对象。
3)为通信适配器创建Guice模块KernelInjectionModule。注册并绑定VehicleCommAdapterFactory,使用openTCS的javautil.ServiceLoader服务项,启动时自动查找Guice模块。
4) 在CommProtocol类中,定义协议的基本内容和触发机制。
5) 在启动上位机调度系统openTCS的内核之前,将通信适配器的JAR文件和其他资源放置在内核应用程序安装目录的子目录中。确保kernel.bat 的启动脚本包含应用程序类路径中此目录中的所有JAR 文件。启动内核时,可以自动搜索符合要求的通信适配器。
3. 实验
实验设备主要包括一台主机PC、两台自然导航AGV、一台无线路由器等。
使用Gradle构建工具编译生成内核、内核控制中心和执行软件,依次启动kernel.bat、kernelcontrolcenter.bat和plantoverview.bat的启动脚本,在线测试AGV,加载实车通信适配器内核控制中心,如图3所示。
图3 通信适配器
AGV的基本配置参数如表6所示。
表6 AGV配置参数
无线路由器采用TL-WDR5620千兆易展版,部分规格如表7所示。
表7 路由器规格参数
该通信系统基于上位机调度管理软件openTCS,专为满足激光导航、磁导航、自然导航等导航方式的AGV移动机器人的运行过程而设计。在实验室研究的自然导航AGV的基础上,对AGV通信系统进行了现场测试。验证本研究方案的可行性,如图4所示。
图4 实验测试
经实验验证,中央调度控制系统与车载控制系统在运行过程中能够满足正常有效的通信,AGV系统能够根据需要完成订单作业。
4。结论
随着企业智能制造的不断转型升级,AGV等移动机器人发挥着非常重要的作用。随着5G时代和工业4.0的发展,AGV的模块化设计研究可以有效缩短开发周期,更加适应各行业。根据各种使用需求,本文的通信系统解决方案采用模块化设计方法,可以结合AGV的其他功能模块,根据具体的使用需求开发设计不同系列的物流解决方案。
审稿人:李茜