of which deals with managing the node itself as well
as ActionClient objects, callbacks and other accesso-
rial data structures which are hidden from the user in
golog++.
Practical tests on the Pepper platform (Fig. 3)
have shown that golog++ in combination with ROS
yields an easy-to-use and robust high-level agent ar-
chitecture. Since Pepper is a platform directly tar-
geted at human-robot interaction, implemented tasks
revolved around social robotics. That is, Pepper acts
as a simple tour guide in the rooms of the MAS-
COR Institute, or demonstrates simple speech-based
human-robot interaction and neural network-based
object recognition at science fairs and other events.
golog++’s concise syntax and interpreted nature
turned out to be very helpful in such scenarios by
making it easy to adapt a demo application on the
spot, e.g. to address questions from the audience.
Preliminary user studies have also shown that,
given some rudimentary documentation and exam-
ple code, users with varying backgrounds in robotics
and computer science were able to interface their first
new action to the golog++ RosPlatformBackend in
about one hour. Subsequent action interfaces were
then done within mere minutes.
In the future, we plan on releasing golog++ with
the RosPlatformBackend as a ROS package to make
it as accessible as possible. The next development
step will be to hook into the ROS message generation
infrastructure to completely automate the process of
interfacing a ROS action to golog++ so that no ad-
ditional C++ coding will be necessary.
We are also following the development of ROS2
and will consider a port as soon as important function-
alities like the ActionLib are sufficiently developed.
ACKNOWLEDGEMENTS
This work was supported by the German Na-
tional Science Foundation (DFG) under grant number
FE 1077/4-1
REFERENCES
Adam, K., Butting, A., Kautz, O., Rumpe, B., and Wort-
mann, A. (2017). Executing robot task models in dy-
namic environments. In Proceedings of the 3rd In-
ternational Workshop on Executable Modeling (EXE)
held at ACM/IEEE 20th International Conference on
Model Driven Engineering Languages and Systems
(MODELS), pages 95–101.
Andres, B., Obermeier, P., Sabuncu, O., Schaub, T., and
Rajaratnam, D. (2013). ROSoClingo: A ROS package
for ASP-based robot control. CoRR, abs/1307.7398.
Beetz, M., M
¨
osenlechner, L., and Tenorth, M. (2010).
CRAM A Cognitive Robot Abstract Machine for
everyday manipulation in human environments. In
2010 IEEE/RSJ International Conference on Intelli-
gent Robots and Systems, pages 1012–1017.
Bohren, J. and Cousins, S. (2010). The smach high-level
executive [ros news]. IEEE Robotics & Automation
Magazine, 17(4):18–20.
Boutilier, C., Reiter, R., Soutchanski, M., Thrun, S., et al.
(2000). Decision-theoretic, high-level agent program-
ming in the situation calculus. AAAI/IAAI, 2000:355–
362.
Brunner, S. G., Steinmetz, F., Belder, R., and D
¨
omel, A.
(2016). Rafcon: A graphical tool for engineering com-
plex, robotic tasks. In 2016 IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS),
pages 3283–3290. IEEE.
Cashmore, M., Fox, M., Long, D., Magazzeni, D., Ridder,
B., Carreraa, A., Palomeras, N., Hurt
´
os, N., and Car-
rerasa, M. (2015). ROSPlan: Planning in the Robot
Operating System. In Proceedings of the Twenty-Fifth
International Conference on International Conference
on Automated Planning and Scheduling, ICAPS’15,
pages 333–341. AAAI Press.
De Giacomo, G., Lesp
´
erance, Y., and Levesque, H. J.
(1997). Reasoning about concurrent execution, priori-
tized interrupts, and exogenous actions in the situation
calculus. In IJCAI, volume 97, pages 1221–1226.
De Giacomo, G., Lesp
´
erance, Y., Levesque, H. J., and Sar-
dina, S. (2009). Indigolog: A high-level programming
language for embedded reasoning agents. In Multi-
Agent Programming, pages 31–72. Springer.
De Giacomo, G. and Levesque, H. J. (1999). An incremen-
tal interpreter for high-level programs with sensing. In
Logical foundations for cognitive agents, pages 86–
102. Springer.
Eppe, M., Bhatt, M., Suchan, J., and Tietzen, B. (2014).
ExpCog: Experiments in commonsense cognitive
robotics. In Proceeding of the 9th International Work-
shop on Cognitive Robotics (CogRob) held at the Eu-
ropean Conference on Artificial Intelligence (ECAI
2014).
Ferrein, A. (2010a). golog.lua: Towards a non-prolog
implementation of GOLOG for embedded systems.
In Hoffmann, G., editor, Proceedings of the AAAI
Spring Symposium on Embedded Reasoning, (SS-10-
04), pages 20–28. AAAI Press.
Ferrein, A. (2010b). Robot controllers for highly dy-
namic environments with real-time constraints. KI -
K
¨
unstliche Intelligenz, 24(2):175–178.
Ferrein, A. and Lakemeyer, G. (2008). Logic-based robot
control in highly dynamic domains. Robotics and Au-
tonomous Systems, 56(11):980–991.
Ferrein, A., Maier, C., M
¨
uhlbacher, C., Niemueller, T.,
Steinbauer, G., and Vassos, S. (2016). Controlling lo-
gistics robots with the action-based language YAGI.
In International Conference on Intelligent Robotics
and Applications, pages 525–537. Springer.
ICAART 2020 - 12th International Conference on Agents and Artificial Intelligence
698