MRXT: The Multi-Robot eXploration Tool
Multi-Robot autonomous exploration and mapping simulator.
|
Implements an slam algorithm consisting on a rao-blackwellized particle filter. More...
#include <RBPFilter.h>
Public Member Functions | |
RBPFilter () | |
Constructor. | |
RBPFilter (int nrobots, ConfigFile &configFile) | |
Constructor. | |
virtual | ~RBPFilter () |
Destructor. | |
point | getCell (int robot) |
returns the current cell of the robot | |
matrix | getCovariance (int robot) const |
returns the matrix that represents the covariance of the position of the robot | |
float | getDisp (int robot) const |
returns a measure of the dispersion of the robot | |
Ematrix | getGlobalCovariance () const |
returns the matrix that represents the covariance of robots and marks | |
binMap * | getImpMap () |
returns a copy of the current imprecise pose map | |
gridMapInterface * | getOMap () |
returns a copy of the current occupancy map | |
QPixmap * | getPixmap () |
pose | getPos (int robot) |
returns the current pose of the robot | |
binMap * | getPreMap () |
return a copy of the current precise pose map | |
QImage * | getQImage () |
visualMap * | getVMap () |
returns a copy of the current visual map | |
void | initialize (int nrobots, ConfigFile &configfile) |
initializer | |
Private Member Functions | |
void | drawPoses (IplImage &im, float xorigin, float yorigin, float resolution) |
void | evalDisp (int r) |
evaluates the uncertainty on the position of each robot | |
void | execute () |
primary execution loop | |
void | fastSlam (int robot, const landmarksData &lmData, const pose &lastOdo, const pose &odo) |
updates fast slam filter | |
matrix | jacobian (const pose &pos) |
jacobian, this is to update the EKF of each feature | |
void | onStop () |
called before stopping | |
double | resample () |
performs the resampling step | |
int | setup () |
set up for the execution thread | |
void | updateAll (const rangeSensorData &rsData, int robot) |
updates the occupancy, precise poses and imprecises poses maps | |
void | updateParticle (int robot, const landmarksData &lmData, const pose &lastOdo, const pose &deltaOdo, int i) |
updates one particle of the RBPF | |
Private Attributes | |
ClMutex | closing |
sampling syncronization mutual exclusion | |
float * | dispRobot |
most probable particle | |
bool | endSlam |
run/stop control | |
matrix | Identity3 |
a common imprecise pose binMap for all particles | |
int | index |
last particles | |
binMap * | ipmap |
a common precise pose binMap for all particles | |
pose ** | lastOdoData |
odometry values | |
landmarksData ** | lmData |
captured range sensor data | |
int | M |
float | mahTh |
3x3 identity matrix | |
particle * | newp |
particles data structure | |
pose ** | odoData |
measure of uncertainty for each robot | |
gridMapInterface * | omap |
flag to use only one grid map instead of one per particle | |
bool | onlyonegridmap |
stop condition | |
particle * | p |
number of particles | |
binMap * | ppmap |
a common occupancy grid for all particles | |
rangeSensorData ** | rsData |
last odometry values | |
ClMutex | sampling |
captured features |
Implements an slam algorithm consisting on a rao-blackwellized particle filter.
Definition at line 26 of file RBPFilter.h.