Take your hands off. There is no needs to control.
In this project, the Drone Landing System was engineered in a team of 5 by my leading as a master student.
Fly drone with respective landing symbol
This feature allows drones to detect and land on a special/predetermined symbol on the ground.
The drone can catch the target via its optical vision system and then slowly land with respect to its objective.
This system contains a vision system (or a camera) as an add-on at the bottom of the drone, and API as a firmware upgrade of autopilot.
Our drone for fly tests
What has been done?
I developed a computer vision algorithm in Python to recognize my special symbol "H" on the ground using Raspberry Pi as a board microcomputer.
I achieved 97% accuracy by using a modified SIFT algorithm, which provides stable recognition during various weather conditions.
Moreover, I implemented a Kalman filter to the computer vision system that allows us to track our special symbol even if the drone meets an obstacle between the camera and the drone for a few seconds. It improved reliability of the system in general.
Loss of symbol
Kalman filter in the use to predict object's location once it loss
Also, I developed a patch for an Arduino autopilot on C where I implemented a relevant navigation of the drone based on the symbol position, and a track building of landing path to this symbol.
drone pid control system Matlab Simulink model
To verify the performance of the system, I used MATLAB Simulink to emulate a drone PID control system in a virtual environment.
1 - initial coordinates of the UAV; 2,3 - landing Path trajectory; 4 - point of the TRAJECTORY path, where the height of the UAV relative to the landmark reached the mark of 2 meters; 5 - final landing on the symbol "H"
The outcome of the project
As the results of this project, a test drone was programmed to fly to a defined place via GPS navigation, where the drone recognized a prepared symbol "H" on the ground and did self-landing on that symbol with 93% accuracy.