|
Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages
odometry.hGo to the documentation of this file.00001 00002 /************************************************************************** 00003 * Desc: Sensor/action models for odometry. 00004 * Author: Andrew Howard 00005 * Date: 15 Dec 2002 00006 * CVS: $Id: odometry.h,v 1.5 2003/08/23 04:03:43 inspectorg Exp $ 00007 *************************************************************************/ 00008 00009 #ifndef ODOMETRY_H 00010 #define ODOMETRY_H 00011 00012 #include "../pf/pf.h" 00013 #include "../pf/pf_pdf.h" 00014 00015 #ifdef __cplusplus 00016 extern "C" { 00017 #endif 00018 00019 00020 // Model information 00021 typedef struct 00022 { 00023 // PDF used for initialization 00024 pf_pdf_gaussian_t *init_pdf; 00025 00026 // PDF used to generate action samples 00027 pf_pdf_gaussian_t *action_pdf; 00028 00029 } odometry_t; 00030 00031 00032 // Create an sensor model 00033 odometry_t *odometry_alloc(); 00034 00035 // Free an sensor model 00036 void odometry_free(odometry_t *sensor); 00037 00038 // Prepare to initialize the distribution 00039 void odometry_init_init(odometry_t *self, pf_vector_t mean, pf_matrix_t cov); 00040 00041 // Finish initializing the distribution 00042 void odometry_init_term(odometry_t *self); 00043 00044 // Initialize the distribution 00045 pf_vector_t odometry_init_model(odometry_t *self); 00046 00047 // Prepare to update the distribution using the action model. 00048 void odometry_action_init(odometry_t *self, pf_vector_t old_pose, pf_vector_t new_pose); 00049 00050 // Finish updating the distrubiotn using the action model 00051 void odometry_action_term(odometry_t *self); 00052 00053 // The action model function 00054 pf_vector_t odometry_action_model(odometry_t *self, pf_vector_t pose); 00055 00056 00057 #ifdef __cplusplus 00058 } 00059 #endif 00060 00061 #endif 00062 Generated on Tue May 3 14:15:34 2005 for Player by 1.3.6 |