rover-claude-jev-demo
Simulated Perseverance rover demo where Jev makes fast onboard hazard and science judgments, Claude plans, and code owns geometry.
Overview
Jezero Ops is a weekend demo of a simulated Perseverance rover driving over real USGS Jezero Crater terrain. It sees rocks, decides what is a hazard, plans science, places an arm on a rock and reports back, and every on-screen decision is labelled with which component made it. The README is explicit that it is not flight software or a research result.
The design follows Kahneman's System 1 and System 2 split. Claude (System 2) answers open questions with no fixed answer set, taking 15-80 s a few times per sol. Jev (System 1) answers narrow onboard questions about 250 ms each, hundreds of times per sol, with every question for a decision point in one /v1/systemone request: rock or shadow, will it break a wheel, is this telemetry a fault, does this activity serve the objective. Code owns arc geometry, tilt, keep-outs, budgets, the state machine and every threshold. One rule acts as System 2's monitor: if Jev's confidence falls below 0.55, nothing acts; the rover stops, takes a second stereo pair and asks again. A full run takes about 20 minutes and roughly $1.10 of Claude usage.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Is that a rock or a shadow? | rock · shadow |
| Yes / no | Will this rock break a wheel? | — |
| Yes / no | Is this telemetry a fault? | — |
| Yes / no | Does this activity serve the objective? | — |
How it works
- Code computes geometry, budgets and candidate arcs
- Jev answers all questions for the decision point in one request
- If confidence is below 0.55, stop, re-image and ask again
- Claude plans science a few times per sol; code executes
Strengths
- Clear separation of judgment, planning and computation
- Confidence gate visibly prevents acting on uncertain answers
- About 250 ms per Jev decision point
Caveats
- Demo only; not validated against a real rover
- Needs both a TypeSafe key and Claude Code
Getting started
git clone https://github.com/Devonance/rover-claude-jev-demo.git && cd rover-claude-jev-demo && npm install && cp .env.example .env (add a TypeSafe key), with Claude Code CLI logged in.At a glance
- Type
- App
- Status
- prototype
- Language
- JavaScript
- Runtime
- Node 20+ and Chrome; ROS 2 components
- Has code
- yes
Use cases and integrations
How curated lists describe it
Just a weekend project with Claude as system two, and Jev as system One.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
Narrow onboard judgments such as rock versus shadow, wheel risk, telemetry faults and whether an activity serves the objective.
What happens when Jev is unsure?
Below 0.55 confidence nothing acts; the rover re-images and asks again.
Is it real flight software?
No; the README says it is a toy demo.
Related projects
Simulated Franka arm that follows plain-English goals by having Jev chain about 30 hardcoded motion primitives, one per step.
Agent skillprototypePythonCamera-only MuJoCo quadrotor where Jev makes 2.5 Hz tactical judgments while code keeps flight control and a safety veto.
ProjectprototypePythonMulti-drone simulation where Jev makes fast reflex decisions per drone and an optional slower LLM may advise but never takes control.
AppprototypeTypeScriptOpen 4B System I driving model that scores behaviours like cruise, stop, yield and brake from three camera frames each decision.
ProjectresearchPythonExperimental robot loop where Jev chooses the next verified action from perception-generated options for a language goal.
ProjectresearchPythonMuJoCo PiPER arm controlled by a local decider-2b model choosing among ten skills via a Jev-style typed-choice interface while targets move.
Agent skillresearchPython