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

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.

[1]  Roberto Ierusalimschy,et al.  A parsing machine for PEGs , 2008, DLS '08.

[2]  George A. Bekey,et al.  AUTONOMOUS ROBOTS, From Biological Inspiration to Implementation and Control, by G.A. Bekey, MIT Press, 2005, xv + 577 pp., index, ISBN 0-262-02578-7, 25 pages of references (Hb. £35.95) , 2005, Robotica.

[3]  Matthias Jüngel,et al.  XABSL - A Pragmatic Approach to Behavior Engineering , 2006, 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[4]  Ulrich Furbach,et al.  Hybrid Multiagent Systems with Timed Synchronization - Specification and Model Checking , 2007, PROMAS.

[5]  Robin R. Murphy,et al.  Introduction to AI Robotics , 2000 .

[6]  Thomas A. Henzinger,et al.  The theory of hybrid automata , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[7]  Emden R. Gansner,et al.  Graphviz - Open Source Graph Drawing Tools , 2001, GD.

[8]  Roberto Ierusalimschy,et al.  The evolution of Lua , 2007, HOPL.

[9]  Alexei Makarenko,et al.  Towards component-based robotics , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[10]  Todd Hester,et al.  UT Austin Villa 2008: Standing On Two Legs , 2008 .

[11]  Ayumi Shinohara,et al.  A Framework for Advanced Robot Programming in the RoboCup Domain - Using Plug-in System and Scripting Language , 2006, IAS.

[12]  Roberto Ierusalimschy,et al.  Lua—An Extensible Extension Language , 1996, Softw. Pract. Exp..

[13]  Toshiaki Arai,et al.  Multiagent systems specification by UML statecharts aiming at intelligent manufacturing , 2002, AAMAS '02.

[14]  A. Hiischi Traveling Light, the Lua Way , 2007, IEEE Software.