Autonomous Drone Control System (SITL)
Project Overview: This repository contains autonomous flight scripts for a Quadcopter using the ArduPilot SITL (Software In The Loop) environment. The system utilizes Python and DroneKit to interface with the flight controller via MAVLink protocol, enabling precise autonomous navigation without reliance on RC input.
Tech Stack:
- Core: ArduPilot Copter (Firmware compiled from source)
- Interface: DroneKit (Python) / Pymavlink
- Simulation: SITL on Linux (Ubuntu/WSL2)
- Communication: TCP Telemetry Bridge (Port 5762)
Key Features
- Autonomous Mission Planning: Custom guidance loop for automatic arming, takeoff, and waypoint navigation.
- GPS-Denied Navigation: Implements "GUIDED_NOGPS" velocity control to fly precise patterns (Square) using body-frame coordinates relative to the drone's position.
- Robust Telemetry: Uses a dedicated TCP connection to ensure reliable command transmission between the script and the simulated flight controller.
How to Run
-
Start the Simulator:
cd ~/ardupilot/ArduCopter
../Tools/autotest/sim_vehicle.py --map --console
-
Run the Mission Script: Open a new terminal and run:
cd ~/drone-autonomy
python3 square_mission.py
Demonstration The drone performs an automated square pattern flight at 10m altitude, holding position at each vertex for 5 seconds before returning to launch configuration.