idea174-catopt-swarm/README.md

69 lines
1.7 KiB
Markdown

# CatOpt-Swarm
CatOpt-Swarm is a validated Python package for safe distributed swarm optimization.
It models robot tasks, contract-tagged deltas, and mission policies in a canonical IR,
then runs a deterministic ADMM-lite coordinator with verification hooks.
## Core Concepts
- `LocalProblem` captures each robot's objective, state, and local limits.
- `PlanDelta` carries contract-tagged updates with sequence and base-version replay guards.
- `SharedVariables` tracks consensus, versioning, and applied sequence state.
- `SafetyPolicy` enforces travel distance, separation, and energy limits.
- `ContractRegistry` stores adapter contracts in a graph and supports conformance checks.
## Behavior
- Deterministic delta ordering and bounded-staleness replay control
- Separation projection to keep robots apart during updates
- Audit logs and convergence certificates per solve
- Verification of consensus consistency, energy budgets, and trace continuity
- Adapter shims for aerial and ground controllers
## 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
```
Compatibility entrypoints:
```bash
python3 admm_solver.py
python3 solver.py
```
## Test
```bash
bash test.sh
```
## Demo Coverage
- Two-robot consensus planning
- Adapter conformance checks for aerial and ground controllers
- Graph-based contract registration
- Safety verification after solve
- Delta replay and version tracking
## Status
This repository now covers the core planning, contract, and verification substrate.
ROS/Gazebo integration and richer mission templates remain natural next steps.