Some more info (I am researching it right now): tum_ardrone uses PTAM algorithm, but this is pretty old. There is improved implementation in ROS named ethzasl_ptam and also newer standalone implementation which needs only OpenCV named gptam.
But now there are also better algorithms: ORB-SLAM2...