大数跨境
0
0

【学术论文】基于 OpenCV 的水下管道自巡检机器人的设计

【学术论文】基于 OpenCV 的水下管道自巡检机器人的设计 智慧海洋公众交流平台
2024-04-07
1
摘要

作者:陈洵圻,张远峰,连一凡,吴柃萱,何建景,杨喆(西北民族大学 电气工程学院,甘肃兰州,730124

摘要:水下管道在水下石油运输等方面有广泛的应用。针对水下管道的自巡检工作开展困难,本文提出了一种基于OpenCV的水下管道自巡检机器人的设计,该设计以STM32单片机为核心,控制水下机器人游动、转向完成巡迹工作,同时,利用OpenMV内置的库函数对管道情况进行识别,并反馈至计算机终端。本设计具备较好的稳定性和可操作性,结构完善,功能完备。

关键词:水下机器人;OpenCV;STM32;管道巡检





0、引言


随着综合国力的提升,中国作为世界海洋大国的地位逐渐稳固,海洋权益越来越受到重视,针对海洋资源的开发利用项目越来越广泛 [1]。其中石油和天然气是人类当前最重要的能源,水下管道是实现油气运输的一种快捷、安全、经济的运输方式。水下管道长时间的使用,在管道表面可能会产生粘附物,从而造成管道损伤甚至管道泄漏等情况,这需要维修人员定期对管道表面进行检查、清理甚至是水下维修[2]。因此,必须定期进行管道巡检,以免发生管道损坏,如漏油等,对环境造成巨大影响。
本文设计了一款基于 OpenCV 的水中自巡检机器人,实现了自主导航、避障、目标识别、漏油点检测等功能,并且将检测识别情况实时地反馈给后台工作人员。水中智能机器人同时可应用于军事、海洋开发、水中工程监测、水中娱乐休闲等领域,拥有非常广阔的前景 [3]。



1、系统设计

机器人通过内置 12V 电池模组供电,启动总开关后STM32、树莓派以及各个模块会自行启动但不会即刻开始运行功能,而是会自动检测是否存在故障,若自动检测没有发现问题则蜂鸣器会鸣笛三声,以表明可以进行工作,保证设备的稳定运行。而后利用摄像头模块和 OpenCV 算法进行循迹并检测管道周围环境,将数据信息反馈至树莓派和计算机终端,工作人员就能观测到是否存在问题,若无问题再启动机器人。如图 1 所示。
而后利用摄像头模块和 OpenCV 算法进行循迹并检测管道周围环境,将数据信息反馈至树莓派和计算机终端,工作人员就能观测到是否存在问题,若无问题再启动机器人。如图 2 所示。

在运行过程中,机器人若发现漏油情况会通过播报模块自动报警,工作人员收到后就可对漏油点进行精准补修。以此完善的运行流程可保证机器人整体安全且稳定地实行功能,大大提高了工作效率。如图 3 所示。


2、硬件设计

2.1 整体架构

基于 OpenCV 的水下管道自巡检机器人由 STM32 单片机作为核心控制器,负责整个系统的控制和协调。使用稳定的电源供给对单个模块和组件进行电压供给,然后利用OpenMV 模块和图像二值化处理等相关算法对图像进行捕捉和处理。接下来的步骤是根据处理后的图像数据,调整水下机器人的运动,使其沿水下管道的特定方向运动。

OpenMV 模块采集到的图像信号经过二值化处理后,可以传递给 STM32 微控制器进行进一步的图像处理。这种架构使得图像处理任务可以在不同的硬件设备上分担,实现更高效和灵活的系统设计。STM32 控制器利用接收到的图像信息控制运动组件,使机器人沿着水下管道游动、转弯等,实现航道的巡迹。在巡游过程中,利用 OpenMV 模块内置的库函数资源对管道上的黑色吸附物形状进行判断。STM32 单片机对数据进行整合处理,并将吸附物信息通过远程连接方式传输到计算机终端。该设备有实时监测功能,并可以通过播报模块来发出报警信息。这样的设计使得设备能够提供及时的警示和通知,以便人们对潜在的问题做出快速的反应和应对。

综上所述,该水下管道智能巡检机器人通过图像处理和控制算法实现对管道的巡检,在巡检过程中检测并显示吸附物信息,为水下管道巡检提供了自动化的解决方案。

2.2 OpenMV4 模块

OpenMV4 摄像机可以完成机械视觉算法中庞大输出的处置。通过与漏油点模型的比对,进行对管道漏点的识别与警报。同时可以对 Oled 屏幕和语音模块的对外输出进行控制。OpenMV 上搭载了 Micro Python 解释器,用户可以通过 Python 语言编写程序实现一系列的功能 [4]。

2.3 OpenCV 模块

OpenCV 具有完备的开发库以及开源算法,我们可以通过对开发库的调用以及对开源算法的改进,实现视觉识别在管道巡检方面的不断发展与突破。降低图像中介质的过程称为图像处理,图像处理方法是基于对图像进行清晰化的操作而进行的 [5]。

2.4 Raspberry 模块

Raspberry Pi 4B 是 一 款 基 于 ARM架构的微型电脑,具备小巧的尺寸、较高的处理性能和丰富的接口。作为开源平台,它还具有强大的扩展性和开发者社区支持,可以满足不同用户的需求。智能管道巡检机器人仅占用了较少的空间资源,但依旧拥有强大的处理能力。同时为机器人内部预留了大量的电池能源存放空间,保证了机器人的续航能力。RaspberryPi 4B 在各大领域应用广泛,具有完备的资源库。可以保证设备通过无线网络进行连接时高效且不易出错。

2.5 STM32F407 模块

STM32F407 具备高性能、丰富的外设和低功耗设计等特点,适用于各种需要高速处理和低功耗的应用场景。STM32F407 作为智能管道巡检机器人推力器的主控芯片,控制推力器、深度传感器、姿态传感器。保证机器人的稳定运行,以及数据的汇总处理,该单片机拥有实时功能强、功耗低、信号处理能力强、体积小等优点,具有 USART、I2C、定时器等丰富的外设,便于开发和应用 [6]。
2.6 串口 WiFi 模块

串行 WiFi 模块可以实现无线数据传输、采集和控制,为用户提供了更多的无线连接选项和灵活性。这种模块简化了数据传输过程,提供了更便捷和灵活的数据连接方式,适用于各种应用场景。

 2.7 树莓派板载 WiFi 芯片

树莓派由于其使用开源易扩展的 Linux 操作系统,性能较强,接口丰富,因此常用于物联网等自动控制设备方面,BCM4398 是一款低功耗、高度集成的 Wi-Fi 和蓝牙组合芯片 [7]。由于我们需要连接电脑进行图像和数据的高速传输,对 WiFi 芯片的性能提出了要求,将舵机的实时操控数据与树莓派进行同步。

2.8 电源
整个水中自巡检机器人所需要的所有能量都由电源来提供。该水下机器人采用 12V 航模电池作为能源,并可以通过充电器对其进行充电。因为 STM32 单片机的全部 I/O 引脚输出为 3.3V,并能耐受 5V 电压,因此需要将 12V 航模电池的电压降到适合的电平。使用 LM2596S 稳压电源模块,将 12V 航模电池的电压降到 5V,以满足 STM32 单片机和其他模块的电源需求。经过稳压处理后的 5V 电源被供给该水下机器人中的各个模块。
2.9 运动组件
该设备具备 4 个垂直方向螺旋桨推进器和 2 个水平方向螺旋桨推进器,这种配置使得设备能够实现在垂直和水平方向上的运动和操控,从而适应不同的应用场景和任务需求。垂直推进器的主要作用是实现机器人在水中的上浮和下沉运动。借助垂直推进器,机器人能够控制自身的浮力,使其能够在水中自由地上升和下沉。水平螺旋桨的主要功能是实现机器人在水中和偏航方向上的前后运动。利用水平推进器,机器人能够在水中实现平稳的前进和后退,并且能够进行准确的偏航导正操作。另外,金属配重块用于帮助机器人控制浮力和保持平衡,以确保垂直推进器能够准确地控制机器人的上浮和下沉动作。



3、远程连接方式

3.1 远程连接方式之 SSH

SSH 是当下较流行的一种开源框架,JSP 页面发送请求给 Struts 控制器,Struts 控制跳转,Service 层负责逻辑的处理,Hibernate 实现对数据库进行操作,Spring 负责管理 Struts 和 Hibernate,采用这样的框架模型进行开发,能够很好地实现各层之间的分离,减小各层之间的耦合度,提升开发效率的同时降低维护难度,ssh 进程在后台运行,响应连接请求,它包括公钥认证、密钥交换、对称密钥加密和安全连接,其工作原理是本地客户端向远程服务器发送连接请求,服务器检查请求的报文和 IP 地址,然后将密钥发送给 SSH 客户端 [8]。

3.2 远程连接方式之 VNC

VNC 基本组成分为两部分:一部分是客户端的应用程序 (vncviewer),另一部分是服务器端应用程序 (vncserver),VNC 协议 Protocol(RFB),传送服务端的原始图像到客户端(一个 X,Y 位置上的正方形的点阵数据),客户端传送事件消息到服务端, 服务器发送小方块的帧缓存给客户端 [9]。在我们智能深海管道巡检机器人运行时,我们仅使用VNC 进行图像数据的传输,其他涉及安全性的操作(比如停下,强制前进等)则仍然使用 SSH 协议进行操作。


4、软件设计

该程序首要利用 Python 语言实现,程序的流程按照图4 所示进行。程序的具体流程如下:首先进行系统初始化,OpenMV 模块的初始化过程涉及检查模块连接和电源供给,引入相关库,建立通信,配置参数,以及最终启动模块,使其进入可用状态。初始化 STM32 单片机,确保它能够响应和处理各种中断事件。初始化树莓派,确保它与其他设备的连接正常,并准备接收和处理来自其他组件的信号。启动程序后,水下机器人被释放,并沿着白色管道进行运动,包括直行、直行左转、直行右转以及检测到异物等操作。
摄像头实时将数据传输到主控板,主控板通过算法对可能出现的情况进行判断和调整。根据不同情况,程序采取相应的措施:如果发现直行偏移,通过左右微调使机器人保持在管道上方,并通过串口回传信息;如果发现需要左转,单片机控制机器人左转,并通过串口将其发送回来;如果发现需要右转,单片机控制机器人右转,并通过串口将其发送回来;如果检测到异物,单片机进行图片处理和数据整合,将信息传送至计算机终端,并通过语音传感器进行示警。整个程序循环运行,完成水下管道自巡检的工作。程序通过串口回传和相应的控制算法,使机器人在管道上方保持稳定,并能够检测到并报告管道的异常情况,如直行偏移和异物的存在。

5、功能运动概述

对于水下管道自巡检机器人,我们采用密封舱形式的水下机器形状,将系统硬件放入密封舱里,而其他部分一一做好防水处理。
在实验室实验中,我们以吸附物代替管道破裂进行模拟检测与识别。如图 5 所示。吸附物为实心黑色物体,其 截 面 为 正 方 形、 圆 形 两种,边长或直径尺寸限制在 30~50mm 范 围, 厚 度 不 大于 30mm。如图 6 所示。
OpenMV 首先进行管道和吸附物的图像识别,得到图像的灰度值,识别坐标信息。此外,我们将使用 OpenCV 将输入的 RGB 图像进行二值化处理,首先使该图像分割成背景部分和目标部分,其次为了避免对比度和光照不均匀对二值化的影响,要先对图像进行顶帽处理,再把整幅图像进行高斯滤波处理并进行腐蚀操作和膨胀操作,最后经过逻辑判断进行输出[10]。
完成图像处理之后,图像处理结果被传递到树莓派,它负责进一步处理和整合信息,并将相应指令发送到 STM32 以实现相关控制动作。这种架构可以实现远程控制和数据处理的分离,并提供了一种灵活的方式来处理和控制不同设备之间的交互整合。当设计完成后,指令可以被发送至 STM32 微控制器,以实现对机器人的控制。这个过程可能涉及到开发控制系统和用户界面,将指令通过通信接口传递给 STM32,并由 STM32 执行相应的操作来控制机器人的行为,利用使用 ssh“(Secure Shell)”和vnc “(Virtual Network Console)”协议进行通信和命令的发布。显示屏和语音模块会给出相应的反馈。如图 7 所示。

6、结语

该设计利用图像处理实现了基于 OpenCV 的水中自检机器人。采取 STM32 单片机作为水下自检机器人的操纵焦点,采取 OpenMV 和 OpenCV 摄像模块作为数据收集和处置模块。通过测试,我们在成功率和运行时间上都有其独到的优势。该系统的设计也为水下管道自检机器人在水下管道检测中的应用提供了一定的参考。
【参考文献】

 [1] 王乐,纪竟,邓彦松 . 基于图像分割的水下管道检测机器人设计 [J]. 机器人技术与应用,2017(04).

 [2] 钟思,付书媛,李玉寒,等 . 水下管道智能巡检清理机器人的设计 [J]. 电子技术与软件工程,2021(13):99-100.

[3] 徐玉如,庞永杰,甘永,等 . 智能水下机器 人 技术展望[J].智能系统学报,2006(1):9-16.

 [4] 施敏虎,栗云鹏,庄曙东,等 . 基于 OpenMV 的智能搬运车型机器人的设计 [J]. 机械工程师,2020(2):20-22,25.

 [5] 钱平,顾才东,马建圆,等 . 基于 OpenMV 的水下机器人管道巡检比赛策略研究 [J]. 无线互联科技,2021,18(1):100-101,120.

[6] 姚守峰,陈修贤,郝前勇,等 . 基于 OPenCV 的管道巡检水下机器人的设计与实现 [J]. 计算技术和自动化 .2023,42(01):58-61.

 [7] 郝林炜,梁颖 . 基于树莓派 + 云服务器的网络监控及家居控制系统的研究与实际应用 [J]. 物联网技术,2016,6(09).

 [8] 马睿,王振,梁栋茂,等 . 基于 SSH 框架的小说网站管理系统设计与实现 [J]. 电脑编程技巧与维护,2020(07).

[9] 吴浪武,吴静进,吴馨,等 . 基于 VNC 工业控制监控系统的设计研究 [J]. 内燃机与配件 ,2022(19).

[10] 张文超 . 基于 OPENCV 的仪表图像识别技术的研究与应用[J]. 中国设备工程,2023,(03):97-100.

声明:本公众号相关内容均来自主流媒体及公众号,非商业用途,并不意味着赞同其观点或证实其内容的真实性。版权归原作者所有,如有发现侵犯您的权益,请后台联系编辑,我们会尽快删除相关侵权内容。

【声明】内容源于网络
0
0
智慧海洋公众交流平台
我们旨在给对智慧海洋感兴趣的朋友提供一个相互交流学习的平台!这里汇聚了来自海洋领域的顶级专家、计算机通信高手、各大著名研究机构学者以及奋斗在海洋产业化一线的管理、研发、销售人才……欢迎大家随时随意交流,共同促进智慧海洋事业的快速发展!
内容 928
粉丝 0
智慧海洋公众交流平台 我们旨在给对智慧海洋感兴趣的朋友提供一个相互交流学习的平台!这里汇聚了来自海洋领域的顶级专家、计算机通信高手、各大著名研究机构学者以及奋斗在海洋产业化一线的管理、研发、销售人才……欢迎大家随时随意交流,共同促进智慧海洋事业的快速发展!
总阅读1.4k
粉丝0
内容928