AU Robot Servers

From Rsewiki

Documentation of AU robot servers

AU Robot Servers is a software infrastructure that can combine a number of functional modules to a robot with functionality at a the higher abstraction levels. Yellow boxes are the currently available servers in this structure.

Download and bug reporting

For package and install notes see: [Christian's Wiki Page] - no, that page is now used by others for other purposes, but in summary the released versions are here: http://www.iau.dtu.dk/~jca/rac/releases

and a few comments for the release in Release notes

CVS updated to version ~1.96 (27 apr 2008)

NEW! BUG reporting page here: Change requests

Doxygen documentation http://www.iau.dtu.dk/~jca/rac/html/index.html

Servers

[Server structure] issues (global variables and methods)

Camera server [ucamserver]

Laser scanner server [ulmsserver]

Empty server [userver]

Data monitoring client [auclient]

Static Plug-ins

Static plug-ins is part of the server code, and can be loaded without any additional files, see:

>> module help

To get the available list of static plug-ins (and a short description)

The three [Coordinate systems] are available as static: odometry, UTM and Map

File plug-ins

This is a list of the current available plug-ins in release 1.98:

  • auavoid.so.0 - visual graph obstacle avoidance (not stable)
  • audrivepos.so.0 - drive control to a specific pose (uses auavoid)
  • aumission.so.0 - the new - but not finished - mission monitor and controller
  • ausmr.so.0 - smr interface
  • uexres.so.0 - sample resource share plug-in - works with uexuse
  • uexuse.so.0 - sample resource share plug-in - works with uexres
  • auballfinder.so.0 - sample blob finder in a camera image
  • auefline.so.0 - sample line finder plugin extended to find and maintain wall lines. Is based on the libauextractfeatures library.
  • aunavif.so.0 - client-side interface to another aurobotserver - remember to load with an alias name, e.g. 'module load="./aunavif.so.0" alias=cam'. This is also available as static plug-in.
  • ausvs.so.0 - a not quite finished Videre Design stereo camera plug-in
  • aucamcog.so.0 - a sample center of gravity plug-in for part of a camera image
  • augps.so.0 - a gps plugin, that maintains an UTM pose from a serial/USB GPS connection
  • auroaddrive.so.0 - a drive controller thet follows a road edge (uses auavoid, ausmr and ulmspassable)
  • ulmspassable.so.0 - extracts road lines from a laserscan (tilted laser)
  • aucamfocus.so.0 - a focus (contrast) calculation on a camera image.
  • aulmsnear.so.0 - a small function to return the closest point in a laserscan as a <laser l0=0.0 .../> type message
  • auseq.so.0 - mission sequencer - much like smrcl, but using variables and functions provided by the AU Robot servers - is to be replaced by aumission.so.0 once this is operational.
  • ulmsv360.so.0 - virtual 360 deg laser scanner device. This is also available as static plug-in for the ulmsserver.
  • aucron.so.0 - a module to execute bash commands at regular intervals - e.g. to move logged images at low priority

Plug-in structure and description

[plug-in structure]

[Variables] (global variables and functions across plugins)

Scan features (@todo make page)

odometry, map or UTM (gps) pose and pose history [pose]

Guidemark (@todo make page)

Road detect (@todo make page)

Sequencer [Sequencer]

SMR interface (@todo make page)

Camera server interface (@todo make page)

Laser scanner interface (@todo make page)

Obstacle avoidance (@todo make page)

Road driver (@todo make page)