@phdthesis{hofmannBridgingGapHighlevel2023, title = {Towards Bridging the Gap between High-Level Reasoning and Execution on Robots}, author = {Hofmann, Till}, year = {2023}, address = {{Aachen, Germany}}, url = {https://doi.org/10.18154/RWTH-2023-10508}, abstract = {When reasoning about actions, e.g., by means of task planning or agent programming with Golog, the robot's actions are typically modeled on an abstract level, where complex actions such as picking up an object are treated as atomic primitives with deterministic effects and preconditions that only depend on the current state. However, when executing such an action on a robot it can no longer be seen as a primitive. Instead, action execution is a complex task involving multiple steps with additional temporal preconditions and timing constraints. Furthermore, the action may be noisy, e.g., producing erroneous sensing results and not always having the desired effects. While these aspects are typically ignored in reasoning tasks, they need to be dealt with during execution. In this thesis, we propose several approaches towards closing this gap. Based on a logic that combines the situation calculus with metric time and metric temporal logic, we model the robot platform with timed automata and temporal constraints to describe the connection between the high-level actions and the robot platform. We then describe two approaches towards transforming the high-level program. First, we view the transformation as a synthesis problem, where the task is to synthesize a controller that executes the program while satisfying the specification, independent of the environment's choices. We show that the synthesis problem is decidable, describe an algorithm to construct a controller, and evaluate the approach in two robotics scenarios. While this approach supports controlling arbitrary Golog programs against any specification with timing constraints, it does not scale well. For this reason, we describe a second approach based on some simplifying assumptions which allow us to view the transformation problem as a reachability problem on timed automata, which can be solved with state-of-the-art tools. We demonstrate the effectiveness and scalability of the approach in a number of scenarios. Finally, we turn towards noisy sensors and effectors. Based on DS, a probabilistic variant of the situation calculus that allows modeling the agent's degree of belief, we describe an abstraction framework for Golog programs with noisy actions. In this framework, a high-level and non-stochastic program is mapped to a more detailed and stochastic low-level program. As the high-level program is non-stochastic, we may use non-probabilistic reasoning methods such as task planning or classical Golog program execution. At the same time, by mapping the abstract actions to low-level programs, we may still deal with uncertainty during execution. We define a suitable notion of bisimulation that guarantees the equivalence between the high-level and low-level programs and demonstrate the approach with an example.}, school = {RWTH Aachen University}, keywords = {artificial intelligence,belief-based programs,cognitive robotics,Golog,knowledge representation,metric temporal logic,situation calculus,stochastic actions,synthesis,timed systems,verification} }
@inproceedings{Matare-etAl_ICAART2021_PortableHighLevelAgentCode, author = {Victor Matar{\'e} and Tarik Viehmann and Till Hofmann and Gerhard Lakemeyer and Alexander Ferrein and Stefan Schiffer}, title = {{Portable High-level Agent Programming with golog++}}, booktitle = {Proceedings of the 13th International Conference on Agents and Artificial Intelligence - Volume 2: ICAART,}, year = {2021}, pages = {218--227}, publisher = {SciTePress}, organization = {INSTICC}, doi = {10.5220/0010253902180227}, url_scitepress = {https://www.scitepress.org/Papers/2021/102539/}, isbn = {978-989-758-484-8}, keywords = {ConTrAkt, high-level programming, golog, agent programming}, abstract = {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.}, } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2020 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@inproceedings{Matare:EtAl:CogRob2018:gologpp, title = {golog++ : An Integrative System Design}, author = {Victor Matar{\'{e}} and Stefan Schiffer and Alexander Ferrein}, pages = {29--35}, booktitle = {Proceedings of the 11th Cognitive Robotics Workshop 2018 (CogRob), co-located with the 16th International Conference on Principles of Knowledge Representation and Reasoning, CogRob@KR 2018}, year = 2018, location = {Tempe, AZ, USA}, editor = {Gerald Steinbauer and Alexander Ferrein}, volume = {2325}, publisher = {CEUR-WS.org}, series = {CEUR Workshop Proceedings}, address = {Aachen}, issn = {1613-0073}, url = {http://ceur-ws.org/Vol-2325/#paper-06}, url_proc = {http://ceur-ws.org/Vol-2325/}, venue = {Tempe, AZ, USA}, eventdate = {2018-10-27}, keywords = {ConTrAkt, high-level programming, golog, agent programming}, abstract = {Golog is a language family with great untapped potential. We argue that it could become a practical and widely usable high-level control language, if only it had an implementation that is usable in a production environment. In this paper, we do not specify another Golog interpreter, but an extensible C++ framework that defines a coherent grammar, developer tool support, internal/external consistency checking with clean error handling, and a simple, portable platform interface. The framework specifically does not implement language semantics. For this purpose we can simply hook into any of the many existing implementations that do very well in implementing language semantics, but fall short in regards to interfacing, portability, usability and practicality in general.}, }
@InCollection{ bai-fri-mci-hecfest11, author = {Jorge A. Baier and Christian Fritz and Sheila A. McIlraith}, title = {Golog-style Search Control for Planning}, booktitle = {Knowing, Reasoning, and Acting: Essays in Honour of Hector J. Levesque}, publisher = {College Publications}, year = 2011, editor = {Gerhard Lakemeyer and Sheila A. McIlraith}, url = {bai-fri-mci-hecfest11.pdf}, keywords = {Golog, Planning} }
@inproceedings {Ferrein:Schiffer:Lakemeyer:2009:EmbeddingFuzzyControllorsGolog, title = {Embedding Fuzzy Controllers into Golog}, booktitle = {Proceedings of the IEEE International Conference on Fuzzy Systems (FUZZ-IEEE'09)}, year = {2009}, month = {August 20-24}, pages = {894--899}, publisher = {IEEE}, organization = {IEEE}, type = {inproceedings}, address = {ICC Jeju, Jeju Island, Korea}, abstract = {High-level behaviour specification of an intelligent autonomous agent or robot is a non-trivial task. Various approaches exist some of which try to combine different paradigms like programming and planning. In this paper, we show how to integrate fuzzy logic controllers into the logic-based programming language Golog. Golog already allows for combining programming and planning. By adding the instrument of fuzzy controllers we provide the means to have a natural specification of rules for tasks that require a high amount of reactivity. Since the facilities already present in Golog remain, we add to an already powerful framework thus expanding the applicability of Golog for high-level behaviour specification of a robot or agent.}, keywords = {Controller, Fuzzy, Golog}, issn = {1098-7584}, doi = {10.1109/FUZZY.2009.5277161}, url_Paper = {https://kbsg.rwth-aachen.de/sites/kbsg/files/fuzz-ieee2009pole.pdf}, author = {Ferrein, Alexander and Schiffer, Stefan and Lakemeyer, Gerhard} }
@TechReport{ extended_200507311452, author = {Christian Fritz and Sheila McIlraith}, title = {Compiling Qualitative Preferences into Decision-Theoretic {Golog} Programs: Extended Version with Proofs}, institution = {University of Toronto}, year = 2005, urlPaper= {200507311452_extended.pdf}, number = {CSRG-522}, month = {May}, URLPaper={200507311452_extended.pdf}, keywords = {Golog, Planning with Preferences} }
@inproceedings{finzi_representing_2005, title = {Representing flexible temporal behaviors in the situation calculus}, booktitle = {Proceedings of the {International} {Joint} {Conference} on {Artificial} {Intelligence} ({IJCAI})}, author = {Finzi, Alberto and Pirri, Fiora}, year = {2005}, note = {ISSN: 10450823}, keywords = {abstract, golog, situation calculus, temporal}, pages = {436--441} }
@InProceedings{ fri-mci-nrac05f.pdf_200506061537, AUTHOR={Christian Fritz and Sheila McIlraith}, TITLE={Compiling Qualitative Preferences into Decision-Theoretic {Golog} Programs}, BOOKTITLE={Proceedings of The 6th Workshop on Nonmonotonic Reasoning, Action, and Change (at IJCAI05)}, MONTH={August 1}, ADDRESS={Edinburgh, UK}, YEAR={2005}, URLPaper={200506061537_fri-mci-nrac05f.pdf}, keywords = {Golog, Planning with Preferences} }
@MastersThesis{ Fritz2003Integrating.pdf_200506061853, AUTHOR={Christian Fritz}, TITLE={Integrating decision-theoretic planning and programming for robot control in highly dynamic domains}, SCHOOL={RWTH Aachen University, Germany}, MONTH={November}, YEAR={2003}, URLPaper={200506061853_Fritz2003Integrating.pdf}, keywords = {Golog, RoboCup} }
@article{grosskreutz_cc-golog_2003, title = {cc-{Golog} - {An} {Action} {Language} with {Continuous} {Change}}, volume = {11}, issn = {1367-0751}, url = {http://jigpal.oxfordjournals.org/content/11/2/179.short}, doi = {10.1093/jigpal/11.2.179}, abstract = {High-level robot controllers often need to specify event-driven behavior and they operate low-level processes which change the world in a continuous fashion. While non logic-based control languages have existed for some time to address these issues, this is not the case for logic-based languages. To remedy the situation, we show how to incorporate continuous change and event-driven behavior into the action language GOLOG. Besides proposing a suitable semantics for the new language, which we call cc-Golog, we show how a robot architecture where a high-level controller communicates via messages with low-level routines can be modeled naturally in this new dialect. Finally, we demonstrate how on-line execution and off-line projection can be combined in this language.}, number = {2}, journal = {Logic Journal of IGPL}, author = {Grosskreutz, Henrik}, year = {2003}, keywords = {golog, reading list}, pages = {179--221} }
@InProceedings{Kiringa01a, Title = {Simulation of Advanced Transaction Models Using GOLOG}, Author = {Kiringa, I}, Booktitle = {Proceedings of the 8th Biennial Workshop on Data Bases and Programming Languages (DBPL'01)}, Year = {2001}, File = {dbpl01.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/dbpl01.pdf:PDF;dbpl01.ps:http\://www.cs.toronto.edu/cogrobo/Papers/dbpl01.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/dbpl01.ps.gz}, Timestamp = {2018.09.23}, Url = {dbpl01.pdf} }
@TechReport{Hindriks00b, Title = {An Embedding of ConGolog in 3{APL}}, Author = {Hindriks, Koen and Lesp\'erance, Yves and Levesque, Hector}, Institution = {Department of Computer Science, University Utrecht}, Year = {2000}, Number = {UU-CS-2000-13}, Key = {CogRobo}, Keywords = {Golog}, Timestamp = {2018.09.23}, Url = {Hindriks00b.pdf} }
@Article{Giuseppe00-ConGologAi, Title = {Con{G}olog, A Concurrent Programming Language Based on the Situation Calculus}, Author = {De Giacomo, Giuseppe and Lesp\'erance, Yves and Levesque, Hector}, Journal = {Artificial Intelligence}, Year = {2000}, Number = {1--2}, Pages = {109--169}, Volume = {121}, File = {ConGologAIJ.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/ConGologAIJ.pdf:PDF;ConGologAIJ.ps:http\://www.cs.toronto.edu/cogrobo/Papers/ConGologAIJ.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Timestamp = {2018.09.23}, Url = {ConGologAIJ.pdf} }
@InProceedings{Boutilier00, Title = {Decision-Theoretic, High-Level Agent Programming in the Situation Calculus}, Author = {Boutilier, Craig and Reiter, Ray and Soutchanski, Mikhail and Thrun, Sebastian}, Booktitle = {Workshop on Decision-Theoretic Planning, Seventh International Conference on Principles of Knowledge Representation and Reasoning (KR2000)}, Year = {2000}, Address = {Breckenridge, Colorado}, Month = {Apr}, File = {dtgologKR00W.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/dtgologKR00W.pdf:PDF;dtgologKR00W.ps:http\://www.cs.toronto.edu/cogrobo/Papers/dtgologKR00W.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/dtgologKR00W.ps.gz}, Timestamp = {2018.09.23}, Url = {dtgologKR00W.pdf} }
@InProceedings{Grosskreutz00, Title = {cc-Golog: Towards More Reaslitic Logic-Based Robot Controllers}, Author = {Grosskreutz, Henrik and Lakemeyer, Gerhard}, Booktitle = {Proceedings of AAAI-00}, Year = {2000}, Address = {Austin, Texas}, Month = {Jul}, Key = {CogRobo2}, Keywords = {Golog}, Optnote = { \\ {\sf Extends the situation calculus and ConGolog to model continuous and event-driven behavior. cc-Golog can wait for events and execute plans while guarding certain constraints.}}, Timestamp = {2018.09.23}, Url = {Grosskreutz00.pdf} }
@InProceedings{Soutchanski00, Title = {An On-line Decision-Theoretic Golog Interpreter}, Author = {Soutchanski, Mikhail}, Booktitle = {The 2nd International Cognitive Robotics Workshop (held in conjunction with ECAI-2000) }, Year = {2000}, Address = {Berlin, Germany}, Month = {August}, File = {onlinedtgi.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/onlinedtgi.pdf:PDF;onlinedtgi.ps:http\://www.cs.toronto.edu/cogrobo/Papers/onlinedtgi.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/onlinedtgi.ps.gz}, Timestamp = {2018.09.23}, Url = {onlinedtgi.pdf} }
@InProceedings{Levesque00-Legolog, Title = {Le{G}olog: {I}nexpensive Experiments in Cognitive Robotics}, Author = {Levesque, Hector and Pagnucco, Maurice}, Booktitle = {Proceedings of the Second International Cognitive Robotics Workshop}, Year = {2000}, Address = {Berlin, Germany}, Month = {August}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/crw00.ps}, Timestamp = {2018.09.23}, Url = {crw00.pdf} }
@InProceedings{Baral99, Title = {Extending {C}on{G}olog to Allow Partial Ordering}, Author = {Baral, Chitta and Cao Son, Tran}, Booktitle = {Proceedings of ATAL-99}, Year = {1999}, Pages = {188--204}, Key = {CogRobo2}, Keywords = {Golog}, Optnote = { \\ {\sf Extends ConGolog with a new $htn$-construct to express plans with partial ordering. The idea is to incoporate the advantages of hierarchical task networks (HTN) into the ConGolog high-level language. }}, Timestamp = {2018.09.23}, Url = {Baral99.pdf} }
@InProceedings{Reiter98, Title = {Sequential, Temporal GOLOG}, Author = {Reiter, Ray}, Booktitle = {Principles of Knowledge Representation and Reasoning: Proceedings of the Sixth International Conference (KR'98)}, Year = {1998}, Address = {Trento, Italy}, Pages = {547--556}, File = {reiterkr98.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/reiterkr98.pdf:PDF;reiterkr98.ps:http\://www.cs.toronto.edu/cogrobo/Papers/reiterkr98.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/reiterkr98.ps.gz}, Timestamp = {2018.09.23}, Url = {reiterkr98.pdf} }
@InProceedings{Lesperance97, Title = {An Experiment in Using Golog to Build a Personal Banking Assistant}, Author = {Lesp\'erance, Y. and Levesque, H. J. and Ruman, S.}, Booktitle = {Intelligent Agent Systems: Theoretical and Practical Issues}, Year = {1997}, Editor = {Rao, L. and Wobcke, W.}, Pages = {27--43}, Publisher = {Springer-Verlag}, Series = {Lectures Notes in Artificial Intelligence (LNAI)}, Volume = {1209}, File = {bankingAgt.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/bankingAgt.pdf:PDF;bankingAgt.ps:http\://www.cs.toronto.edu/cogrobo/Papers/bankingAgt.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/bankingAgt.ps.gz}, Timestamp = {2018.09.23}, Url = {bankingAgt.pdf} }
@InProceedings{Shapiro97, Title = {Specifying Communicative Multi-Agent Systems with ConGolog}, Author = {Shapiro, S. and Lesp\'erance, Y. and Levesque, H. J.}, Booktitle = {In Working Notes of the AAAI Fall 1997 Symposium on Communicative Action in Humans and Machines}, Year = {1997}, Address = {Cambridge, MA}, Month = {Novemeber}, Pages = {72--82}, Publisher = {AAAI Press}, File = {AAAIfall97.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/AAAIfall97.pdf:PDF;AAAIfall97.ps:http\://www.cs.toronto.edu/cogrobo/Papers/AAAIfall97.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/AAAIfall97.ps.gz}, Timestamp = {2018.09.23}, Url = {AAAIfall97.pdf} }
@InProceedings{Giuseppe97-ConGolog1, Title = {Reasoning About Concurrent Execution, Prioritized Interrupts, and Exogenous Actions in the Situation Calculus}, Author = {De Giacomo, Giuseppe and Lesp\'erance, Yves and Levesque, Hector}, Booktitle = {Proceedings of the Fifteenth International Joint Conference on AI (IJCAI-97)}, Year = {1997}, Address = {Nagoya}, Month = {August}, Pages = {1221--1226}, File = {congologIJCAI97.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/congologIJCAI97.pdf:PDF;congologIJCAI97.ps:http\://www.cs.toronto.edu/cogrobo/Papers/congologIJCAI97.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/congologIJCAI97.ps.gz}, Timestamp = {2018.09.23}, Url = {congologIJCAI97.pdf} }
@Article{Levesque97-Golog, Title = {{GOLOG}: {A} Logic Programming Language for Dynamic Domains}, Author = {Levesque, H. and Reiter, R. and Lesp\'erance, Y. and Lin, F. and Scherl, R.}, Journal = {Journal of Logic Programming}, Year = {1997}, Pages = {59--84}, Volume = {31}, File = {GOLOGlang.pdf:http\://www.cs.toronto.edu/cogrobo/Papers/GOLOGlang.pdf:PDF;GOLOGlang.ps:http\://www.cs.toronto.edu/cogrobo/Papers/GOLOGlang.ps:PostScript}, Key = {CogRobo}, Keywords = {Golog}, Opturl = {http://www.cs.toronto.edu/cogrobo/Papers/GOLOGlang.ps.gz}, Timestamp = {2018.09.23}, Url = {GOLOGlang.pdf} }