# MiniCPM-Robot **Repository Path**: limoncc/MiniCPM-Robot ## Basic Information - **Project Name**: MiniCPM-Robot - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-20 - **Last Updated**: 2026-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
更聪明、更快速的机器人端侧 AI 大脑
English · 中文
| 方法 | 评测设置 | 开源权重 | 参数规模 (VL+A) | LIBERO | Calvin (ABC→D) | RoboTwin2 (clean+random) | RMBench | |
|---|---|---|---|---|---|---|---|---|
| easy | hard | |||||||
| π₀ | Specialist | ✅ | 3B | 94.4 | 3.9 | 65.9 | 58.4 | — |
| π₀.₅ | Specialist | ✅ | 3B | 96.9 | 4.1 | 82.7 | 76.8 | 10.4 |
| Abot-M0 | Specialist | ✅ | 4B+ | 98.6 | — | 86.1 | 85.1 | — |
| StarVLA-α | Generalist | ✅ | 4B+ | 97.8 | — | 88.7 | 87.8 | — |
| Qwen-VLA | Generalist | ❌ | 5B+ | 97.9 | — | 86.1 | 87.2 | — |
| LingBot-VA | Specialist | ✅ | 5B+ | 98.5 | — | 92.9 | 91.6 | — |
| MiniCPM-RobotManip | Generalist | ✅ | 1.5B | 97.5 | 4.1 | 91.3 | 91.6 | 53.3 |
请先安装并初始化 Conda。环境配置基于已验证的 Python 3.10 和 PyTorch 2.6.0(CUDA 12.4)。
cd MiniCPM-RobotManip
conda env create -f environment.yml
conda activate MiniCPM-RobotManip
### 推理
使用 vla_infer.py 进行单样本推理。至少提供一张图像和一条语言指令;若未提供机器人状态,则默认使用全零向量。模型输出动作序列,形状为 (30, 80)。
cd MiniCPM-RobotManip
python vla_infer.py \
--image frame.jpg \
--text "Pick up the red block." \
--checkpoint ./checkpoint \
--state-file state.npy \
--embodiment-id 0 \
--output action.npy
多视角输入可重复使用 --image。未指定 --output 时,预测动作将以 JSON 打印。
cd MiniCPM-RobotManip
python vla_infer.py \
--image cam_front.jpg \
--image cam_wrist.jpg \
--text "Pick up the red block." \
--checkpoint ./checkpoint
## MiniCPM-RobotTrack
MiniCPM-RobotTrack 是基于 MiniCPM4-0.5B 的轻量视觉-语言-动作策略,面向具身目标跟踪,主要亮点如下:
|
|
|
| 户外障碍追踪 | 电梯场景追踪 | 地下车库追踪 |
指标顺序为 SR / TR / CR:成功率与跟踪率越高越好,碰撞率越低越好;表中数值均为百分比。
| 方法 | 开源权重 | 参数规模 (VL+A) | STT | DT | AT | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| SR ↑ | TR ↑ | CR ↓ | SR ↑ | TR ↑ | CR ↓ | SR ↑ | TR ↑ | CR ↓ | |||
| TrackVLA | ❌ | 7.8B+ | 85.1 | 78.6 | 1.7 | 57.6 | 63.2 | 5.8 | 50.2 | 63.7 | 17.1 |
| TrackVLA++ | ❌ | 7.8B+ | 86.0 | 81.0 | 2.1 | 66.5 | 68.8 | 4.7 | 51.2 | 63.4 | 15.9 |
| Qwen-RobotNav | ❌ | 4.4B+ | 77.4 | 90.0 | 6.4 | — | — | — | — | — | — |
| OmTrackVLA | ✅ | 1.0B+ | 81.4 | 82.8 | 5.1 | 41.5 | 58.8 | 11.3 | 60.0 | 73.9 | 7.6 |
| MiniCPM-RobotTrack | ✅ | 0.9B | 84.1 | 89.8 | 3.0 | 53.2 | 73.4 | 13.6 | 58.0 | 80.4 | 9.0 |
在表中列出的开源 checkpoint 里,MiniCPM-RobotTrack 获得 STT 的最佳 SR/TR/CR 和 DT 的最佳 SR/TR,并以 0.5B 骨干在 AT 上取得 80.35 TR。
### 快速开始 #### 1. 配置环境请先安装并初始化 Conda。环境配置基于已验证的 Python 3.9、Habitat-Sim 0.3.1、Bullet、PyTorch 2.4.1 和 CUDA 12.1。
cd MiniCPM-RobotTrack
conda env create -f environment.yml
conda activate MiniCPM-RobotTrack
#### 2. 准备仿真数据与资产
按照
Habitat-Sim 数据说明
和 TrackVLA 资产说明
下载 HM3D、MP3D、人物与机器人资产,并保持其在项目 data/ 下的原始目录结构。
data/
├── datasets/
├── scene_datasets/
├── humanoids/
└── robots/
### 数据准备
#### 1. 未处理的 rollout
每个 Habitat rollout 保留视频、逐步状态和 episode 结果。仓库中的
sim_data/raw_sample
提供了一个可运行的原始样例,其中逐步状态格式如下:
{
"base_velocity": [0.62, 0.00, 0.02],
"collision": false,
"target_distance": 1.72,
"human_center_norm": [0.50, 0.48]
}
#### 2. 生成 trajectory 数据
下面的命令会筛选成功 episode、抽取 RGB 帧,并根据未来动作生成用于微调的 trajectory JSONL:
cd MiniCPM-RobotTrack
python tools/make_tracking_data.py \
--input_root sim_data/raw_sample \
--output_root sim_data/train/stt \
--only_success \
--history 31 \
--horizon 8 \
--dt 0.1 \
--incremental
处理完整数据时,将 STT、DT、AT 的原始 rollout 分别写入 sim_data/raw/<task>,并为每个任务执行同一命令。
cd MiniCPM-RobotTrack
for task in stt dt at; do
python tools/precompute_features.py \
--json "sim_data/train/${task}/jsonl" \
--data-root "sim_data/train/${task}" \
--cache-root "sim_data/train/${task}/vision_cache"
done
处理结果包含 frames/、jsonl/ 和 vision_cache/。
sim_data/sample
提供 STT、DT、AT 各两条已处理记录,可直接查看最终训练数据格式。
准备三个任务的数据与视觉缓存后,运行公开的 finetune 入口:
cd MiniCPM-RobotTrack
bash scripts/train.sh
数据路径、batch size、学习率与训练轮数均可在 scripts/train.sh 中调整。
将完整的 Hugging Face snapshot 下载到
minicpm_robot_track/checkpoints/MiniCPM-RobotTrack/。该 snapshot 已包含
微调后的 MiniCPM4 backbone,并通过 Transformers from_pretrained 加载。
测评仍需要 DINOv3 ViT-S/16 和 SigLIP So400m;可以通过环境变量指定已经下载的
视觉模型目录:
export DINOV3_MODEL_PATH=/path/to/dinov3-vits16
export SIGLIP_MODEL_PATH=/path/to/siglip-so400m-patch14-384
环境、模型和仿真资产准备完成后,分别执行三个任务的测评脚本:
cd MiniCPM-RobotTrack
CKPT=minicpm_robot_track/checkpoints/MiniCPM-RobotTrack
bash scripts/eval_stt.sh "$CKPT" results/stt
bash scripts/eval_dt.sh "$CKPT" results/dt
bash scripts/eval_at.sh "$CKPT" results/at
每条命令会完成对应任务测评。
### Go2 实机部署
实机流程面向配备 Jetson Orin NX 16GB 的 Unitree Go2 EDU。已验证环境为
Jetson Linux R36.5、CUDA 12.6、TensorRT 10.7、Python 3.10、ROS 2 Humble
和 MAXN mode 0。部署使用独立的 Jetson 依赖,并默认运行在不会下发运动命令的
dry-run 模式。
Go2/D435i RGB -> TCP JPEG -> DINO + SigLIP TensorRT
-> MiniCPM-RobotTrack -> waypoint -> 限速控制
完整配置包括 Go2 EDU、Orin NX 16GB 和 D435i。仓库默认并已实机验证的是 Go2 前置相机,每套新设备仍须单独验证 D435i RGB 链路。详细硬件参数、网络配置、 资产下载、刷机方法和实控流程统一放在部署文档中:
#### 快速开始下面假设 JetPack 6 和载板补丁已经完成:
使用者需要自行从
openbmb/MiniCPM-RobotTrack
下载完整的 Hugging Face snapshot,并将其中的自定义模型代码、tokenizer 文件和
model.safetensors 放到
MiniCPM-RobotTrack/minicpm_robot_track/checkpoints/MiniCPM-RobotTrack/,
再运行预检。
cd MiniCPM-RobotTrack
python3 scripts/download_upstream_assets.py
python3 -m pip install --user -r requirements-build.txt
./scripts/export_onnx.sh
sudo nvpmodel -m 0
sudo jetson_clocks
./scripts/build_engines.sh
./scripts/preflight.sh
./go2_runtime.py run
状态与停止:
cd MiniCPM-RobotTrack
./go2_runtime.py status
./go2_runtime.py stop-control
./go2_runtime.py stop
> **安全提示:**首次运行必须保留 `runtime.mode: dry-run`。启用实控前,应在支架上
> 完成相机、模型、时延和停车链路验证,并确保现场有人且遥控器/App 急停可用。
> 完整实控步骤与限速要求见 [Go2 部署指南](MiniCPM-RobotTrack/docs/GO2_DEPLOYMENT_zh-CN.md)。
## 模型仓库
| 模型 | 简介 | 下载 |
| --- | --- | --- |
| MiniCPM-RobotManip | 面向机器人操作(Robot Manipulation)的 1.5B 视觉-语言-动作模型 | [🤗](https://huggingface.co/openbmb/MiniCPM-RobotManip) |
| MiniCPM-RobotTrack | 面向目标跟踪(Target Tracking)的 0.9B 视觉-语言-动作模型 | [🤗](https://huggingface.co/openbmb/MiniCPM-RobotTrack) |
## 许可证
模型权重与代码均基于 [Apache-2.0](./LICENSE) 许可证开源。
## 致谢
MiniCPM-Robot 的开发参考并基于 MiniCPM、 starVLA、 LeRobot、 DINOv3、SigLIP、Habitat-Lab、Habitat-Sim、EVT-Bench 和 TrackVLA。 感谢相关作者与社区的开源贡献。 第三方模型、仿真代码、数据集与资产继续遵循各自许可,详见 THIRD_PARTY_NOTICES.md。