---
license: other
library_name: rl-games
pipeline_tag: reinforcement-learning
tags:
- reinforcement-learning
- robotics
- isaac-lab
- isaac-sim
- factory
- ppo
- rl-games
- operational-space-control
- imitation-learning
---
# Factory Feed-Forward PPO+OSC Teachers
This repository contains three non-recurrent RL-Games PPO+OSC teacher
checkpoints for Isaac Lab Factory assembly tasks:
- `Isaac-Factory-PegInsert-Direct-v0`
- `Isaac-Factory-GearMesh-Direct-v0`
- `Isaac-Factory-NutThread-Direct-v0`
The teachers were trained from the stock Isaac Lab Factory RL-Games PPO+OSC
configuration with both actor and central-value LSTM blocks removed. They are
intended as clean teacher policies for behavior cloning or DAgger-style data
collection, where each action should be a function of the current policy
observation only.
## Architecture
- Actor: `19`D policy observation -> MLP `[512, 128, 64]`, ELU -> Gaussian
`6`D OSC action.
- Central critic: `43`D privileged state -> MLP `[512, 128, 64]`, ELU ->
scalar value.
- RL-Games `seq_length=1`.
- Actor `rnn=null`.
- Central-value `network.rnn=null`.
The action space is the Factory `6`D operational-space-control action. These
are not FORGE checkpoints and do not use the FORGE success-prediction action
slot.
## Checkpoints
| Task | File | Stop Epoch | Training Seed |
| --- | --- | ---: | ---: |
| PegInsert | `checkpoints/peginsert_ff_ppo_osc_ep100.pth` | `100` | `0` |
| GearMesh | `checkpoints/gearmesh_ff_ppo_osc_ep150.pth` | `150` | `0` |
| NutThread | `checkpoints/nutthread_ff_ppo_osc_ep100.pth` | `100` | `0` |
These files are raw PyTorch/RL-Games `.pth` checkpoints. Load them only in a
trusted environment.
## Evaluation
Evaluation used held-out reset seeds `100,101,102` for gates and
`100,101,102,103,104,105` for confirmation.
| Task | Gate Horizon | Gate Success | Six-Seed Success | Mean Return | Mean TTS |
| --- | ---: | ---: | ---: | ---: | ---: |
| PegInsert | `150` | `376/384` (`97.92%`) | `750/768` (`97.66%`) | `350.12` | `35.72` |
| GearMesh | `300` | `378/384` (`98.44%`) | `750/768` (`97.66%`) | `719.53` | `75.02` |
| NutThread | `450` | `378/384` (`98.44%`) | `755/768` (`98.31%`) | `834.76` | `298.12` |
All gate and confirmation summaries record `agent_runtime.is_rnn=false`,
actor `rnn=null`, central-value `network.rnn=null`, and `seq_length=1`.
The JSON summaries are included under:
- `inspect/`
- `eval/`
- `videos/*_summary.json`
## Rendered Success Videos
Each video is a one-environment rollout on seed `100` using real Factory
sensor cameras. The external and wrist camera blank-frame counts were zero.
### PegInsert
[Open PegInsert video](https://huggingface.co/eishan05/factory-ff-ppo-osc-teachers/resolve/main/videos/peginsert_success_seed100.mp4)
- Success: `true`
- First success step: `53`
- Frames: `150`
- Blank frames: `0/150` external, `0/150` wrist
### GearMesh
[Open GearMesh video](https://huggingface.co/eishan05/factory-ff-ppo-osc-teachers/resolve/main/videos/gearmesh_success_seed100.mp4)
- Success: `true`
- First success step: `47`
- Frames: `300`
- Blank frames: `0/300` external, `0/300` wrist
### NutThread
[Open NutThread video](https://huggingface.co/eishan05/factory-ff-ppo-osc-teachers/resolve/main/videos/nutthread_success_seed100.mp4)
- Success: `true`
- First success step: `333`
- Frames: `450`
- Blank frames: `0/450` external, `0/450` wrist
## Loading Notes
These checkpoints must be loaded with the same feed-forward RL-Games config
used for training. In Hydra override form, remove both recurrent blocks and
force sequence length to one:
```bash
'~agent.params.network.rnn' \
'~agent.params.config.central_value_config.network.rnn' \
agent.params.config.seq_length=1
```
In the source project, the runner switch was:
```bash
PHASE5_ASSEMBRAIN_DISABLE_RNN=1
```
Example task/checkpoint pairing:
```text
Isaac-Factory-PegInsert-Direct-v0 -> checkpoints/peginsert_ff_ppo_osc_ep100.pth
Isaac-Factory-GearMesh-Direct-v0 -> checkpoints/gearmesh_ff_ppo_osc_ep150.pth
Isaac-Factory-NutThread-Direct-v0 -> checkpoints/nutthread_ff_ppo_osc_ep100.pth
```
## Scope
These models are simulation teachers. They have not been validated on real
hardware. They were trained for Factory PPO+OSC policy rollouts and later
imitation-learning data generation, not for direct deployment.