Launches a VR teleoperation session. When started, the hostname (Documentation Index
Fetch the complete documentation index at: https://docs.almond.bot/llms.txt
Use this file to discover all available pages before exploring further.
.local) and local IP address are printed — enter either of these in the VR app at axol.almond.bot to connect.
Runs on the real robot by default; pass --sim for the browser visualizer. The full robot config is exposed via draccus, so every gain, stiffness, and gripper limit is reachable from the CLI or a config file — see Command configuration.
Network tip: If VR tracking feels jittery or packets arrive in bursts, configure the following on your router/access point:
- DTIM interval →
1 - Beacon interval →
100ms - WMM APSD (U-APSD) → disabled
| Flag | Description |
|---|---|
--sim | Use the software visualizer instead of the real robot. Bare --sim works (or --sim true). Omit to run on real hardware (the default). |
--left_channel <ch|null> | CAN channel for the left arm; null disables it. Default: CAN_LEFT. |
--right_channel <ch|null> | CAN channel for the right arm; null disables it. Default: CAN_RIGHT. |
--axol.left_stiffness S | Compliance↔stiffness blend for the left arm in [0, 1]. Scalar (0.8) or a 7-element list ([0.8,0.8,0.5,0.5,0.2,0.2,0.0], one per arm joint in Joint enum order). 0 = fully compliant; 1 = pre-tuning industrial gains; 0.5 (default) is the geometric mean. See AxolConfig.left_stiffness. |
--axol.right_stiffness S | Same, for the right arm. |
--axol.left.gripper.torque_limit FLOAT | Max torque (Nm) for the left gripper in POSITION_FORCE mode (default: 0.5). Use right for the right gripper. |
--axol.<side>.<joint>.<gain> VALUE | Override any per-joint gain, e.g. --axol.left.elbow.kp 60. <side> is left/right; <joint> is shoulder_1…wrist_3; <gain> is kp/kd/etc. |
--log_level {DEBUG,INFO,WARNING,ERROR} | Default: INFO |
--config_path PATH | Load a whole-config JSON/YAML file; CLI overrides layer on top. See Command configuration. |
This command takes its config via draccus, not fixed
argparse flags. Field names use underscores, nested fields are dot-separated, None is null, and lists use [a,b,c] — see Command configuration for the full model.