lobot::SlamParams Class Reference

A helper class for holding the various SLAM related parameters. More...

#include <Robots/LoBot/slam/LoSlamParams.H>

Collaboration diagram for lobot::SlamParams:
Collaboration graph
[legend]

List of all members.

Static Public Member Functions

static float map_cell_size ()
static void map_extents (float *L, float *R, float *B, float *T)
 This function returns extents of the map in physical coordinates.
static void map_extents (float ext[4])
static const float * map_extents ()
static float max_map_distance ()
static const triple< float,
float, float > & 
initial_pose ()
static int num_particles ()
static int ess_threshold ()
static int num_matches ()
static float occ_threshold ()
static float update_weight ()
static bool match_scans ()
static std::string map_file ()
static bool localization_mode ()
static bool slam_mode ()
static Drawable::Geometry map_geometry ()

static int map_width ()
static int map_height ()

static float Sx ()
static float Sy ()

static float x_error ()
static float y_error ()
static float t_error ()

static float alpha_fast ()
static float alpha_slow ()

static int beam_start ()
static int beam_end ()
static int beam_step ()
static float beam_sigma ()
static float beam_fudge ()
static range< float > beam_range ()
static float beam_prob_rnd ()
static float beam_occ_range_error ()

Friends

class singleton< SlamParams >

Detailed Description

A helper class for holding the various SLAM related parameters.

The settings for Robolocust's SLAM subsystem are spread over a couple of different sections of the config file. This class helps put them all in one place so that all the SLAM related modules can access these parameters from one place instead of having to duplicate code or introduce unweildy module dependencies.

Definition at line 76 of file LoSlamParams.H.


Member Function Documentation

static float lobot::SlamParams::alpha_fast (  )  [inline, static]

These functions return the decay parameters for the short and long-term averages used to determine the appropriate time and number of random particles to be inserted.

Definition at line 459 of file LoSlamParams.H.

static int lobot::SlamParams::beam_start (  )  [inline, static]

These functions return various parameters used by the probabilistic beam model.

Definition at line 472 of file LoSlamParams.H.

static int lobot::SlamParams::ess_threshold (  )  [inline, static]

This function returns the threshold value for the effective sample size test, which determines when the particle filter will resample its particle population.

Definition at line 453 of file LoSlamParams.H.

Referenced by lobot::FastSLAM::update().

static const triple<float, float, float>& lobot::SlamParams::initial_pose (  )  [inline, static]

This function returns the robot's initial pose as configured by the user.

Definition at line 434 of file LoSlamParams.H.

static bool lobot::SlamParams::localization_mode (  )  [inline, static]

This function returns true if SLAM is configured to perform localization only. In this mode, the user must supply a known map and only the Monte Carlo Localization component of the SLAM algorithm will be used. This mode is useful for testing the localization part of SLAM in isolation from the mapping part.

Definition at line 506 of file LoSlamParams.H.

Referenced by slam_mode().

static float lobot::SlamParams::map_cell_size (  )  [inline, static]

This function returns the size of each cell of the occupancy grid, i.e., the amount of actual physical area each cell in the grid takes up.

NOTE: Each cell in the occupancy grid is a square. This function returns the length of a side of the square.

Definition at line 397 of file LoSlamParams.H.

static const float* lobot::SlamParams::map_extents (  )  [inline, static]

This function returns a pointer to the internal array holding the map extents. This is a convenience function. Clients should not misuse the returned pointer.

Definition at line 410 of file LoSlamParams.H.

Referenced by lobot::Particle::apply_motion_model(), and lobot::Particle::randomize().

void lobot::SlamParams::map_extents ( float  ext[4]  )  [static]

This function returns the map extents via an array of four numbers ordered like so: left, right, bottom, top. The extents are in physical coordnates.

Definition at line 194 of file LoSlamParams.C.

void lobot::SlamParams::map_extents ( float *  L,
float *  R,
float *  B,
float *  T 
) [static]

This function returns extents of the map in physical coordinates.

Definition at line 181 of file LoSlamParams.C.

static std::string lobot::SlamParams::map_file (  )  [inline, static]

If SLAM is configured to perform localization only, i.e., no mapping, then the user will be expected to specify a file name containing the known map to be used for localization. This function returns the map file name.

Definition at line 499 of file LoSlamParams.H.

static Drawable::Geometry lobot::SlamParams::map_geometry (  )  [inline, static]

This function returns the geometry of the map's UI drawable. It is useful when figuring out transformations for map related rendering operations.

Definition at line 516 of file LoSlamParams.H.

static int lobot::SlamParams::map_width (  )  [inline, static]

These function return the size of the occupancy grid, i.e., the number of cells in the horizontal and vertical directions. This number is derived from the map discretization as specified in the config file.

Definition at line 417 of file LoSlamParams.H.

Referenced by lobot::OccGrid::get(), lobot::Map::Map(), lobot::OccGrid::OccGrid(), and lobot::Map::submap().

static bool lobot::SlamParams::match_scans (  )  [inline, static]

This function returns true if scan matching is enabled; false otherwise.

Definition at line 493 of file LoSlamParams.H.

Referenced by lobot::Particle::apply_motion_model().

static float lobot::SlamParams::max_map_distance (  )  [inline, static]

This function returns the max distance that can be traversed within the map.

Definition at line 423 of file LoSlamParams.H.

static int lobot::SlamParams::num_matches (  )  [inline, static]

This function returns the number of particles that should most closely match the particle with max weight when deciding the current best hypothesis regarding the robot's pose and environment map.

Definition at line 467 of file LoSlamParams.H.

static int lobot::SlamParams::num_particles (  )  [inline, static]

This function returns the number of particles to be used by the FastSLAM algorithm.

Definition at line 448 of file LoSlamParams.H.

Referenced by lobot::FastSLAM::FastSLAM().

static float lobot::SlamParams::occ_threshold (  )  [inline, static]

This function returns the minimum occupancy likelihood corresponding to the "occupied" state.

Definition at line 484 of file LoSlamParams.H.

Referenced by lobot::OccGrid::is_occupied().

static bool lobot::SlamParams::slam_mode (  )  [inline, static]

This function returns true if SLAM is configured to perform both localization and mapping. This is the usual operational mode for a SLAM algorithm.

Definition at line 511 of file LoSlamParams.H.

References localization_mode().

static float lobot::SlamParams::Sx (  )  [inline, static]

These functions return the scale factors for converting real/physical coordinates to grid coordinates and vice versa.

Definition at line 428 of file LoSlamParams.H.

static float lobot::SlamParams::update_weight (  )  [inline, static]

This function returns the amount of "spread" associated with checking or setting a cell's likelihood across its immediate neighbours.

Definition at line 489 of file LoSlamParams.H.

Referenced by lobot::OccGrid::get().

static float lobot::SlamParams::x_error (  )  [inline, static]

These functions return the translational and rotational errors for the robot's motion as specified by the user.

Definition at line 441 of file LoSlamParams.H.

Referenced by lobot::Particle::apply_motion_model().


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:44:34 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3