舰船科学技术  2025, Vol. 47 Issue (18): 94-98    DOI: 10.3404/j.issn.1672-7649.2025.18.016   PDF    
三维虚拟技术在水下机器人运动姿态控制中的应用
叶婷, 夏莉     
江西省机械科学研究所,江西 南昌 330095
摘要: 以直观呈现水下机器人运动姿态设计结果,满足其水下作业需求为目的,应用三维虚拟技术,提出一种水下机器人运动姿态设计方法。运用三维虚拟技术的CATIA软件,构建水下机器人三维模型,并通过六自由度运动方程构建水下机器人动力学模型,借助三维虚拟技术的Unreal Engine软件,将定水下机器人三维模型和动力学模型进行绑定,通过设置水体密度、阻力等参数搭建水下虚拟仿真环境,构建水下机器人横纵姿态控制方程,计算出机器人在不同时刻的姿态变化,从而实现水下机器人在不同作业需求下的姿态设计。实验表明:动力学模型精准反映了水下机器人运动特性,设计的水下机器人姿态与期望姿态契合度较高,在水下机器人运动姿态设计方面具有可行性与优势。
关键词: 三维虚拟技术     水下机器人     运动姿态     运动特性    
Application of 3D virtual technology in the motion and attitude control of underwater robots
YE Ting, XIA Li     
Jiangxi Mechanical Science Research Institute, Nanchang 330095, China
Abstract: With the aim of visually presenting the design results of underwater robot motion posture and meeting its underwater operation needs, a method for underwater robot motion posture design is proposed using 3D virtual technology. Using CATIA software with 3D virtual technology, a 3D model of an underwater robot is constructed, and a dynamic model of the underwater robot is built through a six degree of freedom motion equation. With the help of Unreal Engine software with 3D virtual technology, the 3D model and dynamic model of the underwater robot are bound. By setting parameters such as water density and resistance, an underwater virtual simulation environment is built, and the horizontal and vertical attitude control equations of the underwater robot are constructed. The attitude changes of the robot at different times are calculated, thus achieving the attitude design of the underwater robot under different operational requirements. The experiment shows that the dynamic model accurately reflects the motion characteristics of underwater robots, and the designed underwater robot posture has a high degree of fit with the expected posture, which is feasible and advantageous in the design of underwater robot motion posture.
Key words: 3D virtual technology     underwater robots     movement posture     motion characteristics    
0 引 言

水下机器人作为关键工具,其重要性日益凸显。随着海洋资源开发、海洋科学研究以及水下工程作业等领域的蓬勃发展,对水下机器人运动姿态精准控制的需求愈发迫切。精确的运动姿态不仅是水下机器人高效执行任务的保障[1],如海底地形测绘、海洋生物观测、水下设施巡检与维护等,还关系到其在复杂海洋环境下的生存与稳定运行。

然而,水下环境具有高度的复杂性和不确定性,水流、水压、浮力等因素相互交织,给水下机器人的运动姿态设计带来诸多挑战。对此,张军豪等[2]对水下蛇形机器人的刚性关节和柔性部分进行综合建模后,计算每个关节的控制输入,实现对机器人运动姿态的精确控制。但在实际应用中,柔性体的变形特性可能受到多种因素影响,无法完全反映实际情况。张鑫等[3]在双环控制系统中应用自适应滑模控制算法,根据机器人的实际运动状态和期望状态的偏差,实现机器人姿态设计。但双环结构和自适应算法的计算量相对较大,对控制器的计算能力要求较高,可能会限制其在一些计算资源有限的水下机器人中的应用。刘莹等人[4]提出多点位控制机器人姿态交互方法,根据姿态传感器,收集多点位姿态信息,通过分析不同点位的姿态变化,协调控制机器人的各个执行机构。如何有效地融合多个点位的姿态信息是一个挑战,数据融合过程中可能会出现信息丢失或错误。李维宇等[5]在建立动态协同模型后,根据挖掘任务的需求和机器人的运动状态,优化各个执行机构的运动参数,实现机器人整体的协调运动和姿态控制设计。该方法主要针对挖掘机器人的特定任务设计,对于其他类型的水下机器人或不同的作业任务,通用性较差。

三维虚拟技术是一种利用计算机软件创建三维模型、场景和交互体验的技术,通过模拟真实世界的物理特性、几何形状和空间关系,能够突破了二维平面限制,在虚拟环境中呈现出逼真的三维对象和环境[6],带来更直观、沉浸的体验。本文在此以三维虚拟技术为基础,提出应用三维虚拟技术的水下机器人运动姿态设计方法,以更清晰、准确地把握机器人的运动情况,有助于发现潜在问题,如部件之间的碰撞、运动轨迹的不合理等。

1 水下机器人运动姿态设计 1.1 基于三维虚拟软件的水下机器人三维建模

考虑到水下机器人是由多个零件组成,结构较为复杂,本文采用三维虚拟技术精确地按照不同零件的尺寸、位置、运行规则等参数构建零件库[7],并通过三维虚拟技术的CATIA软件,绘制水下机器人零件基本轮廓,设置零件的尺寸、几何等约束条件,并存储到模型库内,依据机器人零件局部坐标和全局坐标重合的方式,实现零件的组装,清晰地展示水下机器人的整体结构和各部分之间的相对位置关系。

水下机器人作为刚体,其运动由沿质心运动和绕质心运动,在对水下机器人零件三维模型进行装配时,令$ ({x_1},{y_1},{z_1}) $表示水下机器人全局坐标系上的任意点坐标,其运动后的坐标可由$ (x,y,z) $表示,该2个坐标的移动过程可描述为:

$ (x,y,z,1) = ({x_1},{y_1},{z_1},1) \times \Phi 。$ (1)

式中,$\Phi $表示水下机器人全局坐标系上任意点空间几何变换矩阵,表达公式为:

$ \Phi = \left[ {\begin{array}{*{20}{c}} {{\iota _{11}}}&{{\iota _{12}}}&{{\iota _{13}}}&{{\iota _{14}}} \\ {{\iota _{21}}}&{{\iota _{22}}}&{{\iota _{23}}}&{{\iota _{24}}} \\ {{\iota _{31}}}&{{\iota _{32}}}&{{\iota _{33}}}&{{\iota _{34}}} \\ {{\iota _{41}}}&{{\iota _{42}}}&{{\iota _{43}}}&{{\iota _{44}}} \end{array}} \right]。$ (2)

式中,$ {\iota _{ij}}(i,j = 1,2,3,4) $是空间几何变换矩阵的元素。

在明确水下机器人每个零件结构和工作原理前提条件下,通过式(2)建立不同零件之间尺寸和运动关系,将该运动关系按照水下机器人零件装配顺序保存到TXT格式的数据表内,再将该表导入到CATIA软件内,CATIA软件调用表内数据后可自动生成水下机器人三维模型。

1.2 水下机器人动力学模型构建

设置质量与线速度相关参数如下:$ m $为水下机器人的质量,反映了机器人惯性大小,是描述其平动惯性特性的基本物理量。$ o $$ v $$ w $分别是水下机器人在局部坐标系下沿$ x $$ y $$ z $轴方向的线速度分量,描述机器人在三维空间中的平动速度。$ \dot o $$ \dot v $$ \dot w $分别为$ u $$ v $$ w $对时间的导数,即沿相应轴方向的线加速度分量。设置外力与外力矩参数如下:$ X $$ Y $$ Z $分别是作用在水下机器人上沿$ x $$ y $$ z $轴方向的外力分量,是导致机器人平动状态改变的外部作用。$ K $$ \Gamma $$ N $分别是作用在水下机器人上绕$ x $$ y $$ z $轴方向的外力矩分量,是导致机器人转动状态改变的外部作用[8]。在上述参数设置基础上,水下机器人局部坐标系下的动力学模型表达式为:

$ X = m\left[ \begin{gathered} \dot o - v\delta + w\varepsilon - \left( {{x_c}{\varepsilon ^2} + {x_c}{\delta ^2}} \right) + \\ ({y_c}p\varepsilon - {y_c}\dot \delta ) + ({z_c}p\delta + {z_c}\dot \varepsilon ) \\ \end{gathered} \right],$ (3)
$ Y = m\left[ \begin{gathered} \dot v + o\delta - wp + ({x_c}p\varepsilon + {x_c}\dot \delta ) - \\ \left( {{y_c}{p^2} + {y_c}{\delta ^2}} \right) + ({z_c}\varepsilon \delta - {z_c}\dot p) \\ \end{gathered} \right],$ (4)
$ Z = m\left[ \begin{gathered} \dot w - o\varepsilon + vp + ({x_c}p\delta - {x_c}\dot \varepsilon ) + \\ ({y_c}\varepsilon \delta + {y_c}\dot p) - \left( {{z_c}{p^2} + {z_c}{\varepsilon ^2}} \right) \\ \end{gathered} \right] ,$ (5)
$ \begin{split} & K = ({U _x}\dot p + ({U _z} - {U _y})\varepsilon r + {U _{xy}}(pr - \dot \varepsilon ) - {U _{yz}}\left( {{\varepsilon ^2} - {\delta ^2}} \right) - \\ &\;\;{U_{zx}}(p\varepsilon + \dot \delta ) + m\left[ {{y_c}(\dot w - o\varepsilon + vp) - {z_c}(\dot v + o\delta - wp)} \right],\end{split} $ (6)
$ \begin{split} \Gamma =& (p\delta {U_y}\dot \varepsilon + p\delta ({U_x} - {U_z}) - {U_{xy}}(\varepsilon \delta + \dot p) + \\ &{U_{yz}}(p\varepsilon - \dot \delta ) + {U_{zx}}\left( {{p^2} - {\delta ^2}} \right) - m{x_c}(\dot w - o\varepsilon + vp) + \\ &m{z_c}(\dot o - v\delta + w\varepsilon ) , \end{split} $ (7)
$ \begin{split} N = &({U_z}\dot r + ({U_y} - {U_x})p\varepsilon - {U_{xy}}\left( {{p^2} - {\varepsilon ^2}} \right) - \\ &{U_{yz}}(p\delta + \dot \varepsilon ) + {U_{zx}}(\varepsilon \delta - \dot p) + \\ &m{x_c}(\dot v + o\delta - wp) - m{y_c}(\dot o - v\delta + w\varepsilon ) 。\end{split} $ (8)

式中:$ {U_x} $$ {U_y} $$ {U_z} $分别为水下机器人绕$ x $$ y $、z轴的转动惯量,体现机器人抵抗绕轴转动状态改变的能力;$ {U_{xy}} $$ {U_{yz}} $$ {U_{zx}} $均为惯性积,反映了机器人质量分布相对于坐标轴的不对称性;$ p $$ \varepsilon $$ \delta $分别为水下机器人绕$ x $$ y $$ z $轴的角速度分量,描述机器人绕轴的转动速度;$ \dot p $$ \dot \varepsilon $$ \dot \delta $分别为$ p $$ \varepsilon $$ \delta $对时间的导数,即绕相应轴方向的角加速度分量;质心位置参数$ {x_c} $$ {y_c} $$ {z_c} $为水下机器人质心在局部坐标系中的坐标,用于确定质心位置,在计算惯性力和力矩时考虑质心位置对运动的影响,以上参数均为水下机器人惯性矩与角速度相关参数。

$ H $代表作用在机器人主体上的水动力,$ T $代表脐带缆张力,$ {\mathchar'26\mkern-10mu\lambda _0} = {(X,Y,Z)^{\rm{T}}} $$ \hbar_0=(K,\Gamma,N)^{\mathrm{T}} $表示作用在机器人上的外力和外力矩,其计算公式为:

$ {\mathchar'26\mkern-10mu\lambda _0} = {\mathchar'26\mkern-10mu\lambda _W} + {\mathchar'26\mkern-10mu\lambda _T} + {\mathchar'26\mkern-10mu\lambda _H} + {\mathchar'26\mkern-10mu\lambda _{TH}} ,$ (9)
$ {\hbar _0} = {\hbar _W} + {\hbar _T} + {\hbar _H} + {\hbar _{TH}}。$ (10)

式中:下标$ W $代表流体静恢复力;下标$ TH $代表控制螺旋桨的推进力。

推进力合力$ {F_{TH}} $表达式为:

$ {\mathchar'26\mkern-10mu\lambda _{TH}} = \sum {{\mathchar'26\mkern-10mu\lambda _{THi}}}。$ (11)

式中,下标$ i $代表螺旋桨的序号,为该螺旋桨的推进力$ {\mathchar'26\mkern-10mu\lambda _{THi}} $

第个螺旋桨产生的力矩$ {\hslash }_{THi} $计算公式为:

$ {\hbar _{THi}} = {r_i} \times {\mathchar'26\mkern-10mu\lambda _{THi}}。$ (12)

式中,$ {r_i} $为在机器人局部坐标系上螺旋桨推进力动力作用点坐标。

依据式(12),式(10)内的$ {\hbar _{TH}} $计算公式如下:

$ {\hbar _{TH}} = \sum {{\hbar _{THi}}} 。$ (13)

$ [S] $为坐标转换矩阵,机器人局部坐标系上脐带缆张力$ {\mathchar'26\mkern-10mu\lambda _T} $和力矩$ {\hbar _T} $计算公式分别为:

$ {\mathchar'26\mkern-10mu\lambda _T} = - [A][S]T,$ (14)
$ {\hbar _T} = {r_T} \times {\mathchar'26\mkern-10mu\lambda _T}。$ (15)

式中:$ [A] $为相对坐标与绝对坐标之间的转换矩阵;$ {r_T} $为水下机器人局部坐标系下结合点处坐标。

1.3 基于水下虚拟仿真环境的机器人运动姿态控制

使用三维虚拟技术中的Unreal Engine软件,搭建机器人水下虚拟仿真环境,并在该虚拟仿真环境内,构建水下机器人姿态控制器,将虚拟环境中的姿态模拟结果反馈给姿态模态控制器,控制器根据反馈信息调整控制策略,形成一个闭环控制系统,通过计算出机器人在不同时刻的姿态变化,不断优化水下机器人的姿态控制性能,实现水下机器人在不同作业需求下的姿态控制。

机器人水下虚拟仿真环境搭建流程如图1所示。

图 1 机器人水下虚拟仿真环境搭建流程 Fig. 1 Process of building a robot underwater virtual simulation environment

图1中,设置水下机器人三维模型的缩放比例、材质参数后点击 “导入”;接着点击“创建物理资产”,将水下机器人三维模型与动力学模型绑定;随后在Unreal Engine 浏览器内创建水体蓝图,设置水体密度、阻力、波浪等参数;再为水体蓝图添加光照效果,用半透明材质和水下纹理进行纹理映射处理。

在构建横倾和纵倾姿态控制方程时,本文采用载体坐标系作为建模基准。该坐标系原点位于水下机器人质心,x轴沿机器人前进方向,y轴垂直于x轴指向右侧,z轴遵循右手法则垂直向下,使用$ [x\;y\;z\;\varphi \;\theta \;\psi ] $表示水下机器人位置和方向,$ \varphi $$ \theta $$ \psi $分别为水下机器人对惯性坐标系的横倾角、纵倾角、航向角,然后分别构建水下机器人横倾和纵倾姿态控制方程,其中纵倾姿态控制方程为:

$ \left\{ {\begin{array}{*{20}{l}} \begin{gathered} {\tau _\zeta } = \dot \varepsilon {U_y} - \dot \varepsilon {\zeta _{\dot \varepsilon }} + {\zeta _{\varepsilon |\varepsilon |}}|\varepsilon |\varepsilon + {f_\zeta } - \\ \cos \theta \left[ \begin{gathered} ({x_G}{\Psi _1} - {x_c}{\Psi _2})\cos \varphi - \\ ({z_G}{\Psi _1} - {z_c}{\Psi _2})\sin \theta \\ \end{gathered} \right],\\ \end{gathered} \\ {\dot \theta = \varepsilon } 。\end{array}} \right. $ (16)

式中:$ {\tau _\zeta } $为纵倾方向的控制力矩;$ {\zeta _{\dot \varepsilon }} $与纵倾角加速度$ \dot \varepsilon $相关的水动力系数;$ {\zeta _{\varepsilon |\varepsilon |}} $为与纵倾角速度$ \dot \varepsilon $的绝对值相关的水动力系数;$ {x_G} $$ {z_G} $为载体坐标系$ x $$ z $方向的坐标。$ {\Psi _1} $$ {\Psi _2} $均为与水下机器人运动相关的物理量;$ {x_c} $$ {z_c} $为水下机器人重心和浮心在载体坐标系对应方向坐标;$ {f_\zeta } $为纵倾方向的干扰力或力矩;$ \dot \theta $为纵倾角变化率,在方程中等于$ \varepsilon $

横倾姿态控制方程为:

$ \left\{ {\begin{array}{*{20}{l}} \begin{gathered} {\tau _\phi } = \dot p{U_x} - \dot p{\phi _{\dot p}} + {\phi _{p|p|}}|p|p + {f_\phi } + \\ \cos \theta \left[ \begin{gathered} ({y_G}{\Psi _1} - {y_c}{\Psi _2})\cos \varphi - \\ ({z_G}{\Psi _1} - {z_c}{\Psi _2})\sin \varphi \\ \end{gathered} \right] ,\\ \end{gathered} \\ {\dot \varphi = p} 。\end{array}} \right. $ (17)

式中:$ {\tau _\phi } $为横倾方向的控制力矩;$ {\phi _{\dot p}} $为与横倾角加速度相关的水动力系数;$ {\phi _{p|p|}} $为与横倾角速度绝对值相关的水动力系数;$ {y_G} $$ {y_c} $分别为水下机器人重心和浮心在载体坐标系$ y $方向的坐标;$ {f_\phi } $为横倾方向的干扰力或力矩;$ \dot \varphi $为横倾角变化率在方程中等于$ p $

2 试 验

以某型号水下清淤作业机器人作为试验对象,该水下机器人主要负责清理水底杂物,广泛应用在航道疏浚、河流清淤等。

本文方法应用三维虚拟软件,构建水下机器人三维模型与水下虚拟仿真环境,如图2所示。

图 2 水下机器人三维模型与水下虚拟仿真环境 Fig. 2 Three dimensional model of underwater robot and underwater virtual simulation environment

图2中,水下机器人三维模型结构清晰,水底环境较为逼真,通过运行水下机器人三维模型,能够仿真其在水下作业情况,通过视觉传达的方式为用户呈现水下机器人动作姿态,为其姿态设计提供了技术支持。

以水下机器人运动中的进速系数作为衡量指标,以其实际运行值和水下虚拟环境中三维仿真数值作对比分析,测试结果如图3所示。

图 3 水下机器人进速系数 Fig. 3 Speed coefficient of underwater robot

可知,实际运行值与本文方法的三维模拟值波动趋势高度吻合,在不同时间点上数值差异较小。这表明本文方法构建的水下机器人动力学模型能精准反映水下机器人的运动特性,并且通过设置水体密度、阻力等参数搭建的水下虚拟仿真环境具有较高的逼真度,因此对水的阻力等因素的模拟较为准确,能够让机器人在虚拟环境中的运动特性与实际情况相符,从而验证了本文方法的有效性。

在机器人水下虚拟仿真环境中设置水下机器人作业任务场景,使用本文方法设计该水下机器人在进行水下作业时的运动姿态,在该水下机器人到作业目标位置之间设置8个点位,使用本文反复设计该水下机器人在对应路径点位时的运动姿态,结果如表1所示。

表 1 水下机器人运动姿态设计结果 Tab.1 Design results of underwater robot motion posture

可知,在设置的8个运行路径点位上,水下机器人的纵倾角和横倾角呈现出多样化的数值。纵倾角范围从−6°~8°,横倾角范围从−4°~5°。这种多样的角度设置说明本文方法能够根据不同的路径点位,设计出多种不同的运动姿态,体现了该方法具备灵活调整机器人姿态的能力,以适应水下复杂的作业场景。这得益于本文方法采用的三维虚拟技术允许在虚拟环境中方便地调整各种参数和模型,并通过构建水下机器人横纵姿态控制方程,根据不同的路径点位和作业需求,实时地对机器人的姿态进行调整。

以执行某作业任务时运动姿态中的航向角作为衡量指标,使用本文方法设计该水下机器人运动姿态后,以该水下机器人执行作业任务时的期望姿态航向角和设计姿态航向角作为对比分析,结果如图4所示。

图 4 水下机器人运动姿态航向角 Fig. 4 Underwater robot motion attitude heading angle

分析可知,期望姿态航向角和设计姿态航向角的曲线走势相近,虽有波动但整体契合度较高。这表明本文方法设计出的水下机器人运动姿态航向角,与期望航向角较为接近,说明该方法在以航向角为衡量指标的运动姿态设计上表现良好,具备较强的设计能力,能较好满足水下作业任务对姿态航向的要求。

3 结 语

本文围绕应用三维虚拟技术的水下机器人运动姿态设计展开研究,通过在水下虚拟仿真环境设置作业场景,在8个路径点位中,纵倾角范围达−6°~8°,横倾角范围达−4°~5°,各点位姿态角度差异显著,能够根据作业场景需求动态调整姿态参数,适应复杂水下环境的多样化任务。且以航向角衡量时与期望姿态契合度高,充分展现出在水下机器人运动姿态设计中的优势与可行性,为水下机器人更高效、精准执行任务提供了有力支持。

参考文献
[1]
李亚鑫, 陈顺杰, 王宇. 基于康达效应的水下机器人矢量推进器设计与性能评价[J]. 船舶力学, 2023, 27(4): 498-507.
LI Y X, CHEN S J, WANG Y. Design and evaluation of the coanda-effect-based vector thruster for underwater vehicles[J]. Journal of Ship Mechanics, 2023, 27(4): 498-507.
[2]
张军豪, 陈英龙, 杨昕宇, 等. 刚柔耦合水下蛇形机器人的建模与控制仿真[J]. 工程科学学报, 2023, 45(12): 2095-2107.
ZHANG J H, CHEN Y L, YANG X Y, et al. Modeling and control simulation of a bio-inspired underwater snake robot with a novel rigid-soft coupling structure[J]. Chinese Journal of Engineering, 2023, 45(12): 2095-2107.
[3]
张鑫, 秦东晨, 谢远龙, 等. 基于双环自适应滑模的移动机器人轨迹跟踪控制[J]. 合肥工业大学学报(自然科学版), 2024, 47(1): 13-20.
ZHANG X, QIN D C, XIE Y L, et al. Trajectory tracking control of mobile robot via double-loop adaptive sliding mode strategy[J]. Journal of Hefei University of Technology(Natural Science), 2024, 47(1): 13-20.
[4]
刘莹, 邵彧. 利用姿态传感器多点位控制机器人交互方法[J]. 机械设计与制造, 2023, 384(2): 266-269.
LIU Y, SHAO Y. Multi-point control robot interaction method using attitude sensor[J]. Machinery Design & Manufacture, 2023, 384(2): 266-269.
[5]
李维宇, 王玉璟. 动态协同算法在挖掘机器人控制的优化研究[J]. 机械设计与制造, 2024, 400(6): 331-337.
LI W Y, WANG Y J. Optimization of dynamic cooperative algorithm in the control of mining robot[J]. Machinery Design & Manufacture, 2024, 400(6): 331-337.
[6]
朱子健, 姜言清, 李柯垚, 等. 水下机器人移动式对接的全局路径规划方法[J]. 哈尔滨工程大学学报, 2024, 45(10): 1873-1879.
ZHU Z J, JIANG Y Q, LI K Y, et al. A global path planning method for mobile docking AUV[J]. Journal of Harbin Engineering University, 2024, 45(10): 1873-1879.
[7]
马秀峰, 张奇峰, 孙英哲. 仿生六足机器人步态设计与运动仿真[J]. 计算机仿真, 2023, 40(2): 255-260, 269.
MA X F, HANG Q F, SUN Y Z. Gait design and motion simulation of bionic hexapod robot[J]. Computer Simulation, 2023, 40(2): 255-260, 269.
[8]
崔雪锴, 白越, 裴信彪. 基于模糊PID的球形两栖机器人的设计及控制[J]. 电光与控制, 2024, 31(3): 99-103, 114.
CUI X K, BAI Y, PEI XI B. Design and control of a spherical amphibious robot based on fuzzy PID[J]. Electronics Optics & Control, 2024, 31(3): 99-103, 114.