1.本发明涉及的是一种采用机器学习辨识系统的方法,更确切地说是一种基于高斯 过程的水下滑翔机系统辨识方法。
背景技术:
2.水下滑翔机作为无人无缆潜水器的一种,航行速度不如螺旋桨推进的水下自主航 行器,但它由自身净浮力提供驱动力,具有能耗小、续航能力长、制造成本低、可重 复利用、投放回收方便等优势,适于大范围长期的海洋立体监测,能够长时间不间断 地进行海洋信息的搜集,海洋探测和科研的范围从时间和空间上得到了拓展,特别噪 声小、隐蔽性好等特点使其在军事上的应用前景无可估量。因此,对于水下滑翔机建 模的研究是非常必要的。
3.传统的建模方法是基于牛顿—拉格朗日力学推导出来的数学模型。该数学模型由 一系列需要计算的水动力系数组成,以获得准确的模型。多年来,人们提出了多种计 算水动力系数的方法,大致分为三种:1)试验法:进行一系列的模型试验,如旋转臂 和平面运动力学,这种方法需要大量实验,周期长,成本也较高;2)计算流体力学 (cfd):基于模型的物理结构计算系数,这种方法计算量较大,网格划分方法和边界 条件对结果有影响,不同的用途,模型结构也有差别,此外,在某些应用中,某些系 数的精度要求在5%以内。因此,系数的可变性和高精度要求,使得计算繁琐甚至不 可能获得一个基于物理规则的单一精确的分析系统模型。3)利用观测器:常用的经典 方法有最小二乘法,扩展卡尔曼滤波等,但这些方法需要用线性化来逼近非线性,而 水下滑翔机系统具有非线性性强,耦合度强的特点,易造成误差不收敛;其次,这些 方法依赖于系统初值,对观测数据的异常值较为敏感,易导致辨识数据误差较大或辨 识精度较低。
4.机器学习算法不局限于水动力系数的计算,因为它们可以学习作为系统的一部分 或整个系统的行为。如神经网络通过训练大量数据来调整权重,从而确定模型,但这 种方法需要的数据量多,计算量大。
技术实现要素:
5.高斯过程(gaussian process,gp)作为一种概率非参数多变量模型的使用得到了 显著的发展。gp使用贝叶斯概率理论来做出可能的预测,而不是对观测数据提供单一 的“最佳拟合”。gp模型在动态系统建模和控制中被广泛采用,因为它具有在相对较少 的识别数据和噪声输出下工作良好的优点。此外,gp可以通过方差函数计算每一步预 测结果的不确定性,并将不确定性代入下一次预测,这为时间序列预测和控制提供了 更广泛的应用。本发明正是采用gp方法为水下滑翔机建模。
6.本发明提出一种基于高斯过程给水下滑翔机建模的方法,旨在避免了机理建模的 复杂性,在数据量较少且带有观测噪声的情况下,对系统输出做出较好的预测。
7.本发明的实现步骤如下:
8.步骤1:获取水下滑翔机系统的输入输出数据,把数据分为训练集和验证集;
9.步骤2:根据水下滑翔机系统特性,选择满足高斯过程算法的系统模型;
10.步骤3:根据选择的水下滑翔机系统模型,构造满足系统模型的输入输出数据;
11.步骤4:确定核函数;
12.步骤5:利用训练集训练高斯过程模型:选择合适的最优化方法获得最优超参数, 建立水下滑翔机模型;
13.步骤6:利用学习好的水下滑翔机模型,对水下滑翔机系统新的输入进行预测。
14.有益效果
15.总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要具备以下的 技术优点如下:
16.1、与传统的机理建模方法相比,本发明避免了复杂性;
17.2、gp使用贝叶斯概率理论来做出可能的预测,而不是对观测数据提供单一的“最 佳拟合”,避免了因部分观测数据异常而引起较大的误差;
18.3、与神经网络训练模型相比,在减少了数据量和计算量情况下,得到了较好的预 测效果,预测效果的rmse(均方根误差)在3.0*10-5
左右。
19.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
附图说明
20.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得 明显和容易理解,其中:
21.图1:系统模型框架;
22.图2:系统的输入滑块位置;
23.图3:系统的输入差动舵;
24.图4:系统的输入浮力;
25.图5:系统的输出航向角;
26.图6:系统的输出俯仰角;
27.图7:系统的输出横滚角;
28.图8:航向角预测效果图;
29.图9:俯仰角预测效果图;
30.图10:横滚角预测效果图。
具体实施方式
31.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合流程图和仿真结 果,对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅用以解释本 发明,并不限定用于本发明。
32.步骤1中,获取水下滑翔机的输入输出数据,根据水下滑翔机系统的特点,系统 的输入为滑块位置差动舵和浮力输出为俯仰角横滚角和航
向角n数据总量取1500个,训练集为总数据量的70%,30%为验证集。
33.步骤2中,采用具有外部输入的非线性自回归模型(nonlinear autoregressive model with exogenous input,narx),即:
34.y(k)=f(y(k-1),
…
y(k-n)
…
u(k-1),
…
u(k-m))+ε(k)
35.其中,y(k)为系统当前输入,y(k-1),
…
y(k-n)为系统过去的k时刻的输出, u(k-1),
…
u(k-m)为系统的输入,ε(k)为测量噪声。
36.根据水下滑翔机系统特点,构造新的输入输出数据,采用二阶自回归模型,即:
37.yj(k)=f(yj(k-1),yj(k-2),u1(k),u2(k),u3(k))+εj(k) j=1,2,3
38.其中,yj表示三个姿态角,εj(k)为高斯白噪声,均值为0,方差σ
y2
,系统模型如 图1,从而在步骤3中,构造出新的输入输出数据
39.步骤4中,选择平方指数协方差函数作为核函数,即:
[0040][0041]
其中,σf为回归函数的大小,λ为回归函数的长度尺度超参数的平方对角矩阵。σf和λ、以及假设的系统噪声的方差σ
y2
,这些是系统未知的超参数。
[0042]
进入到步骤5中,利用极大似然法对这些超参数求偏导,再用梯度下降法寻求最 优解,即训练模型。具体实现如下:
[0043]
假设带观测噪声的滑翔机模型为:y=f(x)+ε
[0044]
其中,y为航向角、俯仰角和横滚角的实际观测值,f(x)为无噪声的滑翔机系统输 出,x为滑翔机的滑块位置、差动舵和浮力输入,ε为噪声观测值,假设噪声服从高 斯分布,即ε~n(0,σ
y2
)。
[0045]
若m(x)为f(x)的均值,k(x,
′
x)为f(x)的方差,则得到f的先验分布为 f(x)~n(m(x),k(x,x
′
)),则y的先验分布为y~n(m(x),k(x,x)+σ
y2
i),从而得到最大 似然估计为:
[0046][0047]
其中,x=[x1ꢀ…ꢀ
xn]
t
为输入样本总量,k(x,x)=(k
i,j
)为对称正定协方差矩阵,k
i,j
是利用核技术表示表示xi与xj之间的相关关系。
[0048]
将式(1)取负对数可得式(2)
[0049][0050]
对式(2)求偏导,用共轭梯度下降法求最优解,即可得到超参数θ(σf,λ,σy),即 确定了水下滑翔机模型。
[0051]
步骤6中,确定了滑翔机模型后,需要对新的滑翔机输入x
*
预测其输出姿态角f
*
, 预测新数据f
*
(x
*
)具体实现如下:
[0052]
建立f
*
和y的联合分布为:
[0053][0054]
其中k(x,x
*
)=k(x
*
,x)
t
为测试集和训练集之间的协方差,k(x
*
,x
*
)为测试集和 测试集之间的协方差。
[0055]
则预测输出f
*
的边缘分布为:p(f
*
|x
*
,x,y)=n(m,s)
[0056]
m=m(x
*
)+k(x
*
,x)[k(x,x)+σ
y2
i]-1
(y-m(x))
[0057]
s=k(x
*
,x
*
)-k(x
*
,x)[k(x,x)+σ
y2
i]-1
k(x,x
*
)
[0058]
从而得到m则为预测均值,即滑翔机的预测姿态,s为方差。
[0059]
在matlab平台上,做仿真分析,预测精度用均方根误差(rmse)来描述,即:
[0060][0061]
其中,y
si
为预测值,yi为观测值,n为预测数据量。
[0062]
航向角的预测效果图如图8所示,求得rmse=3.1483*10-5
;
[0063]
俯仰角的预测效果图如图9所示,求得rmse=2.7026*10-5
;
[0064]
横滚角的预测效果图如图10所示,求得rmse=3.3868*10-5
。
[0065]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例 性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和 宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:
1.一种基于高斯过程的水下滑翔机系统辨识方法,其特征在于:包括以下步骤:步骤1:获取水下滑翔机系统的输入输出数据,把数据分为训练集和验证集;步骤2:根据水下滑翔机系统特性,选择满足高斯过程算法的系统模型;步骤3:根据选择的水下滑翔机系统模型,构造满足系统模型的输入输出数据;步骤4:确定核函数;步骤5:利用训练集训练高斯过程模型:选择最优化方法获得最优超参数,建立水下滑翔机模型;步骤6:利用学习好的水下滑翔机模型,对水下滑翔机系统新的输入进行预测。2.根据权利要求1所述一种基于高斯过程的水下滑翔机系统辨识方法,其特征在于:步骤1中水下滑翔机系统的输入为滑块位置差动舵和浮力输出为俯仰角横滚角和航向角3.根据权利要求2所述一种基于高斯过程的水下滑翔机系统辨识方法,其特征在于:选择的系统模型为具有外部输入的非线性自回归模型:y(k)=f(y(k-1),
…
y(k-n)
…
u(k-1),
…
u(k-m))+ε(k)其中,y(k)为系统当前输入,y(k-1),
…
y(k-n)为系统过去的k时刻的输出,u(k-1),
…
u(k-m)为系统的输入,ε(k)为测量噪声。4.根据权利要求3所述一种基于高斯过程的水下滑翔机系统辨识方法,其特征在于:步骤3中,采用二阶自回归模型构造新的输入输出数据:y
j
(k)=f(y
j
(k-1),y
j
(k-2),u1(k),u2(k),u3(k))+ε
j
(k)j=1,2,3其中,y
j
表示三个姿态角,ε
j
(k)为高斯白噪声,均值为0,方差σ
y2
,构造出新的输入输出数据5.根据权利要求4所述一种基于高斯过程的水下滑翔机系统辨识方法,其特征在于:步骤4中选择平方指数协方差函数作为核函数:其中,σ
f
为回归函数的大小,λ为回归函数的长度尺度超参数的平方对角矩阵,σ
f
和λ、以及假设的系统噪声的方差σ
y2
,是系统未知的超参数。6.根据权利要求6所述一种基于高斯过程的水下滑翔机系统辨识方法,其特征在于:步骤5中利用极大似然法对超参数求偏导,再用梯度下降法寻求最优解。
技术总结
本发明提出一种基于高斯过程的水下滑翔机系统辨识方法,首先获取水下滑翔机系统的输入输出数据,把数据分为训练集和验证集;再根据水下滑翔机系统特性,选择满足高斯过程算法的系统模型;之后根据选择的水下滑翔机系统模型,构造满足系统模型的输入输出数据;确定核函数;并利用训练集训练高斯过程模型:选择合适的最优化方法获得最优超参数,建立水下滑翔机模型;最后利用学习好的水下滑翔机模型,对水下滑翔机系统新的输入进行预测。本发明避免了机理建模的复杂性,在数据量较少且带有观测噪声的情况下,对系统输出做出较好的预测。对系统输出做出较好的预测。对系统输出做出较好的预测。
技术研发人员:高剑 潘光 宋保维 陈依民 张福斌 曹永辉
受保护的技术使用者:西北工业大学
技术研发日:2022.02.06
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-23518.html