如何快速上手Xiaomi-Robotics-0-LIBERO:从环境搭建到生成第一个机器人动作的完整指南
【免费下载链接】Xiaomi-Robotics-0-LIBERO项目地址: https://ai.gitcode.com/hf_mirrors/XiaomiRobotics/Xiaomi-Robotics-0-LIBERO
Xiaomi-Robotics-0-LIBERO是小米推出的开源视觉语言动作(VLA)模型,拥有47亿参数,专为高性能机器人推理和实时执行设计。本文将带你快速掌握从环境搭建到生成第一个机器人动作的全过程,让你轻松开启机器人开发之旅。
一、认识Xiaomi-Robotics-0-LIBERO的核心优势
Xiaomi-Robotics-0-LIBERO作为先进的VLA模型,具备三大核心优势:
1.1 强大的泛化能力 🧠
该模型在大规模跨 embodiment 机器人轨迹和视觉语言数据上进行了预训练,能够处理复杂的、未见过的任务,适应不同场景下的机器人操作需求。
1.2 实时执行能力 🚀
通过异步执行优化,模型将推理延迟降至最低,确保机器人动作的实时响应,满足实际应用中的时效性要求。
1.3 灵活部署特性 🛠️
完全兼容Hugging Facetransformers生态系统,并且针对消费级GPU进行了优化,方便开发者在不同设备上进行部署和使用。
二、环境搭建的快速步骤
2.1 克隆项目仓库
首先,需要将项目仓库克隆到本地,打开终端执行以下命令:
git clone https://gitcode.com/hf_mirrors/XiaomiRobotics/Xiaomi-Robotics-0-LIBERO2.2 安装依赖库
Xiaomi-Robotics-0-LIBERO依赖于transformers等库,虽然项目中未明确给出requirements.txt文件,但根据示例代码可知主要依赖,可通过以下命令安装核心依赖:
pip install torch transformers三、加载模型和处理器的简单方法
3.1 导入必要模块
在Python代码中,首先导入所需的模块:
import torch from transformers import AutoModel, AutoProcessor3.2 加载模型和处理器
使用AutoModel和AutoProcessor从本地加载模型和处理器,代码如下:
model_path = "XiaomiRobotics/Xiaomi-Robotics-0-LIBERO" model = AutoModel.from_pretrained( model_path, trust_remote_code=True, attn_implementation="flash_attention_2", dtype=torch.bfloat16 ).cuda().eval() processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True, use_fast=False)四、生成第一个机器人动作的完整流程
4.1 构建提示语
构造包含多视图输入的提示语,示例如下:
language_instruction = "Pick up the red block." instruction = ( f"<|im_start|>user\n" f"The following observations are captured from multiple views.\n" f"# Base View\n" f"<|vision_start|><|image_pad|><|vision_end|>\n" f"# Left-Wrist View\n" f"<|vision_start|><|image_pad|><|vision_end|>\n" f"Generate robot actions for the task:\n" f"{language_instruction} /no_cot<|im_end|>\n" f"<|im_start|>assistant\n" f"<cot></cot><|im_end|>" )4.2 准备输入数据
假设已加载image_base、image_wrist和proprio_state,使用处理器准备输入:
inputs = processor( text=[instruction], images=[image_base, image_wrist], # [PIL.Image, PIL.Image] videos=None, padding=True, return_tensors="pt", ).to(model.device)4.3 添加状态和动作掩码
为输入添加本体感受状态和动作掩码:
robot_type = "libero" inputs["state"] = torch.from_numpy(proprio_state).to(model.device, model.dtype).view(1, 1, -1) inputs["action_mask"] = processor.get_action_mask(robot_type).to(model.device, model.dtype)4.4 生成并解码动作
使用模型生成动作并进行解码:
with torch.no_grad(): outputs = model(**inputs) action_chunk = processor.decode_action(outputs.actions, robot_type=robot_type) print(f"Generated Action Chunk Shape: {action_chunk.shape}")五、模型的应用场景与未来展望
Xiaomi-Robotics-0-LIBERO凭借其强大的性能,可广泛应用于各种机器人操作场景,如家庭服务机器人、工业自动化等。未来,随着模型的不断优化和迭代,其在机器人领域的应用将更加深入和广泛。
六、引用与致谢
如果使用Xiaomi-Robotics-0-LIBERO进行研究或开发,请引用以下文献:
@misc{robotics2026xiaomi, title = {Xiaomi-Robotics-0: An Open-Sourced Vision-Language-Action Model with Real-Time Execution}, author = {Xiaomi Robotics}, howpublished={\url{https://xiaomi-robotics-0.github.io}}, year = {2026}, note={Project Website} }感谢小米机器人团队开源如此优秀的模型,为机器人开发领域带来了新的可能。
【免费下载链接】Xiaomi-Robotics-0-LIBERO项目地址: https://ai.gitcode.com/hf_mirrors/XiaomiRobotics/Xiaomi-Robotics-0-LIBERO
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考