Many changes have been made since the last released version (0.2). Here is a brief list.
Performance improvements. Many speed critical parts of the localization algorithm have been optimized. Use of lookup tables and a new
line drawing algorithm reduced the localization delay from about 8 seconds to less than 2 seconds.
Incremental localization. More than one range sensor sweep is used to perform localization. Each sweep is done from a
separate location so that a more complete view of the environment can be seen. This process can be thought as
building a local map and then comparing this map with the global map. Normally a single sweep will be used to
build the local map; but if more sweeps are added, the localization process will be more accurate.
Dead reckoning. Dead reckoning is used as a secondary source of location information. Combined with the
range sensor based localization algorithm, dead reckoning can provide a close to real-time location estimate.
At regular intervals a range sensor localization is performed that yields a more accurate position.
Constrained localization. Localization can now be optionally constrained within a circle around the location
estimated by the dead reckoning algorithm. This yields a more accurate location faster since there is no need to process
the complete map.
Bayes’ rule used for occupancy updates. In order to integrate occupancy data over time Bayes' rule is now used.
Proper sonar modeling. A range vector is now properly modeled as a cone with fixed beam-width angle.