Hi Brian, On Mon, 2010-05-17 at 08:31 -0700, Brian Gerkey wrote: > Thanks for the patch; that approach sounds very promising. > > But my casual testing (using logged data via > gmapping/test/basic_stage_localization.launch) suggests that, with the > patch applied, slam_gmapping consumes more CPU, rather than less. With a small number of scans and a large particle set, that is expected (see below). > As it stands, the common processing profile of slam_gmapping is a > relatively low nominal load with periodic surges up to 100% of a core > (presumably when building the occupancy grid). > > With the patch applied, slam_gmapping consumes a steady 100% of a > core. Maybe this is because many unnecessary maps are being built? A map is built for each particle. This is the fundamental mechanism that allows the algorithm to discard past laser scans as all history is covered by the particle set of triples (under certain probabilistic assumptions). The map building has to be done for all particles as weights may change and result in a different particle becoming the best one. > A constant-time update step is generally preferred, but not > necessarily if the constant factor means that a core is always pegged. Suppose you have N particles and K scans. Using the old configuration, ScanMatcher::registerScan() would be called K times using the more expensive m_generateMap==true code path. With the proposed changes applied, this is done N times (AFAICT). K increases over time. As K>N, the old approach will have to do more work (and, as K becomes large, it will eventually run out of memory). I suspect the basic_stage_localization bag file is too short to cover the K>N case. Maybe someone with a larger log file would like to test this or share such a log file in bag format? Cheers, Rene -- ------------------------------------------------------------ Dipl.-Inf. René Wagner Junior Researcher DFKI Bremen Enrique-Schmidt-Str. 5 Safe and Secure Cognitive Systems D-28359 Bremen Phone: (+49) 421-218-64224 Fax: (+49) 421-218-98-64224 Email: Rene.Wagner@dfki.de Web: http://www.dfki.de/sks --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Deutsches Forschungszentrum für Künstliche Intelligenz GmbH Firmensitz: Trippstadter Strasse 122, D-67663 Kaiserslautern Geschäftsführung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender) Dr. Walter Olthoff Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes Amtsgericht Kaiserslautern HRB 2313 ------------------------------------------------------------