MRXT: The Multi-Robot eXploration Tool
Multi-Robot autonomous exploration and mapping simulator.
Public Member Functions | Private Member Functions | Private Attributes
EKFilter Class Reference

Implements a slam algorithm consisting on a extended Kalman filter. More...

#include <EKFilter.h>

Inheritance diagram for EKFilter:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 EKFilter ()
 Constructor.
 EKFilter (int nrobots, ConfigFile &configFile)
 Constructor.
virtual ~EKFilter ()
 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
binMapgetImpMap ()
 returns a copy of the current imprecise pose map
gridMapInterfacegetOMap ()
 returns a copy of the current occupancy map
QPixmap * getPixmap ()
 returns the map as a QPixmap
pose getPos (int robot)
 returns the current pose of the robot
binMapgetPreMap ()
 return a copy of the current precise pose map
QImage * getQImage ()
 returns the map as a QImage
visualMapgetVMap ()
 returns a copy of the current visual map
void initialize (int nrobots, ConfigFile &configfile)
 initializer

Private Member Functions

landmarkdataAssociation (const matrix &ZT, const matrix &Rt, const pos3d &globalpos, const pose &robotPos, const matrix &H, const matrix &Htrans, const float *desc, const Ematrix &Pcomp, int r)
 Data association between the new observations and the map.
void drawPose (IplImage &im, const pose &pos, const matrix &covariance, float xorigin, float yorigin, float resolution)
 Draws the poses of the robots in an opencv image.
void evalDisp (int r)
 evaluates the uncertainty on the position of each robot
float evalUncertainty ()
 evaluates the uncertainty on the position of each robot
void execute ()
 primary execution loop
matrix jacobianF (const pose &pos, const pose &deltaOdo, float thetaodo)
 jacobian F
Ematrix jacobianG (const pose &pos, const pose &deltaOdo, float thetaodo)
 jacobian G
matrix jacobianH1 (const pose &pos, const pos3d &mark)
 jacobian H1
matrix jacobianH2 (const pose &pos)
 jacobian H2
matrix jacobianJ1 (const pose &pos, const pos3d &mark)
 jacobian J1
matrix motionModel (const pose &pos, const pose &deltaOdo, float thetaodo)
 motion model
Ematrix noiseQ (const pose &pos, const pose &deltaOdo, float thetaodo)
 odometry noise matrix Q
void onStop ()
 called before stopping
int setup ()
 set up for the execution thread

Private Attributes

ClMutex closing
Ematrix covariance
float descTh
double determinante
float * dispRobot
bool endSlam
int errorcount
matrix Identity3
binMapipmap
pose ** lastOdoData
landmarksData ** lmData
float mahTh
float maxCorrect
float mediana
float minIncorrect
int nearestNeighbourOrderBy
pose ** odoData
gridMapInterfaceomap
binMapppmap
pointrobotcells
rangeSensorData ** rsData
Ematrix state
visualMapvmap

Detailed Description

Implements a slam algorithm consisting on a extended Kalman filter.

Author: Miguel Julia <mjulia@umh.es>

Date: 2009

Class EKF

Definition at line 21 of file EKFilter.h.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs