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.

Description
No description provided
Readme 456 KiB
Languages
C 56.6%
Python 15.8%
Shell 15%
Go 7.7%
Vue 2.6%
Other 2.3%