Skip to content

jev-robotics-demo

MuJoCo Franka arm stacking cubes: code proposes and simulates small moves, Jev picks moves, grasp, release and completion, vs Claude.

AppprototypeMIT

Overview

Jev vs LLM: robot arm control drives a simulated Franka arm with a four-finger Allegro hand in MuJoCo to stack a blue cube on a red one, using two approaches. The LLM agent (Claude Opus 5 by default) gets three low-level tools, move_hand_to, set_hand and get_state, and reasons through every step. The Jev agent follows the pattern from jev_fsd: code proposes small moves and simulates each one ahead in a scratch copy of the physics, and Jev picks the move, decides when to grasp and release, and decides when the task is done.

One recorded run each: both stacked the cube, with the Jev agent taking 19.1 s and $0.0006 versus 158.8 s and $0.75 for Opus (which needed one retry; clean Opus runs took about 55 s and $0.19). Times include real-speed arm motion. Any OpenRouter model with tool support can be swapped in for the LLM agent, and runs can be recorded headless and rendered to video.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich proposed move should the hand make next?—
Yes / noShould the hand grasp / release now?yes · no
Yes / noIs the stacking task done?yes · no

How it works

  1. Code proposes small candidate moves
  2. Each move is simulated ahead in a scratch physics copy
  3. Jev picks the move and grasp or release timing
  4. Jev decides when the stack is complete

Strengths

  • Code handles geometry; Jev handles judgment
  • Large time and cost savings in the reported runs
  • Easy LLM comparison via OpenRouter

Caveats

  • One recorded run per approach
  • Simulation only
  • Requires TypeSafe and LLM keys

Getting started

Set up Python 3.12 with uv, fetch the needed MuJoCo Menagerie models, export TYPESAFE_API_KEY, then .venv/bin/mjpython jev_agent.py "$TASK"

At a glance

Type
App
Status
prototype
Language
Python
Runtime
MuJoCo simulation
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Which simulated move to take, when to grasp and release, and when the task is done.

How did it compare with Claude Opus 5?

In one run each, Jev took 19.1 s and $0.0006 versus 158.8 s and $0.75.

Can I use another LLM?

Yes, any OpenRouter model with tool support.

Related projects

  • MuJoCo pilot where Jev, Claude Haiku and reactive rules choose pick-and-place actions; Jev matched the rules exactly.

    ProjectresearchPython
  • Fixed-wing landing simulator and benchmark where Jev maps four Choice decisions to aircraft controls against humans, baselines and LLMs.

    DemoprototypePython
  • Simulated Franka arm that follows plain-English goals by having Jev chain about 30 hardcoded motion primitives, one per step.

    Agent skillprototypePython
  • Camera-only MuJoCo quadrotor where Jev makes 2.5 Hz tactical judgments while code keeps flight control and a safety veto.

    ProjectprototypePython
  • Multi-drone simulation where Jev makes fast reflex decisions per drone and an optional slower LLM may advise but never takes control.

    AppprototypeTypeScript
  • Open 4B System I driving model that scores behaviours like cruise, stop, yield and brake from three camera frames each decision.

    ProjectresearchPython