|
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.
1.7.6.1