当前位置: 首页 > news >正文

LeRobot 框架的核心架构概念和组件(中)

本文档概述构成 LeRobot 框架的核心架构概念和组件。它介绍主要的子系统,并解释它们如何相互作用以实现机器人学习。

。。。。。。继续。。。。。。

环境接口

环境系统提供与模拟环境交互的统一接口。这些环境允许在部署到物理机器人之前,在受控环境中训练和评估策略。

LeRobot 与 Gymnasium(原名 Gym)集成,提供标准化的环境接口。环境创建通过工厂模式处理,从而可以一致地创建不同类型的环境:
Aloha:双臂操控环境
PushT:桌面推动环境
XArm:单臂操控环境

该系统能够在受控的虚拟环境中训练和评估机器人策略,然后再将其部署到物理机器人上。

LeRobot 的环境接口系统,提供了统一的工厂模式来创建不同类型的环境、标准化的配置目标以及用于预处理观测数据并将环境特征映射到策略输入的实用程序。

添加图片注释,不超过 140 字(可选)

环境工厂

环境工厂系统提供创建标准化环境配置和实例化 Gymnasium 矢量环境的函数。

创建环境配置

环境配置使用 make_env_config 函数创建,该函数接受环境类型和其他关键字参数:

添加图片注释,不超过 140 字(可选)

每种环境类型都有其自己的配置类(例如 AlohaEnv、PushtEnv、XarmEnv),这些类派生自基类 EnvConfig。

实例化环境

make_env 函数根据以下配置创建一个 Gymnasium 矢量环境:

添加图片注释,不超过 140 字(可选)

make_env 函数接受以下参数:
cfg:环境配置(由 make_env_config 创建)
n_envs:要创建的并行环境数量(默认值:1)
use_async_envs:是否使用异步或同步环境(默认值:False)

环境类型和任务

LeRobot 支持多种环境类型,每种类型都有特定的任务:

添加图片注释,不超过 140 字(可选)

每种环境类型对应一个单独的 Python 包,必须与适当的 LeRobot 附加组件一起安装:

添加图片注释,不超过 140 字(可选)

环境特征和预处理

观测值预处理

使用 preprocess_observation 函数将环境观测值预处理为标准化格式。该函数处理:
将图像从通道-最后 (HWC) 格式转换为通道-优先 (CHW) 格式
将图像像素值标准化到 [0,1] 范围内
将 NumPy 数组转换为 PyTorch 张量
将观测值组织成结构化字典格式
在这里插入图片描述

环境到策略的特征映射

env_to_policy_features 函数将环境特征映射到策略特征,处理:
将视觉特征转换为通道-优先格式
验证特征形状
应用环境配置中定义的自定义特征映射

添加图片注释,不超过 140 字(可选)

任务处理

LeRobot 环境可以包含语言任务描述,这对于语言条件策略至关重要。add_envs_task 函数将任务信息添加到观察字典中:

添加图片注释,不超过 140 字(可选)

对于没有语言指令的环境,将使用空字符串作为任务描述。

环境与策略的使用

环境通过标准化的观察和操作格式与策略交互。下图展示此交互流程:

添加图片注释,不超过 140 字(可选)

环境集成示例

以下是如何在 LeRobot 中使用环境接口的完整示例:

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

环境和策略兼容性

并非所有策略都适用于所有环境。下表显示每个环境支持的策略类型:

在这里插入图片描述

扩展环境系统

要为 LeRobot 添加新环境,您需要:
创建一个与 Gymnasium 兼容的环境包(例如 gym_myenv)
在该包中实现所需的环境任务
创建一个扩展 EnvConfig 的环境配置类
在 lerobot/init.py 中更新可用的环境和任务

添加图片注释,不超过 140 字(可选)

实现新环境时,遵循以下准则:
实现标准 Gymnasium 方法:reset()、step()、render()
提供至少包含像素和 agent_pos 组件的观察空间
实现 task_description 属性或方法用于语言指令
定义清晰的动作和观察空间,并与 LeRobot 策略系统兼容

。。。。。。待续。。。。。。

http://www.dtcms.com/a/189713.html

相关文章:

  • R语言机器学习算法实战系列(二十五)随机森林算法多标签分组分类器及模型可解释性
  • 机器视觉助力轨道缺陷检测
  • AR禁毒:科技赋能,筑牢防毒新防线
  • 【计算机视觉】OpenCV实战项目:GraspPicture 项目深度解析:基于图像分割的抓取点检测系统
  • 掌握Docker Commit:轻松创建自定义镜像
  • 双目云台摄像机:双摄安防功能全方位
  • 基于运动补偿的前景检测算法
  • [20250514] 脑机接口行业调研报告(2024年最新版)
  • Vue.js---嵌套的effect与effect栈
  • 《数据库原理》部分习题解析1
  • 数据防泄密安全:企业稳健发展的守护盾
  • NVMe简介2
  • C# 通过脚本实现接口
  • centos6.10在Macbook m芯片上使用
  • OpenCV CUDA 模块中用于在 GPU 上计算矩阵中每个元素的绝对值或复数的模函数abs()
  • 地磁-惯性-视觉融合制导系统设计:现代空战导航的抗干扰解决方案
  • 合并有重叠的时间区间的极简方法
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 获取macOS App的Bundle路径信息.
  • RK3588 串行解串板,支持8路GMSL相机
  • 应用示例1:交通灯
  • [思维模式-38]:看透事物的关系:什么是事物的关系?事物之间的关系的种类?什么是因果关系?如何通过数学的方式表达因果关系?
  • postman 用法 LTS
  • Go语言空白导入的作用与用途
  • 深度解析 Sora:从技术原理到多场景实战的 AI 视频生成指南【附学习资料包下载】
  • uniapp设置 overflow:auto;右边不显示滚动条的问题
  • CMakeLists生成调用静态动态库可执行demo
  • Linux复习笔记(五) 网络服务配置(dhcp)
  • MetaHipMer2:从头组装宏基因组
  • 基于地图的数据可视化:解锁地理数据的真正价值
  • 正则表达式r前缀使用指南