一、项目简介
为了解决目前在水下机器人体态调整、动力推进、防水规划、外形设计、水下航道巡检分辨率低、视野畸变、巡检效率低等难题,争取做到提高机器在水下的稳定性并做到巡检一遍过、高效率、高质量运行、解决成像畸变的难题、实现高分辨乃至超分辨的目标,本团队决定制作出一款多目实时拼接技术的水下航道检测机器人。团队针对多方面进行探讨后,决定利用两个摄像头来获取成像,将多目视频拼接技术(已突破至三目拼接,力求三百六十度全景拼合的实现)构架到水下航道检测机器人之上,将OpenCV、NVIDIA Jetson Nano、CUDA架构,糅合于一体,构建出可以进行高精度测量的水下航道检测机器人。同时团队在对整体水下机器人设计方案、系统设计、包括排水以及动力设计给出了优化的设计思路与方案。
二、设计方案
2.1 产品整体设计思路
(1)测定不同形状、不同曲面设计的推进器推力大小,选择最优水下推进器;
(2)在水下机器人前端安装两个摄像头,两摄像头所成像由控制器jetson nano进行拼接,后台通过重合度、曝光度多参数算出拼接线,实现无缝隙拼接并结合其上安装的GPS定位装置实时记录航道中各个位置的信息;
(3)由于水下巡检机器人在水下进行工作,所以机器人排开水的体积 V排水等于航行器整体体积 V,因此求得航行器的体积 V。按照此体积 V 设计机器人的整体体积,以实现水下航行器在水中初始状态的“零浮力”和“零重力”;
(4)复杂的水下环境,需有高强度的机身结构和好的防水性能,能够下潜50米;
(5)在设计水下机器人时考虑到浮心与重心之间的距离、相对位置,有效地提高机器人在运动过程中受到环境外力(如乱流)对其运动稳定性的破坏,提高稳定性;
(6)进行建模分析、运动学、动力学、motion 仿真分析、ANSYS 有限元分析;
(7)设计出图,建立控制系统,并进行样机设计。
2.2 产品系统组成
机器人主要由控制系统、动力系统、结构及辅助系统三大部分组成。其中,控制系统主要包括主控制器、从控制器、四轴加速度传感器、深度计、摄像头、电机驱动器等几个部分;主控制器为Jetson Nano,主要用于图像信息处理,并存储四轴加速度传感器的数据,从控制器为飞控,用于控制电机驱动,调整螺旋桨的转速与转向,同时联合六轴加速度传感器与深度计数据调整电机运行保障机器的实际工作状况稳定;动力系统包括电源、电机、螺旋桨,为机器人移动等各种活动提供动力。系统框图如图1所示,其中多目部分的控制架构:(1)NVIDIA Jetson Nano:本产品选用英伟达2019年最新推出的NVIDIA Jetson Nano GPU模块;(2)CUDA架构:计算统一设备架构是美国英伟达(NVIDIA)公司自主开发研制的一套非常流行的并行计算软件平台和一套可编程软件系统架构模型。
图1 水下巡检机器人系统框图
2.3 产品工作流程设计
根据已经建立的推进器单体模型和整机构造,以及所确定的技术指标,我们确定出带缆水下机器人,习惯称为遥控潜器(Remote Operated Vehicle,简称 ROV)和无缆水下机器人,习惯称为自主式水下潜器(Autonomous Underwater Vehicle,简称 AUV)合二为一的整机控制系统。
当机器人作为 ROV 使用时,机器人连接到一根与岸上一个 Wi-Fi 控制箱相连的电力载波电缆。然后,操作员使用与该箱体通信的移动设备(或计算机)上的应用程序实时控制机器人;
当机器人作为 AUV 使用时,将电缆拔下,使用基于Windows程序将任务预编程到水下航行器。放入水中,它就会执行该任务,自主地前往预设的航点并执行分配的任务。
三、创新特色
3.1 水下航道巡检机器人中多目拼接设计
本模块使用电脑程序对两个普通的工业摄像头进行直接控制,对图像信息进行采集、处理、拼接。其详细工作原理为:程序采用C++多线程技术对摄像头进行多线程控制,每个线程控制一个摄像头进行图像信息采集,最后一个线程除控制摄像头进行信息采集外还需对所有摄像头采集到的信息进行比对拼接。
对于摄像头信息采集程序是通过OpenCV打开相应的多个摄像头拍摄 100ms的视频以部分消除时间上的误差,然后利用一种具有重复性高的图像检测器和一种可以区别和差异化的描述标记符特征点的surf算法对其中的一帧图像进行特征点的提取,再使用stitching 里面的方法对多幅图像进行拼接计算并进行计算图像掩码矩阵,从而实现了多幅视频图片的拼接,目前已实现三目的拼合,日后将做到三百六十度全景成像。
3.2 多目水下航道检测机器人水下运行分析方法
(1)多目实时拼接机器人在水下姿态调整的实现
水下机器人在设计初期,考虑选用到的所有功能模块和结构的体积和质量、外壳的密度。使得航行器在水中竖直方向具有初始平衡的状态(及所受重力等于浮力)。假设水下航行器内部单个功能模块的质量为 mi,壳体的平均密度为ρ,要确定航行器的外壳体积为V。则在设计初期需可列方程计算:
由于水下机器人在水下进行工作,所以机器人排开水的体积 V排水等于机器人整体体积 V,因此求得机器人的体积 V。按照此体积 V 设计机器人的整体体积,以实现航行器在水中初始状态“零浮力”和“零重力”。
(2)重心与浮心相对位置的分析
航行器在水下运动状态时自身受到的重力以及水对外壳的浮力的影响不容忽视。将水下航行器在自身坐标系 中进行分析是确定重心和浮心相对位置的有效途径。
由系列分析可知,在设计水下航行器时应尽可能将浮心与重心之间距离增大,能够防止环境外力(如乱流和撞击)对其运动稳定性的破坏。
(3)控制方案的确定
机器人主要搭载姿态传感器mpu6050模块(实时测得机器人在水下的实际姿态,并利用在机器人自身坐标系三个坐标轴上的加速度以及角加速度的值,确定机器人的空间位移)、深度传感器(使得机器人在水下实时感知水下压力状态,并将其换算为下潜的深度,可使机器人在竖直方向上能够进行闭环控制,准确进行定高悬停等工作状态)、酸碱度以及盐度温度等传感器可在机器人执行相关检测任务时进行数据资料的采集,除此之外,机器人在水下运动还需要搭载图像采集装置,无线图传模块、电机驱动模块等;浮块上专门搭载 GPS模块,进行水面实时定位。
根据所确定技术指标中的控制要求,若要达到预期的效果,则可以选择使用NVIDIA Jetson Nano GPU模块。 Jetson Nano小巧且功能强大。能够并行运行多个神经网络、对象检测、分割和语音处理等应用程序。
姿态传感器选用MPU9150来采集机航行器空间运动状态的信息,芯片内部集成加速度计、陀螺仪和磁强计,还包含了数码运动处理器(DMP)。
信号接收器采用GPS模块。此模块用于水面浮块的辅助定位系统,整合坐标换算对航行器进行定位。
3.3 工艺方法的创新
机器人设计完成后,各部分部件分别用各种工艺方法进行了加工。
(1)图像获取处理方面:水下机器人前端安装的两个摄像头,来获取图像,后台程序自动利用重合度、曝光度等参数确定缝合线具体位置进行图像拼接,实现类似鱼眼大视野的目标,并且利用左右成像的信息互补,优化细节、修补失真并记录航道中各个地方的详细情况;
(2)视频拼接方面:使用程序对两个普通的工业摄像头进行直接控制,对图像信息进行采集、处理、拼接。采用C++多线程技术对摄像头进行多线程控制,每个线程控制一个摄像头进行图像信息采集,最后一个线程除控制摄像头进行信息采集外还需对所有摄像头采集到的信息进行比对拼接;
(3)浮力方面:经过浮力与重力的计算,运用铸造的方法加工出了配重块并配备浮块,经过实验调节,达到水中机械自稳;
(4)防腐方面:机器外壳采用汽车喷漆工艺,框架喷漆处理,螺钉角码处涂有防水酯,达到防腐效果;
(5)水密方面:控制舱后盖、前罩、开关接头均采用橡胶圈结合防水酯压紧密封,接头处通树脂灌封,并通过抽真空的方式测试控制舱气密性;
(6)耐压方面:控制舱材料采用铝合金,机器整体框架结构紧凑,通过受力分析改善结构,有利于压力的分散;
(7)运动方面:机器采用 6 桨均布的常规动力布局,可以做到绕点旋转,斜线平移等多种动作,且使用四轴传感器做到运动自稳;
(8)减阻方面:机器外壳设计通过solidworks曲面建模完成,外壳设计为流线性,并通过 motion 分析对整台机器进行流体力学分析,并在曲面上五个位置镂空处理,减少阻力机器框架及电机布局设计一定的斜度,有利于水流的流过,结构紧凑,降低阻力。
注:该机器整体均为自主设计,外壳采用 3D 打印后处理技术,打磨抛光上色,框架主要由聚丙烯板通过CNC加工而成,连接处主要用角码、螺钉、螺母连接,结构紧凑,外壳采用内嵌螺钉的方式做到“隐形”连接。
作品实物图如图所示:
图2 基于多目实时拼接技术的水下航道检测机器人实物图
四、研发团队
王宇航,郑州大学机械与动力工程学院2019级本科生,项目负责人;
余劲明,郑州大学机械与动力工程学院2019级本科生,负责机械结构的总设计;
郑航,郑州大学机械与动力工程学院2019级本科生,负责产品的装配;
姚俊豪,郑州大学机械与动力工程学院2019级本科生,负责硬件程序设计及调试;
刘冬旭,郑州大学电气工程学院2019级本科生,负责软件上位机程序设计。
五、所获成果
1、第二届国际海洋工程装备科技创新大赛 特等奖
2、第十四届全国三维数字化创新设计大赛 全国一等奖