Autonomous drone mission system for payload delivery and surveillance using MAVLink protocol.
This project implements a complete drone mission control system with:
- MAVLink communication for drone control
- Camera capture and image processing
- Trajectory simulation for accurate payload drops
- Mission planning and execution
- Raspberry Pi deployment configuration
-
Application/: Core application modulescalc_drop_translation/: Physics simulation for drop trajectoriesconfiguration/: Configuration loading and managementLogger/: Logging utilitiesmedia/: Output directories for logs, photos, videosServices/: MAVLink and camera service interfaces
-
Raspberry_configuration/: Raspberry Pi setup and configuration files -
tests/: Test scripts for validation -
*.py: Main entry points and utilities
- Python 3.8+
- Raspberry Pi with camera module
- MAVLink-compatible drone (e.g., Matek systems)
- Clone the repository
- Configure Raspberry Pi using
Raspberry_configuration/Pipeline.md - Edit
Application/configuration/config.tomlfor your hardware - Install dependencies:
pip install -r Raspberry_configuration/config_files/requirements.txt
# Test camera and MAVLink connection
python3 Camera_test.py
# Run main mission
python3 main.pyEdit Application/configuration/config.toml to set:
- MAVLink device and baud rate
- Drop physics parameters (mass, drag coefficients)
- Camera resolution
- Mission directories
The system automatically runs pre-flight simulations to compute drop offsets.
Run tests from the tests/ directory:
python3 tests/test.pyUse the Raspberry Pi configuration files to set up the target hardware:
- Copy boot configs from
Raspberry_configuration/config_files/ - Enable UART and camera interfaces
- Install required packages
- Follow the existing code structure
- Add tests for new features
- Update READMEs in relevant folders
- Ensure configuration changes are backward compatible
[Add license information here]