|
|
||
|---|---|---|
| catopt_swarm | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| README.md | ||
| admm_solver.py | ||
| primitives.py | ||
| pyproject.toml | ||
| solver.py | ||
| test.sh | ||
README.md
CatOpt-Swarm
Safe, verifiable distributed optimization for robotic swarms.
CatOpt-Swarm models swarm coordination as a small validated IR:
LocalProblemcaptures each robot's local objective and state.PlanDeltacarries deterministic, contract-tagged updates.SharedVariablesstores consensus state and versioning.SafetyPolicyenforces travel, separation, and energy limits.ContractRegistryrecords 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.modelscatopt_swarm.registrycatopt_swarm.adapterscatopt_swarm.solvercatopt_swarm.verificationcatopt_swarm.cli
Install
python3 -m pip install -e .
Run
python3 -m catopt_swarm.cli
Or use the compatibility script:
python3 admm_solver.py
Test
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.