# Docs > Command-line interface and Python SDK for the Almond Axol dual-arm robot. - [Almond Axol](https://docs.almond.bot/index.md): Command-line interface and Python SDK for the Almond Axol dual-arm robot. - [Hardware Overview](https://docs.almond.bot/hardware.md): Overview of the Axol dual-arm robot, its mounting options, the Camera Kit, and the Compute Kit. - [Hardware Setup](https://docs.almond.bot/hardware-setup.md): Step-by-step setup guides for each Axol configuration. - [Axol Standalone](https://docs.almond.bot/hardware-setup/standalone.md): Bolt Axol to your own table or fixture, then fit the cameras, power, and wiring. - [Axol + Owl Mount](https://docs.almond.bot/hardware-setup/owl-mount.md): Fix the Owl Mount column to a table, bench, or cell, then mount Axol on it. - [Axol + Ox Cart](https://docs.almond.bot/hardware-setup/ox-cart.md): Level the Ox Cart, set its working height with the crank, and mount Axol on it. - [Axol + Jelly](https://docs.almond.bot/hardware-setup/jelly.md): Axol Jelly setup. - [Axol Cameras](https://docs.almond.bot/hardware-setup/cameras.md): Mount the Camera Kit's wrist and head cameras on Axol and wire them to the compute. - [Installation](https://docs.almond.bot/installation.md): Install Axol on the robot machine with one command, then open the web control panel. - [Teleoperation](https://docs.almond.bot/operations/teleop.md): Drive Axol from a VR headset, or run the Mantis rigs' grippers straight from their triggers. - [Teleoperation Config Parameters](https://docs.almond.bot/operations/teleop-config.md): Every setting for axol teleop — what it does and its default. - [Gravity Compensation](https://docs.almond.bot/operations/gravity-comp.md): Hold the arms weightless so you can move them by hand — from the web control panel or the CLI. - [Gravity Compensation Config Parameters](https://docs.almond.bot/operations/gravity-comp-config.md): Every setting for axol gravity-comp — what it does and its default. - [Data Collection](https://docs.almond.bot/operations/data-collection.md): Record VR teleoperation episodes to a LeRobot dataset — from the web control panel or the CLI. - [Data Collection Config Parameters](https://docs.almond.bot/operations/data-collection-config.md): Every setting for axol collect-data — what it does and its default. - [Replay Dataset](https://docs.almond.bot/operations/replay-dataset.md): Replay a recorded LeRobot dataset episode on the arms — from the web control panel or the CLI. - [Replay Dataset Config Parameters](https://docs.almond.bot/operations/replay-dataset-config.md): Every setting for axol replay-dataset — what it does and its default. - [Train a Policy](https://docs.almond.bot/operations/train-policy.md): Train a model on your recorded Axol data using the standard LeRobot training pipeline. - [Run Policy](https://docs.almond.bot/operations/run-policy.md): Run a trained policy autonomously — from the web control panel or the CLI, locally or on a remote server. - [Run Policy Config Parameters](https://docs.almond.bot/operations/run-policy-config.md): Every setting for axol run-policy — what it does and its default. - [Run Your Own Policy](https://docs.almond.bot/operations/custom-policy.md): Drive Axol with a model that isn't a LeRobot checkpoint: receive joints and camera frames, return action chunks. - [DAgger Collection](https://docs.almond.bot/operations/dagger.md): Run a trained policy while you correct it from VR, recording the corrections to improve the policy — from the web control panel or the CLI. - [DAgger Collection Config Parameters](https://docs.almond.bot/operations/dagger-config.md): Every setting for axol collect-dagger — what it does and its default. - [Mantis Hardware](https://docs.almond.bot/mantis/hardware.md): Overview and setup guide for the Mantis handheld data-collection rigs. - [Mantis Tracking](https://docs.almond.bot/mantis/tracking.md): Set up Meta Quest, VIVE Tracker 3.0 (Lighthouse), or VIVE Ultimate tracking as the Mantis pose source. - [Remote Teleop](https://docs.almond.bot/guides/remote-teleop.md): Drive Axol over the internet from anywhere — put the Quest and the robot machine on the same Tailscale network. - [Web Control Panel](https://docs.almond.bot/guides/control-panel.md): Drive Axol from a browser — connect the Axol host and robot, assign the cameras, then run any operation without touching the terminal. - [The Robot's Settings File](https://docs.almond.bot/guides/control-panel-settings.md): The layout of ~/.almond/settings.json and what each section controls. - [Diagnostics Dashboard](https://docs.almond.bot/guides/diagnostics-dashboard.md): Live motor telemetry, health status, and diagnostics scripts in the browser. - [VR Interface](https://docs.almond.bot/guides/vr-interface.md): The WebXR teleop app that streams Quest controller pose to the Axol SDK — now hosted in this repo under web/. - [Quest over USB](https://docs.almond.bot/guides/quest-over-usb.md): Stream Quest controller poses to the robot over a USB cable instead of Wi-Fi for a low-latency teleop link. - [Quest Without Wearing It](https://docs.almond.bot/guides/quest-headless.md): Keep the Quest awake with nobody wearing it — disable the proximity sensor so headless teleop and data-collection sessions keep running. - [Development install](https://docs.almond.bot/advanced/development-install.md): Install Axol from a clone with uv for working on the SDK — optional extras, the headset-video stack, and building the web UI. - [Command configuration](https://docs.almond.bot/cli/configuration.md): How the teleop, gravity-comp, waypoints, collect-data, collect-dagger, replay-dataset, run-policy, and inference-server commands are configured with draccus. - [teleop](https://docs.almond.bot/cli/teleop.md): Launch a VR teleoperation session on the robot or simulator. - [gravity-comp](https://docs.almond.bot/cli/gravity-comp.md): Hold both arms in gravity-compensation mode so you can move them by hand. - [waypoints](https://docs.almond.bot/cli/waypoints.md): Teach poses by hand in gravity comp, then replay them as straight-line moves. - [collect-data](https://docs.almond.bot/cli/collect-data.md): Record teleoperation episodes to a LeRobot-format dataset. - [collect-dagger](https://docs.almond.bot/cli/collect-dagger.md): DAgger data collection: a trained policy drives while the operator intervenes from VR, and both are recorded. - [replay-dataset](https://docs.almond.bot/cli/replay-dataset.md): Replay a recorded LeRobot dataset episode on the robot. - [run-policy](https://docs.almond.bot/cli/run-policy.md): Run a trained policy autonomously on the robot with async inference. - [inference-server](https://docs.almond.bot/cli/inference-server.md): Serve policy inference on a separate, more powerful machine for run-policy. - [policy.check](https://docs.almond.bot/cli/policy-check.md): Exercise a custom policy endpoint without a robot. - [migrate-dataset](https://docs.almond.bot/cli/migrate-dataset.md): Repair Cartesian datasets in place: the v0.1.32 URDF frame change and the Mantis tracker→gripper rotation fix. - [serve](https://docs.almond.bot/cli/serve.md): Run the Axol web control panel — drive the robot from a browser instead of the terminal. - [provision](https://docs.almond.bot/cli/provision.md): Install or refresh the native and non-PyPI pieces — the required axol-rt control core, Lighthouse tracking, Quest USB, and ZED cameras. - [rt.install](https://docs.almond.bot/cli/rt-install.md): Build and install the required axol-rt hardware control core. - [jetson.setup](https://docs.almond.bot/cli/jetson-setup.md): Pin the Jetson clocks and real-time scheduling for the control and camera loops. - [can.setup](https://docs.almond.bot/cli/can-setup.md): Auto-detect and configure Axol and Mantis CAN adapters. - [can.enable](https://docs.almond.bot/cli/can-enable.md): Manually re-run the CAN interface bring-up. - [can.driver](https://docs.almond.bot/cli/can-driver.md): Ensure a compatible gs_usb kernel driver is selected and loaded. - [motor.info](https://docs.almond.bot/cli/motor-info.md): Read and print a full status snapshot from one motor or every motor on a bus. - [motor.health](https://docs.almond.bot/cli/motor-health.md): Probe every motor on both arms and report which responded. - [motor.set-can-id](https://docs.almond.bot/cli/motor-set-can-id.md): Change a motor's CAN ID and persist it to flash. - [motor.set-zero-pos](https://docs.almond.bot/cli/motor-set-zero-pos.md): Set a motor's zero-position reference to its current mechanical position. - [motor.dump-config](https://docs.almond.bot/cli/motor-dump-config.md): Read every configuration parameter from one or all motors and save a snapshot. - [motor.set-config](https://docs.almond.bot/cli/motor-set-config.md): Read or write a single motor configuration parameter. - [motor.restore-config](https://docs.almond.bot/cli/motor-restore-config.md): Write a saved configuration snapshot back to motors. - [motor.flash](https://docs.almond.bot/cli/motor-flash.md): Flash a firmware image to a MyActuator motor over CAN. - [lift.home](https://docs.almond.bot/cli/lift-home.md): One-time calibration (homing) of the telescoping lift. - [lift.goto](https://docs.almond.bot/cli/lift-goto.md): Move the telescoping lift to a target height. - [zed.install](https://docs.almond.bot/cli/zed-install.md): Install the pyzed Python wheel matching the installed ZED SDK version. - [zed.driver](https://docs.almond.bot/cli/zed-driver.md): Upgrade a GMSL camera driver (stereolabs-zedbox-duo / stereolabs-zedbox-mini / stereolabs-zedlink-duo) to the release pinned for the ZED SDK. - [gst.install](https://docs.almond.bot/cli/gst-install.md): Install the host-side GStreamer + PyGObject support for the GPU-resident ZED camera pipeline. - [gst.build-zed](https://docs.almond.bot/cli/gst-build-zed.md): Build and install the patched zed-gstreamer plugins (sensor-accurate timestamps) on a Jetson. - [tracker.*](https://docs.almond.bot/cli/tracker.md): Reference for the Mantis tracker commands — bridge, pair, identify, install, lighthouse.check, ultimate.install, ultimate.check — and their files. - [diag.rom-enable](https://docs.almond.bot/cli/diag-rom-enable.md): Range-of-motion soak test: sweep every joint for two hours. - [diag.rom-disable](https://docs.almond.bot/cli/diag-rom-disable.md): Open the grippers left clamped by the ROM test and power down. - [diag.teleop-jitter](https://docs.almond.bot/cli/diag-teleop-jitter.md): Attribute teleop jitter to a pipeline stage from a flight-recorder capture. - [diag.offline](https://docs.almond.bot/cli/diag-offline.md): Offline wifi / filtering / kinematics analysis of a teleop flight-recorder capture. - [diag.lift-cycle](https://docs.almond.bot/cli/diag-lift-cycle.md): Raise the arms for clearance, then cycle the telescoping lift down and up. - [diag.zed-cable](https://docs.almond.bot/cli/diag-zed-cable.md): Verify a ZED camera cable by capturing and validating frames. - [tune.pid](https://docs.almond.bot/cli/tune-pid.md): Sweep and rank Kp/Kd gains for a single joint via sinusoidal or step-response tracking. - [tune.friction](https://docs.almond.bot/cli/tune-friction.md): Identify the friction-model parameters for one joint via a velocity sweep. - [tune.gravity](https://docs.almond.bot/cli/tune-gravity.md): Fit one link's real centre of mass from the motors, correcting the gravity feedforward. - [tune.factory](https://docs.almond.bot/cli/tune-factory.md): Factory calibration: friction + gravity for all 14 joints in one run, uploaded to the cloud by hub adapter serial. - [tune.motion](https://docs.almond.bot/cli/tune-motion.md): Replay a committed reference motion through the production control path and score tracking accuracy and smoothness per joint. - [tune.filter](https://docs.almond.bot/cli/tune-filter.md): Inject network- or IK-shaped noise into a clean motion — each at its real pipeline entry point — and score how much the teleop filter stack removes. Offline, no hardware. - [motion.build / motion.list](https://docs.almond.bot/cli/motion-build.md): Build committed reference motions from recorded sessions — teleoperated or hand-guided. - [tune.repeatability](https://docs.almond.bot/cli/tune-repeatability.md): Measure how reliably the left arm returns to the same pose after many motions. - [Core Concepts](https://docs.almond.bot/api/concepts.md): Async context managers, joint arrays, and telemetry — shared conventions across the Axol SDK. - [almond_axol.robot](https://docs.almond.bot/api/robot.md): Hardware controllers for Axol and Jelly, simulation, configuration, and gravity compensation. - [almond_axol.kinematics](https://docs.almond.bot/api/kinematics.md): Bimanual inverse kinematics solver using pyroki and JAX/jaxls. - [almond_axol.teleop](https://docs.almond.bot/api/teleop.md): Connect a VR headset to the robot (or simulator) for teleoperation. - [almond_axol.vr](https://docs.almond.bot/api/vr.md): Secure WebSocket server that receives VRFrame messages from the VR app. - [almond_axol.zed](https://docs.almond.bot/api/zed.md): Enumerate locally connected ZED cameras and manage the ZED X daemon. - [almond_axol.motor](https://docs.almond.bot/api/motor.md): Low-level async motor interface through the Rust CAN core. - [almond_axol.lerobot](https://docs.almond.bot/api/lerobot.md): LeRobot-compatible Robot, Teleoperator, and Camera wrappers for the Axol hardware. - [almond_axol.policy](https://docs.almond.bot/api/policy.md): Serve your own model as an Axol policy: receive joints and camera frames, return action chunks. - [Custom policy interface](https://docs.almond.bot/api/policy-plan.md): Compressed observations and cached action-plan continuation without model-specific robot code. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.