于景,周国平
(南京林业大学 信息科学技术学院,南京 210037)
变电所是电力系统中电能传输的重要枢纽,起着桥梁的重要作用[1]。随着智能电网建设的推广与应用,使得传统的运维方式面临着新的挑战,如何进一步适应新形势下的电网运行,成为今后面临的主要问题之一[2]。
目前,变电所仍主要采用传统的人工巡检方式[3],综合运用感官和一些检测仪器对变电所设备进行简单的检查[4]。该方式劳动强度大,工作效率低,且存在一定的安全隐患[5]。利用机器人进行变电所设备巡检,通过自动化的作业手段满足变电所新形势下的需求[6],为解决人工巡检缺陷提供了一种有效的方案。
然而,巡检机器人在实际应用中存在巡检效率不高、导航灵活性较差和避障不及时等问题[7]。为此,本文研制出一种轨道式巡检机器人控制系统,该系统功能较为完善,在软件上对导航、定位、刹车和避障算法做了优化,在监控中心的远程监控下,使机器人可以安全高效作业,代替人工巡检,为相关领域提供了良好的参考价值。
巡检机器人系统采用三层架构,分别为主控层、通信层和数据层,如图1所示。主控层是监控中心,通过上位机软件监控机器人,并对巡检数据进行分析、存储和展示;通信层是局域网,是主控层和数据层信息交互的桥梁;数据层是机器人,应用控制系统对室内设备进行巡检。
图1 巡检机器照明人系统架构图103-2
巡检机器人整体外形结构如图2所示,包含轨道、移动平台、升降机构、局放检测盒和云台。轨道是机器人移动的基础,为其提供移动路线;移动平台是机器人的主体,内含多个功能模块;升降机构控制局放检测盒和云台升降;局放检测盒用于放置局放检测仪和固定云台;云台包含可见光摄像机、红外摄像仪和拾音器,拥有360°全景视角。
图2 巡检机器人整体外形结构图
巡检机器人控制系统框图如图3所示。系统包含主控模块、电源模块、轨道模块、通信模块、数据采集模块、运动控制模块、散热模块、声光报警模块和照明模块。主控模块是整个系统的核心;电源模块采用滑线取电方式为机器人全天候供电;轨道模块由“工”字型导轨、齿条、固定桩和滑触线等组成;通信模块由网络交换机、电力载波模块和网线等组成,机器人应用电力载波技术接入局域网;数据采集模块包含可见光摄像机、红外摄像仪、局放检测仪和拾音器;运动控制模块由避障雷达、水平移动模块和垂直升降模块组成,每个运动模块主要包含机械结构、电机、编码器、限位传感器;散热模块、声光报警模块和照明模块起到散热、报警和照明的作用。
图3 巡检机器人系统框图
主控芯片资源分布框图如图4所示。主控模块以微控制器STM32F103RBT6为核心,其他外围电路均是使用该芯片的外设进行拓展;程序通过SWD接口烧录到微控制器;I2C总线连接外部数据存储电路,具有掉电数据不丢失的功能;滴答定时器实时监控机器人状态,并定时上传位置、速度信息到监控中心;看门狗防止程序跑飞,自动复位;TIM1输出PWM信号控制机器人移动;TIM2和TIM3采用编码器模式分别获取水平和垂直两个方向上的编码器数据;SPI总线连接硬件TCP/IP协议栈芯片W5500,再经网络变压器HR911105A与外界进行以太网通信;USART1、USART2和USART3经RS485电路分别与避障雷达模块、局放检测仪和激光雷达传感器相连。
图4 巡检机器人主控芯片资源分布框图
系统将交流220V引入交流220V端子排,给电力载波模块、照明灯、声光报警器、网络交换机、单相交流电机和开关电源供电;交流220V经双路可调输出开关电源输出直流24V和5V到指定端子排;直流24V端子排给HBS57驱动器、避障雷达模块、散热风扇、局放检测仪、云台供电;直流5V端子排给主控电路板、光电开关、增量式编码器和激光雷达传感器供电。
2.3.1 机械结构设计
巡检机器人机械结构如图5所示,由一种新型的电机传动运动结构和移动结构组成。移动平台采用齿轮与齿条啮合的传动方式,步进电机和水平编码器分别与联轴器、齿轮相连,再和轨道上的齿条啮合。同时,前后导向轮均设计有限位轮对其进行左右限位,防止车体结构掉落。
图5 巡检机器人机械结构图
在升降机构上,电机、绕线轮和垂直编码器通过联轴器同轴连接。相较于传统的蜗轮蜗杆减速器,不仅避免蜗轮蜗杆发热量大的缺点,还简化了机械结构的空间排布,使安装调试更为简便。
2.3.2 硬件设计
在动力驱动上,水平移动模块采用步进电机和HBS57驱动器作为动力驱动,垂直升降模块采用带刹车功能的单相交流电机作为动力驱动。在运动反馈上,两者均采用增量式编码器。在限位检测上,轨道始末装有挡板,通过机身前后的光电开关进行水平限位,通过机身下方的激光雷达传感器照射局放盒上层板进行垂直限位。
而且,机器人周身装有避障雷达,由多个传感器组成测距模组。该模组应用超声波技术对物体障碍物进行距离探测,由控制盒和多个传感器组成,通过RS485接口与主控模块进行通信,机器人通过获取测距信息来判断周身有无障碍。
该控制系统软件基于MDK开发环境,使用C语言设计,包含主程序、子程序和中断服务程序三个部分[8]。
主程序流程图如图6所示。首先,初始化外设和寄存器,并配置和开启中断;接着,芯片从外部存储器中读取一些初始化参数,例如:运行速度、限位距离等;然后,芯片一直等待监控中心的命令,若命令有效,则进行命令解析,执行相应动作,执行完后继续等待下一次命令;若命令无效,则继续等待命令。
图6 巡检机器人主程序流程图
运动控制程序分为基本运动程序、预置位调用程序和辅助运动程序。基本运动程序用于控制机器人的启停;预置位调用程序用于控制机器人到达预先设定的点位;辅助程序用于辅助机器人运行,包含初始位校正、故障检测、限位检测和避障等。
3.2.1 设计思想
机器人在运动时,先检测云台是否在垂直上限位处,若不在,则先收缩至上限位位置,再进行水平方向移动;若在,则直接进行水平方向移动。在运动过程中,机器人平滑运行,具有明显的加减速过程,防止机身出现大幅震荡,且具有较高的定位精度。除此之外,运行过程中,要对周围障碍物进行检测,若遇障碍物,则立即制动,并发出报警。
3.2.2 脉冲计数转换方法
编码器输出A相和B相脉冲,根据脉冲特性进行中断计数。运动控制时,需要一个固定的周期进行采样和调整机器人运行状态,根据香农采样定理和系统特性确定采样周期Ts为20ms。
系统采用双边沿计数,1000线精度编码器旋转一圈输出4000个脉冲,机器人实际行走距离为12.8cm,由此可以算出当脉冲数为cp时,对应的机器人行走距离x(单位:cm)为:
系统根据M测速法对机器人运行速度进行测量,测量单位时间内的脉数,但未换算成频率,直接将连续50次测量的单位时间内脉数进行累加,换算成1s内的脉冲数和,然后计算得出机器人当前运行速度v(单位:cm/s)为:
3.2.3 位置速度双环串级调控
通过编码器的反馈数据,将机器人的实时速度和位置与目标值进行比较,再将比较的结果施加于系统进行控制,避免系统偏离预定目标,形成一个闭环的负反馈控制系统[9]。
在控制系统中,位置环为外环,速度环为内环,其控制系统框图如图7所示。先设定机器人位置和速度的目标值,作为PID控制器的期望值;接着传入编码器的机器人位置作为实际值进行PID位置环计算,此时得到位置环增量,将其作为速度环的输入,并限制位置环的输出不超过速度环目标值;然后,将传入编码器的机器人速度作为实际值进行PID速度环计算;最后,将速度环的输出进行换算,以PWM形式控制电机旋转。
图7 位置速度双环串级调控框图
增量式PID控制是通过对控制量的增量进行PID控制的一种控制算法[10],其算法公式为:
控制量的增量Δuk为连续两个采样时刻的输出值uk和uk-1之差,系统采用恒定采样周期20ms进行增量式PID计算,在确定比例系数KP、积分系数KI和微分系数KD后,根据前后三次测量的偏差ek、ek-1和ek-2,便可计算出控制增量。根据增量的大小和方向,便可实现对机器人位置和速度的控制。
应用Ziegler-Nichols方法进行PID参数的整定,先构建闭环控制回路,确定稳定极限,再根据公式计算控制器参数[11]。PID参数整定结果:位置环PID参数整定为KP=0.010,KI=0,KD=0;速度环PID参数整定为KP=0.035,KI=0.005,KD=0。
根据整定结果,设置机器人目标速度分别在10、20、30和40cm/s时的响应曲线如图8所示。由图形可知,机器人经历了启动——加速——匀速——减速——制动五个过程,加速和减速过程用时约为4s;匀速时,实际速度始终在目标速度下方波动,且波动大小与目标速度呈正相关。同时,经多次误差统计,机器人制动位置与目标位置误差极小,仅个位脉冲数误差,可忽略不计。
图8 巡检机器人响应曲线
导航程序用于机器人自主巡检,即机器人按照一定顺序频繁调用预置位调用程序到达预先设置的各个点位,完成室内设备数据的采集。优化预置位调用顺序,将巡检总耗时尽可能降低,是导航的关键。
综合考虑待巡检点位数量、裕度和存储器容量,预置位总数量不得超过100。预置位信息包含机器人在水平和垂直两方向的位置数据,将其按照设置顺序分别存放于数组中,并将设置顺序作为预置位的唯一身份ID。
假设某次自主巡检前,共设置了n(1≤n≤100)个预置位,水平和垂直两方向的位置数据分别存于数组X[n]和Y[n]中,预置位ID存于数组ID[n]中。
为了不影响原始数据,复制数组X[n]和Y[n]到数组A[n]和B[n],分别为:
将A[n]设为主数组,B[n]设为次数组。首先,应用冒泡排序法对主数组A[n]进行升序排列,排序过程如下:
1)第1轮排序:遍历A[0]~A[n-1]内元素,依次比较相邻元素xk和xk+1(0≤k≤n-2)的大小,若xk大于xk+1,则交换两者位置,并互换两者身份ID;否则不变。本轮结束后,xn-1为数组A[n]内元素的最大值。
2)第2轮排序:遍历A[0]~A[n-2]内元素,依次比较相邻元素xk和xk+1(0≤k≤n-3)的大小,若xk大于xk+1,则交换两者位置,并互换两者身份ID;否则不变。本轮结束后,xn-2为A[0]~A[n-2]内元素的最大值。
3)第n-1轮排序:比较A[0]和A[1]的大小,若A[0]大于A[1],则交换两者位置,并互换两者身份ID;否则不变。本轮结束后,便完成了数组A[n]内元素的升序排列,并得到了与之对应的新ID数组ID[n]。
接着,对次数组B[n]进行排列。将次数组B[n]按照新ID数组ID[n]进行排列,保证B[n]内元素与A[n]内元素对应。遍历数组A[n],若出现连续相等的元素,则将相等元素对应的数组B[n]元素按照冒泡排序法进行升序排列;否则,数组B[n]对应元素不变。这样,便完成了数组B[n]的排列。
最终,机器人按照排列完成后的数组和进行自主巡检,使巡检总耗时大幅降低。
在变电所的实际应用中,监控中心的上位机软件为操作人员提供了一个友好的人机交互界面,如图9所示。从图形界面来看,该软件主要包含参数配置、机器人控制、可见光摄像机拍摄画面实时显示和红外摄像仪热成像画面实时显示等,操作人员通过人机交互界面对机器人进行实时监控。轨道式巡检机器人实物如图10所示,应用该控制系统进行遥控或自主巡检时,运行十分平滑,未出现大幅震荡,能够精准地到达指定位置,并且多次运行无累计误差。在进行障碍物测试时,机器人总能及时制动并发出报警。巡检机器人的应用,极大程度上减轻了人工巡检的压力,提高了变电所的自动化水平。
图9 上位机软件界面
图10 巡检机器人实物图
本文设计并实现了一种变电所轨道式巡检机器人控制系统,在讨论了其系统架构、硬件组成和软件设计后,通过在变电所的实际应用验证了系统的可行性和优越性。巡检机器人应用该系统,配合上位机软件,能出色地完成对变电所室内设备的遥控或自主巡检,切实提高了巡检效率和质量,是智能电网未来发展的重要方向。