CN110308719B - 一种水面无人艇路径跟踪控制方法 - Google Patents

一种水面无人艇路径跟踪控制方法 Download PDF

Info

Publication number
CN110308719B
CN110308719B CN201910436861.7A CN201910436861A CN110308719B CN 110308719 B CN110308719 B CN 110308719B CN 201910436861 A CN201910436861 A CN 201910436861A CN 110308719 B CN110308719 B CN 110308719B
Authority
CN
China
Prior art keywords
angle
current
unmanned
target point
thrust
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910436861.7A
Other languages
English (en)
Other versions
CN110308719A (zh
Inventor
张磊
周彬
封佳祥
王博
庄佳园
沈海龙
苏玉民
刘涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN201910436861.7A priority Critical patent/CN110308719B/zh
Publication of CN110308719A publication Critical patent/CN110308719A/zh
Application granted granted Critical
Publication of CN110308719B publication Critical patent/CN110308719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/0206Control of position or course in two dimensions specially adapted to water vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开了一种水面无人艇路径跟踪控制方法,通过当前无人艇运动的状态信息、位置坐标信息,进行路径点的离散并根据点更新机制进行目标点的更新;通过状态信息进行航向规划,计算当前目标点的视线角
Figure DDA0002070754220000011
视线余角
Figure DDA0002070754220000012
横侧偏差SE、视线补偿量并求得当前航向误差
Figure DDA0002070754220000013
根据航向规划信息,进行航向控制,计算控制器输出力矩Np,根据规划航速和海况估算推进器推力Xp;对输出推力Xp、输出力矩Np进行推力分配,求得各推进器的执行信号,并控制推进器执行指令动作。本发明使得无人艇可以跟踪曲线路径,保证了路径跟踪的快速性以及稳定性,在风浪存在的条件下大大避免了侧漂的发生,实现了对航速较为准确的控制,对于无人艇的路径跟踪控制有重要的作用。

Description

一种水面无人艇路径跟踪控制方法
技术领域
本发明属于水面无人艇领域,具体涉及一种水面无人艇路径跟踪控制方法。
背景技术
水面无人艇(USV)又称为水面机器人,是一种需要极少人为干预甚至无需人为干预即可按照指令执行任务的任务平台,可用于执行扫雷、侦查、作战、观测等许多水面任务。路径跟踪能力为水面无人艇实现自主功能应所具备的最基本的能力之一,为使无人艇自主航行的基本保证。
现阶段,无人艇的路径跟踪技术发展仍不够成熟,绝大多数的无人艇路径跟踪算法仍停留在理论研究以及仿真阶段,极少有应用于实际无人艇的路径跟踪方法发布。对于仿真环境中存在着的大量细节简化以及对环境干扰处理的理想化,实际的水面环境往往极为复杂,各种水动力往往也是非线性的,环境干扰力也有较大的随机性,以目前的仿真技术很难对实际环境作用进行准确的计算,因此也导致了大多数的在仿真环境下取的完美结果的路径跟踪方法在实艇应用中出现响应慢、鲁棒性差等一系列的问题。同时为实现无人艇航速的精确感知,所需要的传感器往往较为昂贵,因此,对于大多数无人艇而言,由于感知精确速度的传感器较为昂贵,其航速一般是由通过卫星定位所得到的近似的和速度而并非准确的分速度,因此也导致对航速的精确控制也较为困难,且若使用该速度作为无人艇航速控制的输入,在风浪存在的条件下往往会导致很大的侧漂,增加了路径跟踪误差,当风浪较大时,会使得无人艇无法对路径进行跟踪。
发明内容
本发明的目的在于提供了一种水面无人艇路径跟踪控制方法,使无人艇实现对路径的高精度跟踪以及在考虑到风浪以及自身速度感知存在较大误差的情况下实现对航速的控制,使得USV在对航速感知存在较大误差且有环境干扰的情况下对规划航速进行修正,使路径跟踪误差以及航速跟踪误差保持在可允许的范围内。
本发明的目的是这样实现的:
一种水面无人艇路径跟踪控制方法,具体的实现步骤为:
步骤1.通过仪器接收当前无人艇运动的状态信息以及位置坐标信息,并进行转化处理;
步骤2.进行路径点的离散并根据点更新机制进行目标点的更新;
步骤3.通过状态信息进行航向规划,在航向规划模块中,计算当前目标点的视线角
Figure BDA0002070754200000011
视线余角
Figure BDA0002070754200000012
横侧偏差SE、视线补偿量并求得当前航向误差
Figure BDA0002070754200000013
步骤4.根据航向规划信息,进行航向控制,计算控制器输出力矩Np,根据规划航速和海况估算推进器推力Xp
步骤5.对输出推力Xp、输出力矩Np进行推力分配,求得各推进器的执行信号,并控制推进器执行指令动作。
所述步骤1的具体内容为:下位机通过串口接收相关传感器传递的感知信息,对接收到的信息通过相应的通讯协议进行解码,得到无人艇当前的经纬度坐标、航速、艏向角、风速、流速,将无人艇的经纬度坐标(Slat,Slon)转化为NED坐标系下的坐标点(Ns,Es)。
所述步骤2的具体步骤为:
步骤2.1.将当前路径离散为按顺序散布在路径上的点阵P={P1,P2,……,Pn},其中Pi为点阵中第i个点的大地坐标,Pi=[Ni,Ei],1≤i≤n,点阵之间的距离Di,i+1,满足Di,i+1>RC,RC为根据位置感知误差而设置的目标点范围半径;
步骤2.2.按照目标点更新规则,向航向规划发送当前目标点,航向规划中的路径点存储空间记为{Pi-1,Pi},其中Pi-1表示P1或上一个已到达的目标点,Pi表示当前准备到达的目标点,在每一个控制节拍中计算无人艇当前位置坐标[Ns,Es]与当前目标点Pi:[Ni,Ei]的距离Distance,
Figure BDA0002070754200000021
当Distance<RC时,对点进行更新,RC为所设定的目标点范围半径,更新机制为
Figure BDA0002070754200000022
所述步骤3的具体步骤为:
步骤3.1.结合无人艇当前的位置坐标S:(Ns,Es)和首向角
Figure BDA0002070754200000023
求取当前的视线夹角
Figure BDA0002070754200000024
横侧偏差SE
步骤3.2.依据横侧偏差值SE,将横侧偏差无因次化后,利用参数可调的Sigmoid函数,计算目标视线角的补偿值,其中Sigmoid补偿函数为
Figure BDA0002070754200000031
式中rec_SE为上一控制循环时所计算所得SE值,
Figure BDA0002070754200000032
为视线余角,DSE为横侧偏差的变化率,Δt表示控制节拍,SM为Sigmoid函数输出,kSE、kDSE为可调参数,将影响量均除以船宽B进行无因次化;
步骤3.3.将视线补偿值
Figure BDA0002070754200000033
与目标视线角
Figure BDA0002070754200000034
进行叠加,得到航向误差角
Figure BDA0002070754200000035
所述步骤4的具体步骤为:
步骤4.1.通过Sigmoid艏向控制器计算控制力矩Np,计算公式为
Figure BDA0002070754200000036
其中,aE为无人艇的艏摇角速度,IE为角速度误差积分,其中可调整参数为比例参数k1、速度参数k2、积分参数k3、幅值参数
Figure BDA00020707542000000311
步骤4.2.根据规划航速和海况估算推进器推力Xp
步骤4.3.对于欠驱动无人艇,控制其沿船首方向的前进速度,根据流速uw对规划航速up进行补偿修正得到补偿后的规划航速uI
Figure BDA0002070754200000037
式中
Figure BDA0002070754200000038
为流向,
Figure BDA0002070754200000039
为无人艇当前艏向;
步骤4.4.根据补偿后的规划航速uI,通过查表运算,得到控制器的输出推力Xp,所查表格为通过仿真或者实验测得的推力-航速对应表格。
所述步骤5的具体步骤为:
步骤5.1.求取左推进器的推力XPL和右推进器的执行推力XPR,计算公式为
Figure BDA00020707542000000310
步骤5.2.根据推力和推进器控制信号对应关系,求取推进器额定控制信号大小,并通过串口发送到推进器驱动器,控制推进器的运行,即完成了本循环的控制,之后经过一个控制节拍后,进入下一控制循环。
本发明的有益效果在于:本发明考虑到水面无人艇的实际航行过程中的路径跟踪问题以及速度感知不精确的问题,通过对路径进行点迹理解以及非线性视线补偿使得无人艇可以跟踪曲线路径。同时非线性视线补偿控制器中的可调参数保证了路径跟踪的快速性以及稳定性,在风浪存在的条件下大大避免了侧漂的发生。也考虑了实际情况下无人艇普遍存在的航速感知误差问题,提出了推力查表估算方法,实现了对航速较为准确的控制,对于无人艇的路径跟踪控制有重要的作用。
附图说明
图1为本发明的总执行框图。
图2为本发明的的规划路径离散图。
图3为本发明的视线角以及非线性视线补偿角所涉及的相关计算量的示意图。
图4为本发明的的角度取值定义图。
图5为本发明的的推力查表流程图。
具体实施方式
下面结合附图对本发明做进一步的描述:
实施例1
一种水面无人艇路径跟踪控制方法,具体的实现步骤为:
(1)下位机通过串口接收相关传感器传递的感知信息,具体包括GPS、电子罗盘等。对接收到的信息通过相应的通讯协议进行解码,得到无人艇当前的经纬度坐标、航速、艏向角、风速、流速等。而后,将无人艇的经纬度坐标(Slat,Slon)转化为NED坐标系下的坐标点(Ns,Es)。
(2)从规划处接收规划的路径,进行路径的点迹理解,根据路径的复杂程度以及跟踪精度要求,根据一定的距离将路径离散为按顺序散布在路径上的点阵P={P1,P2,……,Pn},记航向规划模块中,存储的当前目标点为Pi,定义该模块中的点存储空间为{Pi-1,Pi},其中2≤i≤n,并在每一个控制循环中根据无人艇与目标点距离判断是否应对点进行更新。
(3)根据当前无人艇的位置以及存储空间中的坐标点,进行航向规划,计算当前目标点的视线角
Figure BDA0002070754200000041
视线余角
Figure BDA0002070754200000042
横侧偏差SE、使用S面函数计算视线补偿量并叠加视线角
Figure BDA0002070754200000043
最终求得当前航向误差
Figure BDA0002070754200000044
输入航向控制器中。
(4)根据当前的流速信息对规划航速进行修正得到修正后的规划航速uI,后根据所控制无人艇的航速—推力性能对应表格,进行查表运算,求得控制器的输出推力Xp,在航向控制器中,对
Figure BDA0002070754200000051
进行数值积分得到误差角积分IE,结合角速度aE计算控制器输出力矩Np
(6)进行航行指令的理解,对Xp、Np进行推力分配,得到各桨的推力值以及推力信号,并通过串口将信号传递至推进器驱动器,控制推进器,完成当前控制循环,经过一个控制节拍后,进入下一相同控制循环。
本发明提出的一种基于非线性补偿视线法的水面无人艇路径跟踪控制方法,如图1所示,具体有以下几个步骤:
步骤1:通过串口数据接收当前无人艇运动的状态信息以及位置坐标信息,并进行转化处理。
(1.1)下位机通过串口接收相关传感器传递的感知信息,具体包括GPS、电子罗盘等。
(1.2)对接收到的信息通过相应的通讯协议进行解码,得到无人艇当前的经纬度坐标、航速、艏向角、风速、流速等。
(1.3)在当前无人艇运行的区域内,任选一点作为NED坐标系的原点,设该点经纬度为(Olat,Olon),式中,下标lat表示纬度,lon表示经度。并将无人艇的经纬度坐标(Slat,Slon)转化为NED坐标系下的坐标点(Ns,Es),转化公式如下:
Figure BDA0002070754200000052
式中,经纬度坐标代入单位为度,输出坐标单位为米。
步骤2:进行路径点的离散并根据点更新机制进行目标点的更新
(2.1)从规划处接收规划的路径,根据路径的复杂程度以及跟踪精度要求,根据一定的距离将路径离散为按顺序散布在路径上的点阵P={P1,P2,……,Pn},如图2所示。
(2.2)记航向规划模块中,存储的当前目标点为Pi,定义该模块中的点存储空间为{Pi-1,Pi},其中2≤i≤n,在第一个控制循环开始时,将P2作为当前目标点传递至存储空间。
(2.3)在每一个控制循环中根据当前无人艇与当前目标点距离判断是否需要对目标点进行更新。当Distance<Rc时,对当前目标点按如下法则进行更新,无人艇当前位置与目标点距离及更新机制按如下公式计算:
Figure BDA0002070754200000061
步骤3:在航向规划模块中,计算当前目标点的视线角
Figure BDA0002070754200000062
视线余角
Figure BDA0002070754200000063
横侧偏差SE、视线补偿量并最终求得当前航向误差θE,该步骤中所涉及的各角度示意如图3所示。
(3.1)根据当前的首向角
Figure BDA0002070754200000064
无人艇位置的NED坐标,将当前目标点坐标转化为无人艇随艇坐标系xoy下的坐标Pi:(xi,yi),该坐标系与水平面平行,其中o点为坐标系原点,位于无人艇质心,x轴垂直指向船首,y轴垂直指向右舷,转化公式如下:
Figure BDA0002070754200000065
(3.2)根据当前目标点在xoy坐标系下的位置,计算该点连线与x轴正方向的夹角即
Figure BDA0002070754200000066
为使后续定义及计算方便统一,对其取值范围及符号进行规定,连接点o与Pi,若yi>0,则将ox轴顺时针旋转,其与oPi重合的角度为
Figure BDA0002070754200000067
取值从0至π递加;反之若yi<0,则将ox轴逆时针旋转,其与oPi重合的角度为
Figure BDA0002070754200000068
取值从0至-π递减,如图4所示:
Figure BDA0002070754200000069
可采用以下公式进行计算:
Figure BDA00020707542000000610
(3.3)根据存储空间中的目标点无人艇当前的位置和首向角进行处理,计算视线余角
Figure BDA00020707542000000611
该角的取值范围为
Figure BDA00020707542000000612
当无人艇位置位于目标点连线右侧时,定义
Figure BDA00020707542000000613
为负值,反之为正值,因此为判断无人艇位于的方位,可使用如下方法:
首先,构件向量Vp:(Np,Ep),为由上一个目标点Pi-1指向当前目标点Pi的向量,计算方法如下:
Figure BDA0002070754200000071
构件向量
Figure BDA0002070754200000072
为由上一个目标点Pi-1指向当前船舶位置S:(Ns,Es)的向量,计算方法如下:
Figure BDA0002070754200000073
以正北轴为基准,顺时针旋转为正向,分别求取向量Vp、Vs在NED坐标系中的方位角
Figure BDA0002070754200000074
取方位角的取值范围为[0,2π],对任意向量V:(N,E),其方位角
Figure BDA0002070754200000075
可按如下公式计算:
Figure BDA0002070754200000076
求得向量Vp、Vs得而方位角后,对方位角求差值:
Figure BDA0002070754200000077
根据该差值,通过如下判据判定无人艇所在的规划线方位:
方位 取值范围
左侧 (0,π)∪[-2π,-π)
右侧 (-π,0)∪(π,2π]
线上 其他
(3.4)在求得无人艇相对于规划线方位后,求取无人艇首向与Vp的夹角
Figure BDA0002070754200000078
为后续计算方便,定义夹角范围为[-π,π],其中首向角位于Vp顺时针方向时为正,逆时针方向时为负。最后,通过以下公式便可求得
Figure BDA0002070754200000079
Figure BDA0002070754200000081
(3.5)求取横侧偏差SE
首先,当规划线不与E轴平行时,计算规划线Pi-1Pi的斜率kp,而后根据点到直线的距离公式即可求得横侧偏差SE
Figure BDA0002070754200000082
当Pi-1Pi//E时:
Figure BDA0002070754200000083
(3.6)使用Sigmoid函数对目标视线角进行补偿修正,最后得到航向误差角
Figure BDA0002070754200000087
S面函数的形式为:
Figure BDA0002070754200000084
式中,F表示决定控制输出相关的影响量,j表示影响量的数目,ki为可调参数。对于本发明而言,控制输出量为视线补偿角
Figure BDA0002070754200000085
相关的影响量为横侧偏差SE和横侧偏差的变化率DSE,因此,视线补偿角按下式计算:
Figure BDA0002070754200000086
式中rec_SE为上一控制循环时所计算得而SE值,Δt表示控制节拍,为算法移植考虑,将影响量均除以船宽B进行无因次化。
(3.7)最后,将视线角与视线补偿量进行叠加即可得到航向误差角:
Figure BDA0002070754200000091
步骤4:计算控制器输出力矩Np,
对于输出力矩而言,Sigmoid函数的影响量为误差角
Figure BDA0002070754200000092
以及角速度aE,同时考虑到修正稳态误差,加入误差角积分IE,故计算力矩的S面函数如下:
Figure BDA0002070754200000093
式中,
Figure BDA0002070754200000098
为比例系数,表示不考虑积分作用时给推进器分配的最大执行力矩。
步骤5:根据规划航速和海况估算推进器推力
(5.1)对于多数无人艇而言,其航速通常是通过卫星定位进行感知的,如GPS、北斗导航等,但通过该方法感知得到的航速为运动的合速度,且在航速较低时,其航向角误差极大,无法通过航向角而求得无人艇各个自由度运动的分速度。因此,需要先建立所控制的无人艇直航状态下的推力-航速的对应表格:
前进时:
Figure BDA0002070754200000094
倒车时:
Figure BDA0002070754200000095
该表格可以通过流体力学软件进行计算,也可以在无人艇第一次试验时通过试验进行测试。
(5.2)根据当前的流速信息对规划航速进行修正,因无人艇受风面积较小,风的作用对其航速影响较小,故航速修正考虑流的作用即可,记规划航速为up,流速uw,流向
Figure BDA0002070754200000096
考虑到无人艇为欠驱动,故只对其纵向速度进行补偿:
Figure BDA0002070754200000097
式中,uI为进行补偿后的规划航速。
(5.3)最后,根据补偿后的规划航速,通过查表运算,得到控制器的输出推力Xp,当uI≥0时,查表流程如图5所示:
图5中插值运算的插值公式为:
Figure BDA0002070754200000101
步骤6:对Xp、Np进行推力分配,求得各推进器的执行信号。
(6.1)首先,应求取左推进器的推力XpL和右推进器的执行推力XpR,通过如下公式计算:
Figure BDA0002070754200000102
(6.2)根据推力和推进器控制信号对应关系,求取推进器额定控制信号大小,并通过串口发送到推进器驱动器,控制推进器的运行,即完成了本循环的控制,之后经过一个控制节拍后,进入下一控制循环。
实施例2
本发明公开了一种基于非线性补偿视线法的水面无人艇路径跟踪控制方法。针对路径上的路径点视线和水面无人艇与期望路径的偏差,结合Sigmoid函数以及推力估计提出了以非线性视线法为基础的无人艇路径跟踪控制方法。本方法分为点迹理解、航向规划、航向控制和指令理解四大部分。其中点迹理解为将拟跟踪路径进行离散化处理,得到系列路径点作为航向规划时的输入。航向规划为根据从路径跟踪模块所接收的路径点,并结合无人艇当前的位置、航向、系统状态等信息规划出期望航向作为航向控制器输入,同时向路径点返回到点信息,航向控制为根据航向规划输出的航向误差,计算应控制的转矩大小,并在无人艇自身速度感知不准确的情况下,在考虑环境干扰作用下根据期望航速对实际推力进行预估,控制航速。最后指令理解器通过对航向控制指令进行理解并计算左右推进器驱动信号,将信号传递至推进器驱动器控制推进器的功率实现水面无人艇的路径跟踪。
一种基于非线性补偿视线法的水面无人艇路径跟踪控制方法,包括以下步骤:
(1)根据规划路径信息,进行点迹理解:
(1.1)将当前路径离散为按顺序散布在路径上的点阵P={P1,P2,……,Pn},其中Pi=[Ni,Ei],1≤i≤n,为点阵中第i个点的大地坐标,并且点阵之间的距离
Figure BDA0002070754200000103
满足Di,i+1>RC,RC为考虑到位置感知误差而设置的到点判断距离。式中,[Ni,Ei]表示大地坐标系NOE中的坐标,其中O为大地坐标系原点,N指向正北,E指向正东。
(1.2)按照目标点更新规则,向航向规划规划中发送当前目标点,航向规划中的路径点存储空间记为{Pi-1,Pi},其中Pi-1表示P1或上一个已到达的目标点,Pi表示当前准备到达的目标点。在每一个控制节拍中计算无人艇当前位置坐标[Ns,Es]与当前目标点Pi:[Ni,Ei]的距离Distance,计算公式为:
Figure BDA0002070754200000111
当Distance<RC时,对点进行更新,RC为所设定的目标点范围半径,更新机制为:
Figure BDA0002070754200000112
(2)通过状态信息进行航向规划:
(2.1)利用当前存储空间中的两点,结合无人艇当前的位置坐标S:(Ns,Es)和首向角
Figure BDA0002070754200000113
求取当前的视线夹角
Figure BDA0002070754200000114
横侧偏差SE
(2.2)依据横侧偏差值,将横侧偏差无因次化后,利用参数可调的Sigmoid函数,计算目标视线角的补偿值,其中Sigmoid补偿函数有如下形式:
Figure BDA0002070754200000115
式中rec_SE为上一控制循环时所计算所得SE值,Δt表示控制节拍,SM为Sigmoid函数输出,为算法移植考虑,将影响量均除以船宽B进行无因次化。
(2.3)将视线补偿值
Figure BDA0002070754200000116
与目标视线角
Figure BDA0002070754200000117
进行叠加,得到航向误差角
Figure BDA0002070754200000118
Figure BDA0002070754200000119
(3)根据航向规划信息,进行航向控制
(3.1)通过Sigmoid艏向控制器计算控制力矩Np,控制器有如下形式:
Figure BDA00020707542000001110
其中,aE为无人艇的艏摇角速度,IE为角速度误差积分,可调整参数如下:
Figure BDA0002070754200000125
(3.2)根据规划航速和海况估算推进器推力
(3.3)对于欠驱动无人艇,控制其沿船首方向的前进速度,首先,根据流速uw对规划航速up进行补偿修正得到补偿后的规划航速uI,方法如下:
Figure BDA0002070754200000121
式中
Figure BDA0002070754200000122
为流向,
Figure BDA0002070754200000123
为无人艇当前艏向
(3.4)根据补偿后的规划航速uI,通过查表运算,得到控制器的输出推力Xp,所查表格为通过仿真或者实验测得的推力-航速对应表格。
(4)对控制指令进行理解,并控制推进器执行指令动作
(4.1)首先,应求取左推进器的推力
Figure BDA0002070754200000126
和右推进器的执行推力XpR,通过如下公式计算:
Figure BDA0002070754200000124
(4.2)根据推力和推进器控制信号对应关系,求取推进器额定控制信号大小,并通过串口发送到推进器驱动器,控制推进器的运行,即完成了本循环的控制,之后经过一个控制节拍后,进入下一控制循环。

Claims (4)

1.一种水面无人艇路径跟踪控制方法,其特征在于,具体的实现步骤为:
步骤1:通过仪器接收当前无人艇运动的状态信息以及位置坐标信息,并进行转化处理;
步骤2:进行路径点的离散并根据点更新机制进行目标点的更新;
步骤2.1:将当前路径离散为按顺序散布在路径上的点阵P={P1,P2,……,Pn},其中Pi为点阵中第i个点的大地坐标,Pi=[Ni,Ei],1≤i≤n,点阵之间的距离Di,i+1,满足Di,i+1>RC,RC为根据位置感知误差而设置的目标点范围半径;
步骤2.2:按照目标点更新规则,向航向规划发送当前目标点,航向规划中的路径点存储空间记为{Pi-1,Pi},其中Pi-1表示P1或上一个已到达的目标点,Pi表示当前准备到达的目标点,在每一个控制节拍中计算无人艇当前位置坐标[Ns,Es]与当前目标点Pi:[Ni,Ei]的距离Distance,
Figure FDA0003407677990000011
当Dis tan ce<RC时,对点进行更新,RC为所设定的目标点范围半径,更新机制为
Figure FDA0003407677990000012
步骤3:通过状态信息进行航向规划,在航向规划模块中,计算当前目标点的视线角
Figure FDA0003407677990000013
视线余角
Figure FDA0003407677990000014
横侧偏差SE、视线补偿量并求得当前航向误差
Figure FDA0003407677990000015
步骤3.1:根据当前的首向角
Figure FDA0003407677990000016
无人艇位置的NED坐标S:(Ns,Es),将当前目标点坐标转化为无人艇随艇坐标系xoy下的坐标Pi:(xi,yi),该坐标系与水平面平行,其中o点为坐标系原点,位于无人艇质心,x轴垂直指向船首,y轴垂直指向右舷,转化公式如下:
Figure FDA0003407677990000017
步骤3.2:根据当前目标点在xoy坐标系下的位置,计算该点连线与x轴正方向的夹角即
Figure FDA0003407677990000018
Figure FDA0003407677990000019
取值范围及符号进行规定,连接点o与Pi,若yi>0,则将ox轴顺时针旋转,其与oPi重合的角度为
Figure FDA00034076779900000110
取值从0至π递加;反之若yi<0,则将ox轴逆时针旋转,其与oPi重合的角度为
Figure FDA00034076779900000111
取值从0至-π递减;
Figure FDA00034076779900000112
采用以下公式进行计算:
Figure FDA0003407677990000021
步骤3.3:根据存储空间中的目标点无人艇当前的位置和首向角进行处理,计算视线余角
Figure FDA0003407677990000022
该角的取值范围为
Figure FDA0003407677990000023
当无人艇位置位于目标点连线右侧时,定义
Figure FDA0003407677990000024
为负值,反之为正值;
为了判断无人艇位于的方位,使用如下方法:
构建向量Vp:(Np,Ep),为由上一个目标点Pi-1指向当前目标点Pi的向量;
Figure FDA0003407677990000025
构建向量
Figure FDA00034076779900000213
为由上一个目标点Pi-1指向当前船舶位置S:(Ns,Es)的向量;
Figure FDA0003407677990000026
以正北轴为基准,顺时针旋转为正向,分别求取向量Vp、Vs在NED坐标系中的方位角
Figure FDA0003407677990000027
Figure FDA0003407677990000028
取方位角的取值范围为[0,2π],对任意向量V:(N,E),其方位角
Figure FDA0003407677990000029
可按如下公式计算:
Figure FDA00034076779900000210
求得向量Vp、Vs得而方位角后,对方位角求差值:
Figure FDA00034076779900000211
根据
Figure FDA00034076779900000212
的取值范围,通过如下判据判定无人艇所在的规划线方位:
方位 取值范围 左侧 (0,π)∪[-2π,-π) 右侧 (-π,0)∪(π,2π] 线上 其他
步骤3.4:在求得无人艇相对于规划线方位后,求取无人艇首向与Vp的夹角
Figure FDA0003407677990000031
定义夹角范围为[-π,π],其中首向角位于Vp顺时针方向时为正,逆时针方向时为负;最后,通过以下公式便可求得
Figure FDA0003407677990000032
Figure FDA0003407677990000033
步骤3.5:求取横侧偏差SE
首先,当规划线不与E轴平行时,计算规划线Pi-1Pi的斜率kp,而后根据点到直线的距离公式即可求得横侧偏差SE
Figure FDA0003407677990000034
当Pi-1Pi//E时:
Figure FDA0003407677990000035
步骤3.6:使用Sigmoid函数对目标视线角进行补偿修正,最后得到航向误差角
Figure FDA0003407677990000036
Figure FDA0003407677990000037
式中rec_SE为上一控制循环时所计算得而SE值;Δt表示控制节拍;为算法移植考虑,将影响量均除以船宽B进行无因次化;将视线角与视线补偿量进行叠加即可得到航向误差角:
Figure FDA0003407677990000041
步骤4:根据航向规划信息,进行航向控制,计算控制器输出力矩Np,根据规划航速和海况估算推进器推力Xp
步骤5:对输出推力Xp、输出力矩Np进行推力分配,求得各推进器的执行信号,并控制推进器执行指令动作。
2.根据权利要求1所述的一种水面无人艇路径跟踪控制方法,其特征在于,所述步骤1的具体内容为:下位机通过串口接收相关传感器传递的感知信息,对接收到的信息通过相应的通讯协议进行解码,得到无人艇当前的经纬度坐标、航速、艏向角、风速、流速,将无人艇的经纬度坐标(Slat,Slon)转化为NED坐标系下的坐标点(Ns,Es)。
3.根据权利要求1所述的一种水面无人艇路径跟踪控制方法,其特征在于,所述步骤4的具体步骤为:
步骤4.1:通过Sigmoid艏向控制器计算控制力矩Np,计算公式为
Figure FDA0003407677990000042
其中,aE为无人艇的艏摇角速度,IE为角速度误差积分,其中可调整参数为比例参数k1、速度参数k2、积分参数k3、幅值参数
Figure FDA0003407677990000043
步骤4.2:根据规划航速和海况估算推进器推力Xp
步骤4.3:对于欠驱动无人艇,控制其沿船首方向的前进速度,根据流速uw对规划航速up进行补偿修正得到补偿后的规划航速uI
Figure FDA0003407677990000044
式中
Figure FDA0003407677990000045
为流向,
Figure FDA0003407677990000046
为无人艇当前艏向;
步骤4.4:根据补偿后的规划航速uI,通过查表运算,得到控制器的输出推力Xp,所查表格为通过仿真或者实验测得的推力-航速对应表格。
4.根据权利要求1所述的一种水面无人艇路径跟踪控制方法,其特征在于,所述步骤5的具体步骤为:
步骤5.1:求取左推进器的推力XPL和右推进器的执行推力XPR,计算公式为
Figure FDA0003407677990000051
其中,B为船宽;
步骤5.2:根据推力和推进器控制信号对应关系,求取推进器额定控制信号大小,并通过串口发送到推进器驱动器,控制推进器的运行,即完成了本循环的控制,之后经过一个控制节拍后,进入下一控制循环。
CN201910436861.7A 2019-07-11 2019-07-11 一种水面无人艇路径跟踪控制方法 Active CN110308719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910436861.7A CN110308719B (zh) 2019-07-11 2019-07-11 一种水面无人艇路径跟踪控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910436861.7A CN110308719B (zh) 2019-07-11 2019-07-11 一种水面无人艇路径跟踪控制方法

Publications (2)

Publication Number Publication Date
CN110308719A CN110308719A (zh) 2019-10-08
CN110308719B true CN110308719B (zh) 2022-02-22

Family

ID=68074938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910436861.7A Active CN110308719B (zh) 2019-07-11 2019-07-11 一种水面无人艇路径跟踪控制方法

Country Status (1)

Country Link
CN (1) CN110308719B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142527B (zh) * 2019-12-31 2023-08-11 陕西欧卡电子智能科技有限公司 无人船任意路径的追踪控制方法
CN111487966B (zh) * 2020-04-13 2022-09-09 哈尔滨工程大学 一种基于航路点的水面无人艇自适应路径跟踪控制方法
CN111487976B (zh) * 2020-05-03 2022-11-18 哈尔滨工程大学 一种倒车轨迹跟踪方法
CN111798701B (zh) * 2020-07-07 2022-07-26 中国船舶工业系统工程研究院 无人艇路径跟踪控制方法、系统、存储介质及终端
CN112558620B (zh) * 2020-12-15 2022-09-23 西北工业大学 一种欠驱动自主水下航行器的航向修正路径跟踪方法
CN112947512A (zh) * 2021-01-27 2021-06-11 昭通亮风台信息科技有限公司 一种基于ar的无人机电网巡线方法及系统
CN113932816B (zh) * 2021-11-16 2023-09-22 北京中科海讯数字科技股份有限公司 基于水声数据综合态势下的航迹优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955218A (zh) * 2014-04-28 2014-07-30 上海大学 一种基于非线性控制理论的无人艇轨迹跟踪控制装置及方法
CN108594807A (zh) * 2018-03-30 2018-09-28 武汉理工大学 一种无人水面艇折线路径跟踪控制系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955218A (zh) * 2014-04-28 2014-07-30 上海大学 一种基于非线性控制理论的无人艇轨迹跟踪控制装置及方法
CN108594807A (zh) * 2018-03-30 2018-09-28 武汉理工大学 一种无人水面艇折线路径跟踪控制系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
海洋环境下欠驱动无人艇航迹跟踪控制算法;陈霄等;《哈尔滨工业大学学报》;20181031;第50卷(第10期);第110-117页 *

Also Published As

Publication number Publication date
CN110308719A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110308719B (zh) 一种水面无人艇路径跟踪控制方法
US10095232B1 (en) Station keeping methods
JP5042906B2 (ja) 船舶用自動操舵装置
US5523951A (en) System and method for automatic ship steering
KR101370649B1 (ko) 무인잠수정의 경로 제어방법
CN103176451B (zh) 一种舰船辅助航行及编队指挥的方法
CN105511464A (zh) 一种船舶自主航行控制系统及控制方法
RU2442718C1 (ru) Способ определения гидродинамических параметров математической модели движения судна
CN111487966A (zh) 一种基于航路点的水面无人艇自适应路径跟踪控制方法
KR102339165B1 (ko) 소나를 이용한 기뢰 식별 기능을 구비하는 무인 잠수정
CN112015086B (zh) 一种欠驱动水面船有限时间路径跟踪输出反馈控制方法
CN111538339A (zh) 船舶航迹控制方法及装置
CN112327835A (zh) 一种无人艇滑模编队控制系统及其方法
CN104776847B (zh) 一种适用于水下导航系统单点估计陀螺漂移的方法
CN102411657A (zh) 自由航行状态下耙吸挖泥船动力定位的滤波器设计方法
CN111798702B (zh) 无人艇路径跟踪控制方法、系统、存储介质及终端
CN114967702A (zh) 一种无人艇控制系统及路径跟踪方法
CN114740859A (zh) 一种船只自动悬停方法及系统
CN113741433B (zh) 一种水面无人船的分布式编队方法
RU2759068C1 (ru) Способ автоматической проводки судна
CN113126492B (zh) 动力定位船舶自动路径跟踪方法
Braginsky et al. Correction of DVL error caused by seafloor gradient
KR101846019B1 (ko) 비행체 위치 산출 장치 및 방법
CN116339314A (zh) 一种基于自适应滑模的欠驱动无人艇航迹跟踪控制方法
JP4260612B2 (ja) 潮流推定方法および装置並びにこれを用いた航走体の制御方法および装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant