Nao4All project – Graphical applications for NAO robot


Why only a few people are able to create, control or use a robot? The answer is quite straightforward: because robotics is hard! But what is “robotics” and why it is hard for a person to get involved? Robotics can be seen as an mix of mechanical engineering, electrical engineering and computer science, joining forces towards creating and controlling (manually or autonomously) machines that interact with their environments. Thankfully for the roboticists, they do not have to excel in all of the aforementioned fields, since there are a number of open source and commercial middleware that enable a roboticist to create a controller easily, as well as an abundance of algorithms offered by the robotics community that can be easily plugged in a controller and operate effortlessly.

Nevertheless, since robots evade our everyday lives, a time will come when people with no technical background will need to operate such complex machines. One way to perform such task, without forcing everyone to be a developer, is to use intuitive graphical languages in order to easily create robotic applications.

One of the methodologies used for creating quickly error-less and of high quality Software is Model Driven Engineering, or MDE. MDE is based on models and transformations, in order to allow the software designer to focus to the actual application he/she is trying to implement and not in the implementation details (e.g. programming APIs). Since the transformation of the models to the code is automated, the quality of the results does not depend on human factors.

The goals of the Nao4All platform is to apply the MDE methodology on creating applications for the NAO robot. Specifically, Nao4All attempts to:

  • Provide to people with no technical background an easy and fast way to correctly design and implement robotic applications
  • Significantly increase the success rate of developing correct robotic applications for NAO robot
  • Allow for easy and fast modification of already created robotic applications created with the current tool, in order for their maintenance to be cheap, in terms of time and money

Some applications created with the Nao4All tool follow:

For more information concerning the technical part of the implementation, please visit