System Architecture - nicholasaleks/Damn-Vulnerable-Drone GitHub Wiki

This guide will help you understand the typical drone stack architecture and highlight the core components used in Damn Vulnerable Drone

Architecture Diagram

The Damn Vulnerable Drone simulation and core drone architectural components are integrated within Docker containers, providing a stable, isolated environment for each component of the drone system. Docker facilitates easy setup, consistent performance across different systems, and simplifies the process of simulating complex drone architectures and scenarios.

Below is a high-level overview of the Damn Vulnerable Drone architecture:

image

`

As shown in the diagram, the Damn Vulnerable Drone architecture consists of the following 4 core components:

Component Description Docker IP Wireless IP
Flight Controller This is the brain of the drone, running the ArduPilot firmware to simulate a drone's flight controls. It interacts with the Gazebo simulator through a Gazebo driver, allowing it to process virtual sensor data and respond as if it were flying in the real world. 10.13.0.2 -
Companion Computer The Companion Computer (attached to the drone) handles higher-level processing tasks that are too complex for the flight controller. It manages wireless networking, telemetry logs, facilitates camera streaming for surveillance or reconnaissance, and interfaces with guidance systems for autonomous operations. 10.13.0.3 192.168.13.1
Ground Control Station This component acts as the remote pilot's interface, providing mission planning capabilities, flight mapping, video streaming, and joystick control inputs. It communicates with the flight controller and companion computer over a simulated wireless MAVLink connection. 10.13.0.4 192.168.13.14
Simulator Gazebo provides a richly detailed 3D world where the physics of drone flight are accurately modeled. This allows for realistic simulations of how the drone would react to control inputs and environmental factors. It’s here that the rotors spin, and the virtual drone takes to the skies, all under the watchful control of the Simulator Management Web Console.Warning: Try not to target the simulator directly as this may break Damn Vulnerable Drone 10.13.0.5 -
QGroundControl (optional) QGroundControl is used for mission planning, UAV configuration, real-time monitoring, and data analysis. Users can create flight paths, adjust UAV settings, and monitor telemetry data during flights. It supports various UAV platforms and provides tools for safe and efficient UAV operations.Note: QGroundControl will only work on x86 architecture. Which is why it is an optional component for Damn Vulnerable Drone. 10.13.0.6 -
Note: Wireless IP Addresses will only be set if wireless mode is enabled.
`
⚠️ **GitHub.com Fallback** ⚠️