APP下载

遥控水质采样的自适应空气动力无人船系统设计*

2018-03-01,,,

单片机与嵌入式系统应用 2018年2期
关键词:遥控器航行无人

,,,

(1.江苏省大气环境与装备技术协同创新中心,南京 210044;2.南京信息工程大学)

引 言

遥控水质采样与监测无人船作为一种新型水域监测平台,因其自动化、智能化等优点,已被广泛应用于各种复杂水域的水质采样与监测[1]。国外研究机构在无人船研发方面起步较早,率先取得一定进展,例如英国普利茅斯大学研发了用于环境监测的无人船“Springer”、意大利国家研究理事会智能系统自动化研究所研发了用于海洋表面水质采样的无人船“SESAMO”、美国密歇根大学研发了用于水深和环境测量的无人船“BathyBoat”。

近年来,国内众多研究机构也先后积极开展无人船的研发,并在水质监测等方面取得一系列成果。珠江水利科学研究院研发了一种用于水域勘测的无人船系统,国家海洋局第一海洋研究所研发了一种用于水深测量和抵近观察的无人船“USBV”[2],珠海云洲智能科技有限公司研发了一种用于水质采样和监测的无人船“ESM30”。

传统无人船的动力螺旋桨处于水中,在一些污染严重、水生植物生长繁茂、水体表面漂浮物密集的采样水域,无人船在行进过程中螺旋桨会时常被杂物缠绕,轻则阻碍船只行进,重则使船体受损,对水质监测部门开展相关清除工作极其不利。

针对上述问题,设计了一种遥控自适应空气动力无人船系统,其动力由一对在空气中高速旋转的螺旋桨提供,螺旋桨位于空气中避免了水中漂浮物对航行和采样造成的不利影响,最大限度减少了传统的采样船对水体的搅动,使采样水域保持自然状态,提高了采样、测量准确性。

同时,提出的污染源在线追踪法可通过污染指数迭代让无人船向着污染程度高的地方航进,采样结果更具代表性。无人船可根据遥控器发送的指令,采取遥控或自动航行模式行驶至目的地,完成采样任务,并实时返回传感器采集到的数据。

1 无人船系统构成

1.1 系统工作原理

空气动力无人船采用双无刷电机驱动的一对空气螺旋桨推动,通过主控制器对左右电机分别输出不同占空比的PWM信号,调节左右电机转速,从而跟据左右电机的转速以及差速,实现无人船的航速和转向的控制。无人船系统可以通过上位机对其进行遥控航行或自动航行模式选择,遥控航行即通过遥控器,人为地控制船体运行,遥控器与主控制器之间利用nRF24L01实现无线通信。

自动航行是通过设置采样点的经纬度坐标,利用GPS模块和九轴传感器不断采集无人船方位信息,通过PID控制算法自动控制左右电机转速,调整无人船航向,使其自行前往采样点。到达采样点给无人船发送采样命令即可采样,采样完成后继续前往下一个采样点进行采样,完成全部采样任务后实现返航。每次无人船航行的相关数据将通过遥控器返回并储存于上位机内,为后续进行相应的数据分析作准备。

1.2 系统框架

无人船系统主要包括上位机、遥控器、STM32主控制器、无线通信模块、动力装置、避障模块、九轴传感器、GPS定位模块、水质采样模块以及电源模块。无人船系统结构框图如图1所示。

图1 无人船系统结构框图

2 系统硬件设计

2.1 控制器系统

无人船系统要求控制器有较高的运算效率、良好的实时性以及足够的I/O端口与外设进行连接,因此综合考虑性能、成本、体积等因素,系统采用STM32F103ZET6作为主控制器和遥控器,进行相关硬件电路及软件设计。STM32F103ZET6是ST公司生产的基于ARM Cortex-M3核心的带512 KB闪存的32位低功耗微处理器,具有72 MHz的最高工作频率、11个定时器、13个通信接口以及112个快速I/O端口。主控制器与各模块间连接的系统硬件电路图如图2所示。

图2 系统硬件电路图

2.2 动力装置

动力装置主要由两个搭配2845KV2750电机的FMS模型飞机配件70 mm 12叶涵道和两个70 A无刷电调组成。通过主控制器输出不同占空比的PWM信号,调节电机的转速。根据左右电机的差速,实现采样船的转向。通过定时器TIM3的通道2和通道3,即PB5和PB0控制无刷电调。定时器产生的PWM周期为20 ms,当PWM占空比为10%时,电机速度达到最大,占空比为5%时,电机速度为零。这里把电机的速度划分为10个等级,同一个方向键每按下一次,加速一次。

2.3 航行控制与避障

无人船自动航行时需要自动控制,因此应通过九轴传感器来实时测量无人船行驶的方位角数据。GY953九轴传感器是一款低成本AHRS模块,工作电压为3~5 V,测量范围为-180°~180°,分辨率可达0.1°,具有功耗小、体积小、精度高、稳定性好、性价比高等特点。其工作原理是通过陀螺仪、加速度传感器和磁场传感器经过数据融合算法,最后得到直接的角度数据。在无人船自动航行时,九轴传感器返回的欧拉角对船体的航向进行相应调整。

避障装置采用HC-SR04超声波测距模块来实现。HC-SR04超声波测距模块可提供2~400 cm的非接触式距离感测功能,测距精度可达3 mm,测量角度为15°。该装置安装在无人船船头处,实时监测船体前方是否存在障碍物以及与障碍物之间的距离。若前方无障碍物,则继续行进;否则当无人船与障碍物之间的距离小于3 m时,则无人船立刻自动减速,进行转向避障,并在遥控器LCD上显示报警信息。

2.4 水质采样模块

水质采样模块由抽水泵、深度控制装置和出水管方向控制装置三部分组成。抽水泵采用5 V直流电机,通过L9110S电机驱动模块控制电机的正反转,实现抽水与排水的功能。使用的抽水泵具有截止阀功能,能够双向防倒流。抽水前,先将电机反转,使管中的水完全排出,再进行抽水采样。深度控制装置由步进电机与滑轮构成,由控制器控制五线四相步进电机旋转不同角度,控制水管下沉的深度、驱动方式为四相四拍。

出水管端接到舵机上,由舵机通过定时器TIM3的通道4,即PB1口控制其方向。当输出PWM占空比为7.5%时,出水管指向正中间。当占空比为5%时,舵机左转45°;占空比为10%时,右转45°。

当采样船到达采样点进行采样时,首先抽水泵反转,将水泵中的水完全排出,进行浅采样。控制出水管方向的舵机右转45°,控制深度的五线四相步进电机正转3 s,将抽水管放下去。由于水管较长,设置抽水时间为25 s,25 s后抽水泵自动停止,舵机将出水管方向拉回中间位置,控制深度的五线四相步进电机反转3 s,提出抽水管,浅抽水结束。

接下来进行深抽水,将抽水泵反转,使水泵中的水先放出来,再进行采样。控制出水管方向的舵机左转45°,控制深度的五线四相步进电机正转6 s,将水管深放。抽水时间同样是25 s,25 s后抽水泵自动停止,舵机将出水管方向拉回中间位置,控制深度的五线四相步进电机反转6 s,提出抽水管,深抽水结束。

2.5 数据通信和定位

数据通信采用nRF24L01无线通信模块,主控制器和遥控器均通过串行外围接口SPI与nRF24L01无线收发模块进行连接。遥控器对主控制器发送命令时,将与遥控器相连的nRF24L01无线收发模块设定为发送模式,与主控制器相连的nRF24L01无线收发模块相应地设定为接收模式,此时主控制器可以接收遥控器发送过来的指令并进行相应操作。命令发送后,将两个nRF24L01无线收发模的设定模式进行互换,主控制器可将各传感器采集到的数据通过nRF24L01无线收发模块发送至遥控器,遥控器进行LCD显示,并通过串口存储于上位机中。

在无人船自主航行时,通过GPS实现定位以及时间的标定,每200 ms返回一次当前经纬度坐标,系统设计中使用的是ATK-S1216F8-BD GPS/北斗模块,这是一款高性能GPS/北斗双模定位模块,同外部设备的通信接口采用串口方式,输出的GPS定位数据采用NMEA-0183协议,控制协议为SkyTraq协议。GPS有源天线一般采用SMA接口,而该模块为IPX接口,因此通过一根IPX转SMA连接线将有源天线与ATK-S1216F8-BD GPS/北斗模块连接,并将天线至于无人船内较为空旷位置,避免因遮挡而影响信号的正常接收。

3 相关算法及软件设计

3.1 自适应定航

图3 方位直角坐标系

其中,以正东方向为起始边,顺时针方向所形成的夹角α为正值,逆时针方向所形成的夹角α为负值,α取值范围为[-180°,+180°]。

3.2 污染源在线追踪法

为了更好地找出污染源头,提出了一种污染源在线追踪法。在船体上安装水质传感器,每次采样后直接对样本进行检测。对检测后的结果进行算法处理,找到一个污染程度最高的点,然后沿着这一点继续航行一段距离再次采样,将之前采样点中污染程度最低的点去掉,再次进行算法处理,不断迭代,最终可以找到污染源。

定义节点Ni(x,y,z),i=0,1,…,n-1,x和y是采样点坐标,可以通过GPS获得,z代表污染程度,这里认为z∈[0,1],z=1表示污染程度最大,即可以认为的z=1地方是污染源。

假设控制采样船采集到5组数据Ni(xi,yi,zi),i=0,1,2,3,4,设计一种算法,通过这5组数据来确定一个污染程度最高的点,进行第6次采样,在第6次采样点采样得到一组新的数据时Ni(xi,yi,zi),i=5,去掉i=0的数据,生成新的5组数据Ni(xi,yi,zi),i=1,2,3,4,5,计算下一次采样的坐标,如此迭代下去,坐标更新算法可以表示为第k次(k=1,2,…),计算下一个需要采样的坐标为:

迭代到相邻两次采样点污染程度|Δz|<ε,ε>0时,即可认为已找到污染源。

3.3 系统软件设计

系统程序在Keil uVision4平台,采用C语言进行编写。利用模块化设计方法,对系统的功能进行划分,对各个模块独立编程。模块是系统设计和实现的基本单元,每个模块实现一个完整单独的功能,各个模块由主函数进行调用,实现整个系统功能。系统软件包括主控制器程序和摇控器程序模块。

主控制器程序完成无人船的命令接收和分析、无人船的航行控制、水质采样和分析、无线通信等功能。上电后首先对各个模块初始化,当nRF24L01模块检测到遥控器传输的命令时,进行相应判断和操作。同时系统每200 ms采集一次数据,并通过无线通信将数据实时传输至遥控器,采集的数据包括9轴传感器返回的角度、GPS模块返回的UTC时间和经纬度坐标、超声波测距模块返回的距离。通过自适应定航和避障算法进行航行控制,当到达采样点后,等待接收采样命令实现水质采样并实现返航。

遥控器设计采用了μCOS-III实时操作系统和STemWin嵌入式GUI。μCOS-III是一个可基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统。基于STemWin嵌入式GUI,可以提供功能丰富的图形用户界面,在PC上用GUIBuild软件设计好界面再移植到微处理器上,减少了开发周期。遥控器上电后,先完成硬件自检,串口打印自检信息,自检完成后挂载文件系统开启μCOS创建4个任务:nRF24L01无线通信任务、STemWin GUI绘制任务、LCD触摸检测任务、指令发送LED显示任务。

4 系统测试

将无人船置于湖中,在岸边通过遥控器对其操控。当达到采样点后,遥控其进行不同深度的采样,采样后返回。如图4所示,图4(a)为整体效果图,图4(b)为无人船前进图,图4(c)为采样结束返航图。测试结果表明,系统各个功能运行良好,达到了预期目标。但在运行时发现,风力过大会对船体航行影响较大,后期考虑在船体上增加无刷电机个数。在船体两侧增加横向的电机,用来调整船体的方向,相比与目前装置,改进后的装置可以在采样时保证船体的稳定性。

图4 系统整体测试图

结 语

[1] 金久才, 张杰, 邵峰,等. 一种海洋环境监测无人船系统及其海洋应用[J]. 海岸工程, 2015, 34(3): 87-92.

[2] 崔文连, 金久才, 王艳玲, 等. 无人船技术在湖泊/水库水体监测中的应用探讨[C]//中国环境科学学会学术年会论文集, 2013.

[3] 张浩昱, 刘涛. 一种微小型无人船控制系统设计及航向控制方法研究[J]. 计算机机测量与控制, 2017, 25(1): 88-93.

[4] 耿以才, 黄立新, 陈凌珊, 等. 无人船安全目标追踪与自动避障算法[J]. 计算机测量与控制, 2015, 23(7): 2467-2474.

[5] 金英连, 王斌锐, 严天宏. 自主湖水环境监测船的运动控制系统设计[J]. 计算机工程, 2012, 38(22): 240-243.

[6] 姜少杰, 刘海敌, 王宪. 基于GPS的自动巡航监测船系统的设计与实现[J]. 全球定位系统, 2017, 42(3): 77-81.

[7] 彭静, 张维勇, 李洋. 基于嵌入式系统的GUI软件开发包的设计与实现[J]. 合肥工业大学学报:自然科学版, 2009(4).

张自嘉(教授),主要研究方向为传感器与检测技术、智能仪器与嵌入式系统应用;吕查德、闫朝阳(本科生),主要研究方向为测控技术与仪器;徐晨(硕士研究生),主要研究方向为嵌入式系统应用。

猜你喜欢

遥控器航行无人
我是“糊涂虫”
到慧骃国的航行
时间遥控器
爸妈有个“遥控器”
无人战士无人车
反击无人机
行走的飞行遥控器
小舟在河上航行
诗到无人爱处工
航行