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

66 lines
1.8 KiB
Markdown

# 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
```bash
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
```bash
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:
```text
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
```bash
sudo systemctl stop blitz-watchdog.service blitz-b-side-omnid.service || true
./start-robot-lan.sh
```
Expected startup messages include:
```text
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.