Hello, I've been working on an API for the Nao Robot [1] in Pharo. You can find an early demo of how it works in Pharo: https://www.youtube.com/watch?v=z8jopUfLWtQ
Moreover, I built a communication bridge between the Nao and LRP [2]. LRP is a live programming language for robotic behaviors. You can see a working demo of the nao moving via LRP here: https://www.youtube.com/watch?v=q1jGDtaW41U I want to emphasize how easy and fun can be to program a robot with a live environment. Looking at the robot and see how immediately changes its behavior whenever you send a command, that is cool! You can find the API here (I have to write the documentation on how to use it): http://www.smalltalkhub.com/#!/~mcamp/NaoSocket This is a work in progress. The Nao has several features that I'm planning to incorporate in the API when they are needed. To make this work I use TCP sockets to communicate with the robot. For the Nao, there is a documentation on how the robot communicates via binary packages, but the documentation lacks a lot of information that I managed to figure it out by reading the binary information (thanks gtInspector for that) and understanding how the robot works. [1] https://www.ald.softbankrobotics.com/en/cool-robots/nao [2] pleiad.cl/lrp