李培英 刘伟亮
(邯郸学院,河北 邯郸056005)
随着《工业4.0》及《中国制造2025》的不断推进,企业对于柔性化制造的需求也在不断提高,品种多、数量少的产品定制生产已是现代生产企业的智能化制造显著的特点。企业生产过程中所需材料及货物的搬运成为自动化生产和制造的重要环节。如何高效率、自动化、智能化的完成将生产、制造、搬运等一系列工作实现自动化和智能化是人们一直所需要探索和研究的目标[1]。自动导引机器人AGV(Automatic Guided Vehicle)因其具有自主定位导航装置,可以依据规划的路线行驶,具有安全保护和移载功能,能够在物流运输自动化中不需驾驶员实地操作的运输车[2][3],所以AGV 在工厂自动化产品生产与智能制造中随之得到广泛应用,成为产品生产、智能制造及物流系统中必要的自动化搬运手段,极大地提高了生产加工工序之间工件的运输效率,降低了生产成本。
本研究的控制系统方案主要适用于自动导引机器人AGV用于产品生产过程中的生产、制造及组装的生产现场,按照产品生产所需零件原材料及零件加工的顺序,自动导引机器人AGV 从原材料库选货后,自动导引、自动搬运到指定的工位。若要完成这些动作,自动导引AGV 必须满足按照生产调度人员在服务器端输入的搬运指令,把原材料、半成品或零部件可靠地运送到指定的工位,并且可以根据指令连续运送多个工位。另外,在搬运期间,自动导引机器人AGV 应具有安全防护措施,如遇到紧急情况下的急停、避障和安全触边等功能,保证生产现场人员及设备的安全,满足企业生产过程的自动化及柔性化,为智能制造打下良好基础。
自动导引机器人的各种细微动作都由机器人的大脑CPU中央处理器来由各个部件控制程序体来完成,以电脑技术和程序来实现程序化控制[4]。
自动导引机器人AGV 控制系统实现的功能主要包括:
(1)服务器端与自动导引机器人AGV 之间通过无线通信模块实现无线通信,生产调度人员在服务器端通过上位机人机交互界面HMI 输入搬运指令,通过无线通信模块将指令传送到自动导引机器人AGV 的中央处理器,中央处理器对输入指令进行处理,控制自动导引机器人AGV 开始运行并做出指定的动作。
(2)自动导引机器人AGV 开始运行,自动规划路径,并在搬运过程中实时采集路径信息并上传回服务器端,在上位机人机交互界面HMI 显示当时的AGV 状态信息,同时修正行进间的转向偏差及消除累计误差。
(3)在搬运物料过程中,可靠准确地定位的控制指令指定的工位,实现物料的搬入和搬出。待本工位的规定动作完成后,根据(1)中生产调度人员输入的指令继续前往下一工位或返回自动导引机器人AGV 的始发地等待下一次任务的运行。
(4)实时监测自动导引机器人AGV 供电电源的蓄电池电压,当电压低于规定值时发出报警,提示给蓄电池充电。
控制系统分用户层、执行层和感知层三个层次,各层次之间用网络连接起来。如图1 所示为自动导引机器人AGV 控制系统组成框图,图中描述了控制系统三个层次之间各控制功能单元之间详细的连接关系。其中,用户层是指人机交互单元,执行层包括中央处理单元、导航单元、驱动单元、供电单元和安全单元,网络层指通信单元及各功能单元之间的通信网络。
图1 AGV 控制系统组成框图
中央处理单元:自动导引机器人AGV 控制系统采用可编程控制器PLC 作为主控制器,是整个控制系统的核心控制单元,通过对传感器采集到的数据信息进行分析处理,做出相应的判断[5],完成对AGV 的逻辑控制和运动控制。
自动导引机器人AGV 控制系统的控制程序存储在主控制器PLC 中,生产调度人员从上位机的人机交互界面输入工作指令,主控制器PLC 对指令解析后对各相关控制单元进行控制,完成指令规定的任务。
人机交互单元:有两个主要显示自动导引机器人AGV 的人机交互界面,一个是服务器端的人机交互界面,另一个是在自动导引机器人AGV 本体上的人机交互界面,两个界面的功能相同,均由组态王软件开发,包括状态画面、操作画面、报警画面、操作记录等功能。
导航单元:采集并处理环境数据,确定AGV 当前位置、姿态,将计算的与目标位置、姿态的偏差回传到自动导引机器人AGV 主控制器PLC,用于控制系统对驱动系统下达指令、调整位置、姿态的偏差。
驱动单元:采用行走电机和转向电机共同实现自动导引机器人AGV 的行走和转向。电机选用具有抱闸功能的低压直流电机,配套选用低压直流伺服驱动器,保证导航与定位精度。如图2 所示,前面一个车轮用做转向驱动轮,由转向电机驱动,后面两个车轮为行走驱动轮,由行走电机驱动。根据主控制器PLC发出的路径规划信号,电机驱动模块驱动电机运行完成前进、后退和转向等动作。
图2 底盘轮系安装结构示意图
图2 中,l 为AGV 行走驱动轮之间的长度,即轮距;P 为轮距的中心点;r 为行走驱动轮半径;V 为行走速度。
供电单元:系统采用24V 电池供电,电源经过DC24V-DC24V 开关电源稳压,保证控制系统的电源电压的稳定。
安全单元:自动导引机器人AGV 车头安装超声波雷达,用于检测路径上的障碍物,在车头与车尾各安装一个急停按钮,用于运行时发生紧急情况时的紧急停车。当检测到障碍物时,自动导引机器人AGV 在距离障碍物规定距离时减速并停止,待障碍物消失时自动恢复运行,同时在自动导引机器人AGV 车头也安装机械式安全触边装置,当安全触边装置受到碰撞或挤压时,相当于按下急停按钮,自动导引机器人AGV 立即停止运行,保证工作人员及生产设备的安全。
通讯单元:利用网络交换机,将自动导引机器人AGV 控制系统中Ethernet 设备接入局域网,各控制设备之间基于网络进行数据交互,形成一个单车通信局域网,如图3 所示为一个自动导引机器人AGV 的通讯系统网络拓扑图,控制系统网络通信采用了两种方式,分别是Ethernet 和RS485 通信。
图3 通讯系统网络拓扑图
基于Ethernet 网络通信的作用是通过车载无线客户端,将单个自动导引机器人AGV 车载控制系统接入车外无线网络与服务器端上位机进行信息交互,可以将自动导引机器人AGV 当前的位置姿态、各种运行信息上传到上位机,使生产调度人员和现场工作人员监控车辆的整体运行状态,并且可以直接通过服务器端上位机通过无线通信对车辆发出任务指令,本课题采用Wi-Fi 通信方法完成自动导引机器人AGV 与服务器端上位机之间的通信。
基于RS485 网络通信的自动导引机器人AGV 主控制器将电机驱动器、RFID 读写器、磁导航传感器、惯性导航和安全触边检测传感器接入RS485 总线,通过轮询方式对各设备进行数据读取和指令下发。主控制器通过485 总线直接控制驱动器,将目标转向角度和目标运行速度下发给电机驱动器,驱动行走电机和转向电机运行。RFID 读写器读取布置在运行路径上的RFID标签,将标签内存储的数据通过485 总线传送至主控制器,用于辅助确认当前车辆所处的位置。磁导航传感器用于测量地面磁钉相对于传感器的偏差位置,偏差数据通过485 总线传送至主控制器,主控制器计算处理数据后得出自动导引机器人AGV 车身实际位置偏差与姿态偏差,补偿因差分GPS 导航系统本身的误差。障碍检测传感器采用不同于传统I/O 信号发送的方式,而是通过485 总线将检测到的障碍信息发送给主控制器,包括障碍距离车身的距离、障碍物的尺寸等,根据这些信息主控制器做出判断,并给电机驱动器发出指令,使自动导引机器人AGV减速或是紧急停车。
导航系统采集并处理环境数据,确定自动导引机器人AGV当前的位置、姿态,将与目标位置、姿态的偏差回传控制系统,用于控制系统对驱动系统下达指令,调整位置、姿态的偏差,保证了导航精度,本设计采用磁钉导航和惯性导航的混合导引方式。
磁钉导航:类似于传统的磁带导引,利用磁导航传感器检测出自动导引机器人AGV 相对于磁钉的偏差来进行位姿调整,它们的区别在于磁带是连续式导引,而磁钉导引则是非连续的。磁钉与磁钉之间的路径是一个“盲区”,为了保证自动导引机器人AGV 沿着预定的磁钉路径正确行走,在“盲区”行走时实时记录行走轮的行走距离,计算转向角的变化,计算出AGV 当前位置进行偏差调整。但是自动导引机器人AGV 行走过程中偶尔会有行走轮打滑的现象,这会导致位置计算结果有偏差,致使自动导引机器人AGV 行走的安全性、可靠性不高。
惯性导航:利用加速度和角速度积分得到自动导引机器人AGV 的运行速度与航向转向角,进而计算出自动导引机器人AGV 的当前实际位置并,与预定行走的规划路径比对,得出当前位置的实际偏差,也就是导航偏差,然后对偏差进行修正。但是,因为惯性导航模块的性能的差异存在不同程度的漂移误差和噪声,而且漂移误差和噪声也会随时间的增加而累积,会导致自动导引机器人AGV 行走偏离轨道,从而无法到达下一个磁钉位置。
磁钉和惯性导引联合导航:可以消除磁钉导航和惯性导航各自的不足,使自动导引机器人AGV 的行走路径更精确。利用磁钉导航补偿惯性导航模块的漂移误差和噪声。磁钉在地面位置坐标是绝对的,安装在自动导引机器人AGV 车体前后的磁导航传感器相对于自动导引机器人AGV 车体的位置是绝对的,此时,通过磁导航传感器检测到地面磁钉的偏差距离,即可计算出当前AGV 的位姿,用于补偿惯性导航模块的累积误差,提高了自动导引机器人AGV 运行的精度,增加了使用的可靠性和安全性。
如图4 所示为导航偏差计算示意图。自动导引机器人AGV车体中心线的方向即是行走方向,其与规划路径的夹角α 是转向角误差即导航偏差,导航偏差的计算如式(1)所示。
图4 导航偏差计算示意图
从图4 中看出,车体是向右的方向偏离了预定规划路线,这时
则有
若车体是向左的方向偏离了预定规划路线,这时
同理
通过(3)式和(4)式得出结论,自动导引机器人AGV 在行走过程中实时计算α 的变化,只要导航偏差α 不等于0,主控制器PLC 就会立即发出指令控制转向电机动作,改变行走方向,使自动导引机器人AGV 回到预定的规划路径上来。
如图5 所示为自动导引机器人AGV 工作的主程序流程图。在自动导引机器人AGV 上电后,进行总线设备通信状态检测,包括RS485 通信设备,如电机驱动器、RFID 读写器、磁导航传感器、惯性导航传感器和安全触边检测装置,RS232 通信设备即差分GPS 导航系统和Ethernet 通信设备即无线客户端。检测中若发现异常,控制系统发出报警。然后进入安全装置状态检测,若发现有急停按钮被按下、检测到障碍物或安全触边检测装置动作,同样控制系统发出报警并停车。紧接下来是转向电机零点校准工作,因转向电机编码器使用增量编码器,上电后需要零点校准。
图5 AGV 主程序流程图
如图6 所示为自动导引机器人AGV 执行搬运任务子程序设计流程图。
接收并解析任务:根据接收到的起始站点与目标站点的信息,进行路径规划并生成地图路径序列,根据路径序列自动导引机器人AGV 开始运行。
确认当前车辆位姿:接收差分GPS 导航系统发回的当前车辆的经度、纬度、航向角等位姿信息设定为当前位姿。
比对车辆实时位姿与目标位姿偏差:在接收、解析任务阶段,已得到地图路径序列,其中有途经站点的具体位姿坐标,比对实时位姿与下一站点的信息,计算出位姿偏差。
图6 AGV 执行搬运任务流程图
控制驱动电机动作消除偏差:根据前一步骤的位姿偏差,控制驱动电机动作消除偏差。
采集地面磁钉位置并补偿矫正实时位姿:因为差分GPS 导航数据存在误差,而磁钉固定于地面,其位置相对于地面看成是绝对坐标,自动导引机器人AGV 车身前、后各安装一个磁导航传感器,其安装位置相对于AGV 车身来讲也是绝对坐标。两个磁导航传感器同时检测到磁钉时,可以根据几何关系计算出AGV 车身位置相对于地面磁钉的坐标数据的偏差即位姿偏差,利用测出的这个位姿偏差补偿差分GPS 导航数据的误差。
安全装置状态检测:检测急停按钮、障碍检测、安全触边各安全装置状态,如发现异常,AGV 降低速度运行并发出报警或紧急停车。
系统人机界面主要包括开机界面、导航设置界面、驱动系统设置界面、安全触边界面、单任务模式设置界面、连续任务设置界面、系统设置界面、操作记录查看界面和报警界面,其中,操作记录查看界面和报警界面的数据可保留一年。界面内容丰富、操作简单,如图7、图8 所示驱动系统设置界面和连续任务模式设置界面。
图7 驱动系统设置界面
图8 连续任务模式设置界面
针对实际中自动导引机器人的使用,开发了基于磁钉和惯性导航联合使用的自动导引机器人控制系统,并对整个控制系统的整体设计方案做了详细介绍。在硬件方面,介绍了控制系统功能及其组成,详细阐述了各功能单元的功能及满足控制系统自动导引要求的运行策略,着重阐述了通信的构建和运行策略。在软件方面,着重介绍了整个控制系统的主程序设计流程和自动导引子程序设计流程,并给出了详细说明。同时介绍了在行走过程中消除导航偏差的计算方法,为接下来深入研究路径规划问题的提供了依据,具有一定的实际意义。