# roboparty/roboparty_deploy architecture

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

- Interactive diagram: https://gitdiagram.com/roboparty/roboparty_deploy
- Repository: https://github.com/roboparty/roboparty_deploy

## Overview

roboparty_deploy is a ROS 2 deployment framework for Roboparty robots, spanning hardware drivers, inference, and user-facing controller tools. A visible workflow is an operator launching the motion player with a motion file and robot configuration; it loads frames and sends joint actions through RobotInterface. Separate scripts calibrate motors and demonstrate motor and IMU access. The README also documents camera support, board-specific hardware setup, and optional Wi-Fi access-point setup. Source excerpts do not expose the implementations inside the src packages, so those subsystem links are limited to documented or directly visible relationships.

Main entry points: [`scripts/motion_player.py`](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/motion_player.py) (Motion player), [`scripts/set_zero.py`](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/set_zero.py) (Motor calibration), [`scripts/motors_py_example.py`](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/motors_py_example.py) (Motor example), [`scripts/imu_py_example.py`](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/imu_py_example.py) (IMU example)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_control["Robot control"]
  node_motion["Motion player<br/>[motion_player.py]"]
  node_motiondata["Motion file"]
  node_robotconfig["Robot configuration"]
  node_inference["Robot interface"]
end

subgraph group_hardware["Hardware access"]
  node_calibration["Motor calibration<br/>[set_zero.py]"]
  node_motorapi["Motor driver"]
  node_motorexample["Motor example"]
  node_imu["IMU driver"]
  node_imuexample["IMU example<br/>[imu_py_example.py]"]
  node_camera["Camera support"]
end

subgraph group_deployment["Deployment support"]
  node_robotstart["Robot launcher<br/>[start_robot.sh]"]
  node_camerastart["Camera launcher<br/>[start_camera.sh]"]
  node_ap["Wi-Fi access point"]
end

subgraph group_setup["Hardware setup"]
  node_udev["Device binding rules"]
end

node_operator(("Operator"))

node_operator -->|"runs"| node_motion
node_motion -->|"loads"| node_motiondata
node_motion -->|"configures"| node_robotconfig
node_motion -->|"applies actions"| node_inference
node_operator -->|"runs"| node_calibration
node_calibration -->|"creates and controls"| node_motorapi
node_operator -->|"runs"| node_motorexample
node_motorexample -->|"creates and controls"| node_motorapi
node_operator -->|"runs"| node_imuexample
node_imuexample -->|"creates and reads"| node_imu
node_operator -->|"starts"| node_robotstart
node_operator -->|"starts"| node_camerastart
node_operator -->|"configures"| node_ap
node_operator -->|"installs"| node_udev

click node_motion "https://github.com/roboparty/roboparty_deploy/blob/main/scripts/motion_player.py"
click node_inference "https://github.com/roboparty/roboparty_deploy/tree/main/src/inference"
click node_calibration "https://github.com/roboparty/roboparty_deploy/blob/main/scripts/set_zero.py"
click node_motorapi "https://github.com/roboparty/roboparty_deploy/tree/main/src/motors"
click node_motorexample "https://github.com/roboparty/roboparty_deploy/blob/main/scripts/motors_py_example.py"
click node_imu "https://github.com/roboparty/roboparty_deploy/tree/main/src/imu"
click node_imuexample "https://github.com/roboparty/roboparty_deploy/blob/main/scripts/imu_py_example.py"
click node_camera "https://github.com/roboparty/roboparty_deploy/tree/main/src/camera"
click node_robotstart "https://github.com/roboparty/roboparty_deploy/blob/main/tools/start_robot.sh"
click node_camerastart "https://github.com/roboparty/roboparty_deploy/blob/main/tools/start_camera.sh"
click node_ap "https://github.com/roboparty/roboparty_deploy/tree/main/tools/create_ap"
click node_udev "https://github.com/roboparty/roboparty_deploy/tree/main/assets"

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_motion,node_motiondata,node_robotconfig,node_inference toneBlue
class node_calibration,node_motorapi,node_motorexample,node_imu,node_imuexample,node_camera toneAmber
class node_robotstart,node_camerastart,node_ap toneMint
class node_udev toneRose
class node_operator toneIndigo
```

## Components

### Robot control

- [Motion player](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/motion_player.py): `scripts/motion_player.py`
- **Motion file**
- **Robot configuration**
- [Robot interface](https://github.com/roboparty/roboparty_deploy/tree/main/src/inference): `src/inference`

### Hardware access

- [Motor calibration](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/set_zero.py): `scripts/set_zero.py`
- [Motor driver](https://github.com/roboparty/roboparty_deploy/tree/main/src/motors): `src/motors`
- [Motor example](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/motors_py_example.py): `scripts/motors_py_example.py`
- [IMU driver](https://github.com/roboparty/roboparty_deploy/tree/main/src/imu): `src/imu`
- [IMU example](https://github.com/roboparty/roboparty_deploy/blob/main/scripts/imu_py_example.py): `scripts/imu_py_example.py`
- [Camera support](https://github.com/roboparty/roboparty_deploy/tree/main/src/camera): `src/camera`

### Deployment support

- [Robot launcher](https://github.com/roboparty/roboparty_deploy/blob/main/tools/start_robot.sh): `tools/start_robot.sh`
- [Camera launcher](https://github.com/roboparty/roboparty_deploy/blob/main/tools/start_camera.sh): `tools/start_camera.sh`
- [Wi-Fi access point](https://github.com/roboparty/roboparty_deploy/tree/main/tools/create_ap): `tools/create_ap`

### Hardware setup

- [Device binding rules](https://github.com/roboparty/roboparty_deploy/tree/main/assets): `assets`

### Other components

- **Operator**

## Connections

- Operator → Motion player: runs (evidence: `README.md`)
- Motion player → Motion file: loads (evidence: `scripts/motion_player.py`)
- Motion player → Robot configuration: configures (evidence: `scripts/motion_player.py`)
- Motion player → Robot interface: applies actions (evidence: `scripts/motion_player.py`)
- Operator → Motor calibration: runs (evidence: `README.md`)
- Motor calibration → Motor driver: creates and controls (evidence: `scripts/set_zero.py`)
- Operator → Motor example: runs (evidence: `scripts/motors_py_example.py`)
- Motor example → Motor driver: creates and controls (evidence: `scripts/motors_py_example.py`)
- Operator → IMU example: runs (evidence: `scripts/imu_py_example.py`)
- IMU example → IMU driver: creates and reads (evidence: `scripts/imu_py_example.py`)
- Operator → Robot launcher: starts (evidence: `README.md`)
- Operator → Camera launcher: starts (evidence: `README.md`)
- Operator → Wi-Fi access point: configures (evidence: `README.md`)
- Operator → Device binding rules: installs (evidence: `README.md`)
