掌桥专利:专业的专利平台
掌桥专利
首页

基于物理的高性能仿生水下机器人仿真训练平台构建方法

文献发布时间:2023-06-19 16:06:26



技术领域

本发明属于计算机图形学、流体模拟、仿生机器人以及机器学习领域,涉及一种基于物理的高性能仿生水下机器人仿真训练平台的构建方法。

背景技术

仿生水下机器人有着优越的机动性、推进效率和具有真实性的视觉外观。这些优势促使了过去几年对仿生软体机器人和仿生鱼状机器人的研究、生产与应用。水下机器人在许多方面有着重要的应用,如海洋教育、导航和救援、海底勘探、科学测量等。然而,由于在真实环境中研究机器人的控制模式与运动方式有着硬件成本高昂、环境不稳定、续航、数据收集缓慢等众多现实问题,训练机器人去获得近似甚至超越真实水下生物的运动控制策略有着极大的挑战性。

基于物理仿真的机器人模拟已被认为是在不同场景中获取大量数据集的可行且重要的工具。大多数当前可用的机器人训练模拟器主要针对刚体和软体系统。现有的流体环境模拟器有着计算模型精度低、不可靠,支持的机器人和任务有限,生成训练数据成本高等种种问题。目前在计算流体动力学领域,有着不少人研究基于物理的仿真鱼的运动规律,但都有着仿真区域有限、性能低、仿生机器人物理建模不通用等缺点。目前缺乏能够提供通用、高效且准确结果的仿真平台,以应用于仿生水下机器人的训练控制策略。

传统的控制方法大多基于模式识别,即,对控制任务进行数学建模后,数学解析地给出时变控制函数。然而,现实生活中智能体控制任务大多具有高维的信息输入与高维的控制输入,智能体的实际运行环境也包含复杂的非线性自然物理过程。传统控制方法在此类任务上往往处理不好。基于深度强化学习的智能体训练已被证明在高维度输入的高维复杂控制任务上具有鲁棒性。但智能体深度强化学习往往只能在某一特定任务下表现良好,在知识迁移、多技能组合学习以及策略泛化上存在困难。

因此,如何构筑一个通用的基于物理的高性能水下机器人仿真训练一体化平台,是急需解决的问题。

发明内容

本发明的目的是:提出一种基于物理的高性能仿生水下机器人仿真训练平台,以解决现有技术中水下机器人建模不完善,流体仿真训练环境缺失,流体仿真区域有限性能低,智能体学习中面临的任务泛化困难、知识迁移以及多技能组合等问题。

为了达到上述目的,本发明的技术方案是提供了一种基于物理的高性能水下机器人仿真训练平台,其特征在于,包括以下步骤:

步骤1、仿生水下机器人建模:

分别建立两种仿生水下机器人模型,分别定义为第一种仿生水下机器人模型以及第二种仿生水下机器人模型,其中:

在第一种仿生水下机器人模型中,仿生水下机器人由骨骼和表面皮肤组成,以铰接刚体动力学驱动的骨骼结构;当给定一个骨架配置,即具有一组特定的关节角度,使用线性混合蒙皮来确定仿生水下机器人的表面形状;通过改变关节角度,仿生水下机器人能够调整其骨架姿态,进而决定其表面形状;仿生水下机器人的骨骼由铰接刚体动力学驱动,多体系统上受到广义内力和广义外力的作用;

在第二种仿生水下机器人模型中,仿生水下机器人仅由骨架及附着在每根骨头上的肌肉组成;在机器人背景下,仿生水下机器人的骨骼同样由第一种仿生水下机器人模型中铰接刚体动力学驱动,每根骨头上的肌肉则被描述为刚体;第二种仿生水下机器人模型能够用机械动力学或骨骼肌肉动力学得到更精确的描述;

步骤2、惯性系中的流体仿真建模

使用GPU优化的基于六阶埃尔米特多项式平衡态展开的自适应非正交中心矩驰豫格子玻尔兹曼模型用于近似不可压缩的纳维叶-斯托克斯方程;在该自适应非正交中心矩驰豫格子玻尔兹曼模型在非正交中心矩驰豫格子玻尔兹曼模型的基础上,提出目标度量方程;在多种不同仿真环境下优化目标度量方程,得到足够多的训练数据;然后基于训练数据用线性回归的方法去自适应控制非正交中心矩驰豫格子玻尔兹曼模型的高阶参数;

步骤3、流体与机器人双向交互物理建模

采用GPU优化的格子玻尔兹曼求解器和浸入边界,将流体方程求解的欧拉网格和固体运动求解的拉格朗日网格耦合,满足诺依曼边界条件,利用最小插值内核构建低耗散的流固边界;

步骤4、基于非惯性系转换的无限域模拟

应用基于非惯性系转换的局部流体仿真方法,通过在参考系之间使用与时间相关的相对平移p和旋转r进行变换,加速参考系中的流体方程产生一个额外的虚拟力F

步骤5、基于非惯性系转换的大域模拟

为克服远处的流体对仿真水下机器人运动产生的影响,采用基于嵌套网格的做法,以高分辨率的网格模拟临近仿真水下机器人的流场,较远处的流体以较低分辨率模拟,其中,尺寸小但高分辨率的网格随着仿真水下机器人进行运动,背景放置低分辨率但尺寸更大的网格;

将尺寸小但高分辨率的网格进一步定义为细网格,将低分辨率但尺寸更大的网格进一步定义为粗网格,则:细网格内的流体仿真采用步骤4中的非惯性系流体仿真;粗网格内的流体仿真采用步骤2中的惯性系格子玻尔兹曼仿真方法;在粗网格和细网格的交界处,应用高阶卷积插值的方式以在粗网格和细网格间双向传递流体信息,以维持传播过程中物理量守恒;

步骤6、水下控制任务的制定:

制定一系列基准水下控制任务;

在强化的学习框架下对于这一系列基准水下控制任务设定相应的状态向量、动作空间以及奖励函数;

步骤7、制定智能体训练方法:

对于步骤6中提出的一系列基准水下控制任务,首先应用分层强化学习训练每个基准水下控制任务,得到可迁移到不同类型机器人的控制策略,训练手段包括全局训练方法和局部训练方法;接着,为了仿生水下机器人能够同时掌握多个任务的策略,使用门网络对多个任务的策略进行融合;

步骤8、训练智能体,其中,仿生水下机器人被重新定义为智能体:

在强化学习中,智能体通过与环境的重复交互,学习特定基准水下控制任务的参数化策略,得到最大化采样轨迹的预期回报函数,具体包括以下步骤:

对于步骤6中的每个基准水下控制任务,先使用一个智能体与环境交互进行数据收集,以一定批量大小的数据使用反向传播更新策略网络,获得一组策略网络参数;接着固定上层网络参数,切换智能体,重新训练底层策略网络,获得底层策略网络参数;基于已有的分层策略网络,收集大量状态-动作数据,以均方损失函数结合梯度下降方法拟合得到门网络的参数。

优选的,步骤1中,第一种仿生机器人模型中,仿生水下机器人有M个关节,表面皮肤有N个顶点,顶点i在t时刻的三维空间位置向量

其中:w

对于骨骼的物理仿真和驱动的具体实施上,建模为铰接刚体动力学,需要解算的动力学方程如下:

其中,q、

优选的,步骤2中,所述目标度量方程表示为:

其中,

优选的,步骤3中,在仿真前,对仿生水下机器人表面进行均匀采样,对于每个采样点,应用诺依曼边界条件并计算其和流体的相对速度差异,从而计算出每个点和流体的相互作用力。

优选的,步骤4中,将虚拟力F

优选的,步骤4中,采用以下步骤实现“非平衡外插”边界条件:

在仿真域流固边界处的流体格点,由于缺少外部格点,对于缺失朝向流体域内部方向的概率分布函数值,通过指定概率分布函数值的非平衡态分布为临近流体格点的非平衡态分布进行近似。

优选的,步骤6中,所述一系列基准水下控制任务包括水下巡航任务、姿态控制任务、目标跟随任务和路径跟踪任务,其中:

所述水下巡航任务是指:仿生水下机器人尝试游到一个给定的目标点,该目标点距离仿生水下机器人的初始位置具有一定距离;

所述姿态控制任务是指:仿生水下机器人尝试将自身姿态(欧拉旋转角)旋转到目标姿态;

所述目标跟随任务是指:一个仿生水下机器人尝试跟随另一个仿生水下机器人,后者遵循预设的控制策略进行运动;

所述路径跟踪是指:给定一个随机的路径,仿生水下机器人尝试沿着贴近路径前进并减少能量损耗。

优选的,步骤6中,所述状态向量被描述为S=(S

所述动作空间由a=(σ,Δv)描述,其中,σ是由关节每个自由度的作用力构成的向量,Δv代表了仿生水下机器人的空气体积变化大小,根据阿基米德定律,通过改变内部空气的体积可以改变浮力大小;

所述奖励函数r(S)描述如下:

r(S)=w

其中,r

综上所述,本发明提出了一个基于物理的高性能水下机器人仿真训练平台的构建方法,可用于训练仿生水下机器人。该平台由仿生机器人模块、基于GPU的高性能局部双向流固耦合仿真模块(可处理有限域和无限大域)、智能体学习模块组成。本发明提供数个仿生机器人模型并制定了一系列水下基准控制任务,并应用现有强化学习训练方法以获得对应控制策略。本发明能够支持可处理有限域和无限大域的高性能流体仿真需求,任意仿生水下机器人的构建,水下控制任务的定制,智能策略训练、迁移、整合。

本发明具备以下优势:

1)本发明基于蒙皮的铰接刚体动力学骨骼驱动模型能够为任意形态的仿生水下机器人建模。

2)本发明基于非惯性系转换的局部流固耦合可以支持无限大域的高性能复杂流体仿真,相比于惯性系仿真,节省了大量存储空间,极大提升了运算效率。

3)本发明能够快速训练出类似真实水下生物的自然且有效率的运动策略。

4)本发明制定的智能体训练方法,有效解决了强化学习中在相似任务上泛化能力不足的问题,创新性地在多技能融合和技能迁移方面提供了解决思路。

5)本发明提供了一系列水下控制基准任务及其控制策略,能够可靠地用于算法验证、改进以及结果分析。

附图说明

图1A至图1C示出本发明中仿生机器人的建模示意图

图2A及图2B示出本发明中全局仿真方法和局部仿真及流固耦合对比示意图

图3A及图3B示出本发明中在路径跟踪任务上应用局部训练方法的示意图;

图4示出本发明中应用的分层强化学习的训练框架示意图;

图5示出本发明中应用的门网络结构的示意图;

图6示出本发明中一个仿生机器人在多个基准任务的结果表现示意图;

图7示出本发明中多个仿生机器人在路径任务的结果表现示意图;

图8A及图8B示出本发明中仿生机器人在群体任务上使用不同仿真方法的结果对比示意图;

图9示出本发明中仿生机器人在不同密度下运动的结果对比示意图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明提出了一个基于物理的高性能水下机器人仿真训练平台构建方法,可用于训练仿生水下机器人。该平台由使用带有蒙皮的关节体的机器鱼建模模块、基于GPU的高性能双向流固耦合仿真模块(可处理有限域和无限大域)、智能体学习模块组成。本发明提供数个仿生机器人模型并制定了一系列水下基准控制任务,并应用现有强化学习训练方法以获得对应控制策略。本发明能够支持可处理有限域和无限大域的高性能流体仿真需求,任意仿生水下机器人的构建,水下控制任务的定制及智能策略训练、迁移、整合。

具体而言,本发明包括以下内容:

1.仿生机器人建模:

受生物结构解剖学的启发,本发明的仿生水下机器人由骨骼和表面皮肤组成。需要给定一个骨架配置,即,骨骼的连接关系以及关节的自由度和约束,具有一组特定的关节角度,仿生水下机器人的表皮在仿真中以三角形连接组成的网格流形面片进行表示。具有不同骨骼结构的仿生鱼机器人的三个示例如图1所示。

本发明提出了两种仿生机器人模型。在第一种仿生机器人模型中,仿生水下机器人由骨骼和表面皮肤组成。在第二种仿生机器人模型中,仿生水下机器人仅由骨架及附着在每根骨头上的肌肉组成。

在第一种仿生机器人模型中,通过改变关节角度,仿生水下机器人可以调整其骨架姿态,进而决定其表面形状。对于表面形变,本发明采用了线性混合蒙皮的方法,具体实施方式如下:

第一种仿生机器人模型中,仿生水下机器人有M个关节,表面皮肤有N个顶点,顶点i在t时刻的三维空间位置向量

其中:w

对于骨骼的物理仿真和驱动的具体实施上,本发明建模为铰接刚体动力学,需要解算的动力学方程如下:

其中,q、

第二种仿生机器人模型中,仿生水下机器人仅由骨架及附着在每根骨头上的肌肉组成。在机器人背景下,仿生机器人的骨骼同样由第一种仿生机器人模型中铰接刚体动力学驱动,每根骨头上的肌肉则被描述为刚体,以适应可能的机器人硬件外观设计。该第二种仿生机器人模型可以用机械动力学或骨骼肌肉动力学得到更精确的描述。

采用上述步骤,本发明提出了适用于任意形态的仿生机器人物理运动与控制的建模方式,极大扩展了仿生机器人设计的通用性和研究可能性。第一种仿生机器人模型基于铰接刚体动力学确保了运动解算的精度和可靠性,线性混合蒙皮的皮肤建模大大降低了求解形变的复杂性。第二种仿生机器人模型的简化模型更容易于现实机器人硬件设计匹配,以降低迁移难度。

2.惯性系中的流体仿真建模

惯性参考系中的流体通常由以下纳维叶-斯托克斯(Navier-Stokes,N-S)方程控制:

其中,ρ、u、p和F表示密度、速度、压力和外力场;v是动态粘度;

ANO-CMLBM在多种不同仿真环境下优化目标度量方程得到足够多的训练数据,然后基于训练数据用线性回归的方法去自适应控制非正交中心矩驰豫格子玻尔兹曼模型的高阶参数。

上述过程中,本发明应用高精度高阶松弛参数的高阶非正交中心矩松弛模型,采用D

f

式中,f

离散格子玻尔兹曼方程的求解过程可以分为迁移(streaming)过程:f

在碰撞过程中,首先将每个格子的概率分布函数映射到矩空间,其次在矩空间做弛豫操作,最后将矩空间映射到概率分布函数空间:

其中,Ω是由Ω

3.流体与机器人双向交互物理建模

本发明采用GPU优化的格子玻尔兹曼求解器和浸入边界方法进行流固耦合,相比传统基于N-S的仿真方法,这一方法已被证明是更高效的。特别地,在仿真前,本发明会对仿生机器人表面进行泊松均匀采样。在仿真时,对于每个采样点,应用诺依曼边界条件并计算其和流体的相对速度差异,从而计算出每个点和流体的相互作用力

4.基于非惯性系转换的无限域模拟

现有许多模拟方法可以预测流体与仿生水下机器人的交互。然而,这些方法都需要一个固定的模拟域,仿生水下机器人在该有限域内移动。当仿真域的区域很大时,仿真成本很高。为了降低成本,本发明假设远离机器人一定距离的流体不会影响机器人的运动。因此,本发明固定以仿生水下机器人为中心的模拟域的大小,并允许仿真域随着机器人一起移动。这种设置允许仿生水下机器人在无限空间域中移动,同时保持模拟域是有限的。

本发明为了解决无限域模拟的问题,应用了基于非惯性系转换的局部流体仿真方法,其具体实施方式如下所述。

为了求解围绕机器人的移动参考系中的流体流动,惯性参考系中的流体通常由纳维叶-斯托克斯方程在具有加速度的参考系中重新表述。通过在参考系之间使用与时间相关的相对平移向量p和旋转向量r进行变换,加速参考系中的流体方程会产生一个额外的虚拟力F

其中,

除此之外,仿真域的边界也需要相关处理。该边界条件的难点在于,当机器人以不同的速度和加速度移动时,流场可以从仿真域边界的任何部分进出。在没有边界外流体信息情况下,该域边界的确切值是不可知的且动态变化的。

在仿真域边界的处理上,本发明采用了“非平衡外插”边界条件。在边界处由于缺少外部格点,朝向流体域内部方向的f会有所缺失。对于这些缺失的f

f

其中,x

图2A及图2B比较了本发明在直接使用IB-LB方法的全局流体域模拟(图2A)与提出的局部流固耦合(图2B)之间的准确性。这两种方法产生几乎相同的机器人运动轨迹。

5.基于非惯性系转换的大域模拟

在步骤4中的无限域模拟中关于远处流体静止的假设,在复杂情况下往往不成立。远处的流体仍然可能对机器人运动产生影响。针对这一情况,本发明提出了基于嵌套网格的做法,以高分辨率的网格模拟临近机器人的流场,较远处的流体以较低分辨率模拟。其中尺寸小但高分辨率的网格(细网格)随着机器人进行运动,底下则铺装低分辨率但尺寸更大的网格(粗网格)。细网格内的流体仿真采用步骤4中的非惯性系转换。粗网格内的流体仿真采用步骤2中的惯性系格子玻尔兹曼仿真方法。在粗网格和细网格的交界处,本发明应用一种高阶卷积插值的方式以在网格间双向传递流体信息,以维持传播过程中物理量守恒。

具体来说,在网格之间插值时,需要进行两步修正。第一步是由于速度的物理意义变化所引发的修正,第二步是由于参考系旋转引起的修正。在第一步中,由于参考系速度变换

从细网格到粗网格的插值时,修正如下:

式中,

在第一步修正后,得到在惯性参考系中的描述相对速度的f

在第二步中,因为细网格经过旋转以后f

6.制定水下控制任务:

本发明提出了一系列基准水下控制任务,以展示本平台在仿真和训练方法方面的可能性与优越性。这些任务的名称及内容描述如下:

水下巡航:仿生水下机器人尝试游到一个给定的目标点,该目标点距离仿生水下机器人的初始位置具有一定距离。

姿态控制:仿生水下机器人尝试将自身姿态(欧拉旋转角)旋转到目标姿态。

目标跟随:一个仿生水下机器人尝试跟随另一个仿生水下机器人,后者遵循预设的控制策略进行运动。

路径跟踪:给定一个随机的路径,仿生水下机器人尝试沿着贴近路径前进并减少能量损耗。

在强化的学习框架下,本发明对于这一系列任务设定了状态向量,动作空间以及奖励函数。状态向量描述了机器人在某时刻的运动状态及感知数据。动作空间描述了机器人的控制信号组成。激励函数描述了控制策略的优化目标。具体而言:

状态向量被描述为S=(S

动作空间由a=(σ,Δv)描述,其中,σ是由关节每个自由度的作用力构成的向量,Δv代表了仿生水下机器人的空气体积变化大小,根据阿基米德定律,通过改变内部空气的体积可以改变浮力大小。

奖励函数r(S)描述如下:

r(S)=w

其中,r

7.制定智能体训练方法:

对于步骤6中提出的4个基准任务,本发明首先应用分层强化学习(HierarchicalReinforcement Learning,HRL)为每个任务训练可迁移到不同类型机器人的控制策略,训练手段包括全局训练方法和局部训练方法。

对于水下巡航、姿态控制和目标跟随这三个任务,本发明应用全局训练方法,即,对仿生机器人单独直接应用强化学习框架为每个给定任务训练出特定的策略网络。全局训练适用于任务唯一特定数据需求量相对较小的情况。考虑路径追踪任务,路径可能是无限长,路径曲率变化多样,直接应用全局训练有着数据需求量大,难以泛化到复杂变化路径的缺点。针对这一问题,对于路径追踪任务,本发明应用局部训练方法。事实上,在给定机器人位置的情况下,沿着任意长的路径可以被视为沿着全局路径的切线方向的一系列短而直的局部路径。

在机器学习训练期间,本发明首先随机采样局部路径(由(d,θ)参数化,见图3A,其中d是到局部路径的距离,θ是到目标点的角度,请注意,本发明限制机器鱼在水平2D平面中游泳)并形成一组代表全局路径局部条件的轨迹。在仿生水下机器人开始每次尝试前,本发明随机挑选一个局部路径作为这次尝试的目标任务,依次往复。

对于每个任务在不同智能体(即仿生机器人)间的迁移学习,本发明应用了分层强化学习的方法。其具体实施方式如下:

分层强化学习由上层策略网络(High-Level Policy Network)和底层控制网络(Low-Level Policy Network)组成。分层强化学习的训练框架如图4所示。上层控制策略获得上层级观察量o

接着,为了使得智能体能够同时掌握多个任务的策略,本发明使用“门网络”(Gating Network)对多个任务的策略进行融合。融合网络的结构如图5所示,对于多任务融合,本发明的具体实施方式如下:

每个任务的策略由分层强化学习策略网络构成,形成不同任务的专家网络。给定每个任务的专家网络策略参数,融合网络学习在给定状态向量下输出每个子网络的权重系数。输入任务观察量,门网络输出每个子专家网络在融合网络中的权重系数w

8.训练仿生水下智能体:

水下运动的动力学复杂性使得模式识别及分析变得难以执行,除此之外,由于输入信号和控制信号通常是高维的,传统控制方法难以处理这一复杂情况。强化学习已被证明在这方面有着优越性。在强化学习中,代理通过与环境的重复交互以学习特定任务的策略。给定状态量s

在分层强化学习框架下,上层策略神经网络和底层策略神经网络均由两层神经元组成,每层包含256个神经单元,均使用ReLU激活函数。对于每个任务,使用Soft Actor-Critic(SAC)算法训练策略网络。在每个任务,本发明进行总共2000次尝试,每次尝试持续10秒,包含50个时间步。

为了解决策略迁移问题,对于步骤6中的每个任务,本发明首先使用一个智能体与环境交互进行数据收集,以一定批量大小的数据使用反向传播更新分层策略网络,获得一组策略网络参数。接着,固定上层网络参数,切换智能体,重新训练底层策略网络,获得底层策略网络参数。

为了解决多技能融合问题,本发明使用了门网络。门网络根据输入的观察量输出子网络的权重系数,以加权和的形式生成实际的策略网络参数,输出控制量。基于已有的分层策略网络,收集大量状态-动作(S,A)数据,以均方损失函数(Mean Squared LossFunction,MSE)结合梯度下降方法拟合得到门网络(Gating Network)参数。

本发明在配备NVidia TitanXP GPU的机器上训练所有策略,训练过程通常在6小时后开始收敛,并在10小时内平滑收敛。

技术分类

06120114706972