基于Gazebo的深海网箱洗网机器人动力学仿真平台搭建

邢旺, 黄小华, 李根, 庞国良, 袁太平

邢旺, 黄小华, 李根, 庞国良, 袁太平. 基于Gazebo的深海网箱洗网机器人动力学仿真平台搭建[J]. 南方水产科学, 2024, 20(1): 1-10. DOI: 10.12131/20230189
引用本文: 邢旺, 黄小华, 李根, 庞国良, 袁太平. 基于Gazebo的深海网箱洗网机器人动力学仿真平台搭建[J]. 南方水产科学, 2024, 20(1): 1-10. DOI: 10.12131/20230189
XING Wang, HUANG Xiaohua, LI Gen, PANG Guoliang, YUAN Taiping. Construction of a dynamics simulation system for net cleaning robot based on Gazebo[J]. South China Fisheries Science, 2024, 20(1): 1-10. DOI: 10.12131/20230189
Citation: XING Wang, HUANG Xiaohua, LI Gen, PANG Guoliang, YUAN Taiping. Construction of a dynamics simulation system for net cleaning robot based on Gazebo[J]. South China Fisheries Science, 2024, 20(1): 1-10. DOI: 10.12131/20230189

基于Gazebo的深海网箱洗网机器人动力学仿真平台搭建

基金项目: 海南省科技专项资助 (ZDYF2021XDYN305, ZDYF2023XDNY066);中国水产科学研究院中央级公益性科研院所基本科研业务费专项资金资助(2023TD97, 2023XT06);中国水产科学研究院南海水产研究所中央级公益性科研院所基本科研业务费专项资金资助 (2022TS06, 2021SD10);广州市科技计划项目资助 (202201010066)
详细信息
    作者简介:

    邢 旺 (1998—),男,硕士研究生,研究方向为水下机器人控制方向和建模仿真。E-mail: 1434004456@qq.com

    通讯作者:

    李 根 (1991—),男,副研究员,博士,研究方向为渔业装备与工程。E-mail: ligenhust@163.com

  • 中图分类号: O 352;TP 242.3

Construction of a dynamics simulation system for net cleaning robot based on Gazebo

  • 摘要:

    深海网箱养殖是重要的海水养殖模式,网箱网衣的定期清洗是确保养殖质量和安全的关键环节。目前,网衣普遍采用人工清洗,不仅费时费力,且随着深海网箱规格越来越大,人工方式难度显著提升。洗网机器人为深海网箱网衣清洗提供了更加安全、便捷的方式;然而,洗网机器人在贴网清洁和水下穿梭过程中,受力难建模、状态难观测,设计抗扰动能力强、能耗低的控制器困难,开展全面实验及数据记录成本高、时间长。针对上述问题,在物理仿真环境Gazebo的基础上,考虑了推进器和洗盘的存在,并分析了在水下环境中诸如附加质量、阻尼等各项水动力学特性以及流场环境等因素对洗网机器人的影响,构建了一套洗网机器人仿真系统,使得洗网机器人水下工作完备数据易获得、控制性能易验证、模型性能易对比,从而助力洗网机器人的控制器开发。

    Abstract:

    Deep-sea cage aquaculture is an important marine aquaculture mode. Regular cleaning of cage nets is a critical step to ensure aquaculture quality and safety. Currently, nets are commonly cleaned manually, which is time-consuming and labor-intensive. As deep-sea cages grow larger, their manual cleaning become more difficult. Net washing robots provide a safer and more convenient way to clean nets for deep-sea cages. However, it is challenging to design controllers with strong disturbance resistance and low energy consumption for net washing robots, as the forces are difficult to model and the states are hard to observe during net cleaning and underwater shuttling. Moreover, conducting comprehensive experiments and data recording requires high costs and much time. To address these problems, we constructed a simulation system for a net washing robot based on the physical simulation environment Gazebo, considering the presence of thrusters and washing discs. Besides, we analyzed the effects of various hydrodynamic characteristics in underwater environment, such as added mass and damping, and factors like flow field environment on the washing robot. The established net washing robot can obtain complete data on the underwater operation of the net washing robot, verify control performance, and compare model performance more easily, thereby assisting in the controller development of washing robots.

  • 我国是海洋大国,发展海水养殖能充分发挥海域广阔的优势,满足人们对于优质水产动物蛋白的需求[1-2]。由于近海养殖日趋饱和,养殖压力不断攀升,资源和空间的问题日益加剧,因此人们将目光投向了具有水域面积辽阔、水质条件优良、水体交换速度快等优点[3]的深远海区域。

    网箱是深海养殖中不可或缺的组成,大型深海网箱具有一般网箱没有的大容量、抗风浪和高效益等优点,同时大型深海网箱往往配备成套的智能系统,易实现无人值守和远程管控[4]。网衣清洗是深海网箱养殖必不可少的环节。网衣得不到及时清洁会影响鱼类生长,同时污损生物会增加网衣的重量,导致网衣、网箱的结构破坏风险增加[5-6]

    目前,网衣清洗可分为:人工清洗法、机械冲洗法和洗网机器人清洗法。人工清洗和机械清洗均费时费力,且会造成危险[7]。洗网机器人具有操作简单、安全便携和自动化程度高等优点。其主要由控制单元、运动单元和清洗单元等构成[8]。控制及运动单元解决机器人贴网移动、水下穿梭等问题,而清洗单元则可以通过多种不同的清洗工具达到对网箱网衣的清理。

    总体上,在结构设计方面,研究者探索了各种不同的洗网方式,例如高压旋转水流、毛刷、空化射流等,旨在实现高效、便捷的网箱清洗。可分为清洗工具、清洗水流亦或两者综合使用。在清洗工具方面:通过清洗盘清洗喷嘴[9]或提供多种类型喷嘴的清洗单元来进行洗网作业[10],以及采用多个旋转刀片构成洗网清洁头实现高效清洗[11]等。在清洗水流方面:通过高压旋转水流[12]和通过空化射流进行清洗作业[13]。综合两者还有:采用水流和毛刷作为清洗方式[14]和通过清洗模块的形式进行清洗作业[15]等组合模式。

    在运动控制方面,采用自动导航[16-17]、自适应抓钩控制[18]等控制策略,以实现洗网机器人的自主贴网移动。为应对深海环境中的复杂动力学,建立动力学模型、开展仿真研究也成为热点。基于视觉、声呐等各种传感器的控制方案也受到关注。

    好的洗网机器人应具备水下抗扰动、低能耗的特点。然而洗网机器人在贴网移动、水下穿梭的过程中,受力复杂、非线性程度高、状态难以观测,要求大量、全面的实验数据来支撑控制器的优化,该方式成本高、耗时长。针对此问题,本文在物理仿真环境Gazebo的基础上,设计并开发了一套洗网机器人动力学及运动学仿真平台,通过仿真来获得洗网机器人水下工作的完备数据,开展不同控制器的全面性能验证,助力洗网机器人的控制器开发及优化。

    针对机械臂、无人驾驶等机器人仿真问题,研究者开发了多款机器人仿真软件,包括Webots、V-REP (现为CoppeliaSim)、MuJoCo和Gazebo等 (图1),目前暂无针对水下机器人的仿真平台[19]

    图  1  各软件操作页面
    Figure  1.  Operation page of each software

    本文选择Gazebo作为基础仿真平台,主要原因是:1) 机器人操作系统ROS [20]提供了丰富的Gazebo接口,因此Gazebo方便联合ROS开展机器人控制器开发;2) Gazebo支持多种物理引擎,如ODE和Bullet,且有直观、易操作的三维仿真界面 (图1-d);3) Gazebo社区开源了UUV Simulator项目,该项目可以支持搭建和测试水下机器人,仿真水动力对机器人的作用为本文的开发提供了参考[21]

    在Gazebo和ROS的基础上,本文设计了图2所示的仿真系统架构。其中绿色部分为基础平台已经具备的功能,橙色部分为需要开发的功能。ROS提供了良好的进程间通讯机制,针对机器人控制策略设计问题,需要开发状态估计模块、控制模块、日志记录模块等;Gazebo提供了机器人建模语言及编译系统、3D渲染功能及物理引擎,在此基础上,开发洗网机器人本体,并开发水动力、推进器、传感器等插件。本文针对的是动力学仿真问题,因此,主要介绍水动力插件和推进器插件相关内容。通过ROS-Gazebo通讯接口,可实现两平台的信息交换[22]

    图  2  仿真系统架构
    Figure  2.  Framework of simulation system

    结构对机器人动力学和控制性能有非常重要的影响。结构尺寸、外表面影响碰撞、摩擦、附加质量[23]等参数,推进器布置影响机器人的姿态控制,重心浮心位置影响机器人的稳定性,质量和惯量决定机器人的响应速度,上述因素综合影响着机器人的运动性能和操作能力。

    构建洗网机器人本体结构步骤如下:1) 先在SolidWorks软件中设计出机器人各零部件模型,包括机器人本体、推进器、洗盘3个部分,并对零部件进行装配得到洗网机器人三维模型 (图3);2) 利用SolidWorks to URDF Exporter插件设置机体、推进器和洗盘的坐标系、旋转轴以及父子关系;3) 获取机器人中各部件的相对位置关系和关节之间的关系,利用这些信息编写机器人模型xacro文件;4) 将各零部件导出为STL格式用于描述机器人模型在Gazebo中的外观元素部分;5) 设置机器人水动力模型参数,并将其数据编写软件包。

    图  3  洗网机器人本体结构图
    Figure  3.  Structure diagram of washing robot body

    一旦洗网机器人的受力已知,就可模拟机器人在水下无输入情况下的运动轨迹,还可模拟机器人在控制作用下的运动轨迹,有助于深入理解洗网机器人的运动行为,设计及验证控制器性能[24]

    洗网机器人在工作过程中受力复杂,本文仅考虑影响较大的力,包括:浮力、重力、水阻尼力、附加质量效应、水流作用、推进器及洗盘作用。忽略了脐带缆、湍流、涡流等的影响[25],主要原因为:1) 考虑到机器人移动速度慢,设计时选用相对大功率的推进器,因此湍流、涡流对机器人的控制影响较小;2) 脐带缆在设计时会选用零浮力缆,在大部分场景下对机器人运动无影响 (少数情况的影响我们将在后续深入研究)。

    本文依据Fossen手册[26]海洋运载器的六自由度运动学方程建立洗网机器人动力学模型:

    $$ \begin{array}{c}M\dot{{\boldsymbol{v}}}{\text{+}}C\left({\boldsymbol{v}}\right){\boldsymbol{v}}{\text{+}}D\left({\boldsymbol{v}}\right){\boldsymbol{v}}{\text{+}}{\boldsymbol{g}}\left({{\bf\textit{η}}} \right){\text{+}}{{\boldsymbol{g}}}_{0}{\text{=}}\tau {\text{+}}{\tau }_{b}\end{array} $$ (1)

    式中:$ {\boldsymbol{v}} $为洗网机器人速度向量,即机器人本体坐标系在世界坐标系下的速度在本体坐标系下的表示;$ \dot{{\boldsymbol{v}}} $为洗网机器人加速度向量,即机器人本体坐标系在世界坐标系下的加速度在本体坐标系下的表示;$ {{{\bf\textit{η}}} }^{6\times 1} $为洗网机器人在世界坐标系下的姿态向量;$ {M}^{6\times 6}={M}_{\mathrm{R}\mathrm{B}}+{M}_{\mathrm{A}} $,为系统的惯性矩阵,MRBMA分别为刚体和附加质量引起的惯性矩阵;$ {C}^{6\times 6}={C}_{RB}\left({v}_{r}\right)+{C}_{A}\left({v}_{r}\right) $ ,为系统的科里奥利向心矩阵 (下文简写为科氏力),$ {C}_{\mathrm{R}\mathrm{B}}\left({v}_{r}\right)\mathrm{和}\,{C}_{\mathrm{A}}\left({v}_{r}\right) $ 分别为刚体和附加质量导致的科里奥利向心矩阵;$ {D}^{6\times 6}= {D}_{\mathrm{L}}+{D}_{\mathrm{N}} $,为系统的阻尼矩阵,$ {D}_{\mathrm{L}}\mathrm{和}\,{D}_{\mathrm{N}} $ 分别为线性和非线性阻尼矩阵;${{\boldsymbol{g}}\left({{\bf\textit{η}}} \right)}^{6\times 1}$为系统的重力、浮力的合力矩矢量;$ {{\boldsymbol{g}}}_{0}$ 为用于预调平 (压载控制) 的向量;$ \tau \in {R}^{6\times 1} $,为推进器或其他动力元件产生的力和力矩;$ {\tau }_{b}\in {R}^{6\times 1},\mathrm{为} $风、浪和流环境等不确定因素产生的干扰力。

    下文将分别对公式 (1) 中出现的附加质量、科氏力、阻尼等作用力对机器人运动的影响进行仿真。需要注意的是,由于洗网机器人移动范围小且速度慢,因此地球旋转导致的科氏力可忽略,机器人旋转运动导致的科氏力由物理引擎自动处理,因此,下文不专门探讨科氏力对机器人的影响[27]

    推进器通过螺旋桨旋转推水给机器人施加推力和转矩 (图4),推力和转矩与螺旋桨的转速、水流密度推力系数等相关,计算公式[28]为:

    图  4  螺旋桨洗盘对机器人施加的推力和转矩
    Figure  4.  Thrust and torque applied by propeller to robot
    $$ \begin{array}{c}\tau {\text{=}}\rho {n}^{2}{D}^{4}{K}_{{\rm{Tp}}}\end{array} $$ (2)
    $$ \begin{array}{c}Q{\text{=}}\rho {n}^{2}{D}^{5}{K}_{\mathrm{Q}}\end{array} $$ (3)

    式中:$ \tau $为螺旋桨的推力;Q为螺旋桨的转矩;n为螺旋桨的转速;D为螺旋桨的直径;$ \rho $为流体密度;$ {K}_{{\rm{Tp}}} $为螺旋桨的推力系数;$ {K}_{\mathrm{Q}} $为转矩系数。

    洗盘和推进器对机器人的作用类似,即提供一个推力和转矩,因此,采用和推进器一样的公式 (2) 和(3),调整系数来获得洗盘对机器人的作用。只是动态特性时间常数需要减小,旋转系数需要增大。

    静止在水中的机器人,会受到重力和浮力作用。如果重心和浮心不重合,重力和浮力将产生恢复力矩,使得机器人姿态在平衡状态附近震荡[29]。水下机器人受到的浮力和重力如图5所示,在NED坐标系中,作用于浮心的浮力$ {f\,}_{b}^{n}{\text{=}}\left[\begin{array}{c}0\\ 0\\ B\end{array}\right] $,作用于重心上的重力$ {{f}\,}_{{g}}^{{n}}{\text{=}}\left[\begin{array}{c}0\\ 0\\ W\end{array}\right] $,重力与浮力组合作用可表示为:

    图  5  重力、浮力共同作用示意图
    Figure  5.  Schematic diagram of combined action of gravity and buoyancy
    $$ \begin{array}{c}g\left(\eta \right){\text{=}} \text{−}\left[\begin{array}{c}\left(W{\text{−}}B\right)\;\mathrm{sin}\theta \\ \text{−}\left(W{\text{−}}B\right)\;\mathrm{cos}\theta \mathrm{sin}\varphi \\ {\text{−}}\left(W{\text{−}}B\right)\;\mathrm{cos}\theta \mathrm{cos}\varphi \\ {\text{−}}\left({y}_{g}W{\text{−}}{y}_{b}B\right)\;\mathrm{cos}\theta \mathrm{cos}\varphi +\left({z}_{g}W{\text{−}}{z}_{b}B\right)\;\mathrm{cos}\theta \mathrm{sin}\varphi \\ \left({z}_{g}W{\text{−}}{z}_{b}B\right)\;\mathrm{sin}\theta +\left({x}_{g}W{\text{−}}{x}_{b}B\right)\;\mathrm{cos}\theta \mathrm{cos}\varphi \\ {\text{−}}\left({x}_{g}W-{x}_{b}B\right)\;\mathrm{cos}\theta \mathrm{sin}\varphi -\left({y}_{g}W-{y}_{b}B\right)\;\mathrm{sin}\theta \end{array}\right] \end{array} $$ (4)

    式中:$ {x}_{g}、{y}_{g}、{z}_{g}、{x}_{b}、{y}_{b}、{z}_{b} $分别表示重心和浮心在其坐标轴上相应的分量;BW分别代表在z轴方向上的重力和浮力。

    由于恢复效应为重心和浮心不重合所致,故z轴方向的旋转不受恢复效应影响,因此只考虑xy轴方向波动所导致的转矩对机器人的影响。

    在仅考虑重力和浮力的影响下,设置机器人重心 (0, 0, 0),浮心 (0, 0, $ {z}_{\mathrm{b}} $),分别对机器人的xyz轴方向施加100 Nm的冲击转矩,仿真机器人的运动轨迹 (图6)。

    图  6  Gazebo中对机器人施加转矩 (以x轴为例)
    Figure  6.  Applying torque to robots in Gazebo (Taking x-axis as an example)

    图7可见,由于重力和浮力的恢复力距作用,机器人的xy轴角速度作周期性的变化,而z轴角速度则保持在一个定值,这是因为浮力和重力方向均为竖直方向,无法在z轴方向上产生恢复力矩。

    图  7  重力、浮力作用下的角速度冲击响应
    Figure  7.  Angular velocity shock response under action of gravity and buoyancy

    机器人在水下运动会受到水流的碰撞和摩擦,导致阻尼作用,即速度越大,受到速度反方向的力就越大。阻尼作用可以建模为线性阻尼矩阵$ {D}_{\mathrm{L}} $和非线性阻尼矩阵 $ {D}_{\mathrm{N}} $

    $ {D}_{\mathrm{L}} $ 用于描述水动力引起的线性阻尼效应。该阻尼力矩阵是一个方阵,其元素表示不同自由度上的阻尼系数。它被用于分析水下机器人在运动过程中受到速度相关阻尼力的影响。线性阻尼力矩阵的规模和结构受水下机器人的几何形状、运动速度以及周围水流特性的影响 (图8)。其形式为:

    图  8  阻尼效应示意图
    Figure  8.  Schematic diagram of damping effect
    $${D}_{\mathrm{L}}{\text{=}}Diag\left(\begin{array}{cccccc}{X}_{u}& {Y}_{v}& {Z}_{w}& {K}_{p}& {M}_{q}& {N}_{r}\end{array}\right) $$ (5)

    式中:$ {X}_{u}、{Y}_{v}、{Z}_{w}、{K}_{p}、{M}_{q}$${N}_{r} $ 为一阶阻尼系数。

    $ {D}_{\mathrm{N}} $用于描述水动力引起的非线性阻尼效应。该矩阵包含了一些非线性阻尼项,例如速度的高阶项和非线性耦合项。这些项反映了水下机器人在运动过程中非线性阻尼力的贡献,通常是由于机器人的非线性形变或流体动力学效应所引起的 (图8)。其形式为:

    $$ \begin{array}{c}{D}_{\mathrm{N}}{\text{=}} Diag\;({X}_{u\left|u\right|}\left|u\right|\quad{Y}_{v\left|v\right|}\left|v\right|\quad{Z}_{w\left|w\right|}\left|w\right|\\ {K}_{p\left|p\right|}\left|p\right|\quad{M}_{q\left|q\right|}\left|q\right|\quad{N}_{r\left|r\right|}\left|r\right|)\end{array} $$ (6)

    式中:$ {X}_{u\left|u\right|}、{Y}_{v\left|v\right|}、{Z}_{w\left|w\right|}、{K}_{p\left|p\right|}、{M}_{q\left|q\right|}、{N}_{r\left|r\right|} $为二阶水动力系数。

    两者结合即为阻尼矩阵D,表示为:

    $$ \begin{array}{c}D{\text{=}} Diag\;({X}_{u}+{X}_{u\left|u\right|}\left|u\right|\quad {Y}_{v}+{Y}_{v\left|v\right|}\left|v\right|\quad {Z}_{w}+{Z}_{w\left|w\right|}\left|w\right|\\ {K}_{p}+{K}_{p\left|p\right|}\left|p\right|\quad {M}_{q}+{M}_{q\left|q\right|}\left|q\right|\quad {{N}_{r}+N}_{r\left|r\right|}\left|r\right|)\end{array} $$ (7)

    参考Berg[29]线性阻尼矩阵 $ {D}_{\mathrm{L}} $ 以及非线性阻尼矩阵 $ {D}_{\mathrm{N}} $ 可设置为:

    $$ \begin{array}{c}{D}_{\mathrm{L}}{\text{=}}{\left[ \begin{array}{ccc}74.82 & 69.48 & 728.4\end{array}\begin{array}{ccc}268.8 & 309.77 & 105\end{array} \right]}^{T}\end{array} $$ (8)
    $$ \begin{array}{c}{D}_{\mathrm{N}}{\text{=}} {\left[ \begin{array}{ccc}748.22 & 992.53 & 1\;821.01\end{array}\begin{array}{ccc}672 & 774.44 & 523.27\end{array} \right]}^{T}\end{array} $$ (9)

    组合两项作为其阻尼矩阵D为:

    $$ \begin{array}{c}D{\text{=}}Diag\; (823.04\quad 1\;062.01\quad\\ 910.41\quad 940.8\quad 1\;084.21\quad 628.27 )\end{array} $$ (10)

    阻尼对机器人运动状态影响的仿真情况如下:

    1) 阻尼对xyz轴方向平动线速度的影响。对xyz轴方向分别在0.5、0.2及0.7 s同时施加100 N的单位冲击力,并绘制在同一幅图表上 (图9-a)。可以观察到由于平动不涉及恢复效应,3个方向均在单位冲击时达到最大线速度,并由于阻尼效应随时间减小;其中xy轴方向的速度最终趋近于0,而z轴的速度并不为0,这是由于仿真过程重力略大于浮力,导致其在初始状态有一个初速度,并且最终在阻尼效应下速度回归于该初速度。

    图  9  阻尼效应对机器人平动和转动的影响
    Figure  9.  Effect of damping on translation and rotation of robots

    2) 阻尼对xyz轴角速度的影响。对xz轴在第0.8秒时以及y轴在第1.25秒时施加100 Nm的单位冲击扭矩,并同时绘制在图9-b上。可以观察到xy轴的角速度变化规律完全相同。由于恢复效应的影响,它们均作周期性的阻尼震荡运动。且随着时间的增加,周期性幅度逐渐减小。而z轴方向由于不受恢复效应的影响,不会产生周期性的震荡,而是沿着光滑的凹曲线缓慢下降。

    附加质量的产生是由于机器人的移动带动周围流体运动状态变化而对机器人产生的反作用,用符号$ {M}_{\mathrm{A}} $表示,其为6×6的矩阵,包含36个参数[30],由于机器人本体的对称性,本文将附加质量矩阵简化为对角矩阵,即附加质量不会改变机器人速度方向,只改变大小,设置:

    $$ \begin{array}{c}{M}_{\mathrm{A}} {\text{=}} Diag\;\left(1\;028\quad 1\;028\quad 1\;028\quad 171.333\quad 171.333\quad 171.333\right)\end{array} $$ (11)

    根据欧拉力学[30],刚体质量和惯量对运动的影响可建模为$ {M}_{\mathrm{R}\mathrm{B}} $,即:

    $$ \begin{array}{c}{M}_{\mathrm{R}\mathrm{B}}{\text{=}} \left[ \begin{array}{cccccc}m & 0 & 0 & 0 & m{z}_{g} & {\text{−}}m{y}_{g}\\ 0 & m & 0 & {\text{−}}m{z}_{g} & 0 & m{x}_{g}\\ 0 & 0 & m & m{y}_{g} & {\text{−}}m{x}_{g} & 0\\ 0 & {\text{−}}m{z}_{g} & m{y}_{g} & {I}_{x} & {\text{−}}{I}_{xy} & {\text{−}}{I}_{xz}\\ m{z}_{g} & 0 & {\text{−}}m{x}_{g} & {{\text{−}}I}_{xy} & {I}_{y} & {\text{−}}{I}_{yz}\\ {\text{−}}m{y}_{g} & m{x}_{g} & 0 & {\text{−}}{I}_{xz} & {\text{−}}{I}_{yz} & {I}_{z}\end{array} \right]\end{array} $$ (12)

    因此,惯量和质量共同作用下的影响矩阵为:${M}^{6\times 6}{\text{=}}{M}_{\mathrm{R}\mathrm{B}}{\text{+}}{M}_{\mathrm{A}}$。讨论在惯量及附加质量共同影响下的仿真情况如下:

    1)无附加质量下xyz轴线性加速度的变化。为探究无附加质量对线性方向加速度的影响情况,分别对xyz轴施加100 N的单位冲击力 (图10-a)。除因仿真中误差导致的重力略大于浮力使得z轴的线性加速度略小于xy轴外,其余加速度影响完全相同。

    图  10  单位冲击对有无附加质量线性加速度的影响
    Figure  10.  Influence of unit impact on linear acceleration with or without added mass

    2) 有无附加质量对线性加速度的影响。经过分析仿真结果,在有附加质量时xyz轴的线性加速度变化完全相同,故只考虑有无附加质量对线性加速度的影响。以x轴作为观察附加质量对线性加速度影响的参考。对机器人施加公式 (11) 的附加质量矩阵,同时对其施加100 N的冲击力。根据理论,在施加冲击力F不变的情况下,增加附加质量会导致其真实质量m增大,机器人的加速度a应该减小。但由于模拟仿真环境不像真实世界中时间为连续的变量,而是离散变量,故图10-b中的反向加速度在真实时间中应和正向加速度同时发生,叠加之后的加速度a就比无附加质量时小,故其符合理论情况。

    海流是由海洋水体的流动引起的,具有一定的速度和方向。因此,机器人在海流中运动时,会受海流作用,产生阻力和推力[31]。考虑到水流对机器人的影响非常复杂,本文对该作用进行简化,即水流场的作用等效为在机器人质心处施加一个速度矢量,具体如图11所示。

    图  11  流场图
    Figure  11.  Flow field diagram

    其中与机器人前进方向x轴夹角也为水平夹角设为α,与xOy平面的夹角也为竖直夹角设为β。且其中的速度、水平夹角和竖直夹角如上图的参数。所以其各速度分量可以表示为:

    $$ \begin{array}{c}\;\\[-3pt] \left\{\begin{array}{c}x{\text{=}}{\rm{currentVel}}\cdot \mathrm{cos}\alpha \cdot \mathrm{sin}\beta \\ y{\text{=}}{\rm{currentVel}}\cdot \mathrm{sin}\alpha \cdot \mathrm{cos}\beta \\ z{\text{=}}{\rm{currentVel}}\cdot \mathrm{sin}\beta \end{array}\right.\end{array} $$ (13)

    式中:currentVel为当前水流速度矢量,随着回调函数实时更新。

    为增加仿真的真实性,引入噪声来模拟水下环境中的扰动。采用高斯马尔可夫过程 (Gauss-Markov process) 来模拟噪声的影响。通过引入噪声,能够更准确地模拟真实环境中的随机变动,从而提高仿真的真实性。高斯马尔可夫过程是一种常用于噪声建模和处理的数学模型[32]。它通常用来描述随机信号或噪声的变化过程,具有随机性、平稳性等特点。本模拟仿真使用下述公式来引入高斯噪声:

    $$ \begin{array}{c}{\rm{var}}{\text{=}}\left(1{\text{−}}\mathrm{s}\mathrm{t}\mathrm{e}\mathrm{p}\cdot \mathrm{m}\mathrm{u}\right)\cdot {\rm{var}}{\text{+}}{\rm{noiseAmp}}\cdot {\rm{random}}\end{array} $$ (14)

    式中:var表示当前时刻的过程状态或变量的值;step表示时间步长;mu表示过程的阻尼系数;noiseAmp表示噪声幅值或强度;random表示服从均匀分布的随机数,用来引入随机性或噪声成分,模拟真实世界中不确定的随机变动。

    在不引入噪声的情况下,将速度矢量设为1 m·s−1,且与水平面和竖直面的夹角均为 $ \dfrac{\pi }{4} $。观察线速度的变化曲线,海流场作用的仿真情况见图12。在3 s之前的图像满足模拟仿真结果。但3 s之后出现了较大波动,这是因为机器人设置的深度为5 m,在波动时刻机器人冲出水面,然后在阻尼等的作用下出现波动并最终趋于稳定。

    图  12  无高斯噪声流场下的线速度零输入零状态响应
    Figure  12.  Linear velocity zero input zero state response in no gaussian noise flow field

    将mu设置为0.3,noiseAmp设置为0.5,继续观察对机器人速度的影响情况。由图13可见,噪声对线速度和角速度的影响非常大。如何通过控制策略来消除噪声对机器人平稳运行的影响是下一步要研究的问题,本文只涉及机器人模型的建立,未给出解决方案。

    图  13  流场高斯噪声下的线速度和角速度零输入零状态响应
    Figure  13.  Zero input and zero state response of linear velocity and angular velocity with Gaussian noise of flow field

    洗网机器人在贴网移动时,会受到网衣的作用。网衣对机器人施加摩擦力、支持力,影响机器人在网面和垂直网面的运动。同时,网衣将网箱的移动作用到机器人上,改变机器人的状态;此外,网衣可能改变水动力特性,进而改变机器人的状态。

    在本文模拟仿真中,假设网箱固定,重点关注摩擦力和支持力的影响 (图14),忽略其他受力方面,这种简化有助于减少计算的复杂度。

    图  14  机器人在网箱表面的受力情况和贴网示意图
    Figure  14.  Force situation of robot on surface of cage and schematic diagram of sticking net

    本文基于Gazebo仿真平台,搭建了洗网机器人仿真环境,实现了洗网机器人三维建模和动力学仿真。通过单元仿真的方式,分别建模或仿真了推进器及洗盘、流体阻尼、惯量及附加质量、海流场以及网衣对洗网机器人运动的影响。验证了仿真平台的有效性,为后续设计抗干扰能力强、能耗低的控制器奠定了基础。但目前的仿真平台中洗网机器人在水下的真实运动情况仍有提升的空间,体现在:1) 附加质量未考虑机器人的结构;2) 流场模型和现实有差别;3) 网衣作用缺乏有效模型;4) 未考虑推进器时滞效应;5) 未基于真实实验数据辨识机器人的受力情况。在后续的工作中将针对上述问题进行优化,尽可能地模拟洗网机器人在真实工况下的行为,为控制器设计提供数据支撑。

  • 图  1   各软件操作页面

    Figure  1.   Operation page of each software

    图  2   仿真系统架构

    Figure  2.   Framework of simulation system

    图  3   洗网机器人本体结构图

    Figure  3.   Structure diagram of washing robot body

    图  4   螺旋桨洗盘对机器人施加的推力和转矩

    Figure  4.   Thrust and torque applied by propeller to robot

    图  5   重力、浮力共同作用示意图

    Figure  5.   Schematic diagram of combined action of gravity and buoyancy

    图  6   Gazebo中对机器人施加转矩 (以x轴为例)

    Figure  6.   Applying torque to robots in Gazebo (Taking x-axis as an example)

    图  7   重力、浮力作用下的角速度冲击响应

    Figure  7.   Angular velocity shock response under action of gravity and buoyancy

    图  8   阻尼效应示意图

    Figure  8.   Schematic diagram of damping effect

    图  9   阻尼效应对机器人平动和转动的影响

    Figure  9.   Effect of damping on translation and rotation of robots

    图  10   单位冲击对有无附加质量线性加速度的影响

    Figure  10.   Influence of unit impact on linear acceleration with or without added mass

    图  11   流场图

    Figure  11.   Flow field diagram

    图  12   无高斯噪声流场下的线速度零输入零状态响应

    Figure  12.   Linear velocity zero input zero state response in no gaussian noise flow field

    图  13   流场高斯噪声下的线速度和角速度零输入零状态响应

    Figure  13.   Zero input and zero state response of linear velocity and angular velocity with Gaussian noise of flow field

    图  14   机器人在网箱表面的受力情况和贴网示意图

    Figure  14.   Force situation of robot on surface of cage and schematic diagram of sticking net

  • [1] 侯海燕, 鞠晓晖, 陈雨生. 国外深海网箱养殖业发展动态及其对中国的启示[J]. 世界农业, 2017(5): 162-166.
    [2] 徐皓, 陈家勇, 方辉, 等. 中国海洋渔业转型与深蓝渔业战略性新兴产业[J]. 渔业现代化, 2020, 47(3): 1-9.
    [3] 韩立民, 王金环. “蓝色粮仓”空间拓展策略选择及其保障措施[J]. 中国渔业经济, 2013, 31(2): 53-58.
    [4] 朱玉东, 鞠晓晖, 陈雨生. 我国深海网箱养殖现状、问题与对策[J]. 中国渔业经济, 2017, 35(2): 72-78.
    [5] 张汉华, 梁超愉, 吴进锋, 等. 大鹏湾深水网箱养殖区的污损生物研究[J]. 中国水产科学, 2003, 10(5): 414-418.
    [6] 彭安华, 刘成文, 陆波. 一种带有清洗装置和数据采集系统的深水网箱[J]. 南方农业, 2016, 10(3): 169-171.
    [7] 宋协法, 孙跃, 何佳, 等. 深水网箱清洗技术及装备研究进展[J]. 渔业现代化, 2021, 48(5): 1-9.
    [8]

    ALBITAR H, ANANIEV A, KAZAKOV I. In-water surface cleaning robot: concept, locomotion and stability[J]. Int J Mechatron Autom, 2014, 4(2): 104-115. doi: 10.1504/IJMA.2014.062338

    [9]

    OSAKA T, NORITA J. Submersible cleaning robot: US20060282503[P]. 2014-06-24.

    [10]

    JENSEN V. Fish farm cleaning robot: NO20170580A1[P]. 2018-10-08.

    [11]

    FORD M. Net cleaning device for in-situ cleaning of a submerged net, propeller for use with net cleaning device, method and system: WO2020069556A1[P]. 2020-04-09.

    [12] 庞洪臣, 杨芳, 俞国燕, 等. 一种新型深海网箱清洗机器人: CN107052002A[P]. 2017-08-18.
    [13] 青岛炬荣工程科技有限公司. 空化射流水下网衣清洗机器人: CN201910677594.2[P]. 2019-10-18.
    [14] 付宗国, 杨俭健, 刘莹莹, 等. 一种深水网箱养殖水下智能清理机器人: CN103144118A[P]. 2013-06-12.
    [15] 青岛森科特智能仪器有限公司, 烟台中集蓝海洋科技有限公司. 一种模块化网箱水下机器人: CN202021730216.0[P]. 2021-04-23.
    [16]

    LINDGREN P B. Aquaculture cage screen and cleaning apparatus: US 2012/0260443 A1[P]. 2012-10-18.

    [17]

    LINDGREN P B. Fish cage screen and cleaning apparatus: US 2012/0260861 A1[P]. 2012-10-18.

    [18] 飞马滨 (青岛) 智能科技有限公司. 一种用于海洋牧场网箱清洗的水下机器人: CN202110996755.1[P]. 2021-11-26.
    [19]

    FARLEY A, WANG J, MARSHALL J A. How to pick a mobile robot simulator: a quantitative comparison of CoppeliaSim, Gazebo, MORSE and Webots with a focus on accuracy of motion[J]. Simul Model Pract Th, 2022, 120: 102629. doi: 10.1016/j.simpat.2022.102629

    [20] 李志文, 程志江, 杜一鸣, 等. 基于ROS的清洁机器人运动控制研究[J]. 计算机仿真, 2023, 40(4): 455-460.
    [21]

    KOENIG N, HOWARD A. Design and use paradigms for Gazebo, an open-source multi-robot simulator[C]//2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No. 04CH37566). IEEE, 2004, 3: 2149-2154.

    [22]

    MANHÈS M M M, SCHERER S A, VOSS M, et al. UUV Simulator: a Gazebo-based package for underwater intervention and multi-robot simulation[C]//OCEANS 2016 MTS/IEEE Monterey, Monterey, CA, USA, 2016: 1-8. DOI: 10.1109/OCEANS.2016.7761080.

    [23]

    JOUNG T H, SAMMUT K, HE F, et al. Shape optimization of an autonomous underwater vehicle with a ducted propeller using computational fluid dynamics analysis[J]. Int J Nav Archit Ocean Eng, 2012, 4(1): 44-56. doi: 10.2478/IJNAOE-2013-0077

    [24] 刘开周, 赵洋. 水下机器人建模与仿真技术[M]. 北京: 科学出版社, 2020: 28.
    [25] 宋伟刚. 机器人学: 运动学、动力学与控制[M]. 北京: 科学出版社, 2007: 78.
    [26]

    FOSSEN, THOR I. Handbook of marine craft hydrodynamics and motion control[M]. Hoboken: Wiley, 2011: 15-52.

    [27]

    LIMARCHENKO O, SEMENOVICH K. Effect of the Coriolis forces on dynamics of the system reservoir-liquid under uniform outflowing[J]. Math Model Comput, 2018, 5(1): 34-40. doi: 10.23939/mmc2018.01.034

    [28] 潘昊东, 王志光, 刘纯虎. 流线型高速 ROV 螺旋桨水动力性能分析[J]. 舰船科学技术, 2020, 42(12): 41-46.
    [29]

    BERG V. Development and commissioning of a DP system for ROV SF 30k[D]. Trondheim: Norwegian University of Science and Technology, 2012: 30-31.

    [30]

    ANTONELLI G. Underwater robots[M]. Berlin: Springer, 2018: 57.

    [31] CHRIST R D, WERNLI R L. ROV技术手册: 水下机器人使用指南[M]. 中国造船工程学会《船舶工程》编辑部译. 上海: 上海交通大学出版社, 2018: 19-38.
    [32]

    RUE H, HELD L. Gaussian Markov random fields: theory and applications[M]. New York: Chapman and Hall/CRC, 2005: 15-82.

  • 期刊类型引用(1)

    1. 李明. 七轴浇铸机器人的运动学建模和仿真技术. 现代制造技术与装备. 2024(02): 215-217 . 百度学术

    其他类型引用(4)

图(14)
计量
  • 文章访问数:  366
  • HTML全文浏览量:  146
  • PDF下载量:  89
  • 被引次数: 5
出版历程
  • 收稿日期:  2023-09-27
  • 修回日期:  2023-11-20
  • 录用日期:  2023-12-10
  • 网络出版日期:  2023-12-14
  • 刊出日期:  2024-02-04

目录

/

返回文章
返回