Home
FAQ
Player
Stage
Gazebo
Contrib
Documentation
Publications
Contributors
Users

Project
Download
Bugs/Feedback
Mailing lists

Radish

Old news
Old stuff

laser.h

Go to the documentation of this file.
00001 
00002 /**************************************************************************
00003  * Desc: Sensor models for the laser sensor.
00004  * Author: Andrew Howard
00005  * Date: 15 Dec 2002
00006  * CVS: $Id: laser.h,v 1.5 2003/08/23 04:03:43 inspectorg Exp $
00007  *************************************************************************/
00008 
00009 #ifndef LASER_H
00010 #define LASER_H
00011 
00012 #include "../pf/pf.h"
00013 #include "../map/map.h"
00014 
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018 
00019   
00020 // Info for a single range measurement
00021 typedef struct
00022 {
00023   double range, bearing;
00024   
00025 } laser_range_t;
00026 
00027 
00028 // Model information
00029 typedef struct
00030 {
00031   // Pointer to the map
00032   map_t *map;
00033 
00034   // Laser pose relative to robot
00035   pf_vector_t laser_pose;
00036 
00037   // Covariance in the range reading
00038   double range_cov;
00039 
00040   // Probability of spurious range readings
00041   double range_bad;
00042 
00043   // Pre-computed laser sensor model
00044   int lut_size;
00045   double lut_res;
00046   double *lut_probs;
00047   
00048   // Laser (range, bearing) values
00049   int range_count;
00050   laser_range_t *ranges;
00051 
00052 } laser_t;
00053 
00054 
00055 // Create an sensor model
00056 laser_t *laser_alloc(map_t *map);
00057 
00058 // Free an sensor model
00059 void laser_free(laser_t *sensor);
00060 
00061 // Clear all existing range readings
00062 void laser_clear_ranges(laser_t *sensor);
00063 
00064 // Set the laser range readings that will be used.
00065 void laser_add_range(laser_t *sensor, double range, double bearing);
00066 
00067 // The sensor model function
00068 double laser_sensor_model(laser_t *sensor, pf_vector_t pose);
00069 
00070 
00071 #ifdef __cplusplus
00072 }
00073 #endif
00074 
00075 #endif
00076 

Generated on Tue May 3 14:15:34 2005 for Player by doxygen 1.3.6