The RAPP Cloud API (rapp::) alpha version has been released
You can delegate face detection, QR Code detection, speech to text, and ontology requests, and thus feeing up valuable resources on the robot for other algorithms. The cloud services built upon ROS, OpenCV and CMU Sphinx, can be used free of charge and can either be setup as a local (LAN) server or as an Internet server.
The asynchronous nature of the C++11 API extensively uses lambdas and abstract base classes in order to enable true C++ Object-oriented high-level code, and thus, rapid development and deployment. You can either use existing classes or simply inherit and override current classes, thus creating your own custom service handlers. Cloud service calls follow the philosophy of boost::asio and can be organized into batches (group of jobs) or used individually as single jobs.
Future work will see face recognition, human body recognition, object and human tracking, gesture detection, and streaming speech-to-text. Please bear in mind, that the current API is still in alpha testing phase. It currently supports Linux-based systems (Ubuntu/Debian) and Gentoo (OpenNao). Next releases will also support Windows platforms. Current requirements are C++11 (GCC higher than 4.7.1) and BOOST higher than 1.49. Most modern Linux distributions either ship or support them, as does ROS, if you wish to use the rapp::api as part of a ROS node. Naoqi, albeit reliant on GCC 4.5.3. can also be used with rapp::api if you manually build gcc 4.7.3. or later in your OpenNao VM.
Author: Alexandros Gkiokas, Ortelio Ltd.