robometer
/

File size: 2,683 Bytes
af97636
 
 
651b0e6
 
 
 
 
 
af97636
 
 
 
651b0e6
af97636
651b0e6
af97636
651b0e6
af97636
651b0e6
 
 
 
af97636
 
 
651b0e6
af97636
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
651b0e6
beef63b
651b0e6
 
 
af97636
651b0e6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
---
base_model: Qwen/Qwen3-VL-4B-Instruct
library_name: transformers
license: apache-2.0
pipeline_tag: robotics
tags:
- reward model
- robot learning
- foundation models
---

# Robometer 4B

[**Project Page**](https://robometer.github.io/) | [**Paper**](https://arxiv.org/abs/2603.02115) | [**GitHub**](https://github.com/robometer/robometer)

**Robometer** is a general-purpose vision-language reward model for robotics. It is trained on [RBM-1M](https://huggingface.co/datasets/) (a dataset of over one million trajectories) using a **Qwen3-VL-4B** backbone to predict **per-frame progress**, **per-frame success**, and **trajectory preferences** from rollout videos. 

The model combines frame-level progress supervision on expert data with trajectory-comparison preference supervision, allowing it to learn from both successful and failed rollouts and generalize across diverse robot embodiments and tasks.

Given a **task instruction** and a **rollout video** (or frame sequence), the model predicts:
- **Per-frame progress**: Continuous progress values over time (e.g., 0–1 or binned).
- **Per-frame success**: Success probability (or binary) at each timestep.
- **Preference / ranking**: Which of two trajectories is better for the task.

### Usage

For full setup and configurations, see the [GitHub repository](https://github.com/robometer/robometer).

**Option 1 — Run the model locally** (loads this checkpoint from Hugging Face):

```bash
uv run python scripts/example_inference_local.py \
  --model-path robometer/Robometer-4B \
  --video /path/to/video.mp4 \
  --task "your task description"
```

**Option 2 — Use the evaluation server** (start server, then run client):

```bash
# Start server
uv run python robometer/evals/eval_server.py \
  --config-path=robometer/configs \
  --config-name=eval_config_server \
  model_path=robometer/Robometer-4B \
  server_url=0.0.0.0 \
  server_port=8000

# Client (no robometer dependency)
uv run python scripts/example_inference.py \
  --eval-server-url http://localhost:8000 \
  --video /path/to/video.mp4 \
  --task "your task description"
```

## Citation

If you use this model, please cite:

```bibtex
@inproceedings{liang2026robometer,
  title     = {Robometer: Scaling General-Purpose Robotic Reward Models via Trajectory Comparisons},
  author    = {Anthony Liang and Yigit Korkmaz and Jiahui Zhang and Minyoung Hwang and Abrar Anwar and Sidhant Kaushik and Aditya Shah and Alex S. Huang and Luke Zettlemoyer and Dieter Fox and Yu Xiang and Anqi Li and Andreea Bobu and Abhishek Gupta and Stephen Tu and Erdem Biyik and Jesse Zhang},
  year      = {2026},
  booktitle = {Robotics: Science and Systems 2026},
}
```