掌桥专利:专业的专利平台
掌桥专利
首页

一种高速三尾智能机器鱼及其设计方法

文献发布时间:2024-01-17 01:27:33


一种高速三尾智能机器鱼及其设计方法

技术领域

本发明涉及管道检测技术领域,具体涉及一种高速三尾智能机器鱼及其设计方法。

背景技术

在石油化工生产中,漏油事故时有发生,这些事故会给环境造成极大的破坏和威胁生命安全。通过机器鱼对管道进行跟踪和漏油检测,便于及时有效地处理海洋漏油事故,减少漏油对海洋环境和人类健康造成的危害。

但传统的机器鱼对管道跟踪的精度较低,并且对漏油检测较为困难,因此,设计一种能够快速准确地检测管道漏油的机器鱼具有重要意义。

发明内容

本发明的目的是:旨在提供一种高速三尾智能机器鱼及其设计方法,解决了现有技术中的机器鱼对管道跟踪的精度较低,并且对漏油检测较为困难的问题。

为实现上述技术目的,本发明采用的技术方案如下:本发明提供了一种高速三尾智能机器鱼,包括机器鱼本体、主控装置、支架、动力装置、报警装置、锂电池和摄像头;

所述主控装置安装于所述机器鱼本体上,用于数据的收集和分析,并控制设备的运行;

所述支架与所述机器鱼本体固定连接,并架设于所述主控装置的外侧;

所述动力装置安装于所述机器鱼本体上,用于为机器鱼航行提供动力;

所述报警装置安装于所述支架上,用于提醒操作者漏油;

所述锂电池安装于所述支架上,用于为机器鱼的航行提供动力来源;

所述摄像头与所述支架固定连接,用于捕捉图像和视频。

其中,所述动力装置包括三个舵机和三个仿生鱼尾,其中,中间所述舵机安装于所述机器鱼本体上,两侧所述舵机分别安装于所述支架上;中间所述仿生鱼尾与中间所述舵机的输出端连接,两侧所述仿生鱼尾分别通过传动杆与两侧的所述舵机的输出端连接。

其中,所述报警装置包括扬声器和显示屏,所述扬声器和所述显示屏分别与所述支架固定连接,所述扬声器用于产生声音警报,所述显示屏用于显示漏油点数量。

其中,所述报警装置还包括旗帜,所述旗帜与所述支架固定连接,所述旗帜用于辅助定位漏油点。

一种高速三尾智能机器鱼设计方法,包括如下步骤:

通过3D建模技术构建机器鱼原型样机;

机器鱼通过舵机和仿生鱼尾在水域中巡线时,根据摄像头捕捉的头像提取图片四个角落的像素点作为基准点确定水面参考色域;

根据管道与参考色域的对比度提取管道,在对管道进行精准定位后算出管道质心;

通过管道质心所在的位置判定机器鱼运动信息;

当对漏油点进行检测时,首先定位白色管道的横向位置,并以当前横线为中心的三条横线的最大值作为白色管道的宽度;

在每个白色管道的左右两侧,取出一个以当前横线为中心、宽度为白色管道宽度0.8倍的矩形区域;

通过BGR色域中B、G、R三个通道的阈值限制,筛选出漏油点可能存在的像素,对满足条件的像素进行计数;

若最近10个检测到的像素总数与之前10个的差值大于等于40,则判断为漏油点漏油,并触发扬声器和显示屏报警。

其中,机器鱼通过舵机和仿生鱼尾在水域中巡线时,根据摄像头捕捉的头像提取图片四个角落的像素点作为基准点确定水面参考色域,包括:

选取特定的行和列进行色域分析,并将选取行和列的像素矩阵转换为HSV色域;

选择图像四个角落的四个蓝色的参考点作为基准点,并将这些参考点的RGB值转换为HSV色域;

将选定的四个参考点存储到数组中,并计算当前参考点与参考色域的差值;

选择与参考色域最接近的参考点作为最终的参考色域。

其中,机器鱼通过舵机和仿生鱼尾在水域中巡线时,根据摄像头捕捉的头像提取图片四个角落的像素点作为基准点确定水面参考色域,包括:

所述舵机采用脉冲宽度调制PWM技术,使得RPi.GPIO库生成PWM信号,并通过调整占空比来控制所述舵机的转动角度。

其中,使用脉冲宽度调制PWM技术,使得RPi.GPIO库生成PWM信号,并通过调整占空比来控制所述舵机的转动角度,包括:

通过采用ChangeDutyCycle(ε)函数,控制占空比ε的大小来精确控制舵机的转动角度。

本发明的一种高速三尾智能机器鱼及其设计方法,首先,所述动力装置通过采用三个所述舵机及三个所述仿生鱼尾,相比传统单尾,具有更快的速度和更高的稳定性,提高了机器鱼的机动性能,能够更快地探测到漏油点,减少漏油污染造成的损失,此外,本发明还具有更准确的管道跟踪和漏油点检测能力,通过采用对比度算法提取管道并除去反光代替传统的HSV模型,可以有效地解决管道颜色和环境光线变化带来的干扰,提高了管道跟踪的准确率,通过所述报警装置可以更精确地确定漏油点的位置,提高清理漏油的效率。

附图说明

本发明可以通过附图给出的非限定性实施例进一步说明。

图1是本发明的高速三尾智能机器鱼的结构示意图。

图2是本发明的高速三尾智能机器鱼设计方法的步骤图。

图3是本发明的高速三尾智能机器鱼设计方法的巡线功能的图像处理效果图。

图4是本发明的高速三尾智能机器鱼运动信息判定示意图。

图5是本发明的舵机控制结构示意图。

图6是本发明的高速三尾智能机器鱼受力分析示意图。

图7是本发明的高速三尾智能机器鱼船头角速度随时间的变化示意图。

图8是本发明的高速三尾智能机器鱼船头角度随时间的变化示意图。

图9是本发明的高速三尾智能机器鱼直线和向右运动的运动轨迹示意图。

图10是本发明的高速三尾智能机器鱼运动速度随时间变化的示意图。

图中:1-机器鱼本体、2-主控装置、3-支架、4-动力装置、5-报警装置、6-锂电池、7-摄像头、8-舵机、9-仿生鱼尾、10-扬声器、11-显示屏、12-旗帜。

具体实施方式

为了使本领域的技术人员可以更好地理解本发明,下面结合附图和实施例对本发明技术方案进一步说明。

请参阅图1,本实用新型提供一种高速三尾智能机器鱼,包括机器鱼本体1、主控装置2、支架3、动力装置4、报警装置5、锂电池6和摄像头7;所述主控装置2安装于所述机器鱼本体1上,用于数据的收集和分析,并控制设备的运行;所述支架3与所述机器鱼本体1固定连接,并架设于所述主控装置2的外侧;所述动力装置4安装于所述机器鱼本体1上,用于为机器鱼航行提供动力;所述报警装置5安装于所述支架3上,用于提醒操作者漏油;所述锂电池6安装于所述支架3上,用于为机器鱼的航行提供动力来源;所述摄像头7与所述支架3固定连接,用于捕捉图像和视频。

进一步的,请参阅图1,所述动力装置4包括三个舵机8和三个仿生鱼尾9,其中,中间所述舵机8安装于所述机器鱼本体1上,两侧所述舵机8分别安装于所述支架3上;中间所述仿生鱼尾9与中间所述舵机8的输出端连接,两侧所述仿生鱼尾9分别通过传动杆与两侧的所述舵机8的输出端连接。

进一步的,请参阅图1,所述报警装置5包括扬声器10和显示屏11,所述扬声器10和所述显示屏11分别与所述支架3固定连接,所述扬声器10用于产生声音警报,所述显示屏11用于显示漏油点数量。

进一步的,请参阅图1,所述报警装置5还包括旗帜12,所述旗帜12与所述支架3固定连接,所述旗帜12用于辅助定位漏油点。

在本实施方式中,树莓派4B被作为所述主控装置2的核心控制部分,是一种功能强大的单板计算机,其采用Broadcom BCM2711四核处理器和1GB、2GB或4GB LPDDR4-3200SDRAM,支持多种操作系统,如Raspberry Pi OS、Ubuntu、Manjaro等,提供了足够的计算能力和扩展性,同时树莓派4B还具备多种接口,如4个USB 2.0接口和2个USB 3.0接口、2个HDMI端口、Gigabit以太网口、蓝牙、Wi-Fi等,可方便地与其他设备通信和连接;在机器鱼中,树莓派4B通过GPIO和I2C接口与所述摄像头7、所述显示屏11、所述扬声器10和所述舵机8等设备连接,实现控制任务。

所述摄像头7采用一款分辨率为640*480的USB摄像头7,其连接简便,无需安装驱动程序即可使用,所述摄像头7能够快速捕捉图像和视频,实时传输到树莓派4B上进行处理和分析。

所述动力装置4是由三个所述舵机8和三个所述仿生鱼尾9组成,所述仿生鱼尾9由橡胶制成,其中,中间所述舵机8直接与中间所述仿生鱼尾9连接,通过控制所述舵机8的旋转来控制鱼尾的运动,另外,两侧的所述舵机8分别安装于所述支架3上,通过传动杆连接两侧的所述仿生鱼尾9,从而控制鱼尾在水中的运动,三个鱼尾平行排列,协同工作,使得机器鱼能够快速、灵活地在水中航行。

三个所述舵机8均具有25kg的扭矩,提供了足够的动力来驱动所述仿生鱼尾9运动,通过控制所述舵机8的旋转,可以实现机器鱼的直线运动、修正和减速等动作,使其能够适应不同的水域和水流环境,实现精确的控制和导航。

所述报警装置5由所述显示屏11、所述扬声器10和所述旗帜12组成,所述显示屏11可以清晰地显示漏油点的数量,为操作者提供方便的实时数据统计;所述扬声器10则通过声音警报提醒操作者注意漏油情况,确保及时处理,避免造成严重后果;所述旗帜12作为视觉辅助装置,可以在检测到漏油点时通过舵机挥动示意,方便操作者准确定位漏油点。

所述锂电池6作为供电装置,其具有2200mAh的电容和3S锂电池的电压,通过XT60插头与单板计算机相连接,为了保证电路板的正常工作,还使用了稳压器进行电压分压,防止电路板受到高电压的损害;同时,为了避免电池电量不足,导致设备运行异常或损坏,还加入了低压报警器,一旦电池电量低于安全范围,报警器将发出声音警告,提示使用者及时更换或充电,有效保障机器鱼的安全性和可靠性。

请参阅图2至图10,一种高速三尾智能机器鱼设计方法,包括如下步骤:

S100:通过3D建模技术构建机器鱼原型样机;

S101:机器鱼通过舵机8和仿生鱼尾9在水域中巡线时,根据摄像头7捕捉的头像提取图片四个角落的像素点作为基准点确定水面参考色域;

具体的,选取特定的行和列进行色域分析,并将选取行和列的像素矩阵转换为HSV色域;选择图像四个角落的四个蓝色的参考点作为基准点,并将这些参考点的RGB值转换为HSV色域;将选定的四个参考点存储到数组中,并计算当前参考点与参考色域的差值;选择与参考色域最接近的参考点作为最终的参考色。

所述舵机8采用脉冲宽度调制PWM技术,使得RPi.GPIO库生成PWM信号,并通过调整占空比来控制所述舵机8的转动角度;通过采用ChangeDutyCycle(ε)函数,控制占空比ε的大小来精确控制舵机8的转动角度。

S102:根据管道与参考色域的对比度提取管道,在对管道进行精准定位后算出管道质心;

S103:通过管道质心所在的位置判定机器鱼运动信息。

S104:当对漏油点进行检测时,首先定位白色管道的横向位置,并以当前横线为中心的三条横线的最大值作为白色管道的宽度;

S105:在每个白色管道的左右两侧,取出一个以当前横线为中心、宽度为白色管道宽度0.8倍的矩形区域;

S106:通过BGR色域中B、G、R三个通道的阈值限制,筛选出漏油点可能存在的像素,对满足条件的像素进行计数;

S107:若最近10个检测到的像素总数与之前10个的差值大于等于40,则判断为漏油点漏油,并触发扬声器10和显示屏11报警。

在本实施方式中,本发明使用了Python的multiprocessing模块,实现了多进程通信,具体来说,本发明创建write_process和read_process两个进程,分别执行action_1和action_2函数,这两个函数通过一个Queue对象进行通信,其中action_1函数不断地读取摄像头7数据,处理后实现漏油点警告并输出运动信息t,并将结果t存储在Queue中,而action_2函数则从Queue中读取数据t并执行相关运动程序,通过多进程的方式,可以让action_1和action_2函数并行地执行,提高了程序的效率和可靠性,同时,由于两个进程之间通过Queue进行通信,实现了数据的共享,使得程序的实现更加灵活和可扩展。

巡线功能:本发明采用对比度算法进行巡线,首先确定水面参考色域,随后提取管道位置并计算管道质心,最后根据管道质心判断运动信息,便于所述机械鱼本体1根据管道自动巡线,处理效果如图3所示。

确定水面参考色域:为了提高计算速度,本发明选取特定的行和列进行色域分析,并将这些行和列的像素矩阵转换为HSV色域,便于更好地描述颜色特征,然后,选择位于图像的四个角落的四个蓝色的参考点作为基准点,并将这些参考点的RGB值转换为HSV色域,以便后续计算使用,为了方便计算需要将HSV色域数据类型转换为相同的uint16类型,随后指定一个蓝色的参考色域,这里使用了一个蓝色的RGB值作为参考色域,将选定的四个参考点存储到数组中,并计算当前参考点与参考色域的差值,差值表示当前参考点与参考色域在HSV色域中的距离,循环遍历参考点数组中的每一个点,并计算其与参考色域的差值,如果发现点的差值比当前参考点更小,则更新当前参考点,从而选择与参考色域最接近的参考点作为最终的参考色域,最终参考色域表示为[H

提取管道位置:首先提取所有像素点在HSV色域中的第二个值,并存储在变量S中,接着,计算每个像素点的HSV色域中的第二个值与参考点的差值,为了消除与参考色域相近的蓝色水面,通过使用OpenCV的inRange函数将m

为了消除反光的影响,通过使用inRange函数将m

最后,通过将m

通过处理后,只有在m

计算管道质心:首先确定目标检测行,将需要检测行的纵坐标储存在数组c中,计算每一行中目标像素的数量,并记录在一个一维数组M中,为了去除噪声点的干扰,设置一个像素数量的阈值t,当一行中目标像素的数量大于等于该阈值时,认为这一行有目标像素,对于每一行,当其目标像素的数量大于等于阈值t时,计算该行目标像素的质心坐标,设该行目标像素的数量为n,其横坐标为x

将每一行的质心横坐标记录在一个一维数组X中,接下来将X中小于等于1的数置为0,同时将M中对应位置的数也置为1,用Y=c×(M>1)来将M中小于等于1的数置为0,总而得到有效总坐标的总和,最后,计算目标的质心坐标,对于所有存在目标像素的行,将它们的质心横坐标的平均值作为目标的质心横坐标,将对应的Y中的值求平均,作为目标的质心纵坐标,设有k行目标像素数量大于等于阈值t,则目标的质心坐标为(pos

判断运动信息:在得到目标的质心坐标后,本发明采用极坐标系来判断运动信息。首先,以图像中心(x

运动信息与极坐标(ρ,θ)的对应关系如图4所示。

漏油点监测:首先定位白色管道的横向位置,并以当前横线为中心的三条横线的最大值作为白色管道的宽度,接着,在每个白色管道的左右两侧,取出一个以当前横线为中心、宽度为白色管道宽度0.8倍的矩形区域,然后,通过BGR色域中B、G、R三个通道的阈值限制,筛选出漏油点可能存在的像素。

使用inRange函数判断BGR色域中的像素值是否在设定的阈值范围内,返回一个二值图像,其中1表示在阈值范围内,0表示不在,设定的阈值范围为:[0,0,0]≤[B,G,R]≤[65,60,60],即B通道的像素值小于等于65,G通道的像素值小于等于60,R通道的像素值小于等于60。

将返回的二值图像记为n

使用inRange函数判断BGR色域中B与G两个通道之间的差值是否在设定的阈值范围内,返回一个二值图像,其中1表示在阈值范围内,0表示不在。设定的阈值范围为:0≤B-G≤20。将差值的二值图像记为n

将两个二值图像n

对满足条件的像素进行计数,并通过滑动窗口的方式得到最近10个检测到的漏油点像素总数,最后,若最近10个检测到的像素总数与之前10个的差值大于等于40,则判断为漏油点报警,并触发报警装置5报警。

机器鱼运动控制:为了实现所述舵机8的精准控制,本发明使用了脉冲宽度调制PWM技术,具体来说,RPi.GPIO库被用来生成PWM信号,并通过调整占空比来控制所述舵机8的转动角度。设置一个频率为50Hz的PWM信号,最小脉冲宽度为0.5ms,最大脉冲宽度为2.5ms,在这种情况下,所述舵机8的控制信号占空比范围为[2.5%,12.5%],其中,2.5%的占空比对应所述舵机8的0度位置,12.5%的占空比对应所述舵机8的180度位置,在这个范围内,占空比ε的变化与所述舵机8的单边转动角度φ线性关系如下所示。

ε=2.5+φ/18#(2.10)

为充分利用所述舵机8,在实际控制中采用ChangeDutyCycle(ε)函数,控制占空比ε的大小来精确控制所述舵机8的转动角度,为了方便调整参数,本发明通过中立位置占空比w和单边转动角度φ来决定占空比ε的大小,占空比变化范围为[w-φ/18,w+φ/18]。在相同的运动学参数下,振幅不变的鱼鳍波动模式产生更大的推进力,具有更高的游动稳定性。为了保持所述舵机8的角度稳定并实现转动效果,控制系统需要不断地发送脉冲信号给所述舵机8,使其瞬时保持在指定的角度位置,故使用for循环来回遍历占空比变化范围,并给出间隔时间,便可实现所述舵机8来回转动的效果,如图5所示。

不同运动状态对应的中立位置占空比w和单边转动角度φ如下表1所示。

表1不同运动状态的参数

对于机器鱼运动的合理简化,并确定了初始条件如表2所示。

表2初始条件

通过对机器鱼运动时的受力进行分析,如图6所示,可得到了F1-F8的表达式,具体步骤如下。

(1)将A舵机产生的动力沿着鱼体轴纵轴分解可得表达式如下所示。

F

(2)将B舵机产生的动力沿着鱼体轴纵轴分解可得表达式如下所示。

F

(3)将C舵机产生的动力沿着鱼体轴纵轴分解可得表达式如下所示。

F

(4)将A舵机产生的动力沿着鱼体轴横轴分解可得表达式如下所示。

F

(5)将B舵机产生的动力沿着鱼体轴横轴分解可得表达式如下所示。

F

(6)将C舵机产生的动力沿着鱼体轴横轴分解可得表达式如下所示。

F

(7)将阻力沿着鱼体轴纵轴分解可得表达式如下所示。

F

(8)将阻力沿着鱼体轴横轴分解可得表达式如下所示。

F

(9)F

M

(10)F

M

(11)F

M

(12)F

M

(13)F

M

(14)F

M

(15)阻力对机器鱼产生的扭矩表达式如下所示。

M

(16)当w

基于牛顿第二定律,可建立机器鱼的运动模型如下所示。

求解运动模型:为了得到机器鱼运动模型的精确数值解,本发明通过四阶龙格库塔法求解此微分方程组(四阶龙格库塔法是一种常用的数值方法,可以通过计算四个斜率来预测下一个时间步长的解,四阶龙格库塔法具有很高的精度和稳定性,在许多数值模拟和科学计算中被广泛使用),在每个时间步长内,该方法通过计算四个不同位置的斜率来近似当前解的斜率,然后将这四个斜率加权平均以得到更精确的解,具体而言,四阶龙格库塔法可以表示为以下公式。

其中,f是常微分方程的右端函数,t

结果分析:

(1)横侧稳定性:通过分析三尾鱼船头的横侧摆动角度和角速度,发现其峰值分别约为1×10

(2)运动轨迹:三尾鱼直线和向右运动的运动轨迹,如图7所示,可知三尾鱼具有较高的机动性能。

本发明的一种高速三尾智能机器鱼及其设计方法,首先,所述动力装置4通过采用三个所述舵机8及三个所述仿生鱼尾9,相比传统单尾,具有更快的速度和更高的稳定性,提高了机器鱼的机动性能能够更快地探测到漏油点,减少漏油污染造成的损失,此外,本发明还具有更准确的管道跟踪和漏油点检测能力,通过采用对比度算法提取管道并除去反光代替传统的HSV模型,可以有效地解决管道颜色和环境光线变化带来的干扰,提高了管道跟踪的准确率,通过所述报警装置5可以更精确地确定漏油点的位置,提高清理漏油的效率,同时,本发明还具有较长的续航时间和较好的防水性能,能够在长时间的任务中持续运行,并且不会因为水的浸泡而受损,从而实现能够更有效地应对海洋漏油事故,减少漏油对环境和人类健康造成的危害。

上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

技术分类

06120116228505