智能化的ROV自主避障系统
2020-02-29袁华清高兆光高建华姚爽
袁华清 高兆光 高建华 姚爽
摘 要:本文设计了一款ROV自主避障系统。主要针对现有水下无人机无法实现低成本、高效率水下潜行等问题,通过机载的GPS、惯性测量单元和高性能的嵌入式处理器等估计并控制水下无人机的姿态和位置,实现无人机潜水、航行、上浮等功能。设计特定的水下机器视觉探测系统,搭配LED照明灯对水底地形和障碍物进行监测,经过图像处理后,与上位机实现实时的数据传输,完成避障功能。
关键词:图像识别;嵌入式;ROV
一、引言
目前所有种类的水下无人航行器都面临一个共同问题:在控制技术、动力系统、电池技术、仿生技术都已取得丰硕成果的时候,ROV仍需要专业人员在岸上根据水下高清摄像机提供的实时监控视频来判断和操作,这就导致在深海复杂环境下,无法更好地完成各种作业使命和其自身生命安全。因此,基于水下航行器,研究一套可实时自动识别水下环境进而实现避障功能的系统,使水下航行器可以对周围环境障碍物可能造成碰撞危险进行感知并作出相应响应,提高航行安全度就很有必要。
二、系统硬件设计
智能化的ROV自主避障系统硬件设计主要包括水下机器视觉平台、中央控制系统两大部分。水下机器视觉平台是本文研究的重点,包括照明灯、单目摄像头和高性能处理器等装置,负责采集图像、收集图像并进行预处理和与上位机进行数据传输,同时视频采集卡的影像模块采用OpenCV库进行二次开发,完成更加复杂的图像识别算法。中央控制系统设计负责解析上位机障碍物目标检测后所发出的避障指令,调节PWM完成避障动作。中央控制系统与上位机通过RS485电缆串口通信,水下机器视觉平台部分与中央处理器以及上位机通过串口通信。基于机器视觉的ROV自主避障系统硬件结构框图如图1所示。
1、水下机器视觉平台设计
水下无人航行器(ROV)在检测水下障碍物时,先采用单目摄像头拍摄水下环境以获取相应的视频信号,然后用视频分离芯片分离该视频信号,再通过AD转换将视频信号转换成数字信号,继而可被上位机进行图像处理。因此,水下机器视觉平台的主要目标有:采集图像、收集图像、图像预处理以及与上位机间的通信。单目摄像头的选取也尤为重要,目前市场的模拟摄像头有两大主流:CCD和CMOS。两者在效能与功能上有许多差异,综合比对,选择CMOS摄像头。
2、ROV避障系统设计
ROV避障系统基于水下无人航行器的中央控制单元所操作,有动力系统、惯性测量单元、和电源部分。在本文中,避障系统负责接收上位机经图像处理对障碍物目标标定后对当前ROV姿态所做出的调节指令,通过调节PWM波,进而改变电机的运行方向和速度,完成避障动作。
三、系统软件设计
1、水下机器视觉平台软件设计
(1)下位机图像预处理软件设计部分
为了对水底可能存在的障碍物进行识别以及避障,通过AD采样获取到的数字信号进行算法分析处理,本文采用边缘检测方法来实现障碍物的寻找。
(2)噪音处理
任何边缘检测算法都不可能在未经噪音处理的原始数据上计算出很好的结果,所以第一步是对原始数据进行噪音处理。将数据与高斯平滑模板作卷积,得到的图像虽然与原始图像相比有些轻微的模糊,但对于要进行边缘检测算法运算的图像数据,这点损失是微不足道的。單独的一个像素噪声在经过高斯平滑的图像上变得几乎没用影响。
(3)边缘检测算法
本文拟采用的边缘检测算法的核心是软件二值化算法。即首先对AD采集到的数字化图像进行二值化,该算法首先寻找列边缘。计数第一列黑点的数目,如果第一列黑点的数目超过阈值,认为该列有障碍物,此时记录下黑白变化的边缘;如果第一列黑点的数目超过阈值,认为该列有障碍物,此时记录下来黑白变化的边缘;如果第1列黑点的数目未超过阈值,认为该列没用障碍物,则认为该列不存在障碍物边缘。行边缘检测算法同理。障碍物中心提取算法的流程如图2所示。
2、上位机采用OpenCV对图像进行二次开发的软件设计
本文采用PC端作为上位机,通过Windows操作系统下的VS+OpenCV对下位机传送过来的数据进行更复杂的图像识别算法。
(1)提取视频流并显示
单目摄像头的原始视频信号传输到视频采集卡,以使摄像头虚拟化,实现物理独立性。摄像头采集到的模拟视频信号传输到上位机后可以显示出较清晰的图像,能够作为对水下环境和水下无人航行器行为的监控。同时该模拟信号可以使用OpenCV库进行处理和计算,从而完成更加复杂的图像识别算法。
(2)串口通信连接、数据接收与显示
因新兴的水声技术不成熟,无法保证本基于机器视觉的ROV自主避障系统对数据传输的实时性与准确性要求,所以特采用RS485电缆通信。对传输数据进行奇偶校验,在确保大部分数据包没用丢失的情况下进行显示,方便调试。
(3)数据的保存与还原播放
为了方便调试和场景还原,上位机实现了数据的保存和还原播放功能。在接收到数据帧的时候不仅将数据显示在文本框中,还将数据保存到扩展名为.fish的二进制文件中。保存格式采用每一帧的接收格式,在还原播放时将接收数据的来源重定向到.fish二进制文件中即可,达到复用功能的目的。
(4)避障系统的软件设计
避障系统在接到上位机经图像处理后对障碍物目标标定后所做出的避障指令后,系统应及时对命令进行解析,通过调节PWM波,控制各个电机的运动状态,完成避障动作。
四、结语
本文设计了一种具有水下自主避障功能的水下无人航行器装置,该系统不但具有成本低下,方便操作的特点,而且功能完备、运行效果良好。系统结合了嵌入式软硬件开发与图像处理等相关知识,实现了水下自主避障的效果。
参考文献
[1] 代威,张雯,张沥,等.国外海洋无人航行器的发展现状及趋势[J].兵器装备工程学报,2018,39(7):33-35.