Skip to content

Latest commit

 

History

96 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jetlink

Run openpilot's large driving models on a computer plugged into your comma. The comma keeps the cameras and vehicle control. It sends prepared camera images over USB, the other computer runs the model, and predictions come back 20 times per second.

Jetlink is experimental. It needs a zoompilot build with Jetlink built in. The comma side lives on the zoompilot jetson-trt branch. The small model you picked in sunnypilot keeps driving whenever the link is down. If the link drops while engaged, the comma soft-disables and tells you to take over. See status and known limitations.

What you need

  • A comma 3X or comma 4.
  • A computer to run the model. A Jetson Orin Nano Super (8 GB) is the tested in-car setup. A Mac with Apple silicon works for bench testing. Linux and Windows PCs with an NVIDIA GPU are supported but untested.
  • A USB 3 A-to-C data cable. Charge-only cables do not work.
  • Separate power for both devices. Neither one powers the other.

Quick start

1. Set up the comma

Everything happens on the comma's screen.

  1. Settings > Software > Target Branch > Non-Prebuilt Branches, select jetson-trt. Let it update, reboot, and finish building.
  2. Settings > Models, turn on Accelerator Link. The Big Model row is the model Jetlink runs, the same list a comma with a chestnut board picks from. Leave it on the default for your first run.

2. Start the server

Mac (Apple silicon), in Terminal:

brew install python libusb
git clone https://github.com/zoompilot/jetlink.git
cd jetlink
scripts/run-mac.sh

The first run installs dependencies. The server then prints that it is waiting for a gadget, which means it is waiting for the comma. Leave the terminal open.

Jetson Orin Nano: follow the Jetson guide. It is the same idea in Docker, plus a service that starts the server at boot.

Other computers: see platform setup.

3. Plug in and wait

Connect the computer's USB-A port to the comma's USB-C port. On a Mac, use a USB-A port on a hub or dock, or a USB-C-to-A adapter. Going through USB-A makes the computer take the host role reliably; a plain C-to-C cable may not. On the Jetson, use a USB-A port, not its USB-C.

Stay parked with the comma online. The home-button icon pulses while the comma downloads the model, sends it over, and the server prepares it. A Jetson takes about 3 minutes for the default model. A Mac takes about 9 minutes, and repeats that wait every time the server restarts, so keep it running.

Icon Meaning
Pulsing Downloading, transferring, or preparing the model. Keep waiting.
Green Ready.
Orange Preparation failed. Read the alert on the home screen.
Back to normal a minute later The comma released the idle connection. This is expected.

What to expect when driving

  • The small model drives while the server starts. A Big Model Ready chime means the large model is available.
  • The large model takes over only while disengaged. If you are engaged when it becomes ready, the comma says Big Model Available, disengage to switch.
  • Big Model Lost while engaged is a soft disable. Take over. The small model drives, and Jetlink reconnects and switches back the next time you disengage.

To stop using Jetlink, turn off Settings > Models > Accelerator Link.

If something is wrong

Problem Try
No Accelerator Link toggle Check the branch in Settings > Software.
Toggle is on, nothing happens Read the setup alert on the home screen.
Big Model list is empty Connect the comma to the internet and use Refresh Model List.
Server keeps waiting, icon never pulses Check the server is running, use a USB-A port, try another USB 3 data cable.
Orange icon Read the alert, check the comma's internet, then toggle Accelerator Link off and on.
Model drops out repeatedly Check the cable, separate power supplies, and cooling.

The Jetson guide has more, including how to collect logs when reporting a problem.

More

License

MIT.

About

Runs openpilot's large driving model on an attached Jetson: a USB link, a TensorRT server, and the openpilot-side client

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages