Ucamserver: Difference between revisions
No edit summary |
|||
Line 56: | Line 56: | ||
# camera parameters for GUPPY camera (device 10) | # camera parameters for GUPPY camera (device 10) | ||
camset device=10 focallength=650 | camset device=10 focallength=650 | ||
camset posx=0.4 posy=0.0 posz=0.87 rotphi=0.3 | camset device=10 posx=0.4 posy=0.0 posz=0.87 rotphi=0.3 | ||
module load=path | module load=path | ||
# ballfinder and configuration | # ballfinder and configuration | ||
Line 72: | Line 72: | ||
# use the image to find balls every time image 10 is updated | # use the image to find balls every time image 10 is updated | ||
poolpush img=10 cmd="ball blue debug='true'" | poolpush img=10 cmd="ball blue debug='true'" | ||
Logfile for odometry and used images will then be produced in ''datapath'', and the images saved in the ''imagepata''. | |||
These files cam be replayed for repeated function testing. | |||
Make a directory for the replay configuration, e.g. ''replay/ballfinder'': | |||
mkdir ~/replay/ballfinder | |||
cd ~/replay/ballfinder | |||
place a copy of the cameraserver configuration file ucamserver.ini in this directory. | |||
Make a subdirectory in this directory, e.g. called ''log'' | |||
mkdir log | |||
cd log | |||
Place the logfiles (odoPose.log and image.log) in this directory | |||
cp <sourcedir>/*.log . | |||
Make a further subdirectory for the images, this directory MUST be called ''imgorg'' | |||
mkdir imgorg | |||
cp <imagepath>/*.png imgorg/ | |||
The ucamserver.ini need to be modified slightly to enable the replay: | |||
server dataPath="/vhome/jca/logfiles" | |||
server imagepath="/vhome/jca/logfiles/imgorg" | |||
server replayPath="/vhome/jca/replay/ballfinder" <--- new | |||
module load=var | |||
module load=gmk | |||
module load=odopose | |||
odopose replay <--- new | |||
# odopose log <--- changed to comment | |||
# camera parameters for GUPPY camera (device 10) | |||
camset device=10 focallength=650 | |||
camset device=10 posx=0.4 posy=0.0 posz=0.87 rotphi=0.3 | |||
camset device=10 replay <--- new | |||
module load=path | |||
# ballfinder and configuration | |||
module load="./aub2.so.0" | |||
var b2.redlim="105 127 129 180" | |||
var b2.bluelim="115 200 95 132" | |||
var b2.ballsize=0.12 | |||
var b2.topline=75 | |||
var b2.minsize=20 | |||
var b2.maxsize=65 | |||
# log images from device 10 | |||
# camset device=10 log=false <--- changed to comment | |||
# use an image every 1.5 seconds (image is logged and available in image pool) | |||
# push t=1.5 cmd="imageget img=10" <--- changed to comment | |||
# use the image to find balls every time image 10 is updated | |||
poolpush img=10 cmd="ball blue debug='true'" | |||
Then the replay can commence, first start the camera server in the configuration directory | |||
cd ~/replay/ballfinder | |||
ucamserver | |||
When the cameraserver is started, then the stepping can start | |||
>> camset step | |||
<camset info="Stepped to 1266588079.109762 line 2 in image.log"/> | |||
Ball position x: 4.1385 y: 0.5525 z: 0.2767 | |||
>> | |||
This will advance to the next image in the logfile, and some messages may be printed on the console. | |||
The image will be loaded into the image-pool with the same image number as the original device number (here 10). | |||
The odometry pose may be stepped too: | |||
>> odopose step | |||
<odopose tod="1266588094.529696" time="15:01:34.529" logLine="2"/> | |||
>> | |||
This may advance the image.log file too (to the same log-time), and thus trigger another image and any command related to that image. |
Revision as of 15:11, 20 October 2010
Camera server
Intended for image handling functions.
The following camera-related plug-ins are available:
- Camera control (camget, camset etc)
- Image access (imageget, imageset) access to fresh images.
- Image pool handling (poolget poollist etc.) pool of imege buffers with image handling functionality.
- Guidemark detection (gmkget) giudemark 3D pose and code
- Road outline plugin (pathget) polygon with road outline matching a seed area.
- Sample plugin (center of gravity)
The following cameras are supported:
- all USB cameras supported by the pwc (Philips Web Cam) driver, e.g.
- - Philips 740K, 840K,
- - Logitech Orbit
- A few frame-grapper cards (I have not tried for a long time)
- IEEE1394 DCI-standard
- IEEE1394 DVI - not supported
- palantir streaming video - not supported p.t.
To run the server
./ucamserver
It then shows a command prompt:
>>
To monitor images and results use the monitoring client UCLIENT or AUCLIENT (or the server console directly - or as a last resort TELNET)
See:
>> module list
For heneral help about the server and a list of all available commandes (from all plug-ins) use:
>> help
Each of the listed commands should have an on-line help function, e.g:
>> camset help
Typical configuration SMR
A camera server configuration for the SMR could be:
server dataPath="/vhome/jca/logfiles" server imagepath="/vhome/jca/logfiles/imgorg" module load=var module load=gmk module load=odopose odopose log # camera parameters for GUPPY camera (device 10) camset device=10 focallength=650 camset device=10 posx=0.4 posy=0.0 posz=0.87 rotphi=0.3 module load=path # ballfinder and configuration module load="./aub2.so.0" var b2.redlim="105 127 129 180" var b2.bluelim="115 200 95 132" var b2.ballsize=0.12 var b2.topline=75 var b2.minsize=20 var b2.maxsize=65 # log images from device 10 camset device=10 log # use an image every 1.5 seconds (image is logged and available in image pool) push t=1.5 cmd="imageget img=10" # use the image to find balls every time image 10 is updated poolpush img=10 cmd="ball blue debug='true'"
Logfile for odometry and used images will then be produced in datapath, and the images saved in the imagepata.
These files cam be replayed for repeated function testing.
Make a directory for the replay configuration, e.g. replay/ballfinder:
mkdir ~/replay/ballfinder cd ~/replay/ballfinder
place a copy of the cameraserver configuration file ucamserver.ini in this directory.
Make a subdirectory in this directory, e.g. called log
mkdir log cd log
Place the logfiles (odoPose.log and image.log) in this directory
cp <sourcedir>/*.log .
Make a further subdirectory for the images, this directory MUST be called imgorg
mkdir imgorg cp <imagepath>/*.png imgorg/
The ucamserver.ini need to be modified slightly to enable the replay:
server dataPath="/vhome/jca/logfiles" server imagepath="/vhome/jca/logfiles/imgorg" server replayPath="/vhome/jca/replay/ballfinder" <--- new module load=var module load=gmk module load=odopose odopose replay <--- new # odopose log <--- changed to comment # camera parameters for GUPPY camera (device 10) camset device=10 focallength=650 camset device=10 posx=0.4 posy=0.0 posz=0.87 rotphi=0.3 camset device=10 replay <--- new module load=path # ballfinder and configuration module load="./aub2.so.0" var b2.redlim="105 127 129 180" var b2.bluelim="115 200 95 132" var b2.ballsize=0.12 var b2.topline=75 var b2.minsize=20 var b2.maxsize=65 # log images from device 10 # camset device=10 log=false <--- changed to comment # use an image every 1.5 seconds (image is logged and available in image pool) # push t=1.5 cmd="imageget img=10" <--- changed to comment # use the image to find balls every time image 10 is updated poolpush img=10 cmd="ball blue debug='true'"
Then the replay can commence, first start the camera server in the configuration directory
cd ~/replay/ballfinder ucamserver
When the cameraserver is started, then the stepping can start
>> camset step <camset info="Stepped to 1266588079.109762 line 2 in image.log"/> Ball position x: 4.1385 y: 0.5525 z: 0.2767 >>
This will advance to the next image in the logfile, and some messages may be printed on the console. The image will be loaded into the image-pool with the same image number as the original device number (here 10).
The odometry pose may be stepped too:
>> odopose step <odopose tod="1266588094.529696" time="15:01:34.529" logLine="2"/> >>
This may advance the image.log file too (to the same log-time), and thus trigger another image and any command related to that image.