Drone-Firefly is an embedded real-time system project focused on developing and programming a drone using a Raspberry Pi and a Navio board. 🚁✨
This project is structured into four main modules:
- Motors: Manages the control and operation of the drone's motors.
- Controller: Oversees flight dynamics and stability.
- PID: Implements Proportional-Integral-Derivative control algorithms for precise maneuvering.
- Sensors: Integrates various sensors for real-time data acquisition.
- Programming Language: C++
- Hardware:
- Raspberry Pi
- Navio
- Libraries:
- Navio's native libraries
- RTIMULib for sensor data filtering using a Kalman filter
- Communication Protocol: Zenoh
- Real-Time Embedded System: Ensures timely and deterministic responses for drone operations.
- Sensor Fusion: Utilizes Kalman filtering for accurate sensor data interpretation.
- PID Control: Provides stable and responsive flight control.
- Remote Communication: Employs Zenoh for efficient data exchange.
-
Hardware Assembly:
- Attach the Navio board to the Raspberry Pi.
- Connect the motors and sensors as per the hardware specifications.
-
Software Configuration:
- Clone this repository:
git clone https://github.com/IagoPorto/Dron-Firefly.git
- Install the necessary dependencies:
sudo apt-get install -y rtimulib zenoh
- Configure RTIMULib by editing the
RTIMULib.ini
file to match your sensor setup.
- Clone this repository:
-
Compilation:
- Navigate to the project directory:
cd Dron-Firefly
- Compile the code:
make
- Navigate to the project directory:
-
Execution:
- Run the main program:
./dron_firefly
- Run the main program:
Thank you for exploring Dron-Firefly! 🛫