A language for declarative robotic programming

We have applied methodologies developed for domain-specific embedded languages to create a high-level robot control language called Frob, for functional robotics. Frob supports a programming style that cleanly separates the what from the how of a robotic control program. That is, the what is a simple, easily understood definition of the control strategy using groups of equations and primitives which combine sets of these control system equations into a complex system. The how aspect of the program addresses the unpleasant details, such as the method used to realize these equations, the connection between the control equations and the sensors and effectors in the robot, and communication with other elements of the system. Frob is a system that supports rapid prototyping of new control strategies, enables software reuse through composition, and defines a system in a way that can be formally reasoned about and transformed.

[1]  Paul Hudak,et al.  Functional reactive animation , 1997, ICFP '97.

[2]  Gregory D. Hager,et al.  X Vision: A Portable Substrate for Real-Time Vision Applications , 1998, Comput. Vis. Image Underst..

[3]  Rodney A. Brooks,et al.  A Robust Layered Control Syste For A Mobile Robot , 2022 .

[4]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[5]  Ehud Rivlin,et al.  A system for active vision driven robotics , 1996, Proceedings of IEEE International Conference on Robotics and Automation.

[6]  Ève Coste-Manière,et al.  Special Issue on Integrated Architectures for Robot Control and Programming , 1998, Int. J. Robotics Res..

[7]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[8]  Arthur Gelb,et al.  Applied Optimal Estimation , 1974 .

[9]  Michael A. Arbib,et al.  A formal model of computation for sensory-based robotics , 1989, IEEE Trans. Robotics Autom..

[10]  Damian M. Lyons,et al.  Representing and analyzing action plans as networks of concurrent processes , 1993, IEEE Trans. Robotics Autom..

[11]  Paul Hudak,et al.  Prototyping real-time vision systems: an experiment in DSL design , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[12]  Kurt Konolige COLBERT: A Language for Reactive Control in Sapphira , 1997, KI.

[13]  John M. Dolan,et al.  Modified reactive control framework for cooperative mobile robots , 1997, Other Conferences.

[14]  Pradeep K. Khosla,et al.  The Chimera Methodology: Designing Dynamically Reconfigurable and Reusable Real-Time Software Using Port-Based Objects , 1996, Int. J. Softw. Eng. Knowl. Eng..

[15]  Paul Hudak,et al.  Modular domain specific languages and tools , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).