# Configuration ## LiveKit ```yaml livekit_url: "wss://your-livekit-server.com" livekit_auth_token: "eyJ..." # JWT token (see generate_token.py) livekit_room: "robot-room" livekit_identity: "asimov-robot" # Optional, auto-generated from hostname livekit_name: "Asimov Robot" # Optional, auto-generated from hostname ``` | Field | Required | Description | |-------|----------|-------------| | `livekit_url` | Yes | LiveKit server WebSocket URL | | `livekit_auth_token` | Yes | Pre-generated JWT token | | `livekit_room` | Yes | Room name to join | | `livekit_identity` | No | Participant ID (default: `asimov-{hostname}`) | | `livekit_name` | No | Display name (default: `Asimov {hostname}`) | ## Cameras ```yaml camera_count: 1 # Number of cameras (1-3) camera_0_device: "/dev/video0" camera_0_name: "head" camera_0_width: 1920 camera_0_height: 1200 camera_0_fps: 50 ``` | Field | Description | |-------|-------------| | `camera_count` | Number of cameras to use (max 3) | | `camera_N_device` | V4L2 device path | | `camera_N_name` | Track name in LiveKit | | `camera_N_width` | Capture width | | `camera_N_height` | Capture height | | `camera_N_fps` | Capture frame rate | Arducam AR0234 supported resolutions: | Resolution | FPS (USB 3.0) | |------------|---------------| | 1920x1200 | 50 | | 960x600 | 80 | ## Audio ```yaml mic_device: "hw:0,0" speaker_device: "plughw:0,0" ``` Use `arecord -l` and `aplay -l` to find device names. ## Process Loop ```yaml process_interval_us: 10000 # 100 Hz main loop ``` ## Telemetry ```yaml prometheus_port: 8080 ``` Prometheus metrics available at `http://localhost:8080/metrics`.