【2021研电赛】管道巡检机器人

本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取!
在这里插入图片描述

团队介绍

参赛单位:广西科技大学
参赛队伍:OMEN
参赛队员:吴海晨 陈永亮 乔亚坤

第1章 项目意义

1.1 研究背景及意义

据媒体报道,2008年—2010年期间,地下管道断裂事故平均每天发生5.6起。全国每年由于路面开挖破坏运输管道而造成的直接经济损失约2000亿元。2013年11月22日凌晨3点,位于山东省青岛市黄岛区秦皇岛路与斋堂岛路交汇处,中石化输油储运公司潍坊分公司输油管线破裂,事故发现后,约3点15分关闭输油,斋堂岛街道约1000平方米路面被原油污染,部分原油沿着雨水管线进入胶州湾,海面过油面积约3000平方米。黄岛区立即组织在海面布设两道围油栏。处置过程中,当日上午10点30分许,黄岛区沿海河路和斋堂岛路交汇处发生爆燃,同时在入海口被油污染海面上发生爆燃[1]。
管道破裂而引发重大事故的现象层出不穷,随着时间的推移,管道会出现老化现象,管道泄露坍塌的危害之大,应该定期对运输管道进行探伤检测。但由于管道一般都被掩埋在地下,常规的探伤操作很难进行现场作业[2]。很多检测都是通过外部的探伤仪进行检测,但对于内部的管道伤痕是无法探测的,对于大型的排污和热力管道可以人工进入管道进行探测,但对于一些直径比较小的管道很难进行人工作业,需要使用机器人代替人工作业[3]。
工业管道在过往生产生活的应用中,由于管道破裂造成的泄露、爆炸事故对人民群众及一线工人的人身安全构成了极大的威胁。此类事件是可以通过管道检测进行有效的预防遏制。通过对管道的检测能够降低管道的事故发生率,确保管道运行足够安全,避免一些不必要的生命财产损失,还能极大的降低此类事故对环境造成的破坏。管道检测能够及时发现管道出现的问题,通过及时的处理以减少管道维修费用,为管道的安全评估提供相应的数据支撑[4]。

1.2 研究难点

目前,市面同类型产品功能和操作方式大同小异,探伤技术以物力方法为主,通过激光路径计算、粉磁检测法等方法来完成。此外,大多数机器人需要云台操作,无法自主前进,工作人员通过主机端查看当前的图像信息,且需要经常性的操作云台,选择摄像头查看管道内壁的状况,并且探测车在行驶过程中有可能发生偏移等现象,需要手动去调节探测车状态。
经过对当前同类型产品分析,我们总结出以下几个难点:
①机器人摄像头只起到传输视频信息的功能,不能对得到的图像进行分析,反馈的结果,需要工作人员长时间查看管道内壁状况。这种方法即浪费时间又消耗人力。
②市面现存管道探伤机器人以手动控机器为主,当机器人行驶路径发生偏移时,需工作人员通过摄像头传输回来的图像信息判断机器人的偏移情况,从而手动调整机器人行驶状态。
③探伤技术方法局限,大多数依然在使用物理检测方法,对探伤仪器的精度要求特别高,价格也十分昂贵。

1.3 作品创新点介绍

针对以上问题,本团队设计提出一种新型管道探伤机器人,能够对管道内的裂痕塌陷等管道破损进行识别并记录当前位置,同时向上位机发出警报,工作人员只需打开LED大灯驱动云台对管内部进行查看,检测是否存在管道破损。此外,本设计采用外部传感器实时检测当前机器人运动状态,并能够自动调节自身的行驶状态,保证机器人在圆形管道运行时,能够保持直线行驶状态,无需工作人员手动调节。通过机器人携带的高清摄像头实时获取管道内部图像信息,PC端调用轮廓检测算法模型对图像进行特征提取与表征,并与原图像一同显示在上位机界面。我们的创新点如下:

在这里插入图片描述

          图1-1 360°激光探头在管道内部效果图

①机器人前端使用360°激光探头,如图1-1所示,将激光打在管道内壁,形成与管内壁形状一直的图形。然后采用本文提出的算法模型对图像进行处理,进而可以分析当前管道内壁的状态,提高了工作效率,节省了硬件成本。
② 管道机器人机身加载陀螺仪模块,能够实时采集当前机器人行驶状况,当车辆状态异常,机器人自动进行调整自身状态,以保持小车在圆形管道行驶在最佳位置。
③算法部分,本文提出模拟生物视觉反馈神经机制的轮廓检测深度学习模型, 系统的分析了视觉神经机制中的神经元反馈连接,并针对轮廓检测任务设计CNNs模型。经过实验验证,本文提出的轮廓检测模型具有更好的精度和鲁棒性,对生物视觉和计算机视觉的跨学科研究具有重要的理论意义和指导意义。

第2章 方案论证与设计

2.1 项目框图

如图2-1所示,本设计采用更为稳定且性价比更高的MK60N512VMD100作为主控芯片,负责数据的处理及命令的传输。搭配MX1508电机驱动模块驱动麦克纳姆轮控制机器人运动,数据检测模块采用360°红外激光照射管道内部,然后使用两个dfrobot金属齿轮舵机搭建云台,配合高清摄像头全方位、实时获取管道内部信息。其中,金属舵机的添加保证了云台的寿命和稳定性。控制系统则采用MPU6050陀螺仪模块检测机器人运行状况,方便机器人自主对运行轨迹和运动状态进行调整。
该系统主要分为下位机部分和上位机部分,下位机为管道机器人,通过远程控制,实现在管道内部行驶,搭配高清摄像头获取管道内壁图像信息。上位机为算法识别端,通过特定的算法识别激光轮廓,对图像信息进行提取处理,使工作人员得到更加直观的图像,从而可以轻易判断管道内部状况,并进行相应处理。

在这里插入图片描述

                 图2-1 管道机器人总框图

第3章 软件算法设计与流程

3.1 下位机软件设计

3.1.1 激光探头运行流程

如图2-1所示,系统上电后,首先系统进行各项参数初始化,上电后系统自动识别云台位置,自动开启到正位置,对无线模块发送指令进行初始化,初始化完毕等待开启激光探头,当远程端点击开启激光探头按钮后,激光开启,否者激光探头关闭。
在这里插入图片描述

图2-1 激光探头开启流程图

3.1.2 机器人运动控制

PID控制是当前应用最为广泛的控制系统,它不仅结构简单,算法容易实现,还具有较好的鲁棒性。考虑到机器人需要更稳定、精准的行驶速度,本文采用的是增量式PID算法来对机器人移动进行控制,传统PID算法流程如图2-2所示。

图2-2 速度PID控制架构图
传统PID控制器数学公式为:
u(k)=K_p e(k)+K_I ∑_(j=0)^k▒〖e(j)〗+K_D [e(k)-e(k-1)]
式中:k为采样序号;u(k)为第k采样时刻的PID计算输出值;e(k)为第k采样时刻控制器的输入偏差值(常常为设定值与实际值之差),e(k-1)为第k-1采样时刻控制器的输入偏差值;K_p是控制器的比例放大系数;K_I是控制器的积分系数; K_D是控制器的微分系数。
根据式(4-11)可以求得(k-1)采样时刻的PID计算输出值,如式:
u(k-1)=K_p e(k-1)+K_I ∑_(j=0)^(k-1)▒〖e(j)〗+K_D [e(k-1)-e(k-2)]
∆ u(k)=K_p [e(k)-e(k-1)]+K_I e(k)+K_D [e(k)-2e(k-1)+e(k-2)]
(4-3)
式(4-3)中,令A=K_p+K_I+K_D,B=K_p+2K_D,C=K_D,其中增量式PID控制器的结构如图4-3所示
在这里插入图片描述

图4-3 增量式PID算法结构图
采用增量式PID控制算法错误动作影响小,必要时可用逻辑判断方法去掉错误数据,并且不需要累加控制增量节省了控制时间,另外没有误差累加。当确定了K_p,K_I,K_D和前后三次的采样偏差值,由公式(4-3)即可求出∆ u(k)。通过加权处理便可获得较好的控制效果,并且在系统发生问题时,增量式不会严重影响系统工作,减少机器人行走位移偏差现象的发生,增加机器人平衡性和稳定性,满足了系统的设计要求。其中,控制机器人在管道内运动流程如图4-4所示。
在这里插入图片描述

图4-4 机器人运动控制流程图

3.1.3 机器人自动修正设计流程

该系统使用MPU6050陀螺仪作为机器人运动状态检测模块,通过该模块传输的数据判断机器人是否偏移正确行驶轨迹,如果通过传感器数据判断出机器人行驶偏移,则机器人自动修正自身行驶状态,保证机器人能够始终在管道的正下方,其流程图如4-5所示。
在这里插入图片描述

图4-5 机器人自动修正模式流程图

3.1.4 机器人云台调整设计流程

为了更好的观测管道内部信息,该设备与传统管道机器人一样配置云台,以云台带动摄像头进行移动,从而可以全方位观察管道内部信息。当观察完四周情况后,无需再去操控云台到达正位置,该机器人能够实现一键复位,无需手动调控云台,相对于传统的管道机器人而言,该设计更人性化,减少不必要的工作量。其流程图如图4-6所示。
在这里插入图片描述

图4-6 云台调整流程图

3.2 轮廓检测算法设计

3.2.1 算法可行性研究

视觉任务的神经机制表明,参与物体的检测与识别主要是视觉信息处理中的腹侧流——“内容通路”(What pathway)[5],视网膜负责接收图像内容并对图像中的局部特征信息进行简单的处理,然后经过外膝体层传递给视觉皮层,并由视觉皮层的各级水平区域(主要包括V1层、V2层以及V4层)进行不同层次的特征提取,最终将各类局部特征信息传入下颞叶层(Inferior temporal,IT)进行特征的有效整合,完成整个图像的轮廓提取工作。CNN本身就是基于人类视觉信息处理系统启发得到,编码网络模拟了视觉通路的视网膜、外膝体以及皮层细胞区对图像的特征提取过程,解码网络则对应IT层,将编码网络得到的特征进行拼接和融合,最终得到轮廓信息。因此,以复杂的生物视觉神经网络机制为指导,构建以卷积神经网络为核心的轮廓检测网络架构既具有科学性,也具有可行性。

3.2.2 编码网络设计

如图4-7所示,使用VGG16作为预训练网络和主网络,模拟生物视觉“内容通路”并进行层次细分,然后进行逐层逐级反馈并融合反馈结果。反馈式编码网络主要包括信息预处理模块(Pre)、反馈模块(FB)、信息融合模块(IF)和反馈结构融合模块(Pro)。图4-8描绘了各个模块的结构,其中反馈模块我们采用正反馈的结合方式。总共有4级反馈,每一级反馈输出个数依次4、3、2、1,Pro模块的作用是将每一级的输出融合成1个(如第一级有4个输出,则采用自底向上的方式,将底层3个输出通过上采样,使之与顶层大小匹配,然后进行融合)。
在这里插入图片描述

图4-7 模拟生物视觉通路反馈机制构建的编码网络模型

3.2.3 解码网络设计

编码部分的输出分为前馈和反馈两种,众多神经生理学家都提到高级脊椎动物针对轮廓提取任务的大部分细胞集中在视皮层V1区域[6],此外,在生理学的时间维度上,前馈优先在IT层进行解码。如图4-9所示,我们的CNN模型解码分为两个部分:a)前馈信息的解码:整个前馈信息的解码采用自顶向下的层次结构,总共分为3个步骤,Step1中得到3个输出,Step2对Step1中的输出采用邻近结合方式就行解码,Step3中取Step1的中间输出和Step2的输出进行融合得到最终的前馈解码结果;b)反馈信息和前馈解码结果的融合:采用并行处理的方式将前馈解码结果和每一级其进行融合并单独计算每个融合结果的损失函数进行反向传播,最后将每一级的结果融合作为整个CNN模型提取到的轮廓信息,并计算损失函数进行反向传播。解码网络中,上下层层信息之间融合的方式如图4-10所示,我们称之为Combine模块。具体方式为,采用1╳1卷积核对上、下层信息进行特征通道数匹配,之后对处理后的下层结果进行上采样与上层信息大小匹配,最后将上下层信息对应特征通道相加之后输出结果。
在这里插入图片描述

图4-9 模拟IT层轮廓检测机制构建的解码网络模型。前向输出解码共分为3步,其中step3将step1的其中1个输出与step2的输出进行结合最终得到前向信号解码输出;反馈输出解码中,将前向信号解码结果和每一级反馈信息结合,最后再将所有结果进行融合得到最终结果。

在这里插入图片描述

图4-10 上下层之间信息融合Combine模块

我们采用多级输出求损失函数的方式,将前馈输出和每一级的反馈输出进行融合求取每一级的损失函数,最后将横向的四个前馈、反馈融合结果进行二次融合得到我们最终的输出结果,最终的损失函数如下:
〖Loss〗^'=1×Loss+1/4×〖Loss〗_1+1/4×〖Loss〗_2+1/4×〖Loss〗_3+1/4×〖Loss〗_4(4-4)

3.2.4 与最新轮廓检测算法对比

表4-1 当前部分轮廓检测算法和本文算法在BSDS500数据集[7]上的性能
在这里插入图片描述
表4-1为各个模型在ODS、OIS、AP这几个参数上的对比,从表格中我们看出,本文方法相较2020年最新的方法DRC相比,ODS提升了0.86%.

第4章 实物展示与测试

4.1 设计实物图

通过软件和硬件设计搭建实物如图5-1所示。
在这里插入图片描述

图5-1 设计实物图

4.2 软件测试图

首先运行程序后打,能看到如下界面,该界面能够显示出当前管道机器人补做得管道内部得实时图像,通过界面中的三个按键分别实现开启管道机器人摄像头,关闭摄像头,以及管道出现裂痕或者破损将信息保存到本地端,能够查看原图和经过我们算法处理后得图像。软件初始界面如图5-2所示。
在这里插入图片描述

图5-2 PC端软件界面图
开启机关探头,探头投射在管道内部,形成管道得轮廓,如图5-3所示,右测图像显示为机器人传输的实时图像数据,左侧图像通过轮廓检测算法所得到得轮廓图,该图模拟为管道内部未出现裂痕以及坍塌等现象,红外线的轮廓对应管道轮廓。
在这里插入图片描述

图5-3 管道内部状况良好图

如图5-4所示,管道内部产生破裂,通过左侧轮廓图能够清晰的看出发生破裂的位置,工作人员则点击保存数据,该图像会保存在本地端。
在这里插入图片描述

图5-4 管道内部破裂图

更多研电赛作品请查看2021年研电赛获奖作品合集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习笔记之五(父子进程、孤儿进程、僵尸进程、守护进程)

Linux 1、进程1.1、进程的六种状态1.2、创建子进程1.3、添加子进程任务1.4、孤儿进程、僵尸进程、守护进程1.4.1、避免僵尸进程1.4.2、创建守护进程1.4.3、杀死守护进程 1.5、综合练习 1、进程 进程可以简单的理解为一个正在执行的程序,它是计算机系统中拥有资源和…

Ionic 组件 ion-item-divider ion-item-group ion-item-sliding ion-label ion-note

1 ion-item-divider Item dividers是块元素&#xff0c;可用于分隔列表中的items 。它们类似于列表标题&#xff0c;但它们不应该只放在列表的顶部&#xff0c;而应该放在items之间。 <ion-list><ion-item-group><ion-item-divider><ion-label> Secti…

使用小程序插件【用户信息功能页】获取用户昵称、头像、openid

摘要 因为获取用户信息的接口 wx.getUserInfo 存在滥用&#xff0c;使用不规范等原因&#xff0c;微信官方已经将这个接口权限回收&#xff0c;改为用户信息填写&#xff0c;即引导用户主动填写微信昵称和上传头像。这种做法确实是麻烦了点。 但是微信小程序插件&#xff0c;…

浏览器标签页之间的通信

前言 在开发管理后台页面的时候&#xff0c;会遇到这样一种需求&#xff1a;有一个列表页面&#xff0c;一个新增按钮&#xff0c;一个新增页面&#xff0c;点击新增按钮&#xff0c;在一个新的标签页中打开新增页面。并且&#xff0c;新增后要自动实时的更新列表页面的数据。…

机器学习概论

目录 一、机器学习概述 1、机器学习与人工智能、深度学习的关系 2、机器学习的范围 3、机器学习可以解决什么问题 给定数据的预测问题&#xff1a; 二、机器学习的类型 1、监督学习 分类&#xff08;Classification&#xff09; 回归&#xff08;Regression、Prediction&am…

Vue知识点总结

路由 使用 参数传递的两种方式 路由的params传参 路由的query传参 组件 概念 局部功能代码&#xff08;html、css js&#xff09;和资源(mp3 mp4 ttf .zip)的集合 非单文件组件 一个文件对应多个组件&#xff0c;以html结尾 使用 <xuexiao>即可使用 注意&#xf…

MySQL字符串需要注意的事项

char(N)&#xff0c;N在0-255间 varchar(N)&#xff0c;N在0-65536间 需要注意N是字符&#xff0c;不是字节&#xff0c;英文字母一个字符一个字节&#xff0c;阿拉伯字母一个字符两个字节&#xff0c;中文日文一个字符三个字节&#xff0c;emoji是一个字符四个字节 当今移动端…

arcgis 批量删除Table中的某些Field

当shp或者table文件较少时&#xff0c;可以手动删除每个文件中的某些字段&#xff0c;当文件较多时&#xff0c;就需要使用arcpy或者model进行处理。

SUB-1G芯片---PAN3031低功耗远距离无线收发芯片

PAN3031 是一款采用 ChirpIoT TM 调制解调技术的低功耗远距离无线收发芯片&#xff0c;支持半双工无线通信&#xff0c;工作频段为 370~590 MHz 和 740~1180MHz&#xff0c;该芯片具有高抗干扰性、高灵敏度、低功耗和超远传输距离等特性。最高具有-129dBm 的灵敏度&#xff0c;…

文件夹找不到了怎么恢复?4个正确恢复方法分享!

“我在电脑上保存了很多的文件和文件夹&#xff0c;今天在查找文件时&#xff0c;发现我有一整个文件夹都消失了&#xff0c;不知道怎么才能找到呢。有朋友可以帮帮忙吗&#xff1f;” 电脑中文件夹突然找不到了可能会引发焦虑&#xff0c;尤其是如果这些文件夹包含重要的数据。…

[工业自动化-6]:西门子S7-15xxx编程 - PLC系统硬件组成与架构

目录 一、PLC系统组成 1.1 PLC 单机系统组成 1.2 PLC 分布式系统 二、PLC各个组件 2.1 PLC上位机 2.2 PLC主站&#xff1a;PLC CPU控制中心 &#xff08;1&#xff09;主要功能 &#xff08;2&#xff09;主站组成 2.3 PLC分布式从站: IO模块的拉远 &#xff08;1&am…

拖拽式能源管理平台,轻松掌握能源情况!

随着科技的进步&#xff0c;能源问题变得日益紧迫。为了提高能源利用效率&#xff0c;减少浪费&#xff0c;各能源使用企业开始重视能源管理&#xff0c;并寻求高效的节能工具来协助管理。因此&#xff0c;智慧能源管理平台应运而生&#xff0c;为能源使用企业提供强大的节能管…

C++ Qt 学习(五):Qt Web 编程

1. Chrome 技术介绍 大多数 web 技术都是基于 chrome&#xff0c;例如 CEF、QCefView 以及 QWebEngineView&#xff0c;这些都是在 native 界面里用来显示 html 网页&#xff0c;并且可以与 web 交互 例如常见的登录窗口、优酷的视频区域、WPS 的稻壳商城等&#xff0c;这些都…

拓世科技集团打造数字人营销解决方案,为车企提供新的“增长担当”

汽车&#xff0c;已经渐渐融入了现代人的日常生活&#xff0c;从高端的身份标志转变为普罗大众的出行选择&#xff0c;它驶入了千家万户&#xff0c;成为了我们日常出行的可靠伙伴&#xff0c;见证着人们的生活故事和时代的变迁。 中国汽车市场的蓬勃发展引起了业内外的广泛关…

ES|QL(Elasticsearch 查询语言)入门

作者&#xff1a;Ninoslav Miskovic 通过使用 ES|QL 直接从 Discover 创建聚合、可视化和警报&#xff0c;缩短获得见解的时间。 什么是 ES|QL&#xff08;Elasticsearch 查询语言&#xff09;&#xff1f; ES|QL&#xff08;Elasticsearch 查询语言&#xff09;是 Elastic 全…

掌握互联网的未来:5G时代的新机遇

随着5G技术的快速发展&#xff0c;我们正步入一个全新的互联网时代。5G不仅仅是速度的飞跃&#xff0c;它还代表着无限的可能性和前所未有的创新机遇。本文将探讨5G如何重新定义互联网&#xff0c;并为您提供洞察如何抓住这波科技浪潮。 5G技术的核心优势 超高速度&#xff1a…

Python 3D建模指南【numpy-stl | pymesh | pytorch3d | solidpython | pyvista】

想象一下&#xff0c;我们需要用 python 编程语言构建某个对象的三维模型&#xff0c;然后将其可视化&#xff0c;或者准备一个文件以便在 3D 打印机上打印。 有几个库可以解决这些问题。 让我们看一下如何在 python 中从点、边和图元构建 3D 模型。 如何执行基本 3D 建模技术&…

人车实时精准管控!北斗让换流站作业更安全

换流站是高压直流输电系统的核心组成部分&#xff0c;对促进电网稳定运行、保障电力行业的可持续发展有着重要作用。长期以来&#xff0c;随着电网主变改扩建设工程的开展&#xff0c;站内作业人员安全管控压力随之增大&#xff0c;仅依靠传统的“人盯人”和“自主”管控模式较…

CLion配置libtorch找不到xxx.dll

项目场景&#xff1a; 使用CLion配置libtorch时遇到该问题 问题描述 使用CLion配置libtorch时&#xff0c;CMakeLists.txt文件写完后&#xff0c;cmake也能成功&#xff0c;但是一旦运行代码就会报错找不到xxx.dll&#xff0c;比如找不到torch_cuda.dll或找不到c10.dll 原因分…

随机链表的复制

题目描述 给你一个长度为n的链表&#xff0c;每个节点包含一个额外增加的随机指针random&#xff0c;该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。 深拷贝应该正好由n个全新节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值。新节点的nex…