Study a complete, readable example of a vision-language-action model end to end.
Learn how camera placement and observability affect robot learning success.
Reuse the ablation cookbook to measure which design choices actually help a policy.
| buceageorgia/virena | alx-code/lingbot-video-1.3b-fp8 | andrewbergman/kuma-importer | |
|---|---|---|---|
| Stars | 7 | 7 | 7 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | — | moderate |
| Complexity | 3/5 | — | 2/5 |
| Audience | researcher | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Trains on a laptop without a GPU but requires setting up the ManiSkill simulator and CLIP dependencies.
VIRENA is a small robot-learning project built to be read and understood, not just run. It trains a model that looks at a camera image, reads an instruction, and knows the robot arm's joint positions, then decides how to move the arm to pick up a cube and place it at a target spot. The whole thing is small enough to fit in about 2,000 lines of code, trains on a laptop without a graphics card, and takes only a couple of hours on an Apple M2 chip because most of the underlying vision model stays frozen and only a small trained piece, under a million parameters, actually learns. The project's real value is the story behind getting it to work. The task is picking up a cube in a robot simulator and placing it at a random goal position. The author's first attempts sat at zero percent success no matter what changes were made to the model itself. The actual problem turned out to be what the model could see, not how it was built. A fixed external camera lost sight of the cube exactly when the arm closed in to grab it, capping success at 30 percent. Switching to a camera mounted on the wrist that stayed pointed at the cube through the whole grasp raised success to 68 percent. A second issue was that the target location was never visible in any camera at all, so the model had no way to know where to place the cube until its coordinates were fed in directly as a number. Beyond the working model, the project includes two supporting tools: an ablation script that retrains the model with one design choice removed at a time and reports success rates with confidence intervals, so claims about what helped can be checked with numbers instead of guesses, and a diagnosis toolkit meant to tell you whether a failing robot policy is failing because of what it can perceive, how it controls the arm, or the data it was trained on. The project is written in Python and targets people learning how these vision-language-action systems work, or anyone who wants a small, readable base to experiment with their own ideas.
A small, readable robot-learning model that picks up a cube in simulation, documented as a debugging story about why it failed and what fixed it.
Mainly Python. The stack also includes Python, CLIP, ManiSkill.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.