A Lua-based Behavior Engine for Controlling the Humanoid Robot Nao

  • Tim Niemüller
  • Alexander Ferrein
  • Gerhard Lakemeyer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5949)


The high-level decision making process of an autonomous robot can be seen as an hierarchically organised entity, where strategical decisions are made on the topmost layer, while the bottom layer serves as driver for the hardware. In between is a layer with monitoring and reporting functionality. In this paper we propose a behaviour engine for this middle layer which, based on formalism of hybrid state machines (HSMs), bridges the gap between high-level strategic decision making and low-level actuator control. The behaviour engine has to execute and monitor behaviours and reports status information back to the higher level. To be able to call the behaviours or skills hierarchically, we extend the model of HSMs with dependencies and sub-skills. These Skill-HSMs are implemented in the lightweight but expressive Lua scripting language which is well-suited to implement the behaviour engine on our target platform, the humanoid robot Nao.


State Machine Multiagent System Humanoid Robot Jump Condition Hybrid Automaton 
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.


  1. 1.
    Bekey, G.A.: Autonomous Robots: From Biological Inspiration to Implementation and Control. MIT Press, Cambridge (2005)Google Scholar
  2. 2.
    Murphy, R.R.: Introduction to AI Robotics. The MIT Press, Cambridge (2000)Google Scholar
  3. 3.
    Henzinger, T.A.: The theory of hybrid automata. In: Proceedings Logic in Computer Science 1996, July 1996, pp. 278–292. IEEE, Los Alamitos (1996)Google Scholar
  4. 4.
    Ierusalimschy, R., de Figueiredo, L.H., Filho, W.C.: Lua - An Extensible Extension Language. Software: Practice and Experience 26(6), 635–652 (1999)CrossRefGoogle Scholar
  5. 5.
    Aldebaran Robotics (2008),
  6. 6.
    Niemueller, T.: Developing A Behavior Engine for the FawkesRobot-Control Software and its Adaptation to the Humanoid Platform Nao. Master’s thesis, Knowledge-Based Systems Group, RWTH Aachen University (to appear, 2009)Google Scholar
  7. 7.
    Brooks, A., Kaupp, T., Makarenko, A., Williams, S., Orebäck, A.: Towards Component-Based Robotics. In: Proc. IROS 2006, August 2005, pp. 163–168 (2005)Google Scholar
  8. 8.
    Collins-Cope, M.: Component Based Development and Advanced OO Design. Whitepaper, Ratio Group Ltd. (2001)Google Scholar
  9. 9.
    Furbach, U., Murray, J., Stolzenburg, F.: Hybrid Multiagent Systems with Timed Synchronization – Specification and Model Checking. In: Dastani, M.M., El Fallah Seghrouchni, A., Ricci, A., Winikoff, M. (eds.) ProMAS 2007. LNCS (LNAI), vol. 4908, pp. 205–220. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Arai, T., Stolzenburg, F.: Multiagent systems specification by UML statecharts aiming at intelligent manufacturing. In: Proc. AAMAS 2002. ACM Press, New York (2002)Google Scholar
  11. 11.
    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
  12. 12.
    The Debian Project: The Computer Language Benchmarks Game, (retrieved January 30, 2009)
  13. 13.
    Hirschi, A.: Traveling Light, the Lua Way. IEEE Software 24(5), 31–38 (2007)CrossRefGoogle Scholar
  14. 14.
    Loetzsch, M., Risler, M., Jungel, M.: XABSL - A Pragmatic Approach to Behavior Engineering. In: Proc. IROS 2006, pp. 5124–5129 (2006)Google Scholar
  15. 15.
    Medeiro, S., Ierusalimschy, R.: A parsing machine for PEGs. In: Proceedings of the 2008 Symposium on Dynamic Languages, pp. 1–12. ACM, New York (2008)CrossRefGoogle Scholar
  16. 16.
    Kobayashi, H., Ishino, A., Shinohara, A.: A framework for advanced robot programming in the robocup domain - using plug-in system and scripting language. In: Proc. IAS-9, pp. 660–667 (2006)Google Scholar
  17. 17.
    Hester, T., Quinlan, M., Stone, P.: UT Austin Villa 2008: Standing On Two Legs. Technical report, Department of Computer Sciences, The University of Texas, Austin (2008)Google Scholar
  18. 18.
    Ellson, J., Gansner, E., Koutsofios, L., North, S.C., Woodhull, G.: Graphviz – Open Source Graph Drawing Tools. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, pp. 483–597. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Tim Niemüller
    • 1
  • Alexander Ferrein
    • 1
    • 2
  • Gerhard Lakemeyer
    • 1
  1. 1.Knowledge-based Systems GroupRWTH Aachen UniversityAachenGermany
  2. 2.Robotics and Agents Research LabUniversity of Cape TownCape TownSouth Africa

Personalised recommendations