File size: 4,099 Bytes
7cbf700
 
5d59277
 
 
 
 
 
 
 
 
 
 
 
 
7cbf700
5d59277
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
---
license: gemma
library_name: transformers
base_model:
- Dexmal/DM05
datasets:
- RoboChallenge/Table30v2
tags:
- robotics
- vision-language-action
- dm05
- opendm
- robochallenge
- w1
- dos-w1
---

# DM05-W1 (RoboChallenge)

![DM0.5](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/header.png)

<p align="center">
  <a href="https://www.dexmal.com/blog/dm0.5/index_en.html"><img src="https://img.shields.io/badge/πŸ“–-Tech_Blog-blue" alt="Tech Blog"></a>
  <a href="https://github.com/dexmal/opendm"><img src="https://img.shields.io/badge/GitHub-OpenDM-181717?logo=github" alt="GitHub"></a>
  <a href="https://huggingface.co/datasets/RoboChallenge/Table30v2"><img src="https://img.shields.io/badge/Dataset-Table30v2-0EA5E9?logo=huggingface" alt="Table30v2 Dataset"></a>
  <a href="https://maas.dexmal.com/"><img src="https://img.shields.io/badge/MaaS-Online-brightgreen.svg" alt="MaaS"></a>
</p>

OpenDM-format BF16 checkpoint for **DOS W1** on RoboChallenge Table 30 v2.
Use with [OpenDM](https://github.com/dexmal/opendm) `third_party/robochallenge_inference`
(`configs/generalist/w1.yaml`).
See the [DM05 RoboChallenge Table 30 v2 Inference Guide](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_robochallenge.md).

Weights: BF16 `model.safetensors`.

## Model Card

| Field | Value |
| --- | --- |
| Config | `generalist/w1` |
| Env vars | `W1_CHECKPOINT` / `W1_NORM_STATS` |
| OpenDM `robot_type` | `DOS W1` |
| Control | Joint relative |
| Cameras | Head / Left wrist / Right wrist |
| Platform cams | `cam_high` β†’ image_0, `cam_left_wrist` β†’ image_1, `cam_right_wrist` β†’ image_2 |
| Native state / action stats | 14 / 14 (**state + action** quantile `norm_stats.json`) |
| Defaults | `action_horizon=25`, `is_history=false` |

## Table30 Tasks

`fold_the_clothes`, `hold_the_tray_with_both_hands`, `place_objects_into_desk_drawer`,
`put_in_pen_container`, `put_the_shoes_back`, `stack_bowls`, `sweep_the_trash`,
`tidy_up_the_makeup_table`, `tie_a_knot`, `untie_the_shoelaces`

Per-task horizon overrides: `third_party/robochallenge_inference/configs/generalist/w1.yaml` β†’ `task_overrides`
(several tasks use `30`). Gripper post-process:
`third_party/robochallenge_inference/policies/output_tricks.py` β†’ `apply_w1_gripper_trick`.

## Use with OpenDM RoboChallenge Inference

The RoboChallenge client now lives in OpenDM at
`third_party/robochallenge_inference` (`configs/generalist/w1.yaml`).
See the [DM05 RoboChallenge Table 30 v2 Inference Guide](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_robochallenge.md).

```bash
# From the OpenDM repository root.
export OPENDM_ROOT=/path/to/opendm
pip install -e ".[fast-infer]"

cd third_party/robochallenge_inference
export W1_CHECKPOINT=/path/to/DM05-W1
export W1_NORM_STATS=${W1_CHECKPOINT}/norm_stats.json
pip install -r requirements.txt

python execute.py --config-name generalist/w1 \
  user_id=YOUR_USER_ID \
  submission_id=YOUR_SUBMISSION_ID
```

Override without env vars:

```bash
python execute.py --config-name generalist/w1 \
  checkpoint=/path/to/DM05-W1 \
  norm_stats=/path/to/DM05-W1/norm_stats.json \
  user_id=YOUR_USER_ID \
  submission_id=YOUR_SUBMISSION_ID
```

If `W1_NORM_STATS` is unset, the client falls back to `${W1_CHECKPOINT}/norm_stats.json`.


## Runtime Profile

From `third_party/robochallenge_inference/configs/default.yaml` β†’ `robot_profiles.w1`:

- `action_type=joint`, `action_mode=relative`
- `is_history=false`, `add_state=true`, `speed=0.5`
- attn implementations: `auto`

## Files

```text
.
β”œβ”€β”€ config.json
β”œβ”€β”€ model.safetensors
β”œβ”€β”€ norm_stats.json          # includes state + action
β”œβ”€β”€ tokenizer.json
β”œβ”€β”€ tokenizer_config.json
β”œβ”€β”€ processor_config.json
β”œβ”€β”€ chat_template.jinja
β”œβ”€β”€ generation_config.json
└── README.md
```

## Citation

```bibtex
@misc{dm05,
    title  = {{DM0.5}: An Open-World Foundation Model for General-Purpose Embodied Intelligence},
    author = {{Dexmal Team}},
    month  = {July},
    year   = {2026},
    url    = {https://www.dexmal.com/blog/dm0.5/index_en.html}
}
```