I was one of the privileged ones to go to a training in France regarding Pepper. The training took five days and was organized by SoftBank Robotics in Paris.
If Pepper is not familiar to you, it is a humanoid robot, which is able to recognize faces and emotions. It is a 1.20m tall robot moving on its wheels and capable of moving its body more human way when interacted with. But let’s focus on the training. It started with introduction to Aldebaran and Softbank robotics, then we moved to hardware which included all the sensors, physical measurements and computers running inside of Pepper. The hardware part is very important to understand to get the overall picture what Pepper can do within its physical limits. After hardware sessions we started to study different topics separately such as movement, speech, face recognition, dialog and tablet usage. At the end of the five day course each team made their own project combining all that we had learnt during this training.
I have to be honest, even though the training was well organized and very interesting, the best part of the visit was all the attractions and spending time with the group after training days. Never underestimate the social contacts that can be found during trainings such as this!
That being said, the programmer has many ways to make Pepper function in preferred way. There are three SDKs for Pepper: Python, Java and C++. There is also a dedicated development tool called Choregraphe. These options are designed to interact with Pepper’s software layer NAOqi which is running on Linux. The programmer has full control of it through NAOqi, but doesn’t have the sudo rights for the Linux itself. So it’s not possible to install software straight to Pepper’s core operating system. As Pepper has the WiFi (and some models have ethernet) connections available the developer might use a remote back end solution for storing and reading data via API. Python has requests pip module installed so one way to make an application could be to exchange information between Pepper and a backend on remote server.
At first programming Pepper might be a bit frustrating when the whole software architecture is in the dark, but after a day or two it’s getting more clear how to interact with all the different modules and combining them into one great behaviour. The coolest part of programming is that the target is a ROBOT who can curse and show you random poses or be polite and direct you to a place where you want to go while talking how beautiful the weather is. It’s also possible to store the whole content of a warehouse in Pepper’s mind so customers could find what they need by asking the robot.
In the future Robots will get stronger and the language capabilities will get better and more fluent among other qualities, so the applications that can be done with robots are almost infinite.