基于Modelica 语言的ROV 力学系统建模与仿真
韩
枫,谢基榕
(中国船舶科学研究中心深海空间站研究设计部,江苏无锡214082)
摘要:本文针对因ROV 在水下作业过程中的非线性及耦合运动特性而导致采用传统Simulink 建模方法效率低下的问题,将Modelica 语言应用于ROV 力学系统建模过程中,提出了一种通用的、面向对象的水下航行器运动建模方法。简要介绍了Modelica 语言的特性和优点,应用其面向对象的建模思想构建仿真框架,将ROV 力学系统按受力性质进行分析、分类与模块功能划分,定义共用、可重用的底层运动学与力学连接器作为模块间交互接口,实现各模块由数学模型到仿真模型转化。在顶层模型中通过组件实例化整合各模块,应用组件连接机制,创建完整的ROV 力学系统。选取工况对其运动特性进行仿真,分析仿真结果,以验证建模方法便捷性和正确性。
关键词:Modelica ;ROV 运动;面向对象;建模方法;系统仿真中图分类号:U674.76
文献标识码:A
doi:10.3969/j.issn.1007-7294.2021.01.008
Modeling and simulation of ROV mechanical
system based on Modelica
HAN Feng ,XIE Ji-rong
(Research and Design Department of Deep Sea Space Station,China Ship Scientific Research Center,Wuxi 214082,China)
Abstract :As the nonlinear and coupling motion characteristics of an ROV operating underwater lead to mod⁃eling inefficiency by using the traditional Simulink,Modelica is applied to the modeling process of a ROV mechanics system.The features and advantages of Modelica are introduced briefly,and its object-oriented modeling idea is applied to build a simulation framework.A general,object-oriented underwater vehicle mo⁃tion modeling method is proposed.The ROV mechanical system is analyzed,classified and divided into mod⁃ule functions according to the mechanical properties.The common and reusable underlying kinematics and mechanics connectors are defined as interactive interfaces between modules to realize the transformation of each module from mathematical model to simulation model.In the top model,each module is integrated by component instantiation while the component connection mechanism is applied to create a complete ROV me⁃chanical system.To verify t
he convenience and correctness of the modeling method,the movement character⁃istics of the ROV mechanics system are simulated under selected operating conditions and the simulation re⁃sults are analyzed.
Key words:Modelica;ROV movement;object orientation;modeling approach;system simulation
0引言
在ROV 的运动建模过程中,存在较强的非线性特性,且不同自由度间的耦合作用十分明显,尤其第25卷第1期船舶力学
Vol.25No.12021年1月
Journal of Ship Mechanics Jan.2021
文章编号:1007-7294(2021)01-0065-08
收稿日期:2020-07-11
作者简介:韩
枫(1995—),男,硕士,E-mail:******************;谢基榕(1978—),男,博士,研究员,硕士生导师。
是水动力学部分。传统Simulink 建模方式本质上仍是确立系统的输入输出量后,将系统的微分代数方程推导为状态空间表达式,以确定的因果运算机制建立并求解仿真模型。当涉及此类多变量、非线性与多耦合的复杂系统建模时,采用此方式需花费大量时间进行因果赋值运算。与之相比,Modelica 语言具有非因果建模特性,即声明方程时不限定方程求解方向,可极大简化建模工作量。
本文依据Fossen 提出的针对一般水下航行器的运动建模理论[1]并应用Modelica 建模语言,以ROV 力学系统为例,提出一种通用的、面向对象的水下航行器运动建模方法;对ROV 进行动力学、运动学分析,对于流体动力部分针对其运动特性单独阐述、简化;应用Modelica 语言面向对象特性,划分系统仿真框架如图1所示,在基于该语言的MWorks 平台内,形成ROV 动力学、运动学子系统下各模块由受力模型到仿真模型转化,通过组件实例化与基类继承的方式实现模型重用,创建ROV 力学系统。最后,将推进器动态性能仿真应用至ROV 斜航与下潜仿真工况中,对仿真结果进行分析,以展示建模方法的合理性、快捷性。
1Modelica 语言特性
Modelica 是一种面向对象、采用非因果建模与陈述式建模的多领域物理系统建模语言,可应用于
几乎所有工程领域[2]。该语言采用基于方程的方法描述真实物理系统,其内置的Modelica 标准库包含了机、电、液、热、控等多领域的基础组件模型,可实现对现代复杂工程系统进行整体性能分析与评估的任务。
Modelica 语言应用面向对象的思想[3],支持采用分层机制、组件连接机制和继承机制构建模型[4],可简化模型结构的复杂程度。不同于Simulink 建模需要将数学模型推导为因果关系明确、数据流向
恒定的状态方程,该语言采用方程定义变量的行为,无需人为划分方程求解方向,求解器根据给定条件自行求解未知量。该语言可根据系统的真实物理拓扑结构进行建模,其组件视图具有与真实系统相似的结构层次与布局。
2水下航行器运动学建模
采用ITTC 推荐坐标体系描述水下航行器六自由度运动,如图2所示。使用欧拉角法描述航行器姿态角[5],航行器位置和姿态矢量表述为
η=[]ηT 1,ηT
2T
,
η1=[]x ,y ,z T
,η2=[]ϕ,θ,ψT
(1)
66船舶力学第25卷第1
期
图1仿真框架与系统层级划分
Fig.1Simulation framework and system hierarchy division
航行器速度与角速度矢量在动系中投影为
v =[]v T 1,v T
2T
,
v 1=[]u ,v ,w T
,v 2=[]p ,q ,r T
(2)
利用刚体有限转动理论和欧拉旋转定理[5],可推导速
度、角速度从其在动系中投影v 到其在定系中投影η的转换矩阵J 1(η2)、J 2(η2),
两者共同构成水下航行器运动学转换矩阵J (η2):
J (η2)=éëêùûúJ 1(η2)00
J 2(η2),
η
=J (η2)v (3)
3水下航行器动力学建模
将航行器所受外力(矩)划分为惯性力-τ、流体动力τH 、静力τR 、推力τP 、外界干扰f 等部分,建立动系内动力学平衡方程:
-τ+τH +τR +τP +f =0
(4)
式中各项皆为六行列矢量,列矢量的前三行、后三行元素分别表示该力、该力矩在动系中的投影。3.1刚体动力学建模
将航行器视为刚体,对动系原点应用动量定理与动量矩定理,可得到刚体动力τ矢量形式:
M RB v +C RB v =τ
(5)
式中,
M RB 是航行器对动系原点的刚体质量与惯性张量矩阵;C RB 是由航行器绕动系旋转引起的科里奥利力与向心力矩阵。根据达朗贝尔原理,动系作为非惯性系,在其中进行受力分析时,需将刚体动力取负值-τ,作为惯性力参与到平衡方程的求解中。3.2流体动力学建模
将航行器所受流体动力τH 划分为与加速度v 相关的惯性力τA 和与速度v 相关的粘性力τD 。将惯
性类流体力τA 按附加惯量矩阵M A 和由M A 引起的科氏力和向心力矩阵C A 的形式分离为
τA =M A v +C A v
(6)
由ROV 的对称性假设,可将其附加惯量矩阵M A 中非对角线元素消去,矩阵C A 亦受到简化。
将航行器所受粘性类流体力τD 分离为
τD =D v
(7)式中,D 为水动力阻尼矩阵,可将其分解为线性、非线性水动力阻尼矩阵D L 、
D NL 两项:D =D L +D NL
(8)
由ROV 对称性假设,且其大部分运动皆在水平面与垂直面内进行,运动速度一般为低速,可忽略其水动力阻尼的耦合效应,视粘性水动力系数为相互独立,并忽略二阶以上水动力系数的影响。
航行器受洋流U 作用时,先于定系中描述洋流速度与角速度投影v U ,再于动系中利用转换矩阵
J (η2)-1求其投影v trans U
并计算航行器相对洋流的速度与角速度投影v r ,其结果用于计算流体动力τH 。3.3静力学建模
航行器受静力τR 作用,包括重力G 、浮力B 和浮心位置r B 的影响,需先计算静力于定系中垂向投
影,再利用速度投影转换矩阵的逆阵J 1(η2)-1求取其于动系中投影,由浮心位置r B 计算恢复力矩。3.4推进系统建模
推进系统模型可划分为电枢模型与推力模型,前者用于计算外部电压作用下电机输出转速,经推力系数、转矩系数拟合后,可求得标量形式表述的螺旋桨轴向推力与轴向转矩;后者则定义螺旋桨位
第1期韩枫等:基于Modelica 语言的ROV 力学…
67
图2水下航行器定系与动系定义
Fig.2Definition of fixed and moving coordinate
system of underwater vehicle
置和角度,从而获知轴向推力及转矩、推力在质心处转矩的矢量形式,并求其在动系内投影。
对推进系统中直流电机的电枢部分进行建模,其简化模型组件视图如图3所示。列写其回路电压平衡方程与转轴转矩平衡方程:
V s =L d i d t +Ri +E (9)
J m d ωd t +f m ω=M m -Q (10)式中,R 、L 、i 分别是电枢电路中电阻、电感与电流,
V s 为输入电压,E 为反电动势E =C e ω,C e 为反电动势系数,ω为电机转动角速度;f m
为电机转轴粘性摩擦系数,
M m 为电磁转矩,M m =C m i ,C m 为转矩系数,Q 为螺旋桨切割水流引起负载转矩,J m 为电机与负载折合至转轴的总转动惯量。工程应用中因摩擦系数f m 较小可将其忽略,消去中间
变量i 、E 、M m 后,得到以角速度ω为输出,以电压V s 和负载转矩Q 为输入的直流电机微分方程;在零初始条件下对其进行拉氏变换,根据线性叠加原理,可分别求得V s 与Q 到ω的传递函数:
G V s ()s =
Ω()
s V s ()s =
K 1()1+T 1s ()
1+T 2s (11)G Q ()s =
Ω()s Q ()s =
K 2()1+T 3s ()1+T 1s ()
1+T 2s (12)
式中,K i (i =1,2)为增益常数,T i (i =1,2,3
)为时间常数,均为电机固有参数。可联立以推力系数K T 、转矩系数K Q 表述的推力T 及负载转矩Q 方程:
T =K T ρn 2D 4(13)Q =K Q ρn 2D 5
(14)
式中,n 、D 分别为螺旋桨转速、直径。
已知第i 个推进器相对动系的位置矢量r i P 与角度θi 和Ψi ,如
图4所示。获知其轴向推力标量P i 、扭矩标量Q i 后,可求取该推进器推力、扭矩、推力矩矢量在动系内投影,对各推进器上述矢量投影求和即得总推力(矩)矢量τP 。
4水下航行器通用仿真模型建立
根据已分析的水下航行器运动模型与Modelica 语言面向对象的特征,提出一种通用的水下航行器运动建模方法,以ROV 力学系统为例,将其划分为动力学与运动学两个子系统,共下设五个模块:惯性力模块、流体动力模块、静力模块、推进模块(可进一步划分为电枢模块与推力模块)和运动学模块,各模块关系与功能如图5所示。
应用基于组件的建模方法,定义可重用、包含不同变量类型的多个连接器类,在本文中应用如表1所示。模块内通过连接器实例化方式获取所需变量,模块间则通过连接器互联完成信息传输。
欲创建各力学模块,除定义和获取所需变量外,还需在参数区定义相关的模型参数。由于同一参数可能
在不同模块内多次出现,为避免冗余,本文将ROV 物理参数与水动力系数集成后单独创建模块,并通过继承方式将参数传递至各力学模块。
68船舶力学第25卷第1
期
图3电枢模块组件视图
Fig.3Components of armature module
ψi
θi
图4单个推进器安装位置与角度
Fig.4Installation position and angle of a
single propeller
运动学模块
将ROV速度与角速度在动系中投影转换至定系投影并积分,
得到ROV的位置与姿态
惯性力模块
建模方法继承ROV质量与惯量参数,联立速度与角速度进行符号计算,得出质心处惯性力
力与力矩连接器
流体动力模块
继承ROV水动力系数,联立速度与角速度进行符号计算,求得质心处流体动力
静力模块
继承ROV浮心参数,获取姿态角进行符号计算,求得质
心处静力
推力模块
定义ROV推进器位置与角度参数,拟合转速至推力,求得质心处推力
电枢模块
选择合适参数,用一阶或二阶系统近似表征电
机转速特性
速度与角速度连接器
连接器
姿态角连接器
速度与角速度连接器力与力矩连接器
力连接器
输入
电压连接器
图5ROV 力学系统各模块功能
Fig.5Function of each module of ROV mechanical system
表1连接器内定义变量类型
Tab.1Variable types defined within the connector
变量类型流变量势变量输入输出变量
变量描述
flow 限定符,在连接点生成和为零的守恒方程,应用于动力学连接器,定义变量为力、力矩无限定符,在连接点生成等值的守恒方程,应用于运动学连接器,定义变量为速度、角速度和姿态角
Input/Output 限定符,强调变量的来源和流向,应用于电枢模块,定义变量为输入电压
以创建流体动力模块为例,首先在
MWorks 平台内定义运动学连接器ROV_ve⁃locity ,其中声明速度变量u 、v 、w 与角速度变量p 、q 、r ,如图6(a )所示;随后建立流体动力模块并继承物理参数模块ROV6dof_parame⁃ters 以获取水动力系数,将连接器ROV_veloc⁃ity 实例化为对象p ,并创建式(8)中非线性水动力阻尼矩阵D NL ,如图6(b )所示。
运用类似方式定义力与力矩连接器实例
p1、附加质量矩阵M A 、科氏力与向心力矩阵C A 、线性水动力阻尼矩阵D L
。如图6(
c )所示,在equation 块内建立守恒方程,为避免繁
琐,用多维数组V 指代速度与角速度变量,利用微分算子der()对时间求导功能计算(角)加速度,由流体动力式(6)~(8)所示,等式左侧取各矩阵变量与(加)速度、角(加)速度变量进行符号运算,等式右侧连接器实例p1内嵌套的力与力矩变量F 即为流体动力tau_H 。在此模块的图标视图内绘制图像,则流体动力模块封装完毕,可通过内置的运动学与动力学连接器进行模块间信息交互。
运用上述建模方法建立并封装各力学模块,在顶层模型中完成模块实例化,其图标视图如图7所示。对各模块实例的连接器进行匹配,连接器内势变量生成等值的运动学兼容方程,保证了各模块中速度、角速度、姿态角的一致性;连接器内流变量则统一各动力学模块,自动生成如式(4)所示的各受力项之和为零的动力学平衡方程,从而建立起完备的ROV 运动微分方程组。至此完整的ROV 力学系统建立完毕,设定作业工况即可进行仿真。
第1期韩枫等:基于Modelica 语言的ROV 力学…
69
(a)速度与角速度连接器
(b)非线性水动力阻尼矩阵
(c)流体动力计算
图6流体动力模块建立过程
Fig.6Establishment process of hydrodynamic module
图7MWorks 中ROV 力学系统顶层模型视图
Fig.7Top-level model view of ROV mechanical system
in Mworks
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论