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:
from gather_sdk import Camerafrom 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
Recommended Reading Paths
Non-developer operators
- Getting Started
- Person Following or Web Remote Controller
- Project-specific operating guide in use