Difference between revisions of "API2"

From RobotinoWiki
(Building the API2 examples on Robotino)
(Building API2 from source)
Line 78: Line 78:
  
 
===Building API2 from source===
 
===Building API2 from source===
 +
Get the source via SVN:
 +
<pre>
 +
svn co http://svn.openrobotino.org/api/trunk source/api
 +
</pre>
 +
Configure the build environment with cmake, build and install:
 +
<pre>
 +
mkdir build/api
 +
cd build/api
 +
ccmake ../../source/api
 +
make install
 +
</pre>
 +
 +
On Windows:
 +
In case you used a 32bit compiler set the environment variable '''ROBOTINOAPI32_DIR''' to the installation directory. When you compiled the library with a 64bit compiler set the environment variable '''ROBOTINOAPI64_DIR''' The environment variable is used by the other packages to find the FindRobotinoApi.cmake scripts.
 +
Example: On my system I got
 +
<pre>ROBOTINOAPI32_DIR=E:\build\robotino_api_win32_vc100\install</pre>
 +
 +
On Linux:
 +
<pre>
 +
make ALL_CREATE_INSTALLER
 +
sudo dpkg -i robotino-api-*.deb
 +
</pre>
  
 
===Building the API2 examples on Robotino===
 
===Building the API2 examples on Robotino===

Revision as of 10:15, 31 October 2011

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.

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-reconfigure 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 ./
<pre>

On amd64 systems
<pre>
deb http://doc.openrobotino.org/download/packages/amd64 ./
<pre>

Install the packages
* robotino-api
* robotino-examples
* libqt4-dev
<pre>
apt-get install robotino-api 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 ROBOTINOAPI32_DIR to the installation directory. When you compiled the library with a 64bit compiler set the environment variable ROBOTINOAPI64_DIR The environment variable is used by the other packages to find the FindRobotinoApi.cmake scripts. Example: On my system I got

ROBOTINOAPI32_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

Right now you can run the example as root only. If you change permissions manually

chmod 777 /tmp/*

you can run the example as user robotino.

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