本发明涉及人工智能及自动控制,尤其是指一种基于数据驱动的双事件触发无人艇航向控制方法及装置。
背景技术:
1、随着人们对海洋资源的勘探和开发日益重视的趋势的推动,无人艇(usvs)在近年来得到了广泛的发展和应用,无人艇配备了自主规划和导航能力,能够执行巡逻、监视、侦察和环境监测等任务,提高水上任务的安全性和效率,减少人力成本和风险,这些能力引起了研究人员的极大关注。
2、对于usvs而言,航向控制是一个至关重要的问题。准确的航向控制,才能使船舶安全有效的执行各种任务。然而,在不同速度下由于船体湿表面积、吃水深度及其他物理参数的变化,导致水动力系数发生显著变化,从而使得获取精确模型变得困难,进而难以对船舶进行精准的航向控制。
3、现有技术中,大部分对无人艇的控制方法都是先建立水面船的初始模型,再设计控制系统完成对水面船的航向控制,但这种方法需要对模型进行不断识别且控制效果不佳,造成了时间与算力的浪费或者使用单一的无模型自适应控制方法进行航向控制,然而单一的无模型自适应控制可能对外部干扰、噪声和测量误差比较敏感,从而影响对无人艇的控制性能,无法完全满足usvs对鲁棒性和精准度的要求。同时在实际应用中,能量消耗问题也同样重要,考虑到海上通讯带宽受限,常出现通信资源受限的情况,为保证系统在有限的带宽内仍能正常运行,考虑减轻信号传输负担、节省通信资源的无人艇航向控制更具有航海实践意义。
4、综上,现有技术中对无人艇难以获取精确模型进而难以进行精准的航向控制且通信资源常常受限的问题亟待解决。
技术实现思路
1、为此,本发明所要解决的技术问题在于克服现有技术中难以获取无人艇的精确模进行精准的航向控制,且通信资源受限的问题。
2、为解决上述技术问题,本发明提供了一种基于数据驱动的双事件触发无人艇航向控制方法,包括以下步骤:
3、获取无人艇在各时刻的实际航向角度及预期航向角度,得到各时刻无人艇航向角度误差;
4、根据无人艇航向角误差建立非线性终端滑模面函数,根据所述非线性终端滑模面函数建立二阶离散滑模函数;根据所述非线性终端滑模面函数和二阶离散滑模函数,设计等效增量控制方程和切换控制方程并构建无人艇的控制器的控制模型;
5、将当前时刻和上一时刻的无人艇航向角度误差输入所述无人艇的控制器,输出当前时刻的控制信号;
6、基于上一输入触发时刻的目标控制信号,判断当前时刻的等效增量控制值与切换控制值之和是否满足输入触发条件;若满足,则将当前时刻设置为当前输入触发时刻,将当前时刻的控制信号作为当前输入触发时刻的目标控制信号发送到执行器;若不满足,则将上一输入触发时刻的目标控制信号作为当前输入触发时刻的目标控制信号发送到执行器;
7、执行器根据接收到的当前时刻的目标控制信号对无人艇的航向进行调整控制;根据该当前时刻的目标控制信号计算出当前时刻的输出航向角度发送到传感器;
8、基于上一输出触发时刻的目标输出信号,判断当前时刻的输出航向角度与上一输出触发时刻的输出航向角度之差是否满足输出触发条件;若满足,则将当前时刻设置为当前输出触发时刻,并将当前时刻的输出航向角度作为当前输出触发时刻的目标输出信号发送到无人艇的控制器中;若不满足,则将上一输出触发时刻的输出航向角度作为当前输出触发时刻的目标输出信号发送至所述无人艇的控制器;
9、同时,在当前时刻的等效增量控制值与切换控制值之和满足输入触发条件时,根据当前输入触发时刻的目标控制信号、当前输出触发时刻的目标输出信号、上一输入触发时刻的伪偏导数值更新等效增量输入控制方程、切换控制方程中的伪偏导数并传送到无人艇的控制器中;在当前时刻的等效增量控制值与切换控制值之和不满足输入触发条件时,将上一输入触发时刻的伪偏导数值传送到无人艇的控制器中;
10、循环迭代上述步骤,直至达到预设的运行时间,结束对无人艇的航向控制。
11、优选地,所述无人艇航向角度误差,表示如下:
12、e(k)=yd(k)-y(k)
13、其中,yd(k)表示当前时刻k的预期航向角度,y(k)表示当前时刻k的实际航向角度。
14、优选地,所述非线性终端滑模面函数,表示如下:
15、s(k)=e(k)+α1e(k-1)+α2sigγ(e(k-1))
16、其中,sigγ(e(k))=|e(k)|γsgn(e(k)),sgn()是符号函数;α1、α2、γ均表示常参数,满足0<α1<1、0<α2<1、0<γ<1;
17、所述二阶离散滑模函数表示如下,其中-1<β<0表示设计参数:
18、
19、优选地,所述等效增量控制方程,表示如下:
20、
21、其中,δueq(k)表示等效增量控制值,表示伪偏导数的预估值,表示伪偏导数,σ表示一个设计常数;d(k)表示在当前时刻k受到的干扰值,δd(k)=d(k)-d(k-1);
22、所述切换控制方程,表示如下:
23、
24、其中,δusw(k)表示切换控制值,λs和q均表示常参数,满足如下条件λs>d、0<q<1,d表示一个正实数。
25、优选地,所述无人艇的控制器的控制模型,表示如下:
26、u(k)=u(k-1)+δueq(k)+δusw(k)
27、其中,u(k)表示无人艇当前时刻的控制信号,δueq(k)表示当前时刻的等效增量控制值,δusw(k)表示当前时刻的切换控制值。
28、优选地,所述输入触发条件包括:
29、定义kr(r=1,2,...,)为满足输入触发条件的输入触发时刻;r代表输入触发条件的成功触发次数,设计满足输入触发条件的输入触发时刻kr(r=1,2,...,)如下:
30、
31、其中,z1(k)=δueq(k)+δusw(k);当z1(k)大于时,成功触发;表示一个正常数,δ表示一个常参数,满足0<δ<1;
32、结合输入触发条件,当前时刻的控制信号可表示为:
33、
34、优选地,所述当前时刻的输出航向角度表示如下:
35、
36、y(k+1)=f(k+1)+g1i(k+1)
37、其中,f(k),i(k),u(k)分别表示当前时刻k的航向角、角速度、舵角,o和t表示机动系数,ts表示采样时间,g1>0表示角速度反馈增益。
38、优选地,所述输出触发条件包括:
39、定义kc(c=1,2,...,)为满足输出触发条件的输出触发时刻;c表示输出触发条件的成功触发次数,设计满足输出触发条件的输出触发时刻kc(c=1,2,...,)如下:
40、
41、其中,h表示一个正常数,表示标准触发阈值,v(k)表示动态参数,其更新标准如下,其中x表示预制参数:
42、
43、表示当前时刻的输出航向角度;结合输出触发条件后,当前时刻的输出航向角度可表示为:
44、
45、优选地,所述伪偏导数更新方案包括:
46、
47、其中,μ表示一个正常数,η∈(0,1];
48、设计伪偏导数重置机制如下:
49、
50、其中,ε表示一个预设的正值,表示的初始值,并且满足优选地,一种基于数据驱动的双事件触发无人艇航向控制装置,包括:
51、获取数据模块,用于获取无人艇在各时刻的实际航向角度及预期航向角度,得到各时刻无人艇航向角度误差;
52、构建控制模型模块,用于根据无人艇航向角误差建立非线性终端滑模面函数,根据所述非线性终端滑模面函数建立二阶离散滑模函数;根据所述非线性终端滑模面函数和二阶离散滑模函数,设计等效增量控制方程和切换控制方程并构建无人艇的控制器的控制模型;
53、生成控制信号模块,用于将当前时刻和上一时刻的无人艇航向角度误差输入所述无人艇的控制器,输出当前时刻的控制信号;
54、输入触发条件判断模块,用于基于上一输入触发时刻的目标控制信号,判断当前时刻的等效增量控制值与切换控制值之和是否满足输入触发条件;若满足,则将当前时刻设置为当前输入触发时刻,将当前时刻的控制信号作为当前输入触发时刻的目标控制信号发送到执行器;若不满足,则将上一输入触发时刻的目标控制信号作为当前输入触发时刻的目标控制信号发送到执行器;
55、控制航向模块,用于执行器根据接收到的当前时刻的目标控制信号对无人艇的航向进行调整控制;根据该当前时刻的目标控制信号计算出当前时刻的输出航向角度发送到传感器;
56、输出触发条件判断模块,用于基于上一输出触发时刻的目标输出信号,判断当前时刻的输出航向角度与上一输出触发时刻的输出航向角度之差是否满足输出触发条件;若满足,则将当前时刻设置为当前输出触发时刻,并将当前时刻的输出航向角度作为当前输出触发时刻的目标输出信号发送到无人艇的控制器中;若不满足,则将上一输出触发时刻的输出航向角度作为当前输出触发时刻的目标输出信号发送至所述无人艇的控制器;
57、伪偏导数更新模块,同时,在当前时刻的等效增量控制值与切换控制值之和满足输入触发条件时,根据当前输入触发时刻的目标控制信号、当前输出触发时刻的目标输出信号、上一输入触发时刻的伪偏导数值更新等效增量输入控制方程、切换控制方程中的伪偏导数并传送到无人艇的控制器中;在当前时刻的等效增量控制值与切换控制值之和不满足输入触发条件时,将上一输入触发时刻的伪偏导数值传送到无人艇的控制器中;
58、循环控制模块,用于循环迭代上述步骤,直至达到预设的运行时间,结束对无人艇的航向控制。
59、本发明的上述技术方案相比现有技术具有以下有益效果:
60、本发明所述的一种基于数据驱动的双事件触发无人艇航向控制方法,使用了无模型自适应滑模控制方法,无需得知无人艇的内部模型信息便可实现对无人艇的航向控制;同时本发明方法考虑到网络通信资源有限与网络延迟的影响,设计了双通道事件触发通信机制,减少了响应时间,且数据信息满足设定的触发条件才能触发下一事件,节省了计算资源避免了数据信息的重复传输,解决了上述问题,使得本发明方法满足现实应用条件。