半在线大尺寸AGV电气控制系统设计
2023-11-04刘琼琼
刘琼琼
(清研(洛阳)先进制造产业研究院,河南 洛阳 471031)
0 引言
我国“十四五”规划明确提出要推进传统制造业向数字化和智能化转型升级。自动引导车辆(Automated Guided Vehicle,AGV)以其灵活、高效、可解放劳动力等特点,成为推进多个行业与领域快速升级迭代的强大动力[1-2]。AGV通常依靠车载电池提供动力,通过电磁或者视觉传感器进行非接触式的自动引导[3],比如磁导航、色带导航、二维码导航、惯性导航、激光导航等[4]。AGV主体部分由底盘和外围辅助器件组成。根据应用场合、车体尺寸、车辆载荷等不同,常用的AGV底盘主要有单舵轮、双舵轮、四舵轮、两驱差速、四驱差速、四驱麦克纳姆轮、差速舵轮等[5]。外围辅助器件包括升降机构、电动滚筒、电动卡爪等。
目前AGV在各行各业的应用越来越广泛,精度更高、稳定性更强、适应性更强、柔性化更高的特种AGV不断被研发出来并投入使用,其相应的控制算法难度也逐步升级。本文针对大尺寸AGV设计了一套半在线的电气控制系统,以期为相关实际工作提供参考。
1 需求分析
某厂为了提高某型号产品的产能,决定增加一条自动化产线,其中零部件、半成品和成品等的转运需要通过AGV系统自动完成。此产线受到某些特定因素的限制,对AGV 系统产生了特殊的需求:(1)通讯方式。此产线位于保密车间,对于通讯介质有严格限制,蓝牙、无线等方式均禁止使用。经过调研和分析,决定采用定点光通讯加有线局域网的通讯方式。(2)导航方式。车间内有部分铁制地板和导轨接缝,无法使用磁导航;产线设备较多且高低错落,不适合激光导航。综合分析,决定使用色带加二维码的视觉导航。(3)AGV 摆动。AGV 长度超过4m,通过在AGV运动中心安装单相机的方式无法满足控制AGV在行驶过程中的摆动幅度,因此在车头和车尾各增加一个相机,通过三个相机进行控制。(4)产品防护。由于产品长度超出了车身,所以需要对超出车身部分产品做额外的防护。
2 电气控制系统
针对产线需求,本文设计的AGV电气控制系统主要由5个部分组成,分别是底盘控制部分、导航控制部分、通讯部分、调度部分和安全防护部分,如图1所示。
图1 电气系统构成
2.1 底盘控制
通过对产品尺寸、重量等的分析,AGV决定采用四舵轮的驱动底盘,如图2所示。
每组舵轮由行走电机和转向电机组成,各自需要一个伺服驱动器。由于左右两侧的舵轮相对于车的中心线呈轴对称排布,因此左右行走电机的旋转方向相反,需要在控制程序中进行处理。四舵轮AGV可以实现直行、旋转和平移等动作。舵轮在旋转时的角度要根据舵轮相对于车运动中心的安装位置计算,如图3所示。四组舵轮围绕车运动中心原地旋转时,舵轮与旋转轨迹的圆周相切。假设舵轮旋转角度为α,则=3.33,α=73.299o。所以AGV 在原地旋转时,每组舵轮与车中心线的夹角均为73.299°。
图3 舵轮旋转角度
2.2 导航控制
导航控制系统采用色带加二维码的方式。
色带颜色的选择首先要符合国际色标卡的标号,其次色带最好是哑光材质的胶带或者油漆,并且色带和地面的色差越大,相机识别的效果越好。项目现场地面为浅灰色,并且有黄色警示标识,因此只能尝试使用绿色或者蓝色的色带。通过测试,相机识别蓝色速度较快,而且数值在静态时跳变较小。经过多次实验发现,AGV在负载情况下车轮碾压蓝色胶带,会对胶带造成损伤,碾压次数达到400次左右时胶带损毁严重,相机无法识别。而在地面喷涂相同颜色的油漆,经过多次碾压依然具有很好的耐用性。最终的色带铺设方案为在调试阶段使用蓝色胶带,在项目投产时采用蓝色哑光油漆。
二维码采用4×4的组合码,包含X坐标、Y坐标和角度值,以及二维码标签的ID号。二维码可以用做定位码,也可以根据ID号做控制码。当用做定位码时,理论精度可达±0.2mm和±0.1°,实际精度与AGV装配情况、车轮磨损情况、地面摩擦力等诸多因素有关。
2.3 通讯
AGV的通讯主要包含两部分,第一部分是AGV向调度系统反馈状态,第二部分是调度系统向AGV下发任务。
由于受使用环境的限制,AGV和调度系统的通讯采用定点光通讯加有线局域网的方式,通讯架构如图4所示。
图4 通讯架构图
AGV与调度系统之间是通过光通讯传感器和串口服务器来实现数据交互的。每台AGV侧面均安装光通讯传感器,当AGV到达停靠点并与地面光通讯站点实现光路互通后,AGV控制器将当前位置、车辆状态等信息,通过自由口协议传输到安装在车侧面的光通讯传感器A,地面站点的光通讯传感器B通过红外光接收到传感器A的数据,串口服务器再将传感器B 的自由口协议数据转换为以太网通讯数据,通过有线网络传输至车间局域网,调度系统通过访问串口服务器的IP地址,获取AGV控制器发出的信息。同理,调度系统可通过读取AGV 信息的链路,反向发送信息给AGV,比如下发调度任务等。
AGV的通讯是半在线的模式,只有当AGV位于地面光通讯站点时,经过两个光通讯传感器和串口服务器,才能与调度系统建立通讯链路。AGV 的通讯数据为自定义字符串,以二进制表示。
AGV向调度系统反馈状态时,信息流主要包含AGV运行状态、当前站点、剩余电量、当前速度、报警号等。信息的结果形式为:[START][STATE][AGVNumber][Online][State][HasMaterial][Park][TaskNo][Charge][Speed][Alarm]。举例,[START]为指令的开头,防止TCP报文出现分包(没有接收到一个完整的包)与黏包(收到比一包多的数据)的情况,共4 个字节;[STATE]为AGV 状态反馈,采用一个字节表示;[AGVNumber]表示当前AGV 的编号;[TaskNo]为AGV 当前执行的任务编号;[Charge]为当前AGV的剩余电量,采用双精度浮点数类型,即8个字节。
调度系统向AGV下发任务时,同样以自定义的二进制字符串表示,其信息格式为:[START][TASK][No][ControlNo][TypeCode][BodySize][Body]。举例,[START]仍然为指令开头的识别字符;[TASK]表示任务当前状态;[No]为任务编号;[ControlNo]为任务控制号;[TypeCode]为任务动作,比如移动、举升、接驳、充电等;[BodySize]为任务体的大小;[Body]为任务主体,包含AGV将要执行的任务详细内容,比如下一个站点的ID号码,移动到下一个站点的车头朝向,移动到下一个站点的X、Y方向距离,移动速度等。
2.4 调度
AGV调度系统最核心的部分是算法,比如结合文化算法和改进遗传算法的混合型算法[6]、改进的Memetic算法[7]、PSO算法[8]、在线学习的Q-learning算法[9]等。这些算法根据应用场景的不同各有优劣。项目调度系统根据车间地图信息和工艺要求,采用基于时间窗的路径规划算法[10-11],对所有AGV自动下发任务,如图5所示。
图5 调度系统算法示意图
调度系统任务的下发是动态的。调度系统接收产线的搬运任务后,先根据时间长短、路径远近、优先级高低等综合算法[12],对某些车辆下达自动任务。在这些任务执行过程中,如果有优先级更高的任务产生,或者几辆AGV需要在路口进行交通避让,调度系统会根据算法提前在决策点对相关AGV的任务进行动态调整,以全局时间最短为准则完成所有搬运任务。
2.5 安全防护
由于项目AGV所搬运的产品具有特殊性,所以AGV行驶过程中的安全防护尤为重要。
AGV的安全防护器件主要包含急停按钮、安全触边、激光避障、多色指示灯、蜂鸣器、防静电带等。
常规AGV的激光避障传感器分别安装在AGV的左前角和右后角,AGV在行驶过程中可以根据与障碍物的距离进行减速或者停止动作。由于项目AGV运输的产品尺寸较长,车头有部分产品悬空,而AGV左前角的激光避障传感器受扫描高度所限,无法保护产品悬空的部分。因此在车头中央增加斜向上的激光避障传感器,如图6所示。
图6 车头激光避障
激光避障1水平安装在AGV左前角,主要监测AGV行驶过程中前方的障碍物,检测高度为AGV车身高度。当障碍物在L3和L2之间时,AGV初次减速至正常速度的50%;当障碍物在L2和L1之间时,AGV二次减速至正常速度的30%;当障碍物在L1范围内时,AGV立即停止运行。激光避障2与水平面呈α角度斜向上安装,激光扇面可以扫描产品伸出车头部分前方半空中的区域。根据激光避障1的保护区域,以及激光避障2与水平方向的夹角,使激光避障2保护区域在地面的投影与激光避障1重合,从而计算激光避障2的扇形保护区域。通过车头斜向上的激光避障,可以有效识别半空中的障碍物。
3 电气原理图设计
电气原理图中,供电主回路电压为直流48V,控制回路电压为直流24V。一次系统图如图7所示。
电池有独立的充电回路和放电回路。充电方式有两种:手持充电器充电和下沉式地刷充电。手持式充电电流为30A,地刷充电电流可达100A。电池的放电电压为直流48V,放电回路由一个直流主断路器控制通断,电流容量为125A。从主断路器分出两路,动力回路和控制回路。动力回路经过单极接触器,为驱动器等直流48V设备供电。控制回路经过一个直流48V转直流24V的开关电源,为AGV控制器、中间继电器线圈、蜂鸣器等供电。
四舵轮AGV总共有8个驱动器,每个驱动器内部都有容量较大的电容,驱动器上电初期要对电容充电,此时流过主回路的瞬间电流将达到额定电流的2~3倍,如果驱动器与主断路器之间的接触器工作电流较小,接触器将被击穿。因此,在接触器选型时要选择电流值为AGV额定工作电流3倍及以上的型号。
4 控制程序
AGV控制程序主要分为两个部分:硬件组态与软件编程。
硬件组态如图8所示。控制器通过以太网与触摸屏通讯,端口号为502。485 总线共有两组:485-1 和485-2。485-1 加载了三个用于识别色带和二维码的相机,由于AGV行驶过程中动态纠偏的实时性要求较高,所以485-1的波特率设置为115 200bps。485-2加载了电池、蜂鸣器、信号扩展模块、光通讯传感器等设备,由于实时性要求不高,波特率为常用的9 600bps。AGV底盘的控制采用波特率更高的CAN(Controller Area Network,控制器局域网络)总线。四组舵轮共计8个驱动,由于驱动数量较多,每个驱动在任务周期内都有指令接收和下发,因此对通讯速率要求较高,在不影响驱动器运行负荷的前提下,将CAN总线波特率设置为1Mbps。
图8 硬件组态
AGV的软件编程主要包含两类任务:主任务和周期任务。主任务是自上而下循环执行的任务,比如“启动程序”“初始化程序”“手动控制”“运动分解”“系数换算”“导航程序”“驱动数据解析”等。周期任务是按照设定周期执行的任务,可以将实时性要求较高的任务设定较短的执行周期,比如“舵轮数据收发”和“安全防护”等任务可设定执行周期为10ms,也可以将实时性要求较低的任务周期设定为1s,使CPU的资源可以灵活分配。控制器向驱动器下发的角度和速度程序如图9所示。
图9 角度和速度下发程序
控制器下发到驱动器的角度为脉冲值,需要先解算出每个轮子的转向角度,然后根据转向减速机的减速比,以及电机的单圈脉冲数,计算需要下发的总脉冲数。
控制器下发到驱动器的线速度为电机转速值,单位为r/min。控制器解算出的速度为m/s,因此要根据车轮的半径以及行走减速机的减速比,计算出下发到驱动器的转速。其中,行走驱动在初始化完成后,需要将工作模式设定为3(速度模式)。
5 总线负载率
在AGV运行过程中,偶尔会出现某个驱动器使能信号异常的情况,初步分析是由于通讯数据丢帧引起的,这一猜想可以通过CAN总线的负载率来验证。
CAN总线的负载率,是指在单位时间内,总线实际传输的数据量Data1 和理论最大允许传输数据量Data0 的比值[13]。CAN总线实际传输的数据量Data1,主要和单位时间内传输的指令数量、指令大小有关。CAN总线理论最大允许传输的数据量主要和总线波特率有关,CAN总线常用波特率为125kbps、250kbps、500kbps 和1Mbps 等,波特率越高,单位时间内允许传输的数据量就越大[14]。
对于实时性要求较高的应用场景,比如高速机械加工设备、汽车等,总线负载率一般在30%以内[15-16]。而对于运行速度较低、实时性要求不高的场景,比如工程机械、AGV等,总线负载率控制在60%以内即可。
AGV的CAN总线通讯,需要传输控制字、状态字、速度下发、位置下发、速度反馈、位置反馈等基本指令。在每条指令周期均为10ms、波特率为500kbps 的情况下,计算出CAN 总线负载率达到205%左右,验证了AGV运行时丢帧的猜想。在不影响AGV运行的情况下,将控制字、状态字等仅在上电初始化阶段有变化的指令周期延长至500ms,将速度下发、位置下发指令周期延长至100ms,对于速度反馈、位置反馈指令周期仍然保持10ms,并将总线波特率提高至1Mbps,重新调整后的总线负载率下降到60%以内。经过连续测试,AGV运行过程中没有再出现信号丢失等故障,电气系统的稳定性得到了保障。
6 结语
大尺寸、有特殊要求的AGV,其电气控制系统与常规AGV相比,受到的约束更多,开发难度更大。本文根据项目实际情况,解决了电气控制、通讯、安全防护等问题,满足了技术协议的要求。但是大尺寸AGV的精确定位问题,尤其是5mm之内的精度等级,仍然是行业面临的一大难题,有待进一步研究。