于家旺 王晓鹏 赵恩波等
关键词:栅格化;
路径规划;
遍历算法;
深度优先搜索算法;
水质检测 湖泊作为陆地水圈的组成部分,参与自然界的水分循环[1]。湖泊具有净化水质,减少环境污染的作用。
无人船(USV)是一种可以无需遥控,借助精确卫星定位和自身传感即可按照预设任务在水面航行的全自动水面机器人。经过一番改造便可以实现水上垃圾回收,目前市面上的产品大多数应用在宽阔的水域,如海洋,河流等。其收集方式为完全随机,只具备一定的垃圾收集功能,超出视野之外的便无法进行收集,面临着遍历程度不高,算法不完善等问题。由于湖泊与海洋的应用场景不同,湖泊大多数为静态水,而海洋则为动态。所以一款针对于湖泊水上垃圾清理和水质检测的装置有较为广阔的发展前景。
1设计思路与方案
1.1装置结构与组成
该装置名为智能湖泊环境监测及净化装置,机械结构本质上为两个船体,1个垃圾篮,二维云台,2个驱动船体的螺旋桨和防水草装置,3个投放治理水质药物的装置,如图1。
其主控为RT1064单片机,各个模块如下:K210摄像头、L298N电机驱动、直流减速电机、水质检测模块、4G通信模块、GPS定位模块、超声波模块、舵机、升降杆。
1.2基本功能
1)湖泊完全遍历收集漂浮垃圾
将该装置放入湖泊中,可以先调节垃圾篮的高度,方便后续垃圾收集。首先通过超声波模块监测船到岸边的距离,逆时针围绕湖边1圈,同时间隔一定的时间记录当前GPS坐标并记录在经纬度坐标系中,然后转化为栅格地图的坐标并连线,构建栅格地图,每一个栅格中都了保存其中心点的坐标信息和是否存在障碍物。装置根据栅格地图从起点进行往复式遍历,在遍历的过程中,采用摄像头实时识别漂浮垃圾,进行漂浮垃圾的收集功能。
2)监测水质状态并投放药物进行改善
在装置遍历的过程中,每经过1个栅格,进行1次水质信息的采集,等完全遍历每一个栅格之后,求出各个数值的平均值,并与初始设定的水质正常数值进行比对,然后投放定量的药物,从而达到改善水质的功能。
3)远程监控湖泊状态
该装置进行过程中,会统计收集的垃圾种类和数量,当前水质状况,投放药物情况,并将这些信息通过SG模块发送给上位机,方便管理人员查看。
2实现方案与核心算法
2.1栅格地图构建
装置围绕湖泊1圈之后,通过记录的GPS坐标构建出湖泊的二维坐标系,对其单位栅格化,连线并进行直线边缘化,填充边界,得到栅格化后的图像。对于后续的垃圾收集和水质检测,栅格地图的构建将起到决定性的作用。
栅格大小的选取需要考虑如下问题[2]:
1)船体的大小;
2)摄像头的视野范围;
3) MCU的运算和储存能力。
2.2全局路径规划
路径规划分为全局和局部路径规划[3],往复式完全遍历便是全局路径规划,确定装置在水上的可行路径。在实际的运行过程中,运行的轨迹应当与障碍物保持一定的距离,从而确保装置能够正常通行而不发生碰撞,所以在MATLAB仿真时需要膨胀边界,目的是增加障碍物与路径之间的距离,确保仿真与实际情况相似。图像为某一湖泊的俯视图,经过二值化和栅格化的处理。如图3,左侧为处理后的地图,右侧为轨迹图。黑色部分为陆地.灰色部分为膨胀部分,白色部分则为湖泊。在路径规划处理过程中,灰色与黑色都视为障碍物,白色为可通行水域,红色为运行的轨迹,箭头代表方向。
往复式完全遍历路径的算法使用深度优先搜索算法(DFS)来遍历整个地图,并返回遍历路径。在函数内部,首先获取地图的大小并初始化遍历状态矩阵和遍历路径。然后使用两层循环遍历整个地图,如果当前位置可以通过而且未被遍历,则将其标记为已遍历并添加到遍历路径中,并调用DFS函数继续进行深度优先搜索。
DFS函数使用当前位置的坐标作为输入,并搜索当前位置的相邻位置。如果相邻位置可以通过且未被遍历,则将其标记为已遍历并添加到遍历路径中,并继续调用DFS函数进行深度优先搜索。
本装置利用两个螺旋桨产生速度差,来达到方向偏转的效果。由于得知了装置的运行轨迹,通过实际的位置坐标和下一个目标的位置坐标便可以得到偏航角和距离,从而达到装置沿着完全遍历的路径行进的目的。
2.3水上垃圾目标检测
目标检测算法大致分为两类:“两阶段”和“一阶段”方法。“两阶段”是指检测和识别两个阶段。代表算法有RCNN、Fast-RCNN等。而“一阶段”是基于回归的,直接回归物体的类别概率和位置坐标值[4]。代表算法有YOLO系列和SSD系列算法等。本装置采用YOLOV3模型,使用K210摄像头。具体步骤分为两步:
1) YOLOV3模型训练
由于K210上识别照片的格式为240x240,所以需要预先对训练的照片进行格式转化,之后使用VOTT软件进行标注。本地训练环境为Mx-yolov3,训练完成后,需要将其转换成K210适配的Kmodel文件。
2)部署到K210
打开Kflash,用数据线将电脑和K210连接,将固件和Kmodel文件烧录到开发板中,烧录的过程中,其烧录时地址不能一样,Kmodel文件使用Ox300000。
下面选取某一水面测试训练的模型,如图4。
2.4局部路径规划
局部路径规划的目的是收集当前栅格内的垃圾。主要思路是进入当前栅格,对垃圾进行目标监测,并得到垃圾的位置坐标,如有多个垃圾,则需要局部路径规划,但考虑到摄像头视野之内的垃圾可能在当前栅格之外,如果不中断的话,则会导致其前往下一个栅格,进而导致遍历重复度高,所以需要一些中止措施。如果船体GPS定位如果偏离栅格一定距离,或拾取垃圾数量超过五个,则中断局部路径规划,去往下一個栅格继续进行全局路径规划。
本方案的局部路径规划采取一种叫做Multi-Direction Fast Marching( MDFM)的方法,它可以同时对多个目标点两两之间进行路径规划,并结合遗传算法规划出遍历所有目标点的最短路径[5]。此方法的基本思想是,将所有目标点作为起点,分别计算出到达其他目标点的最短距离和方向,然后将这些信息存储在矩阵中。再使用遗传算法对矩阵进行优化,找到一条能够覆盖所有目标点并且总距离最小的路径。这种方法的优点是,它可以有效地处理多个目标点之间的相互影响,避免了重复计算和冗余路径,提高了路径规划的效率和质量。
2.5水质监测及治理
1)检测部分
本装置搭载水质检测模块,能够检测水质的pH值,电导率,温度等信息。检测功能在全局路径规划时运行,每到达一个栅格就采集1次,最终求得平均值,避免局部误差的干扰,使得数据更可靠。
2)投放器
其内部的螺旋结构可以将颗粒物投放出来,结构简单且不易被卡住。本装置搭载3个投放器,方便操作者自定义药品或鱼饵。而且可以将投放情况发送到上位机,方便后期的查看管理。
4结果测试
4.1装置遍历情况测试
将装置放于湖泊的某点,首先自动确定湖泊的范围,然后开始遍历湖泊,并在途中拾取垃圾。根据返回的坐标点,导入到MATLAB画出实际轨迹图,如图5。
由此图像可以看出装置能够正常完成全局和局部路径规划,并且能避开障碍物。
4.2水质信息数据测试
本次测试主要采集了湖泊电导率的数值,其中部分信息通过柱状图展示出来,如图6。
5结束语
本文介绍了一款基于遍历算法的智能湖泊环境监测及净化装置,其能够自主完成路径规划且完整的遍历湖泊的每一个水域,在遍历过程中还能够实现自主垃圾拾取和水质信息采集,同时将数据通过4G通信模块发送给上位机,方便管理人员查看和后期的进一步改善措施。相较于传统的遍历无人船,提出了全局和局部遍历的方法,其遍历程度更高,其在封闭的水域,将有着更好的效果。此装置将会极大的减少人力成本,有广阔的应用前景。
猜你喜欢栅格湖泊水质水质抽检岂容造假环境(2023年5期)2023-06-30基于邻域栅格筛选的点云边缘点提取方法*科技创新与应用(2021年31期)2021-11-09你相信吗?湖泊也可以“生死轮回”少儿美术(快乐历史地理)(2019年4期)2019-08-27一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓当代水产(2019年1期)2019-05-16“害羞”的湖泊阅读(低年级)(2018年4期)2018-05-14奇异的湖泊小学阅读指南·低年级版(2017年2期)2017-03-23不同剖面形状的栅格壁对栅格翼气动特性的影响弹箭与制导学报(2015年1期)2015-03-11基于CVT排布的非周期栅格密度加权阵设计雷达学报(2014年4期)2014-04-23水质总磷测定存在的问题初探河南科技(2014年23期)2014-02-27水质总氮测定方法改进探究河南科技(2014年18期)2014-02-27扩展阅读文章
推荐阅读文章
老骥秘书网 https://www.round-online.com
Copyright © 2002-2018 . 老骥秘书网 版权所有