UniAct:清华团队突破!跨平台机器人通用模型,仅需50条数据就能快速适配新环境

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🚀 "机器人开发者必看!清华黑科技打破行业瓶颈:1个模型控制所有机器人类型"

大家好,我是蚝油菜花。当同行还在为不同机器人重复开发代码时,清华团队已经用AI统一了机器人行为范式!

你是否经历过这些崩溃瞬间:

  • 🤖 工业机械臂和服务机器人的控制逻辑天差地别
  • ⏳ 适配新机型要重新标注上千条示教数据
  • 💻 14亿参数的大模型跑起来像老牛拉破车...

今天带来的 UniAct 具身智能框架,正在引发机器人开发范式革命!这个由清华、商汤、北大联合打造的开源项目,通过三大创新点重构行业规则:

  • 原子行为统一编码:把"移动""抓取"等基础动作转化为跨平台通用指令
  • 轻量级高性能架构:0.5亿参数碾压14亿级模型,推理速度提升300%
  • 50条数据快速适配:新机型调试从数月缩短到一杯咖啡的时间

已有开发者用它同时控制机械臂和四足机器人完成协同作业,接下来我们将详解如何用开源版本搭建你的跨平台机器人帝国!

🚀 快速阅读

UniAct 是一个新型的具身基础模型框架,旨在解决不同机器人之间的行为异构性问题。

  1. 核心功能:通过通用行为空间实现跨平台控制,支持快速适应新环境和机器人。
  2. 技术原理:基于向量量化构建通用动作空间,结合视觉语言模型提取通用行为,并通过异质解码器实现跨平台控制。

UniAct 是什么

UniAct 是由清华、商汤、北大、上海AI Lab联合推出的具身基础模型框架,旨在解决不同机器人之间的行为异构性问题。通过学习通用行为,UniAct 能够捕捉不同机器人共享的原子行为特征,消除因物理形态和控制接口差异导致的行为异构性。

UniAct 的架构包括通用行为提取器、通用行为空间和异构解码器。通用行为提取器基于视觉语言模型,通过观察和任务目标提取通用行为;通用行为空间以向量量化码本形式实现,每个向量代表一种原子行为;异构解码器将通用行为翻译为特定机器人的控制信号。

UniAct 的主要功能

  • 通用动作编码:UniAct 将不同机器人的原子行为(如"移动到目标位置"或"避开障碍物")通过向量量化形成一个通用的 codebook,每个 token 代表一种可跨平台共享的通用技能。
  • 轻量化架构与高效性能:UniAct-0.5B 模型仅需 0.5 亿参数,在真实与模拟环境的任务测试中,表现已经超过了参数达到 14 亿的 OpenVLA 模型。
  • 快速适应新环境和机器人:UniAct 仅需 50 条专用示教数据即可完成模型在新环境中的微调,能快速适应新机器人和控制接口。
  • 跨领域数据利用:UniAct 通过通用行为空间,能更好地利用跨领域的数据进行训练,在不同机器人和环境中实现更高效的泛化。
  • 一致的行为模式:在不同的部署场景和机器人类型上,同一个通用动作可以表现出一致的行为模式。

UniAct 的技术原理

  • 通用动作空间(Universal Action Space):UniAct 通过向量量化(Vector Quantization)构建了一个离散的通用动作空间。这个空间被设计为一个向量化的码本(codebook),每个向量嵌入代表一种通用的原子行为。
  • 通用动作提取器(Universal Action Extractor):UniAct 基于视觉语言模型(VLM)的通用动作提取器来识别和提取通用动作。提取器在给定观察结果和任务目标的情况下,输出选择通用动作的概率。
  • 异质解码器(Heterogeneous Decoders):为了将通用动作翻译为特定机器人的可执行命令,UniAct 引入了异质解码器。这些解码器针对不同的机器人平台进行设计,能够根据机器人的具体特征将通用动作转换为具体的控制信号。
  • 轻量化架构与高效训练:UniAct 采用了轻量化的模型架构,即使在低参数设置下也能保持良好的性能。UniAct 通过行为克隆损失进行训练,并根据动作标签的性质选择合适的损失函数。

如何运行 UniAct

1. 安装依赖

bash 复制代码
git clone https://github.com/2toinf/UniAct-Preview.git
cd UniAct-Preview
pip install -r requirements.txt

2. 加载模型

首先从 [Model Zoo](#Model Zoo "#model-zoo") 下载预训练的 UniAct 模型。

python 复制代码
import models.UniAct_V1
from timm.models import create_model
uniact_model = create_model("UniAct_05B_CodeBook_256_V1")

# 加载预训练的通用动作提取器 / 视觉骨干 / 码本
uniact_model.load_state_dict(torch.load("model path here"), strict=False)

# 加载特定机器人的解码器
uniact_model.load_state_dict(torch.load("decoder path here"), strict=False)

3. 准备输入

python 复制代码
from datasets.utils import LLAVAOV_PREPROCESSOR, R18_PREPROCESSOR
from PIL import Image

proprios = None # 默认禁用 proprios,用于 ACT 解码器(需要归一化)
language_instruction = "your language instruction here"
image_list = ["image-view1 path here", "image-view2 path here"]
img_np = []
img_tensor = []
for image in image_list:
    with Image.open(image) as img: 
        img = img.convert('RGB')
    img_np.append(np.asarray(img))
    img_tensor.append(R18_PREPROCESSOR(img))

img_np = np.stack(img_np),
img_tensor = torch.stack(img_tensor),

text = [LLAVAOV_PREPROCESSOR.apply_chat_template([
            {
                "role": "user",
                "content": [
                    {"type": "video"},
                    {"type": "text", "text":  language_instruction},
                ]
            }], add_generation_prompt=True)]

video = [np.expand_dims(img_np[0], axis=0)] # 仅使用主视图进行提取!
inputs = LLAVAOV_PREPROCESSOR(videos=video, text=text, return_tensors="pt", padding=True)

inputs = {'inputs': inputs.to('cuda', torch.bfloat16),
        'images': img_tensor.unsqueeze(0).to('cuda', torch.bfloat16),
    }
if proprios is not None: inputs['proprios'] = proprios.to('cuda', torch.bfloat16)

4. 模型推理

python 复制代码
pred_action = uniact_model.infer(
    domain_name = "libero-1-rgb", # 检查 model_config.py 中的 domain_name
    **inputs
)

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关推荐
安思派Anspire3 分钟前
难度分五级的 AI 智能体(附完整代码实现)
人工智能
东哥说AI12 分钟前
AI的“魔法”已过,真正的“内功”比拼才刚刚开始
人工智能·agent·ai编程
kcarly19 分钟前
如何科学测算AI业务场景所需算力服务器?——以Qwen3 32B模型与海光K100为例
运维·服务器·人工智能
饼干哥哥34 分钟前
出海赚美金,用八爪鱼RPA+AI采集分析Reddit信息做TikTok投放素材建议分析
人工智能
亚马逊云开发者2 小时前
智能化 Graviton 迁移:Amazon Q CLI 加速应用架构现代化
java·人工智能
飞哥数智坊12 小时前
AI编程实战:Cursor+Claude4助力15分钟完成大屏开发
人工智能·claude·cursor
Kier16 小时前
基于YOLO实现一个智能条码识别
人工智能·python·ai编程
我是王大你是谁16 小时前
SmolVLA:一种用于经济实惠和高效的机器人视觉-语言-动作模型
人工智能·llm
MarkGosling16 小时前
【语音合成】B 站开源 IndexTTS :声音克隆,吊打真人发音,断句精准度 98%
人工智能·python
数据智能老司机16 小时前
AI产品开发的艺术——搜索与检索增强生成
人工智能·产品经理·产品