File size: 3,422 Bytes
c822bb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e51f5da
c822bb3
 
 
 
 
 
 
 
 
 
 
 
 
e51f5da
c822bb3
 
 
 
 
 
 
 
 
 
 
e51f5da
c822bb3
 
e51f5da
c822bb3
 
 
e51f5da
c822bb3
 
 
 
e51f5da
c822bb3
 
 
 
 
 
 
 
 
 
 
e51f5da
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
---
license: mit
library_name: rsl-rl
tags:
  - robotics
  - reinforcement-learning
  - ppo
  - genesis
  - ufactory
  - xarm
  - manipulation
---

# UFACTORY Genesis Reinforcement Learning Checkpoints

Pretrained reinforcement learning policy checkpoints for [`ufactory_genesis`](https://github.com/xArm-Developer/ufactory_genesis), built on [Genesis](https://github.com/Genesis-Embodied-AI/Genesis) and `rsl-rl` PPO.

---

## 1. Reach (`reach/`)

Bare-arm target reaching for 5 UFACTORY manipulators (`xarm5`, `xarm6`, `xarm7`, `uf850`, `lite6`):
- **Initial flange TCP pose**: `(300, 0, 300) mm`, `RPY = (180Β°, 0Β°, 0Β°)`
- **Success criterion**: strictly `< 5 mm` terminal distance (`success_distance_m = 0.005`)
- **Control rate**: `50 Hz` (`20 ms` step, `5 s` episode horizon), normalized joint-position increments (`[-1, 1]` -> max `0.01 rad/step`)
- **Training**: `rsl-rl` PPO (`[256, 256, 128]` ELU MLP with Beta distribution), `4096` parallel environments, `300` iterations, seed `7`

### Benchmark & Holdout Validation

Evaluated on two independent holdout seeds (`17000` and `17001`, 512 random targets each):

| Robot (`--robot`) | DOF | Obs / Act Dim | Target Workspace (m) | Checkpoint | Holdout Success Rate (`17000` / `17001`) | Mean Terminal Distance (`17000` / `17001`) |
|---|---:|---:|---|---|---|---:|
| `xarm5` | 5 | 21 / 5 | x `0.15–0.55`, y `-0.30–0.30`, z `0.05–0.50` | `model_299.pt` | **99.6%** / **99.8%** | `4.48` / `4.50 mm` |
| `xarm6` | 6 | 24 / 6 | x `0.15–0.55`, y `-0.30–0.30`, z `0.05–0.50` | `model_299.pt` | **100%** / **100%** | `4.23` / `4.24 mm` |
| `xarm7` | 7 | 27 / 7 | x `0.15–0.55`, y `-0.30–0.30`, z `0.05–0.50` | `model_299.pt` | **99.8%** / **99.2%** | `4.39` / `4.52 mm` |
| `uf850` | 6 | 24 / 6 | x `0.15–0.55`, y `-0.30–0.30`, z `0.05–0.50` | `model_299.pt` | **99.6%** / **99.6%** | `4.26` / `4.34 mm` |
| `lite6` | 6 | 24 / 6 | x `0.15–0.35`, y `-0.20–0.20`, z `0.05–0.35` | `model_299.pt` | **99.8%** / **99.6%** | `4.66` / `4.71 mm` |

---

## Download & Usage

Run from the root of the [`ufactory_genesis`](https://github.com/xArm-Developer/ufactory_genesis) repository:

```bash
# Download all 5 Reach checkpoints into outputs/rl/reach/
hf download UFACTORY-Developer/ufactory_genesis_rl --include "reach/**" --local-dir outputs/rl

# Or download a single robot (e.g. xarm6)
hf download UFACTORY-Developer/ufactory_genesis_rl --include "reach/xarm6-reach/**" --local-dir outputs/rl
```

### Real-time GLB Inference

```bash
# Single arm
python -m examples.rl.reach.visualize \
  --checkpoint outputs/rl/reach/xarm6-reach/seed-7/model_299.pt

# Four arms
python -m examples.rl.reach.visualize \
  --checkpoint outputs/rl/reach/xarm6-reach/seed-7/model_299.pt -b 4
```

### Quantitative Evaluation

```bash
python -m examples.rl.reach.evaluate \
  --checkpoint outputs/rl/reach/xarm6-reach/seed-7/model_299.pt \
  -B 128 --episodes 512 --seed 17000 \
  --min-success-rate 0.95 --max-mean-distance-m 0.010 \
  --quiet-episodes --summary-json outputs/rl/reach/xarm6-reach/seed-7/evaluation-17000.json
```

See the full guides in the code repository:
- [English Guide (`examples/rl/reach/README.md`)](https://github.com/xArm-Developer/ufactory_genesis/blob/main/examples/rl/reach/README.md)
- [Chinese Guide (`examples/rl/reach/README_zh.md`)](https://github.com/xArm-Developer/ufactory_genesis/blob/main/examples/rl/reach/README_zh.md)