--- license: gemma library_name: transformers base_model: - Dexmal/DM05 datasets: - RoboChallenge/Table30v2 tags: - robotics - vision-language-action - dm05 - opendm - robochallenge - arx5 --- # DM05-ARX5 (RoboChallenge) ![DM0.5](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/header.png)

Tech Blog GitHub Table30v2 Dataset MaaS

OpenDM-format BF16 checkpoint for **ARX5** on RoboChallenge Table 30 v2. Use with [OpenDM](https://github.com/dexmal/opendm) `third_party/robochallenge_inference` (`configs/generalist/arx5.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/arx5` | | Env vars | `ARX5_CHECKPOINT` / `ARX5_NORM_STATS` | | OpenDM `robot_type` | `ARX5` | | Control | EEF relative (`single_arm_target=eef`) | | Cameras | Head / Left wrist / Right wrist | | Platform cams | `cam_global` → image_0, `cam_side` → image_1, `cam_arm` → image_2 | | Native state / action stats | 7 / 7 (action-only quantile `norm_stats.json`) | | Defaults | `action_horizon=50`, `action_playback_target_steps=25`, `history_mode=logical_step`, `is_history=true` | ## Table30 Tasks `arrange_flowers`, `hang_the_cup`, `pick_out_the_green_blocks`, `press_the_button`, `turn_on_the_light_switch`, `water_the_flowers`, `wipe_the_table` Per-task horizon overrides: `third_party/robochallenge_inference/configs/generalist/arx5.yaml` → `task_overrides`. ## Use with OpenDM RoboChallenge Inference The RoboChallenge client now lives in OpenDM at `third_party/robochallenge_inference` (`configs/generalist/arx5.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 ARX5_CHECKPOINT=/path/to/DM05-ARX5 export ARX5_NORM_STATS=${ARX5_CHECKPOINT}/norm_stats.json pip install -r requirements.txt python execute.py --config-name generalist/arx5 \ user_id=YOUR_USER_ID \ submission_id=YOUR_SUBMISSION_ID ``` Override without env vars: ```bash python execute.py --config-name generalist/arx5 \ checkpoint=/path/to/DM05-ARX5 \ norm_stats=/path/to/DM05-ARX5/norm_stats.json \ user_id=YOUR_USER_ID \ submission_id=YOUR_SUBMISSION_ID ``` If `ARX5_NORM_STATS` is unset, the client falls back to `${ARX5_CHECKPOINT}/norm_stats.json`. ## Runtime Profile From `third_party/robochallenge_inference/configs/default.yaml` → `robot_profiles.arx5`: - `action_type=leftpos`, `action_mode=relative`, `single_arm_target=eef` - `history_mode=logical_step`, `history_max_frames=5` - `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} } ```