RDT:清华开源全球最大的双臂机器人操作任务扩散基础模型、代码与训练集,基于模仿能力机器人能够自主完成复杂任务

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 模型介绍:RDT是全球最大的双臂机器人操作任务扩散基础模型,具备十亿参数量,能够自主完成复杂任务。
  2. 主要功能:RDT支持双臂协调操作、自主任务执行、高精确度操作、语言指令理解和少样本学习。
  3. 技术原理:RDT结合多模态输入编码、Transformer骨干网络和预训练与微调技术,展现出强大的泛化能力和操作精度。

正文(附运行示例)

RDT 是什么

公众号: 蚝油菜花 - RoboticsDiffusionTransformer

RDT(Robotics Diffusion Transformer)是由清华大学AI研究院TSAIL团队推出的全球最大的双臂机器人操作任务扩散基础模型。RDT具备十亿参数量,能够在无需人类操控的情况下自主完成复杂任务,如调酒和遛狗。RDT基于模仿学习人类动作,展现出强大的泛化能力和操作精度,能够处理未见过的物体和场景。清华团队已将RDT的代码、模型和训练数据集开源,推动机器人技术的发展和应用。

RDT的核心在于其多模态输入编码和Transformer骨干网络,结合语言、视觉和动作三种模态,能够处理复杂的机器人操作任务。

RDT 的主要功能

  • 双臂协调操作:指挥机器人的双臂协同工作,完成复杂的物理任务,例如调酒和遛狗。
  • 自主任务执行:无需人类直接操控,自主完成之前未见过的全新任务。
  • 高精确度操作:RDT能够进行精确的操作,如控制机器狗走直线,需要极高的操作精度。
  • 语言指令理解:理解并遵循人类的自然语言指令,执行相应的动作。
  • 少样本学习:RDT具有强大的学习能力,只需少量演示即可学会新技能。

RDT 的技术原理

  • 多模态输入编码:RDT结合语言、视觉和动作三种模态,基于不同的编码方式处理输入。
  • 动作编码:具有傅里叶特征的多层感知机(MLP)。
  • 图片编码:基于经过对齐的SigLIP。
  • 语言编码:使用T5-XXL语言模型。
  • Transformer骨干网络:RDT采用Transformer作为骨干网络,针对机器人操作进行关键修改。
  • QKNorm和RMSNorm:缓解传感器失灵导致的极端值问题。
  • 非线性MLP解码器:增强对非线性动力学的近似能力。
  • 交替注入:平衡图像和文本模态,防止信息淹没。
  • 预训练与微调:RDT在大规模的具身数据集上进行预训练,获得泛化性,基于高质量的双臂微调数据集进行微调,增强双臂操作能力。
  • 统一动作空间:构建统一的动作空间,统一不同机器人数据的格式,让模型从不同数据中学习共享的物理规律。

如何运行 RDT

安装环境

  1. 克隆仓库并安装依赖:
git clone git@github.com:thu-ml/RoboticsDiffusionTransformer.git
cd RoboticsDiffusionTransformer
conda create -n rdt python=3.10.0
conda activate rdt
pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu121
pip install packaging==24.0
pip install flash-attn --no-build-isolation
pip install -r requirements.txt
  1. 下载多模态编码器并链接到仓库目录:
mkdir -p google
ln -s /path/to/t5-v1_1-xxl google/t5-v1_1-xxl
ln -s /path/to/siglip-so400m-patch14-384 google/siglip-so400m-patch14-384

微调模型

  1. 准备数据集并链接至仓库目录:
cd data
mkdir -p datasets
ln -s /path/to/my_cool_dataset datasets/my_cool_dataset
  1. 实现数据集加载器并计算数据集统计信息:
python -m data.compute_dataset_stat_hdf5
  1. 启动微调:
source finetune.sh

部署到真实机器人

  1. 修改机器人动作格式转换函数:
def _format_joint_to_state(self, joint_state):
    # 将机器人原始动作转换为RDT接受的统一动作向量
  1. 运行推理脚本:
python -m scripts.agilex_inference --pretrained_model_name_or_path=<PATH TO MODEL CHECKPOINT>

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值