RobotMem + Isaac Lab

为 NVIDIA GPU 加速机器人训练提供持久记忆 — 在数百万仿真步骤间存储和检索感知数据。

pip install robotmem

快速开始

import robotmem
from omni.isaac.lab.envs import ManagerBasedRLEnv

mem = robotmem.connect("isaac-training-run")
env = ManagerBasedRLEnv(cfg=my_env_cfg)
obs, info = env.reset()

for step in range(num_steps):
    actions = policy(obs)
    obs, reward, terminated, truncated, info = env.step(actions)
    mem.save_perception(
        observation=obs.cpu().numpy(),
        action=actions.cpu().numpy(),
        reward=float(reward.mean()),
        metadata={"step": step, "env": "Isaac-Reach-v0"}
    )
    if step % 1000 == 0:
        # 检索高奖励的抓取策略
        past = mem.recall("high reward grasping strategies")
        policy.update_from_experience(past)

集成功能

Isaac Lab 由 NVIDIA 开发,是领先的 GPU 加速机器人学习框架。它可以在单个 GPU 上运行数千个并行环境,每秒生成海量训练数据。然而如果没有持久记忆,所有来之不易的经验在训练脚本退出或机器重启的瞬间就会消失殆尽。

RobotMem 弥补了这一空白,为您的 Isaac Lab 智能体提供持久化记忆层。每一次观测、动作和奖励都可以通过 save_perception 存储,之后通过 recall 的语义搜索进行检索。这意味着您的机器人可以引用上一次训练会话中学到的内容,比较不同奖励函数下的策略,并积累一个可以无限期保存的经验库。

由于 Isaac Lab 环境运行在 GPU 张量上,RobotMem 会自动处理 CUDA 张量到可存储格式的转换。您只需对张量调用 .cpu().numpy(),RobotMem 会处理其余一切 — 序列化、索引和语义嵌入都在后台自动完成。记忆数据库保存在磁盘上,能够在进程崩溃后恢复,还可以跨机器共享。

适用场景

当您在 Isaac Lab 中运行强化学习实验,并希望在多次训练运行间保留经验数据时,此集成非常理想。它特别适用于课程学习(智能体需要回忆早期难度级别中掌握的内容)以及多任务训练(一个任务的经验可以帮助另一个任务的表现)。如果您正在进行仿真到真实 (sim-to-real) 迁移,持久记忆让您可以将仿真经验直接带入真实世界部署流程中。

开始构建有记忆的机器人

pip install robotmem