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

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

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

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

机器人控制系统

机器人控制系统提供统一的接口来控制实体机器人。它支持不同的控制模式和机器人类型,并与数据集系统集成以进行数据采集。

目的和范围

机器人控制系统是 LeRobot 框架的核心组件,提供用于操作、标定和记录物理机器人数据的接口。该系统支持遥操作、记录演示数据集、重放动作以及在真实机器人上运行已训练的策略。它充当用户、物理机器人硬件和训练流程之间的桥梁。

架构概述

机器人控制系统以 control_robot.py 脚本为中心,该脚本支持多种控制模式,包括遥操作、记录、重放、标定和远程控制。该系统可与各种类型的机器人(机械手和移动机器人)和设备接口(电机和摄像头)进行交互。

控制模式

LeRobot 支持多种机器人操作控制模式:

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

机器人控制系统提供多种由 control_robot.py 脚本管理的操作模式:每种控制模式都有各自的配置类和相应的函数来实现其行为:

标定模式

用于标定机器人电机并确保正确定位。这通常是设置新机器人或移动机器人时的第一步。

![添加图片注释,不超过 140 字(可选)](https://i-blog.csdnimg.cn/direct/ad50702d5c374281a5c571a97874cc93.png

遥控模式

允许手动控制机器人。在机械臂机器人中,这通常涉及通过移动引导臂来控制从动臂。

在这里插入图片描述

记录模式

记录遥操作或策略执行过程中的数据集。此模式可捕捉机器人状态、动作和摄像头图像,用于训练策略。

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

重播模式

在机器人上重播录制的片段,以便验证录制的数据。

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

远程机器人模式

用于在边缘设备上运行的远程控制机器人(例如 LeKiwi)。

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

控制配置

每种控制模式都通过特定的配置类进行配置:

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

机器人类型和硬件集成

机器人控制系统通过通用接口支持各种类型的机器人。每种类型的机器人都有特定的配置和硬件要求:

机械臂机器人

机械臂机器人(Koch、Aloha、SO-100、Moss)通常采用主从式架构:
主臂:用于远程操作,通常具有较低的摩擦力
从臂:执行实际任务,由主臂或策略控制

移动机器人

移动机器人(LeKiwi、Stretch)将移动性与操控性相结合:
LeKiwi:带有 SO-100 机械臂的移动基座,可远程操作
Stretch:集成移动机械臂,带有机械臂和夹持器

电机控制接口

机器人控制系统通过专用总线类与不同类型的电机连接:

DynamixelMotorsBus

与 Dynamixel 电机(Koch、Aloha 使用)的接口:

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

FeetechMotorsBus

与 Feetech 电机接口(SO-100、Moss、LeKiwi 使用):

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

摄像头集成

机器人控制系统支持多种摄像头类型:

OpenCVCamera

与大多数 USB 摄像头接口:

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

RealSenseCamera

与 Intel RealSense 摄像头接口(用于深度感知):

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

控制循环

核心控制逻辑在 control_loop 函数中实现,该函数处理不同的控制模式:

控制循环:

捕获观测值(机器人状态、摄像头图像)
以下任一:2.1)处理远程操作输入以生成动作;2.2)根据观测值使用策略预测动作
将动作发送给机器人
(可选)将数据记录到数据集
显示数据并记录信息

记录和数据集集成

记录模式与 LeRobotDataset 系统集成:

记录期间:

系统初始化数据集并(可选)加载策略
预热记录以使设备同步
对于每个episode:3.1)使用控制循环记录数据;3.2)留出时间在 episode 之间重置环境
最后,如果要求,它将数据集推送到 Hugging Face Hub

使用示例

标定机器人

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

遥操作机器人

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

记录数据集

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

在一个机器人上运行策略

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

操作一个远程机器人

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

记录期间的键盘控制

机器人控制系统支持在数据集录制过程中使用键盘控制:

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

这些键盘控制可以灵活地控制记录过程。

使用 Rerun 进行可视化

机器人控制系统可以使用 Rerun 可视化工具包实时可视化数据:

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

这将显示:
摄像头反馈
机器人状态值
动作值

对于远程机器人,还可以指定远程查看器:

![添加图片注释,不超过 140 字(可选)](https://i-blog.csdnimg.cn/direct/99e26b9820a04c8b8d7aa521742ea4cc.png

训练和评估工作流程

训练和评估工作流程整合策略、数据集和环境系统,以实现有效的机器人学习。

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

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

配置系统

LeRobot 使用全面的配置系统来参数化框架的各个方面。配置按层次结构组织,可以通过命令行参数、配置文件或编程方式指定。
主要配置类包括:

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

配置目标被传递给工厂函数,以使用所需的参数创建相应的组件。

实用系统

LeRobot 包含多个支持主要组件的实用系统:
日志记录 - 通过标准 Python 日志记录和可选的 WandB 集成进行可配置日志记录
检查点 - 在训练期间保存和加载模型检查点
可视化 - 用于可视化数据集片段和策略部署的工具
指标 - 跟踪和报告训练和评估指标

相关文章:

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

本文档概述构成 LeRobot 框架的核心架构概念和组件。它介绍主要的子系统,并解释它们如何相互作用以实现机器人学习。 。。。。。。继续。。。。。。 机器人控制系统 机器人控制系统提供统一的接口来控制实体机器人。它支持不同的控制模式和机器人类型&#xff0c…...

ubuntu18 设置静态ip

百度 编辑/etc/netplan/01-netcfg.yaml 系统没有就自己编写 network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.20.8/24] # 设置你的IP地址和子网掩码 gateway4: 192.168.20.1 # 网关地址 namese…...

QML元素 - ThresholdMask

QML 的 ThresholdMask 用于根据阈值将源元素与遮罩元素的像素值进行比较,通过设定阈值范围来控制源元素的可见区域。它适用于基于亮度、透明度或颜色通道的动态遮罩效果,例如游戏中的血条、进度指示器或图像处理中的抠图。以下是详细使用技巧和场景示例&…...

[项目深挖]仿muduo库的并发服务器的解析与优化方案

标题:[项目深挖]仿muduo库的并发服务器的优化方案 水墨不写bug 文章目录 一、buffer 模块(1)线性缓冲区直接扩容---->环形缓冲区定时扩容(只会扩容一次)(2)使用双缓冲(Double Buf…...

(独家)SAP CO模块中 销售发票对应的Cost Document中的PSG对象是什么东东??

背景: 在销售发票生成的凭证中,控制凭证有两个字段:对象类型、对应编码;那这个PSG到底是什么东东?网上一直没人解释,可能没人研究过这个问题。 官方解释: 按我的理解,PSG profile …...

流程编辑器Bpmn与LogicFlow学习

工作流技术如何与用户交互结合(如动态表单、任务分配)处理过 XML 与 JSON 的转换自定义过 bpmn.js 的样式(如修改节点颜色、形状、图标)扩展过上下文菜单(Palette)或属性面板(Properties Panel&…...

群晖NAS部署PlaylistDL音乐下载器结合cpolar搭建私有云音乐库

文章目录 前言1.关于PlaylistDL音乐下载器2.Docker部署3.PlaylistDL简单使用4.群晖安装Cpolar工具5.创建PlaylistDL音乐下载器的公网地址6.配置固定公网地址总结 前言 各位小伙伴们,你们是不是经常为了听几首歌而开通各种平台的VIP?或者为了下载无损音质…...

Unity光照笔记

问题 在做项目中遇到了播放中切换场景后地面阴影是纯黑的问题,不得不研究一下光照。先放出官方文档。 Lighting 窗口 - Unity 手册 播放中切换场景后地面阴影是纯黑 只有投到地面的阴影是纯黑的。且跳转到使用相同Terrain的场景没有问题。 相关文章&#xff1a…...

【ROS2】编译Qt实现的库,然后链接该库时,报错:/usr/bin/ld: XXX undefined reference to `vtable for

1、问题描述 在ROS2工程中,编译使用Qt实现的库,在其它ROS2包链接该库时,报错: /usr/bin/ld: XXX undefined reference to `vtable for2、原因分析 查看链接失败的几个函数接口都是,信号函数(signals 标记的函数)。因为信号函数都只有定义,没有实现,在执行ROS2 colc…...

deepseek讲解如何快速解决内存泄露,内存溢出问题

Java内存泄漏与内存溢出解决方案及预防措施 作为Java架构师,处理内存泄漏和内存溢出问题需要系统性的方法。以下是一份完整的解决方案和预防建议: 一、问题诊断阶段 1. 确认内存泄漏现象 监控GC日志,观察老年代使用率是否持续增长使用jst…...

双系统重装ubuntu

双系统ubuntu20.04重装(详细版)_ubuntu20.04安装教程-CSDN博客...

图形语言中间层:重构 AI 编程的未来之路

在软件开发的历史长河中,每一次技术革新都伴随着对效率与可控性的重新定义。当 ChatGPT、GitHub Copilot 等 AI 工具以自然语言生成代码的惊艳表现叩响编程世界的大门时,人们曾满怀憧憬地期待一个 “无代码” 的黄金时代 —— 只需用日常语言描述需求&am…...

Ubuntu操作合集

UFWUncomplicated Firewall 查看状态和规则: 1查看状态sudo ufw status, 2查看详细信息sudo ufw status verbose, 默认策略配置: 1拒绝所有入站sudo ufw default deny incoming 2允许所有出战sudo ufw default allow outgoing …...

张量与Python标量:核心区别与计算图断开解析

张量与Python标量的核心区别 张量(Tensor) 是PyTorch中的核心数据结构,类似于多维数组: 支持GPU加速计算跟踪计算历史(用于自动求导)可以包含多个元素Python标量(int/float) 是普通的Python数值类型: 不支持GPU加速没有计算历史记录单个独立数值计算图断开的原因 Py…...

U9C与钉钉审批流对接完整过程

U9C 功能强大,然而在移动办公和审批流方面存在一定不足。为了弥补这一缺陷,不少企业在使用 U9C 的同时,会选择开通钉钉这类 OA 管理系统。不过,两套系统并行使用时,数据同步问题便随之而来。目前,常见的做法…...

双重差分模型学习笔记4(理论)

【DID最全总结】90分钟带你速通双重差分!_哔哩哔哩_bilibili 目录 总结:双重差分法(DID)在社会科学中的应用:理论、发展与前沿分析 一、DID的基本原理与核心思想 二、经典DID:标准模型与应用案例 三、…...

【Pandas】pandas DataFrame diff

Pandas2.2 DataFrame Computations descriptive stats 方法描述DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 TrueDataFrame.any(*[, axis, bool_only, skipna])用于判断…...

什么是Agentic AI(代理型人工智能)?

什么是Agentic AI(代理型人工智能)? 一、概述 Agentic AI(代理型人工智能)是一类具备自主决策、目标导向性与持续行动能力的人工智能系统。与传统AI系统依赖外部输入和显式命令不同,Agentic AI在设定目标…...

记录算法笔记(2025.5.15)二叉树的层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例 2: 输入…...

2025 Java 微信小程序根据code获取openid,二次code获取手机号【工具类】拿来就用

一、controller调用 /*** 登录** author jiaketao* since 2024-04-10*/ RestController RequestMapping("/login") public class LoginController {/*** 【小程序】登录获取session_key和openid** param code 前端传code* return*/GetMapping("/getWXSessionKe…...

2021-10-25 C++三的倍数含五

缘由含数字五且是三的倍数-编程语言-CSDN问答 void 三的倍数含五() {//缘由https://ask.csdn.net/questions/7544132?spm1005.2025.3001.5141int a 3, aa a;while (a < 10000){if (aa)if (aa % 10 5)std::cout << a << std::ends, aa a 3; else aa / 10;…...

编程日志5.8

二叉树练习题 1.965. 单值二叉树 - 力扣(LeetCode) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) :…...

Vue.js---避免无限递归循环 调度执行

4.4 避免无限递归循环 什么情况下会无限递归&#xff1f; 01 const data { foo: 1 } 02 const obj new Proxy(data, { /*...*/ }) 03 04 effect(() > obj.foo)例如这种情况&#xff0c;它会反复设置添加一直到栈溢出 首先读取obj.foo 的值&#xff0c;这会触发 track 操…...

AI大模型学习二十四、实践QEMU-KVM 虚拟化:ubuntu server 25.04 下云镜像创建Ubuntu 虚拟机

一、说明 虽然说大部分的场合&#xff0c;docker都能解决问题&#xff0c;但是有些大型的软件安装时如果修改配置会很麻烦&#xff0c;比方说前面遇到的code-server和dify 默认都是80和443端口要使用&#xff0c;安装在一起就会端口冲突&#xff0c;通过该端口来解决问题&#…...

Lovart:首个AI设计智能体

今天介绍一款AI设计智能体——Lovart&#xff0c;能调用各种绘画API和视频API&#xff0c;也能调用LibLib上的Flux和LoRA&#xff0c;并且智能体的编排效果确实很好&#xff0c;产出效果比豆包和ChatGPT都好&#xff0c;可以说没有竞品。视频为效果演示&#xff0c;官网有更多案…...

Trae 插件 Builder 模式:从 0 到 1 开发天气查询小程序,解锁 AI 编程新体验

在软件开发领域&#xff0c;效率与创新始终是开发者追求的核心目标。Trae 插件&#xff08;原 MarsCode 编程助手&#xff09;Builder 模式的全面上线&#xff0c;无疑为开发者带来了全新的解决方案。它不仅同时支持 VS Code、JetBrains IDEs 等主流开发环境&#xff0c;还能让…...

解决ubuntu20中tracker占用过多cpu,引起的风扇狂转

track是linux中的文件索引工具&#xff0c;ubuntu18之前是默认不安装的&#xff0c;所以在升级到20后会默认安装&#xff0c;它是和桌面程序gnome绑定的&#xff0c;甚至还有很多依赖项&#xff0c;导致无法删除&#xff0c;一旦删除很多依赖项都不能运行&#xff0c;禁用也很难…...

解码生命语言:深度学习模型TranslationAI揭示RNA翻译新规则

RNA翻译是基因表达的核心环节&#xff0c;其精确调控依赖于翻译起始位点&#xff08;TIS&#xff09;和终止位点&#xff08;TTS&#xff09;的准确识别。传统方法依赖于简单的经验规则&#xff08;如Kozak序列或最长开放阅读框ORF&#xff09;&#xff0c;但忽略了RNA结构、顺…...

20250515测试飞凌的OK3588-C的核心板在Linux R4下适配以太网RTL8211F-CG时跑iperf3的极速

20250515测试飞凌的OK3588-C的核心板在Linux R4下适配以太网RTL8211F-CG时跑iperf3的极速 2025/5/15 14:47 缘起&#xff1a;让飞凌的OK3588-C的核心板在Linux R4下&#xff0c;想看看以太网RTL8211F-CG的极速。 于是在飞凌的OK3588-C的核心板上&#xff0c;iperf3的收发一起跑…...

在Linux内安装虚拟机安装vmnet.tar 报错

编译报错如下: /usr/lib/vmware/modules/source/vmnet-only/userif.c: 在函数‘VNetCsumCopyDatagram’中: /usr/lib/vmware/modules/source/vmnet-only/userif.c:88:39: 错误&#xff1a;‘skb_frag_t {或称 const struct bio_vec}’ has no member named ‘page_offset’; di…...

CodeBuddy编程新范式

不会写&#xff1f;不想写&#xff1f; 腾讯推出的CodeBuddy彻底解放双手。 示例 以下是我对CodeBuddy的一个小体验。 我只用一行文字对CodeBuddy说明了一下我的需求&#xff0c;剩下的全部就交给了CodeBuddy&#xff0c;我需要做的就是验收结果即可。 1.首先CodeBuddy会对任…...

ESP32简介及相关使用

乐鑫官网&#xff1a; 无线通信 SoC、软件、云和 AIoT 方案&#xff5c;乐鑫科技 (espressif.com) 简介 ESP32 是由 乐鑫科技&#xff08;Espressif Systems&#xff09; 推出的一款高性能、低功耗的 Wi-Fi & 蓝牙双模物联网&#xff08;IoT&#xff09;芯片&#xff0c;广…...

全志F10c200开发笔记——移植uboot

相关资料&#xff1a; &#xff08;二&#xff09;uboot移植--从零开始自制linux掌上电脑&#xff08;F1C200S)&#xff1c;嵌入式项目&#xff1e;-CSDN博客 F1C200S挖坑日记&#xff08;3&#xff09;——Uboot编译篇_f1c200s uboot-CSDN博客 一、安装编译器 Linaro Rele…...

解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- Manus解密

解密企业级大模型智能体Agentic AI 关键技术&#xff1a;MCP、A2A、Reasoning LLMs- Manus解密 那你当前这个步骤执行完成之后&#xff0c;这边说了一个非常重要的点&#xff1f;每次迭代只选择一个工具&#xff0c;这个可能对大家感觉有点反直觉&#xff0c;可能大家立即选择分…...

理解c++中关键字友元friend的作用

理解c中关键字友元friend的作用 friend 关键字在 C 中用于声明一个函数或类为另一个类的友元。 友元函数或友元类可以访问该类的私有&#xff08;private&#xff09;和保护&#xff08;protected&#xff09;成员。 友元函数 作用&#xff1a; 允许非成员函数访问私有成员&…...

【学习心得】2025年Docker Desktop安装记录

1、docker的官方网站&#xff0c;已进入就可以看到下载按钮&#xff0c;无脑点击下载&#xff01;英特尔的CPU所以选择AMD64 2、双击安装&#xff0c;默认的勾选不用改 Docker Desktop 4.40.0安装过程中的配置选项窗口 Use WSL 2 instead of Hyper-V (recommended)&#xff08…...

数据结构——例题2

1.在线性表中&#xff0c;除了开始元素外&#xff0c;每个元素&#xff08;A&#xff09; A.只有唯一的前驱元素 B.只有唯一的后继元素 C.有多个前驱元素 D.有多个后继元素 2.在一个长度为n的顺序表中删除第i个元素&#xff08;1<i<n&#xff09;时&#xff0c;需向前…...

python开发api平台雏形

api平台雏形 一、Django基本配置 1.1使用pycherm创建项目 1.2 运行项目 1.3 创建app python.exe .\manage.py startapp cmdb1.4 settings.py添加app 1.5 settings.py设置数据库 DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: devopsapi,USER: root,PASSWO…...

Android Development Roadmap

&#x1f527; Android Development Roadmap (Practical First → Theory Later) Here’s a lean, real-world roadmap tailored to the mindset — build-first, theory-when-needed: &#x1f7e2; Stage 1: Core Setup & Workflow (Done ✅) ✅ Install Android Studio…...

将.pt文件执行图像比对

目录 1. 加载模型 2. 图像预处理 3. 提取图像特征 4. 计算相似度 调用API或封装函数即可实现端到端比对 使用.pt文件进行图像比对通常涉及以下步骤&#xff1a; 1. 加载模型 python import torch# 假设模型是PyTorch保存的权重文件 model YourModelClass() # 需与保存时…...

西门子S7-1200 MC卡使用方法及故障现象分析

一、S7 1200 MC卡 S7 1200系列PLC使用的存储卡为SD卡&#xff0c;也被称为MC卡 &#xff0c;支持4M、12M、24M、256M、2G以及32G等不同容量规格。它可作为程序卡、传送卡&#xff0c;还能用于更新硬件及解除密码&#xff0c;在S7 1200的系统运行和维护中扮演着重要角色。 二…...

5.重建大师数据管理模块介绍

摘要&#xff1a;本文主要介绍重建大师数据管理模块&#xff0c;包含&#xff1a;照片、点云数据可视化管理工具。 数据管理界面主要包含工具栏、可视化界面和照片组列表三部分。 图 数据管理界面 1.工具栏 工具栏包含以下功能按钮&#xff0c;包含添加照片、视频、点云、控制…...

BUUCTF——shrine

BUUCTF——shrine 进入靶场 只有一串代码 import flask import os app flask.Flask(__name__) app.config[FLAG] os.environ.pop(FLAG) #程序从环境变量 FLAG 读取一个敏感值&#xff0c;并存储在 app.config[FLAG] 中。 #安全问题&#xff1a;如果攻击者能访问 app.con…...

基于FPGA的车速检测系统仿真设计与实现

标题:基于FPGA的车速检测系统仿真设计与实现 内容:1.摘要 本文旨在设计并实现基于FPGA的车速检测系统仿真。随着汽车行业的快速发展&#xff0c;精确的车速检测对于车辆的安全性和性能评估至关重要。本研究采用FPGA作为核心处理单元&#xff0c;结合传感器数据采集与处理技术进…...

STM32 DMA技术深度解析:从原理到实战应用讲解

知识点1【DMA的介绍】 直接内存访问&#xff08;DMA&#xff09;用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输&#xff0c;无需CPU的干预&#xff0c;数据可以通过DMA快速地移动&#xff0c;这就节省了CPU的资源&#xff0c;来做其他的操作——提高CPU的效…...

模仿学习笔记

模仿学习总共分两类&#xff1a; 行为克隆&#xff1a;BC,Dagger逆强化学习:又分为 2.1基于最大边际逆强化学习 &#xff08;无法主要歧义问题&#xff09;&#xff1a;学徒学习 2.2 基于最大熵逆强化学习 &#xff08;主要解决歧义问题&#xff09;:GAIL 学徒学习 基于最大熵…...

论文学习_Directed Greybox Fuzzing

摘要&#xff1a;现有的灰盒模糊测试工具&#xff08;Greybox Fuzzers&#xff0c;简称GF&#xff09;在测试引导性方面存在明显不足&#xff0c;比如难以有效地将测试引导至特定的高风险变更或补丁、关键系统调用、危险代码位置&#xff0c;或是试图重现漏洞时涉及的堆栈追踪中…...

《MySQL:MySQL视图特性》

视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据。视图的数据变化会影响基表&#xff0c;基表的数据变化也会影响视图。 创建视图 create view 视图名 as select语句; 删除视图 drop view 视图名; 视图规则与限…...

Flutter——数据库Drift开发详细教程(六)

目录 1.视图2.视图中列的可空性3.DAO4.流查询5.高级用途6.注意事项 1.视图 也可以将SQL 视图定义 为 Dart 类。为此&#xff0c;请编写一个抽象类来扩展View。此示例声明了一个视图&#xff0c;用于读取示例中架构中某个类别中添加的待办事项数量&#xff1a; abstract class C…...

PCIe数据采集系统

PCIe数据采集系统 一、模块功能划分与职责 1. 时钟管理模块 (clock_manager) 核心功能&#xff1a; 生成系统所需的多时钟信号&#xff08;100MHz 系统时钟、125MHz PCIe 时钟、200MHz DDR3 时钟&#xff09;。 关键接口&#xff1a; 输入&#xff1a;系统主时钟 sys_clk、P…...