API2
The new API2 is currently under development. The main new features are
- Support for up to 4 cameras
- Support for camera controls like brightness, contrast, auto white balance ... The supported controls depend on the camera used
- Integrated web server for controlling Robotino by a web browser or your smartphone
- Easy build process due to minimal dependencies to external libraries
The new API2 is based on a RPC like infrastructure. The REC-RPC library is a interprocess communication middleware similar to ROS. It is based on Qt and does not have any other dependencies.
- Quickstart guide to use API2
- How to install API2 daemons on Robotino
- C++ programming with API2
- Java programming with API2
- .Net programming with API2
Contents
API2 packages for Robotino
In order to use the API2 you need to replace packages on Robotino. The easiest way is to give Robotino Internet access. The file /etc/apt/sources.list should look like this.
deb http://doc.openrobotino.org/download/packages/i386 ./ deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted
echo "deb http://doc.openrobotino.org/download/packages/i386 ./" > /etc/apt/sources.list echo "deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted" >> /etc/apt/sources.list echo "deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted" >> /etc/apt/sources.list
After setting up the sources.list
apt-get update apt-get install rec-rpc-qt4.5.0 robotino-common robotino-daemons robotino-api robotino-examples
Questions during the installation process
Install these packages without verification [y/N]? y Do you want to install symlinks? -> Yes
This will remove the API1 daemons and install the API2 counterparts. Reboot the system when installation is finished.
Alternatively you can download the packages to your computer. Replace * by the latest version.
wget http://doc.openrobotino.org/download/packages/i386/rec-rpc-qt4.5.0_*_i386.deb wget http://doc.openrobotino.org/download/packages/i386/robotino-common_*_i386.deb wget http://doc.openrobotino.org/download/packages/i386/robotino_daemons_*_i386.deb wget http://doc.openrobotino.org/download/packages/i386/robotino-api_*_i386.deb wget http://doc.openrobotino.org/download/packages/i386/robotino-examples_*_i386.deb
Then copy the files to Robotino using scp or ftp. On Robotino do
dpkg -i rec-rpc-qt4.5.0_*_i386.deb dpkg -i robotino-common_*_i386.deb dpkg -i --auto-deconfigure robotino-daemons_*_i386.deb dpkg -i robotino-api_*_i386.deb dpkg -i robotino-examples_*_i386.deb
API2 for Windows
API2 for Linux
Setup your /etc/apt/sources.list. On i386 system
deb http://doc.openrobotino.org/download/packages/i386 ./
On amd64 systems
deb http://doc.openrobotino.org/download/packages/amd64 ./
Install the packages
- robotino-api2
- robotino-examples
- libqt4-dev
apt-get install robotino-api2 robotino-examples libqt4-dev
Pre build binaries are in /usr/local/robotino/examples/bin
Build the circle example see section below.
Building API2 from source
Get the source via SVN:
svn co http://svn.openrobotino.org/api/trunk source/api
Configure the build environment with cmake, build and install:
mkdir build/api cd build/api ccmake ../../source/api make install
On Windows: In case you used a 32bit compiler set the environment variable ROBOTINOAPI2_32_DIR to the installation directory. When you compiled the library with a 64bit compiler set the environment variable ROBOTINOAPI2_64_DIR The environment variable is used by the other packages to find the FindRobotinoApi.cmake scripts. Example: On my system I got
ROBOTINOAPI2_32_DIR=E:\build\robotino_api_win32_vc100\install
On Linux:
make ALL_CREATE_INSTALLER sudo dpkg -i robotino-api-*.deb
Building the API2 examples on Robotino
mkdir -p build/circle cd build/circle ccmake /usr/local/robotino/examples/src/c++/circle/ configure(c) 2x, generate(g) make target/example_circle 127.0.0.1
Build Robotino tools and daemons
Windows:
- Get the latest Qt libraries from Digia
- Alternatively build Qt from source
Linux:
- Install libqt4-dev
Build REC-RPC
Get the source via SVN:
svn co http://svn.servicerobotics.eu/rec_rpc/trunk source/rec_rpc
Configure the build environment with cmake, build and install:
mkdir build/rec_rpc cd build/rec_rpc ccmake ../../source/rec_rpc make install
On Windows: In case you used a 32bit compiler set the environment variable RECRPC32_DIR to the installation directory. When you compiled the library with a 64bit compiler set the environment variable RECRPC64_DIR The environment variable is used by the other packages to find the FindRecRpc.cmake scripts. Example: On my system I got
RECRPC32_DIR=E:\build\rec-rpc_win32_vc100\install
On Linux:
make ALL_CREATE_INSTALLER sudo dpkg -i rec-rpc-*.deb
Build Robotino Common
Get the source via SVN:
svn co http://svn.openrobotino.org/common/trunk source/common
Configure the build environment with cmake, build and install:
mkdir build/common cd build/common ccmake ../../source/common make install
On Windows: In case you used a 32bit compiler set the environment variable ROBOTINOCOMMON32_DIR to the installation directory. When you compiled the library with a 64bit compiler set the environment variable ROBOTINOCOMMON64_DIR The environment variable is used by the other packages to find the FindRobotinoCommon.cmake scripts. Example: On my system I got
ROBOTINOCOMMON32_DIR=E:\build\robotino_common_win32_vc100\install
On Linux:
make ALL_CREATE_INSTALLER sudo dpkg -i robotino-common-*.deb
Build Robotino Daemons
Get the source via SVN:
svn co http://svn.openrobotino.org/daemons/trunk source/daemons
Configure the build environment with cmake, build and install:
mkdir build/daemons cd build/daemons ccmake ../../source/daemons make install