Programming robots is a difficult task, especially for autonomous robots that must operate in an open, unstructured environment. A programmer building such a system should have a number of sophisticated tools at his/her ...