SimplerEnv是一个专门用于评估真实世界机器人操作策略的仿真环境。在机器人学习领域,构建通用的机器人操作策略取得了显著进展,但这些策略的可扩展和可复现评估仍然面临挑战。真实世界的评估往往成本高昂且效率低下。SimplerEnv提出使用物理仿真器作为真实世界评估的高效、可扩展和信息丰富的补充。这些仿真评估可以提供有价值的定量指标,用于检查点选择、洞察潜在的真实世界策略行为或失败模式,并提供标准化的设置以增强可重复性。
SimplerEnv基于SAPIEN仿真器和ManiSkill2基准开发。它包含两种主要的真实到仿真(real-to-sim)评估设置:
视觉匹配评估:通过将真实世界图像叠加到仿真背景上,并调整仿真中前景物体和机器人的纹理,来匹配真实和仿真的视觉外观。
变体聚合评估:创建不同的仿真环境变体(如不同的背景、光照、干扰物、桌面纹理等),并对它们的结果进行平均。
SimplerEnv的目标是指导和启发未来的真实到仿真评估工作。它提供了一个灵活、可扩展的框架,研究人员可以基于此开发和评估各种机器人操作策略。
多种机器人平台支持:SimplerEnv支持Google Robot和WidowX等多种机器人平台,为不同类型的机器人提供仿真环境。
丰富的任务场景:提供多种任务场景,如抓取物体、移动物体、打开/关闭抽屉等,覆盖了常见的机器人操作任务。
视觉匹配技术:通过将真实世界图像叠加到仿真背景上,实现真实与仿真环境的高度视觉相似性。
变体聚合评估:通过创建不同的环境变体并聚合结果,提高评估的鲁棒 性和泛化性。
先进策略支持:内置对RT-1、RT-1-X、Octo等先进机器人策略的支持,方便研究人员进行比较和评估。
可扩展性:提供清晰的指南和工具,支持添加新的策略、环境和机器人。
评估指标:提供平均最大排名违反(MMRV)和皮尔逊相关系数等指标,用于衡量仿真评估与真实世界性能的一致性。
要开始使用SimplerEnv,首先需要安装必要的依赖。以下是基本安装步骤:
conda create -n simpler_env python=3.10 conda activate simpler_env
git clone https://github.com/simpler-env/SimplerEnv --recurse-submodules
pip install numpy==1.24.4
cd {this_repo}/ManiSkill2_real2sim pip install -e .
cd {this_repo} pip install -e .
对于想要使用RT-1和Octo等预提供的代理进行评估,或添加新的机器人和环境的用户,还需要进行完整安装。完整安装步骤包括安装TensorFlow、Jax等依赖,以及下载相应的模型检查点。
SimplerEnv提供了多种使用示例,以帮助用户快速上手:
import simpler_env from simpler_env.utils.env.observation_utils import get_image_from_maniskill2_obs_dict env = simpler_env.make('google_robot_pick_coke_can') obs, reset_info = env.reset() instruction = env.get_language_instruction() print("Reset info", reset_info) print("Instruction", instruction) done, truncated = False, False while not (done or truncated): image = get_image_from_maniskill2_obs_dict(env, obs) action = env.action_space.sample() # 替换为您的策略推理 obs, reward, done, truncated, info = env.step(action) new_instruction = env.get_language_instruction() if new_instruction != instruction: instruction = new_instruction print("New Instruction", instruction) episode_stats = info.get('episode_stats', {}) print("Episode stats", episode_stats)
环境交互可视化和手动控制:使用ManiSkill2_real2sim/mani_skill2_real2sim/examples/demo_manual_control_custom_envs.py
脚本。
策略推理脚本:用于重现Google Robot和WidowX真实到仿真评估结果,包括对象/机器人姿势的扫描和高级日志记录。这些脚本位于scripts/
目录下。
SimplerEnv提供了多种预设环境,涵盖了常见的机器人操作任务:
Google Robot环境:
WidowX环境: