1.一种基于翼帆和舵联动的无人帆船航向控制方法,其特征在于,包括如下步骤:
S110:当响应于用户设置任务点操作时,获取所有任务点位置信息,其中,由当前位置到达下一个任务点坐标为Pnext(lonnext,latnext),lonnext为该任务点的经度,latnext为该任务点的纬度;
S120:获取目标无人帆船的当前位置P0(lon0,lat0)、当前航向ψ0和当前相对于所述目标无人帆船的相对风向Hwind,其中,lon0为当前位置的经度,lat0为当前位置的纬度;
S130:根据所述任务点坐标Pnext(lonnext,latnext)、所述当前位置P0(lon0,lat0)和所述相对风向Hwind,计算得到所述当前位置到该任务点的期望航向ψtar,并根据所述相对风向Hwind,得到翼帆期望帆角Sailtar,基于所述翼帆期望帆角Sailtar,向翼帆驱动电机发送Sailtar指令,以使翼帆到达与所述翼帆期望帆角Sailtar对应的帆角位置;
S140:根据所述期望航向ψtar、所述当前航向ψ0和所述翼帆期望帆角Sailtar,计算得到期望舵角δtar;
S150:根据所述期望舵角δtar和所述当前航向ψ0,基于位置式PID控制算法,调整该目标无人帆船的舵角,同时判断所述目标无人帆船是否能到达期望航向ψtar,若能,则跳转至S110,若不能,则跳转至S160;S160:在预设时间段内,若该目标无人帆船的舵角到达最大舵角,依然无法调整至期望航向ψtar,则通过调整艏侧推调整航向。
2.根据权利要求1所述的基于翼帆和舵联动的无人帆船航向控制方法,其特征在于,根据所述任务点坐标Pnext(lonnext,latnext)、所述当前位置P0(lon0,lat0)和所述相对风向Hwind,计算得到所述当前位置到该任务点的期望航向ψtar的步骤包括:利用公式 计算目标无人帆船的当前位置P0(lon0,lat0)到任务
点Pnext(lonnext,latnext)的期望航向ψtar,其中,当相对风向Hwind为[0°,+30°]时,ψtar=+30°,当相对风向Hwind为[‑30°,0°]时,ψtar=‑30°。
3.根据权利要求1所述的基于翼帆和舵联动的无人帆船航向控制方法,其特征在于,根据所述相对风向Hwind,得到翼帆期望帆角Sailtar的步骤包括:获取相对风向与翼帆帆角的关系对应表;
根据所述关系对应表和所述相对风向Hwind,得到翼帆期望帆角Sailtar。
4.根据权利要求1所述的基于翼帆和舵联动的无人帆船航向控制方法,其特征在于,根据所述期望航向ψtar、所述当前航向ψ0和所述翼帆期望帆角Sailtar,计算得到期望舵角δtar的步骤包括:将翼帆受力F2分解为为目标无人帆船提供前进动力的力F2y=F2×cos(Sailtar)和使目标无人帆船偏离当前航向的转向力F2x=F2×sin(Sailtar),并基于所述转向力,得到使目标无人帆船偏离当前航向的转向力矩M2=F2x×sin(Sailtar)×L2,其中,L2为翼帆施力点到目标无人帆船船体重心的距离;
将舵受力F3进行分解后,得到舵使目标无人帆船偏离当前航向的转向力矩M3=F3x×cos(δtar)×L3,其中,F3x为分解舵受力F3得到的舵使目标无人帆船偏离当前航向的转向力,L3为舵施力点到目标无人帆船船体重心的距离;
根据目标无人帆船航向的力矩平衡,则M2+M3=0;
根据M2=F2x×sin(Sailtar)×L2、M3=F3x×cos(δtar)×L3和M2+M3=0,得到期望舵角δtar。
5.根据权利要求1所述的基于翼帆和舵联动的无人帆船航向控制方法,其特征在于,根据所述期望舵角δtar和所述当前航向ψ0,基于位置式PID控制算法,调整该目标无人帆船的舵角,同时判断所述目标无人帆船是否能到达期望航向ψtar的步骤包括:通过位置式PID控制算法,根据公式e=ψtar‑ψ0调整目标无人帆船的舵角e,同时根据公式 计算得到舵角控制量δ(n),其中,δ(n)为第n个采样时刻PID调节单元的输出量即舵角控制量,e(n)为第n个采样时刻的输入单元获得实际偏差量,KP为比例系数,KI为积分系数,KD为微分系数,Δ为翼帆受力因子,Vwind为当前风速,L2为翼帆施力点到目标无人帆船船体重心的距离;根据所述舵角控制量调整所述目标无人帆船的舵角的同时,判断所述目标无人帆船是否能到达期望航向ψtar。
6.根据权利要求1所述的基于翼帆和舵联动的无人帆船航向控制方法,其特征在于,所述S160的步骤包括:若通过调整艏侧推调整航向,则M1+M2+M3=0,且目标无人帆船的舵角为满舵δmax,M2值、翼帆帆角和M3值均固定,其中,M1为目标无人帆船艏侧推为该目标无人帆船提供的艏摇力矩,M2为翼帆使目标无人帆船偏离当前航向的转向力矩,M3为舵使目标无人帆船偏离当前航向的转向力矩;
通过PID控制算法,根据公式e=ψtar‑ψ0和公式
调节目标无人帆船的航向,其中,U(n)
为第n个采样时刻PID调节单元的输出量即为艏侧推的电机转速,e(n)为第n个采样时刻的输入单元获得实际偏差量,KP为比例系数,KI为积分系数,KD为微分系数。
7.根据权利要求1所述的基于翼帆和舵联动的无人帆船航向控制方法,其特征在于,所述S110的步骤之前,还包括:对目标无人帆船的所有设备依次进行上电和运行检查,以完成各个设备的初始化。
8.一种基于翼帆和舵联动的无人帆船航向控制系统,其特征在于,包括:
任务点设置模块,用于当响应于用户设置任务点操作时,获取所有任务点位置信息,其中,由当前位置到达下一个任务点坐标为Pnext(lonnext,latnext),lonnext为该任务点的经度,latnext为该任务点的纬度;
位置获取模块,用于获取目标无人帆船的当前位置P0(lon0,lat0)、当前航向ψ0和当前相对于所述目标无人帆船的相对风向Hwind,其中,lon0为当前位置的经度,lat0为当前位置的纬度;
期望航向计算模块,用于根据所述任务点坐标Pnext(lonnext,latnext)、所述当前位置P0(lon0,lat0)和所述相对风向Hwind,计算得到所述当前位置到该任务点的期望航向ψtar,并根据所述相对风向Hwind,得到翼帆期望帆角Sailtar,基于所述翼帆期望帆角Sailtar,向翼帆驱动电机发送Sailtar指令,以使翼帆到达与所述翼帆期望帆角Sailtar对应的帆角位置;
期望舵角计算模块,用于根据所述期望航向ψtar、所述当前航向ψ0和所述翼帆期望帆角Sailtar,计算得到期望舵角δtar;
舵角调整模块,用于根据所述期望舵角δtar和所述当前航向ψ0,基于位置式PID控制算法,调整该目标无人帆船的舵角,同时判断所述目标无人帆船是否能到达期望航向ψtar,若能,则跳转至任务点设置模块,若不能,则跳转至艏侧推调整模块;
艏侧推调整模块,用于在预设时间段内,若该目标无人帆船的舵角到达最大舵角,依然无法调整至期望航向ψtar,则通过调整艏侧推调整航向。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1‑7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1‑7中任一项所述的方法。