自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

金陵城中夜将沉的博客

记笔记 -> 记笔记

  • 博客(89)
  • 收藏
  • 关注

原创 openpi π₀ 项目部署运行逻辑(四)——机器人主控程序 main.py — aloha_real

本文摘要:该文档介绍了ALOHA机器人主控脚本的实现框架,主要内容包括:1. 系统架构由主控脚本main.py和策略推理服务serve_policy.py通过WebSocket通信组成;2. 主控脚本包含参数配置、服务器连接、运行时环境初始化等功能模块;3. 使用ActionChunkBroker实现批量动作推理以提高效率;4. 详细说明了从创建虚拟环境到实际运行程序的完整使用流程。该框架支持开发者快速部署和测试机器人控制策略,适用于ALOHA等机器人平台的实际应用开发。

2025-05-27 22:16:33 610

原创 openpi π₀ 项目部署运行逻辑(五)——模型微调

本文记录了使用开源配置进行机器人模型微调的过程。首先通过命令XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uvrun train.py pi0_aloha_cable_sort --exp-name=5_10 --overwrite启动训练,设置了JAX使用90%的GPU内存。微调包含两个主要步骤:计算训练数据归一化统计量和运行模型微调。在执行过程中遇到了多个错误并给出了解决方案:1)删除了不兼容的local_files_only参数;2)调整了数据集路径配置;3)安装了FFmpeg

2025-05-27 13:41:02 743

原创 openpi π₀ 项目部署运行逻辑(三)——策略推理服务器 serve_policy.py

该脚本实现将Pi0策略模型部署为WebSocket服务,供机器人主控远程调用。核心流程包括:1) 通过参数定义环境类型(ALOHA/DROID等)和模型路径(支持S3或本地);2) 加载预训练策略模型,支持默认或自定义checkpoint;3) 启动WebSocket服务器(默认0.0.0.0:8000),接收观测数据并返回推理动作。

2025-05-26 08:59:42 774

原创 openpi π₀ 项目部署运行逻辑(二)——环境配置与测试

openpi 开源了几个训练好的 π₀ 权重,使用源码简单做一下测试

2025-05-26 08:55:25 1149

原创 LeRobot 项目部署运行逻辑(七)—— ACT 在 Mobile ALOHA 训练与部署

总结了从硬件配置到策略评估的完整流程,重点记录了ACT训练和ALOHA部署的步骤。在ACT训练中,通过修改参数并运行指定指令,完成了数据采集和模型训练,生成权重参数。在ALOHA部署阶段,连接机器人和相机后,运行控制脚本进行测试,展示了简单任务的效果。此外,文章还提到了一些关键细节,如数据量的影响、采集与部署的时间安排、lerobot架构的灵活性,以及复杂任务中相机位置和精度的重要性。建议在复杂场景下使用GR00T或π0等VLM+ACT/DP双系统架构,以提高效果。

2025-05-12 15:29:40 666

原创 openpi π₀ 项目部署运行逻辑(一)——综述

π₀模型是由Physical Intelligence团队开发的开源机器人模型,托管在openpi仓库中。该仓库包含两类核心模型:π₀和π₀-FAST,分别基于流式扩散架构和FAST动作分词器。这些模型提供了预训练的基础检查点,并支持自定义数据集微调。部署方式包括官方和LeRobot两种,运行环境要求NVIDIA GPU,推荐使用Ubuntu 22.04系统。安装过程涉及克隆仓库、更新子模块、使用uv管理Python依赖,或通过Docker简化安装。模型检查点包括基础模型和针对不同机器人平台微调的专家级模型

2025-05-12 15:14:29 783

原创 LeRobot 项目部署运行逻辑(六)——visualize_dataset_html.py/visualize_dataset.py

visualize_dataset_html.py通过Flask框架生成交互式网页,支持远程下载Hugging Face数据集或使用本地数据集,展示视频、时序数据和语言任务描述。visualize_dataset.py基于Rerun SDK,提供本地交互、远端服务和离线保存三种模式,实时显示视频帧并绘制时序数值。

2025-05-09 21:36:17 934

原创 LeRobot 项目部署运行逻辑(五)——intelrealsense.py/configs.py

在运行control_robot.py时,系统会启用相机进行拍摄。lerobot中封装了两种相机类型:realsense和opencv。由于设备使用的是Logitech C922x相机,因此需要修改通讯方式,采用opencv+usb的方式读取图像数据。

2025-05-09 21:25:51 1032

原创 LeRobot 项目部署运行逻辑(四)——control_robot.py

在上一篇中已经记录了标准的 ALOHA 配置流程,但实验室使用的 Mobile ALOHA 硬件有区别,所以要进一步拆解代码Lerobot 的操作代码基本都在 lerobot/scripts 里面,每个功能命名都很清晰明了:硬件齐套的情况下,首先就是标定然后遥操作,就是运行此脚本我们基本都清楚具身智能是 data-driven 的,基本流程就是数据采集-可视化筛选-策略训练-策略评估四个基本流程,而 control_robot.py 是为其中的第一步和第四步。

2025-04-30 22:45:46 1216

原创 LeRobot 项目部署运行逻辑(三)——机器人及舵机配置

Lerobot 目前的机器人硬件以舵机类型为主,并未配置机器人正逆运动学及运动学,遥操作映射以舵机关节角度为主因此,需要在使用前需要对舵机各项参数及初始位置进行配置。

2025-04-30 22:42:35 1280

原创 LeRobot 项目部署运行逻辑(二)—— Mobile Aloha 真机部署

​LeRobot 在开源项目中详细说明了部署流程,所以首先看一下开源的内容,然后再逐步拆解首先,LeRobot 开源的硬件是配全部在 examples 文件夹中包括了 Stretch 3、Aloha and Aloha 2 stationary、SO-100、LeKiwi、Moss v1 等机器人

2025-04-20 10:41:16 701

原创 LeRobot 项目部署运行逻辑(一)——综述

首先用一句话简单介绍一下是什么以及为什么:lerobot 可以理解为一套集成了多个知名算法的开源通用架构,因为它将多个算法统一为了一套流程,所以部署起来很方便,并且它还包含仿真环境、预训练模型和数据集,教程极其详细,所以可以节省不少开发时间

2025-04-20 10:32:24 766

原创 深度生成模型(六)——GAN 简单项目实战 StyleGAN on CelebA

使用 PyTorch 实现了一个简化版的 StyleGAN 模型,对 CelebA 数据集进行训练,并生成新的人脸图像

2025-03-08 14:35:35 853

原创 深度生成模型(五)——生成对抗网络 GAN

如何克服VAE模型的这些局限性呢?一种有效的策略是采用生成对抗网络(GAN)模型,其在图像生成领域通常能够提供更高质量的输出。GAN通过生成器与判别器之间的对抗训练,使生成器不断提升生成样本与真实数据之间的相似性,同时实现样本多样性的有效保持生成对抗网络(Generative Adversarial Network, GAN)通过两个神经网络——生成器(Generator)和判别器(Discriminator)之间的对抗训练,实现高质量样本的生成

2025-03-08 14:32:07 1520

原创 深度生成模型(四)——VAE 简单项目实战 VAE on CelebA

用 VAE 做一个简单的人脸图像生成任务使用 PyTorch 训练一个基于 VAE 的模型,对 CelebA 数据集进行训练,并生成新的人脸图像

2025-03-03 20:54:53 1354

原创 深度生成模型(三)——变分自编码器 VAE

生成式模型的基础模型主要有两种:变分自编码器(Variational Auto-Encoder, VAE)和生成对抗网络(Generative Adversari Network, GAN)VAE 通过引入隐变量z来捕捉数据的潜在结构,并利用变分推断方法来近似计算数据的似然。其目标是最大化变分下界(Evidence Lower Bound, ELBO)GAN 由生成器G和判别器D其训练过程通常采用交替优化的方式。

2025-03-03 20:53:46 1587

原创 深度生成模型(二)——基本概念与数学建模

上一篇笔记中提到了端到端模型底层核心采用了深度生成模型,先简单梳理一下生成式人工智能(Artificial Intelligence Generated Content,AIGC)经历了从早期基于概率模型和规则系统的方法到现代深度生成模型的跨越式发展。

2025-02-27 22:59:33 2034

原创 深度生成模型(一)——具身智能综述与算法分类简介

具身智能对于机器人的控制可以分为端到端模型和非端到端模型

2025-02-27 22:58:26 988

原创 ViT 模型介绍(三)——简单实战项目

用 ViT 做一个简单的图像分类任务在数据集上进行图像分类。通过 Hugging Face 的 transformers 库,加载一个预训练的 ViT 模型,并使用 PyTorch 进行微调。通过训练模型,评估测试集上的准确性,并可视化部分预测结果可以将此方法应用到其他数据集或任务上,只需调整数据加载部分以及输出类别数。

2025-02-24 23:57:25 1636 1

原创 ViT 模型介绍(二)——模型架构

ViT 是一个基于 Transformer 架构的计算机视觉模型,它将 Transformer 直接应用于图像分类任务,跳脱了传统卷积神经网络(CNN)的框架ViT的核心思想是将图像转化为一维的序列数据,并将其输入到Transformer中进行处理,最终进行分类。以下是ViT模型的详细架构解析

2025-02-24 23:56:59 1878

原创 ViT 模型介绍(一)——综述

机器人所采用的大模型均为多模态大模型,输入至少为视觉图像及末端笛卡尔坐标系位姿,因此 ViT 算是基础模型之一在计算机视觉领域,是由谷歌团队于2020年提出的一个革命性研究成果,它成功挑战了自2012年AlexNet提出以来,卷积神经网络(CNN)在视觉任务中的主导地位ViT 的核心创新在于将 Transformer 模型直接应用于图像处理任务,彻底打破了传统计算机视觉中依赖卷积神经网络的惯例ViT的引入对计算机视觉与自然语言处理的融合起到了催化作用

2025-02-23 12:05:50 1624

原创 Transformer 模型介绍(六)——残差连接、线性层与损失函数

残差连接的核心思想是跳跃连接,即直接将某一层的输入x加上其输出f(x),并作为该层的最终输出。这样,即使网络变得非常深,网络的效果也不会比浅层网络差简言之,残差连接通过保持信息流动,使得网络更容易训练,并能在深层网络中保持较好的性能这种结构的优势在于,它能够帮助网络保持稳定的梯度流动,避免深层网络的退化问题。

2025-02-23 11:53:11 1150

原创 Transformer 模型介绍(五)——归一化 Add & Norm

Transformer模型的编码器和解码器都由6层神经网络堆叠而成。随着网络深度的增加,梯度消失和梯度爆炸问题的风险也会增加,尤其是在深度网络的训练过程中,梯度的传播可能变得非常不稳定为了解决这些问题,归一化(Normalization)被广泛应用于深度学习模型中,尤其是层归一化(Layer Normalization),它能够有效地稳定训练过程,确保模型顺利收敛

2025-02-16 10:35:29 1117

原创 Transformer 模型介绍(四)——编码器 Encoder 和解码器 Decoder

上篇中讲完了自注意力机制 Self-Attention 和多头注意力机制 Multi-Head Attention,这是 Transformer 核心组成部分之一,在此基础上,进一步展开讲一下编码器-解码器结构(Encoder-Decoder Architecture)

2025-02-16 00:29:56 4968

原创 Transformer 模型介绍(三)——自注意力机制 Self-Attention

在本篇文章中,我们将逐步深入探讨 Transformer 模型的架构,以机器翻译任务为例,输入是一种语言的句子,输出是另一种语言的句子。我们将从整体架构入手,逐步拆解模型的各个组件

2025-02-15 17:25:24 2510 2

原创 Transformer 模型介绍(二)——位置编码 Position Embedding

为了引入序列的顺序信息,Transformer 模型在处理输入序列时使用了位置嵌入(也称为位置编码,Position Embedding)。位置嵌入是一种将单词的位置信息嵌入到输入词向量中的方法,通过额外的向量来表示单词之间的距离,从而提供顺序信息位置嵌入的作用:提供顺序信息:位置嵌入为每个单词的位置生成一个唯一的向量表示,使得模型能够区分不同位置的单词结合语义信息:位置嵌入的向量会与输入的词向量相加,从而在模型中同时考虑单词的语义信息和位置信息

2025-02-14 12:01:49 1231

原创 Transformer 模型介绍(一)——综述

transformer 是一种完全基于注意力机制的神经网络模型,首次在2017年的论文中提出。该模型最初用于机器翻译任务,并在特定任务中表现优于谷歌的其他神经网络机器翻译模型。Transformer 也是 Seq2Seq(序列到序列)结构的模型,但与之前基于 RNN(循环神经网络)的 Seq2Seq 模型相比,Transformer 具有更好的并行性,能够显著提高模型的训练和推理速度

2025-02-13 23:43:21 1927

原创 iDP3复现代码模型训练全流程(五)——gr1_dex_dataset_3d.py

该类继承自 BaseDataset,在其基础上增加了特定的数据预处理、采样和规范化功能。该数据集类的核心目的是管理和处理 3D 点云数据

2025-01-19 15:09:26 564

原创 iDP3复现代码模型训练全流程(九)——数据流梳理

iDP3 从数据采集到训练过程全流程数据梳理

2025-01-19 08:38:27 239

原创 iDP3复现代码模型训练全流程(八)——iDP3Encoder

定义输入观察空间中点云和状态数据的键名self.state_key = 'agent_pos' # 状态数据的键self.point_cloud_key = 'point_cloud' # 点云数据的键state_key:表示状态数据在 observation_space 中的键名:表示点云数据的键名。

2025-01-19 08:09:46 964

原创 iDP3复现代码模型训练全流程(七)——diffusion_pointcloud_policy.py

此脚本的核心目的是搭建一个基于扩散模型(Diffusion Model)的策略生成架构,实现了一个基于扩散模型的点云策略类 DiffusionPointcloudPolicy,主要功能是使用点云数据作为输入,通过扩散模型生成动作(action)预测2. 推理阶段:使用点云观测条件,从随机初始化的序列中逐步生成符合条件的动作预测3. 损失函数:使用均方误差计算扩散模型预测与目标的偏差,优化模型参数

2025-01-12 23:35:44 947

原创 iDP3复现代码模型训练全流程(六)——idp3_workspace.py

定义工作空间类,继承自 BaseWorkspace# 需要在检查点中包含的训练状态信息# 初始化工作空间# 设置随机种子,确保结果可复现# 配置模型,使用 Hydra 动态实例化# 如果启用了 EMA(指数移动平均),创建 EMA 模型try:self.ema_model = copy.deepcopy(self.model) # 尝试深拷贝模型except:# 如果模型某些组件(如稀疏张量引擎)无法拷贝,重新实例化# 配置优化器,动态加载优化器类型及参数# 初始化训练状态。

2025-01-12 20:15:11 514

原创 iDP3复现代码模型训练全流程(四)——gr1_dex-3d.yaml

定义任务名称name: box# 定义输入输出的元数据,描述观测(obs)和动作(action)的形状和类型obs: # 定义观测数据的组成部分point_cloud: # 点云数据部分shape: [4096, 6] # 点云包含4096个点,每个点有6个维度type: point_cloud # 指定类型为点云agent_pos: # 低维特征,表示机器人的位置或状态shape: [32] # 低维状态表示为32维type: low_dim # 类型为低维特征

2025-01-12 10:22:29 736

原创 Dexcap复现代码模型训练全流程(三)——diffusion_policy_pcd_wiping_1-14.json

此配置文件是 robomimic 的 json 配置,用于定义机器人策略的训练过程接下来对配置文件的分层结构及其各部分的详细作用进行逻辑解析

2025-01-12 07:32:10 865

原创 Dexcap复现代码模型训练全流程(二)——train.py增补:模型适配数据格式

此篇和上一篇(一)紧密相关!在 robomimic 框架中,模型如何知道数据的格式并选择合适的数据进行训练,是通过以下几个步骤完成的,具体包括:数据格式的解析 -> 元数据提取 -> 模型和训练过程的自动化配置配置文件:数据格式由配置文件定义,包括数据路径、类型(hdf5)和格式(state 等)->元数据提取:从数据集中提取特征和动作的形状,用于构建模型和数据加载器->动态加载与适配:数据加载器会根据数据格式加载和处理数据,模型会根据数据的输入维度动态调整网络结构->

2025-01-11 20:32:12 655

原创 Dexcap复现代码模型训练全流程(一)——train.py

train.py 脚本是一个高度模块化和灵活的训练框架,主要用于模仿学习模型。它依赖于robomimic库,包含完整的训练生命周期管理逻辑,从配置加载到模型训练和评估,主要功能包括:模型训练 -> 模型评估 -> 实验管理 -> 日志记录和监控接下来详细分析一下该脚本的流程逻辑

2025-01-06 22:59:30 1006

原创 Dexcap复现代码数据预处理全流程(六)——dataset_utils.py

此脚本用于机器人数据处理,旨在从多模态数据(图像、深度图、点云、姿态等)中提取关键信息,并将这些数据组织成 HDF5 文件格式此脚本主要包含三个功能:1. 数据预处理2. 数据集生成3. 可视化接下来详细分析一下此脚本的主流程逻辑

2025-01-06 22:44:48 839

原创 Dexcap复现代码数据预处理全流程(四)——demo_clipping_3d.py

此脚本的主要功能是可视化点云数据文件(.pcd 文件),并通过键盘交互选择演示数据的起始帧和结束帧,生成片段标记文件 (clip_marks.json)

2025-01-06 22:35:59 732

原创 Dexcap复现代码数据预处理全流程(三)——transform_to_robot_table.py

此脚本的核心逻辑是通过 Open3D 可视化点云数据(PCD文件),并通过键盘操作手动调整点云在机器人的桌面位置接下来详细解释一下此脚本的代码逻辑

2025-01-06 22:17:03 725

原创 Dexcap复现代码数据预处理全流程(二)——calculate_offset_vis_calib.py

此脚本主要用于校准点云数据并保存位移偏移(offset)和旋转偏移(orientation offset),运行后结果如下,可以纠正 SLAM 初始漂移此脚本基于测试数据(平移和旋转偏移)计算并校准最终的偏移和旋转值,具体流程包括:读取默认偏移和测试数据 -> 根据文件名分类提取偏移和旋转数据 -> 通过矩阵运算结合默认偏移计算最终校准值 -> 保存计算结果到指定目录接下来详细解释一下此脚本的代码逻辑。

2025-01-06 19:36:20 861

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除