rpos::features::LocationProvider Class
Provides the localization and mapping (a.k.a SLAM) features of the SLAMWARE system.
Header File
rpos/features/location_provider.h
Applies to
- Slamware
- Mapper
Parent Class
rpos::core::Feature
Class
Methods
/**
* Get all available map types.
*/
std::vector<rpos::features::location_provider::MapType> getAvailableMaps();
For details, please refer to rpos::features::location_provider::MapType.
/**
* Get the map data object with the specified map kind and areas.
*/
rpos::features::location_provider::Map getMap(
rpos::features::location_provider::MapType,
rpos::core::RectangleF,
rpos::features::location_provider::MapKind
);
For details, please refer to rpos::features::location_provider::MapKind,rpos::features::location_provider::MapType, rpos::core::RectangleF and rpos::features::location_provider::Map.
/**
* Upload map data to the SLAMWARE system based on the map kind.
*/
bool setMap(
const rpos::features::location_provider::Map&,
rpos::features::location_provider::MapType,
rpos::features::location_provider::MapKind
);
For details, please refer to rpos::features::location_provider::Map, location_provider::MapType and location_provider::MapKind.
/**
* Upload map data along with the robot pose to the SLAMWARE system based on the map kind.
*/
bool setMapAndPose(
const core::Pose& pose,
const location_provider::Map& map,
const location_provider::MapType& type,
const location_provider::MapKind& kind,
bool partially
);
For details, please refer to core::Pose, location_provider::Map, location_provider::MapType and location_provider::MapKind.
/**
* Retrieve the explored(mapped) area of the current map.
*/
rpos::core::RectangleF getKnownArea(
rpos::features::location_provider::MapType,
rpos::features::location_provider::MapKind
);
For details, please refer to rpos::core::RectangleF, rpos::location_provider::MapType and rpos::location_provider::MapKind.
/**
* Clear all map data inside the SLAMWARE system.
*/
bool clearMap();
/**
* Clear the specified map data inside the SLAMWARE system.
*/
bool clearMap(location_provider::MapKind kind);
For details, please refer to location_provider::MapKind.
/**
* Get the robot location calcuated by the SLAMWARE System.
*/
rpos::core::Location getLocation();
For details, please refer to rpos::core::Location.
/**
* Get the robot pose calcuated by the SLAMWARE System.
*/
rpos::core::Pose getPose();
For details, please refer to rpos::core::Pose.
/**
* Upload and set the robot pose to the SLAMWARE System.
*/
bool setPose(const rpos::core::Pose&);
For details, please refer to rpos::core::Pose.
/**
* Check whether the localization system is enabled in the SLAMWARE system.
* Deadreck data will be used once localization system is disabled.
*/
bool getMapLocalization();
/**
* Set the SLAMWARE system to enable or disable the localization system.
* Deadreck data will be used once localization system is disabled.
*/
bool setMapLocalization(bool);
/**
* Check wehther SLAMWARE system will perform map update to the specified map kind.
* SLAMWARE system enters localization enhanced mode once map update is disabled.
*/
bool getMapUpdate(
rpos::features::location_provider::MapKind kind = rpos::features::location_provider::EXPLORERMAP
);
For details, please refer to rpos::location_provider::MapKind.
/**
* Set whether SLAMWARE system will perform map update to the specified map kind.
* SLAMWARE system enters localization enhanced mode once map update is disabled.
*/
bool setMapUpdate(
bool update,
rpos::features::location_provider::MapKind kind = rpos::features::location_provider::EXPLORERMAP
);
For details, please refer to rpos::location_provider::MapKind.
/**
* Get the localization quality indication value of the current pose.
*/
int getLocalizationQuality();
/**
* Get the charging base (dock) pose base on the current explorer map.
*/
bool getHomePose(core::Pose&);
For details, please refer to core::Pose.
/**
* Set the charging base (dock) pose base on the current explorer map.
*/
bool setHomePose(core::Pose);
For details, please refer to core::Pose.
/**
* Get the Aux localization data (require external module support).
*/
location_provider::PointPDF getAuxLocation();
/**
* Get the Aux localization beacon status (require external module support).
*/
location_provider::AuxLocalizationStatus getAuxLocalizationStatus(
location_provider::AuxLocalizationSource source
);
/**
* Get the imu data that represented in robot coordinate.
*/
bool getImuInRobotCoordinate(rpos::core::Imu&);
For details, please refer to rpos::core::Imu.
/**
* reset localization status. abandon all the environmental change information and revert to the state of uploading map.
*/
bool resetLocalizationStatus();