CogACT 是一种源自 VLM 的新型高级 VLA 架构。不同于以往研究通过简单动作量化直接将 VLM 用于动作预测,我们提出了一种组件化 VLA 架构,该架构包含一个以 VLM 输出为条件的专用动作模块。CogACT-Base 采用 DiT-Base 模型作为动作模块。
我们所有的 代码、预训练模型权重 均采用 MIT 许可证授权。
CogACT 以语言指令和单视角 RGB 图像作为输入,预测接下来的 16 个归一化机器人动作(包含 7 自由度末端执行器增量,形式为 x, y, z, roll, pitch, yaw, gripper)。这些动作需通过我们的 Adaptive Action Ensemble(可选)进行反归一化和集成。反归一化和集成过程取决于数据集的统计特性。
CogACT 模型可零样本用于控制机器人,以应对 Open-X 预训练混合数据中出现的场景。它们也可以通过极少量演示样本针对新任务和机器人配置进行微调。更多信息请参见 我们的代码库。
以下是一个简单的推理示例。
# Please clone and install dependencies in our repo
# Install minimal dependencies (`torch`, `transformers`, `timm`, `tokenizers`, ...)
from PIL import Image
from vla import load_vla
import torch
model = load_vla(
'CogACT/CogACT-Base',
load_for_training=False,
action_model_type='DiT-B',
future_action_window_size=15,
)
# about 30G Memory in fp32;
# (Optional) use "model.vlm = model.vlm.to(torch.bfloat16)" to load vlm in bf16
model.to('cuda:0').eval()
image: Image.Image = <input_your_image>
prompt = "move sponge near apple" # input your prompt
# Predict Action (7-DoF; un-normalize for RT-1 google robot data, i.e. fractal20220817_data)
actions, _ = model.predict_action(
image,
prompt,
unnorm_key='fractal20220817_data', # input your unnorm_key of dataset
cfg_scale = 1.5, # cfg from 1.5 to 7 also performs well
use_ddim = True, # use DDIM sampling
num_ddim_steps = 10, # number of steps for DDIM sampling
)
# results in 7-DoF actions of 16 steps with shape [16, 7]@article{li2024cogact,
title={CogACT: A Foundational Vision-Language-Action Model for Synergizing Cognition and Action in Robotic Manipulation},
author={Li, Qixiu and Liang, Yaobo and Wang, Zeyu and Luo, Lin and Chen, Xi and Liao, Mozheng and Wei, Fangyun and Deng, Yu and Xu, Sicheng and Zhang, Yizhong and others},
journal={arXiv preprint arXiv:2411.19650},
year={2024}
}