Usage
Specifications
Component |
Version |
Dependencies |
|---|---|---|
Flight Controller |
ArduPilot Copter 4.3 |
ArduPilot |
Communication Protocol |
MAVLink 2.0 |
pymavlink 2.4.37 |
Edge Runtime |
Ubuntu 22.04 |
Python 3.10 |
Vision Backend |
YOLOv8 |
OpenCV(v4), PyTorch (v2.7) |
UI Framework |
PySide6 |
QFluentWidgets |
Note
Hardware Requirements: CUDA-enabled GPU for vision processing, 8 GB RAM minimum.
Installation
Clone the repository (uses Git submodules):
git clone https://github.com/amar-jay/nebula.git --recursive
Setup ArduPilot:
Follow ArduPilot Linux setup guide
Install OpenCV (if not already installed - preferably from source):
sudo apt-get install libopencv-dev python3-opencv
Run setup script:
make setup
Install Python packages (package version might be incompatible with your system, use virtual environment, and adjust package versions if needed):
python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt
Set Environment Variables:
make set_env_varsBuild
src/ardupilot_gazebousing CMake (optional if not working in simulation):cd src/ardupilot_gazebo mkdir build cd build cmake .. make -j4 cd ../../../..
Running the Simulation
Start simulation:
make run_simLaunch Control Station:
make appLaunch Controls (optional):
make sim_server # for real drone use `make server`