Programming Robots with Events

  • Truong-Giang Le
  • Dmitriy Fedosov
  • Olivier Hermant
  • Matthieu Manceny
  • Renaud Pawlak
  • Renaud Rioboo
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 403)


We introduce how to use event-based style to program robots through the INI programming language. INI features both built-in and user-defined events, a mechanism to handle various kinds of changes happening in the environment. Event handlers run in parallel either synchronously or asynchronously, and events can be reconfigured at runtime to modify their behavior when needed. We apply INI to the humanoid robot called Nao, for which we develop an object tracking program.


robotics event-based programming context-aware reactive systems parallel programming 


  1. 1.
    Auyeung, T.: Robot programming in C (2006),
  2. 2.
    Bar-Cohen, Y., Hanson, D.: The Coming Robot Revolution: Expectations and Fears About Emerging Intelligent, Humanlike Machines, 1st edn. Springer Publishing Company, Incorporated (2009)Google Scholar
  3. 3.
    Bekey, G.: Robotics: State of the Art and Future Challenges. World Scientific (2008)Google Scholar
  4. 4.
    Chinello, F., Scheggi, S., Morbidi, F., Prattichizzo, D.: Kuka control toolbox. IEEE Robot. Automat. Mag. 18(4), 69–79 (2011)CrossRefGoogle Scholar
  5. 5.
    Cohen, N.H., Kalleberg, K.T.: EventScript: an event-processing language based on regular expressions with actions. In: Proceedings of the 2008 ACM SIGPLAN-SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES 2008, pp. 111–120. ACM, New York (2008)CrossRefGoogle Scholar
  6. 6.
    KUKA Robotics Corporation: Kuka,
  7. 7.
  8. 8.
    Dabek, F., Zeldovich, N., Kaashoek, F., Mazières, D., Morris, R.: Event-driven programming for robust software. In: Proceedings of the 10th Workshop on ACM SIGOPS European Workshop, EW 10, pp. 186–189 (2002)Google Scholar
  9. 9.
    Etzion, O., Niblett, P.: Event Processing in Action. Manning Publications Co. (2010)Google Scholar
  10. 10.
    Faison, T.: Event-Based Programming: Taking Events to the Limit. Apress, Berkely (2006)Google Scholar
  11. 11.
    Federation, T.R.: Robocup’s homepage,
  12. 12.
    Gostai: The Urbi Software Development Kit (July 2011)Google Scholar
  13. 13.
    Gouaillier, D., Hugel, V., Blazevic, P., Kilner, C., Monceaux, J., Lafourcade, P., Marnier, B., Serre, J., Maisonnier, B.: The Nao humanoid: A combination of performance and affordability. CoRR abs/0807.3223 (2008)Google Scholar
  14. 14.
    Holzer, A., Ziarek, L., Jayaram, K., Eugster, P.: Putting events in context: aspects for event-based distributed programming. In: Proceedings of the Tenth International Conference on Aspect-Oriented Software Development, AOSD 2011, pp. 241–252. ACM, New York (2011)CrossRefGoogle Scholar
  15. 15.
  16. 16.
    Jayaram, K.R., Eugster, P.: Context-oriented programming with EventJava. In: International Workshop on Context-Oriented Programming, COP 2009, pp. 9:1–9:6. ACM, New York (2009)CrossRefGoogle Scholar
  17. 17.
    Kang, S., Gu, K., Chang, W., Chi, H.: Robot Development Using Microsoft Robotics Developer Studio. Taylor & Francis (2011)Google Scholar
  18. 18.
    Le, T.G.: A demonstration video,
  19. 19.
    Le, T.G., Hermant, O., Manceny, M., Pawlak, R., Rioboo, R.: Unifying event-based and rule-based styles to develop concurrent and context-aware reactive applications - toward a convenient support for concurrent and reactive programming. In: Proceedings of the 7th International Conference on Software Paradigm Trends, Rome, Italy, July 24-27, pp. 347–350 (2012)Google Scholar
  20. 20.
    M&M: Service robotics market (personal & professional) global forecast & assessment by applications & geography (2012 - 2017) (2012),
  21. 21.
    Mühl, G., Fiege, L., Pietzuch, P.: Distributed Event-Based Systems. Springer-Verlag New York, Inc., Secaucus (2006)zbMATHGoogle Scholar
  22. 22.
    Preston, S.: The Definitive Guide to Building Java Robots (The Definitive Guide to). Apress, Berkely (2005)Google Scholar
  23. 23.
    Robomatter: Robotc,
  24. 24.
    Aldebaran Robotics: Nao software documentation,
  25. 25.
    Aldebaran Robotics: Nao’s homepage,
  26. 26.
    Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice Hall Press, Upper Saddle River (2009)Google Scholar
  27. 27.
    Truong-Giang, L.: INI Online (2012),
  28. 28.
    Wadhawan, V.: Robots of the future. Resonance 12, 61–78 (2007)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Truong-Giang Le
    • 1
  • Dmitriy Fedosov
    • 2
  • Olivier Hermant
    • 3
  • Matthieu Manceny
    • 1
  • Renaud Pawlak
    • 4
  • Renaud Rioboo
    • 5
  1. 1.LISITE - ISEPParisFrance
  2. 2.Saint-Petersbourg University of Aerospace InstrumentationSaint PetersburgRussia
  3. 3.CRI - MINES ParisTechFontainebleauFrance
  4. 4.IDCaptureParisFrance
  5. 5.ENSIIEÉvry CedexFrance

Personalised recommendations