机器人制作开源方案 | 管内检测维护机器人
一、作品简介
作者:李泽彬,李晋晟,杜张坤,禹馨雅
单位:运城学院
指导老师:薛晓峰
随着我国的社会主义市场经济的飞速发展和科学技术的革新,各行各业的发展越来越离不开信息化和网络化的硬件支持。在当今时代背景下,人工智能与大数据成为了热点话题,吸引了大部分人的关注,尤其是智能机器人更是令不少人为之折腰。目前,全球制造业格局正面临重大改变,以智能制造为核心的智能化产业变革正悄然发生。工业机器人代表着先进制造业的支撑技术,现已发展成为信息化社会的新兴产业,该产业的发展将会进一步促进社会生产的发展。
管道检测维护机器人使用机器时代(北京)科技有限公司探索者套件搭建而成,主控板为探索者自带的ARM控制板。本款管道检测机器人是一种可沿管道内部或外部自动行走、携带多种传感器及操作机械,可在工作人员的遥控操作或计算机自动控制下,进行一系列管道作业的机、电、仪一体化系统操作。管道机器人可以通过管道内部行进作业完成相关复杂环境的探伤、清淤、检测以及修补等管道作业工作。
1. 作品摘要
与此同时,随着我国经济的高速发展,我国石化、天然气、核工业及城市排水、输送等地下管道的建设在飞速发展,国家对地下管道建设的投资也不断地加大。石油、化工、天然气及核工业的发展及管道维护的需要刺激了管内机器人的研究。近年来管道在人们生活以及工业生产中被使用的越来越广泛,与此同时,管道故障所带来的问题日益突显。因此,管道建设中,管道检测维护是一个十分重要的环节。然而我国在管道检测维护领域中主要以管外巡检为主,管内检测维护机器人少之又少。因此,研究设计一款可以实现管内检测维护的设备对于促进管道建设产业升级和满足市场需求具有十分重要的意义。
2. 作品背景调研
2.1作品设计背景
当今,科技生产力的不断发展,人们生活水平的不断提高以及人们日益增长的各种需求,如市政排污管道、自来水管、消防管道、石油天然气管道、中央空调管道、家用普通管道等等。管道在现代工农业以及人们日常生活中发挥着巨大的作用,被广泛的应用在石油、化工、天然气、核工业、城市用水等多个领域。这些管道的出现和普及给我们生产和生活提供了极大的便利,但与此同时也带来了许许多多的问题,诸如管道堵塞、损坏及管道老化等问题。这些领域关系国家的经济命脉,管道一旦发生泄漏,将会给国家和人们带来巨大的损失,这些问题给我们带来的不仅是资源的损耗,而且还有可能会造成人员的伤亡。因此对各个领域的管道进行定期的检测与维护具有重大的意义。管道环境大多十分恶劣、空间十分狭窄,使得人们不能直接到达或介入到管道中去,使得对管道的检测与维护十分不易。因此,管道机器人应运而生。
管道机器人是一种可以沿管道内壁或管外行走的机构,可以携带各种检测装置和操作工具,在地面操作人员的远程控制下自动完成探伤(腐蚀程度、裂纹,焊接缺陷等)及补口(对接焊缝、防腐处理、防腐层缺陷处理等)等作业,对管道内部情况利用检测装置实时的反馈到地面上来,使操作人员能够对管道的现状有深入的了解。管道机器人可以通过管道内部行进作业完成相关复杂环境的探伤、清淤、检测以及修补等管道作业工作。
2.2作品相关研究及现状
2.2.1国外发展现状
从1940年开始,管道机器人作为机器人探索的新方向,已经在国外率先成长起来,对于电子技术的到来更是给管道机器人的壮大提供了有力的工具,尤其是进30年来管道作业技术迅猛发展,已然让机器人在管道作业变成了现实。
美国以它在世界上最早开发出机器人为优势,拥有了世界最先进的技术水平,如今其管道机器人已然实现应用。下图为美国州立大学研发的一款名叫的FAMPER管道机器人研发方案,他是一款可以自主在管道内行走的履带式管道机器人,该机器人可以通过改变自身履带状态适应管道转弯。

2.2.1国内发展现状
从国外发展情况来看,我国对于管内环境检测的自主研发情况存在很大的局限性:一方面大部分都是针对水平管道而设计的轮式或履带式,对于有些倾斜角度甚至垂直管道的管内机器人的研究较少;另一方面对于各种管径和弯道的则考虑的不足,这样就限制了管道机器人的发展及应用。下图所示的由浙江大学的刘莹、申超等人研究开发的中央空调管内清理机器人的方案,设计原理是通过依靠舵机可以让齿轮传动以达到把电磁铁推出的动作,让滚轮吸附在管道壁面上,以此来维持下一个动作的进行。由于电磁铁性质的特点,对管道材质和清理机构自身重量是会有很大影响的。

3. 作品应用前景及应用价值
管道机器人在我国处于发展阶段,具有广阔的市场前景。管道机器人相对于人工操作来说有无可比拟的优势。管道机器人在计算机控制下,可进行采样、检测等动作。而单片机技术的发展为管道机器人的方便应用提供了一个良好的基础技术。利用单片机可以实现管道机器人的控制是管道机器人设计中较好的选择。
管道机器人可以通过管道内部行进作业完成相关复杂环境的探伤、清淤、检测以及修补等管道作业工作。
管道机器人的小巧,即可实现管外检测的工作,还可更大效率的实现管内检测维护。
4. 作品创新点
4.1管内移动
采用比较新颖的多段式机构和无线的智能化控制。驱动部分驱动轮采用倾斜的设计,可以在圆管道中行走。
4.2使用减震器
搭载减震器两个位于装置上部,便于适用于不同管径的管道。
4.3动力轮角度可调
为了加快不同管径的的移动速度,设置可调动力轮。
5. 作品技术难点及改进方向
5.1信号、电力的传输和供给方式
采用有缆时需考虑线缆在转弯处的阻力;采用无线方式传递信号时,由于金属管道具有一定的屏蔽作用,需要考虑发射信号的频率。
5.2行进方式的选择
目前,管道机器人的行走方式主要有轮式、履带式、蠕动式、多足式,每一种方式都有各自的优缺点。结合各种行走方式的优缺点,但其行走机构还需要优化设计。
5.3转向能力
管内空间的封闭性结构,使管道机器人的研究还需克服很多复杂的技术难题,其中,能否在管内实现灵活转向,是管内机器人研究的一大难点。
二、技术说明
1. 模块介绍
1.1 ARM主控
1. 输入端口1,连接传感器。
2. 输入端口2,连接传感器。
3. 输入端口3,连接传感器。
4. 输入端口4,连接传感器。
5. 红外接收端口,连接红外接收头。
6. 通道选择键,对应手柄的通道选择键,分为ABC三个通道。
7. 程序写保护口,1为正常工作状态,当按钮拨向ON时才可以进行程序下载。
8. 程序下载端口,连接下载线。
9. 舵机端口1~6,连接舵机,从左起竖排4针接口为一组,共分为6组。(注意:具体连接方式在操作说明中会用图示详细说明,在没有看过操作说明之前
请不要连接电机)。
10. 输出端口7~8,连接LED、语音模块等执行部件,从左起竖排4针接口为一组,共分为2组。(注意:具体连接方式在操作说明中会用图示详细说明,
在没有看过操作说明之前请不要连接LED以及语音模块)。
11. 电源端口,接入电池或适配器连接。
12. 复位键,对单片机进行重启,会清除单片机内所有未保存的动作。
13. 电源开关。
14. 电源指示灯,当开关打开后,指示灯长亮并且呈红色。
1.2 触须传感器
触须传感器可以检测到物体对弹簧触须的有效触虫动。安装时通常是将弹簧与地面平行。有效触动角度45度。
1.固定孔,便于用螺丝将模块固定于机器人上。
2.四芯输入线接口,连接四芯输入线。
3.弹簧触须:与障碍物接触后发生弹性形变,触发传感器。
1.3 视觉处理模块
该机器的视觉处理模块分为两部分,一个是视觉追踪模块,采用低成本,功能强大的机器视觉模块openmv;另一个是图像回传模块,采用ESP8266无线WIFI模块。
视觉追踪模块OpenMV是一个开源,低成本,功能强大的机器视觉模块。以STM32F427CPU为核心,集成了OV7725摄像头芯片。
图像回传模块ESP8266是一个完整且自成体系的wi-fi解决方案,能独立运行,也可以作为从机搭载于其他主机MCU运行。
首先openmv在单片机的驱动下,采集图像,然后单片机通过串口将采集到的图像传输给ESP8266无线WIFI模块,该模块已经提前设置为无线透传模式,在透传模式下,ESP8266会将单片机串口发送来的所有数据,以无线的方式自动发送给与其连接好的上位机软件,上位机软件通过对接收到的图像数据进行处理,就能够显示出openmv采集到的图片,来实现图像回传功能,使用连接好上位机软件的用户端便可以实时观察到管内的情况和机器的实时状况。
2. 产品细节展示
3. 产品优势
3.1 安全性高
使用管道机器人进入管道查明管道内部情况或排除管道隐患,如果是人工作业的话,往往存在较大的安全隐患而且劳动强度高不利于工人的健康。管道机器人智能作业可有效提高作业的安全性能。
3.2 节省人力
管道检测机器人小巧轻便,一个人即可完成作业控制器可装载在车上节省人力,节省空间。
3.3 提高效率和品质
管道机器人智能作业定位准确可实时显示出日期时间、爬行器倾角(管道坡度)、气压、爬行距离、激光测量结果、方位角度、选配等信息并可通过功能键设置这些信息的显示状态镜头视角时钟显示。
4.产品安装过程及成品展示
主要程序代码:
int main(void){int i = 0;Initial_ARM();while(1){Servo(1,i*10); //输出端口1的圆周舵机,运行参数每次循环增加10i++;if(i>18) i = 0; //通过i值来调整圆周舵机的运行参数赋值从0~180LedIn(1,2); //闪动led灯,表示圆周舵机转动参数的变化Delay(2000);LedIn(1,0);Delay(500);Servo(2,i*10); //输出端口2的圆周舵机,运行参数每次循环增加10i++;if(i>18) i = 0; //通过i值来调整圆周舵机的运行参数赋值从0~180LedIn(1,2); //闪动led灯,表示圆周舵机转动参数的变化Delay(2000);LedIn(1,0);Delay(500);Servo(3,i*10); //输出端口3的圆周舵机,运行参数每次循环增加10i++;if(i>18) i = 0; //通过i值来调整圆周舵机的运行参数赋值从0~180LedIn(1,2); //闪动led灯,表示圆周舵机转动参数的变化Delay(2000);LedIn(1,0);Delay(500);Servo(4,i*10); //输出端口4的圆周舵机,运行参数每次循环增加10i++;if(i>18) i = 0; //通过i值来调整圆周舵机的运行参数赋值从0~180LedIn(1,2); //闪动led灯,表示圆周舵机转动参数的变化Delay(2000);LedIn(1,0);Delay(500);}return(1);}
详细内容请参考 【S019】管内检测维护机器人
相关文章:

机器人制作开源方案 | 管内检测维护机器人
一、作品简介 作者:李泽彬,李晋晟,杜张坤,禹馨雅 单位:运城学院 指导老师:薛晓峰 随着我国的社会主义市场经济的飞速发展和科学技术的革新,各行各业的发展越来越离不开信息化和网络化的…...

k8s存储卷
目录 1、emptyDir存储卷 2、hostPath存储卷 3、nfs共享存储卷 4、PVC 和 PV 4.1 PV和PVC之间的相互作用遵循这个生命周期: 4.2 PV的状态 4.3 一个PV从创建到销毁的具体流程如下: 静态PVC: 动态PVC 1、emptyDir存储卷 当Pod被分配给节…...

View 自定义 - 属性 xml
一、概念 在 xml 中为控件设置的属性。自定义属性名称如果使用系统已定义的,例如 textSize 会在编译时报错。 格式类型定义/使用 string 字符串 <attr name "myContent" format "color" /> android:myContent "Hello Word!&quo…...

2007-2022年全国各地级市金融机构网点数据
2007-2022年地级市金融机构网点数据 1、时间:2007-2022年 2、指标:行政区划代码、年份、城市名称、所属省份、银行网点数量、其中-政策性银行及国家开发银行营业网点占比、其中-商业银行营业网点数量占比、其中-农村金融机构营业网点数量占比 3、范围…...

OpenAI开发者大会掀起风暴:GPT模型价格狂降50%,应用商店即将亮相,AI技术将引爆全球!
OpenAI首届开发者大会召开了! 关键信息: GPT-4升级版GPT-4 Turbo来了,上下文窗口达到128k,为GPT-4的4倍;OpenAI还降低了几乎所有模型的API使用价格,整体便宜了一半多;GPT-4系列的多模态能力向B…...

yo!这里是STL::unordered系列简单模拟实现
目录 前言 相关概念介绍 哈希概念 哈希冲突与哈希函数 闭散列 框架 核心函数 开散列 框架 核心函数 哈希表(开散列)的修改 迭代器实现 细节修改 unordered系列封装 后记 前言 我们之前了解过map和set知道,map、set的底层结构是…...

基础课25——业务流程分析
1.流程的定义&作用 业务流程是企业中一系列创造价值的活动的组合,它是企业运营的基础,也是企业提高效率、优化资源配置的重要手段。通过优化业务流程,企业可以更好地满足客户需求,提高客户满意度,同时也可以提高自…...

快速实现一个企业级域名 SSL 证书有效期监控巡检系统
Why 现在对于企业来说,HTTPS 已经不是可选项,已经成为一个必选项。HTTPS 协议采用 SSL 协议,采用公开密钥的技术,提供了一套 TCP/IP 传输层数据加密的机制。SSL 证书是一种遵守 SSL 协议的服务器数字证书,一般是由权威…...

[SSD综述 1.5] SSD 主控和固件核心功能详解(万字)
依公知及经验整理,原创保护,禁止转载。 1. 主控概述1.1 主控作用 2. 主控的硬件功能和实现2.1 主控处理器2.2 闪存、主机接口2.3 主控纠错2.4 断电保护 3 固件功能3.1 FTL3.2 预留空间(Over-provisioning)3.3 Trim3.4 写入放大(Write amplification)3.5 …...

Mybatis-Plus前后端分离多表联查模糊查询分页
数据准备 数据库配置: /*Navicat Premium Data TransferSource Server : localhost_3306Source Server Type : MySQLSource Server Version : 80100 (8.1.0)Source Host : localhost:3306Source Schema : test01Target Server Type : MySQLT…...

【Ruoyi管理后台】用户登录强制修改密码
近期有个需求,就是需要调整Ruoyi管理后台:用户如果三个月(长时间)未修改过密码,需要在登录时强制修改密码,否则不能登录系统。 一、后端项目调整 从需求来看,我们需要在用户表增加一个字段,用于标记用户最…...

计算机网络基础知识1
1、tcp三次握手? SYN,标志位,用于建立TCP连接的握手过程中的标志位。 ACK,确认位,用于说明整个包是确认报文。 TCP/IP协议是传输层的一个面向连接提供可靠安全的传输协议。第一次握手有客户端发起,客户端向…...

人机交互中的多/变尺度态势感知
人机交互是指在人与计算机之间进行信息交换和任务完成的过程中,通过各种界面和交互方式来实现人机之间的有效沟通和协作。多尺度上下文是人机交互中一个重要的概念,它指的是在不同层次或不同尺度的信息之间建立联系,以便更好地理解和处理信息…...

命名管道原理(和匿名管道的对比),mkfifo(命令行,函数),命名管道模拟实现代码+与多个子进程通信代码
目录 命名管道 引入 原理 和匿名管道的对比 使用 -- mkfifo 命令行指令 创建 文件类型p 使用 函数 函数原型 模拟实现 头文件 客户端代码 服务端代码 运行情况 模拟实现 -- 与多个子进程 介绍 服务端代码: 运行情况 命名管道 引入 匿名管道只能用于父子进程…...

pytest全局变量的使用
这里重新阐述下PageObject设计模式: PageObject设计模式是selenium自动化最成熟,最受欢迎的一种模式,这里用pytest同样适用 这里直接提供代码: 全局变量 conftest.py """ conftest.py 全局变量,主要实…...

FreeRTOS源码阅读笔记2--list.c
list.c中主要完成列表数据结构的操作,有列表和列表项的初始化、列表的插入和移除。 2.1列表初始化vListInitialise() 2.1.1函数原型 void vListInitialise( List_t * const pxList ) pxList:列表指针,指向要初始化的列表。 2.1.2函数框架…...

杂货铺 | citespace的使用
安装教程 【CiteSpace保姆级教程1】文献综述怎么写? 📚数据下载 1. 新建文件夹 2. 数据下载 知网高级检索 数据选中导出 :一次500 导出后重命名为download_xxx.txt,放到input文件里 3. 数据转换 把output里的数据复制到data里…...

C++ 静态成员变量初始化规则
每一天一个小trick!! 为什么静态成员不能在类内初始化? 在C中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样。 class A { private: static int count …...

Docker安装、卸载,以及各种操作
docker是一个软件,是一个运行与linux和windows上的软件,用于创建、管理和编排容器;docker平台就是一个软件集装箱化平台,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中…...

深入理解 C 语言的内存管理
文章目录 引言内存管理的重要性C语言内存布局C语言内存管理堆和栈内存的区别和用途内存分配和释放的过程C语言动态内存分配的概念和原因malloc()、calloc() 和 realloc() 等函数的使用悬挂指针和野指针内存泄漏和如何避免结论 引言 C语言是充满力量且灵活的编程语言࿰…...

利用Caddy实现http反向代理
利用Caddy实现http反向代理 1 Caddy是什么 Caddy是一个开源的,使用Golang编写的,支持HTTP/2的Web服务端。它的一个显著特征就是默认启用HTTPS。 和nginx类似。 2 多个后端服务 假如现在有3个后端http服务:分别在启动在 app1 http://10…...

【Qt之QVariant】使用
介绍 QVariant类类似于最常见的Qt数据类型的联合。由于C禁止联合类型包括具有非默认构造函数或析构函数的类型,大多数有趣的Qt类不能在联合中使用。如果没有QVariant,则QObject::property()和数据库操作等将会受到影响。 QVariant对象同时持有一个单一…...

xv6实验课程--xv6的写时复制fork(2023)
7. xv6实验课程--xv6的写时拷贝(COW)(2021) 7. xv6实验课程--xv6懒惰分页分配(lazy)(2020) 本文来源: https://mp.weixin.qq.com/s/XJkhjrlP232ZDsRyXd0oHQ 已完成的实验代码可以从下列网站获取: git clone https://gitee.com/lhwhit196…...

在Windows或Mac上安装并运行LLAMA2
LLAMA2在不同系统上运行的结果 LLAMA2 在windows 上运行的结果 LLAMA2 在Mac上运行的结果 安装Llama2的不同方法 方法一: 编译 llama.cpp 克隆 llama.cpp git clone https://github.com/ggerganov/llama.cpp.git 通过conda 创建或者venv. 下面是通过conda 创建…...

Spring底层原理学习笔记--第七讲--(初始化与销毁)
初始化与销毁 Spring提供了多种初始化和销毁手段它们的执行顺序 A07Application.java package com.lucifer.itheima.a07;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springfram…...

基于斑马算法的无人机航迹规划-附代码
基于斑马算法的无人机航迹规划 文章目录 基于斑马算法的无人机航迹规划1.斑马搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用斑马算法来优化无人机航迹规划。 1.斑马搜索算法 …...

干货 | 接口自动化测试分层设计与实践总结
接口测试三要素: 参数构造 发起请求,获取响应 校验结果 一、原始状态 当我们的用例没有进行分层设计的时候,只能算是一个“苗条式”的脚本。以一个后台创建商品活动的场景为例,大概流程是这样的(默认已经是登录状态下)&#…...

【Linux】服务器与磁盘补充知识,硬raid操作指南
服务器硬件 cpu 主板 内存 硬盘 网卡 电源 raid卡 风扇 远程管理卡 1.硬盘尺寸: 目前生产环境中主流的两种类型硬盘 3.5寸 和2.5寸硬盘 2.5寸硬盘可以通过使用硬盘托架后适用于3.5寸硬盘的服务器 但是3.5寸没法转换成2.5寸 2.如何在服务器上制作raid 华为服务器为例子做…...

【java】实现自定义注解校验——方法二
自定义注解校验的实现步骤: 1.创建注解类,编写校验注解,即类似NotEmpty注解 2.编写自定义校验的逻辑实体类,编写具体的校验逻辑。(这个类可以实现ConstraintValidator这个接口,让注解用来校验) 3.开启使用自定义注解进…...

算法通关村第六关|白银|二叉树的层次遍历【持续更新】
1.二叉树基本的层序遍历 仅仅遍历并输出全部元素。 List<Integer> simpleLevelOrder(TreeNode root) {if (root null) {return new ArrayList<Integer>();}List<Integer> res new ArrayList<Integer>();LinkedList<TreeNode> queue new Lin…...