five

MIKASA-Robo

收藏
github2025-03-13 更新2025-03-14 收录
下载链接:
https://github.com/CognitiveAISystems/MIKASA-Robo
下载链接
链接失效反馈
官方服务:
资源简介:
MIKASA-Robo是一个用于机器人桌面操作任务的基准测试套件,包含12种不同的任务类型和32个任务,专门设计用于测试机器人操作中的记忆能力。

MIKASA-Robo is a benchmark suite for robotic desktop manipulation tasks, comprising 12 distinct task categories and 32 individual tasks, which is specifically designed to evaluate the memory capabilities in robotic manipulation.
创建时间:
2025-02-19
原始信息汇总

MIKASA-Robo

概述

MIKASA-Robo是一个针对记忆密集型机器人操作任务的全面基准测试套件,是MIKASA(Memory-Intensive Skills Assessment Suite for Agents)框架的一部分。它具有以下特点:

  • 12种不同难度的独立任务类型
  • 覆盖不同记忆方面的32个总任务
  • 第一个专门设计用于测试机器人操作中代理记忆的基准测试

关键特性

  • 多样化的记忆测试:涵盖四种基本的记忆类型:

    • 物体记忆
    • 空间记忆
    • 顺序记忆
    • 记忆容量
  • 基于ManiSkill3:利用强大的ManiSkill3框架,提供:

    • GPU并行化
    • 用户友好的接口
    • 可定制的环境

任务列表

预览 记忆任务 模式 简要描述 超时时间(T) 记忆任务类型
ShellGameTouch-v0 ShellGame[Mode]-v0 Touch<br>Push<br>Pick 记忆球在一段时间被杯子覆盖后的位置,然后与球所在的杯子互动。 90 物体
InterceptMedium-v0 Intercept[Mode]-v0 Slow<br>Medium<br>Fast 记忆滚动球的位置,通过这些位置估计球的速率,然后瞄准球到目标。 90 空间
InterceptGrabMedium InterceptGrab[Mode]-v0 Slow<br>Medium<br>Fast 记忆滚动球的位置,通过这些位置估计球的速率,然后用夹爪抓住球并抬起。 90 空间
RotateLenientPos-v0 RotateLenient[Mode]-v0 Pos<br>PosNeg 记忆插头的初始位置,按给定角度旋转。 90 空间
RotateStrictPos RotateStrict[Mode]-v0 Pos<br>PosNeg 记忆插头的初始位置,旋转到给定角度而不移动其中心。 90 物体
TakeItBack-v0 TakeItBack-v0 --- 记忆立方体的初始位置,将其移动到目标区域,然后返回其初始位置。 180 空间
RememberColor9-v0 RememberColor[Mode]-v0 3/5/9 记忆立方体的颜色,并在其他颜色中选择。 60 物体
RememberShape9-v0 RememberShape[Mode]-v0 3/5/9 记忆立方体的形状,并在其他形状中选择。 60 物体
RememberShapeAndColor5x3 RememberShapeAndColor[Mode]-v0 3×2/3×3<br>5×3 记忆立方体的形状和颜色,并在其他形状和颜色中选择。 60 物体
BunchOfColors7 BunchOfColors[Mode]-v0 3/5/7 记忆同时显示的一组立方体的颜色,并以任何顺序触摸它们。 120 容量
SeqOfColors7 SeqOfColors[Mode]-v0 3/5/7 记忆顺序显示的一组立方体的颜色,然后以任何顺序选择它们。 120 容量
ChainOfColors7 ChainOfColors[Mode]-v0 3/5/7 记忆顺序显示的一组立方体的颜色,然后按相同顺序选择它们。 120 顺序

总共:32个桌面机器人操作记忆密集型任务,分为12组。T - 机器人超时时间。

快速入门

安装

bash

本地安装

git clone git@github.com:CognitiveAISystems/MIKASA-Robo.git cd MIKASA-Robo pip install -e .

远程安装

pip install mikasa-robo-suite

基本使用

python import mikasa_robo from mikasa_robo_suite.utils.wrappers import *

num_envs, seed = 512, 123 env = gym.make("RememberColor9-v0", num_envs=num_envs, obs_mode="rgb", render_mode="all")

env = StateOnlyTensorToDictWrapper(env) # [总是]生成obs键

obs, _ = env.reset(seed) for i in tqdm(range(89)): action = torch.from_numpy(env.action_space.sample()) obs, reward, terminated, truncated, info = env.step(action) env.close()

高级使用:调试包装器

python import mikasa_robo from mikasa_robo_suite.utils.wrappers import * from mani_skill.utils.wrappers import RecordEpisode

num_envs, seed = 512, 123 env = gym.make("RememberColor9-v0", num_envs=num_envs, obs_mode="rgb", render_mode="all")

env = StateOnlyTensorToDictWrapper(env) # [总是]生成obs键 env = RememberColorInfoWrapper(env) # [调试]显示任务信息 env = RenderStepInfoWrapper(env) # [调试]显示环境步骤 env = RenderRewardInfoWrapper(env) # [调试]显示总奖励 env = DebugRewardWrapper(env) # [调试]显示奖励信息 env = RecordEpisode(env, "./videos/demo_remember-color-9")

obs, _ = env.reset(seed) for i in tqdm(range(89)): action = torch.from_numpy(env.action_space.sample()) obs, reward, terminated, truncated, info = env.step(action) env.close()

Video("./videos/demo_remember-color-9/0.mp4", embed=True)

训练

MIKASA-Robo支持多种训练配置:

PPO with MLP (基于状态的)

bash python3 baselines/ppo/ppo_memtasks.py --env_id=RememberColor9-v0 --exp-name=remember-color-9-v0 --num-steps=60 --num_eval_steps=180 --include-state

PPO with MLP (RGB + 关节)

bash python3 baselines/ppo/ppo_memtasks.py --env_id=RememberColor9-v0 --exp-name=remember-color-9-v0 --num-steps=60 --num_eval_steps=180 --include-rgb --include-joints

PPO with LSTM (RGB + 关节)

bash python3 baselines/ppo/ppo_memtasks_lstm.py --env_id=RememberColor9-v0 --exp-name=remember-color-9-v0 --num-steps=60 --num_eval_steps=180 --include-rgb --include-joints

若要使用稀疏奖励,请添加--reward-mode=sparse

MIKASA-Robo理念

代理的记忆能力不仅可以当环境需要记忆时访问,还可以在提供正确格式的观察时访问。目前,我们已经实现了以下训练模式:

  • state:在这种模式下,代理接收到关于环境、关节和TCP姿态的全面、向量化信息,以及解决记忆密集型任务所必需的Oracle数据。在这种方式下训练的代理解决MDP问题,不需要记忆

  • RGB+joints:在这里,代理接收到从上方摄像机和操纵器夹爪上安装的相机获取的图像数据,以及其关节的位置和速度。这种模式不提供任何额外信息,意味着代理必须学习存储和利用Oracle数据。它旨在测试代理的记忆能力。

这些训练模式通过使用正确的标志获得。因此, bash

state模式下训练:

--include-state

RGB+joints模式下训练:

--include-rgb --include-joints

此外,为了调试,你可以将Oracle信息添加到观察中:

--include-oracle

离线RL收集数据集

  1. state模式下运行PPO-MLP训练,以在MIKASA-Robo任务上收集Oracle信息(即MDP模式): bash

对于单个任务:

python3 dataset_collectors/get_dataset_collectors_ckpt.py --env_id=ShellGameTouch-v0

对于所有任务:

python3 dataset_collectors/parallel_training_manager.py

  1. 使用Oracle checkpoints收集数据集: bash

对于单个任务:

python3 dataset_collectors/get_mikasa_robo_datasets.py --env-id=ShellGameTouch-v0 --path-to-save-data="data" --ckpt-dir="."

对于所有任务:

python3 dataset_collectors/parallel_dataset_collection_manager.py --path-to-save-data="data" --ckpt-dir="."

引用

如果您认为我们的工作有用,请引用我们的论文:

@misc{cherepanov2025mikasa, title={Memory, Benchmark & Robots: A Benchmark for Solving Complex Tasks with Reinforcement Learning}, author={Egor Cherepanov and Nikita Kachaev and Alexey K. Kovalev and Aleksandr I. Panov}, year={2025}, eprint={2502.10550}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2502.10550}, }

搜集汇总
数据集介绍
main_image_url
构建方式
MIKASA-Robo数据集依托于MIKASA框架,精心构建了12种不同难度级别的任务类型,总计包含32个任务,旨在全面评估机器人在操作台上的记忆密集型任务执行能力。该数据集基于ManiSkill3框架,实现了GPU并行化,提供了用户友好的接口和可定制的环境,以支持机器人记忆功能的测试和评估。
使用方法
使用MIKASA-Robo数据集,用户首先需要安装相关环境,然后可以通过gym.make()函数创建环境,并根据需要添加不同的包装器来增强调试和记录功能。数据集支持多种训练配置,包括使用MLP或LSTM作为网络架构,以及不同的观察模式,如仅状态或RGB+joints,以适应不同的训练策略。
背景与挑战
背景概述
MIKASA-Robo数据集,作为MIKASA(Memory-Intensive Skills Assessment Suite for Agents)框架的一部分,是一个专为测试机器人操作中代理记忆而设计的全面基准测试套件。该数据集创建于近期,由Egor Cherepanov、Nikita Kachaev、Alexey K. Kovalev和Aleksandr I. Panov等研究人员共同开发,旨在解决强化学习在处理记忆密集型机器人操作任务时的难题。数据集包含了12种不同难度级别的任务类型,共32个任务,涵盖了对象记忆、空间记忆、顺序记忆和记忆容量四种基本的记忆类型。它建立在ManiSkill3框架之上,提供了GPU并行化、用户友好的接口和可定制的环境,对相关领域产生了重要影响。
当前挑战
该数据集在构建过程中面临的挑战主要包括如何设计多样化的任务以全面测试机器人的记忆能力,同时确保这些任务能够适应不同难度级别和记忆类型。此外,MIKASA-Robo数据集在解决领域问题时也面临挑战,例如,如何通过强化学习有效解决记忆密集型任务,以及在缺乏额外信息的情况下,如何使机器人代理依赖自身记忆完成任务。这些挑战涉及了机器人操作的复杂性和记忆能力的精确评估,对研究者和工程师来说是一大考验。
常用场景
经典使用场景
MIKASA-Robo数据集作为一项针对机器人桌面操作中记忆密集型任务的全面基准测试,其经典使用场景在于评估和训练机器人在面对各类记忆挑战时的表现。该数据集模拟了多种任务类型,如记忆球的位置、估计滚动物体的速度、记住形状和颜色等,旨在检验机器人在对象记忆、空间记忆、顺序记忆以及记忆容量等方面的能力。
解决学术问题
该数据集解决了机器人学中一个关键问题,即在复杂的动态环境中,机器人如何有效地使用记忆来完成各项任务。通过提供多样化的任务类型和难度级别,MIKASA-Robo为学术界提供了一个统一的平台,以便研究记忆强化学习策略在机器人操作中的应用和效果,推动了机器人记忆能力的研究和进步。
实际应用
在实际应用中,MIKASA-Robo数据集可以帮助开发更智能的机器人系统,这些系统可以在诸如制造业、物流、家庭自动化等领域中执行复杂的记忆密集型任务。通过训练机器人记忆特定对象的位置、路径或其他关键信息,可以显著提高机器人执行任务的速度和准确性。
数据集最近研究
最新研究方向
MIKASA-Robo数据集作为一项旨在评估机器人操作中记忆密集型任务的综合性基准测试,近期研究聚焦于利用该数据集探索机器人对对象、空间、顺序以及记忆容量的处理能力。研究通过不同的任务模式,如视觉观察与关节状态结合的方式,来测试机器人在面对记忆挑战时的表现,进而优化其记忆能力。此外,该数据集支持多种训练配置,包括状态模式与图像关节状态结合模式,这些研究对于推动机器人记忆能力的发展以及复杂任务解决策略的提升具有重要意义。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作