Push-T, AloHa, Rlbench三个仿真环境信息

1.Push-T

很好兄弟,你问得很关键:你给我的三段代码其实是一套完整的推理+录像 pipeline,它们之间既有独立功能,又有顺序依赖关系。我来帮你分段解释,每段是什么功能、三段之间怎么配合,让你彻底搞明白。


🧩 三段代码作用总览

段落功能定位是否录像是否推理输出
第一段(构建 env)构造 Push-T 环境 + 包装视频录制器 + 多步 wrapper设置好环境、准备录像
第二段(① 单次推理)使用种子 10 进行一次推理并录像1 个 demo 视频(路径自动生成)
第三段(② 批量推理)遍历种子 1~100,每次都推理并保存视频100 个 demo 视频(输出为 1.mp4~100.mp4)

🔍 一段一段解释 & 联系:


✅ 第一段:构造环境 + 视频录制配置

env = MultiStepWrapper(VideoRecordingWrapper(PushTImageEnv(render_size=256),video_recoder=VideoRecorder.create_h264(...),file_path=None,steps_per_render=1
),
n_obs_steps=cfg.policy.n_obs_steps,
n_action_steps=cfg.policy.n_action_steps,
max_episode_steps=200)env.env.video_recoder.stop()
✅ 做了什么?
  • 构建 PushTImageEnv,也就是你要跑的模拟环境;

  • 包了一层 VideoRecordingWrapper,让它可以自动录视频;

  • 包了 MultiStepWrapper,允许做多步观测 → 多步动作(比如 Transformer 用 sliding window);

  • 暂时不指定输出文件(file_path=None),等你后面代码指定;

  • 调用 stop(),清空之前录像器状态,防止写入冲突。

✅ 输出结果?

准备好了一个可以推理、可以录像的强化学习环境 env


✅ 第二段(①):用种子 10 推理一次并录像

env.seed(10)
obs = env.reset()arp_policy.eval()
done = False
while not done:action_dict = arp_policy.predict_action(prepare_obs(obs))obs, reward, done, info = env.step(...)obs = env.reset()
"demonstration is saved to ", env.env.file_path
✅ 做了什么?
  • 设置种子 10 → 保证可复现;

  • 开始推理一个 episode → 每步都执行推理、环境 step;

  • 环境会自动调用 VideoRecorder.render(),每步录视频;

  • 推理结束后,保存为 file_path 指定路径的 .mp4 文件。

✅ 和第一段的联系?
  • 用的是第一段构建好的环境;

  • 使用未指定路径的录像器 → 所以你需要后续给它 env.env.file_path = filename,否则视频不会保存;

  • 实际上这一段视频路径会在别处(如默认临时路径)或失效。


✅ 第三段(②):推理 100 次并每次保存视频

for s in trange(1, 101):env.seed(s)env.env.file_path = f'./outputs/demo/media/{s}.mp4'obs = env.reset()while not done:action = arp_policy.predict_action(...)obs, reward, done, info = env.step(...)
✅ 做了什么?
  • 使用种子 1 到 100;

  • 每轮推理并录像,并将结果保存为 1.mp4, 2.mp4, ..., 100.mp4

  • 每次都手动设置 env.env.file_path → 录像器就知道要保存在哪个文件;

  • 这就是一个 批量生成高质量 demo 的过程

✅ 和前两段的联系?
  • 用第一段构建好的环境;

  • 和第二段代码基本一致,只不过是循环版本;

  • 手动设置每次录像输出路径;

  • 一次性生成一堆轨迹数据,后续可以用于 imitation learning、diffusion 训练、评估等。


✅ 最终总结图示(结构思维图)

第一段:构造环境
│
├── env = MultiStepWrapper(...)
│
└── VideoRecorder 包住环境(尚未指定 file_path)第二段(①):单条推理
│
├── env.seed(10)
├── env.reset()
├── 推理 + step + 渲染录像
└── 生成一个 demo(自动路径 或 file_path 外部设置)第三段(②):循环推理
│
├── for seed in 1~100:
│   ├── env.seed(seed)
│   ├── 设置 file_path = ./outputs/demo/media/{seed}.mp4
│   ├── 推理 + step + 渲染录像
│   └── 保存为对应视频
└── 最终输出 100 个视频

如果你想要下一步比如:

  • 用这些 .mp4.npz 训练 diffusion policy、BC、CoL;

  • 评估这些 policy 表现(如 success rate);

  • 把推理结果上传 HuggingFace Hub 展示;

我可以帮你接着写下去。

2.AloHa

这里有两个主流的 ALOHA 环境链接,你可以根据需求选择使用:


1. gym-aloha(由 Hugging Face 提供,可与 Gymnasium 接口直接交互)

✅ 支持两个任务:

  • AlohaInsertion-v0(插入任务)

  • AlohaTransferCube-v0(搬运方块任务)

快速示例:

import gymnasium as gym
import gym_alohaenv = gym.make("gym_aloha/AlohaInsertion-v0", obs_type="pixels", render_mode="rgb_array")
obs, info = env.reset()
for _ in range(1000):action = env.action_space.sample()obs, reward, terminated, truncated, info = env.step(action)img = env.render()

(github.com)

📦 安装方式:

pip install gym-aloha

2. aloha_sim(由 Google DeepMind 开发,基于 MuJoCo,可以做桌面任务)

提供多种任务(如 Banana handover、Marker lid removal 等),支持交互和评估脚本,适合 MuJoCo 用户。

安装和使用示例如下:

pip install aloha_sim
export MUJOCO_GL='egl'
python aloha_sim/viewer.py --task_name=HandOverBanana
python aloha_sim/run_eval.py  # 批量生成视频 / 测试指标

(github.com)


🎯 总结与建议

环境接口类型支持任务推荐理由
gym-alohaGymnasium 接口插入、搬运方块任务简洁易用,适合快速上手和训练管道
aloha_simMuJoCo + Python多桌面操控任务适合需要复杂交互、真实感更强的模拟

🧭 探索 & 推荐

  • 想用 LeRobot Pipeline 吗?:安装 pip install -e ".[aloha]" 后,就可以直接使用 --env.type=aloha 运行 lerobot/scripts/train.py,一键训练 ALOHA 任务 (github.com)。

  • **想看代码、任务定义、讨论搭建?**gym-aloha 的 GitHub 上有具体说明 (github.com)。

  • **想用 MuJoCo 更加真实的行为配置?**可试试 aloha_sim,它的评估与交互脚本对研究更友好 (github.com)。


如果你想用 LeRobot 框架跑 ALOHA 的训练 demo 或者想获取相关代码示例,我也可以帮你提供完整使用流程!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86683.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux信号机制:从入门到精通

嘿,小伙伴们!今天我要和大家聊一个Linux系统中非常有趣又重要的话题——信号机制。别担心,虽然信号听起来有点高深,但我会用最通俗易懂的语言,配合清晰的图表,带你彻底搞懂这个概念! 什么是信号…

Vue3项目引入高德地图【超详细教程】

前言 在 Vue 3 项目中集成高德地图(AMap)是一个常见的需求。本文将详细介绍如何在 Vue 3 项目中使用高德地图,包括安装配置、基本使用以及一些进阶功能的实现。 一、环境准备 1.1 vue3项目初始化 步骤 1:初始化项目 npm crea…

blender mcp安装(完全免费的ai建模)

1.最关键的一步,建议最早执行(就是安装uvx) mac系统执行 brew install uvwindows执行 powershell -c "irm https://astral.sh/uv/install.ps1 | iex" 出现这一步就成功安装uvx了,因为mcp需要使用uvx 2.第二步骤 github地址: https://gith…

GIS开发入门教程与笔记分享

大家好,我是地信小学生,距离5月3日发布暂停更新以来,也一两个月啦,这期间也陆陆续续更新了点内容。 我自己写的笔记主要是以入门笔记为主,真正的内容并不多,包括:GIS基础、PostgreSQLPostGIS入门…

设计模式-代理模式、装饰者模式

代理模式 Proxy(代理)—对象结构型模式定义:给某一个对象提供一个代理对象,并由代理对象控制原有对象的引用。 代理模式的核心思想是:创建一个代理对象,代理对象在调用目标方法时,可以插入额外…

国产安路FPGA纯verilog视频图像去雾,基于暗通道先验算法实现,提供5套TD工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目国产安路FPGA相关方案推荐本博主已有的图像处理方案 3、设计思路框架工程设计原理框图输入Sensor之-->GC0308摄像头输入Sensor之-->OV7725摄像头输入Sensor之--…

Windows商店中的简笔画学习应用

此应用包含动物、植物、人物、交通工具、卡通等类别超过1500张线条图片,支持图片临摹和图片填色,可以将绘图和填色结果保存成文件,也可以打开本地图片进行临摹和填色。 菜单说明 右侧绘图区上方菜单功能包括:打开文件&#xff1…

树莓派4B --ubundu20.04 机载电脑配置WIFI热点

不要用刷机过程配置WIFI账号,因为在那里配置的WIFI都是不受控的,会出很多问题。 1.安装网络 sudo apt-get install network-manager 2.将源码CLONE到本地 sudo git clone https://github.com/oblique/create_ap cd create_ap sudo make install 当你…

​​JETSON NANO B01​ 在AIOT 的领域的作用

低功耗边缘设备的理想选择 👉 ​​适合人群​​:精打细算、小厂搞智能监控的 ​​Jetson Nano B01​​(4GB内存/0.47TOPS算力),JetBot (NVIDIA社区版) 机器人/自动驾驶项目​ ​​硬件​​:Jetson Nano B0…

Kioptrix Level2

靶机截图 收集信息 主机发现 打开靶机后,用kali探测靶机的 IP arp-scan-l 可以用nmap进行同网段扫描探测存活ip nmap -sP 10.4.7.0/24 端口扫描 命令过程 nmap -sT -sV -p- -O 10.4.7.220 -sT:TCP连接扫描 -sV:服务版本探测 -p-&#x…

Word之电子章制作——1

第一步:在插入 ——形状哪里选择一个圆形,并且下一步按住shift键拉出一个正圆形。 第二步:鼠标右键去掉背景颜色,边框粗细设置成3磅。 第三步:在插入导航窗找到艺术字,点击大写的A,输入公司名字…

LeetCode 2799.统计完全子数组的数目

给你一个由 正 整数组成的数组 nums 。 如果数组中的某个子数组满足下述条件,则称之为 完全子数组 : 子数组中 不同 元素的数目等于整个数组不同元素的数目。 返回数组中 完全子数组 的数目。 子数组 是数组中的一个连续非空序列。 示例 1&#xff1…

33.表复制和去重

1.表结构的复制(LIKE) 当我们想复制一个表的时候,首先需要创建一个与被复制表相同结构的表。这时候就要用到关键字like: 语法使用: create table table_name LIKE temp_table 示例:复制一个和表emp(老朋友了&#…

GitLab 18.1 正式发布Maven 虚拟仓库、密码泄露检测等功能,可升级体验!

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…

蓝牙网络拓扑面试通关:微微网与散射网原理 + 真题解析

为什么面试官总爱问蓝牙拓扑? 你可能有过这样的经历:面试嵌入式 / 物联网 / 无线通信岗位时,面试官突然问:“蓝牙的微微网和散射网有什么区别?” 别慌!这不是在考你背定义,而是考察你对无线通信核心逻辑的理解 ——如何用有限资源实现高效组网。 蓝牙作为短距离无线通信…

[Python]-基础篇1- 从零开始的Python入门指南

无论你是尚未接触编程的新手,还是想从其他语言转向Python的开发者,这篇文章都是你的入门课。 一、Python是什么? Python是一种解释型、高级、通用型编程语言,以简洁明了、简单易用着称。它可以应用于网站开发、自动化脚本、数据分析、人工智能、系统操作等多种场景。 二、…

Objective-C面向对象编程:类、对象、方法详解(保姆级教程)

目录 一、核心概念 二、类的定义(分.h和.m文件) 1. 头文件(.h)—— 公开声明 2. 实现文件(.m)—— 具体实现 3. 属性特性解析 原子性 所有权语义(ARC环境下) 读写控制 三、对象创建与内存管理 1…

CentOS 7 编译ClickHouse 24.8完整指南

前言 在CentOS 7上编译ClickHouse 24.8可能会遇到一些挑战,主要是因为CentOS 7的默认软件版本较旧。本文将详细介绍从零开始构建ClickHouse 24.8的完整过程,包括依赖安装和环境配置。 准备工作 首先确保系统已更新到最新版本: yum update…

Protocol Buffers (Protobuf) 全面解析

一、核心概念解析 1. 什么是数据序列化? #mermaid-svg-HZKw9iRlpQIRFiO3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-HZKw9iRlpQIRFiO3 .error-icon{fill:#552222;}#mermaid-svg-HZKw9iRlpQIRFiO3 .…

高斯混合模型GMMK均值(十三-1)——K均值是高斯混合模型的特例

EM算法与K均值算法的关系 K均值可以看成是高斯混合模型的特例。 对K均值算法与EM算法进行比较后,可以发现它们之间有很大的相似性。K均值算法将数据点硬(hard)分配到聚类中,每个数据点唯一地与一个聚类相关联,而EM算法…