63 lines
1.4 KiB
Markdown
63 lines
1.4 KiB
Markdown
# CatOpt-Swarm
|
|
|
|
Safe, verifiable distributed optimization for robotic swarms.
|
|
|
|
CatOpt-Swarm models swarm coordination as a small validated IR:
|
|
|
|
- `LocalProblem` captures each robot's local objective and state.
|
|
- `PlanDelta` carries deterministic, contract-tagged updates.
|
|
- `SharedVariables` stores consensus state and versioning.
|
|
- `SafetyPolicy` enforces travel, separation, and energy limits.
|
|
- `ContractRegistry` records adapter and mission contracts as a graph.
|
|
|
|
The solver is a deterministic ADMM-lite loop with:
|
|
|
|
- bounded-step local updates
|
|
- delta reconciliation with bounded staleness
|
|
- separation projection for collision avoidance
|
|
- audit logs and convergence certificates
|
|
|
|
## Package Layout
|
|
|
|
- `catopt_swarm.models`
|
|
- `catopt_swarm.registry`
|
|
- `catopt_swarm.adapters`
|
|
- `catopt_swarm.solver`
|
|
- `catopt_swarm.verification`
|
|
- `catopt_swarm.cli`
|
|
|
|
## Install
|
|
|
|
```bash
|
|
python3 -m pip install -e .
|
|
```
|
|
|
|
## Run
|
|
|
|
```bash
|
|
python3 -m catopt_swarm.cli
|
|
```
|
|
|
|
Or use the compatibility script:
|
|
|
|
```bash
|
|
python3 admm_solver.py
|
|
```
|
|
|
|
## Test
|
|
|
|
```bash
|
|
bash test.sh
|
|
```
|
|
|
|
## What the demo covers
|
|
|
|
- Two-robot consensus planning
|
|
- Adapter conformance checks for aerial and ground controllers
|
|
- Graph-based contract registration
|
|
- Safety verification after solve
|
|
|
|
## Notes
|
|
|
|
This repository currently focuses on the core planning and verification substrate. The next extension point is integrating ROS/Gazebo-backed mission replay and richer platform adapters.
|