# loorays/galbotsdk architecture

> Architecture diagram of the GitHub repository loorays/galbotsdk, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/loorays/galbotsdk
- Repository: https://github.com/loorays/galbotsdk

## Overview

Galbot SDK is a C++/Python robot SDK distributed with native headers and platform-specific dependencies; the README emphasizes matching SDK and robot-system versions. The visible user-facing workflow is the compatibility checker: obtain or supply a robot version, compare it with SDK compatibility data, and report the result. The tree is dominated by bundled Boost, Eigen, and OpenCV headers; sampled evidence does not expose the SDK’s broader robot-control API. Edges are limited to relationships shown by the checker excerpt, SOURCE INDEX references, or README.

Main entry points: [`check_robot_compat.py`](https://github.com/loorays/galbotsdk/blob/main/check_robot_compat.py) (Compatibility checker), [`galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp`](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp) (Multi-array ordering), [`galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/config.hpp`](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/config.hpp) (Outcome configuration), [`galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/value_storage.hpp`](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/value_storage.hpp) (Outcome value storage)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_compat["Compatibility checking"]
  node_checker["Compatibility checker"]
  node_compat_data["Version compatibility data"]
end

subgraph group_sdk["Robot SDK"]
  node_sdk_api["Galbot SDK API"]
end

subgraph group_deps["Bundled native libraries"]
  node_outcome_config["Outcome configuration<br/>[config.hpp]"]
  node_outcome_storage["Outcome value storage<br/>[value_storage.hpp]"]
  node_outcome_version["Outcome version<br/>[version.hpp]"]
  node_array["Fixed-size array<br/>[array.hpp]"]
  node_multiarray_types["Multi-array types<br/>[types.hpp]"]
  node_multiarray_algo["Multi-array algorithms<br/>[algorithm.hpp]"]
  node_multiarray_order["Multi-array ordering<br/>[storage_order.hpp]"]
  node_opencv_dnn["OpenCV DNN<br/>[dnn.hpp]"]
  node_opencv_ie["DNN inference utilities"]
end

node_user(("SDK user"))
node_robot["Robot system"]

node_user -->|"runs check"| node_checker
node_checker -->|"reads firmware"| node_robot
node_checker -->|"compares versions"| node_compat_data
node_checker -->|"connects through"| node_sdk_api
node_outcome_config -->|"references"| node_outcome_version
node_outcome_storage -->|"includes"| node_outcome_config
node_multiarray_order -->|"includes"| node_multiarray_types
node_multiarray_order -->|"includes"| node_array
node_multiarray_order -->|"uses copy_n"| node_multiarray_algo
node_opencv_ie -->|"includes"| node_opencv_dnn

click node_checker "https://github.com/loorays/galbotsdk/blob/main/check_robot_compat.py"
click node_sdk_api "https://github.com/loorays/galbotsdk/tree/main/galbot_sdk"
click node_compat_data "https://github.com/loorays/galbotsdk/blob/main/check_robot_compat.py"
click node_outcome_config "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/config.hpp"
click node_outcome_storage "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/value_storage.hpp"
click node_outcome_version "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/version.hpp"
click node_array "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/array.hpp"
click node_multiarray_types "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/types.hpp"
click node_multiarray_algo "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/algorithm.hpp"
click node_multiarray_order "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp"
click node_opencv_dnn "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/opencv2/dnn/dnn.hpp"
click node_opencv_ie "https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/opencv2/dnn/utils/inference_engine.hpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_checker,node_compat_data,node_user toneBlue
class node_sdk_api toneAmber
class node_outcome_config,node_outcome_storage,node_outcome_version,node_array,node_multiarray_types,node_multiarray_algo,node_multiarray_order,node_opencv_dnn,node_opencv_ie toneMint
class node_robot toneIndigo
```

## Components

### Compatibility checking

- [Compatibility checker](https://github.com/loorays/galbotsdk/blob/main/check_robot_compat.py): `check_robot_compat.py`
- [Version compatibility data](https://github.com/loorays/galbotsdk/blob/main/check_robot_compat.py): `check_robot_compat.py`

### Robot SDK

- [Galbot SDK API](https://github.com/loorays/galbotsdk/tree/main/galbot_sdk): `galbot_sdk`

### Bundled native libraries

- [Outcome configuration](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/config.hpp): `galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/config.hpp`
- [Outcome value storage](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/value_storage.hpp): `galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/value_storage.hpp`
- [Outcome version](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/version.hpp): `galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/version.hpp`
- [Fixed-size array](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/array.hpp): `galbot_sdk/linux-x86_64-gcc940/include/boost/array.hpp`
- [Multi-array types](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/types.hpp): `galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/types.hpp`
- [Multi-array algorithms](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/algorithm.hpp): `galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/algorithm.hpp`
- [Multi-array ordering](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp): `galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp`
- [OpenCV DNN](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/opencv2/dnn/dnn.hpp): `galbot_sdk/linux-x86_64-gcc940/include/opencv2/dnn/dnn.hpp`
- [DNN inference utilities](https://github.com/loorays/galbotsdk/blob/main/galbot_sdk/linux-x86_64-gcc940/include/opencv2/dnn/utils/inference_engine.hpp): `galbot_sdk/linux-x86_64-gcc940/include/opencv2/dnn/utils/inference_engine.hpp`

### Other components

- **SDK user**
- **Robot system**

## Connections

- SDK user → Compatibility checker: runs check
- Compatibility checker → Robot system: reads firmware (evidence: `check_robot_compat.py`)
- Compatibility checker → Version compatibility data: compares versions (evidence: `check_robot_compat.py`)
- Compatibility checker → Galbot SDK API: connects through (evidence: `check_robot_compat.py`)
- Outcome configuration → Outcome version: references (evidence: `galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/config.hpp`)
- Outcome value storage → Outcome configuration: includes (evidence: `galbot_sdk/linux-aarch64-gcc940/include/boost/outcome/detail/value_storage.hpp`)
- Multi-array ordering → Multi-array types: includes (evidence: `galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp`)
- Multi-array ordering → Fixed-size array: includes (evidence: `galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp`)
- Multi-array ordering → Multi-array algorithms: uses copy_n (evidence: `galbot_sdk/linux-x86_64-gcc940/include/boost/multi_array/storage_order.hpp`)
- DNN inference utilities → OpenCV DNN: includes (evidence: `galbot_sdk/linux-x86_64-gcc940/include/opencv2/dnn/utils/inference_engine.hpp`)
