韩寅超,张 健,黄晓华
(1.南京理工大学机械工程学院,江苏 南京 210094;2.江苏省特种设备安全监督检验研究院吴江分院,江苏 苏州215000)
随着国家大力发展电力科学技术,电网的建设运检量越来越大、电力体制的改革也越来越深入,我国的电力系统的机械化、自动化、智能化程度正在大幅度地提升。变电站的巡视检查制度是确保变电站设备正常安全运行的有效措施。目前变电站采用传统的例行及特殊巡视、日常维护等工作,需要变电运行人员或操作队班组成员定期去往各个变电站、配电站进行巡检工作,用人工采集的方式收集大量数据,并且需要做很多繁琐的周期性、重复性、机械性的工作。但是随着电网建设的体量越来越大,变电站、配电站的数量愈发增多,这将会使得变电站、配电站日常工作增加很大的工作量[1-3]。针对以上问题需研发一款具有越障性能、低成本、结构紧凑、高效率的变电站巡检机器人。搭载红外热成像摄像头、高清运动摄像头、音频信号接收器等传感器。能够按照提前设定好的路线,对变电站内的设备进行拍照、测温、声音采集、功能性巡视。同时,还需要实现终端与嵌入式系统的无线通讯,使得巡检人员能够远距离对设备进行控制、并分析终端所反馈的信息。
随着物联网技术的发展,万物互联时代的到来,对特定设备或物体的智能化识别、定位、跟踪、监管已逐渐走入人们的生活。LoRa 是近年来兴起的一种专用于无线电调制解调的技术,LoRa 融合了数字扩频、数字信号处理和前向纠错编码技术,具有远距离、低功耗、多节点、低成本、抗干扰特性,同时属于低速率小数据传输。相比于4G 不需要经过云,同时也每个终端也不需要SIM 卡;相比蓝牙、WIFI,又克服了传输距离短、需要环境支撑的缺点,适合变电站环境,故采用此技术作为通讯手段[4-5]。
针对现有的变电站环境进行深度调研和分析,设计了变电站机器人系统,其机械结构如图1所示,机器人底盘采用履带摆臂式,履带结构具有一定的越障能力,配合前端摆臂,能够完成台阶的攀爬;云台方面采用二自由度设计,配置红外热成像摄像头和运动摄像头,能够实现全方位的视觉监测和温度感知。
控制系统设计如图2所示,系统采用三层模型,分别为执行层、控制层、传输层。执行层分为运动驱动部分和传感器部分,运动驱动器接收来自控制层传来的调速信号和方向信号,对底盘和云台进行物理层面的实际控制。传感器部分捕捉温度、位姿信息、前向距离、行进速率、磁条导轨偏移等信息,传输给控制层。控制层通过运动驱动程序实现控制功能、通过传感器接口获取环境信息,并通过通讯模块将必要的信息传递给终端。传输层包括LoRa数传模块和图传模块,图传模块独立于嵌入式系统,将采集到的图像传送至终端处理。LoRa数传模块负责通讯交换数据,并调制解调无线信号。
监控系统包括图传和数传部分,存在数据量的区别,故分别使用两套传输模块,监控系统硬件如图3所示,移动机器人通过无线模块将数据信号和图像信号传递给终端的接收端,图像信号因为数据量大,各个机器人需要配置独立的图传接收模块,并进行图像信号处理,其中包括A/D信号转换、分时传输等。最后经过视频采集卡,通过USB接口传输给PC终端,数传信号直接由LoRa DTU汇总通过COM口传输给PC。最终应用层协议会对其进行区分处理。
LoRa模块采用SX1276芯片作为LoRaTM远程调制解调器,可以实现超长距离的扩频通讯,抗干扰能力强。分为电源电路、复位时钟电路、射频电路、接口电路。其中射频电路为核心电路,如图4所示,接收数据和发送数据是分开的,使用射频开关PE4259 控制收发。在发射端,用电感电容匹配电路加一个椭圆滤波器,再进入射频开关;接收端直接使用电感电容匹配电路,同时添加隔直电容。射频开关后端使用一个三阶的型滤波器,来除去发射的2次谐波、3次谐波和杂散,同时滤除从接收端来的干扰信号[6]。
监控系统传输层的软件部分主要包括协议实现、并发通讯、GUI界面交互。
为区别从不同发射端来源以及不同数据类型的数据,需在用户层自定义协议,协议由协议包头和数据和校验码组成。数据包如图5所示,包头由起始字节、机器人编号、数据类型、数据长度组成。数据类型包括运动控制、控制信息反馈、环境变量反馈、shell 命令、心跳监测等。机器人编号用于区分是哪一个机器人发来的命令。数据长度表示后部分数据所占字节数。数据部分则作为参数传入相应的模块。校验采用CRC校验,实现通讯的检错,保证通讯稳定性。
在机器人端的通讯过程中,如果在处理过程中有另一个指令到达,则需要同时处理两个或多个指令。需要进行并发处理,并发IO方式有多进程编程、多线程编程、select、epoll[7]。考虑到系统的资源占用和实时性。以多线程和epoll并用实现并发处理。
机器人端的通讯流程图如图5所示,首先主线程会进行一些初始化操作,然后创建定时汇报任务的线程,该任务启动后就独立运行,除同步机制外不受其他任务影响终止,直到系统失电。接着监听串口的读缓冲区,采用epoll机制触发式监听,当接收到数据后,首先通过起始字节和校验位对接收到的数据进行帧划分和可靠性检验,接着依次对划分好的数据帧根据数据类型进行解析和机器人编号校对,对于编号不匹配的命令会忽略返回,如果编号匹配成功,会将数据分割并创建新的线程,代入数据执行指定的任务。
这里reshell 功能为例,reshell 是一种远程终端命令行的操作,是针对开发人员的功能,使开发人员不需要实地去连接控板调试程序,直接在上位机终端界面中即可调试更改Linux系统内部的程序,使用popen函数实现此功能。当识别命令的数据类型为COM_SHELL 时,创建一个新的线程运行此模块,输入数据帧中保存的字符串值,代入popen,popen 的返回值即为shell 命令的反馈字符串,将其拷贝至缓冲区,并打包成数据帧的格式,数据类型为MSG_SHELL,然后锁上用以发送数据的互斥锁发送数据,该锁主要是实现同步的功能,即保证同一时间最多只能有一个线程使用串口发送数据,避免同时发送数据产生的干扰,最后解除互斥锁调用pclose,任务终止,线程退出。其他子线程任务的执行过程也类似shell命令。
GUI 是终端软件的主体部分,需要调用通讯模块传递用户的操作,并直观显示通讯模块反馈回来的信息。本GUI界面采用MFC作为架构,采用VC++编程语言[8],需要输入相应密码进行操作,密码信息保存于嵌入式系统端,通过无线通讯传输后进行验证,之后才能进行操作。界面上控件的功能包括控制底盘和云台运动、磁条导航开关、通讯端口的开关、Linux reshell、双目摄像的捕捉、拍照存储、位姿速度前向测障等信息显示。
在变电站巡检监控构建完毕后,在GUI界面(如图6、图7)首先测试Linux reshell 的实现,通过无线通讯,实现执行shell命令,终端正常输出反馈信息,通信成功。嵌入式系统端会将采集到的信息,如履带速率、小车位姿等,同样通过LoRa DTU传输过来,并定时刷新。使用自定义协议区分接收数据的类型。在图像通讯方面,使用Open CV 库函数读图并显示于Picture 控件[9],图6中左像为运动摄像头采集到的视觉图像,右像为红外热成像摄像头采集到的温度信息转化而成的云图,并对中心和最值温度进行了标注显示。在运动控制方面,能够手动控制机器人底盘及云台的5个自由度,能够设置预设速度从而对底盘的运动进行调速。并能够选择磁导航模式,机器人通过系统内部的磁条导航算法进行自动巡检。
本系统将物联网技术融入电网行业,采用了嵌入式技术、无线通讯技术以及计算机技术,实现了一套完备的变电站巡检机器人系统。该系统执行层负责实现底层的数据采集和执行机构的控制操作,控制层负责处理分析上下两层传送来的信息,传输层负责实现无线的数传图传。除此以外,在PC 终端,开发了一套能够数据处理并直观显示的GUI 程序,测试正常,系统操作界面简单明了。针对用户,实现了机器人运动控制,并能够采集环境信息、远程监控;针对系统调试人员,能够直接通过reshell进行远程调试,具有较高的实用价值。