NEWS: We are currently developping a programming language named URBI, built on top of OPENR. This language gives you the same powerful features available via OPEN-R but it is ways easier to use. You can download it now.
Aibo is currently a very good and cheap plateform to do research in Robotics and Artificial Intelligence. The Aibo programming language, built on top of C++, is provided by Sony as the OPEN-R SDK. This tutorial is intended to ease the use of this SDK.
The official documentation given by Sony on the openr.aibo.com web page is currently not covering all aspects of OPEN-R. You might also find an official OPEN-R Programming Book but it is only available in japanese for now. The best advice would be to study the examples given on Sony web site. Unfortunately some of these examples, especially the BallTrackingHead example, are far from being trivial and are provided without any inline comment. We decided to start an in depth study of these examples, as a base for a complete and efficient OPEN-R Programming Tutorial.
The tutorial begins by describing the OPEN-R architecture and specificities. To help the reader understanding, we introduce a graphical formalism to represent OPEN-R programs. We believe that this formalism could also help designing programs. Afterwards we go into coding details step by step for several specific actions (moving the joints, getting information from sensors) and we translate the graphical formalism into practical OPEN-R/C++ code. At the end we added a miscellaneous section containing useful programming information that we found disparate on the web.
This tutorial is supposed to be standalone and bring the novice reader to a reasonable understanding of the OPEN-R architecture and programming, from low level details up to high level design advices. We hope this work can be useful for the research community.