#include <ArLocalizationManager.h>
Inheritance diagram for ArLocalizationManager:
Public Member Functions | |
ArLocalizationManager (ArRobot *robot, ArMapInterface *ariaMap) | |
Base constructor with all the necessary inputs. | |
virtual | ~ArLocalizationManager (void) |
Destructor. | |
bool | fuseTwoDistributions (ArPose m1, ArMatrix V1, double s1, double threshold1, ArPose m2, ArMatrix V2, double s2, double threshold2, ArPose &mean, ArMatrix &Var, double &s, double &threshold) |
Fuse two distributions to make one mean pose and one variance matrix. | |
bool | addLocalizationTask (ArBaseLocalizationTask *loca) |
Adds a localization to be managed. | |
bool | removeLocalizationTask (ArBaseLocalizationTask *loca) |
Removes a localization from the managing. | |
virtual bool | findLocalizationMeanVar (ArPose &mean, ArMatrix &Var) |
The actual mean var calculator for the virtual in the base class. | |
virtual void | setCorrectRobotFlag (bool a) |
Sets the flag deciding whether to reflect localized pose onto the robot. | |
virtual void | setRobotPose (ArPose pose, ArPose spread=ArPose(0, 0, 0), int nSam=0) |
Used to set the robot pose usually at the start of localization. | |
virtual bool | localizeRobotAtHomeBlocking (double distSpread, double angleSpread) |
Localize robot at start or while initialization. | |
virtual double | getLocalizationScore (void) |
Returns the weighted average of the scores from the localizations in its list. | |
virtual void | setLocalizationScore (double f) |
Function to set the score. | |
virtual double | getLocalizationThreshold (void) |
Get the localization threshold. | |
virtual void | setLocalizationThreshold (double t) |
Set the localization threshold. | |
virtual ArBaseLocalizationTask * | getLightLocalizationPtr (void) |
Function to get the light loca pointer. | |
Protected Member Functions | |
virtual void * | runThread (void *ptr) |
Function used to run the task as a thread. | |
bool | reconfigureLocalization (void) |
Needed if the params are changed or loaded again. |
|
Adds a localization to be managed. Adds a localization to be managed.
|
|
The actual mean var calculator for the virtual in the base class. Return the last mean and variance from all the localization threads.
Reimplemented from ArBaseLocalizationTask. |
|
Fuse two distributions to make one mean pose and one variance matrix. Combines two gaussian distributions into one. Also interpolates the score as the weighted average of the two dists.
|
|
Function to get the light loca pointer. Do the fusing. |
|
Returns the weighted average of the scores from the localizations in its list. Only the XY pose uncertainity is used for now compute the weight. The theta uncertainity is ignored. Reimplemented from ArBaseLocalizationTask. |
|
Localize robot at start or while initialization. Sets robot pose for localization init.
Reimplemented from ArBaseLocalizationTask. |
|
Needed if the params are changed or loaded again. A function to setup the laser if it wasnt connected first time around.
|
|
Removes a localization from the managing. Removes a localization to be managed.
|
|
Function used to run the task as a thread. The main loop for the background localization thread. Do the fusing. MPL commenting this out since it causes a deadlock and isn't needed MPL commenting this out since it causes a deadlock and isn't needed |
|
Sets the flag deciding whether to reflect localized pose onto the robot. Sets the correct robot flag, this flag decides if the localization results will be poked into the robot.
Reimplemented from ArBaseLocalizationTask. |
|
Used to set the robot pose usually at the start of localization. This one with a spread around the set pose. Reimplemented from ArBaseLocalizationTask. |