温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
STM32
控制
水下
管道
智能
巡检
机器人
设计
汤俊
Science and Technology&Innovation科技与创新2023 年 第 04 期97文章编号:2095-6835(2023)04-0097-03基于 STM32 控制的水下管道智能巡检机器人设计汤 俊,满达虎,王丽芳,周玉华(九江学院材料科学与工程学院,江西 九江 332005)摘要:针对中国大学生工程实践与创新能力大赛水下管道智能巡检赛项,提出了基于 STM32 控制的水下管道智能巡检机器人设计,以 STM32 单片机为核心,结合 OpenMV 视觉模块的 OV7725 摄像头芯片,利用摄像头芯片采集到的信号控制水下机器人的游动方向、转弯等运动实现航道的巡迹,并利用OpenMV 内置的库函数资源对管道吸附物形状进行判断,以闪烁不同颜色的灯光作为检测信号。无论在实验室调试过程中,还是在正式比赛时,均取得了良好的效果。关键词:水下机器人;STM32;管道巡检;系统设计中图分类号:TP242文献标志码:ADOI:10.15913/ki.kjycx.2023.04.027随着科学技术日新月异的发展,智能机器人在众多领域已全部或部分代替了人类完成规定的任务。近几年,水中智能机器人的发展尤为迅猛。水中智能机器人可应用于军事、海洋开发、水中工程监测、水中娱乐休闲等领域1。基于水中机器人广泛的市场前景和应用价值,同时也为了培养新时代大学生的实践动手能力、创新能力以及团队沟通协作能力,教育部高等教育司每 2 年主办一届“中国大学生工程实践与创新能力大赛”,水下管道智能巡检是该项赛事“智能+”赛道中的一个赛项。1比赛规则参赛队伍将机器人放置在出发区等待出发,如图 1所示。裁判发出指令,计时开始,机器人从出发区沿着水下白色PVC管道进行巡迹游动,依次进入浅水区、渐变区和深水区;机器人在巡游的同时检测管道上是否有黑色吸附物,并按照吸附物的不同形状闪烁不同颜色的灯光进行报警提示;完成规定的任务后,水中机器人来到返回区,结束计时。根据水中机器人是否检测到吸附物并报警的正确与否以及回到返回区用时长短等计算比赛成绩。2硬件设计方案2.1整体硬件系统设计如图 2 所示,基于 STM32 控制的水下管道智能巡检机器人由 STM32 单片机主控模块、电源稳压模块、OpenMV 模块、运动组件、显示模块(TFTLCD)和LED 信号灯模块等构成。以 STM32 单片机为核心控制器,结合 OpenMV 视觉模块上的摄像头(感光元件为OV7725),利用 OV7725 采集到的信号并通过图像处理算法将信息传递给 STM32 控制器,通过运动组件控制机器人沿水下白色 PVC 管道的游动方向、转弯等运动,从而实现航道的巡迹。同时,机器人在沿管道巡游过程中,利用 OpenMV 内置的库函数资源对管道上的黑色吸附物形状进行判断,STM32 单片机对数据整合处理后将吸附物信息显示在 TFTLCD 屏幕上,同时使 LED 信号灯闪烁相应颜色的灯光作为检测信号。图 1比赛场地示意图(单位:mm)图 2总体框架图基金项目国家级大学生创新创业训练计划项目(编号:202111843028、202111843015);江西省高等学校教学改革研究省级立项课题(编号:JXJG-19-17-3、JXJG-21-17-2、JXJG-21-17-16)2 000支撑管5003 000500浅水区出发区返回区渐变区深水区渐变区被测物体电源稳压模块OpenMV 模块STM32 单片机主控板运动组件显示模块LED信号灯科技与创新Science and Technology&Innovation982023 年 第 04 期2.2主控模块主控模块采用 STM32F103VET6 单片机作为整个执行系统的控制核心。该单片机拥有实时功能强、功耗低、信号处理能力强、体积小等优点,具有 USART、I2C、定时器等丰富的外设,便于开发和应用2。STM32F103VET6 具有 4 个通用定时器、2 个高级定时器、2 个基本定时器,能够轻松地实现定时器中断、输入捕获、输出比较、PWM 输出等功能3;5 路 USART接口,支持 ISO7816、LIN、IrDA 接口和调制解调控制,方便与其他控制器进行串口通信;7 通道 DMA 控制器,节省 MCU 计算资源;3 路 12 位 ADC 和 2 路12 位 DAC,实现数字信号与模拟信号的相互转换;80个快速 I/O 口。2.3OpenMV 模块OpenMV是一款基于STM32单片机和图像传感器的机器视觉模块,通过 OpenMV IDE 可以轻松地完成机器视觉(Machine Vision)应用,可选的图像处理像素模式有灰度模式和色彩模式 2 种。由于灰度模式的算法比色彩模式的算法运行得更快,因此本次比赛的机器人选用了灰度模式。OpenMV 上搭载了 MicroPython 解释器,用户可以通过 Python 语言编写程序从而实现一系列的功能4。通过调用 OpenMV 内置的图像识别算法库函数资源完成对物体形状的判断,得到的数据通过串口通信传递给 STM32 主控模块,单片机对数据进行整合处理将物体信息显示在 TFTLCD 屏幕上,同时使 LED 信号灯闪烁相应颜色的灯光作为检测信号。将 OpenMV 资源丰富的优点和 STM32 单片机控制简单的优势相结合,从而达到精确识别物体的目的。2.4电源稳压模块整个系统完成规定任务所需要的能量由电源稳压模块提供。本设计采用 12 V 航模电池,可以通过充电器对其充电。由于 STM32 单片机所有的 I/O 引脚输出3.3 V 并且 5 V 耐受,因此,首先通过 LM2596S 稳压电源将 12 V 航模电池的电压降到 5 V,然后给各模块供电。2.5运动组件本次比赛所用机器人运动组件包括 4 个垂直方向的螺旋桨推进器和 2 个水平方向的螺旋桨推进器。垂直推进器和金属配重块用于实现机器人游动过程中自由的上浮和下沉,水平推进器用于实现机器人游动过程中顺畅的前后运动和偏航导正运动。2.6显示模块(TFTLCD)本设计选用的显示模块(TFTLCD)是 2.8 in(约71.12 cm)的 ILI9341 屏幕。这是一款性价比很高的屏幕,分辨率为 240320,可实现 720 源输出和 320 门输出,采用常见的电极输出 VCOM。接口模式有8080MCU 和 RGB 2 种模式(本设计采用 RGB 接口模式),有全彩模式、减色模式、空闲模式、睡眠模式等多种模式,能够完成 26 万种颜色深度,8 个色阶的显示,具有生成、调整 VCOM,充当时序发生器或振荡器,调整背光亮度,完成直流转换、线反转、帧反转、独立 RGB 伽马校正、预设伽马曲线等众多功能。2.7机器人密封设计机器人作业工况为水下,主控模块、电源稳压模块、OpenMV 模块、显示模块(TFTLCD)和 LED 信号灯等这些硬件易被水浸泡而失效。为了确保机器人各组件在水下正常运转,需要对其做一定的防水密封处理,对此本设计上述部分采用密封箱进行密封。密封箱材料为透明的 PP,壁厚为 3 mm。密封箱壳体与上盖板之间需要进行密封,密封性质为静密封,通过O 形橡胶圈密封后在密封面涂以平面密封胶,以保证密封的可靠性5。在密封舱侧面使用 8 mm 厚 PMMA板贯穿 6 个 5 mm 孔用于密封箱走线。走线过程中如果密封不良,极易使密封箱漏水,所以在结构上采用空心 CNC 加工,316 不锈钢材质穿线螺丝,把线缆剥下保护套,尾端套入热缩管,用蓝丁胶固定,最后用环氧树脂进行灌封。3软件编写设计本设计主要采用 Python 和 C 两种语言编写程序,程序流程如图 3 所示。首先进行系统初始化,主要包括 OpenMV 模块初始化和 STM32 单片机的中断初始化。然后启动系统,随后将机器人释放。机器人被释放后会沿着白色 PVC 管道直行,期间会遇到 3 种情况,分别是直行偏差、直角右拐弯和检测到不同形状的黑色吸附物。摄像头实时回传数据至主控板,主控制板通过算法对可能出现的 3 种情况实时监测:第一种情况出现直线行驶偏移时,串口回传,单片机利用函数通过左右微调使机器人保持在白色 PVC 管道的正上方;第二种情况出现直角右转弯时,串口回传,单片机利用右转函数控制水下机器人右转;第三种情况在运行过程中当检测到不同形状的黑色吸附物时,串口回传,单片机对数据整合处理后将吸附物信息显示在 TFTLCD屏幕上,同时,单片机利用函数控制 LED 灯光闪烁相应的颜色作为报警示意。最终在整个循环程序中完成图 1 比赛场地的管道巡迹并识别不同形状吸附物的比赛任务,机器人到达返回区等待被捞取。Science and Technology&Innovation科技与创新2023 年 第 04 期99图 3程序流程图4比赛测试及优化机器人在巡迹游动过程中必将受到水波的影响产生不同程度的摆动,从而使机器人在执行任务过程中偏移管道的概率增大。虽然在程序设计时对机器人偏移管道做了处理,但在实验室测试发现,偏移管道时有时未能及时得到修正,使机器人不能按照预期直游甚至偶尔会彻底离开管道,导致根本完不成全部任务或者完成全部任务后超出比赛规定时间和存在一定的漏检率。通过反复实验和不断摸索,发现在机器人身上装配一定的配重块,能够大幅度降低偏航的概率。意外发现,由于机器人身上加以配重块,机器人在深水区的下潜更为顺畅。在机器人身上装配重块时要尽量做到以下 2 点:第一,尽可能使机器人重心在几何体的中线上;第二,尽可能降低机器人游动时尾部产生的水波。此外,比赛场地有 2 处直角右转弯,在实验室前期调试中,发现机器人不能顺畅地完成直角转弯动作,且与管道的重合度不高,从而多次出现未检测到拐弯处吸附物的现象。为解决这个问题,经过反复实验,在右拐弯时,机器人不能全速游动通过,否则由于惯性很容易冲出管道导致比赛失败,经过再三测试得出结论:通过在右拐弯时把速度降为直线管道时的 60%,能够顺利完成比赛。实验室测试的过程中吸附物的识别率都在 100%,并且能在规定时间内跑完全程,在2021 年第六届江西省大学生工程训练综合能力竞赛中取得第一名的好成绩。5结语本研究提出了基于 STM32 控制的水下管道智能巡检机器人设计及测试与优化。OpenMV 摄像头模块作为数据采集模块,以 STM32 单片机作为水下机器人运行核心。整体系统在该项目比赛中识别率和运行时间都有很强的优越性。系统的设计也为智能水下机器人在水底管道巡检等应用领域提供了思路和参考。参考文献:1徐玉如,庞永杰,甘永,等.智能水下机器人技术展望J.智能系统学报,2006(1):9-16.2钱平,顾才东,马建圆,等.基于 OpenMV 的水下机器人管道巡检比赛策略研究J.无线互联科技,2021,18(1):100-101,120.3 朱能飞,王翠,陈勇生,等.基于 STM32 的 SPWM直接面积等效算法的分析与实现J.计算技术与自动化,2017,36(3):20-22.4施敏虎,栗云鹏,庄曙东,等.基于 OpenMV 的智能搬运车型机器人的设计J.机械工程师,2020(2):20-22,25.5杜晓飞.水下机器人对接装置液压系统及控制技术研究D.哈尔滨:哈尔滨工程大学,2015.作者简介:汤俊(1998),男,江西九江人,材料成型及控制工程专业本科生。通信作者:满达虎(1975),男,内蒙古察右中旗人,硕士,副教授,研究方向为系统控制。(编辑:王霞)直行检测是否转弯是否检测到不同形状吸附物结束开始控制转弯系统初始化系统启动是否偏移管道TFTLCD 屏幕显 示 数 据,LED 灯 闪 烁相应颜色微调修正YNNNNYYY