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 Project Download Mailing lists
|
Using Wall Interface Simulator
Let's say you require an implementation of LaserScanner2d and orca_interface_localiser2d. A component which provides these two does not (currently) exist. You could run Laser2d using a Fake driver. None of the existing localisers have fake drivers. Instead you could run Robot2d with a Fake driver and then convert its Odometry2d with FaithLocaliser. This is possible but rather complicated. Instead, we will configure orca_util_wall to simulated the two interfaces we need. Start Up the Infrastructure and a SystemRepeat the instructions of Quick-Start Guide for starting up IceGrid Regisry and the IceBox/IceStorm combination.Create a new system directory and copy Orca sample files. $ mkdir -p ~/sys/tutewall; cd ~/sys/tutewall $ cp [ORCA-INSTALL]/share/orca/cfg/wall.cfg . Configuring Interface SimulationEdit the standard config filewall.cfg so that it looks like this (comments are removed). Wall.Platform=local Wall.Component=wall Wall.Provides.LaserScanner2d0.Name=laserscanner2d0 Wall.Provides.Localise2d0.Name=localise2d0 Wall.Config.FactoryLibNames=libOrcaWallFactory.so Wall.Config.LaserScanner2d0.Driver=random Wall.Config.LaserScanner2d0.MaxRange=200.0 Wall.Config.Localise2d0.Driver=random Run the utility: $ wall You can verify that the interfaces we wanted are available by using Probe or IcePing or by connecting LaserMon to the laser interface. The output of Probe utility is shown below: Component : agave/wall ------------------------------------------------------- Select an interface from the list: 0 * orca.agave.wall/Home ::orca::Home 1 * tracer ::orca::Tracer 2 * status ::orca::Status 3 * localise2d0 ::orca::Localise2d 4 * laserscanner2d0 ::orca::LaserScanner2d ------------------------------------------------------- Adding an Interface of the Same TypeLet's add another LaserScanner2d interface. This is possible because we use indeces at the end of interface tags (exactly the same as in config files for Logger). Append the following lines to the config file (line order in config files is not important).
Wall.Provides.LaserScanner2d1.Name=laserscanner2d1 Wall.Config.LaserScanner2d1.Driver=random Restart the Wall utility. Verify that two LaserScanner2d interfaces are now provided. |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)