当前位置: 首页 > 专利查询>南开大学专利>正文

一种基于深度强化学习进行流体导向的刚体控制的方法技术

技术编号:19743853 阅读:36 留言:0更新日期:2018-12-12 04:29
一种基于深度强化学习进行流体导向的刚体控制的方法。本方法通过仅在模拟区域边界施加控制作用力来改变流体‑刚体模拟器的行为,同时模拟区域内部通过Navier‑Stokes方程控制流体以及Newton‑Euler方程控制刚体。本方法的控制器是用深度强化学习训练的神经网络,经过预先训练便可用来在线生成控制动作。基于本方法的控制器接收流体与刚体的状态作为输入,控制流体喷口在边界移动并向模拟区域内部的刚体喷射流体,不仅可生成物理上真实的模拟效果,而且在很多2维流体‑刚体控制任务上都取得了很好的效果。本方法也可以扩展到3维流体‑刚体耦合系统,比如可以控制刚体准确运动到指定3维目标点。

【技术实现步骤摘要】
一种基于深度强化学习进行流体导向的刚体控制的方法
本专利技术涉及计算机图形学流体模拟、最优控制、强化学习
,尤其涉及一种控制流体-刚体耦合系统的方法。
技术介绍
流体模拟在计算机图形学领域已经被广泛研究并且已经有很多不同的技术方法。流体模拟器可以根据离散化方法进行分类,包括Enright等人2002年在“AnimationandRenderingofComplexWaterSurfaces”一文中使用的基于网格的方法,Becker和Teschner2007年在“WeaklyCompressibleSPHforFreeSurfaceFlows”一文中使用的基于粒子的方法,Losasso等人2008年在“Two-WayCoupledSPHandParticleLevelSetFluidSimulation”一文中使用的混合式方法。流体模拟器还可以根据底层积分方法的不同进行分类,包括Becker和Teschner2007年在“WeaklyCompressibleSPHforFreeSurfaceFlows”一文中使用的显式积分方法,Zhu和Bridson2005年在“AnimatingSandAsaFluid”一文中使用的时间分割积分方法,Mullen等人2009年在“Energy-preservingIntegratorsforFluidAnimation”一文中使用的全隐式积分方法。以及,当前的流体模拟系统通常可以对包含多个物理模型的场景使用双向耦合方法进行建模。双向耦合方法已经在基于网格的模拟器与基于粒子的模拟器中得到广泛使用。流体控制方法是基于流体模拟器设计的,并且提供了很多额外的功能,方便艺术家进行流体动画的创作。流体控制方法可以根据用户接口进行分类。例如McNamara等人2004年在“FluidControlUsingtheAdjointMethod”一文中使用的基于关键帧的控制方法,其中用户提供一系列关键帧使得流体在这些特定的时间点形成相似的形状。其中有些方法依赖特定的流体模拟器,比如“FluidControlUsingtheAdjointMethod”一文假设整个模拟过程是一个梯度信息可计算的方程,使得计算开销非常大。其他方法,像是Fattal和Lischinski2004年在“Target-drivenSmokeAnimation”一文中的方法可以兼容任何流体模拟器。除了关键帧控制方法,还有其他方法通过插值已有模拟数据生成流体动画,比如Bonevet等人2017年在“Pre-computedLiquidSpaceswithGenerativeNeuralNetworks”一文中使用的方法。这些方法不用基于物理的模拟器,在实际上它们计算快速,但是结果并不完全物理真实。这些所有的方法都只控制一个只有流体与固体边界的非耦合系统,而且不考虑其他在模拟区域内的动态物体。基于机器学习的控制算法跟传统流体控制方法不同的是,控制器是参数化的而且参数是作为预处理的一部分计算出来的。这些参数的数值通常取决于在一系列典型控制任务上对控制器的优化。这样的技术曾被用在控制低自由度的动态系统,包括铰接式人物,如Wang等人2012年发表的“OptimizingLocomotionControllersUsingBiologically-basedActuatorsandObjectives”。还有一些早期工作局限于简单参数化与基于采样的优化方法的控制器,如Hansen和Ostermeier在2001年发表的“CompletelyDerandomizedSelf-AdaptationinEvolutionStrategies”。然而,之前的基于采样的方法不能扩展到高自由度的动态系统,或者高自由度的控制器参数化,例如用深度神经网络表示的控制器。最近深度强化学习方法的发展带来了优化控制器的新方法,从而允许我们训练从高自由度的环境观察量(例如整个流体速度场)直接映射到控制器的输出的深度神经网络。深度强化学习方法已经在控制铰接式人物上取得应用,例如Liu和Hodgins在2017年发表的“LearningtoScheduleControlFragmentsforPhysics-BasedCharactersUsingDeepQ-Learning”,这些发展也激励了我们的工作,即使用深度强化学习方法控制流体-刚体耦合系统。
技术实现思路
本专利技术目的是解决现有流体控制方法中存在的各类问题,包括无法物理准确地兼容所有流体模拟器、无法控制流体-刚体耦合模拟区域内动态刚体、难以完成较为复杂的控制任务,提供一种基于深度强化学习进行流体导向的刚体控制的方法。本专利技术方法通过仅在模拟区域边界施加控制作用力来改变流体-刚体模拟器的行为,同时模拟区域内部通过Navier-Stokes方程控制流体以及Newton-Euler方程控制刚体。本方法的控制器是用深度强化学习训练的神经网络,经过预先训练便可用来在线生成控制动作。基于本方法的控制器接收流体与刚体的状态作为输入,控制流体喷口在边界移动并向模拟区域内部的刚体喷射流体,不仅可生成物理上真实的模拟效果,而且在很多2维流体-刚体控制任务上都取得了很好的效果,例如:让刚体在空中保持平衡,完成双人乒乓游戏,按顺序让刚体击中墙上的特定点。本方法也可以扩展到3维流体-刚体耦合系统,比如可以控制刚体准确运动到指定3维目标点。本专利技术的技术方案:一种基于深度强化学习进行流体导向的刚体控制的方法,所述方法的控制对象为遵循Navier-Stokes方程的流体和遵循Newton-Eular方程的刚体耦合系统;具体控制步骤包括:第1:利用一种基于神经网络的自编码器,无监督地捕获流体速度场最重要的结构特征,并用该特征进行控制;所述的自编码器的构成如下:第1.1:提供了一个以2维高自由度流体速度场为输入,以通过神经网络编码-解码过程还原后的等自由度速度场为输出的模型;第1.2:主体为以卷积运算为编码过程,反卷积运算为解码过程的网络,利用无监督学习优化神经网络参数;网络结构由作为编码器的几层卷积层,与作为中间特征表示层的全连接层,与作为解码器的与编码器互为镜像的几层卷积层共同组成;第1.3:该自编码器编码生成的中间结果自由度远远小于输入,中间结果作为从速度场抽象出的特征能够较好描述原速度场;第1.4:作为控制器的深度强化学习神经网络以该自编码器编码生成的速度场特征为输入,加速训练过程;第2:利用一种深度强化学习算法,优化神经网络控制参数,网络接收系统状态为输入,生成每一时间步在模拟边界的控制动作;所述的深度强化学习算法如下:第2.1:以马尔可夫决策过程为原型,接收用于描述流体与刚体当前状态的观察量,通过神经网络控制器输出系统在下一时间步的控制量;第2.2:包括用于量化当前动作对完成控制任务是否有价值的奖励函数;第2.3:利用链式法则依据控制任务表现优化神经网络参数的模型;第2.4:上述第2.3步训练优化过程使用多线程并行计算梯度以提升效率;第3:通过足够长时间的训练,通常为数小时至数十小时,控制器能够完成多种复杂的流体导向的刚体运动控制任务。所述的复杂的流体导向的刚体运动控制任务包括:第3.1:多种流体和刚体耦合的平本文档来自技高网
...

【技术保护点】
1.一种基于深度强化学习进行流体导向的刚体控制的方法,其特征在于:所述方法的控制对象为遵循Navier‑Stokes方程的流体和遵循Newton‑Eular方程的刚体耦合系统;具体控制步骤包括:第1:利用一种基于神经网络的自编码器,无监督地捕获流体速度场最重要的结构特征,并用该特征进行控制;第2:利用一种深度强化学习算法,优化神经网络控制参数,网络接收系统状态为输入,生成每一时间步在模拟边界的控制动作;第3:通过训练,通常训练时间为数小时至数十小时,控制器能够完成多种复杂的流体导向的刚体运动控制任务。

【技术特征摘要】
1.一种基于深度强化学习进行流体导向的刚体控制的方法,其特征在于:所述方法的控制对象为遵循Navier-Stokes方程的流体和遵循Newton-Eular方程的刚体耦合系统;具体控制步骤包括:第1:利用一种基于神经网络的自编码器,无监督地捕获流体速度场最重要的结构特征,并用该特征进行控制;第2:利用一种深度强化学习算法,优化神经网络控制参数,网络接收系统状态为输入,生成每一时间步在模拟边界的控制动作;第3:通过训练,通常训练时间为数小时至数十小时,控制器能够完成多种复杂的流体导向的刚体运动控制任务。2.根据权利要求1所述基于深度强化学习进行流体导向的刚体控制的方法,其特征在于:所述方法控制的耦合系统是一个能够依据物理定律真实模拟2维流体-刚体耦合运动的物理模拟系统,但该方法的实现与物理模拟系统的具体种类和实现方法无关,并兼容任何能够进行真实流体-刚体耦合模拟的系统,该类系统一般包含边界流体生成模块、流体速度和位置计算模块、流体速度和密度约束模块以及刚体速度和位置计算模块;所述流体-刚体耦合系统的功能有:该系统能够预先在边界处指定流体源的位置,控制外部加入流体的密度和速度,并通过在流体源上施加作用力使流体源平滑移动,改变喷射流体的位置;所述耦合系统既能够进行多种流体模拟,也能够进行不同属性的刚体模拟,并物理正确地处理流体和刚体二者的耦合交互。3.根据权利要求1所述基于深度强化学习进行流体导向的刚体控制的方法,其特征在于:第1步中所述的自编码器的构成如下:第1.1:提供了一个以2维高自由度流体速度场为输入,以通过神经网络编码-解...

【专利技术属性】
技术研发人员:任博田韵声马平川潘哲融
申请(专利权)人:南开大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1