0 引言
随着数字化车间和现代化智能输送系统的自动化、集成化和智能化的不断提高,自动导引车(Automated guided vehicles,AGV)系统在汽车家电制造、仓储物流电商等领域,在提高物料运输效率的同时,有效降低了物料的运输成本,其产品、技术及解决方案具有日益广泛的应用场景。
1 简介
AGV控制系统可分为集中控制系统和分布式控制系统,而相比于AGV分布式控制系统,前者系统中的AGV能够通过上位机指令,实现工厂模型中的规划路径行驶,在车辆调度、路径优化等方面更为成熟和稳定。工业应用中的AGV项目方案,考虑实际需求一般采用集中式控制系统,而集中式的AGV控制系统主要包括中央调度控制系统和车载控制系统两部分。中央调度控制系统负责任务调度、路径规划和交通管理,车载控制器负责完成下发任务的执行、导航运动和充电安全等方面的控制[1]。AGV系统完成作业离不开两个控制系统的协同运行,而通讯系统在AGV车载控制系统和中央调度控制系统之间的信息收发过程中起着不可或缺的重要作用。
本文的主要内容包括:
1)基于802.11g标准协议的WLAN技术构建了一个完整传输速率高的无线局域网络,完成AGV与调度系统应用层软件所在的上位机通过TCP/IP的收发通讯。
2)完整定义中央控制系统与各AGV的车载控制系统的双向通信协议内容,包括:AGV上下线、订单任务下发、移动指示灯光、AGV电量速度、AGV位置姿态和手动控制转换。
3)针对AGV的集中式控制系统通讯压力大的问题,分析上位机软件体系结构,增设AGV车载通讯适配器的通讯模块。
2 方法
AGV集中控制系统的通讯结构如图1所示,在AGV的集中式控制系统中,中央调度控制系统与各AGV进行双向通信,各AGV之间不互相通信[2]。
2.1 通讯结构设计
常用的无线通信方式有无线局域网(WLAN)、Zigbee、蓝牙(Bluetooth)、红外(Ir DA)技术和超宽带(UWB)技术等。设计方案为提升AGV系统运行时数据通讯的实时性、可靠性和稳定性,并考虑AGV系统干扰源多、系统需要远程通讯的工作环境要求,整理比对了各频段协议的传输最大速率、覆盖范围和应用价格,如表1所示[3]。
协议 | 蓝牙 | Zigbee | IrDA | UWB | 802.11 | 802.11g |
频段(GHz) | 2.4~2.485 | 0.868~2.4 | 红外 | 3.1~10.6 | 2.4 | 2.4 |
最大速率(Mbit/s) | 1 | 0.25 | 16 | 500 | 2 | 54 |
覆盖范围(m) | 10 | 50~300 | 2 | 10 | 100 | 100~300 |
价格 | 中等 | 偏低 | 偏低 | 偏高 | 中等 | 中等 |
根据分析,方案设计选择基于802.11g标准的WLAN技术来完成AGV通信系统的网络架设,传输速率较大,有效工作距离远超Zigbee和蓝牙,且IEEE802.11g与IEEE802.11bWi-Fi系统具有良好的兼容性,适用于功率较大的AGV系统网络。
WLAN的通信传输协议包括TCP协议和UDP协议。TCP(Transmission Control Protocol)为用户提供了一种面向连接且基于字节流的通信连接;UDP(UserDatagram Protocol)提供的是面向非连接的数据传输,与TCP协议不同的是,可直接进行数据收发而不需要双方首先建立连接。UDP协议的数据收发不受连接限制,因而具备更高的通信效率,但不可避免地降低了UDP协议传输数据的可靠性[4]。在上位机和AGV小车正式收发数据前,要求双方先建立可靠的连接。综合考虑AGV系统通讯系统的实时性和工作环境需求,通讯方案选择更为成熟的TCP传输协议搭建系统无线通讯网络。
WLAN的组网方式灵活,常用的WLAN网络拓扑结构有IBSS和ESS拓扑结构。
IBSS(Independent Basic Service Set,独立基本服务集)网络结构的连接方式中,其拓扑结构简单,易维护,该结构下各个AGV互相之间都可通过无线网卡进行相互之间通信,但存在AGV间信道共用问题,适合AGV分布式控制系统;ESS(Extent Service Set,拓展服务集)网络包含多个无线AP,连入网络的AGV在进行数据通讯的同时,还支持AP间对频率和空间的重利用,该结构能够充分适用于AGV集中控制系统的网络通讯需求[5]。
为了提高无线网络连接的安全性和稳定性,预先分配路由器的IP地址范围,设置系统通讯的地址池,对接入该无线网络的AGV分配静态的IP地址,将AGV对应的MAC地址与固定的IP地址绑定,方便上位机的服务器根据IP地址识别登记相应的AGV[6]。
2.2 通讯内容定义
在工业环境现场,AGV机器人主要通过自动出入装卸站、工作台和货架等定义单元,完成物料入库、出库等操作的搬运输送,可以充分适应工作时间长、搬运量大等要求[7]。中央调度控制系统和AGV车载控制系统的具体通讯流程如下:
1)建立连接:上位机调度控制系统接受MES系统响应后,通过通讯系统的与空闲状态的AGV建立订单联系,并检验该AGV是否可以处理对应订单。
2)订单命令:AGV可以处理对应订单,上位机开始逐段下发移动指令,AGV回复确认数据。为提高AGV行驶状态的流畅性,运行在下发行驶路段的同时,提前下发预分配线段。
3)信息更新:AGV通过无线网络向上位机发送当前位置和状态,上位机将所接收的数据更新存储,释放路径资源。
4)心跳包:AGV定时发送小车位置及状态的实时数据,用以检测AGV与上位机的稳定通信,防止系统连接掉线[8]。
5)订单回复:AGV主动上报已经到达订单目的地,完成装货、卸货或充电的操作指令。
6)订单结束:上位机回复AGV完成订单的主动回复,继续下发订单或将该AGV泊车。
通讯系统传输收发的标准数据,定义在协议报文的数据包中,车载通讯系统向上位机发送数据为上行,上位机向车载通讯系统发送数据为下行。协议以定长字节数组数据包形式发送。
报头占用1个字节,OxAA判断为该段数据包报文的起点。主要是防止因接收错误报文导致的系统错误问题,方便在传输数据包时,数据的识别匹配。
功能码占用1个字节,定义如表2所示。
功能码 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 |
功能 | 注册上线 | 心跳包 | 下发确定 | 下行动作指令 | 上行动作指令 | 手动/自动切换 |
依据不同的功能码,车载控制系统会对协议报文进行相对应的解析与处理。
AGV车号ID段占用高低位2个字节,用于上位机判别数据包的来源AGV,并将要下发的数据精确地送达指定AGV;
AGV位置占用高低位2个字节,用于上位机控制系统车载控制系统相互对标,并为系统的实时运转状态提供可靠依据。
AGV电量占用高低位2个字节,用于中央调度控制系统评估任务订单的下发和及时为蓄能不足的AGV下发自动充电指令,以维持系统的高效稳定运行。
AGV是否可以处理下发订单的状态回复占用1个字节,用以二次确认AGV的状态,避免订单的无效下发。
动作指令段占用1个字节,包含的定义动作指令如表3所示。
功能码 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
指令 | 命令小车前进 | 命令小车后退 | 左转转向灯 | 右转转向灯 | 装货 | 卸货 | 充电 | 命令小车泊车 |
AGV路径线段的下发占用4个字节,用于下发下一目的点对应的前后两条路径线段。提前发出的第二条路径线段用以保证AGV运行状态的流畅度。指令依据中央调度系统路径资源分配机制,依次分段下发,且每次都需要上行确认,以期及时释放路径资源。直到完成该订单所规划的包含路径为止。
上下行指令及响应帧格式如表4和表5所示。
上位机→AGV的下行报文 | |||||||||
报头 | 功能码 | 动作 | 位置_H | 位置_L | 路径_1H | 路径_1L | 路径_2H | 路径_2L | 报尾 |
0xAA | 0x04 | 0xBB |
AGV→上位机的上行报文 | |||||||||
报头 | 功能码 | 动作 | 位置_H | 位置_L | CRC_16_H | CRC_16_L | 报尾 | ||
0xAA | 0x04 | 0xBB |
报文校验段占用两字节,用于校验所传输的数据中准确性,判断是否存在错误数据。报文协议采用CRC校验,以提高系统通信的可靠性[9]。
报尾占用1个字节,OxBB判断为该段数据包报文的终点。
2.3 通讯适配器
上位机调度控制系统基于开源组织架构open TCS,针对AGV的集中式控制系统通讯压力大的问题,分析上位机软件体系结构,用Java编程语言编写通讯适配器,完成对系统通讯模块的集成开发。
软件框架如图2所示。
openTCS支持的通讯适配器,主要实现于特定的自动导引车、非连续的运输机等的通信协议,作为内核和执行设备之间的中介。AGV通讯通讯器的实现步骤如下:
1)创建子类VehicleCommAdapter:继承BasicVehicleCommAdapter实现命令队列管理;在派生类中realvehicle的抽象方法;调用comm适配器模型上的相应方法setVehiclePosition()和commandExecuted()等,当受控AGV报告状态和订单作业时,反馈内核kernel。
2)创建VehicleCommAdapterFactory工厂类,依次为实例化VehicleCommAdapter给定的AGV对象。
3)为通讯适配器创建Guice模块KernelInjectionModule。注册并绑定VehicleCommAdapterFactory,以用于openTCS的java.util.ServiceLoader服务项在启动时自动查找Guice模块。
4)在CommProtocol类中,定义协议基本内容和触发机制。
5)启动上位机调度系统open TCS的内核之前,将通讯适配器的JAR文件及其他资源放在内核kernel应用程序安装目录的子目录中。保证kernel.bat的启动脚本在应用程序的类路径中包含该目录中的所有JAR文件,启动内核时,可以自动搜索找到满足要求的通讯适配器。
3 实验
实验设备主要包括一台上位机PC,两台自然导航方式AGV,一台无线路由器等。
利用Gradle构建工具,编译生成内核、内核控制中心和执行软件,依次启动kernel.bat、kernelcontrolcenter.bat和plantoverview.bat的启动脚本,上线测试AGV,并在内核控制中心加载real vehicle的通讯适配器,如图3所示。
AGV基本配置参数如表6所示。
安全距离 | AGV运行速度 | AGV心跳检测时长 | 定位精度 |
3m | 0~1.5m/s | 10s | ±10mm |
无线路由器选用TL-WDR5620千兆易展版,部分规格参数如表7所示。
项目 | 规格参数 |
传输标准 | IEEE802.11a/IEEE802.11b/IEEE802.11g等 |
无线速率 | 2.4GHz频段:300Mbps/5GHz频段:867Mbps |
接口 | 4个10/100/1000M自适应WAN/LAN |
安全机制 | 支持64/128/152位WEP加密和WPA等加密机制 |
通讯系统基于上位机调度管理软件openTCS,设计满足激光导航、磁导航和自然导航等导航方式AGV移动机器人的运行过程,在实验室研究的自然导航AGV的基础上,进行AGV通讯系统的现场测试,验证本文研究方案的可行性,如图4所示。
经实验验证,中央调度控制系统和车载控制系统在工作运行时能够满足正常有效通讯,AGV系统能够依需完成订单作业。
4 结语
随着企业智能制造的不断改造和升级,AGV等移动机器人扮演着相当重要的角色,随着5G时代和工业4.0的发展到来,AGV的模块化设计研究,可以有效缩短开发周期,更能适应各种使用需求,本文的通讯系统方案就是采用模块化的设计方法,能够根据具体的使用要求,组合AGV的其余功能模块,开发设计不同系列的物流解决方案[10]。
参考文献:
[1] 王国梁,薛晓茹,孙佳丽,等.基于无线通讯的AGV设计与实现[J].科技创新与应用,2020(04):96-97,100.
[2] 曾英杰.面向大规模AGV调度的802.11ax无线控制网络仿真与优化[D].哈尔滨工业大学,2019.
[3] 葛笑寒.基于ZigBee的AGV控制系统设计[J].清远职业技术学院学报,2019,12(03):43-46.
[4] 谷友新.基于UWB技术的AGV仓储系统应用[J].当代化工研究,2019(04):59-60.
[5] 卢军,蔡怀海,谷艳红.基于物联网的智能仓储管理系统的设计[J].哈尔滨师范大学自然科学学报,2018,34(05):33-37.
[6] 王天泽,袁尚青,陈德雯.使用ZigBee定位的无线充电AGV系统的设计与实现[J].电子测试,2018(17):21-22.
[7] 李会峰.面向AGV近场通信的无线控制网络系统[D].哈尔滨工业大学,2018.
[8] 王忠英.AGV车载通讯及地面控制系统设计[D].湖北工业大学,2018.
[9] 徐亮,陆锦军,焦振宇.一种AGV调度用组合式无线通信模块的设计[J].电子器件,2018,41(02):474-478.
[10]王唯.AGV小车集中调度系统终端节点的研究与设计[D].东华理工大学,2017.
- 最新
- 最热
只看作者