A helper class for holding the various SLAM related parameters. More...
#include <Robots/LoBot/slam/LoSlamParams.H>
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 > |
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.
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().