Portable High-level Agent Programming with golog++

We present golog++, a high-level agent programming and interfacing framework that offers a temporal constraint language to explicitly model layer-penetrating contingencies in low-level platform behavior. It can be used to maintain a clear separation between an agent’s domain model and certain quirks of its execution platform that affect problem solving behavior. Our system reasons about the execution of an abstract (i.e. exclusively domain-bound) plan on a particular execution platform. This way, we avoid compounding the complexity of the planning problem while improving the modularity of both golog++ and the user code. On a run-through example from the well-known blocksworld domain, we demonstrate the entire process from domain modeling and platform modeling to plan transformation and platform-specific plan execution.

[1]  Wolfram Burgard,et al.  GOLEX - Bridging the Gap between Logic (GOLOG) and a Real Robot , 1998, KI.

[2]  J. McCarthy Situations, Actions, and Causal Laws , 1963 .

[3]  KoymansRon Specifying real-time properties with metric temporal logic , 1990 .

[4]  Gerhard Lakemeyer,et al.  Self-Maintenance for Autonomous Robots controlled by ReadyLog , 2010 .

[5]  Joel Spolsky,et al.  The Law of Leaky Abstractions , 2004 .

[6]  Craig Boutilier,et al.  Decision-Theoretic, High-Level Agent Programming in the Situation Calculus , 2000, AAAI/IAAI.

[7]  Gerhard Lakemeyer,et al.  A Logic for Non-Terminating Golog Programs , 2008, KR.

[8]  Robert T. Effinger,et al.  Enabling Fast Flexible Planning through Incremental Temporal Reasoning with Conflict Extraction , 2005, ICAPS.

[9]  Malik Ghallab,et al.  A Flexible ANML Actor and Planner in Robotics , 2014 .

[10]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

[11]  Alexander Ferrein Golog.lua: Towards a Non-Prolog Implementation of Golog for Embedded Systems , 2010, AAAI Spring Symposium: Embedded Reasoning.

[12]  T. Niemueller,et al.  Planning Competition for Logistics Robots in Simulation , 2016 .

[13]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[14]  James F. Allen Maintaining knowledge about temporal intervals , 1983, CACM.

[15]  Alexander Ferrein,et al.  Design Principles of the Component-Based Robot Software Framework Fawkes , 2010, SIMPAR.

[16]  Alexander Ferrein,et al.  Integrating golog++ and ROS for Practical and Portable High-level Control , 2020, ICAART.

[17]  Robert Mattmüller,et al.  Using the Context-enhanced Additive Heuristic for Temporal and Numeric Planning , 2009, ICAPS.

[18]  Alexander Ferrein,et al.  Logic-based robot control in highly dynamic domains , 2008, Robotics Auton. Syst..

[19]  Alexander Ferrein,et al.  golog++ : An Integrative System Design , 2018, CogRob@KR.

[20]  Joachim Hertzberg,et al.  Online task merging with a hierarchical hybrid task planner for mobile service robots , 2015, 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[21]  Hector J. Levesque,et al.  GOLOG: A Logic Programming Language for Dynamic Domains , 1997, J. Log. Program..

[22]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[23]  Gerhard Lakemeyer,et al.  On sensing and off-line interpreting in GOLOG , 1999 .

[24]  Gerhard Lakemeyer,et al.  ccGolog -- A Logical Language Dealing with Continuous Change , 2003, Log. J. IGPL.

[25]  Hector J. Levesque,et al.  IndiGolog: A High-Level Programming Language for Embedded Reasoning Agents , 2009, Multi-Agent Programming, Languages, Tools and Applications.

[26]  Alessandro Saffiotti,et al.  Planning Domain + Execution Semantics: A Way Towards Robust Execution? , 2014, AAAI Spring Symposia.

[27]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[28]  Gerhard Lakemeyer,et al.  A Logic for Specifying Metric Temporal Constraints for Golog Programs , 2018, CogRob@KR.

[29]  Alexander Ferrein,et al.  Constraint-Based Online Transformation of Abstract Plans into Executable Robot Actions , 2018, AAAI Spring Symposia.

[30]  Michael Beetz,et al.  Towards semantic robot description languages , 2011, 2011 IEEE International Conference on Robotics and Automation.

[31]  Hector J. Levesque,et al.  ConGolog, a concurrent programming language based on the situation calculus , 2000, Artif. Intell..

[32]  Gerhard Lakemeyer,et al.  Turning High-Level Plans into Robot Programs in Uncertain Domains , 2000, ECAI.

[33]  Gerhard Lakemeyer,et al.  Transforming Robotic Plans with Timed Automata to Solve Temporal Platform Constraints , 2021, IJCAI.

[34]  G. Lakemeyer,et al.  The RoboCup Logistics League as a Benchmark for Planning in Robotics , 2015 .

[35]  Alexander Ferrein,et al.  Action-Based Imperative Programming with YAGI , 2012, CogRob@AAAI.

[36]  Maria Fox,et al.  CRIKEY - a temporal planner looking at the integration of scheduling and planning , 2004 .

[37]  Raymond Reiter,et al.  Natural Actions, Concurrency and Continuous Time in the Situation Calculus , 1996, KR.