Decentralized, GPS-Denied Swarm Intelligence Library for UAVs
SAVTEK Swarm Core is a modular C++ library designed to control heterogeneous drone swarms in communication-denied and GPS-denied environments. It utilizes a peer-to-peer architecture with custom encrypted telemetry and decentralized decision-making algorithms.
Unlike centralized systems, SAVTEK nodes operate autonomously, relying on local neighbor perception and a robust Leader-Follower architecture with Virtual Point formation control.
Recent field tests demonstrates robust formation stability and precise target acquisition.
- Formation Integrity:
84%maintained during high-speed maneuvers. - Precision:
0.5mfinal target accuracy. - Stability:
5.5m ± 2.4maverage separation, effectively preventing collisions.
We solved the critical "drifting" issue by implementing a robust coordinate transformation pipeline.
- Problem: Drones applied global frame forces (North/East) directly to body frame motors (Forward/Right), causing incorrect movement when yawed.
- Solution: Implemented real-time yaw extraction from quaternions and a rotation matrix transform:
// Global Force (North-East) -> Body Velocity (Forward-Left) Eigen::Vector3d body_vel; body_vel.x() = global_force.x() * cos(yaw) + global_force.y() * sin(yaw); body_vel.y() = -global_force.x() * sin(yaw) + global_force.y() * cos(yaw);
Follower drones do not just chase the leader; they chase a dynamic "Virtual Point" relative to the leader's heading.
- Leader: Prioritizes target acquisition.
- Followers: Calculate a unique offset position (Semi-circle or V-formation) based on the leader's current heading.
- Result: Smooth, organic turns where the formation "swings" behind the leader naturally.
Collision avoidance and flocking behavior are handled by a customized Reynolds' Boids implementation optimized with a Spatial Hash Grid for O(n) performance.
# Clone the repository
git clone https://github.com/SAVTEK/savtek_swarm_core.git
# Install dependencies
rosdep install --from-paths src --ignore-src -r -y
# Build
colcon build --packages-select savtek_swarm_coresource install/setup.bash
ros2 launch savtek_swarm_core swarm_demo.launch.py# Send the swarm to a new target location (x=80, y=20)
ros2 topic pub /swarm/target geometry_msgs/msg/PointStamped "{header: {frame_id: 'world'}, point: {x: 80.0, y: 20.0, z: 5.0}}" --once- Decentralized Logic: No central server; every drone is a sovereign node.
- SafeSky Protocol: Encrypted (AES-256) inter-drone telemetry using UDP multicast.
- Hardware Agnostic: HAL interface supporting SITL (Gazebo), PX4, and DJI Enterprise.
- GPS-Denied Navigation: Structure ready for VIO and Optical Flow integration.
© 2026 SAVTEK Defense Technologies. All rights reserved.


