gpudad commited on
Commit
5cc99ec
·
verified ·
1 Parent(s): 198047b

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +78 -0
README.md ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - robotics
5
+ - manipulation
6
+ - lerobot
7
+ - groot
8
+ - nvidia
9
+ - lora
10
+ - pick-and-place
11
+ base_model: nvidia/GR00T-N1.5-3B
12
+ datasets:
13
+ - so101-safe-worker
14
+ pipeline_tag: robotics
15
+ ---
16
+
17
+ # GR00T Pick and Place Cube v1
18
+
19
+ A fine-tuned **NVIDIA GR00T N1.5** model for robotic pick-and-place manipulation tasks.
20
+
21
+ ## Model Description
22
+
23
+ This model was fine-tuned using **LoRA** (Low-Rank Adaptation) on the SO-101 robot arm dataset for cube pick-and-place tasks.
24
+
25
+ ### Training Details
26
+
27
+ | Parameter | Value |
28
+ |-----------|-------|
29
+ | Base Model | nvidia/GR00T-N1.5-3B |
30
+ | Fine-tuning Method | LoRA |
31
+ | LoRA Rank | 64 |
32
+ | LoRA Alpha | 16 |
33
+ | Training Steps | 50,000 |
34
+ | Batch Size | 8 |
35
+ | Dataset | 21,557 episodes / 1.9M frames |
36
+ | Task | Pick up cube and place in bin |
37
+ | Cameras | Front + Wrist (128x128) |
38
+ | Action Space | 4D (x, y, z, gripper) |
39
+
40
+ ### Performance
41
+
42
+ - **Training Loss**: 1.17 → 0.12 (90% reduction)
43
+ - **Evaluation Success Rate**: ~60% (with proper action unnormalization)
44
+
45
+ ## Usage
46
+
47
+ ```python
48
+ from lerobot.policies.groot.modeling_groot import GrootPolicy
49
+
50
+ # Load the model
51
+ policy = GrootPolicy.from_pretrained("gpudad/groot-pick-place-cube-v1")
52
+ policy.to("cuda")
53
+ policy.eval()
54
+
55
+ # Use for inference
56
+ action = policy.select_action(observation_batch)
57
+ ```
58
+
59
+ ### Important: Action Unnormalization
60
+
61
+ The model outputs actions in normalized [-1, 1] space. For the SO-101 robot:
62
+ - XYZ: [-1, 1]
63
+ - Gripper: needs mapping from [-1, 1] to [0, 2]
64
+
65
+ ```python
66
+ # Unnormalize actions
67
+ action_min = torch.tensor([-1, -1, -1, 0])
68
+ action_max = torch.tensor([1, 1, 1, 2])
69
+ unnormalized = (action + 1) / 2 * (action_max - action_min) + action_min
70
+ ```
71
+
72
+ ## Framework
73
+
74
+ Trained using [LeRobot](https://github.com/huggingface/lerobot) 🤖
75
+
76
+ ## License
77
+
78
+ Apache 2.0 (same as base GR00T model)