FROB: A Transformational Approach to the Design of Robot Software


Greg Hager, John Peterson


Over the last two years, we have applied methodologies developed for domain-specific embedded languages to create a high-level robot control language called Frob, for Functional Robotics. The goal of Frob is to provide an environment where robot software can be clearly, cleanly, and correctly specified, while suppressing unnecessary implementation detail. To this end, Frob incorporates three important notions: an implicit representation of time, equational specification of continuous-time behaviors and asynchronous events, and functions to construct complex, reusable abstractions. We show that these ideas can be combined to produce many commonly used ``higher-level'' abstractions for specifying robot programs. Experience with this approach to robot programming suggests that it leads to effective development of robot software while producing programs that are readable and can be reasoned about in a formal sense.


  ,author="Gregory Hager and John Peterson"
  ,title="FROB: A Transformational Approach to the Design of Robot Software"
  ,booktitle="Proc. International Symposium of Robotics Research (ISRR)"
  ,publisher="Springer Verlag"