An Image-Guided Autonomous Navigation System for Multi-rotor UAVs

Multi-rotor UAVs have been highly valued in both military and civilian applications for its low cost and excellent maneuverability in recent year. Most multi-rotor UAVs rely on Global Navigation Satellite System (GNSS) for navigation and the commands from ground station for control. However, there are many environments with difficulty in receiving GNSS signals or remote control commands. To deal with such cases, we implement an autonomous navigation system based on visual information. The proposed navigation system is divided into two parts - state estimations and UAV control. The first part is the state estimation, which is responsible for estimating the position by fusing the data from an IMU and a forward-looking camera and the velocity from the optical flow of the image sequence captured by a downward-looking camera. In addition, an Extended Kalman Filter (EKF) is applied to fuse the information from both sides. The second part is UAV control. We introduce a velocity control loop in traditional PID system to obtain the desired acceleration that is then converted to desired attitude. During the task of object searching, we propose to use the pixel difference between the image center and the object center to control the UAV. We conducted several experiments in both simulation and real environment to evaluate our algorithms. The results show that our system is feasible to complete tasks relying solely on onboard computing in autonomous mode.