Title: Code3: Software Development of Mobile Manipulator Robots for All Programmers
Advisor: Maya Cakmak
Supervisory Committee: Maya Cakmak (Chair), Andy Ko (iSchool), Dieter Fox, and Michael Ernst
Abstract: Programming mobile manipulator robots like the PR2 to perform useful, end-to-end tasks requires specialized knowledge of robot perception, manipulation, and programming frameworks. As a result, general programmers who have not invested the time to learn these skills are unable to program robots. This report explains our work on bridging the gap and enabling programmers to rapidly develop end-to-end robot programs such as fetching objects, clearing tables, or playing games without needing specialized robotics knowledge. Our system, Code3, abstracts the process of programming common perception and manipulation tasks, providing maximal expressivity with a minimal set of user-friendly features. We describe over a dozen examples of different tasks which were developed using our system. User studies we conducted of Code3 and its subcomponents show that it does enable general programmers to develop useful robot programs in much less time than it would take to learn previous robot programming frameworks such as ROS (Robot Operating System). The studies also revealed various areas of improvement for the system's usefulness and usability. This report lays out a proposal for future work to improve the system and enable the adoption of our framework in the service robotics sector.