Install from a clone
Install the package from a checkout usinguv. pyroki and lerobot are sourced from Git and resolved automatically:
axol CLI is on your path:
Optional extras
Install optional dependency groups as needed (the install script includeslerobot and sim):
Streaming the ZED camera feeds to the headset (
teleop --cameras, collect-data) isn’t a dependency extra — it needs the system GStreamer + camera stack, installed via axol provision (see Headset-video stack below).ZED Python bindings
The ZED Python bindings (pyzed) are not on PyPI and must be installed separately, after the ZED SDK is installed:
zed.install for details.
Headset-video stack
Relaying the ZED cameras to the headset grabs and NVENC-encodes frames on the GPU via the zed-gstreamer pipeline (zedxonesrc / zedsrc) and sends them over WebRTC with aiortc (a normal Python dependency). The encode path needs the system GStreamer + GObject-introspection packages, PyGObject, and the patched ZED source elements — none of which are PyPI extras.
axol provision installs all of them idempotently in one step (the same command the install script and the axol serve self-updater run):
zed.driver ZED Box Duo camera-driver upgrade, zed.install, gst.install, and gst.build-zed in order; each self-gates and no-ops off the target hardware (no ZED SDK / apt / factory ZED Box Duo driver). You can also run them individually.
On a Jetson, pin the NVENC/VIC and CPU clocks for low-latency encode and a steady IK loop (the install script wires this into the systemd unit so it re-runs at every boot):
jetson.setup. It’s a no-op on non-Jetson machines.
First-run hardware setup
Before using any motor or robot commands, initialize the CAN hardware once:sudo is invoked automatically where required. See can.setup for what it configures, and can.enable for bringing the interfaces back up after a mid-session replug.
Build the web UI
axol serve looks for the built web bundle at web/app/dist. To serve the control panel and VR interface from your own machine, build it once:
axol serve works without this step (the API is still available) — the hosted UI at axol.almond.bot connects to it directly. See serve and the Web Control Panel guide.
Next steps
CLI Reference
Every
axol command, flag, and the draccus config model.Python API
Axol, the kinematics solver, VR teleop, and the LeRobot wrappers.