Specifying Robot Reactivity in Procedural Languages

A key part of programming a robotic system is specifying the responses to events that the robot may encounter. Existing methods of programming responses include event loops, reactive languages and hybrid architectures, none of which meet the specific needs of mobile robot programming. This work presents a design for new semantics for specifying reactivity in mobile robot programs, one that allows for effective specification of reactive behaviour within procedural robot programs. An initial evaluation version is implemented in Python. Events and responses are supported as program objects, and are connected together by new statements. Programmers specify connections between events and responses anywhere within the program code, so connections can easily be changed in response to changes in program and robot state

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Gregory D. Hager,et al.  Functional reactive robotics: an exercise in principled integration of domain-specific languages , 2002, PPDP '02.

[3]  Frédéric Boussinot,et al.  The ESTEREL language , 1991, Proc. IEEE.

[4]  Erann Gat,et al.  ESL: a language for supporting robust plan execution in embedded autonomous agents , 1997, 1997 IEEE Aerospace Conference.

[5]  Reid G. Simmons,et al.  A task description language for robot control , 1998, Proceedings. 1998 IEEE/RSJ International Conference on Intelligent Robots and Systems. Innovations in Theory, Practice and Applications (Cat. No.98CH36190).

[6]  Erann Gat ALFA: a language for programming reactive robotic control systems , 1991, Proceedings. 1991 IEEE International Conference on Robotics and Automation.

[7]  Guido van Rossum,et al.  Python Programming Language , 2007, USENIX Annual Technical Conference.

[8]  Paul Hudak,et al.  Arrows, Robots, and Functional Reactive Programming , 2002, Advanced Functional Programming.

[9]  B. MacDonald,et al.  On specifying reactivity in robotics , 2005 .

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

[11]  Anders Orebäck,et al.  BERRA: a research architecture for service robots , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

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

[13]  B. MacDonald,et al.  A Design for Dimensional Analysis in Robotics , 2005 .

[14]  Ronald C. Arkin,et al.  An Behavior-based Robotics , 1998 .

[15]  Tara A. Estlin,et al.  CLARAty and challenges of developing interoperable robotic software , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[16]  Joe L. Armstrong The development of Erlang , 1997, ICFP '97.