System Architecture¶
This page is the top-level technical map of the repository. It describes the major runtime boundaries, what currently exists, and which subsystem pages hold the deeper design notes.
Omniseer currently spans:
- an SBC-hosted ROS 2 robot runtime
- a hardware-accelerated vision stack on Rockchip hardware
- robot description, bringup, and analysis packages
- firmware for lower-level hardware integration
- simulation assets and launch support
- an emerging operator connectivity stack for remote monitoring and control
The repository is still in an active architecture-building phase. Some subsystems, especially the native vision runtime, are already implemented in detail. Others, such as the robot gateway and preview export path, are now at the spec and first-integration stage.
Major Runtime Boundaries¶
Robot SBC¶
The robot SBC is the primary runtime host.
Current and planned responsibilities:
- ROS 2 graph for perception, navigation, control, and local diagnostics
- hardware-accelerated vision pipeline using V4L2, RGA, and RKNN
- mission-critical consumers of detections and other sensor state
- local bringup and launch orchestration
- optional operator-facing preview export path
The current preferred deployment model is one robot-core container on the SBC
with mission-critical ROS nodes always on. Optional operator diagnostics, such
as preview streaming, should be isolated enough that failure does not interfere
with the mission path.
Operator Laptop¶
The operator laptop is the preferred location for higher-cost human-facing work.
Planned responsibilities:
- native operator application
- RViz2
- host-side overlay and analysis tools
- bagging, replay, plotting, and inspection workflows
- gRPC client for robot control/state access
- SRT video receive and decode
This keeps the robot focused on low-latency onboard work while moving diagnostic-heavy workloads offboard.
Optional Cloud / Remote Bridge¶
The current repo does not implement a cloud bridge yet, but the architecture is being shaped so that one could be added later without exposing the internal ROS graph directly.
Potential later roles:
- fleet telemetry
- offsite health/status access
- web-facing dashboards
- remote ops support through a narrower external API
Current High-Level Shape¶
[ Operator Laptop ]
|
+-------------+-------------+
| |
gRPC state/control SRT preview
| |
+-------------+-------------+
|
[ Robot Gateway ]
|
+--------------------+--------------------+
| | |
diagnostics teleop mission
| | |
+--------------------+--------------------+
|
[ ROS 2 graph ]
perception / nav / control / logging
|
+---------+---------+
| |
vision runtime firmware / IO
This is the target direction. The current repo is partway there:
- the native vision runtime exists
- the ROS bridge for detections exists
- the operator gateway does not yet exist as a first-class component
- the preview export path is specified but not yet integrated
Major Software Subsystems¶
Vision Runtime¶
The most detailed and mature subsystem in the repo today.
Responsibilities:
- capture from the ISP via V4L2
- preprocess using RGA
- run model inference via RKNN
- produce canonical detections and telemetry
Primary docs:
ROS Runtime¶
The ROS layer ties together bringup, robot description, analysis helpers, and the vision bridge into a graph that can run on the SBC.
Responsibilities:
- package and launch composition
- topic/service boundaries
- bridge between the native vision runtime and ROS-native consumers
- robot description and visualization configuration
Primary docs today:
- ROS packages
- bringup and launch files in
ros_ws/src/bringup
Operator Connectivity Stack¶
This is the next major subsystem being designed.
Responsibilities:
- gRPC control/state API for the operator app
- on-demand preview management
- SRT preview export
- status aggregation for monitoring
- later teleop and operator workflow coordination
Primary docs:
Firmware and Hardware Integration¶
The repository also includes firmware and hardware artifacts which sit below the SBC runtime boundary.
Responsibilities:
- direct hardware control
- low-level IO
- board/actuator/sensor interfacing
- electrical and mechanical integration
Primary docs today:
Repository Layout¶
Important top-level directories:
vision/: native vision runtime and testsros_ws/src/: ROS 2 packagesfirmware/: embedded firmware projectsim/: simulation assets and launch supportdocs/: long-form project documentationnotes/: scratch notes and local operational references
What Exists vs What Is Planned¶
Implemented or substantially implemented¶
- native producer/consumer vision pipeline
- detections bridge into ROS 2
- build and CI basics
- robot description and core bringup scaffolding
In active specification / integration¶
- robot gateway for operator-facing control/state
- preview streaming path from
rkisp_mainpath - host-side monitoring application shape
- separation between mission-critical and operator-facing runtime concerns
Explicitly later¶
- cloud bridge
- browser-first remote ops stack
- hardened fleet/deployment automation
Documentation Strategy¶
This repo is gradually moving toward a consistent documentation style:
- one umbrella architecture page per major subsystem
- narrower spec pages for hot paths, contracts, or lifecycle-critical behavior
- implementation notes that reflect current state, not just end-state intent
The vision docs are the current best example of this style, and newer subsystem docs should trend in that direction as the project is refined.