ARDev Documentation

0.6.5

Introduction

ARDev is an augmented reality toolkit to assist robot developers in debugging complex robot sensors.

It primarily provides sensor visualisations at this stage.

The currently implemented objects primarily work with Player/Stage based robots.

ARDev has been developed and tested in ubuntu linux, other flavours of linux should work fine but are not tested.

ARDev was written by Toby Collett as part of his PhD research at the University of Auckland. TI am keen to hear any feedback, and should be able to provide some personal support getting it running, so get in touch by email to ardev _at_ plan9.net.nz

There are three ways that you can use ARDev:

  1. As an intelligent debugging space (IDS)
  2. As an integrated library with your robot code
  3. As a library for other augmented reality purposes

The getting started guide will focus mainly on using the toolkit as an IDS via the aride utility or the player module. The API documentation will help you with options 2 and 3. The test application in the src folder is also a good place to look for examples of using the library directly.

Using this manual

This manual is split into three main parts:

Related Literature

There have been a couple of papers published relating to this toolkit, at HRI2006 and ICRA2006 respectively. Biblographic references (and possibly the papers) are available from http://www.ece.auckland.ac.nz/~tcol036, just follow the menu to research->Augmented Reality.

Installation

ARDev uses a the standard auto tools system for installation. First download and install libthjc (it should be available from the same place you got ARDev).

The other required libraries are:

Other optional libraries that you may wish to install include:

After you have installed the required and desired optional libraries you simply need to run ./configure and make.

All things going well you are now ready to proceed to the getting started guide.

Getting Started

There are two basic methods described here, one just gives an idea of the software using the stage based debug objects for capturing. This is likely to work first try out of the box, but is not that useful.

Option 2 uses an overhead camera and a player based robot. This is more useful but more complicated. Probably trying option 1 first and then progressing to option 2 once thats done is a good plan.

Both the methods described here use the aride GUI for configuring ardev so to get started go to the aride directory (util/aride), then follow either option 1 or 2 below.

OPTION 1

You will need player (tested with 2.0.1), with at least the fake localize driver, and stage (2.0.1)

Run stage using the config file in util/aride/example/simple.cfg

then run aride specifing the stage aride config file i.e. ./aride ./example/stage.aride

then click on control->run and it should be all go. You should be able to driver the robot using playerjoy or playerv etc and watch the visualisation of the sensor data. This is simulating the ardev system running on the robots on board camera.

OPTION 2

This is based on player and the artoolkitplus fiducial tracker.

My example uses our labs pioneer robot, with a player server for serving up the camera images. The default artoolkitplus marker is ID '10', this can be changed in the config GUI.

Change to the aride directory. run ./aride example/overhead.aride (sleepy is our pioneer, we have seven...sleepy, happy, grumpy ... got it?) check the settings the UI, particularly you will need to change the server addresses for the player interfaces.

you will also need to specify a camera calibration file the format is: Translation (3 floats) Rotation Matrix (9 floats) focal distance sensor width (x and y) image size (x and y) scale factors (x and y)

Fields are sepearated by white space. the application ./util/calib/calibapp may help you generate this file. It uses tsai calibration to get the values and does basic detection of circles on a large cube to find the source points. If you are not using the artoolkitplus or opencv trackers then you may be able to omit the calibration file altogether.

you could generate the file manually the most important value is the 'tilt' or y axes rotation values. an example calibration file is also provided in the example dir.

in theory, provided your parameters are all correct and your player servers are running, simply click on the green play button ('start') and things should be all go.

Im keen on people using this software so dont hesitate to contact me if you are wanting to try the software and are having trouble. This project is under active development and any ideas voiced will certainly be considered.

Other Notes

3rd party projects used/referred to, Ive attempted to keep this list fairly complete, but there may be projects I have referred to online that I have missed out, please let me know if you spot any.

Supported Projects:

References Used:


SourceForge.net Logo Generated on Sat May 12 15:25:43 2007 for ardev by doxygen 1.5.1