问 靖, 王建华, 郑 翔, 张山甲
(上海海事大学 航运技术与控制工程交通行业重点实验室,上海 201306)
无人水面艇(unmanned surface vehicle,USV),又称为水面机器人,是一种能够在水面上依靠遥控或者自主方式进行独立航行的小型化、无人化的智能平台[1],在科学、军事和商业领域中发挥着越来越重要的作用[2]。目前海洋结构物的定位方式主要有锚泊定位和动力定位两种,一般情况下,当水较浅时,多采用锚泊定位的方式[3]。但是,当水深超过600 m时锚泊方法的成本和可行性都变得较为复杂,而且新型USV都是无“锚”设计。当USV在执行海洋环境监测,测绘等任务时常常需要定点作业,然而由于风浪流的影响其位置和姿态难以保持,并且通常USV并不配置侧推器,属于欠驱动控制。因此,针对欠驱动USV的动力定位方法成为一个研究的难点。文献[4]指出针对欠驱动USV的区域保持控制方法研究目前尚无具体有效的研究成果。文献[5]指出了USV可以采取两种方法进行动力定位,一种是利用自身的动力抵消外界的干扰力,阻止其发生运动;这种方法虽然在理论上精度较高,但对于欠驱动USV来说极为困难。还有一种方法是在USV发生运动后,改变其运动方向,令其运动始终在规定区域内,本文即采用了这种方法。文献[6]也指出受水深的限制,传统的锚泊定位系统已经不能满足定位要求,并针对动力定位控制系统硬件在环仿真器中的设计进行研究;文献[7]对动力定位的混合控制器进行了设计;文献[8]研究了对暴露在气流和风扰动下USV的动力定位,设计了比例导数控制器,并用WAM-V USV做了实际的动力定位实验,得出当平均风向垂直于USV纵轴时,使用PD控制器的动力定位效果得到了显著提升。文献[9]给出了USV基于视觉的动力定位方案,该方案虽能使USV在位置和姿态上达到较高的动力定位精度,但视觉传感器对图像的稳定性要求较高,对水面环境光线的亮暗也有较高的敏感度。因此单纯使用视觉来进行动力定位会导致抗干扰能力差的问题,一旦遭遇稍微恶劣的水面环境,动力定位效果往往不佳。
基于上述需求本文提出了一种基于全球定位系统(GPS)和惯性测量单元(inertial measurement unit,IMU)的欠驱动USV动力定位方法。该方法计算量小,对处理器性能要求不高,仅需提供位置信息的GPS传感器和测量航向的IMU即可实现欠驱动USV的动力定位。
上海事大学航运技术与控制工程交通行业重点实验室研制了一种具有完全自主知识产权的USV“海翔号”。在参考文献[10]和文献[11]的基础上本文针对“海翔号”进行了动力学建模,并对所述动力定位方法进行了仿真分析。使用“海翔号”参加“2019中国无人船公开赛”中的精确定位项目,在实际海况环境中验证了所述动力定位方法的实用性和鲁棒性,且获得了该项目冠军的成绩。
动力定位原理如图1所示,设定两个阈值R1,R2。其中R1为设定的动力定位半径,所围成区域称为设定的动力定位区域;R2为技术要求规定的动力定位半径,所围成区域称为技术要求规定的动力定位区域,其中(R1 图1 动力定位原理 ∂φ=arctan((Yend-y(t))/(Xend-x(t))) (1) θ=∂φ-ψ (2) 其中,由于∂φ∈(0°,360°),ψ∈(0°,360°),故θ∈(-360,360°),需对θ做一个限制处理 (3) 处理后的θ满足θ∈(-180°,180°)。 定义偏差距离D为USV当前所在位置和动力定位的期望位置(Xend,Yend)的距离,计算公式如下 (4) 当D≥R1时通过判断航向偏差角θ的大小来确定USV运动控制的规则。设定一个角度阈值γ(0°<γ<90°),由于USV的期望航向始终指向动力定位的期望位置,故当γ<|θ|<90°时控制USV原地转弯至|θ|<γ;当90°<|θ|<180°-γ时控制USV原地转弯至180°-γ<|θ|<180°;当|θ|<γ时控制USV前进;当180°-γ<|θ|<180°时,控制USV后退。 控制方法为选取航向偏差角和偏差距离作为控制变量输入到控制器中,控制器通过生成指令实时调整电机的动力输出,从而控制USV的航速和航向使其驶向期望的动力定位区域。当USV的偏差距离小于设定的动力定位半径,即D 本文针对“海翔号”USV进行动力学建模,并忽略浪和流的干扰,仅考虑USV自身的推力、受到水的阻力以及风力,对所述动力定位方法进行分析。 在不同等级风下所受到的风力采用式(5)来近似计算 (5) 式中S为受风面积,Am为平均空气密度,V为风速。通过对“海翔号”的测量,得到其纵向的受风面积为0.129 1 m/s2,横向的受力面积侧面为0.338 3 m/s2,海平面上空气的平均密度Am≈1.229 kg/m。由于在运动过程中航向会不断改变,故采取将风速根据航向实时分解为USV在随动坐标系x轴上受到的风速和在随动坐标系y轴上受到的风速,然后分别实时计算USV纵向受到的风力Fw1以及横向受到的风力Fw2,风力分解示意图如图2所示。 图2 风力分解示意 仿真实验分为两部分:第一部分针对USV在1~6级的恒定风速不同风向下的动力定位展开研究;第二部分针对USV在时变6级风速不同风向下的动力定位展开研究。由于初始时刻的航向与风向存在耦合关系,故把初始航向与风向作为控制变量进行分析。 设定USV初始航向为η,风向为Ω,定义风向偏差角Δ为 Δ=η-Ω (6) 由于η∈(0°,360°),Ω∈(0°,360°)故 Δ∈(-360°,360°)需对Δ做一个限制处理 (7) 处理后满足Δ∈(0°,360°)。 实验一:恒定风速不同风向下动力定位 为得到所述动力定位方法在恒定风速不同风向下的动力定位效果,本文针对下列12种情况进行试验 Δ=0+30k,k∈{0,1,2,…,11} (8) 设定USV的初始航向均为90°,初始位置位于期望的动力定位点附近,风速大小为1~6级恒定风,控制参数为:kp=5,kd=6,γ=10°,R1=1 m,R2=3 m,U0=20 V,USV的运动轨迹仿真结果如图3所示。 图3 1-6级恒定风下USV的运动轨迹 通过仿真可知,USV在恒定风速不同风向下的动力定位效果受到其初始航向的影响,若USV一开始就处于顶风状态或顺风状态,即初始航向与恒定风风向呈平行状态,则其较容易进行动力定位。且在该初始航向下进行动力定位,其距离动力定位期望点的最大偏差距离不会太大;而若USV一开始处于横风的状态,即初始航向与恒定风风向呈垂直状态,则其会先慢慢转弯直至顶风状态或顺风状态,即平行状态。此期间USV在风力的影响下会产生漂移,而该漂移过程恰好形成了其距离动力定位期望点的最大偏差距离;且该最大偏差距离的大小则由的初始航向旋转至其与风向所平行的时间长短决定。完成转向与漂移过程后其位置会逐渐稳定在动力定位期望点与恒定风风向的连线上。 实验二:时变6级风下动力定位的仿真 假设风速在6级风附近按正弦规律波动,风向Ω也在Ω0方向附近按正弦规律变化,即 Vw=(13.8+3sin(t)),m/s (9) Ω=(Ω0+22.5sin(t)),(°) (10) 无人艇的初始航向和控制参数不变,仍然针对12种情况进行试验 Δ=0+30k,k∈{0,1,2,…,11} (11) 则无人水面艇的运动轨迹如图4所示。 图4 6级时变风下USV的运动轨迹 由图4可知USV在6级时变风的影响下,其运动轨迹开始变得粗糙,但其随风漂移的运动仍未达到不可控制的程度,其运动轨迹仍主要处于技术要求规定的动力定位区域。 仿真实验中存在许多环境因素的理想化处理,为此使用“海翔号”USV在校园水域中进行实际水面环境中的动力定位试验,试验现场如图5(a)所示。试验当日天气为3级东南风。如图5(b)为第一次试验中的动力定位轨迹;在试验中控制器设定的动力定位半径R1=2 m,对该轨迹测量得到最宽处为4.9 m,这已是不错的动力定位效果。分析可知USV在实际水面环境中的动力定位效果除了与风浪流有关,还受到电机基准电压值、设定的动力定位半径大小、船长比、艇质量、电调电压分辨率、GPS定位精度等诸多因素的影响。因此,在针对各可调参数进行不断调整改善后,设定R1=1 m,得到了较好且多次实验稳定的动力定位效果。其中一条动力定位轨迹如图5(c)所示,测量得到轨迹最宽处为2.6 m,动力定位效果良好。 图5 校园水域实验场景 经过不断试验和参数调整后使用“海翔号”USV参加2019年6月10日的“中国无人船公开赛”的精准定位项目,参赛场景如图6(a)所示。“海翔号”控制器中设定的动力定位半径为,图6(b)为船载GPS所记录下的轨迹。该轨迹包括USV从岸边出发到行驶至比赛区域的部分,当USV到达比赛项目所划定的三角形区域后即开始动力定位。 图6 USV运动轨迹 比赛当日天气恶劣,水面风况约为4级风,波浪白沫涌动。“海翔号”进入动力定位环节后,控制器便控制USV左右电机的推力输出,在前文所述控制策略的作用下使USV的运动轨迹始终保持于精准定位项目所规定的三角形区域,并最终获得了该项目的冠军。 本文提出了一种基于GPS和IMU的欠驱动USV动力定位方法,并在不同风况下的仿真环境中对所述动力定位方法进行了分析。结果表明:所述方法动力定位效果良好,USV与动力定位期望点的最大偏差距离较大程度地依赖于其受到风力时初始航向和所受风力的大小。多次实际水面实验以及在2019年中国无人船公开赛精准定位项目中的比赛验证了所述方法的实用性和鲁棒性,可满足一般应用场景中USV的动力定位需求。2 仿真实验
3 实际水面环境中的动力定位
4 结束语