RobotMem + robosuite

为 robosuite 操作实验提供持久记忆 — 存储每一次交互,跨会话检索有效的经验。

pip install robotmem

快速开始

import robotmem
import robosuite as suite
from robosuite.wrappers import GymWrapper

mem = robotmem.connect("robosuite-lift-experiment")
env = suite.make("Lift", robots="Panda", has_renderer=False, use_camera_obs=False)
env = GymWrapper(env)

obs, info = env.reset()
for step in range(5000):
    action = env.action_space.sample()  # 替换为您的策略
    obs, reward, terminated, truncated, info = env.step(action)
    mem.save_perception(
        observation=obs,
        action=action,
        reward=reward,
        metadata={"step": step, "task": "Lift", "robot": "Panda"}
    )
    if terminated or truncated:
        # 检索 Panda 夹爪高奖励抬升经验
        prior_successes = mem.recall("high reward lifting with Panda gripper")
        obs, info = env.reset()

集成功能

robosuite 是机器人操作仿真的学术标准。它由斯坦福大学 ARISE Initiative 开发,提供了一个模块化框架,支持使用不同的机器人、夹爪和物体创建操作任务,底层由 MuJoCo 物理引擎驱动。全球研究人员使用 robosuite 开发抓取放置、装配、开门等数十种接触丰富的任务算法。然而每次实验通常都从零开始 — 之前会话的数据要么丢失,要么以临时格式手动保存。

RobotMem 为您的 robosuite 智能体提供结构化、可搜索的持久记忆,覆盖每一次训练运行。通过 save_perception API,每一步的观测向量、动作、奖励信号和自定义元数据都会写入本地数据库。recall API 让您可以使用自然语言查询该数据库 — 搜索"Panda 夹爪高奖励抬升"会返回语义最相关的存储经验,按相似度排序。这将您的实验历史从分散的日志文件转变为可查询的知识库。

该集成通过 robosuite 的 GymWrapper 工作,后者暴露标准的 Gymnasium 接口。这意味着您无需修改环境配置或任务定义。只需三行代码即可将 RobotMem 添加到现有训练脚本中:连接记忆存储、在步骤循环中保存感知数据、在智能体需要历史会话经验指导时进行检索。记忆存储自动处理序列化、索引和检索。

适用场景

此集成专为在 robosuite 中运行操作实验并希望保留和复用训练数据的研究人员设计。它对基准测试对比特别有价值,因为您需要跟踪不同算法在同一任务上的表现。如果您正在进行模仿学习,RobotMem 的持久记忆可以作为示范缓冲区,随着每次专家演示不断增长。对于多机器人研究,您可以将 Panda、Sawyer 和 IIWA 智能体的经验存储在同一记忆中,跨机器人类型查询以发现可迁移的操作策略。该集成还支持协作研究 — 与同事共享您的记忆数据库,让他们在您的实验成果基础上继续研究,而无需从头重新运行。

开始构建有记忆的机器人

pip install robotmem