On the Way to High-Level Programming for Resource-Limited Embedded Systems with Golog

  • Alexander Ferrein
  • Gerald Steinbauer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6472)


In order to allow an autonomous robot to perform non-trivial tasks like to explore a foreign planet the robot has to have deliberative capabilities like reasoning or planning. Logic-based approaches like the programming and planing language Golog and it successors has been successfully used for such decision-making problems. A drawback of this particular programing language is that their interpreter usually are written in Prolog and run on a Prolog back-end. Such back-ends are usually not available or feasible on resource-limited robot systems. In this paper we present our ideas and first results of a re-implementation of the interpreter based on the Lua scripting language which is available on a wide range of systems including small embedded systems.


Humanoid Robot Autonomous Robot Real Robot Light Sensor Primitive Action 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Beetz, M.: Structured Reactive Controllers. Autonomous Agents and Multi-Agent Systems 4(2), 25–55 (2001)CrossRefGoogle Scholar
  2. 2.
    Boutilier, C., Reiter, R., Soutchanski, M., Thrun, S.: Decision-theoretic, high-level agent programming in the situation calculus. In: Proceedings of the Seventeenth National Conference on Artificial Intelligence (AAAI 2000) and Twelfth Conference on Innovative Applications of Artificial Intelligence (IAAI 2000), pp. 355–362. AAAI Press, Menlo Park (2000)Google Scholar
  3. 3.
    Caldiran, O., Haspalamutgil, K., Ok, A., Palaz, C., Erdem, E., Patoglu, V.: Bridging the gap between high-level reasoning and low-level control. In: Erdem, E., Lin, F., Schaub, T. (eds.) LPNMR 2009. LNCS, vol. 5753, pp. 342–354. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    De Giacomo, G., Lésperance, Y., Levesque, H.: ConGolog, A concurrent programming language based on situation calculus. Artificial Intelligence 121(1-2), 109–169 (2000)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Ferrein, A.: lua.golog: Towards a non-prolog implementation of golog for embedded systems. In: Lakemeyer, G., Levesque, H., Pirri, F. (eds.) Cognitive Robotics. Dagstuhl Seminar Proceedings, vol. 100081, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany (to appear, 2010)Google Scholar
  6. 6.
    Ferrein, A., Lakemeyer, G.: Logic-based robot control in highly dynamic domains. Robotics and Autonomous Systems, Special Issue on Semantic Knowledge in Robotics 56(11), 980–991 (2008)CrossRefGoogle Scholar
  7. 7.
    Ferrein, A., Steinbauer, G., McPhillips, G., Potgieter, A.: RoboCup Standard Platform League - Team Zadeat - An Intercontinental Research Effort. In: International RoboCup Symposium, Suzhou, China (2008)Google Scholar
  8. 8.
    Giacomo, G.D., Lésprance, Y., Levesque, H.J., Sardina, S.: Multi-Agent Programming: Languages, Tools and Applications. In: Multi-Agent Programming: Languages, Tools and Applications, pp. 31–72. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Grosskreutz, H., Lakemeyer, G.: ccgolog – A logical language dealing with continuous change. Logic Journal of the IGPL 11(2), 179–221 (2003)CrossRefGoogle Scholar
  10. 10.
    Hempel, R.: pblua – scripting fot the LEGO NXT (2010), http://www.hempeldesigngroup.com/lego/pblua/ (last visited on May 21, 2010)
  11. 11.
    Hirschi, A.: Traveling Light, the Lua Way. IEEE Software 24(5), 31–38 (2007)CrossRefGoogle Scholar
  12. 12.
    Ierusalimschy, R., de Figueiredo, L.H., Filho, W.C.: Lua - An Extensible Extension Language. Software: Practice and Experience 26(6), 635-652 (1999)Google Scholar
  13. 13.
    Ierusalimschy, R., de Figueiredo, L.H., Filho, W.C.: The Evolution of Lua. In: Proceedings of History of Programming Languages III, pp. 2–1 – 2–26. ACM, New York (2007)Google Scholar
  14. 14.
    Konolige, K., Myers, K., Ruspini, E., Saffiotti, A.: The saphira architecture: A design for autonomy. Journal of Experimental and Theoretical Artificial Intelligence 9, 215–235 (1997)CrossRefGoogle Scholar
  15. 15.
    Levesque, H.J., Pagnucco, M.: Legolog: Inexpensive experiments in cognitive robotics. In: Proceedings of the Second International Cognitive Robotics Workshop, Berlin, Germany (2000)Google Scholar
  16. 16.
    Levesque, H.J., Reiter, R., Lésprance, Y., Lin, F., Scherl, R.B.: GOLOG: A logic programming language for dynamic domains. The Journal of Logic Programming 31(1-3), 59–83 (1997), http://www.sciencedirect.com/science/article/B6V0J-3SNV3TD-4/2/11b8202180bb72d91149646db7f4979e, reasoning about Action and Change
  17. 17.
    McCarthy, J.: Situations, Actions and Causal Laws. Tech. rep., Stanford University (1963)Google Scholar
  18. 18.
    Niemüller, T., Ferrein, A., Lakemeyer, G.: A lua-based behavior engine for controlling the humanoid robot nao. In: Baltes, J., et al. (eds.) RoboCup 2009. LNCS, vol. 5949, pp. 240–251. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  19. 19.
    Pham, H.: Applying DTGolog to Large-scale Domains. Master’s thesis, Department of Electrical and Computer Engineering, Ryerson University, Toronot, Canada (2006)Google Scholar
  20. 20.
    Reiter, R.: Knowledge in Action. Logical Foundations for Specifying and Implementing Dynamical Systems. MIT Press, Cambridge (2001)Google Scholar
  21. 21.
    Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice-Hall, Englewood Cliffs (2003)MATHGoogle Scholar
  22. 22.
    Talaga, P., Oh, J.C.: Combining AIMA and LEGO mindstorms in an artificial intelligence course to build realworldrobots. Journal of Computing Science in Colleges 24(3), 56–64 (2009)Google Scholar
  23. 23.
    The Debian Project: The Computer Language Benchmarks Game, http://shootout.alioth.debian.org/ (retrieved January 30, 2009)

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Alexander Ferrein
    • 1
  • Gerald Steinbauer
    • 2
  1. 1.Robotics and Agent Research LabUniversity of Cape TownCape TownSouth Africa
  2. 2.Institute for Software TechnologyGraz University of TechnologyGrazAustria

Personalised recommendations