Files
OmniSocketGo_streaming/robot/v4l2/README_PACKAGE.md
2026-08-09 15:56:20 +08:00

1.8 KiB

OmniSocketGo robot package

This archive is the robot-side source package. It contains the camera discovery, occupancy handling, dual-camera switching, KCP video sender and robot control daemon. It does not contain the web frontend or the control-host backend.

Install

cd OmniSocketGo_robot

sudo apt-get update
sudo apt-get install -y \
  build-essential pkg-config \
  libavformat-dev libavcodec-dev libavutil-dev libswscale-dev \
  v4l-utils psmisc udev systemd \
  python3 iproute2 iputils-ping curl

make b_side_omnid

The package intentionally excludes binaries built on the x86_64 control host. Always build bin/b_side_omnid on the robot itself.

Verify the included camera mapping logic

test -f scripts/dev/resolve-camera-device.sh
grep -n "resolve_camera_devices" scripts/dev/start-b-side-omnid.sh
grep -n "OMNI_CAMERA_AUTO_DISCOVER" scripts/dev/robot-remote.env.local

The current mapping is:

head  serial: CP9E163000H3
waist serial: CPCK8530005N
capture mode: MJPG 1280x720

Review scripts/dev/robot-remote.env.local before starting, especially the KCP server address, camera serial numbers and service names.

Start direct-LAN mode

sudo systemctl stop blitz-watchdog.service blitz-b-side-omnid.service || true
./start-robot-lan.sh

Expected startup messages include:

stopping known camera service ...
[camera-discovery] head: serial=... -> /dev/video...
[camera-discovery] waist: serial=... -> /dev/video...
[start-b-side-omnid] resolved head=... waist=...
[video_pipeline] camera head ready ...
[video_pipeline] camera waist ready ...
video registered=1

check-robot-lan.sh still reports the configured fallback /dev/video* nodes. The real startup path performs dynamic serial-number discovery after releasing the known camera services.