AU Robot Servers: Difference between revisions

From Rsewiki
Line 62: Line 62:
* (aumission.so.0 - is now renamed to aurule [[Mission monitor sequencer]])
* (aumission.so.0 - is now renamed to aurule [[Mission monitor sequencer]])
* aurule.so.0 - A rule based mission sequencer - [[Rule based mission sequencer]]
* aurule.so.0 - A rule based mission sequencer - [[Rule based mission sequencer]]
** drivebase.rule - The basis for (HAKO) missions - [[Drivebase.rule]]
* auroaddrive.so.0 - a drive controller thet follows a road edge (uses auavoid, ausmr and ulmspassable)
* auroaddrive.so.0 - a drive controller thet follows a road edge (uses auavoid, ausmr and ulmspassable)
* auseq.so.0 - deprecated mission sequencer - use aurule.so.0.
* auseq.so.0 - deprecated mission sequencer - use aurule.so.0.

Revision as of 09:20, 6 November 2009

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 higher abstraction levels.

Released software

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 or at http://server.elektro.dtu.dk/ftp/jca/mobotware/

and a few comments for the releases in Release notes

The SVN may be updated to a newer version than the release list - but the SVN version may not always compile.

NEW! BUG reporting page here: Change requests (if you do not have write access, then send me a mail mailto:jca@elektro.dtu.dk)

Base Documentation

AU Robot server class documentation http://www.iau.dtu.dk/~jca/rac/html/index.html

OpenCV (1.0) general documentation http://server.elektro.dtu.dk/www/jca/opencv/

OpenCV (1.0) CXCORE documentation http://server.elektro.dtu.dk/www/jca/opencv/ref/opencvref_cxcore.htm

OpenCV (1.0) CV documentation http://server.elektro.dtu.dk/www/jca/opencv/ref/opencvref_cv.htm

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 (odoPose), UTM (utmPose) and Map (mapPose)

File plug-ins

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

The intension is that there should be a wiki page for each with further description.

  • auavoid.so.0 - visual graph obstacle avoidance (not stable)
  • auballfinder.so.0 - sample blob finder in a camera image
  • aucamcog.so.0 - a sample center of gravity plug-in for part of a camera image
  • aucamfocus.so.0 - a focus (contrast) calculation on a camera image.
  • aucron.so.0 - a module to execute bash commands at regular intervals - e.g. to move logged images at low priority
  • audrivepos.so.0 - drive control to a specific pose (uses auavoid)
  • auefline.so.0 - sample line finder plugin extended to find and maintain wall lines. Is based on the libauextractfeatures library.
  • augps.so.0 - a gps plugin, that maintains an UTM pose from a serial/USB GPS connection
  • aulmsnear.so.0 - a small function to return the closest point in a laserscan as a <laser l0=0.0 .../> type message
  • (aumission.so.0 - is now renamed to aurule Mission monitor sequencer)
  • aurule.so.0 - A rule based mission sequencer - Rule based mission sequencer
  • auroaddrive.so.0 - a drive controller thet follows a road edge (uses auavoid, ausmr and ulmspassable)
  • auseq.so.0 - deprecated mission sequencer - use aurule.so.0.
  • ausmr.so.0 - smr interface
  • ausvs.so.0 - a not quite finished Videre Design stereo camera plug-in
  • uexres.so.0 - sample resource share plug-in - works with uexuse
  • uexuse.so.0 - sample resource share plug-in - works with uexres
  • ulmspassable.so.0 - extracts road lines from a laserscan (tilted laser)
  • ulmsv360.so.0 - virtual 360 deg laser scanner device. This is also available as static plug-in for the ulmsserver.
  • mapbase.so.0 - a base plugin for mapped lines and connected graph of routes
  • aumapobst.so.0 - converts near map lines to obstacle polygons Mapped obstacles

Plug-in structure and description

plug-in structure

Variables (global variables and functions across plugins)

Coordinate systems

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)