水面无人艇远程控制系统设计与实验

2022-02-18 03:11俞万能李光泽
关键词:经纬度航向水面

王 珺,俞万能,2,3,李光泽

(1.集美大学轮机工程学院,福建厦门 361021;2.福建省船舶与海洋工程重点实验室,福建厦门 361021;3.福建省近海小型绿色智能船舶系统工程研究中心,福建厦门 361021)

0 引言

水面无人艇(unmanned surface vehicles,USV)可以通过艇上智能控制系统与远程无线遥控系统相配合,实现手动操控和自主航行功能。水面无人艇又可以看作是一个在水面上执行任务的智能机器人,可以根据不同的需求搭载相应的功能模块,构成拥有特定功能的机器人,代替人们执行多种任务。水面无人艇具有机动性强、隐身性能好、成本低等特点,在民用与军用上都具有重要作用[1]。目前,相比于国外的无人艇技术,我国在许多关键领域的难题还需攻克[6]。田延飞等[7]设计的远程控制系统以 Arduino 2560 为中央控制器,船舶的运动状态通过驱动电机来进行转换,并通过 GPRS 实现无人艇端与岸基操控端的无线通信,但是由于GPRS网络速度慢且信号不好,会造成通信的延迟,难以精确地实现运动控制;王宁等[9]则通过LOS(line-of-sight)制导方法及PID(proportional-integral-differential)控制器实现对无人艇的运动控制,但是由于PID控制具有参数整定困难以及不适应非线性系统的控制等问题,因此难以满足控制要求;李丽等[10]设计的小型吊舱式无人艇采用TMS320F2812 DSP(digital signal processor)作为控制器,并采用DTU(data transfer unit)进行2G网络通信,由于海上风、浪、流等干扰,以及移动信号弱等环境因素的影响,使得其设计的无人艇难以满足高精度的控制要求以及低延迟的通信要求;田勇[11]采用主频不高的STM32作为控制器,由于体积小且功能单一,无法满足多功能的需求。

为解决水面无人艇远程控制中通信延迟和信号差等通信问题,本研究设计了无人艇的艇载通信系统和岸基通信系统,搭建DSP结合ARM(advancd RISC machine)控制器的硬件平台,研发通信导航运动控制系统;采用模糊算法改进PID控制器,通过模糊推理实现对PID控制参数的调整,以期提高无人艇运动控制的准确性。

1 系统总体架构组成

本研究根据需求搭建的水面无人艇实物图见图1,无人艇长为1.82 m、宽为0.58 m,吃水深度为0.18 m,质量为90 kg。所设计的无人艇主要由船体、电池模块、导航模块、推进模块、远程控制模块和摄像头等硬件组成。电池模块由电池和电池管理系统组成;导航模块由GPS和惯性导航系统组成;推进模块由螺旋桨、数字舵机和推进电机组成;远程控制模块分为艇载控制系统和岸基网络控制系统两大部分,两者通过中介DTU进行双向的信息传输,即以DTU为通信终端设备,通过5G移动通信网络与阿里云服务器建立连接,将信息传输至云端服务器,同时可使用台式计算机、笔记本电脑、平板电脑和手机等移动网络设备访问水面无人艇网络控制界面,对无人艇进行运动控制和状态监测。

2 无人艇远程控制系统研发

2.1 艇载控制系统

为实现艇内设备以及艇载系统与岸基系统之间的通信[12],将TMS320F2812型号DSP控制器[13]与STM32H743型号的ARM控制器相结合,以此作为无人艇的控制器(如图2所示)。在控制系统架构中(如图3),DSP控制器主要用来读取推进电机、数字舵机及电池的电压电流等数据信息,对采集的数据信息进行融合处理。DSP控制器通过脉冲宽度调制的方式对直流无刷电机和数字舵机进行控制,从而实现对无人艇运动速度和运动方向的控制。ARM控制器对惯性导航系统所传输的无人艇实时信息解析出经纬度,处理器将大地坐标系下的目标点、起始点和当前点的经纬度投影出平面坐标系的二维(x,y)坐标,并用三角函数进行运算,计算出无人艇实际航向和期望航向之间的误差,得出无人艇回到实际航线所需的转向及转速信息。最后,将控制指令通过ARM传给执行机构,从而实现无人艇的路径跟踪。

2.1.1 数据采集

数据采集是实现水面无人艇远程控制至关重要的环节。推进电机和数字舵机的电压、电流数据采用DSP内置的A/D输入接口进行采集,从而将模拟信号转换为数字信号。电池的电压和电流的数据信息将通过BMS(battery management system)[14]模块采集。无人艇的经纬度和航向等信息通过惯性导航系统(见图4)采集,惯性导航系统上电后可以自动发送实时监测的数据信息,通信协议选用MODBUS协议。

2.1.2 数据通信及航向引导计算

艇载的通信通过串口实现。如图5所示,经纬度的数据信息从惯性导航系统输出,先通过RS-232转RS-485无源光电隔离转换器进行转换,接着通过RS-485传输至ARM,在ARM中完成经纬度的坐标转换及坐标的计算。惯性导航系统的数据帧格式为1位起始位,8位数据位,1位停止位,无校验位,先发低字节,后发高字节,每字节又低位先发送。其中经纬度的数据由8个字节组成,前4个字节为经度,后4个字节为纬度,经纬度的读取方式为从低位往高位读取。由于从惯性导航系统输出的经纬度数据为16进制数据,故先将16进制的数据转换为10进制的数据格式,再将转换后的数据转换成度数的格式,利用转换后的经纬度进行无人艇航向引导的计算。

本研究所使用的航向引导法是使用类似于视线制导的方法,通过惯性导航系统实时采集的经纬度信息来进行。图6中A代表无人艇起始点的位置,B代表目标点位置,C为受到风浪流等干扰后偏离航线的实时位置点。A和B点的位置信息由无人艇上位机软件界面输入,通过DTU的传输下发至ARM,C点为惯性导航系统实时采集的无人艇经纬度信息,将A、B和C三点的经纬度通过ARM进行坐标系的转换,使三点在同一个笛卡尔坐标系中,便于计算出θ的角度。当θ>10°时,会将舵机进行20°的一个转向;当5°<θ<10°时,会将舵机偏转10°;当θ<5°时,属于在允许的误差范围内。完成航向的制导计算后,在原来的惯导数据后追加8个字节的控制数据,将合成的控制数据通过RS-232传输至DSP用来控制数字舵机,而采集的惯导数据经过RS-232从DSP传输至DTU,DTU则将传来的数据通过移动网络传输至SQL数据库。

2.2 远程遥控系统研发

远程控制界面如图7所示,主要以阿里云服务器、Web服务器[15]、Apache服务器、MySQL数据库为基础,基于5G移动通信技术,设计开发无人艇远程控制系统。该系统可对无人艇进行远程控制,并可对电池组信息、推进系统状态、航行海况、无人艇的位置等进行实时监控,可以直观获取当前以及历史运行数据。

2.2.1 数据库与服务器

数据库采用MySQL3.2。MySQL[16]具有操作简单,占用体积小,方便调用数据并提供多种编程接口的特点。Apache服务器功能是提供网上信息浏览服务,当客户端向Apache服务器管理的HTML静态网页文件发起文件请求,Apache服务器接受到该请求并在相关目录下寻找这个HTML网页文件,然后将结果反馈至客户端浏览器,附带的文本类型信息会指示浏览器如何查看文件[17]。云服务器[18]采用阿里云ECS(elastic compute sercive)服务器,它可根据用户需求提供弹性可伸缩的计算服务[19]。

DTU与ECS的数据交换是基于因特网的TCP协议格式完成,需配置DTU拨号参数、云服务器IP地址、串口波特率和端口号等工作参数。DTU上电工作后,首先读取内部FLASH中保存的工作参数,DTU随即登录移动网络,进行PPP拨号,获得一个由移动随机分配的内部IP网络。云服务器的Web服务器收到DTU的TCP通信请求并响应请求,向DTU返回请求成功字符,则DTU与Web服务器连接成功[20]。

2.2.2 客户端界面设计

客户端界面由HTML和Javascript编写。后台脚本程序用来实现CGI(common gateway interface)功能[21],Web浏览器发送给Web服务器的信息将由CGI程序接收并进行处理[22]。当浏览器收到Apache服务器发来的HTML代码后,逐条解析成网页,在客户端浏览器显示无人艇的电池组信息、雷达信息、视频画面、运动状态等,完成所需的人机交互功能。针对无人艇远程控制与监测的功能需求,前端人机交互由无人艇监控界面、控制界面、蓄电池组信息界面、雷达数据界面、历史航行记录界面组成。

3 无人艇控制系统软件设计

水面无人艇的控制是通过数字舵机的转向以及螺旋桨的转速来完成的,模糊PID控制方法基于微控制器来实现。无人艇的运动控制系统主要由上、下位机两个部分组成,软件流程图如图8所示。

无人艇采用吊舱式设计,通过对推进电机和数字舵机的控制来实现无人艇航速和航向的控制。传统的PID控制器不能适应外界扰动对航向变化的影响,主要是因为其控制器参数不会随着外部扰动的变化而改变。对于这种非线性、时变的系统,控制方法主要采用神经网络和模糊逻辑控制。本研究采用模糊PID控制方法,通过模糊推理实现PID参数的在线整定,不仅保持了传统控制系统原理简单、使用方便的优点,而且具有更强的灵活性、适应性和较强的鲁棒性。无人艇的航行运动控制结构如图9所示,给定的运动控制指令与USV反馈回来的当前航向、航速的偏差γ、μ通过模糊PID调节,消除误差,通过脉宽调制来控制方向φ和航速V,从而对无人艇航行进行控制。

4 实船测试与数据分析

为了验证水面无人艇远程运动控制系统的实时性、操作性及准确性,基于上述通信架构和运动控制方法,使用自主研发的水面无人艇搭载控制系统进行实船测试。在厦门某水域先后进行了多次下水航行测试,实船测试如图10所示。

4.1 USV远程通信实时性测试

水面无人艇在远程人工控制模式下航行时,需要经常向USV发出控制指令。因此,手动控制的基础就是控制指令能否实时下达。如表1所示,测试了不同地点无人艇对控制指令的响应时间。测试结果表明:本设计的无人艇远程控制系统的通信延迟短,能够满足控制要求。

表 1 远程控制实时性测试表

4.2 USV实时加速性能测试

航向、航速控制是USV运动控制的基础和关键。本系统所选用的推进电机为直流无刷电机,最大转速1100 r/min,将电机转速划分为四个档位:DS、S、H、F,分别对应四个航速。USV实时加速性能测试结果见表2。

表2的测试结果表明:本研究采用模糊PID控制方法可以有效地控制无人艇的运动,能够根据远程运动控制指令校准和稳定航速,使无人艇远程运动控制更具精确性。

表 2 推进性能测试数据

4.3 USV远程控制下直行及回转性能测试

根据无人艇的主要参数,为了验证无人艇控制系统的灵敏性和可操作性,本文分别对直线行驶以及设定航速、转舵角度下的巡回半径分别进行了PID控制实验和模糊PID实验,巡回半径实验舵角范围为[-60°,+60°]。在远程运动控制测试中,由于没有航行轨迹绘制图,所以测试完成后需要对MySQL数据库存储数据进行分析。根据MySQL数据库存储的航行数据,通过MATLAB坐标转化运算,结合航速和航向大小变化在地图上进行数据拟合得到无人艇直线行驶运动轨迹图,如图11所示。

图11a为水面无人艇采用PID控制的直线行驶实验的轨迹图,绿标为起点,红标为终点;图11b为模糊PID控制的直线行驶的轨迹图,其中红色的航线为设定的期望航线,蓝色的航线为实际航线。图11a中,通过实际航线与期望航线的误差计算可知最大的偏航距离为5 m;图11b使用改进后的控制器,通过实际航线与期望航线的对比可知,最大的偏航距离为 1 m。

通过MATLAB对惯导系统采集回来的实际航向与期望航向进行分析,结果如图12所示。图12a采用原控制器,设置的期望航向角为60°,实际航向与期望航向最大误差将近20°;图12b采用改进后的控制器,设置的期望航向角为110°,通过期望航向与实际航向对比,可知最大误差在10°以内。由此可以清晰地看出改进后的控制系统在控制无人艇直线航行的时候,可以更好地控制航迹,使得航向偏差控制在允许的范围内,无人艇的控制系统更加稳定,受其他干扰因素的影响比较小。

图13a为水面无人艇采用PID控制的巡回半径实验的轨迹图,图13b为模糊PID控制的巡回半径实验的轨迹图。图13中红色的航迹为通过计算之后的期望航迹,蓝色的航迹为无人艇通过实船实验所得的实际航迹,从中也可以清晰地看出改进后的控制系统在风、浪、流等外界扰动的情况下,无人艇做巡回运动时,抗干扰能力变强,稳定性变强,回转性能也更优异。

给定无人艇航速V,且无人艇横倾角小于15°,当船速稳定后,逐渐增加舵角φ,可以得到不同船速下的巡回最小半径航行轨迹。由此获取不同给定航速、航向下的巡回半径,如表3所示。

表 3 巡回半径表

综上,测试结果表明:本研究研发的小型吊舱式无人艇远程控制系统,经实船实验验证,在不同航速下无人艇转舵的灵活性、可操作性以及远程控制的实时性均能够满足水面无人艇的远程运动控制要求。

5 结语

本文设计了水面无人艇的艇载控制系统和岸基控制系统,搭建了无人艇通信导航系统。同时基于阿里云服务器、Web服务器、Apache服务器及MySQL数据库开发了无人艇运动控制网络界面和状态监控界面,可通过手机、iPad、笔记本电脑等远程设备控制无人艇,且远距离控制延迟较小。水面无人艇的运动控制系统基于DSP和ARM控制器,在原来PID控制算法中加入模糊控制算法,提高了无人艇的航迹控制精度。搭建实验平台并进行实船实验,实船测试结果表明,本研究所研发的5G通信技术下的水面无人艇控制系统能够满足远程运动控制要求,并提高了无人艇航迹控制的精度。

猜你喜欢
经纬度航向水面
风浪干扰条件下舰船航向保持非线性控制系统
知坐标,明航向
水黾是怎样浮在水面的
考虑几何限制的航向道模式设计
基于经纬度范围的多点任务打包算法
自制中学实验操作型经纬测量仪
基于干扰观测器的船舶系统航向Backstepping 控制
争夺水面光伏
澳洲位移大,需调经纬度
一块水面