Auclient
(New page: ''' AU Client ''' A client capable of connecting to the main servers (laser scanner, camera server and other servers) to get data, and to display this data. Image:auclient.png The c...) |
|||
Line 1: | Line 1: | ||
− | + | ===Introduction=== | |
− | A client capable of connecting to the main servers (laser scanner, camera server and other servers) to get data, and to display | + | A client capable of connecting to the main servers (laser scanner, camera server and other servers) to get data, and to display data graphically. |
− | + | ||
− | + | ||
The client implements a command line interface, and a module to display images using openCV X-interface. | The client implements a command line interface, and a module to display images using openCV X-interface. | ||
− | The program is started with the command | + | The program is started with the command in a directory with a ''auclient.ini'' configuration file: |
− | + | auclient | |
A command to a laser server running on smr16 could be: | A command to a laser server running on smr16 could be: | ||
Line 15: | Line 13: | ||
laser connect=smr16:24919 | laser connect=smr16:24919 | ||
laser cmd="scanget" | laser cmd="scanget" | ||
− | |||
− | |||
− | If the laser scanner is running, then the laser scanner data should be displayed. | + | If the laser scanner is running on smr16 (the mmr), then the laser scanner data should be displayed. |
− | The camera server can be accessed like: | + | The camera server can be accessed like (if it is connected): |
cam cmd="imageget all" | cam cmd="imageget all" | ||
Line 31: | Line 27: | ||
The AUCLIENT is converted from the old UCLIENT and all future development is added here. | The AUCLIENT is converted from the old UCLIENT and all future development is added here. | ||
+ | |||
+ | |||
+ | ===Typical configuration=== | ||
+ | |||
+ | A ''auclient.ini'' configuratuin that will try and keep connection to laser and camera server could be: | ||
+ | |||
+ | # AU Client initiation script (most modules in client is linked statically - see module help) | ||
+ | module load=var | ||
+ | module load=odopose | ||
+ | module load=utmpose | ||
+ | module load=mappose | ||
+ | module load=imagepool | ||
+ | module load=display | ||
+ | module load=poly | ||
+ | # create and configure interface (to camera server) | ||
+ | module load=if alias=cam | ||
+ | # add handler of data coming from camera server | ||
+ | module load=camdata | ||
+ | camdata add=gmk | ||
+ | camdata add=path | ||
+ | camdata add=img | ||
+ | camdata add=cam | ||
+ | # request some images from the camera server, when they gets updated | ||
+ | camonconnect cmd="cam poolpush img=0 flush; | ||
+ | camOnConnect cmd="cam poolpush img=0 cmd='poolget all'" | ||
+ | camonconnect cmd="cam poolpush img=10 flush; | ||
+ | camOnConnect cmd="cam poolpush img=10 cmd='poolget all'" | ||
+ | camonconnect cmd="cam poolpush img=32 flush; | ||
+ | camOnConnect cmd="cam poolpush img=32 cmd='poolget all'" | ||
+ | camonconnect cmd="cam poolpush img=33 flush; | ||
+ | camOnConnect cmd="cam poolpush img=33 cmd='poolget all'" | ||
+ | camonconnect cmd="imageget" | ||
+ | # | ||
+ | # add interface to laser scanner server | ||
+ | module load=if alias=laser | ||
+ | laser add=var | ||
+ | # add handler of laser scanner data | ||
+ | module load=laserdata | ||
+ | laserdata add=obst | ||
+ | laserdata add=road | ||
+ | laserdata add=sf | ||
+ | laserdata add=man | ||
+ | module load=laserscan | ||
+ | #laser add=sf | ||
+ | #connect to moduletester | ||
+ | laserOnConnect cmd="laser varpush struct=obst flush" | ||
+ | laserOnConnect cmd="laser varpush struct=obst cmd='obst update fixed'" | ||
+ | laserOnConnect cmd="laser mapposepush flush" | ||
+ | laserOnConnect cmd="laser mapposepush cmd='mappose pose'" | ||
+ | laserOnConnect cmd="laser odoposepush flush" | ||
+ | laserOnConnect cmd="laser odoposepush cmd='odopose pose'" | ||
+ | laserOnConnect cmd="laser scanpush flush" | ||
+ | laserOnConnect cmd="laser scanpush cmd='scanget pose'" | ||
+ | laserOnConnect cmd="laser scanget" | ||
+ | # | ||
+ | # configure navigation display (see 'disp help' for more options) | ||
+ | # if you don't need navigation display, then remove these 'disp' lines | ||
+ | disp gridsys=0 | ||
+ | disp robot=smr | ||
+ | disp scale=5 | ||
+ | disp pos=0.8 | ||
+ | disp posehist=300 | ||
+ | disp scan=1 | ||
+ | disp obst=1 | ||
+ | # connect to laserscanner | ||
+ | laser connect=smr12:24919 | ||
+ | # connect to camera server | ||
+ | cam connect=localhost:24920 |
Revision as of 15:41, 20 October 2010
Introduction
A client capable of connecting to the main servers (laser scanner, camera server and other servers) to get data, and to display data graphically.
The client implements a command line interface, and a module to display images using openCV X-interface.
The program is started with the command in a directory with a auclient.ini configuration file:
auclient
A command to a laser server running on smr16 could be:
laser connect=smr16:24919 laser cmd="scanget"
If the laser scanner is running on smr16 (the mmr), then the laser scanner data should be displayed.
The camera server can be accessed like (if it is connected):
cam cmd="imageget all"
Some display options are available as shown by the help command
disp help
NB! the client is implemented as modules in the standard server frame, and thus the modules must be loaded before use. (they are most likely loaded from the ini-file (auclient.ini) if this exist in the directory where the AUCLIENT were started.
The AUCLIENT is converted from the old UCLIENT and all future development is added here.
Typical configuration
A auclient.ini configuratuin that will try and keep connection to laser and camera server could be:
# AU Client initiation script (most modules in client is linked statically - see module help) module load=var module load=odopose module load=utmpose module load=mappose module load=imagepool module load=display module load=poly # create and configure interface (to camera server) module load=if alias=cam # add handler of data coming from camera server module load=camdata camdata add=gmk camdata add=path camdata add=img camdata add=cam # request some images from the camera server, when they gets updated camonconnect cmd="cam poolpush img=0 flush; camOnConnect cmd="cam poolpush img=0 cmd='poolget all'" camonconnect cmd="cam poolpush img=10 flush; camOnConnect cmd="cam poolpush img=10 cmd='poolget all'" camonconnect cmd="cam poolpush img=32 flush; camOnConnect cmd="cam poolpush img=32 cmd='poolget all'" camonconnect cmd="cam poolpush img=33 flush; camOnConnect cmd="cam poolpush img=33 cmd='poolget all'" camonconnect cmd="imageget" # # add interface to laser scanner server module load=if alias=laser laser add=var # add handler of laser scanner data module load=laserdata laserdata add=obst laserdata add=road laserdata add=sf laserdata add=man module load=laserscan #laser add=sf #connect to moduletester laserOnConnect cmd="laser varpush struct=obst flush" laserOnConnect cmd="laser varpush struct=obst cmd='obst update fixed'" laserOnConnect cmd="laser mapposepush flush" laserOnConnect cmd="laser mapposepush cmd='mappose pose'" laserOnConnect cmd="laser odoposepush flush" laserOnConnect cmd="laser odoposepush cmd='odopose pose'" laserOnConnect cmd="laser scanpush flush" laserOnConnect cmd="laser scanpush cmd='scanget pose'" laserOnConnect cmd="laser scanget" # # configure navigation display (see 'disp help' for more options) # if you don't need navigation display, then remove these 'disp' lines disp gridsys=0 disp robot=smr disp scale=5 disp pos=0.8 disp posehist=300 disp scan=1 disp obst=1 # connect to laserscanner laser connect=smr12:24919 # connect to camera server cam connect=localhost:24920