Does GR00T N1.7 run on OpenArm?
Capabilities
| Capability | State | Notes | Evidence |
|---|---|---|---|
| Train / fine-tune | works | Fine-tune nvidia/GR00T-N1.7-3B on OpenArm recordings converted with enactic/openarm_dataset (LeRobot v2.1 + modality.json); vendor checkpoint enactic/GR00T-N1.7-openarm-2-cell-pillow trained on five pillow tasks. | ev-enactic-groot-openarm-train, ev-enactic-groot-openarm-card |
| Real-robot inference | works | Vendor-documented deployment path: openarm_server policy server (PyTorch, 32-step chunks at 30 Hz) serving dora-openarm-local-policy-server. | ev-enactic-groot-openarm-server, ev-enactic-groot-openarm-card |
| Simulation inference | no verified evidence | — | |
| Teleop + record | no verified evidence | — |
Caveats
- Documented only in Enactic's fork of Isaac-GR00T (branch n1.7-release-ga-openarm, a single commit ahead of NVIDIA main as of 2026-10-23), not in NVIDIA's Isaac-GR00T or in LeRobot.
- Bimanual OpenArm only (OPENARM_BIMANUAL_REL tag, 16-D joint actions, both wrist cameras required); robot control runs in Enactic's Dora graph, which talks to the policy server over a UNIX socket.
- Isaac-GR00T's scripts/deployment tools (TensorRT, standalone inference) do not apply OpenArm camera profiles and are not supported for OpenArm checkpoints in this release.
- No on-robot success rates are published; the vendor checkpoint card lists inputs, outputs and training tasks only.
Evidence 3 sources; the cell shows the highest tier
- T1 · upstream documentedvendor-docssource 2026-10-23verified 2026-10-25 (today)
Enactic (OpenArm maker) 'OpenArm N1.7 Training' guide: fine-tune GR00T N1.7 on OpenArm relative-joint data with the OPENARM_BIMANUAL_REL embodiment tag.
“The `OPENARM_BIMANUAL_REL` tag (projector slot 12) outputs 16D joint actions:”
https://github.com/enactic/Isaac-GR00T/blob/a7772f0709dcf2d43227d8a63908af6aea8dfa0e/examples/OpenArm/README.md - T1 · upstream documentedvendor-docssource 2026-10-23verified 2026-10-25 (today)
Enactic 'OpenArm Policy Server' serves a GR00T N1.7 OpenArm checkpoint to dora-openarm-local-policy-server; robot control, interpolation and recording stay in the Dora graph.
“Serves a GR00T N1.7 OpenArm checkpoint to”
https://github.com/enactic/Isaac-GR00T/blob/a7772f0709dcf2d43227d8a63908af6aea8dfa0e/openarm_server/README.md - T1 · upstream documentedmodel-cardsource 2026-10-06verified 2026-10-25 (today)
Enactic checkpoint card: GR00T N1.7 (base nvidia/GR00T-N1.7-3B) fine-tuned for a bimanual OpenArm pillow task, served with openarm_server.
“A GR00T N1.7 vision-language-action policy fine-tuned for the bimanual OpenArm”
https://huggingface.co/enactic/GR00T-N1.7-openarm-2-cell-pillow
GR00T N1.7 inference speed by hardware robot-independent · inference cost only
| Compute | Runtime | Precision | Cams | p50 / p95 ms | Inference | Platform | Source |
|---|---|---|---|---|---|---|---|
| H100 80GB | TensorRT | bf16 | 2 @256x256 | 22.9 / — | 43.67 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| RTX PRO 6000 Blackwell Server | TensorRT | bf16 | 2 @256x256 | 24.7 / — | 40.49 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| L40 | TensorRT | bf16 | 2 @256x256 | 35 / — | 28.57 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| Jetson AGX Thor 128GB | TensorRT | mixed | 2 @256x256 | 35.6 / — | 28.09 Hz | jetpack 7.2 · power_mode MAXN with jetson_clocks · cuda 13.2 · torch 2.13.0conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Mixed NVFP4 quantization (enum has no fp4 value). | T3 · community reported |
| RTX PRO 6000 Blackwell Server | torch.compile | bf16 | 2 @256x256 | 52.1 / — | 19.19 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| H100 80GB | torch.compile | bf16 | 2 @256x256 | 53.4 / — | 18.73 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| L40 | torch.compile | bf16 | 2 @256x256 | 66.8 / — | 14.97 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| RTX PRO 6000 Blackwell Server | PyTorch eager | bf16 | 2 @256x256 | 75.7 / — | 13.21 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| Jetson AGX Thor 128GB | TensorRT | bf16 | 2 @256x256 | 76.8 / — | 13.02 Hz | jetpack 7.2 · power_mode MAXN with jetson_clocks · cuda 13.2 · torch 2.13.0conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| Jetson AGX Thor 128GB | torch.compile | bf16 | 2 @256x256 | 100.5 / — | 9.95 Hz | jetpack 7.2 · power_mode MAXN with jetson_clocks · cuda 13.2 · torch 2.13.0conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| H100 80GB | PyTorch eager | bf16 | 2 @256x256 | 101.5 / — | 9.85 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| Jetson AGX Thor 128GB | PyTorch eager | bf16 | 2 @256x256 | 106.8 / — | 9.36 Hz | jetpack 7.2 · power_mode MAXN with jetson_clocks · cuda 13.2 · torch 2.13.0conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| L40 | PyTorch eager | bf16 | 2 @256x256 | 123.7 / — | 8.08 Hz | —conditionstorch_threads: 8 intra-op / 1 inter-op Inference cost only; not task success. Median of 60 timed calls (3 repetitions x 20 after 10 warmup), fixed inputs, includes preprocessing and action decoding, excludes RPC. Precision is the repo default (unquantized BF16). | T3 · community reported |
| Jetson Orin Nano 8GB (Super) | TensorRT | fp16 | 3 @640x480 | 273.7 / 275.4 | 3.66 Hz | jetpack 7.2.1 · power_mode MAXN_SUPER, clocks pinned with jetson_clocks (GPU 1020 MHz, CPU 1728 MHz) · tensorrt 10.16.2.10conditionsboard: Jetson Orin Nano Engineering Reference Developer Kit Super (8 GB) · l4t: R39.2.1 · os: Ubuntu 24.04.4 LTS · python: 3.12.3 · desktop: running Inference cost only; not task success. 300 s run on synthetic 640x480 observations resized by the exported policy to 256x256; 4 denoising steps; latency is runtime-only over a pre-materialized observation ring. Whole-board RAM in use 5.78 GB (unified memory, desktop running). Actions were gated against the stock policy (cosine >= 0.99999) before timing. Three camera views, each with two frames (GR00T N1.7 temporal input). | T3 · community reported |
Embed this cell
Badge for READMEs and model cards. It always shows the current state.
[](https://caniembody.pages.dev/compat/openarm/groot-n1-7)<iframe src="https://caniembody.pages.dev/embed/openarm/groot-n1-7" width="380" height="132" style="border:0" title="GR00T N1.7 on OpenArm | CanIEmbody"></iframe>History
- 2026-10-25 fecccd1 Initial release: robot policy compatibility matrix · Danilo Znamerovszkij