Document Type

Technical Report

Publication Date


Technical Report Number



I have developed, tested, and evaluated a robot programming environment organized as a library of flexible data structures to facilitate the creation of robotics programs. Abstractions are the basis of all of the achievements of Computer Science, and if it were possible to create a truly flexible, generic abstraction for the programming of robots -- the science of robotics could advance at a faster pace. For this reason, I have attempted to implement the abstraction of low-level commands, and the assembling of them into hierarchies of higher-level actions. My libraries provide mechanisms for the manipulation and queuing of actions, as well as for the timing of low-level sensing and actuation. I have tested these libraries by implementing a cooperative multi-agent formation algorithm in the SoccerServer environment. Often, when a new level of abstraction is introduced -- significant overhead is added. However, I have conducted experiments to show that there is no significant overhead in using this system by comparing the performance of SoccerServer agents that have been programmed using it against the performance of other agents.


The "paper" is actually a source code listing. The author chose not to release his written thesis as a Technical Report. The work represents an Undergraduate Honors Thesis; Advisor: Daniela Rus.