Homepage | Demos | Overview | Downloads | Tutorials | Reference | Credits |
00001 /* 00002 * Measurement update code for the AIBO FastSLAM. 00003 * 00004 * The routines here are used to update the particles' ideas of where 00005 * landmarks are after new sensor information is collected. One of two 00006 * things can occur here: 00007 * 00008 * 1. The particle already has an estimate of where the landmark is 00009 * located. New measurement information is integrated with the 00010 * existing estimate using standard extended Kalman filter techniques 00011 * (thanks, Mike!). 00012 * 00013 * 2. There is no estimate yet. To create an estimate, good old fashioned 00014 * triangulation is used to create a Gaussian that roughly matches the 00015 * location of the landmark. This requires multiple sightings, though, 00016 * and in some cases the routine will just cache information about the 00017 * particle location without doing anything, waiting until the next 00018 * measurement to create the estimate. 00019 * 00020 * The measurement update routines will also compute a weight for the 00021 * subsequent particle resampling step IF this is possible. It may not be 00022 * possible if this particle has not been able to triangulate a landmark's 00023 * location yet, or if it has just completed a triangulation. If a weight 00024 * is computed, the particle's gotweight member will be set to true and 00025 * its weight member will be filled with the weight. If not, gotweight will 00026 * be false. 00027 */ 00028 00029 #include "afsParticle.h" 00030 00031 #ifndef _AFS_MEASUREMENT_UPDATE_H_ 00032 #define _AFS_MEASUREMENT_UPDATE_H_ 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00038 /* Perform the measurement update detailed above. */ 00039 void afsMeasurementUpdate(afsParticle *p, int landmark, double theta); 00040 00041 #ifdef __cplusplus 00042 } 00043 #endif 00044 00045 #endif
Tekkotsu v1.4 |
Generated Sat Jul 19 00:06:29 2003 by Doxygen 1.3.2 |