Skip to content

SwarmOps Lab — Open, MOSA-ready simulation + operator console for UAV/UGV/USV swarms. Design, run, and analyze missions under loss, jamming, and GNSS-denied conditions. Apache-2.0.

License

Notifications You must be signed in to change notification settings

rikulauttia/swarmops

AegisMesh

Zero-trust-ready C2/telemetry slice for UAV/UGV/USV swarms with web operator console.

AegisMesh Architecture

Why it matters

  • Resilience: Message backbone (NATS JetStream) ensures buffering and replay during network blackouts
  • MOSA-friendly: gRPC + Protobuf contracts, easy integration with ROS2/MAVLink bridges
  • Enterprise stack: Rust services, observability-first (Prometheus + Grafana), structured for mTLS/SPIFFE
  • Fast evaluation: One command to run; real defence teams can demo in 60 seconds

Quickstart

git clone https://github.com/your-org/aegismesh.git
cd aegismesh

# Set up environment variables
cp deploy/.env.example deploy/.env
# Edit deploy/.env and add your Mapbox token (get free token at https://account.mapbox.com)

# Start the system
docker compose -f deploy/docker-compose.dev.yml up --build

Open http://localhost:5173 to see live telemetry on a map of Turku, Finland.

Note: You need a free Mapbox token. Sign up at https://account.mapbox.com/access-tokens/ and add it to deploy/.env.

Test Profiles

Run these acceptance tests:

  • Sanity: See at least two markers moving on the map with headings and unit IDs
  • Blackout: docker stop aegismesh-gateway-1 for 20s, then docker start aegismesh-gateway-1; UI resumes without crash
  • Loss profile: ./scripts/netem.sh dirtyrf on for 2 minutes, then ./scripts/netem.sh dirtyrf off; UI stutters but recovers (Linux only)

Visit Prometheus at http://localhost:9095 and Grafana at http://localhost:3000 (dashboard preloaded).

Load Testing

Test system scalability with multiple agents:

# Generate config for N agents (e.g., 100)
python3 scripts/generate_loadtest_compose.py 100 > deploy/docker-compose.100agents.yml

# Start load test
docker compose -f deploy/docker-compose.100agents.yml up -d

# View all units on the map
open http://localhost:5173

Performance notes:

  • 100 agents: ~500 msgs/sec, works on most systems
  • 200+ agents: May require increased Docker resources
  • 1000+ agents: Requires production deployment (not docker-compose)

Safety & Scope

This is a research/testing/training platform. Not intended for weapon guidance or autonomous lethal operations.

Topics

swarm uav ugv usv ros2 mavlink c2 nats grpc quic opentelemetry grafana simulation mesh-networking zero-trust spiffe prometheus rust react vite mapbox protobuf jetstream

Documentation

License

Apache-2.0

About

SwarmOps Lab — Open, MOSA-ready simulation + operator console for UAV/UGV/USV swarms. Design, run, and analyze missions under loss, jamming, and GNSS-denied conditions. Apache-2.0.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published