Programming Robots for Navigation