Core Concepts

This platform documentation is organized around hardware layers, Python development, and field operation.

The installed project internals are not exposed in this guide set. Instead, users get:

  • Operator workflows (buttons, lights, safety behavior)
  • Hardware access model
  • A prepared developer SDK with selected advanced hardware backends

Layer 1: Compute (Jetson)

The Jetson is the primary onboard compute.

Responsibilities:

  • Runs autonomy and control services
  • Hosts operator interfaces (such as web controls, when enabled)
  • Manages connectivity to camera and control systems

Operator impact:

  • If Jetson is down, stack modes and interfaces are unavailable
  • Developers use a directly connected HDMI display, USB keyboard, and USB mouse
  • Project code belongs in ~/gather-sdk/projects

Layer 2: Control & Safety (ECU + I/O)

This layer includes:

  • ECU
  • Service buttons
  • Status lights
  • Physical E-stop path

Responsibilities:

  • Interprets control inputs
  • Enforces safe state transitions
  • Reflects system state through light feedback

Operator impact:

  • Button and light patterns define stack behavior in the field
  • Physical E-stop remains the immediate hard-stop mechanism

Layer 3: Motion (Motor Drivers + Wheels)

This layer executes movement commands.

Responsibilities:

  • Convert control commands into wheel motion
  • Stop safely on E-stop or inhibited states

Operator impact:

  • Motion is only valid after safety checks and correct mode activation

Layer 4: Perception (ZED Camera)

The ZED system provides perception input for autonomy behavior.

Responsibilities:

  • Visual scene capture
  • Depth perception support
  • Tracking support for autonomy workflows

Operator impact:

  • Lighting, occlusion, and clutter directly affect autonomy quality

Layer 5: Operator Interface

Primary field controls:

  • Physical service buttons
  • Status lights
  • Physical E-stop
  • Web control UI (for projects that support remote mode)

This is the only layer most non-developer users need in daily operations.

Supported Developer Interfaces

Start with the beginner Python interfaces:

  1. from gather_sdk import Camera
  2. from gather_sdk import Robot

Selected ZED camera backends remain available through gather_sdk.advanced. Use Robot for all controller and motion access. The developer bundle does not include installed robot projects, navigation, perception pipelines, state machines, deployments, or internal maintenance tools.

ROS is documented separately for advanced integration work on specially provisioned robots.

Operating Principle

For field use:

  • Start from known idle light state
  • Use documented button transitions only
  • Confirm physical safety before motion
  • Use E-stop immediately when unsafe behavior is observed

Non-developer operators

  1. Getting Started
  2. Person Following or Web Remote Controller
  3. Project-specific operating guide in use

Python developers

  1. Getting Started
  2. Robot Access
  3. SDK Overview
  4. Camera Module
  5. Robot Module

Advanced integrators

  1. Robot Module
  2. ROS Packages