Last Friday I finished off work on the first working version of Zaza's selectmap CGI. I ended up using the Perl interface to ImageMagick for auto-generation of the start position thumbnails, but the performance is sub-optimal. The antialiasing functions perform poorly. The image-shearing-based rotation algorithm doesn't work well on small images, so the robot image looks pretty bad (See here, here, and here). To top it all off, it chews up 100% of the server's CPU for three seconds while generating images. Yuck...
I also successfully tested auto-generation of the map.initprobs and map.laserDist.1.1000 files (the map.planmap file could also be auto-generated, but would need to be edited to include unseen obstacles for the obstacleServer.) This simplifies some of the aspects of running with new maps. The first two files are used by the localizer system to determine the robot's initial pose on startup, and to pre-load the Bayesian position estimation routines of the localizer for faster position estimation than interpreting a BeeSoft-format map in real-time would allow. Carmen's new mapping system/localizer are all integrated, so all the data included in these files are included in a single map. I look forward to the simplicity this allows ;)
For some reason Redhat included some changes in the last eratta version of mod_perl for Apache 1.3.27 that reduced the scope of subroutine references and broke external references to poslib functions in the posServer CGI and C-language wrapper for poslib used by poslibtcx. To work around this poslib needed to be defined as a package, and all functions updated to explicitly reference the package functions. I guess this is the proper way to do it, but I had to waste a few hours resolving the problem instead of finishing off the applet/Java plugin auto-generation CGI.
I made a few additions to poslib, and started work on another CGI (showmap) to add support for auto-content generation for the map applet frame. When finished, it will automatically cut-over to the map applet after selectmap starts up all of the Phase IV components, or a status page with the time of the next scheduled run. I'll also need to update posServer to provide functionality for status polling with the ZazaMap applet.
On another front, the Blue Cube's batteries are badly sulfated and have been on the charger in float mode for two weeks with all showing signs of improvement, but only three of the five returning to a reasonable voltage in the last few days. Gotta be patient I guess ;) Last week I added a simple 250ms RC delay to the 'power good' line of the motherboard's power supply which should help improve startup reliability.