Configuration

LiveKit

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

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

mic_device: "hw:0,0"
speaker_device: "plughw:0,0"

Use arecord -l and aplay -l to find device names.

Process Loop

process_interval_us: 10000  # 100 Hz main loop

Telemetry

prometheus_port: 8080

Prometheus metrics available at http://localhost:8080/metrics.