OmniSocketGo_streaming
This repository contains the extracted streaming stack for the control host and the robot. It keeps two mutually exclusive robot camera implementations:
| Area | Path | Camera source | Use when |
|---|---|---|---|
| Control host | host/ |
KCP hub, Django API, Vue UI | Running the operator/control side |
| Robot release A | robot/v4l2/OmniSocketGo_robot/ |
Direct /dev/video* (V4L2) |
Testing the legacy/direct device path |
| Robot release B | robot/ros2/OmniSocketGo_robot_ros/ |
ROS 2 RGB topics + shared-memory bridge | Keeping proc_manager/Orbbec ownership and using the ROS 2 path |
Do not start both robot releases at the same time on one robot. They use the same KCP peer identities and their camera ownership requirements are different.
Repository layout
host/
OmniSocketGo_add_camera/ C/KCP transport, Python bindings, scripts
robot-command-center/ Django backend and Vue frontend
requirements.txt
robot/
v4l2/OmniSocketGo_robot/ `/dev/video*` release extracted from 2026-08-08 bundle
ros2/OmniSocketGo_robot_ros/ ROS 2 camera release validated on the robot
release/ Original release notes and SHA256 manifests
NETWORK_LINK_STARTUP_GUIDE.md Direct-LAN and single-public-hub guidance
The original compressed bundles were intentionally extracted rather than
committed again. Machine-local *.env.local, build directories, caches,
frontend dependencies, and generated binaries are ignored. Copy the matching
*.env file to a local override on the target machine and edit addresses and
paths there.
Quick start
Control host
Read host/README_PACKAGE.md, then keep these directories as siblings when
installing on Linux:
<install-root>/OmniSocketGo_add_camera
<install-root>/robot-command-center
The normal direct-LAN order is local KCP hub, backend, then frontend. The full
commands and the one-public-Hub variation are in
NETWORK_LINK_STARTUP_GUIDE.md.
Robot: direct V4L2 release
cd robot/v4l2/OmniSocketGo_robot
./check-robot-lan.sh
./start-robot-lan.sh
This release opens the selected V4L2 devices directly. Stop any camera service that owns the device before starting it.
Robot: ROS 2 release
cd robot/ros2/OmniSocketGo_robot_ros
make
Follow robot/ros2/README.md and
robot/ros2/OmniSocketGo_robot_ros/docs/ROS2_CAMERA_FORWARDING.md. In the
default ROS 2 mode the Orbbec/proc_manager stack owns /dev/video*; the ROS 2
bridge subscribes to RGB topics and exposes the latest frames to the existing
KCP daemon without opening V4L2.
Review status
The original 2026-08-08 host and V4L2 archive hashes are retained under
release/. The ROS 2 release is the separately tested source tree that was
developed for ROS 2 camera ownership. The repository is source-only: C/KCP and
ROS 2 builds must be performed on their target Linux/ARM64 environments.
See docs/RELEASE_REVIEW.md for the boundary checks and known machine-local
configuration values.