3Dana: A path planning algorithm for surface robotics. (April 2017)