AU Robot Servers
Download
The tarball (zipped) versions are here: http://server.elektro.dtu.dk/ftp/jca/mobotware/
and a few comments for the releases in Release notes
Latest version:
On Jensen: (in /usr/local/smr/bin) is 2.870 (from 24 feb 2010).
The Jensen version is kept at this version until course 31388 finishes (until ~ 1 june 2010)
On SVN: is version 2.920.
NB! the svn version can not directly load plugins compiled against version 2.870 (or earlier).
In version 2.920 the server core is updated to make the minimum plug-in design (one cpp file) and still use all server resources (global variables, call to other plugins etc).
Base Documentation
Programming API documentation
AU Robot servers (AURC)
AURS class documentation http://www.iau.dtu.dk/~jca/rac/html/index.html
Open CV
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
General issues
Server structure
Server structure issues (global variables and methods)
Server types
Camera server ucamserver for camera related functionality
Laser scanner server ulmsserver for functions using laser scanner data
Empty server userver for functionality not related to camera and laser scanners
A server stub auservertest beeing a server that just shows client messages - with a timestamp.
Data monitoring client auclient
Server module tester uservermoduletester is a special server, where most of the available plug-ins are compiled staticly into the server, and thus available in the >> module help list for direct creation. This server is intended for debug only.
Coordinate systems
The three Coordinate systems are available as static: odometry (odoPose), UTM (utmPose) and Map (mapPose)
Variables (global variables and functions across plugins)
Module description
Not all plug-ins has a description on these pages (yet), the following is available.
Obstacle avoidance (auavoid.so.0)
- auavoid.so.0 - visual graph obstacle avoidance (not stable)
(version 2.920)
Script language - rule based - (aurule.so.0)
- aurule.so.0 - A rule based mission sequencer - Rule based mission sequencer
- drivebase.rule - The basis for (HAKO) missions - Drivebase.rule
(version 2.920)
Stereo camera (ausvs.so.0)
- ausvs.so.0 - a not quite finished Videre Design stereo camera plug-in
- aumapobst.so.0 - converts near map lines to obstacle polygons Mapped obstacles
(version 2.920)
Installation notes
Installation without FIREWIRE
If you do hat have (and should not use) firewire, then the AURS can be compiled by changing two of the Makefiles:
library ucam4 (in subdirectory ucam4):
In the Makefile change the DEFINES line from
DEFINES = -D USE_IEEE1394
to
DEFINES = -D USE_NO_IEEE1394
And the cameraserver (in directory ucamserver)
In the Makefile change the DEFINE line from
DEFINES = -D USE_IEEE1394
to
DEFINES = -D USE_NO_IEEE1394
and the LDDFLAGS line from
LDFLAGS = -g0 -lcxcore -lcv \ -L../lib -lurob4o -lugen4o -lumap4o -lucam4o \ -lpng -ldl -rdynamic -lcurses -lreadline -lraw1394 -ldc1394_control
to
LDFLAGS = -g0 -lcxcore -lcv \ -L../lib -lurob4o -lugen4o -lumap4o -lucam4o \ -lpng -ldl -rdynamic -lcurses -lreadline
Bugs
NEW! BUG reporting page here: Change requests (if you do not have write access, then send me a mail mailto:jca@elektro.dtu.dk)
Old stuff
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
- 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)
- 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
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)