Xiaomi-Robotics-0: An Open-Sourced Vision-Language-Action Model with Real-Time Execution

Xiaomi-Robotics-0 is an advanced vision-language-action (VLA) model with 4.7B parameters, specifically engineered for high-performance robotic reasoning and seamless real-time execution. It is pre-trained on large-scale cross-embodiment robot trajectories and vision-language data, enabling broad and generalizable action-generation capabilities.

Key Features

  • 🧠 Strong Generalization: Pre-trained on diverse cross-embodiment trajectories and VL data to handle complex, unseen tasks.
  • 🚀 Real-Time Ready: Optimized with asynchronous execution to minimize inference latency.
  • 🛠️ Flexible Deployment: Fully compatible with the Hugging Face transformers ecosystem and optimized for consumer GPUs.

Sample Usage

Xiaomi-Robotics-0 is integrated into the Hugging Face transformers ecosystem. Below is an example of how to load the model and generate actions for a robotic task.

import torch
from transformers import AutoModel, AutoProcessor

# 1. Load model and processor 
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)


# 2. Construct the prompt with multi-view inputs
language_instruction = "Pick up the red block."
instruction = (
    f"<|im_start|>user
The following observations are captured from multiple views.
"
    f"# Base View
<|vision_start|><|image_pad|><|vision_end|>
"
    f"# Left-Wrist View
<|vision_start|><|image_pad|><|vision_end|>
"
    f"Generate robot actions for the task:
{language_instruction} /no_cot<|im_end|>
"
    f"<|im_start|>assistant
<cot></cot><|im_end|>
"
)

# 3. Prepare inputs
# Assuming `image_base`, `image_wrist`, and `proprio_state` are already loaded
inputs = processor(
    text=[instruction],
    images=[image_base, image_wrist], # [PIL.Image, PIL.Image]
    videos=None,
    padding=True,
    return_tensors="pt",
).to(model.device)

# Add proprioceptive state and action mask
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. Generate action 
with torch.no_grad():
    outputs = model(**inputs)
    
# Decode raw outputs into actionable control commands
action_chunk = processor.decode_action(outputs.actions, robot_type=robot_type)
print(f"Generated Action Chunk Shape: {action_chunk.shape}")

Citation

@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}
}
Downloads last month
1,970
Safetensors
Model size
5B params
Tensor type
BF16
·
Video Preview
loading

Collection including XiaomiRobotics/Xiaomi-Robotics-0-LIBERO

Paper for XiaomiRobotics/Xiaomi-Robotics-0-LIBERO