AU Robot Servers: Difference between revisions
Line 22: | Line 22: | ||
OpenCV (1.0) CV documentation http://server.elektro.dtu.dk/www/jca/opencv/ref/opencvref_cv.htm | OpenCV (1.0) CV documentation http://server.elektro.dtu.dk/www/jca/opencv/ref/opencvref_cv.htm | ||
==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 | |||
==Servers== | ==Servers== |
Revision as of 15:33, 24 March 2010
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
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
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)