Files
OmniSocketGo/scripts/dev

Dev Startup Scripts

This directory lives inside the OmniSocketGo repo and acts as the main launch entry for the whole local setup.

Default layout:

~/Documents/
  OmniSocketGo/
    scripts/dev/
  robot-command-center/

The scripts assume:

  • OmniSocketGo is the current repo
  • robot-command-center is a sibling directory next to it

If your robot-command-center is elsewhere, set ROBOT_COMMAND_CENTER_ROOT in robot-remote.env.local. start-backend.sh and start-frontend.sh need that repo; start-ros-receiver.sh and start-b-side-omnid.sh do not.

Files

  • robot-remote.env: shared defaults for backend, frontend, ROS, and b_side_omnid
  • robot-remote.env.local: optional local override file loaded after robot-remote.env
  • load-env.sh: loads the shared environment into the current shell
  • start-backend.sh: starts Django ASGI with uvicorn
  • start-frontend.sh: starts the Vite dev server
  • start-ros-receiver.sh: starts the ROS2 udp_teleop_bridge receiver
  • start-b-side-omnid.sh: starts ./bin/b_side_omnid and uses sudo -E by default
  • start-dev-tmux.sh: optional one-command tmux launcher for all four processes

Usage

Run these from the OmniSocketGo repo root:

bash scripts/dev/start-backend.sh
bash scripts/dev/start-frontend.sh
bash scripts/dev/start-ros-receiver.sh
bash scripts/dev/start-b-side-omnid.sh

If you prefer one command and use tmux:

bash scripts/dev/start-dev-tmux.sh

If you only want the shared environment for manual commands:

source scripts/dev/load-env.sh

Customizing

Edit scripts/dev/robot-remote.env for shared changes such as:

  • ROBOT_COMMAND_CENTER_ROOT
  • CONTROL_SIDE_OMNISOCKET_SERVER_ADDR
  • CONTROL_SIDE_OMNISOCKET_RELAY_VIA
  • ROBOT_SIDE_OMNISOCKET_SERVER_ADDR
  • ROBOT_SIDE_OMNISOCKET_RELAY_VIA
  • VITE_API_BASE_URL
  • OMNI_CAMERA_DEVICE
  • OMNI_VIDEO_PEER_ID
  • OMNI_CONTROL_PEER_ID

Role mapping:

  • start-backend.sh uses the CONTROL_SIDE_* address pair
  • start-b-side-omnid.sh uses the ROBOT_SIDE_* address pair
  • start-ros-receiver.sh defaults to the robot-side address pair, but with transport=unix_dgram it usually does not need the server address

Put machine-specific overrides into scripts/dev/robot-remote.env.local. Example:

ROBOT_COMMAND_CENTER_ROOT="$HOME/Documents/robot-command-center"
OMNI_CAMERA_DEVICE="/dev/video30"
B_SIDE_OMNID_USE_SUDO="0"