Somebody recently watched this video of my previous research and asked me:
“I saw a YouTube video of a project you did, and I’m fascinated with making a drone autonomous. I was hoping to make something similar with my AR Drone, and I was wondering if we would be able to talk more together. Your GitHub didn’t have the code to this project, and I was wondering if you are able to share?”
What I did was pretty simple stuff, you can read this paper as it possibly explains the basic concept of optical flow based nav.
This uses PTAM, which is a visual SLAM implementation. So you can localize the drone as it moves.
Try to formulate what kind of autonomy you want. Whether you want to just move forward and avoid obstacles (optic flow based avoidance can work, you can put a sonar too), or true autonomy where you give a mission i.e., start and end point and the drone localizes, maps and plans to get to its goal. These are two opposite ends of the problem spectrum. Depending on how much time and expertise you have, you can pick problems somewhere in the middle. Also think of how you want approach it, i.e., from a programming perspective or from a mathematical perspective. Its always good to build a basic mathematical understanding of whats happening.
A simple experimental setup could be to use Augmented Reality markers and do EKF SLAM to localize and then autonomously fly in an obstacle free space.