智能水产养殖无人船系统的设计与实现
2020-09-04申晓宁华昭杰蒋星宇
申晓宁,游 璇,黄 遥,华昭杰,蒋星宇
(南京信息工程大学 自动化学院 江苏省大气环境与装备技术协同创新中心 江苏省大数据分析技术重点实验室,江苏 南京 210044)
0 引 言
目前,传统的水产养殖仍沿用粗放式经营的方式,主要通过人工进行水样的采集检测、喂食、投药和巡检等工作。而人工水样采集检测时效性差、数据片面,喂食和投药容易造成资源浪费和对水体的二次污染,人工巡检成本过高,覆盖范围小。在信息化的今天,人们不断将新的技术应用于水产养殖,希望能够实现辅助甚至取代传统养殖方式[1]。
目前,传统的水产养殖系统通过结合移动互联网、大数据、云计算、物联网等技术,实现了结构上的升级改造,创造出了现代水产养殖新模式和新业态。例如,文献[2]提出了利用多模自适应控制方法来解除明轮船的耦合效应,使船速超调量不超过5%,稳态误差在3%之内。文献[3]设计了一种无人船的在线监控设备,结合统计分析、信息融合、组态控制、嵌入式等技术,提高了水产养殖过程中的监控效率和精度。针对缺乏养殖现场信息反馈、饵料投放全凭人工判断等缺陷,文献[4]提出了一种智能投饵系统,能对浮饵图像进行自动采集、识别和数量统计,并预测投放量,提高了养殖效率和效益。同时,智能化的水产养殖系统还需要继续加强顶层设计和对关键技术的研究,突破资源、环境、食品安全等问题的制约,向更加现代化的方向不断发展。
针对现有问题,本文设计了一种集通信、传感器、云计算和图像处理等技术的智能水产养殖无人船系统。本设计采用模块化方案,搭载通信、定位、传感器、图像采集、采样与投放等装置,实现无人船智能规划检测水域的航行路线且自主巡航,客户端实时显示水质数据和水面图像,远程实现精确的采样和投放工作,同时检测数据云端存储用于研究分析。
1 系统总体设计
系统集航线规划、自主航行、水质实时监测、图像采集与检测、投放与采样和远程监控与操作等功能于一体,采用三体船结构,主要分为船载系统、云服务器计算系统和客户端系统3部分,系统总体框架如图1所示。船载系统除了避障巡航和通信系统外,还以模块化的方式搭载了GPS定位模块、超声波测距模块、多种水质检测传感器、采样与投放系统、图像采集模块,用于实现自主航行、水质监测、视频监控、采样投放等功能;云服务器主要实现数据存储、航线规划和图像检测功能;客户端显示监控的水面状况和水质实时数据,并实现远程操控。
图1 系统总体框架
2 硬件系统设计
无人船采用三体船结构,船舱密封工艺,选用abs工程塑料,平稳性较好,强度高,可抗3~4级风浪。无人船采用意法半导体公司的STM32F103ZET6芯片[5]作为主控制器,该芯片具有32位处理器,256 kB的程序存储器和64 kB的数据存储器,完全能够满足本设计需要。全船采用12 V锂电池供电,能量密度大,稳定性高,并且分别通过电压转换芯片LM2576-5和 LM117-3.3 为各传感器和控制器供电,满足不同模块的电压需求。
2.1 巡航与避障系统设计
无人船的动力推进装置由两个无刷直流电机组成,位于船体尾部两侧,可正反转,搭配电子调速器对电机协同控制,通过正反转和差速控制法实现船体的转向;选用定位模块ATK1218-BD,AHRS模块GY99(MPU9250)[6],实现船体姿态和位置的解算,为航向与航线的校正提供参考数据,其中ATK1218-BD为GPS-北斗双模定位模块,可在30 s内实现定位,精度为2.5mCEP,GY99是通过陀螺仪、加速器与磁场传感器经过数据融合算法直接得到角度信息,分辨率为0.1°,精确率为2°,两个模块体积小、功耗低,能够满足使用需求,同时能够实现船体姿态的监测;相较于红外传感器,超声波传感器性能更加稳定且不易受环境干扰,在无人船中轴线上的最前端和左右分别45°角加装超声波测距模块,实现障碍物探测并为规避动作提供信号,超声波传感器测距的工作原理是发射出去的超声波遇到物体时会反生成反射波,传感器会接收到该反射信号,将发射和接收的时间差传换成距离,也称为时间差测距法,选用模块型号为KS103,最大测程8 m,最小盲区为1 cm,精度可达3 mm,能够满足一般的工业需求[7]。
如图2所示,无人船系统上电后,各模块初始化,在客户端设置相应的检测位置,位置坐标数据上传至服务器,采用禁忌搜索算法[8]实现航线规划,将航线数据包发送给无人船控制器,控制器开始驱动电机工作,无人船以一初始角度航行,每3 m进行一次位置信息(GPS)和角度信息(电子罗盘)的读取,并与指定航线与航向对比,计算出角度偏差,通过差速法校正无人船航向,直至无人船到达终点,完成自主巡航的任务。
图2 巡航与避障系统工作流程
2.2 通信系统设计
通信系统的总体框架如图3所示,共分为无人船端、云服务器端和客户端。从传输数据的内容和距离角度出发,通信系统设计方案采用第四代移动通信技术,需用型号为USR-LTE-7S4 V2的4G透传模块,通过串口通信与控制器STM32F103ZET6连接,主要实现控制器和服务器之间的信息交互,该模块体能够支持13个频段,允许两个网络连接同时在线,支持TCP和UDP,支持多种工作模式,如网络透传模式、HTTPD模式和UDC模式,传输速度快,简单可靠,不受距离限制。本系统设计的云服务器端是基于腾讯提供的云服务器CVM开发,服务器具有固定IP,保持客户端和无人船长时间连接,接收、转发两者的数据,同时对数据进行存储和处理,如航线规划和路径检测,减少了无人船控制器和客户端的工作负载,也降低了对于控制器的硬件要求,且云服务器具有弹性计算、多样化配置、简单可靠和安全低廉等优点。客户端基于C#语言在VS环境下设计而成,通过英特网与云服务器连接,接收显示服务器传来的数据或将操作指令发送到服务器[9]。
图3 通信系统总体框架
2.3 水质检测系统设计
本设计的水质检测系统以多种高精度传感器为设备终端,STM32F103ZET6芯片为控制器实现数据的采集和处理。为满足日常的检测需求,以温度、酸碱度、氨氮、溶解氧、浊度和电导率作为检测要素[10],参考国家标准的水质测定法,使用由济南智泽贸易公司提供的相关传感器,型号和部分参数见表1。传感器为保障检测精度,自带温度补偿,因此不需要专门搭载一个温度传感器。
无人船系统的水质检测模块主要由几种常见水质检测要素传感器组成,根据实际检测需求更换传感器配置,可使系统更加灵活可靠。水质检测系统的通信网络基于RS485通信协议,所使用的传感器均使用RS485通信协议并联在一起,并与中央控制器上的RS485接口相连接,图4为水质检测主控制器和各个传感器的通信结构图。
表1 水质检测传感器参数
图4 水质检测通信结构
2.4 采样与投放系统设计
在水产养殖的过程中,水样采集与物料投放属于常规作业,本设计的采样与投放系统结构如图5所示。
该部分由支架(1),牵引电机(2),绞盘(3),牵引绳(4)、水泵(5)、弹簧水管(6)、托盘(7)、连仓软管(8)、电磁阀(9)和舱体(10)组成,可通过调换弹簧水管(6)与连仓软管(8)的接口位置切换采样与投料工作模式。其中,牵引电机为两相四线步进电机,线序为ABCD,步角距为1.8°,驱动模块采用A4988驱动器[11],为精确投放深度,设置为1/4步进模式;绞盘半径为0.06 m;水泵为无刷直流水泵,震动较小适用于船体内部,流量4 L/min。按式(1)和式(2)将需要投管的深度h和采样或投放体量V分别转化为步进电机和水泵的工作时间
(1)
(2)
采样与投放系统的工作流程如图6所示。客户端设定相关工作参数后,将数据包发送给无人船端,无人船航行到指定作业位置后制动,步进电机释放牵引绳,将弹簧软管下放到指定深度,电磁阀打开,水泵开始工作,采样或投料结束后,水泵关闭,电磁阀关闭,步进电机拖动牵引绳收回弹簧水管。本投放系统只能投放液体物料,主要应用于溶于水的化学药剂投放,实现水质治理和病害防治。
图6 采样/投放工作流程
2.5 视频采集系统设计
视频采集系统主要用于水域水面环境监测,通过4G透传模块将画面传输到客户端,实现水面远程监控。综合考虑STM32F103ZET6的视频采集能力,本系统设计单独采用树莓派(Raspberry pi3)[12]作为图像采集控制器,它使用64位四核ARM Cortex-A53,双核 Videocore IV多媒体协处理器,主要实现实时获取摄像头的视频数据,然后将数据通过4G DTU模块发送到服务器做进一步处理。视频采集终端采用高清夜视摄像头,视频分辨率可达1080P,F2.0光圈高清录像,配备夜视功能,采用H.264解码,支持TCP通信协议,防尘防水,能够满足水面图像采集标准。
3 软件系统设计
3.1 客户端软件设计
本设计采用面向对象的C#语言来编写客户端软件,为了高效地实现无人船数据的实时读取和显示,并查看参数曲线对其加以分析,VS2013集成了大量实用的类库,该客户端软件即在此环境下编译完成。根据系统的软件设计任务要求,采用模块化的软件设计理念,设计主要包括TCP/IP通信模块、实时数据显示模块、视频监控模块等。客户端主界面如图7所示。
图7 客户端界面
在图7主界面中,左侧通过菜单栏可切换功能,右上角为操控指令区,实现采样投放、视频采集等操控,右下方为摄像头采集水面画面显示。图7(a)为开启自主巡航功能时的主界面,界面左侧显示的是航线轨迹图;图7(b)为水质监测时的主界面,此时界面左侧为各项水质监测指标的曲线图,右侧显示的是水质信息的实时数据。
3.2 基于禁忌搜索算法的航线规划系统设计
1986年,美国系统学家Glover提出了禁忌搜索算法[13](Tabu Search或Taboo Search,TS),它是一种广义的局部搜索算法,其中的禁忌技术高度模拟了人类大脑的“记忆力机制”,具有较强的“爬山能力”,不易早熟收敛,已经被广泛应用于生产调度[14]、公交网络[15]、电网输电[16]和电路印刷[17]等领域。基于禁忌搜索算法的航线规划系统主要是在云服务器内完成,如图8所示,在客户端设置好相应的检测点,检测点的位置信息,转化为坐标信息,然后发送至服务器,利用禁忌搜索算法进行航线规划,该算法首先用随机法生成初始解(初始航线),然后采用2-opt法生成若干组邻域解(邻域航线),根据航线长度选出一部分作为候选解(候选航线),如果最优候选解优于当前解(当前航线),则最优候选解替代当前解,且进入禁忌表,取代最先进入禁忌表的解,否则在非禁忌的候选解中选最优解取代当前解并进入禁忌表,重复以上迭代计算直到完成相应的迭代次数[18]。
图8 禁忌搜索航线规划流程
3.3 基于Mask R-CNN算法的水面物体检测系统
机器视觉是人工智能一个开速发展的分支,简单说,就是用机器对于图像的捕捉和处理来替代人的视觉系统做测量和判断。深度学习(DL)是机器学习的一种,它们都是通过建立模型将特定的现实问题转化为数学模型,并解决相似问题的方法。深度学习沿用人工神经网络(artificial neural network,ANN)的理论,通过建立模型,构造复杂、多层的神经网络,模拟人脑的机制对文本、图像、声音等数据进行处理和学习,因此深度学习又称为深层神经网络(deep neural networks,DNN)。本系统设计采用Mask R-CNN网络[19]对图像内的目标进行检测与分类,此网络由Facebook 人工智能小组提出,是一种简单灵活、通用性强的目标实例分割框架。它在Faster R-CNN[20]边界框识别分支的基础上添加了一个并行的分支,用来预测目标掩码,因此每个实例都能生成一个高质量的分割掩码,每个实例中同时出现的目标能被有效地检测到,其网络结构如图9所示。综合图像处理速度和精确度考虑,Mask R-CNN网络无疑是一种比较合适的选择。
图9 Mask R-CNN网络结构
4 系统功能测试
本系统搭建完成后进行功能测试,选取校园内一人工湖作为测试水域,天气阴天,风3~4级,无强光。
4.1 系统基本功能测试
无人船下水后,首先按照手动操作指令运行,分别操控无人船完成直线航行、转向、制动漂浮、水质检测、手动操做采样和视频采集开关等指令,发现无人船能够具备基本的通信与航行功能,并将航行轨迹和检测数据发送到客户端显示出来;然后切换自动工作模式,在客户端设定巡航轨迹、水质检测位置、采样位置、深度、容量,发现无人船直线航速可达50 m/min,控制系统指令传输平均时延为300 ms,当开启视频采集模式时时延有所增加,约为500 ms,测算检测位置、采样位置和返航位置的设定坐标和实际航行位置,在空旷水域定位偏差约为2CEP,测量采样投放系统中牵引绳入水深度和舱体实际采样体积,投放深度误差约为5%,采样容量误差约为8%;最后将无人船航行到水域某点后切断通信,无人船在30 s内无法重新连接后,按照出发路线返航,返航成功。经测试,本系统的操作、通信、检测、巡航等基本功能都能正常运行,且满足设计需求。
4.2 航线规划功能测试
基于禁忌搜索算法的航线规划系统,依托云服务器进行计算,首先将在地图上选取的检测点经纬度信息转换成二维坐标信息,将坐标输入算法中,规划出一天航线后,将航线坐标信息解码成经纬度参数发给无人船。此处采用MATLAB软件进行仿真,在一个200 m*200 m的水域,随机选取15个监测点,坐标信息为[131 43;142 31;161 135;78 41;98 114;20 85;97 96;191 192;100 143;80 0;167 116;11 174;74 176;125 97;85 57],设坐标中为0或者200的为岸边,经过仿真,航线规划如图10(a)所示,从坐标(80,0)位置出发,巡航所有监测点后返回出发位置;航线规划过程如图10(b)所示,初始随机生成的一条搜索航线总长度为1514.3 m,经过禁忌搜索法迭代到第86次时,最优规划航线的总长度仅为780.069 m,节省48.47%的里程,仿真用时约6 s,满足计算需求,同时对于无人船的续航和工作能力的增加有着重要意义。
图10 基于禁忌搜索算法的航线规划
4.3 水面目标检测与识别测试
基于深度学习算法的图像检测对于硬件上设备具有一定的要求,本系统采用云服务器作为算法运行的载体,极大地减轻了客户端主机和图像采集控制器的负载和成本。图11(a)为水面单个物体检测,且能够将水中的建筑物与漂浮物进行区分;图11(b)为多物体检测,能够准确识别水面的漂浮物。虽然当检测算法运行时,图像存在掉帧情况,但是能够维持8帧左右,能够满足日常水面巡检工作。
4.4 水质检测精度测试
水质检测部分是整个系统的重要组成,本次测试在校园内的人工湖进行实地测试。在检测时选取5个检测点,分别用无人船水质监测系统和便携式水质检测仪进行水质检测,无人船系统的检测数据与便携式水质检测仪数据的差值的绝对值见表2,其中无人船检测的数据,为每5 s检测一次,取5次的平均值。
利用表2数据,用测量的绝对误差最大值除以量程可以计算出每种传感器的引用误差。根据《GBT 13283-2008工业过程测量和控制用检测仪表和显示仪表精确度等级》[21],我国仪表精度等级依据引用误差值划分为0.1,0.2,0.5,1.0,1.5,2.5,5.0这7个等级,由表2数据中的引用误差,可知传感器的等级分别为Ⅳ(1.0),Ⅲ(0.5),Ⅱ(0.2),Ⅰ(0.1),Ⅲ(0.5),Ⅰ(0.1),综上可知无人船水质检测部分的检测精度误差能够满足常规的检测要求,其中无人船航行对水流的影响会引起温度、溶解氧和浊度的变化,测量存在一定误差。
图11 水面漂浮物检测测试结果
5 结束语
本文介绍了传统水产养殖系统和现代水产养殖技术的发展现状与不足,并针对现存的问题提出了一种模块化的智能水产养殖无人船系统,能够完成自主巡航、水质监测、实时监控、远程控制、采样投料等任务。通过对各个功能和模块进行测试和实验,结果表明,本文设计的智能水产养殖无人船系统能够实现航线规划与自主巡航,对当前水域的水质和水面状况进行实时监测,各传感器的精度符合国家标准要求,并能通过远程控制实施精准的物料投放,此外,无人船航行的路线及位置、水质监测的详细参数和水面的图像画面都能够通过客户端软件显示出来,监测数据可通过云端进行保存。
表2 水质检测误差值
与传统的水产养殖系统相比,本文提出的无人船系统降低了水产养殖行业的劳动作业强度和人力成本,通过对养殖过程的实时监测和精准的物料投放,有效改善了水体环境,大大降低了水产养殖行业的风险系数,提高了生产效率,同时也便于操作人员的规范管理。利用云服务器将养殖过程中产生的数据收集起来,进行整合、挖掘后变成有价值的信息,不仅可以用于科研技术的进一步研究,还可以为经营主体提供决策支持和行业服务,有利于政府进行大数据管理和科学化监管。
本设计完成了系统各模块的硬件及软件设计目标,经检测达到了预期指标要求。但是,仍然还有一些有待改进加强的地方。
(1)由于船体的限制,仅能搭载少量检测传感器,需要对船体进一步设计提高其负载能力,针对实际需求加载其它设备,如鱼群探测传感器,水域地形探测传装备等。
(2)将检测对象扩展到三维水体空间,研究追踪定位养殖环境中污染源的方法,根据检测数据追溯污染源。
(3)构建相关数据库,收集水域水质和养殖数据,绘制相关状况分布图。
(4)进一步开发图像采集模块,将机器视觉应用于巡航避障,即采用双目摄像头实现对检测到障碍物进行空间信息解算。