Skip to content

Architecture Documentation

System architecture, design decisions, and component relationships.

Overview

ShadowHound is an autonomous mobile robot system combining ROS2 navigation with LLM/VLM-driven planning. The system architecture is built on four main layers:

System Architecture

System Architecture Figure 1: System Architecture - The layered design from Web UI through Mission Agent, DIMOS Skills Engine, ROS2 Bridge, to the Unitree GO2 hardware.

Key Data Flows

Data Flow Architecture Figure 2: Data Flow - Mission commands flow top-down, telemetry flows bottom-up, camera feeds use WebRTC, and skills execute with feedback loops.

Network Topology

Network Topology Figure 3: Network Topology - Development laptop, Thor (Jetson Orin), and GO2 robot connected via WiFi network with optional direct Ethernet.

Documentation Workflow

Documentation Ecosystem Figure 4: Documentation Ecosystem - Obsidian vault authoring through automation tools and CI/CD to multiple publication targets.

Documents

System Architecture

Component Architecture

Key Concepts

System Layers

  1. Application Layer - Launch files, configurations
  2. Agent Layer - LLM/VLM orchestration, mission planning
  3. Skills Layer - Execution engine, safety, telemetry
  4. Robot Layer - ROS2 bridge to hardware (go2_ros2_sdk)

Communication Flow

User Input → Web UI/CLI → Mission Agent → DIMOS Agent → Skills → Robot Hardware
                                                            ↓
                                                      ROS2 Topics/Services

Design Principles

  1. Skills-First: All robot control through Skills API
  2. Safety-First: Timeout, validation, error handling in every skill
  3. Container-First: Development in devcontainer
  4. Type-First: Type hints, validated inputs, structured results

See Also

For questions about architecture decisions, see the main README or create an issue.