Comparison of Pepper's OS versions
How to choose between Pepper (NAOqi 2.5) And Pepper QiSDK? On the one hand, NAOqi 2.5 is a flexible Python-based development platform for advanced robotics programs, and on the other hand, the QiSDK is a stable Android-based solution for interactive and market-fit use cases. Let's check these points more closely.
Pepper offers a wide range of functional and technical functionalities thanks to various SDKs and plug-ins. Let’s examine common points, differences, specificities and frequently asked questions about them.
On this website, we usually talk about Pepper (NAOqi 2.5) and Pepper QiSDK, however, for the sake of clarity in this article, we will use NAOqi 2.5 for the python-based Pepper (NAOqi 2.5) and NAOqi 2.9 for the Android-based Pepper QiSDK.
The common purpose of both operating systems is to give life to Pepper. At the end of the day, they both allow Pepper to perform very similar actions, such as interacting with humans, providing information, using animations or moving around. The difference lies in the way of achieving these tasks.
None of the OS are hardware-dependent (they both work on both 1.8 and 1.8a hardware versions of Pepper. The ideal combination is still to use NAOqi 2.5 with Pepper 1.8a and NAOqi 2.9 with Pepper 1.8).
The choice of the operating system does not impact the robot’s battery life.
It is also possible to find application content for both OS, even though the available content differs depending on the chosen OS.
NAOqi 2.5 is usually the best fit for advanced robotics programs and Python-based development, but NAOqi 2.9 is better suited for interaction-based use cases or applied science courses.
NAOqi 2.5 is designed to use the robot as a development platform whereas with NAOqi 2.9, Pepper is meant to be a part of a solution.
NAOqi 2.5 offers a very flexible open platform environment with more than 1000 APIs available, low-level programming and direct access to the sensors' and actuators' raw data. Meanwhile, NAOqi 2.9 provides a more stable and secure environment with only 20 different APIs for high-level development.
Last but not least, it is technically possible to upgrade from NAOqi 2.5 to NAOqi 2.9, in order to do so please contact the Support Team. However, be aware that it is not possible to downgrade the other way.
According to what qualities can we distinguish one from the other?
Same actions but distinct tooling
From the perspective of tooling, there is NAOqi 2.5 and Choregraphe on one side versus NAOqi 2.9 and Android Studio on the other.
Both tools are designed to provide a complete robotic programmation environment (virtual robot simulator and physical robot viewer, Animation Editor, Chat simulator…).
These distinct tools still have common functionalities, such as:
- Making the robot talk and interact with people in a simple way
- Testing actions on the virtual or physical robot
- Making the robot move
NAOqi 2.5 and Choregraphe
Here are some of the tools available for NAOqi 2.5 (and also for NAO):
Choregraphe is a multi-platform desktop application, using a box-based programming logic, allowing you to:
- Create animations, behaviors, dialogues and test them on a virtual or physical robot;
- Fully control your robot (thanks to menus, panels and toolbars) and manage the installed applications (install/uninstall/start and stop applications);
- Enrich the Choregraphe behaviors with your own Python code.
The box-based programming paradigm allows everyone to program on Pepper, regardless of their coding skills. More advanced coding is made possible through the editing of the Python code of each box, the creation of new ones and direct access to the robot's memory events.
If you prefer not to use Choregraphe, a Python and a C++ SDK are also available to let you run scripts directly on Pepper. If you are looking for an even more advanced use of your robot, a ROS bridge is also compatible with NAOqi 2.5, though it is maintained by the ROS community and not officially supported by SoftBank Robotics.
NAOqi 2.9 and Android Studio
The NAOqi 2.9 Android Studio plug-in provides a set of graphical tools and a Java library, the QiSDK. You can make the robot move, talk and interact with people in a simple way by using a straightforward API, directly from your Android activity. Programming Pepper becomes as easy as programming an Android application!
One of the many qualities of Android Studio is that it comes with a Layout Editor to work directly on the tablet display.
The plug-in does not only support Java programming but also Kotlin.
Weight the pros & cons
As explained above, the strengths of NAOqi 2.5 are OS flexibility and the direct access to every sensors' and actuators' raw data to run complex robotic algorithms on Pepper.
This version of NAOqi is very similar to the 2.1 and 2.8 ones used for NAO robots. NAO users will easily adapt their code to Pepper as the integrated development environment is the same and the programming APIs are very close.
But on the other hand, it is more difficult to create robust and “deployment ready” applications. Plus, the main drawback is that SoftBank Robotics teams are now focusing their efforts on NAOqi 2.9, so that no new release of NAOqi 2.5 is to be expected.
NAOqi 2.9 has first been designed to guarantee the stability and the security of the solutions deployed for B2B use cases. Therefore, Pepper's interactive abilities have also noticeably improved, and SoftBank Robotics teams are continuously upgrading this software version with new functionalities. For example, the NAOqi 2.9.5 release allows Pepper to navigate in large spaces in a very stable way.
In addition, the binding with the Android architecture makes for easier use of external chatbots and other AI libraries. Even better, all the Android External libraries such as Tensorflow can be integrated in Pepper nearly instantaneously.
However, all the development is made via tablet applications and the inner system of the robot is no longer accessible. It also does not provide any compatibility with the Python or ROS libraries.
Meeting goals in education
The choice of the operating system is usually not a crucial question in the B2B sector, as most partners will choose according to their expertise in order to develop the solution delivered with the robot. It becomes more relevant for the B2A (Business to Academics) sector, where the robot is bought as a development platform, without any pre-made solution. In that case, the final choice depends on what they plan to do with the robot: if it is acquired for programming classes, mechatronics courses or robotics research programs, NAOqi 2.5 will fit perfectly. But if it is meant for activities related to cloud-based AI integration, social sciences, mobile applications development or interaction-based studies, NAOQi 2.9 will be a better choice.
To put it simply, NAOQi 2.5 is a good choice for programming schools or IT universities, while NAOQi 2.9 would be better for social sciences universities or business schools.