Skip to main content
New partner

Cryptide ResearchAutonomous Mobile Robot (AMR)Turnkey sim-to-real robotics on NVIDIA Jetson, shipped to every car with Avocado OS

Company
Cryptide Research
Product
GOAT Racer 3
Use case
Turnkey sim-to-real robotics
Hardware
NVIDIA Jetson Orin Nano 8GB
Status
Shipping

A member of the Avocado Design Program, built alongside Peridio engineering.

To provision a carDown from about 3 hours
10 min
Per policy update, over the airOne ONNX file, sent to one car
~400 KB
Of uptime across policy updatesWas a reboot on every update
Days

The company

From a master’s project to a sim-to-real platform

Cryptide Research builds GOAT Racer 3, an autonomous 1/10-scale race car for teams getting started with physical AI. Train a driving policy in NVIDIA Isaac Lab and race it on NVIDIA Jetson the same day.

GOAT Racer 3 grew out of Rob Murrer’s master’s project. Rob spent a decade in electronic design automation and RF before moving into robotics, and he wanted a sim-to-real platform he could put in other people’s hands. Nothing off the shelf fit, so he built one.

Users work through a web interface that hides the training infrastructure. Each one trains a policy, checks it in simulation and sends it to their own car.

A policy is the trained neural network that drives the car. It reads what the sensors see and decides how to steer and how much throttle to give.

Explore the GOAT Racer 3 course
  • NVIDIA Jetson Orin Nano module and developer kit

    Compute

    NVIDIA Jetson Orin Nano 8GB

  • Intel RealSense D435 depth camera and Hokuyo LiDAR

    Perception

    Intel RealSense depth camera + LiDAR

  • Gauge icon for motor feedback

    Control

    Sensored motor with hall-effect feedback

  • Stop sign icon for the kill switch

    Safety

    Remote kill switch + teleop

GOAT Racer 3 · Turnkey sim-to-real robotics

A real car you can test at low speed

The car recreates the F1TENTH project, known inside NVIDIA as Project Leatherback. A sensored motor gives precise control at low speed, so a policy gets validated slowly before the car ramps up.

The challenge

The wall at three Jetson race cars

  1. 1 car

    One car on JetPack

    JetPack got the first car running fast. The Cryptide Research team still calls it the right starting point: a full desktop environment where you install anything and iterate quickly.

  2. 2 cars

    Two cars, scripts and Docker

    A shell script brought up the base OS, then a large Docker container shipped on top. The team spent hours optimizing container layers so rebuilds wouldn’t drag.

  3. 3 cars

    Three cars, and the drift starts

    Provisioning meant NVIDIA SDK Manager on a dedicated Ubuntu host, about three hours per car. Versions drifted, updates landed inconsistently, and in workshops the recurring question was which robot had the best policy on it.

  4. Avocado OS

    Every car on Avocado OS

    Cryptide Research provisions every GOAT Racer 3 before it ships, so each one boots onto the same deterministic, reproducible OS. OS, app and policy updates go out over the air through Peridio in seconds.

In the field, determinism matters. A product only feels good to use if it behaves the same way on every unit, every time, and a company’s reputation depends on it.

“When I ship an update, the rest of the robot stays completely functional. Only the policy changes. I’ve had these robots up for days without a reboot.”

Rob Murrer, Principal Engineer, Robotics & Simulation, Cryptide Research

Why Avocado OS

Why Cryptide Research chose Avocado OS

The Cryptide Research team weighed three ways to put an OS on the fleet.

How a custom Yocto build, a container-first platform and Avocado OS compare for GOAT Racer 3
Custom Yocto buildContainer-first platformAvocado OS
Same base on every carYes, reproducibleNo, the image is mutated in the fieldYes, deterministic and locked down
Who builds the OSThe team, with long compilesWhoever rebuilds the imageBuilt on Yocto and NVIDIA’s Jetson support; nothing to compile
Ongoing upkeepMore than a small team could carryOne large image to keep optimizingThe base stays fixed
What changes on a carA rebuilt imageThe whole containerAn extension, like a driving policy

“Avocado gives you guidance on what goes in which layer, instead of shipping one giant container that gets mutated until no one knows what’s on it.”

Rob Murrer, Principal Engineer, Robotics & Simulation, Cryptide Research

How it works

From simulation to one user’s car

Each user trains a driving policy, checks it in simulation, then sends it to their own car.

  1. TrainWorkstation
  2. ValidateSimulated car
  3. DeliverPeridio
  4. DriveUser’s car
  1. Training a driving policy in Isaac Lab, then driving it on new tracks

    01 · Train · Workstation

    Train in simulation

    A user starts a run from the web UI. On an RTX 4090 workstation, Isaac Lab trains thousands of simulated cars in parallel with reinforcement learning.

    After training
    Driving policy
    Where
    GPU workstation · Isaac Lab
  2. The real track, rebuilt from the car’s lidar, where the same policy drives a simulated car first

    02 · Validate · Simulated car

    Check it before it drives

    The policy is tested on a simulated car running the same Isaac ROS nodes as the real one. If it fails here, it isn’t ready for the track.

    After validation
    Validated policy
    Where
    Simulated car · Isaac ROS
  3. Deployment diagram: Avocado CLI packages an ONNX policy extension, and Peridio routes it to Car 02 with the matching user tag while Cars 01 and 03 remain unchanged
    The policy extension goes only to the car with the matching user tag

    03 · Deliver · Peridio

    Send it to the right car

    The Avocado CLI packages the policy as an extension. Peridio delivers it only to the car tagged for that user.

    Packaged for delivery
    Avocado extension
    Where
    Development machine · Avocado CLI + Peridio
  4. 04 · Drive · User’s car

    Run on real hardware

    The car picks up the policy automatically. The ONNX file runs inference on the Jetson, with no cloud connection.

    Running on the Jetson
    ONNX inference
    Where
    User’s car · Jetson Orin Nano
    • RViz showing the real car’s LiDAR laser scan of the room as colored points over a floor grid
      01 · LiDAR · laser scan in RViz/goat/hardware/lidar/scan
    • RealSense Viewer showing the car’s Intel RealSense D436 depth stream, colored from blue (near) to red (far)
      02 · Depth · RealSense ViewerIntel RealSense D436
    • 03 · Track · laps on the office test track
    • A GOAT Racer 3 seen from above in its hard case, with its Jetson Orin Nano, antennas and depth camera mounted on the chassis
      04 · Car · GOAT Racer 3 in its caseJetson Orin Nano

What actually ships

A new driving policy, without a reboot

Only what changed goes over the air: a roughly 400 KB ONNX file. The base OS and the rest of the stack stay untouched, and the car keeps running while the update lands.

The boot path uses NVIDIA’s A/B boot control. The rest of the disk holds persistent data and extensions on Btrfs. An extension-only update needs no reboot and no A/B switch.

Jetson disk

Boot slot A

base OS, active

Boot slot B

base OS, standby

Btrfs

persistent data and extensions

Persistent data
Extensions
driving policy, ONNX~400 KB

policy update

  • UntouchedA/B boot control never runs. No slot switch, no reboot.
  • UntouchedData stays where it is.
  • Only this changesOne file lands while the car is running.

GOAT Racer 3 results

“The more I use Avocado, the more I appreciate it. Foundationally, the base is there and I’m not touching it.⁠A I only put things on top,⁠B so it feels much more stable⁠C than my Docker flows ever did.”

Rob Murrer · Principal Engineer, Robotics & Simulation at Cryptide Research
Before and after, measure by measure
BeforeWith Avocado OS
Result AProvisioning a car~3 hours, SDK Manager on a dedicated Ubuntu host10 minutes
Result BPolicy updateRebuild and ship a Docker container~400 KB extension, targeted to one car
Fleet consistencyDrift past three carsEvery car on an identical, reproducible base
Result CUptimeReboots on updateDays without a reboot across policy updates
Remote accessIn-house toolingBuilt-in secure tunnels from the fleet view

What’s next

What’s next for GOAT Racer 3: JetPack 7.2 over the air, and more Jetson modules

Cryptide Research begins shipping GOAT Racer 3 cars and a hands-on curriculum this fall. Two upgrades are already in motion.

  1. JetPack, over the air

    JetPack 6.2toJetPack 7.2

    On Peridio’s 2026 feeds. The team called it impossible on its old stack.

  2. Policy build time

    About a minutetoSeconds

    An OTA-only build path Peridio is adding.

  3. Hardware target

    Jetson Orin Nanoto[CONFIRM: Jetson Orin NX · Jetson AGX Orin · Jetson AGX Thor]

    Avocado OS abstracts the board, so the same configuration can target any supported Jetson module with a one-line change.

On the show floor

GOAT Racer 3 at Actuate and Embedded World North America

Peridio brings the car to robotics shows so engineers can watch the whole loop on real hardware: a policy trained in Isaac Sim, deployed to the Jetson as an OS extension and updated over the air, with Avocado OS managing the car.

Engineers at the Peridio booth watch a large screen showing system stats beside a simulated track, with two GOAT Racer 3 cars on the counter
Actuate · The loop on the big screen
A GOAT Racer 3 car seen from above with its body off, showing the Jetson module, depth camera and an Avocado OS Racing Team sticker on its green and white chassis
Actuate · The car from above, body off
A GOAT Racer 3 car on a stand, showing its Jetson module, depth camera and antenna, with an Avocado OS Racing Team sticker
Embedded World North America · The car up close
A Peridio engineer walks a group of visitors through the GOAT Racer 3 demo at the Robotics Lab booth, beside an Avocado OS banner
Embedded World North America · Robotics Lab

Ride along

Three ways into GOAT Racer 3

Everything on this page runs on a car you can drive. Cryptide Research sells the cars, runs the course and brings workshops to your group.

Visit cryptide.com
  • The course

    Learn sim-to-real, free

    A guided course at goatracer.ai: drive, simulate, train and race. The first labs need no account.

    Start the course
  • The car

    Put a GOAT Racer 3 on your track

    The Jetson Orin Nano car from this story, with the course and the training source code. A lighter LEAN build has an upgrade path to the full car.

    See GOAT Racer 3 LEAN
    Buy a car
  • The workshop

    Bring it to your class or team

    An in-person workshop for your group. The team brings the cars, the course and the cloud tools.

    Plan a workshop