一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种无人船多参数粒子群辨识系统及方法

2022-11-19 10:12:17 来源:中国专利 TAG:


1.本发明属于无人船领域,具体涉及一种无人船多参数粒子群辨识系统及方法。


背景技术:

2.随着海洋与河域相关商业、军事的发展,无人船由于其具有体积小、速度高、成本低和无人员伤亡风险等优点,成为执行搜救、侦察、监测、火力打击、反水雷和反潜等任务的重要平台。无人船运动控制是实现自主、可靠、安全航行的关键技术之一,而无人船数学模型作为运动控制的基础蕴藏着非常复杂的运动机理,模型系数根据无人船航行物理意义可分为惯性矩阵系数、向心力矩阵系数和水动力矩阵系数,因此精确识别无人船参数十分重要。目前,极大似然、递归最小二乘法、卡尔曼滤波算法等传统参数辨识方法存在辨识精度低且泛化能力差的缺点,而人工智能算法如递推神经网络、支持向量机等虽然精度较高,但辨识过程较为复杂且辨识速度慢。此外,传统的辨识方法在辨识流程上大多必须先采集无人船的航行数据,再回室内进行辨识,这种流程费时费力且易出现人为错误。综上所述,研发出一种能够快速、准确获取模型参数的辨识方法具有重要的工程意义。


技术实现要素:

3.本发明的目的在于提供一种无人船多参数粒子群辨识系统及方法,该系统及方法有利于快速、准确地对无人船模型参数进行辨识。
4.为实现上述目的,本发明采用的技术方案是:一种无人船多参数粒子群辨识系统,包括状态可测无人船和显控终端,所述状态可测无人船包括无人船和无人船状态监测装置,用于实时操控无人船航行、监测无人船的状态信息并上传至显控终端;所述显控终端上具有模型构建单元和辨识单元,所述模型构建单元建立无人船的三自由度运动模型,将转速指令输入至三自由度运动模型中获得三自由度无人船模型的仿真信息,并将仿真信息与无人船实际航行状态信息进行对比,获得前进速度误差信息、横漂误差信息和转艏角速度误差信息,然后建立目标函数以评价辨识参数优劣,所述辨识单元采用多目标粒子群算法寻找一组无人船模型参数使所述目标函数值最小,即得到无人船模型的最佳参数值。
5.进一步地,所述无人船为双螺旋桨式无人船,包括船体、电源模块、动力模块、数据通信模块和中央处理器模块,所述中央处理器模块通过数据通信模块接收显控终端下发的航行路径与请求数据命令,控制无人船按设定路径航行,并控制无人船状态监测装置获取无人船的状态信息;所述无人船状态监测装置包括数据采集模块和数据处理模块,所述数据采集模块包括多种传感设备,以采集无人船包括速度、加速度、螺旋桨转速、定位坐标、艏向角和航向角的状态信息,通过数据处理模块对获取到的信息进行处理后发送至中央处理器模块,然后通过中央处理器模块将无人船的状态信息上传至显控终端。
6.进一步地,所述电源模块采用大容量锂电池,通过电流计实现稳压与电流测量;所述动力模块采用双螺旋桨无刷电机作为推进器,通过差速实现转向;所述数据通信模块采用无线通信设备,通过轻量级消息传输协议mavlink实现与显控终端的实时信息交互;所述
中央处理器模块为无人船的控制核心,主要承担各个模块的信息处理与交互,同时实现无人船的运动控制。
7.进一步地,所述数据采集模块通过加速计获取无人船的航行速度和加速度,通过霍尔传感器获取螺旋桨转速实际值,通过gps模块获取无人船的经纬度信息即定位坐标,通过电子罗盘获取艏向角信息,通过陀螺仪获取航向角信息,并将获取到的信息传输给数据处理模块;所述数据处理模块将获取到的信息通过卡尔曼滤波算法处理后打包发送至中央处理器模块。
8.进一步地,所述显控终端包括计算机和安装于计算机上的参数辨识软件模块,所述参数辨识软件模块主要由控制单元、显示单元、模型构建单元和辨识单元组成,用户通过控制单元控制无人船的航行路径,并通过显示单元实时显示无人船的状态信息;所述模型构建单元建立无人船的三自由度运动模型,将转速指令输入至三自由度运动模型中获得三自由度无人船模型的仿真信息,包括仿真前进速度、仿真横漂速度和仿真转艏角速度,并将仿真信息与无人船实际航行状态信息进行对比,获得前进速度误差信息、横漂误差信息和转艏角速度误差信息,然后建立目标函数以评价辨识参数优劣;所述辨识单元采用多目标粒子群算法寻找一组无人船模型参数使所述目标函数值最小,即得到无人船模型的最佳参数值,从而实现对无人船模型参数的辨识。
9.进一步地,所述模型构建单元建立了一种fossen三自由度无人船模型,其表达式为:
[0010][0011][0012][0013][0014][0015]
其中,u、v、r分别为无人船的纵荡速度、横荡速度和转艏速度,m为无人船的质量,iz为z轴的惯性矩,分别为纵向和横向附加质量,为附加转动惯量,xu、yv、yr、nv、nr为线性水动力阻尼系数,x
|u|u
、y
|v|v
、y
|r|v
、y
|v|r
、y
|r|r
、n
|v|v
、n
|r|v
、n
|v|r
、n
|r|r
为非线性水动力阻尼系数,c和d为无人船螺旋桨推力系数,d
p
为螺旋桨到无人船中轴的距离。
[0016]
本发明还提供了基于上述系统的无人船多参数粒子群辨识方法,所述辨识单元采用多目标粒子群算法对无人船模型参数进行辨识,包括以下步骤:
[0017]
初始化粒子群与档案集:在搜索空间里随机产生m个粒子作为初始种群,将该种群定义为模型中需要辨识的未知参数,计算各粒子目标函数值,根据pareto支配原则得到初
始archive档案集;
[0018]
搜寻引导粒子:从初始archive档案集中,根据自适应超网格法对粒子拥挤度进行估计,利用密度信息,结合轮盘赌法选取引导粒子;
[0019]
更新粒子群与档案集:根据速度和位置迭代公式更新每个粒子,继续计算各粒子目标函数值,更新archive档案集,并寻求引导粒子与个体历代最优;
[0020]
循环更新粒子群与档案集直至达到仿真信息与实测航行状态信息误差最小时,根据选取策略,从最终档案集中选取相对最优解作为模型参数值。
[0021]
进一步地,所述多目标粒子群算法在dim维的搜索空间对粒子群初始化,生成m个初始粒子:
[0022]
x=rand(m,dim)*(x
max-x
min
) x
min
[0023]
式中,x
max
和x
min
为粒子群搜索空间的上界和下界,rand(m,dim)为产生m个dim维的粒子,粒子每个元素均为[0,1]之间的随机小数;
[0024]
从初始化粒子群中,根据pareto支配原则,求出一组非劣解;
[0025]
寻求引导粒子:将目标函数空间等分为n1×
n2×
n3网络,其中第i个目标的网络模长ni为:
[0026]
ni=(f
imax-f
imin
)/n,(i=1,2,3)
[0027]
式中,f
imax
、f
imin
为粒子在第i个目标函数上的极大值和极小值,n为archive档案集当前迭代中成员个数;
[0028]
非劣解在网格空间的位置pi为:
[0029]
pi=mod((f
l,i-f
imin
)/di) 1
[0030]
式中,f
l,i
为第l个非劣优解对应的第i个目标函数值,mod为取整函数,由此求出每个网格内包含的非劣解个数;将一个网格中内的非劣解个数作为粒子的分布密度信息,并结合轮盘赌选取分布密度最小的粒子引导粒子;
[0031]
更新粒子群与档案集:重复采用如下公式更新每个粒子的速度和位置:
[0032][0033]
式中,vi(k 1)为k 1次迭代时的第i个粒子的速度,w为惯性因子,c1和c2分别为个体学习因子和全体学习因子,rand()为产生0-1之间随机数函数,为k次迭代时第i个粒子的历史最优位置,x
gbest
(k)为k次迭代时所有粒子的历史最优位置,即当前引导粒子;在最终档案集中选取相对最优解的选取公式:
[0034][0035]
式中,n为最终档案集中成员个数,d为档案集中所有解到各目标函数的距离之和,选取使d最小的粒子作为模型参数值。
[0036]
进一步地,所述自适应超网格法的实现方法为:对于k维目标空间的自适应网格,将目标空间等分为n1×
n2×…×
nk网格,其中第i个目标的网络模长ni=(f
imax-f
imin
)/n,(i=1,2,3),其中,f
imax
、f
imin
为粒子在第i个目标函数上的极大值和极小值,n为archive档案集当前迭代中成员个数;非劣解在网格空间的位置pi可确定为pi=mod((f
l,i-f
imin
)/di) 1,其中,f
l,i
为第l个非劣优解对应的第i个目标函数值,mod为取整函数,由此可以求出每个网
格内包含的非劣解个数,将一个网格中内的非劣解的个数作为粒子的分布密度信息,选取分布密度最小的粒子引导粒子。
[0037]
进一步地,所述目标函数将相同输入量的无人船模型输出值,与无人船状态监测装置测到的无人船实际输出值进行比较,得到一个可以评价当前模型参数准确度的数值,该数值越小时,当前辨识出的模型参数越好,其形式如下:
[0038][0039]
与现有技术相比,本发明具有以下有益效果:
[0040]
1、该系统及方法具有整体性和通用性,其整体性在于提供了从数据测量到参数辨识的一整套方案,并且对较为繁琐的辨识算法进行了模块化封装,能够极大缩短对无人船进行参数辨识所耗费的时间;其通用性体现在只需通过在所用的无人船上布置相关传感器并进行指定类型的航行试验,终端可以根据通信模块获取并处理相关数据,以此实现模型参数辨识,该系统及方法对船体形状和质量无苛刻要求,可以适用不同型号无人船。
[0041]
2、该系统及方法采用粒子群优化算法进行参数辨识,相比于其它参数辨识算法具有搜索速度快、调节参数较少、对数学模型依赖性小的优点,且粒子群优化算法的稳定性好、精度高,对初始参数选取的要求不高,能够很好地得到可以充分反映无人船模型输入输出特性的参数。
[0042]
3、该系统及方法采用的多目标粒子群优化算法,相比于传统单目标粒子群算法,该算法通过对各自由度运动模型建立对应的目标函数,并对各目标函数同时寻优,不需要考虑各个目标函数之间的加权系数,克服了模型辨识目标系数选择的主观性,从而获得一组pareto最优解集,且根据相对距离策略,从pareto最优解集中选取一个解,使其对应的各目标函数均相对最优,作为多自由度无人船动力学模型的参数;因此,相对于单目标算法,该算法可以解决多自由度耦合模型参数辨识困难问题。
[0043]
4、该系统及方法采用自适应超网格法,从而获取粒子密度信息,并选择出密度较低的粒子作为引导粒子,从而提高粒子群多样性,避免pareto最优解陷入局部最优,提高了pareto最优解的准确性。
[0044]
5、该系统及方法采用多传感器冗余组合,中央处理器实时监控多路传感器数据,一旦航行过程出现故障,将立即执行冗余切换,提高航行过程中的安全性与稳定性,同时多传感器冗余组合可以提供更多的测量数据量,通过卡尔曼滤波算法可以得到高精度的实时测量数据。
附图说明
[0045]
图1是本发明实施例的系统组成结构示意图。
[0046]
图2是本发明实施例的系统工作流程图。
[0047]
图3是本发明实施例中参数辨识流程图。
[0048]
图中:1-显控终端,2-数据通信模块,3-电子罗盘,4-gps,5-船体,6-加速计,7-中央处理器模块,8-数据处理模块,9-陀螺仪,10-电调,11-电源,12-螺旋桨,13-霍尔传感器,14-无刷电机。
具体实施方式
[0049]
下面结合附图及实施例对本发明做进一步说明。
[0050]
应该指出,以下详细说明都是示例性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
[0051]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0052]
如图1所示,本实施例提供了一种无人船多参数粒子群辨识系统,包括状态可测无人船和显控终端1,所述状态可测无人船包括无人船和无人船状态监测装置,用于实时操控无人船航行、监测无人船的状态信息并上传至显控终端1;所述显控终端1上具有模型构建单元和辨识单元,所述模型构建单元建立无人船的三自由度运动模型,将转速指令输入至三自由度运动模型中获得三自由度无人船模型的仿真信息,并将仿真信息与无人船实际航行状态信息进行对比,获得前进速度误差信息、横漂误差信息和转艏角速度误差信息,然后建立目标函数以评价辨识参数优劣,所述辨识单元采用多目标粒子群算法寻找一组无人船模型参数使所述目标函数值最小,即得到无人船模型的最佳参数值。
[0053]
在本实施例中,所述无人船为双螺旋桨式无人船,包括船体5、电源模块11、动力模块14、数据通信模块和中央处理器模块,所述中央处理器模块通过数据通信模块接收显控终端1下发的航行路径与请求数据命令,控制无人船按设定路径航行,并控制无人船状态监测装置获取无人船的状态信息;所述无人船状态监测装置包括数据采集模块和数据处理模块,所述数据采集模块包括多种传感设备,以采集无人船包括速度、加速度、螺旋桨转速、定位坐标、艏向角和航向角的状态信息,通过数据处理模块对获取到的信息进行处理后发送至中央处理器模块,然后通过中央处理器模块将无人船的状态信息上传至显控终端。
[0054]
所述电源模块采用大容量锂电池,通过电流计实现稳压与电流测量;所述动力模块采用双螺旋桨无刷电机作为推进器,通过差速实现转向;所述数据通信模块采用无线通信设备,通过轻量级消息传输协议mavlink实现与显控终端的实时信息交互;所述中央处理器模块为无人船的控制核心,主要承担各个模块的信息处理与交互,同时实现无人船的运动控制。
[0055]
所述数据采集模块通过加速计6获取无人船的航行速度和加速度,通过霍尔传感器13获取螺旋桨12的转速实际值,通过gps模块4获取无人船的经纬度信息即定位坐标,通过电子罗盘3获取艏向角信息,通过陀螺仪9获取航向角信息,并将获取到的信息传输给数据处理模块;所述数据处理模块将获取到的信息通过卡尔曼滤波算法处理后打包发送至中央处理器模块。
[0056]
在本实施例中,所述显控终端包括计算机和安装于计算机上的参数辨识软件模块,所述参数辨识软件模块主要由控制单元、显示单元、模型构建单元和辨识单元组成,用户通过控制单元控制无人船的航行路径,并通过显示单元实时显示无人船的状态信息;所述模型构建单元建立无人船的三自由度运动模型,将转速指令输入至三自由度运动模型中获得三自由度无人船模型的仿真信息,包括仿真前进速度、仿真横漂速度和仿真转艏角速度,并将仿真信息与无人船实际航行状态信息进行对比,获得前进速度误差信息、横漂误差信息和转艏角速度误差信息,然后建立目标函数以评价辨识参数优劣;所述辨识单元采用多目标粒子群算法寻找一组无人船模型参数使所述目标函数值最小,即得到无人船模型的最佳参数值,从而实现对无人船模型参数的辨识。
[0057]
在本实施例中,所述模型构建单元建立了一种fossen三自由度无人船模型,其表达式为:
[0058][0059][0060][0061][0062][0063]
其中,u、v、r分别为无人船的纵荡速度、横荡速度和转艏速度,m为无人船的质量,iz为z轴的惯性矩,分别为纵向和横向附加质量,为附加转动惯量,xu、yv、yr、nv、nr为线性水动力阻尼系数,x
|u|u
、y
|v|v
、y
|r|v
、y
|v|r
、y
|r|r
、n
|v|v
、n
|r|v
、n
|v|r
、n
|r|r
为非线性水动力阻尼系数,c和d为无人船螺旋桨推力系数,d
p
为螺旋桨到无人船中轴的距离。
[0064]
本实施例还提供了基于上述系统的无人船多参数粒子群辨识方法,该方法主要通过辨识单元实现,所述辨识单元采用多目标粒子群算法对无人船模型参数进行辨识,具体方法为:
[0065]
1)在搜索空间里随机产生m个粒子作为初始种群,将该种群定义为模型中需要辨识的未知参数,未知参数的个数为粒子群的维数dim。
[0066]
2)计算个目标函数值,得到粒子的个体极值。
[0067]
3)根据pareto支配原则比较每个粒子的个体极值,求出粒子群的一组非劣解,并存储于archive档案集中。
[0068]
4)从archive档案集中,根据自适应超网格法对粒子拥挤度进行估计,利用网格密度信息,结合轮盘赌法选取全局最优解。
[0069]
5)根据速度和位置迭代公式更新每个粒子的速度和位置值。
[0070]
6)计算粒子的目标函数值。
[0071]
7)更新个体极值。
[0072]
8)更新archive档案集:采用自适应超网格法,利用密度信息对archive档案集进行维护,使档案集最大值保持不变。
[0073]
9)若迭代次数没有达到设定值,返回3)继续执行。
[0074]
10)迭代结束,archive档案集为最优pareto解。为了获得相对三个目标函数均较优的折中解,设置选取策略,从最优pareto解选出相对最优解作为最终的解。
[0075]
所述pareto支配原则定义如下:
[0076]
如果一个解s=(s1,s2,

,sn)支配另一个解u=(u1,u2,

,un),记作s>u,当且仅当:
[0077][0078][0079]
式中,n代表解的维数,m代表求解目标函数的个数。对于一个解s,如果搜索空间中不存在另外一个解u>s,则s成为pareto最优解。把所有pareto最优解的几何称为pareto最优集。pareto前沿就是满足约束条件和所有目标函数的最优非支配解的集合。
[0080]
所述自适应超网格法的实现方法为:
[0081]
对于k维目标空间的自适应网格,将目标空间等分为n1×
n2×…×
nk网格,其中第i个目标的网络模长ni=(f
imax-f
imin
)/n,(i=1,2,3),其中,f
imax
、f
imin
为粒子在第i个目标函数上的极大值和极小值,n为archive档案集当前迭代中成员个数;非劣解在网格空间的位置pi可确定为pi=mod((f
l,i-f
imin
)/di) 1,其中,f
l,i
为第l个非劣优解对应的第i个目标函数值,mod为取整函数,由此可以求出每个网格内包含的非劣解个数,将一个网格中内的非劣解的个数作为粒子的分布密度信息,选取分布密度最小的粒子引导粒子。
[0082]
所述目标函数将相同输入量的无人船模型输出值,与无人船状态监测装置测到的无人船实际输出值进行比较,得到一个可以评价当前模型参数准确度的数值,该数值越小时,当前辨识出的模型参数越好,其形式如下:
[0083][0084]
如图2所示,本系统工作时,通过设定不同的左右螺旋桨12转速,从而控制无人船船体5实现不同的动作。首先,在显控终端1上设定期望的左右螺旋桨12转速,该指令将通过数据传输模块2传送至无人船。无人船接收到相关指令后,开始进行自检,自检内容包括无人船姿态、电源电量和传感器状态等,若自检不通过则循环进行状态监测。自检通过后,无人船进入航行模式,并进行参数初始化,主要包括传感器相关参数初始化和无人船状态参数初始化。完成参数初始化后,开始读取左右霍尔传感器13的数值,并通过计算获得左右螺旋桨12实时转速,同时,通过读取电子罗盘3、gps4、加速计6和陀螺仪9等传感器数据,并利
用数据处理模块8对数据进行滤波等处理后发送给中央处理器模块7。螺旋桨12转速的控制主要通过pid算法实现,因此下一步就是调用已有的pid库函数计算,得到的是pwm值,电调10根据所得到的pwm值控制电机14。同时,通过通信模块得到的数据判断是否接收到停止指令,若无停止指令,则循环记录传感器数据和控制螺旋桨12转速。接收到停止指令后,无人船将所有实验数据传输至显控终端1,以备后续参数辨识。
[0085]
本实施例中,所述多目标粒子群算法的工作流程如图3所示,首先,初始化粒子群,计算粒子群的各目标函数值,计算个体最优x
pbest
,再由pareto支配原则,从x
pbest
选取pareto最优解,并存储在外部档案中;接着,进入迭代循环:根据自适超网格法,通过外部档案解的个数,自动划分网格;计算同一网格中的粒子个数,将其作为粒子的个体密度值,并将具有相同个体密度值的粒子记为相同的个体密度等级,同时,计算每个个体密度等级占总的个体密度等级之和的比重,再采用轮盘赌方式选择个体密度等级,从选择的个体密度等级中随机选择一个粒子作为引导粒子x
gbest
;然后,通过迭代公式更新粒子x(t 1),将其再与x
pbest
比较是否pareto占优,若占优,更新x
pbest
,否则保持不变,再由pareto支配原则,选取pareto最优解,更新外部档案;接着,判断循环结束条件,若满足在条件,输出外部档案,否则,继续循环;最后从最终外部档案中,选取一组相对最优的折中解作为模型参数值。
[0086]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献