Jean-Marc Le Roux Web, RIAs and chocolate spaghettis…

7Dec/110

NAO: Orbit VS XMPP

A few weeks ago I had the opportunity to work on a robotics project involving Nao, the 60cm humanoïd robot created by Aldebaran Robotics. After this first successful experience with the robot, we decided to take it a step further: we installed an Orbit application right on the robot. As we pretend Orbit can work on any device, a robot might actually be the ultimate test!

Nao uses XML-RPC embed in the XMPP protocol in order to provide network APIs. Those APIs are the very one mapped in the nao-as3-api project than can be used to program the robot using ActionScript 3.0. This is the protocol we've used to build a remote controller application for Dell. It was built on top of AIR 3.1, Stage3D and Minko. You can see it in action in the following video demonstration the application on a Dell XT3 tablet PC:

But XML-RPC/XMPP is a very slow and expensive option: the XML parsing alone is quite the CPU hog, and it sure is even harder on the bandwidth. We thought Orbit might be a good replacement so we did a little test application. It was built using Minko and the nao-as3-api. You can see it in action in the following video:


As you can see in the video, XML-RPC/XMPP (right) doesn't perform quite as well as Orbit (left). The synchronization is stuttering and far from smooth when using XML-RPC/XMPP, but it is just perfect when using Orbit. Event better: the Orbit version takes 30 times less CPU, and 100 times less bandwidth!

This gives me real hopes for intuitive, real-time and smooth multi-devices experiences working across tablets, phones, servers... and now robots! If you want to know more about what you can do with Orbit, you can take a look at the 2010/2011 Orbit showreel.

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

No trackbacks yet.