APP下载

基于NSGA-II算法的水下机器人水平面运动参数辨识

2016-07-11李庆梅潘芳煜梁彩平

上海第二工业大学学报 2016年2期
关键词:遗传算法

李庆梅,刘 平,潘芳煜,梁彩平,周 平

(上海第二工业大学智能控制与工程学院,上海201209)



基于NSGA-II算法的水下机器人水平面运动参数辨识

李庆梅,刘平,潘芳煜,梁彩平,周平

(上海第二工业大学智能控制与工程学院,上海201209)

摘要:水下机器人水动力系数的获得是分析其运动及设计控制器的基础。由于水下机器人水平面具有运动强耦合、非线性的特点,采用简单遗传算法来辨识水动力系数时无法使得多个目标函数同时达到最优,所以采用带精英策略非支配排序遗传算法(NSGA-II)来对水平面运动模型进行辨识。利用辨识得到的系数反求水下机器人水平面速度,仿真速度与实测速度曲线吻合较好,表明NSGA-II辨识得到的水动力系数是有效的。

关键词:水下机器人;水动力系数;遗传算法;NSGA-II算法

0 引言

水下机器人是替代人类在水下进行资源勘探、环境检测、安全监控、救援搜救等工作的有效工具,为了有效完成任务,需要实现对水下机器人的精确控制。目前,水下机器人控制器设计大都采用以牛顿定理和拉格朗日方程为基础的6自由度方程。由于水下机器人与流体间的相互作用难以用传感器直接测量,该模型中引入了大量以水动力系数为表现形式的水动力/力矩项。这些系数取决于水下机器人外形、运动状况、环境因素等,增加了模型的不确定性,因此确定水动力系数是建立水下机器人控制模型需要解决的首要问题和关键所在。

1 水动力系数研究方法

在工程应用中,获得水动力系数的方法主要有数值计算法、水池平面机构测试法和系统辨识。数值计算法通常采用流体计算(CFD)软件分析,计算量较大,网格划分方法和边界条件对结果有影响[1];水池平面机构实验中传感器及操作误差等使得结果可信度不高[2];系统辨识是近年来在水动力系数求取中应用较多的一种的方法,成本低,能较好地反映实际运动中的流体作用,且系统辨识与智能算法结合后可增强辨识结果对环境的适应性[3-4]。

水动力系数辨识常用的方法有最小二乘法、极大似然法、神经网络法、卡尔曼滤波法、遗传算法等,这些方法各有优缺点:传统的最小二乘法、极大似然法等应用比较成熟,但往往得不到全局最优解;神经网络法需要大量的样本来调整权值;卡尔曼滤波法具有实时性,但需要精确的噪声统计特征;遗传算法是近年来在系统辨识中应用较广泛的一种方法,它不依赖于问题本身,具有全局搜索能力和并行性,然而普通遗传算法在对多目标求最优解问题上有一定的局限性,需要线性加权。因此,本文以VideoRay水下机器人为研究对象,采用NSGA-II算法来对其水平面水动力系数进行辨识,并分别与真实值及普通遗传算法做对比,结果表明NSGA-II获得的结果更接近水下机器人的实际运动情况。

2 水下机器人模型

VideoRay水下机器人(见图1)具体参数:长、宽和高分别为30 cm、23 cm和23 cm,转动惯量Ixx=0.0228 kg·m2,Iyy=0.0239 kg·m2,Izz=0.0253 kg·m2,质量m=4.5 kg。

用刚体坐标系 O0-xyz及大地坐标系 O-ξηζ描述VideoRay的运动,包括在x、y、z方向上的直线运动——进退、漂移、升沉,以及3个轴上的旋转运动——横摇、纵摇及艏摇,定义广义速度向量V=[u v w p q r]及广义位置向量η=[x y z φ θ φ]。假设水下机器人为一个刚体,完全浸没在水中,且流体不可压缩,按照受力平衡条件,可得水下机器人运动模型为[5]

图1 水下机器人坐标系Fig.1 Coordinate system of the underwater vehicle

式中:M为刚体质量与附加质量矩阵之和;C(V)为刚体质量与附加质量的科氏力与向心力矩阵;D(V)为刚体及附加质量的阻尼矩阵;g(η)为作用在刚体上的回复力矩;τ为螺旋桨推力输入矩阵;J(η)为惯性坐标与刚体固连坐标之间的变换矩阵。各矩阵系数的定义见参考文献[4]。

VideoRay共有3个推进器,分别是z方向1个,x方向对称布置2个,只在进退、艏摇及升沉3个方向上有推力作用。仅考虑VideoRay在水平面内的运动,实航测试时保持沿x向匀速直线运动,所以有

将系数矩阵展开,忽略深度变化,水平面内的运动包括横摇、侧移及艏摇,模型公式(1)和(2)可简化为

3 水平面水动力系数辨识

3.1遗传算法辨识原理

遗传算法寻优的核心思想就是在一定区间内进化操作,用目标函数引导种群向最优解方向靠拢。因此首先给定一组水动力参数值,并假设可行域区间为原始值的±10%。实测得到VideoRay水平面的加速度、速度值以及螺旋桨推力,利用每一代得到的一组水动力系数值反求得到一组对应的速度、加速度值,与实测值相比较,最接近的一组值对应的水动力系数即为辨识得到的最接近真实情况的水动力系数。

用曲线相关系数评价辨识结果与实测结果的接近程度,即为遗传算法寻优的目标函数:

由于水平面运动方程彼此间有约束,为了满足目标函数式(5),采用简单遗传算法辨识参数时需将方程组转换为加权线性方程再求解,即设进退、漂移及艏摇自由度运动曲线相关系数分别为ρu、ρv和ρr,加权后曲线相关系数总和为ρbest,由于速度r 与u,v耦合,设置ρr系数的比重略大于ρu和ρv:

由式(6)得到的ρbest对应的种群为ρu、ρv和ρr的集合,然而当ρbest达到最大值时,无法确定ρu、ρv和ρr是否也同时达到最优,且权系数选择对优化结果有较大影响。因此,将水平面运动模型辨识转换为多目标寻优问题,采用NSGA-II(Elitist Nondominated Sorting Genetic Algorithm)[6]辨识相关水动力系数。

3.2NSGA-II水动力系数辨识

NSGA-II是一种基于Pareto最优解的多目标函数进化方法。Pareto最优解是建立在Pareto支配关系基础上的,设有k个目标函数,对于求最大值问题,两个任意决策变量xa,xb∈U:

对于多目标函数优化而言,很难找到一个最优解同时使得所有目标函数达到最优,通常存在一个解集,即Pareto最优解的集合,满足无法在改进任何目标函数的同时不削弱至少一个其他目标函数。Pareto最优解集对应目标空间中的目标矢量所构成的曲面称为Pareto最优前沿。

NSGA-II与GA相比,选择、交叉和变异操作过程相同,主要区别在于初始化种群并生成第1代种群后,从第2代起,NSGA-II采用精英策略,根据个体间的非支配关系和拥挤度选择较优的子代与父代重新组合成新的种群。子代个体间的优劣按照快速非支配排序法对个体间的非支配关系进行等级划分来区分,快速非支配排序法原理[7]如下。

(1)种群中每个个体都设置2个参数:支配个体i的个体的数量ni和被个体i支配的个体的集合Si。

(2)找到种群中所有ni=0的个体,存入集合Fi,然后对于Fi中的每个个体j搜索它所支配的个体集Sj,集合Sj中支配个体k的解个体数nk减1,如果nk−1=0,则将个体k存入另一个集H,同时,将Fi设为第1级非支配个体集合,并赋予该集合内个体一个相同的非支配序irank。

(3)继续对H作上述分级操作并赋予相应的非支配序,直到所有的个体都被分级。

通过以上操作,可以快速地实现对种群中个体按照非支配关系排列顺序,其中第1级非支配个体集合中的个体与父代结合重组为新的种群,当种群个体数量少于设定值时,从第2级非支配个体集合中补充个体,依此类推。

为了保持种群的多样性,NSGA-II算法中采用拥挤度id来确保算法能够收敛到一个均匀分布的Pareto面上。拥挤度为种群中给定点周围个体的密度。

经过快速非支配排序和拥挤度计算后,种群中每个个体被赋予了2个属性,非支配序irank及拥挤度id。精英个体的选择准则为:若2个个体的非支配排序不同,取排序号较小的个体,即分层排序时先被分离出来的个体;若两个个体的非支配排序相同,则取拥挤度较小的个体。

按照上述介绍,NAGS-II基本流程如图2所示,详细步骤为:

图2 NSGA-II水平面运动模型辨识流程Fig.2 Flow chart of the horizontal motion identification using NSGA-II

(1)生成初始种群;

(2)从第2代开始,父代与子代种群合并,进行快速非支配排序,根据非支配关系及个体的拥挤度选择合适的个体组成新的父代种群;

(3)进行选择、交叉和变异操作,生成新的子代种群;

(4)重复步骤(2)和(3),满足迭代次数N时终止。

4 辨识结果

VideoRay为有缆水下机器人,该机器人上配备了摄像机、罗经、速度计、压力传感器等,通过电缆发送控制指令并传输监控视频、传感器数据等。水平面由于有运动耦合,采用NSGA-II直接进行多目标优化,结果与简单遗传加权法进行了对比。两种方法中,NSGA-II误差小于GA加权法。NSGA-II通过非支配排序并行优化3个目标函数,因而可获得相对性能最佳的优化解(见表1)。

多目标优化得到300组水平面水动力系数值,按相关系数进行非支配分层排序后,速度 u、v、r曲线相似度 Pareto最优解为 23组,任选其中一组,u、v、r曲线相关系数分别为0.9548、0.9351、0.9192。将对应的水动力系数值代入模型式(4)中,反求得到的速度分别为u1、v1、r1,并与原始测得的速度做对比,结果如图3~图5所示。

在图3~图5中,对应误差为∆u=−0.054~0.27 m/s,∆v=−0.004~0.046 m/s,∆r=0~0.058 m/s。计算得到的速度值与实测速度基本吻合,表明采用NAGS-II辨识得到的水平面水动力系数符合VideoRay运动特征。

表1 辨识结果对比Tab.1 Identification result comparation

图3 u0与u1对比Fig.3 Comparation between u0and u1

图4 v0与v1对比Fig.4 Comparation between v0and v1

图5 r0与r1对比Fig.5 Comparation between r0and r1

5 结论

本文首先建立了VideoRay水下机器人水平面动力学模型,由于水平面速度间有耦合作用,采用简单遗传算法辨识时需要将目标函数通过加权转换为单目标函数辨识,加权系数难以确定,且无法满足所有目标同时达到最优。采用多目标NSGA-II辨识可以有效地解决这个问题。用NSGA-II辨识得到的系数反求得到的速度曲线与实测速度曲线做相似度分析,结果表明仿真速度曲线与实测速度曲线比较吻合,NSGA-II在水下机器人水动力系数辨识方面有很好的效果。后期将对水下机器人在不同环境、不同工况下作业时该辨识算法的收敛性做进一步的研究。

参考文献:

[1]李迎华,吴宝山,张华.CFD动态网格技术在水下航行体非定常操纵运动预报中的应用研究[J].船舶力学,2010,14(10):1100-1108.

[2]KIM J Y,KIM K H,CHOI H S,et al.Estimation of hydrodynamic coefficients for an AUV using nonlinear observers[J].IEEE Journal of Oceanic Engineering,2002,27(4):830-840.

[3]邓志刚,朱大奇,方建安.水下机器人动力学模型参数辨识方法综述[J].上海海事大学学报,2014,35(2):74-80.

[4]朱大奇,袁义丽,邓志刚.水下机器人参数辨识的量子粒子群算法[J].上海海事大学学报,2015,22(1):531-537.

[5]FOSSEN T I.Guidance and control of ocean vehicles[M]. New York:John Wiley Sons,1994.

[6]DEB K,AGRAWAL S,PRATPA A,et al.A fast elitist nondominated sorting genetic algorithm for multi-objective optimization:NSGA-II[J].IEEE Transactions on Evolutionary Computation,2002,6(2):182-197.

[7]谢涛,陈火旺.多目标优化与决策问题的演化算法[J].中国工程科学,2002,4(2):59-68.

Hydrodynamic Coefficients Identification for the Horizontal Plane Motion of the Underwater Vehicle Using NSGA-II Algorithm

LI Qingmei,LIU Ping,PAN Fangyu,LIANG Caiping,ZHOU Ping
(School of Intelligent Control and Engineering,Shanghai Polytechnic University,Shanghai 201209,P.R.China)

Abstract:Hydrodynamic coefficients are the basis of motion analysis and controller design for the underwater vehicle.The horizontal motion of the underwater vehicle is highly coupled and nonlinear,so it is difficult to achieve the optimal results for all the objective functions at the same time when using simple genetic algorithm to identify its coefficients.As an alternative,the elitist non-dominated sorting genetic algorithm(NSGA-II)is chosen to identify the hydrodynamic coefficients of the motion in the horizontal plane.The coefficients identified by NSGA-II are then used to calculate the velocities of the underwater vehicle and they are approach to the velocities measured by sensors on the underwater vehicle.It is proved that the method used is effective.

Keywords:underwater vehicle;hydrodynamic coefficients;genetic algorithm;NSGA-II algorithm

中图分类号:TP391.9

文献标志码:A

文章编号:1001-4543(2016)02-0141-05

收稿日期:2015-06-29

通信作者:李庆梅(1985—),女,云南人,讲师,博士,主要研究方向为机器人结构设计、智能控制。电子邮箱liqingmei@sspu.edu.cn。

基金项目:上海高校青年教师培养资助计划(No.A30DB1524011-22)、上海市教委创新项目(No.13YZ131)资助

猜你喜欢

遗传算法
基于遗传算法的高精度事故重建与损伤分析
遗传算法对CMAC与PID并行励磁控制的优化
基于遗传算法的建筑物沉降回归分析
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法的加速度计免转台标定方法
基于遗传算法和LS-SVM的财务危机预测
协同进化在遗传算法中的应用研究
软件发布规划的遗传算法实现与解释
基于遗传算法的三体船快速性仿真分析
基于改进的遗传算法的模糊聚类算法