APP下载

智能仿生鱼系统的设计与实现

2022-05-23周梦园吴君钦

计算机工程与设计 2022年5期
关键词:水面水质规划

周梦园,吴君钦,夏 乐,黄 敏

(江西理工大学 信息工程学院,江西 赣州 341000)

0 引 言

当前水产养殖自动化技术多集中在多传感器信息融合检测、实时无线视频传输技术、水质检测的自动化、智能控制和多数据融合5个方面[1-9]。例如,文献[5]构建一种新型水产养殖工作流模型,为渔业管理提供了一种切实可行的流程化、自动化、精细化养殖的新策略。文献[6]提出多模自适应控制方法对水产养殖的水面作业艇进行控制优化,使其稳态误差在3%以内。文献[7]设计了基于物联网的海岛养殖环境监测系统,利用Python等开发用于数据接收、存储、处理、访问和控制的后台监测系统。文献[8]设计了基于自动无人船的水产养殖水质动态监测系统,该系统融合无人船和多个传感器进行水质采样。文献[9]提出一种模块化的智能水产养殖无人船系统完成巡航和避障、水质检测、水面异物检测、远程控制水样采集和物料投放等任务。相关研究的重点在控制和检测功能方面,而渔场巡查续航能力和水质评价性能有待突破。基于上述考虑,本文在研究这个系统的过程中,将建立两个关键模型,即基于蚁群优化算法的水面航行最短路径规划模型和基于主成分分析法的水质评价模型,设计集模块式水面路径规划、实时视频传输、水质监测等功能为一体的智能仿生鱼系统。

1 系统设计

1.1 系统结构设计

鱼类的游动方式在海洋生物中效率最高。要设计水下智能机器鱼,综合考虑,在不影响鱼类行为生存的条件下,结合仿生学、运动学机理[10],本设计的结构采用箱鲀科模式(又称摆动模式),具体结构如图1所示。

图1 仿生鱼结构

如图1所示,每个标号所对应的功能模块为:1-仿生鱼,2-无线通信设备,3-仿生鱼背鳍,4-摄像装置,5-无线通讯天线,6-全球卫星定位天线,7-控制器,8-压水舱,9-动力装置,10-尾鳍,11-蓄电池,12-水质监测传感器,13-探照灯,14-鱼头,15-避障装置,16-仿生鱼胸鳍,17-无线充电装置,18-防水显示屏。

仿生机器鱼长约0.6 m,重约4 kg。持续航程可达12公里。水面航程时,最大通信半径可达1 km。如图1所示,仿生机器鱼的外形似真鱼,其动力装置按照仿生学原理设计,靠尾鳍产生动力,并控制转向。背鳍和胸鳍可保持机器鱼身体稳定平衡。其头部可拆卸,头部内安装有模块式水质监测传感器。可根据用户需求搭载不同的传感器。摄像头、无线通信天线、GPS定位天线安装在背鳍的顶端。这样设计的好处是仿生鱼在巡航时,其无线通信天线、GPS定位天线便于露出水面,可进行正常的无线通信和定位。摄像头露出水面,可拍摄水面、堤岸的影像。仿生机器鱼的背部安装一块显示屏。用来显示仿生鱼的工作状态、电量等信息。

1.2 系统硬件设计

整个系统智能研究应用架构,分为物理层、数据层和用户层3层结构,如图2所示,形成一个工作闭环,物理层包括PC端和仿生鱼实体,用户通过控制物理层来达到使用效果,仿生鱼采集到的数据传送给服务器,服务器对数据进行处理,传回用户的PC端上。数据层主要用于水质检测数据的存储和数据的分析对比。在后期研发中,利用数据层提供的技术与服务开展各项业务应用,用户通过APP对后台数据进行分析对比,来实现对水质的分析对比、水质的综合评价、水质的改进建议、鱼塘特殊情况预警以及环境水质的分析报告。

图2 系统应用架构

如图3所示,仿生鱼在硬件设计上主要分为以上几个模块。主控芯片选用内核为Cortex-M3的STM32F103ZET6芯片,具有32位总线,频率可达72 MHz。动力驱动装置位于仿生鱼尾部,由两个舵机控制实现仿生鱼左转、右转、上浮、下潜等基本运动。选用日本SONY公司生产的重量轻、容量大、无记忆效应、可循环充电的18650锂离子电池组进行供电。

图3 仿生鱼内部硬件结构

1.2.1 水质检测模块设计

经科学研究发现,在鱼类的生长过程中,对其影响的关键因素有温度、酸碱度、溶解氧、盐度、氨氮值、浊度、日照强度、氢化硫等,本文在水质的检测模块中,只初步介绍以下4种检测指标,温度检测选用PT100铂热电阻作为前端传感器,通过双向四线测量电路,ADC电路,电源电路,达到设计目的。双向测量去除热电动势的影响,四线制导线接法完全避免导线电阻带来的误差,测量精度可达到0.01 ℃,PH测量玻璃极与PT100封装在一起。溶解氧的测量使用荧光法,选用KL680Y型传感器电极,带有RS485通信接口可直接连接显示器设备,KL680Y广泛用于对水溶液中的氧含量进行在线连续测量,环保水处理,水生物等。电导率测量可选用DDM-202电导率传感器。水质检测模块的传感器与主控MCU之间都采用RS485串口通信方式,然后通过GPRS无线通信模块实现水文设备与PC端的远程无线连接。水质监测参数指标见表1。

表1 水质监测参数指标

1.2.2 循迹避障模块

仿生鱼的动力驱动装置由两个大功率舵机构成,位于整个机器的尾部。实现前进、后退、转向等动作。在其运动过程中,为防止“触礁”及其它危险,仿生鱼需具备自动壁障功能,本设计选用HC-SR04超声波测距模块,测距精度可达到3 mm,最近射程2 cm,最远射程4 m,测量角度为15 ℃,控制电路、发射电路及接收电路组成其工作电路。超声波由控制电路驱动发出,遇到前方障碍物返回,返回信号的脉冲宽度与离障碍物的距离成正比。计算方式为距离=高电平时间*声速(340M/S)/2。HC-SR04探测模块位于仿生鱼的头部上方,左右两边各装有一个,当其中任何一个模块探测到障碍物距离小于所定安全距离时,仿生鱼自动发出绕行指令。超声波发射与接收电路如图4所示。

仿生鱼的定位天线位于背鳍的顶端,可选用NEO-7MGPSmini模块化传感器,具有高灵敏度、低功耗、小型化的特点。其极高的追踪灵敏度大大扩大了定位的覆盖面,在水域环境复杂的情况下,NEO-7M也能实现高精度定位,为仿生鱼的航行提供准确的位置信息。

图4 超声波发射与接收电路

1.2.3 图像采集模块

仿生鱼在工作过程中,图像采集模块在人机交互中起到了关键作用,在巡航过程中,水面监测摄像头可拍摄水面及堤岸的情况,及时发现鱼塘的异常情况,还可对偷盗、破坏等不法行为实施监控。该监测摄像头具有红外夜视功能,夜晚依然可以执行巡逻任务。客户终端直接连接仿生鱼,影像信息可以实时的传输到客户终端,用户通过虚拟摇杆或键盘可以操控仿生鱼游动到想观测的位置。本设计选用OV7670图像传感器模块, VGA图像输出速率最高可达30 帧/s[11]。采用了FIFO作为数据缓冲,数据采集大大简便,只需要设置如何读取,不需设置数据采集步骤,可减小甚至不用关心CMOS的控制以及时序关系,高效实现图像采集。OV7670采集传输流程如图5所示。

图5 OV7670采集传输流程

1.2.4 采样模块

在鱼类生长过程中,受诸多环境因素的影响,仿生鱼在检测污染物及鱼病的预测上存在一定的局限性,因此,水质采样有利于进一步分析各项指标,本设计采用压水舱进出水的方式来达到采取水样以及实现一定程度的上浮下潜的目的。结构设计如图6所示。

图6 压水舱结构

潜器在水中受到的作用力主要为重力和浮力,重力来源于地球吸引力,而在水下动力学研究中所谓的“浮力”指的是装置在垂直方向上浮力与重力的差值。要保证仿生鱼在采样的过程中不发生倾斜,两个压水舱必须同时工作且所采取的水样应该是相等的。水的密度为常量。式中的变量为质量m,而m的变化就是仿生鱼中压水舱的水的质量变化,v为压水舱所需体积,压水舱的体积约等于盛满水的体积,这里假设相等;根据质量体积公式v=m/ρ水, 此处ρ水为水的密度,两个压水舱的体积设定与我们所需水样的多少成正比[12]。

1.3 系统软件算法设计

1.3.1 PC终端设计

客户终端设备的种类繁多,操作系统不一。至少有iPhone、iPad、Windows Phone、Windows Pad及Android Pad、Android Phone这6大类,为保持其设备上开发的通用性,我们将采用HTML5进行统一适配。用HTML5的优点在于可以进行跨平台使用。只需要用HTML5进行一次开发,可以简单移植到其它平台上,也可以通过封装技术发放到App Store或Google Play上,HTML5提供前所未有的数据与应用接入开放接口,外部应用可以直接与浏览器内部的数据直接相连。客户端如图7所示。

图7 客户端界面

如图7(a)所示,界面的背景是仿生鱼拍摄的实时影像。左边的推杆(2210)可控制仿生鱼前进或停止,右下方的推杆(2208)可控制仿生鱼运动的方向。右上方显示的是水域地图(2205),地图上外围线是鱼塘的堤岸,内围线是电子围栏。中间图标是仿生鱼当前所在位置。上栏有5个按钮,“视角”(2201)按钮用来切换水下及水面两个视角;“探照灯”(2202)按钮用来开启或关闭探照灯;“录像”(2203)和“拍照”(2204)按钮用来控制录像和拍照。点击“自动航行”按钮,可以切换到自动航行模式。用户可以手动遥控仿生鱼到某一地点进行水质检测,检测结果示意界面如图7(b)所示,可根据需要进行不检测。也可以设置自动检测,自动检测水质需要规划路径,规划路径界面图7(c)所示,设置仿生鱼到堤岸的安全距离为5 m,基座(2211)是跟据实际情况设置的起点和终点的位置,具体的规划路径方法将在1.3.2节进行详细的介绍。

1.3.2 基于蚁群优化算法的仿生鱼水面路径规划模型

路径规划问题关系到仿生鱼工作时的执行效率和航行安全,在遇到复杂水域情况下,人工规划检测路径是十分困难的,自动快速准确规划出一条最短检测安全距离,不仅有助于节约电量提升续航时间,还可保证水质检测数据的完整性和准确性。

传统的路径规划方法主要有人工势场法、Dijkstra算法、A*算法。路径规划属于NP-hard问题,因此很多学者采用禁忌搜索算法、模拟退火算法、蚁群优化算法等智能优化算法进行求解。在启发式算法中,蚁群优化算法的正反馈等性质使它适合用来求解组合优化问题。蚁群优化算法(ant colony optimization,ACO)是由意大利学者Dorigo、Maniezzo等提出来的一种基于蚂蚁觅食行为的群智能算法[13]。蚁群优化算法[14,15]作为一种元启发式算法,具有鲁棒性强,搜索效率高的优点。蚁群算法是一种基于种群的进化算法,它本质上是并行的,并且易于并行实现[16]。蚁群算法易于与各种启发式方法集成,并提高了算法的性能。蚂蚁在寻找食物源时,会在其经过的路径上释放一种信息素,使后代蚁群能够感知前代蚂蚁所留下的信息素[17]。信息素浓度的大小表征着路径的远近,信息素的浓度越高,则表示着所对应的路径距离越短,通常情况下,蚂蚁会以较大的概率优先选择信息素浓度比较高的路径,并释放一定量的信息素,以增强该条路径上的信息素浓度,这样,会形成一个正反馈,最终,蚂蚁能够找到一条从巢穴到食物源的最佳路径[18,19]。

在解决水面路径规划问题时,把水面划分为N个节点,对于该问题的建模,用图论的方式把它抽象成一个无方向图G=(V,E) 的形式,其中V为节点集合,表示水面内部的节点位置,E为节点与节点的边。N={1,2,…,N} 表示访问区域的数量。

图8显示了水面路径问题的简图表示,该问题应该在确定的水域之间进行跟踪。圆圈表示的对象为通过每个区域块的初始路径的边界。场景参数设置如下:

(1)dij:区域i和区域j之间的距离

(2)S:所有的区域节点

图8 水面路径问题简图表示

(1)

式(1)表示到所有区域的最短路径,第一行表示区域j只能输入一次。第二行是仿生鱼只能离开的区域。第三行表示所有区域之间经过移动后的最短路径,小于或等于所有无向边的总和,第四行表示该仿生鱼是否从区域i走到区域j。

上文描述了仿生鱼路径规划问题,并提出了具体的模型。但在实际应用过程中,我们要求算法搜索时间短,效率高,因此,提出了使用蚁群优化算法的操作规则来求解上述问题。模型如下

(2)

蚁群算法在探索路径的过程中,其实质是τij和ηij之间的一种平衡,启发式信息ηij往往与问题相关,针对水面路径规划问题,它的方程是

(3)

在探索路径的过程中,信息素的浓度也会自然挥发。信息素挥发方程如下

(4)

τij(t)=(1-ρ)×τij(t)

(5)

其中,length是蚂蚁走过的路径的总和,ρ是信息素挥发系数。

因此,求解水面路径问题的ACO流程如下:

根据鱼塘的实际检测目标初始化每个对象的策略。

(1)构建水面路径规划问题的可行解。

(2)局部信息素的更新。

(3)计算并更新可行解。

(4)更新全局信息素。

(5)确定是否满足终止条件,如果满足,算法停止,如果不满足,转到步骤(2),直到满足条件为止。

1.3.3 基于主成份分析(PCA)算法的仿生鱼水质评价模型

主成分分析法(principal component analysis,PCA)是一种数据压缩和特征提取的多变量统计分析技术,本模型中使用PCA输入变量进行降维,通过构造变量的一系列线性组合形成新变量,新的变量比原始数据维度更低,且在彼此不相关的前提下反映原始数据的信息。可以更为直观地反映水质中各个指标的综合评价信息[20]。用一句话概括PCA,即寻找保留一定信息量的互不相关的少量新建指标来反映原多指标的一种数据压缩方法。分析思路如下:

(1)对原始数据进行标准化处理

假设样本观测矩阵为

(6)

按照如下方法对原始数据进行标准化处理

(7)

(8)

(2)计算相关系数矩阵

为了方便,假定原始数据标准化后用R表示,经标准化处理后数据的相关矩阵为

(9)

rij=(i,j,…,p) 为原变量xi与xj的相关系数,rij=rji其计算公式为

(10)

(3)计算特征值与特征向量

解特征方程 |λI-R|=0, 常用雅可比法求出特征值,并使其按大小顺序排列λ1≥λ2≥…≥λP≥0;

(4)计算主成分贡献率及累计贡献率,贡献率为

(11)

累计贡献率为

(12)

一般取累计贡献率达85%~95%的特征值,λ1,λ2,…,λm, 所对应的第1、第2、……、第m个主成份。

(5)选取主成分载荷

(13)

(6)计算各主成分得分

将经过标准化处理的各个样本代入主成份表达式得到新数据为

(14)

式中:Zij=aj1xi1+aj2xi2+…ajpxip(i=1,2,…k)。

(7)分析数据结果。

2 实验与功能对比

仿生鱼的主体规划尺寸为620 mm(长)*100 mm(直径), 预设压水采样舱总容量为1208 ml,续航航程最大为12 km,预设最大航速为2.6 m/s,最小转弯半径0.8 m。水面可通过GPS进行定位,水下无法进行正常通信。在实验过程中发现防水性能有待加强,可以对水面及堤岸的图像进行实时传输,清晰度可以满足水产工作需要。PC端实时监控画面和仿生鱼水面巡航如图9所示。

图9 仿生鱼实验测试

2.1 仿生鱼水面路径规划仿真测试

在实际的测试工作过程中,基于蚁群优化算法的水面仿生鱼路径规划模型的工作流程是首先通过GPS卫星定位得到整个观测水面的位置信息,然后选定检测点得到确定的经纬度数据,通过算法进行计算,得到新的关于路径航线的位置信息,返回报告给仿生鱼,随即仿生鱼就可按照规划路径进行航行。我们利用MATLAB软件进行仿真测试,在一个水域面积为500 m*500 m上,选取18个检测点,分别为[100 0;119 98;201 116;298 156;358 237;425 350;395 289;356 398;207 265;435 465;325 435;294 408;403 109;193 349;98 463;81 362;15 265;50 150;100 0],选定(100,0)为起始点和终点。

经过计算,得出结论如图10(a)所示为该情况下水面路径规划的最优解,在算法正式开始工作之前,可以从图10(b)看到,总路径长度约为1852 m,迭代次数为30次时开始收敛,迭代次数为50次时,得到最优路径长度为1721.9 m,节约了130.1 m的距离,且运算速度仅为0.002 s。可以在很大程度上起到节约电量提升续航时间的作用。

图10 基于蚁群优化算法的仿生鱼路径规划仿真

2.2 基于主成份分析(PCA)算法的水质评价模型仿真测试

在1.3.3节介绍了关于主成份分析法的原理,同样选用MATLAB进行仿真测试,数据来源为上海福岛水产养殖专业合作社生产基地[21],测量指标分别为PH、温度、溶解氧和浊度。样本容量为6,每个样本具有4个特征。实际分析就是把4个维度的原始特征通过运算变成低维的变换特征(主成份),新的主成份可以在很大程度上反应原始变量的大部分信息,且所含信息互不重复。但是为了使计算结果更具参考性,本文在数据处理前的阶段加入各个样本的平均值作为样本7,在结果中通过平均值对比来判断算法结果是否合理。因此样本的总容量实际为7。并且为了体现该算法的实际参考价值,本文在仿真数据中引入一个异常指标X33,因此样本观测矩阵X为

(15)

为了使测量结果更准确,信息保留率T设置成0.85,原始数据的主成分数量为4,新的主成分数量为3。特征值、贡献率和累计贡献率见表2。贡献率由高到低进行排序。并且由表中可以得知,在主成份为3的情况下,信息保留率可达98.21%,说明运算结果是具有一定参考价值的。

T=0.85时,可以算出新的主成分得分及排序,如表3所示。可以发现,样本评分最高的是4号,评分最低的是1号,为-4.2640。

表2 初始主成分指标

表3 运算结果

以7号样本为参照对像,可以发现,3号样本的主成分分析得分为负值,上文也有说明仿真所用数据来源于上海福岛水产养殖专业合作社生产基地,并且在这几组数据下未发生异常情况,7号样本作为参照得分为0,其余5个样本的得分均为正分,符合实际情况,而3号样本得分为负分,原因在于本文引入了一个异常因子,研究表明当溶氧量过低时,鱼类会缺氧死亡,详细说明可参见文献[22],异常因子X33就表示3号样本中氧的含量仅为1.06 mg/L,是低于标准值的,因此存在很明显的缺氧问题,评分最低,符合实际情况,表明该算法有效且可行。

2.3 仿生鱼与同类系统功能对比

表4显示的是本系统与类似功能的无人船或仿生鱼进行对比情况,可以发现,在水产养殖领域,多数采用无人船的形式,并未用到仿生学原理,体积相对较大,操作不灵活,部分系统是固定安装或者是定点检测,无法实现移动检测。部分系统不支持实时图像传输,例如,文献[23]和市面上常见的鱼塘水质检测传感器并没有搭载摄像头模块。部分支持路径规划,但路径规划算法的性能并没有本文的路径规划模型好,例如,文献[9]中基于禁忌搜索算法的航线规划,发现仿真结果中航线图存在交叉,并不是最优解。在水质分析功能上,本文建立的基于PCA的水质数据评价模型其它系统也是不具备的。

表4 同类系统功能对比

3 结束语

相对于传统的渔业养殖技术,本设计结合仿生学机理,运用现代电子信息学,可实现无人化水产养殖,结构上如同真鱼,减少了对鱼塘生态环境的影响,水质检测传感器模块可根据不同需求自己搭载,基于蚁群优化算法的路径规划模型提升了续航时间,以平均值为参考的PCA数据处理模型在实际的生产中也具有一定的参考意义。但是还可进一步优化,检测结果想要更具参考性必须建立大型数据库,利用数据挖掘等相关知识对水质数据进行进一步处理;实现水上自动充电功能,不再担心续航问题;与渔塘中如增氧机、投药机等设备实现互联,全面实现自动化。

猜你喜欢

水面水质规划
我们的规划与设计,正从新出发!
水黾是怎样浮在水面的
关于水质监测对环境保护的意义
一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓
这条鱼供不应求!虾蟹养殖户、垂钓者的最爱,不用投喂,还能净化水质
规划·样本
图像识别在水质检测中的应用
规划引领把握未来
快递业十三五规划发布
为什么木头可以浮在水面上?