DM05-Table30v2-UR5 / README.md
Dexmal2026's picture
initial commit
4bcd044 verified
|
Raw
History Blame Contribute Delete
4.04 kB
---
license: gemma
library_name: transformers
base_model:
- Dexmal/DM05
datasets:
- RoboChallenge/Table30v2
tags:
- robotics
- vision-language-action
- dm05
- opendm
- robochallenge
- ur5
---
# DM05-UR5 (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 **UR5** on RoboChallenge Table 30 v2.
Use with [OpenDM](https://github.com/dexmal/opendm) `third_party/robochallenge_inference`
(`configs/generalist/ur5.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/ur5` |
| Env vars | `UR5_CHECKPOINT` / `UR5_NORM_STATS` |
| OpenDM `robot_type` | `UR5` |
| Control | EEF relative (`single_arm_target=eef`) |
| Cameras | Head / Left wrist |
| Platform cams | `cam_global` β†’ image_0, `cam_arm` β†’ image_1 |
| Native state / action stats | 7 / 7 (action-only quantile `norm_stats.json`) |
| Defaults | `action_horizon=25`, `action_playback_target_steps=0`, `is_history=false`, `ur5_anchor_pitch_zero=true` |
## Table30 Tasks
`arrange_fruits`, `item_classification`, `shred_paper`
From `third_party/robochallenge_inference/configs/generalist/ur5.yaml`:
| Task | Extra runtime |
| --- | --- |
| `arrange_fruits` | `ur5_anchor_roll_pitch_zero=true` (roll→±π, pitch→0) |
| `item_classification` | same |
| `shred_paper` | pitch-only (profile default; no roll lock) |
## Use with OpenDM RoboChallenge Inference
The RoboChallenge client now lives in OpenDM at
`third_party/robochallenge_inference` (`configs/generalist/ur5.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 UR5_CHECKPOINT=/path/to/DM05-UR5
export UR5_NORM_STATS=${UR5_CHECKPOINT}/norm_stats.json
pip install -r requirements.txt
python execute.py --config-name generalist/ur5 \
user_id=YOUR_USER_ID \
submission_id=YOUR_SUBMISSION_ID
```
Override without env vars:
```bash
python execute.py --config-name generalist/ur5 \
checkpoint=/path/to/DM05-UR5 \
norm_stats=/path/to/DM05-UR5/norm_stats.json \
user_id=YOUR_USER_ID \
submission_id=YOUR_SUBMISSION_ID
```
If `UR5_NORM_STATS` is unset, the client falls back to `${UR5_CHECKPOINT}/norm_stats.json`.
## Runtime Profile
From `third_party/robochallenge_inference/configs/default.yaml` β†’ `robot_profiles.ur5`:
- `action_type=leftpos`, `action_mode=relative`, `single_arm_target=eef`
- `ur5_anchor_pitch_zero=true`, `is_history=false`
- `speed=0.5`, `add_state=true`
- attn: llm/action `sdpa`, vision `flash_attention_2`
## Files
```text
.
β”œβ”€β”€ config.json
β”œβ”€β”€ model.safetensors
β”œβ”€β”€ norm_stats.json
β”œβ”€β”€ 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}
}
```