做网站域名费一般多少钱,女生学建筑工程技术就业前景,做的比较好的国外网站一级页面布局分析,个人备案门户网站机器人学习仿真框架一般包含#xff08;自底向上#xff09;#xff1a;
3D仿真物理引擎#xff1a;对现实世界的模拟仿真机器人仿真平台#xff1a;用于搭建工作场景#xff0c;以实现agent与环境的交互学习学习算法框架集合#xff1a;不同的策略学习算法的实现算法测…机器人学习仿真框架一般包含自底向上
3D仿真物理引擎对现实世界的模拟仿真机器人仿真平台用于搭建工作场景以实现agent与环境的交互学习学习算法框架集合不同的策略学习算法的实现算法测试环境及benchmark针对不同的定制化算法的测试环境以及评价标准
整体框架简要介绍
物理引擎模拟现实世界物理行为的软件工具。可模拟牛顿动力学模型使用质量、速度、摩擦力和空气阻力等变量为刚性或柔性物体赋予真实的物理属性基于此模拟物体的运动、旋转、碰撞等交互过程。本质上是一个计算器执行模拟物理所需的数学计算。如下是一些流行的物理引擎 PhysX (Nvidia)属于Nvidia GameWorks软件套件的一部分拥有刚体动力学、软体动力学、关节、车辆动力学、流体力学等特性是游戏和机器人领域最知名的物理引擎。Nvidai在GeForce系列图形卡上启用PhysX硬件加速BulletMuJoCo、Havok、ODE、RaiSim、DART、Vortex、Simbody经过某位网友调研发现不保真针对机器人学习领域比较适合的物理引擎有PhysX, Bullet, MuJoCo, RaiSim 机器人仿真平台让用户在没有物理硬件的情况下也能快速对算法进行验证。一般来说由于真实物理平台与仿真环境存在差异仿真一般只在系统前期使用后期还会要转到实际硬件平台上进行调试。如下是一些流行的机器人仿真平台 Nvidia Isaac Sim整合了PhysX物理引擎和RTX图像渲染引擎并引入了Pixar公司开发的USDUniversal Scene Description描述格式作为机器人和复杂场景的描述方式ROS-Gazebo可访问ODE、Bullet、Simbody、DART多个物理引擎PyBullet基于Bullet物理引擎开发的仿真环境。和python紧密结合目前在强化学习中广泛应用 PyBullet和Bullet的区别PyBullet is a python module for sim, robotics and machine learning, it has rendering, inverse kinematics etc. Install is just pip install pybullet, it will do all, no need to manually install Bullet c. Bullet C is the underlying physics library, you don’t need to compile or install it, pip does that. MuJoCo、CoppeliaSim、MATLAB Robotics Toolbox、Webots、UE4(Unreal Engine)、Unity3D该网友调研Pybullet和MuJoCo在机器人学习领域尤其火 学习算法框架集合类似于Numpy只不过是强化学习算法的打包实现 如OpenAI Baselines、PyTorch DRL、Stable Baselines3、RLlib、rlpyt、Acme 算法测试环境及benchmark RLBench有100个手工设计任务旨在促进视觉引导的manipulation领域的研究包含强化学习、模仿学习、多任务学习、几何计算机视觉ControlSuite(DeepMind)、Gym(OpenAI)、RoboSchool(OpenAI)、Robosuite(Stanford)、RoboTurk(Stanford)、PyRoboLearn、Meta-World(Stanford)、SURREAL(Stanford)、OpenSpiel(DeepMind)、PyRobot(Facebook)、S-RL Toolbox、ROBEL(Google)、Menger(Google)、SEED RL(Google)、DERL(Stanford)
一些零碎的相关概念扫盲
目前机器人模拟器主要分两种类型1具身智能模拟器为强化学习算法服务的2传统工业控制模拟器基于模型控制服务的 前者最早来自游戏产业如Isaac Sim、Isaac Gym和SAPIEN都是基于PhysX这个物理引擎。Unity游戏设计框架也使用了PhysX物理引擎具身智能模拟器更注重速度但在接触点建模方面可能不够精细但非常适合个人/实验室用户只需一块显卡就能训练后者像MIT Russ Tedrake开发的Drake模拟器速度较慢但在接触点建模方面更为精细适用于最优控制等场景机器人模拟器和一些基础力学的模拟器如分析材料在一定力下是否变形的模拟器都有各自的价值。它们在不同维度上强调速度和精度的权衡各自有不同的定位。它们之间不是完全竞争的关系 做一个好的simulator最大的挑战是什么 更准确更真实往往需要牺牲速度和采样效率对于强化学习等任务采样效率可能是关键而对于一些需要真实渲染的领域如视觉和模仿学习渲染质量可能更重要。因此不同研究中关注的特性可能不同刚体模拟现在比较成熟软体模拟相比之下是一个蓝海 模拟器目前没有一个大一统的标准原因之一是许多主流模拟器背后是不同的科技巨头。如Isaac系列背后是NvidiaMuJoCo背后是Google。这些科技巨头的目标是让模拟器与他们的硬件或编译器紧密耦合以在自家计算平台上更好地部署比如Nvidia的GPU、Google的TPU强化学习和模仿学习 两种算法没有直接关联且最早应用在机器人上时是不需要模拟器的。是因为强化学习对数据的需求量很大即采样复杂度很高而真实世界中采集大量数据非常困难才转向使用模拟器的。 若想在模拟器中训练强化学习算法就需要解决模拟器和真实机器人之间的sim2real gap问题这个鸿沟不易填补。因此有人倾向于直接使用真实机器人数据但强化学习对数据的需求量很大采样复杂度很高所以一些研究者更愿意采用模仿学习策略。 Yuzhe称对于相对简单的任务他更倾向于使用模仿学习因为人类可以轻松使用遥控器采集数据对于一些复杂、高动态的任务真实世界中采集数据可能很困难因此最好的做法是在模拟器中开始并尝试将其迁移到真实环境中这时就需要强化学习的方法。如何解决sim2real gap的问题 总的来说Sim2Real Gap的问题大致分为两类1视觉方面的gap2物理方面的gap 视觉方面即外观取决于视觉感知的可靠性。在模拟器中机器人可以获得非常真实的深度信息但在真实世界中使用的深度传感器可能存在噪声和不准确性特别是在处理透明、反光等复杂材料时可能会出现畸变等问题。可通过1优化硬件2随机化等解决物理方面和之前调研的差不多论文里更详细 解决方法可分为三类 构建更好的模拟器更好的物理仿真。如在深度相机仿真方面传统方法简单地将渲染得到的物体深度直接用作深度传感器等数据但也有一些工作采用更贴近真实深度相机原理的仿真数据增强通过增加更丰富的数据来拉近模拟和真实环境的数据。如在模拟器中训练一个模型使其能抓取多种属性的杯子那么迁移到真实世界中时该模型更有可能成功地抓取真实世界的杯子。代表性工作是Domain Randomization。这点模拟器有天然优势可利用模拟器进行大规模数据增强寻找切入点寻找一个在模拟器和真实世界之间差距较小的切入点比如将问题简化在简化的问题上使模拟器和真实世界趋于一致 对于仿真数据和真实数据 对于一些简单的仿真任务如抓取在仿真中学到的策略迁移到真实世界时表现较为成熟然而对于一些复杂的接触任务特别是涉及接触点不断变化的情况仿真效果并不理想可能需要一些真实数据。因此他更倾向于使用模拟器对机器人模型进行初始化最终通过在真实世界中微调模型的权重来学习出最终的策略3D生成和模拟器 3D生成可为模拟器提供服务可为模拟器提供环境和素材。在模拟器中需要模拟很多3D模型和物体而最早这些模型由艺术家手工建模成本较高。现在人们开始考虑如何利用AI生成的模型来丰富模拟器的内容使其更强大。 大多数生成的3D素材以通用格式如Mesh存储并且目前主流模拟器都能导入这类外部文件因此没有出现点对点适配问题大家都能使用和生成这些mesh格式的素材