orca-robotics


INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

REPOSITORY
Interfaces
Components
Libraries
Utilities
Software Map

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard
Wiki
login/pass: orca/orca

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

Quick-Start Guide

Note:
Reviewed for release 2.10.0.
This page describes how to get a quick demonstration up and running with your new Orca install. Before you begin, make sure that you've installed Orca (see Download and Install Orca ).

The system which we will assemble is shown in the diagram below. It consists of two infrastructure applications (IceGrid Registry and IceStorm) and two Orca components (Laser2d and LaserMon).

quickstart.png

Starting Up the Infrastructure

We'll be using sample configuration files which are distributed with Orca. As the general rule, you shouldn't work or run programs from the distribution. So we'll create separate directories for each project (or tutorial) and copy config files into it. Will put all of these directories into one place: a new directory we'll call sys in the home directory.
$ mkdir ~/sys

IceGrid Registry
The IceGrid Registry provides a Naming service: a mapping from logical interface names to physical addresses. It's currently the only way for components to find one another. We create a separate directory for it to run in, copy a sample config file, create the database directory and start it up.
$ mkdir -p ~/sys/icereg; cd ~/sys/icereg
$ cp [ORCA-SRC]/scripts/ice/icegridregistry.cfg .
$ mkdir db
$ icegridregistry --Ice.Config=icegridregistry.cfg

This starts icegridregistry on your local machine. If you're going to be using Orca a lot, it's probably a good idea to set this up so it's always running on a single machine on the network.

IceStorm Service
Note:
For Debian/Ubuntu users: See an entry in the Wiki FAQ on 127.0.1.1 in the /etc/hosts file.]
IceStorm is an event service, used to decouple publishers from subscribers. Typically, there is one IceStorm service per host. We create a separate directory for it to run in, copy a sample config file, create the database directory and start it up.

Note:
If you are using a version of Ice different from the one we recommend you will need to change the version number of IceStormService in the icebox_icestorm.cfg file (e.g. replace 32 with 31 to go back from v.3.2.0 to 3.1.0).
$ mkdir -p ~/sys/icestorm; cd ~/sys/icestorm
$ cp [ORCA-SRC]/scripts/ice/icebox_icestorm.cfg .
$ mkdir stormdb
$ icebox --Ice.Config=icebox_icestorm.cfg

Pointing Components at this Infrastructure

When an Orca component starts up, it needs to know how to find the services above. This information can go into config files for individual components.

Components in this tutorial use libOrcaIce, which looks up this information in a single file configuration file. Create a file ~/.orcarc (in your home directory) and place this text into it:

# Standard Ice Configuration for Orca
Ice.Default.Locator=IceGrid/Locator:default -p 12000
Note that only one piece of information is required: the address of the Registry. You can add other global default properties to this file.

Getting Two Components Talking

Now will connect a fake laser component to a laser monitoring component. First, copy default configuration files for the Laser2d and LaserMon components.
$ mkdir -p ~/sys/quickstart; cd ~/sys/quickstart
$ cp [ORCA-INSTALL]/share/orca/cfg/laser2d.cfg .
$ cp [ORCA-INSTALL]/share/orca/cfg/lasermon.cfg .

The Server
Configure the laser for fake (simulated) operation (or skip this step if you're connected to a real SICK laser). Edit laser2d.cfg, and replace the default library name 'libHydroLaserScanner2dSickCarmen.so' with 'libHydroLaserScanner2dFake.so', so it looks like this:

Laser2d.Config.DriverLib=libHydroLaserScanner2dFake.so.so

Start the Laser2d component.

$ laser2d laser2d.cfg

The Client
Start a new shell, go to the quickstart directory and fire up the LaserMon component (a laser monitor). No modifications are needed for its configuration file. Note that the name of the configuration file is not specified and it is assumed to be lasermon.cfg. By default, all Orca components assume componentname.cfg as an argument if nothing is specified.

$ lasermon

You should see the scans scroll by on the screen. Congratulations, your first two components are talking!

To stop components, type Ctrl-C.

If something does not work, check out the FAQ on Orca Wiki.

What's Next

If everything works, read more in-depth explanations or what is actually happening here or check out other Orca Tutorials.
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5