水下管道智能巡检机器人*
2023-11-15邓胜容马登秋叶振环何燎升
邓胜容,马登秋,叶振环,张 燚,何燎升
(遵义师范学院 工学院,贵州 遵义 563000)
0 引言
科技进步与城市发展,已将空间资源利用从陆地转向水下,对管道质量要求极高,在满足密封性的同时还需要减少水下附着物对管道的侵蚀隐患[1]。但水下环境的复杂程度远高于陆地,因而人工巡检的安全性和可靠性得不到保障,下潜深度也受到限制,进而需研发一种基于自动控制的水下管道智能巡检机器人对管道工况及附着物进行监控反馈和移除[2-4]。尽管国内已有此类水下管道智能巡检机器人[5-6],但由于成本过高,操作难度大并且机身不够小,还没有得到广泛运用。
针对以上问题,设计了一款小型的水下管道智能巡检机器人。该机器人通过对水下环境进行图像采集与处理,进行自身路径的规划与姿态的调节,对附着物进行报警。对其他水下智能巡检机器人而言,这种水下管道智能巡检机器人不仅降低了设计成本,并且还具有高度的自动化性能,操作简单,可在一些狭小空间和浅水作业领域得到运用。代替人工自主完成水下管道及水下设备巡检作业任务,降低水下作业风险。
1 外围系统硬件搭建及电路设计
1.1 整体系统构建
水下管道智能巡检机器人主要由框架式载体、动力系统、电源系统、控制系统、配重系统、报警系统、信号系统、视觉及传感系统等组成。水下管道智能巡检机器人整体结构简图如图1所示。
图1 水下机器人整体结构简图
要实现水下管道智能巡检机器人对路线自动巡检和对附着物的捕获,就需要各系统具有严密的逻辑控制。图2为水下管道智能巡检机器人逻辑控制图。
图2 水下机器人逻辑控制图
1.2 各部分硬件介绍及电路设计
(1)电源系统硬件介绍及电路设计
电源系统由一个独立锂离子聚合物电池供电,电池由4个4 V的电源片串联而成,总电源容量为5200m Ah,总输出电压为15 V。电源系统为四个模块供电,分别是电子调速器、OpenMV、Arduino和一个电源电压低压检测装置(BB响),BB响作用是实时监测电源电压大小,当每片电池电压低于设定值3.7 V时会发出低压报警音,目的是为了保护电池、延长使用寿命以及减少系统长时间欠电压运行带来的危害。通过在并联分支线路上串联电阻将15 V的电压降至5 V,并通过稳压器将电压输出保持在5 V,使OpenMV、Arduino能稳定可靠的工作。电源系统接线原理图如图3所示。
图3 电源系统接线原理图
(2)动力系统硬件介绍及电路设计
动力系统由六个电子调速器、六个2312S无刷直流电机组成;电子调速器是一种可控制电动机转速的装置。它对接受到的电信号进行处理,通过控制器和执行器来实现电动机转速调节,动力系统接线原理图如图4所示。
图4 动力系统接线原理图
(3)控制系统硬件介绍
控制系统是由OpenMV、Arduino、PC组成;水下管道智能巡检机器人控制系统使用OpenMV和Arduino的IDE进行程序开发以及充当上位机的作用,上位机可对机器人在水下运转情况进行实时反馈并可进行干预。
2 视觉及传感系统设计
2.1 视觉传感系统工作原理
视觉及传感系统是主要以OpenMV为主的模块,水下管道智能巡检机器人能实现巡线、识障得益于OpenMV的摄像头,通过自带摄像头能将水底实况可视化。机器人要准确识别附着物,就需要机器人能精准定位自身与管道和附着物的空间位置,本设计是基于OpenMV单目摄像头来实现空间位置定位,要想测距就必须选用参照物来辅助实现距离测量,下面介绍一种通过摄像头画面中小球像素面积大小,计算小球与摄像头的距离。由科学知识知道,当同一大小物体距离摄像头越近时在画面中面积就越大,反之就越小。基于OpenMV的单目视觉测距原理图如图5所示。
图5 基于OpenMV的单目测距原理图
进行分析:设画面中小球的直径为D1,显示屏画面高度为H1,实际小球半径为R2,实际画面高度为H2,焦点到画面的距离为L1,焦点到小球的实际距离为L2,通过三角函数可得:
(1)
(2)
联立式(1)、式(2),消除L可得:
(3)
(4)
将式(4)带入式(3)得:
(5)
由公式(5)可得L2表达式:
(6)
L2由测量得出,D1通过程序得到,所以系数K可由L2与D1相乘得出,通过比例计算就能得到系数K进而可得到L2,通过以上分析并将公式转化成程序计算出K值,就能准确得到摄像头与小球的空间相对位置,为巡检机器人路径规划提供可靠空间位置数据,以及为自身距离管道的位置提供数据反馈。
2.2 视觉系统程序设计
图6 视觉系统程序框图
水下管道智能巡检机器人的程序设计是基于OpenMV开发设计的,主要功能是通过摄像头获取管道位置并沿着管道巡检,如果管道上有附着物则发出闪光报警,闪光报警系统主要由Arduino控制。可根据画面中管道颜色来定位管道位置,OpenMV能很好地将画面噪音去除并将目标锁定得更精确。对于附着物检测和管道定位方式一样都是基于颜色识别,但附着物检测还多增加一项形状检测,用于提高辨识度。视觉系统程序框图如图6所示。
2.3 巡线设计
巡线采用闭环控制方式,数值自动提供给控制系统替代人为设置,使之能完全自主运行。水下管道智能巡检机器人需要一个参考中点,为了让OpenMV正常运行画面不会卡帧,在往后画面模式都采用分辨率居中的Sensor。QQVGA分辨率大小为160×120,160代表画面横向有160个像素点,纵向有120个像素点,所以画面中心点就为第160/2=80个像素点的位置,因为画面分辨率是一定的,中点为80的值就不会改变。可将画面中心点作为参考中点,始终让管道中点趋于参考中点就可让机器人沿着管道巡线。当参考中点等于管道中点时机器人保持直行,所以机器人运行状态只有四种:位于管道正上方、位于管道左侧、位于管道右侧、完全脱离管道。在不考虑转向精准度的情况下,由于管道是固定不动的,而摄像头与机器人是一体可移动的,所以当管道中点数值小于80时说明机器人在管道右侧,应让机器人左转;当管道中点数值大于80时说明机器人在管道左侧,应让机器人右转。机器人转向示意图如图7所示。
图7 机器人转向示意图
3 报警系统整体设计
3.1 报警系统硬件介绍及电路设计
报警系统的作用是当摄像头画面捕捉到有附着物在管道上时,根据不同的附着物发出不同的闪光报警。报警系统闪光灯是由红灯、绿灯和蓝灯组成(以下简称RGB灯),控制其发出不同颜色闪光的是Arduino,由于控制板提供的电压不足,不能直接驱动RGB灯,所以采用外接电源供电,用Arduino输出信号控制继电器线圈再间接控制RGB灯闪烁,引用了“小电流控制大电流,小电压控制大电压”的思想。电压检测装置的作用是当电源电压低于设定值3.7 V时会发出报警声响,提醒更换电池。报警系统的设计是为了让整个系统运行更智能化、稳定化。报警系统电路图如图8所示。
图8 报警系统电路图
3.2 报警系统程序设计
报警系统是当摄像头画面捕捉到有附着物在管道上时根据不同附着物发出不同闪光报警,由于OpenMV外接引脚不足,功能拓展受到限制,需要依靠外界拓展功能,报警系统就是依靠OpenMV+Arduino实现功能,通过OpenMV对管道附着物进行检测并判断,将执行程序发送到Arduino进行再处理后发出闪光报警。由于是两个不同主控板,所以必须将两块板子通讯起来,才能为报警打好基础。通过以上两个程序已经成功将两个主控板通讯起来,接下来报警系统就是以上面两个程序为基础进行程序升级,使得发现附着物时能成功发出闪光报警。报警系统程序框图如图9所示。
图9 报警系统程序框图
4 实验验证
图10为水下管道智能巡检机器人的水下实验,通过实验可知:水下管道智能巡检机器人能满足设计要求,操作简单,自动化高。
图10 水下管道智能巡检机器人水下实验
为验证水下管道智能巡检机器人的报警准确度,对机器人开展了水下实验,实验数据如表1所示。从实验数据可知,报警率存在一定误差,但从正确率来看,最小值都高于80%,说明其有较高的可信度,报警的准确度较高。
表1 水下管道智能巡检机器人实验数据
5 总结
相比其他水下智能巡检机器人,这种水下管道智能巡检机器人不仅降低了设计成本,并且还具有高度的自动化性能,操作简单,可以在一些狭小空间和浅水作业领域得到运用。可代替人工自主完成水下管道及水下设备巡检作业任务,降低水下作业风险。经过后续的发展可代替人工在水下进行作业,例如可进行水环境监测、水产养殖、救援及考古工作。智能巡检机器人能自主规划路径、自动报警并移除附着物。