Back to list of all libraries | See all modules
mrpt-obs
In this library there are five key elements or groups of elements:
Sensor observations: All sensor observations share a common virtual base class (mrpt::obs::CObservation). There are classes to store laser scanners, 3D range images, monocular and stereo images, GPS data, odometry, etc. A concept very related to observations is a mrpt::obs::CSensoryFrame, a set of observations which were collected approximately at the same instant.
Rawlogs (datasets): A robotics dataset can be loaded, edited and explored by means of the class mrpt::obs::CRawlog. See also: http://www.mrpt.org/Rawlog_Format
Actions: For convenience in many Bayesian filtering algorithms, robot actions (like 2D displacement characterized by an odometry increment) can be represented by means of "actions". See mrpt::obs::CAction.
"Simple maps": In MRPT, a "simple map" is a set of pairs: "position", "sensory frames" (read above). The advantage of maintaining such a "simple map" instead a metric map is that the metric maps can be rebuilt when needed with different parameters from the raw observations, which are never lost.
CARMEN logs tools: Utilities to read from CARMEN log files and load the observations there as MRPT observations. See mrpt::obs::carmen_log_parse_line and the applications: carmen2rawlog, carmen2simplemap.
See the list of classes in mrpt::obs
Classes | |
class | mrpt::maps::CMetricMap |
Declares a virtual base class for all metric maps storage classes. More... | |
class | mrpt::maps::mrptEventMetricMapClear |
Event emitted by a metric up upon call of clear() More... | |
class | mrpt::maps::mrptEventMetricMapInsert |
Event emitted by a metric up upon a succesful call to insertObservation() More... | |
class | mrpt::maps::CSimpleMap |
This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be totally determined with this information. More... | |
struct | mrpt::maps::TMetricMapInitializer |
Virtual base for specifying the kind and parameters of one map (normally, to be inserted into mrpt::maps::CMultiMetricMap) See mrpt::maps::TSetOfMetricMapInitializers::loadFromConfigFile() as an easy way of initialize this object, or construct with the factory methods <metric_map_class>::MapDefinition() and TMetricMapInitializer::factory() More... | |
class | mrpt::maps::TSetOfMetricMapInitializers |
A set of TMetricMapInitializer structures, passed to the constructor CMultiMetricMap::CMultiMetricMap See the comments for TSetOfMetricMapInitializers::loadFromConfigFile, and "CMultiMetricMap::setListOfMaps" for effectively creating the list of desired maps. More... | |
class | mrpt::obs::CAction |
Declares a class for storing a robot action. More... | |
class | mrpt::obs::CActionCollection |
Declares a class for storing a collection of robot actions. More... | |
class | mrpt::obs::CActionRobotMovement2D |
Represents a probabilistic 2D movement of the robot mobile base. More... | |
class | mrpt::obs::CActionRobotMovement3D |
Represents a probabilistic 3D (6D) movement. More... | |
class | mrpt::obs::CObservation |
Declares a class that represents any robot's observation. More... | |
class | mrpt::obs::CObservation2DRangeScan |
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser scanner). More... | |
class | mrpt::obs::CObservation3DRangeScan |
Declares a class derived from "CObservation" that encapsules a 3D range scan measurement, as from a time-of-flight range camera or any other RGBD sensor. More... | |
class | mrpt::obs::CObservation6DFeatures |
An observation of one or more "features" or "objects", possibly identified with a unique ID, whose relative SE(3) pose is observed with respect to the sensor. More... | |
class | mrpt::obs::CObservationBatteryState |
This represents a measurement of the batteries on the robot. More... | |
class | mrpt::obs::CObservationBeaconRanges |
Declares a class derived from "CObservation" that represents one (or more) range measurements to labeled beacons. More... | |
class | mrpt::obs::CObservationBearingRange |
This observation represents a number of range-bearing value pairs, each one for a detected landmark, which optionally can have identification IDs. More... | |
class | mrpt::obs::CObservationCANBusJ1939 |
This class stores a message from a CAN BUS with the protocol J1939. More... | |
class | mrpt::obs::CObservationComment |
This "observation" is actually a placeholder for a text block with comments or additional parameters attached to a given rawlog file. More... | |
class | mrpt::obs::CObservationGasSensors |
Declares a class derived from "CObservation" that represents a set of readings from gas sensors. More... | |
class | mrpt::obs::CObservationGPS |
This class stores messages from GNSS or GNSS+IMU devices, from consumer-grade inexpensive GPS receivers to Novatel/Topcon/... More... | |
class | mrpt::obs::CObservationImage |
Declares a class derived from "CObservation" that encapsules an image from a camera, whose relative pose to robot is also stored. More... | |
class | mrpt::obs::CObservationIMU |
This class stores measurements from an Inertial Measurement Unit (IMU) (attitude estimation, raw gyroscope and accelerometer values), altimeters or magnetometers. More... | |
class | mrpt::obs::CObservationOdometry |
An observation of the current (cumulative) odometry for a wheeled robot. More... | |
class | mrpt::obs::CObservationRange |
Declares a class derived from "CObservation" that encapsules a single range measurement, and associated parameters. More... | |
class | mrpt::obs::CObservationRawDAQ |
Store raw data from a Data Acquisition (DAQ) device, such that input or output analog and digital channels, counters from encoders, etc. More... | |
class | mrpt::obs::CObservationReflectivity |
Declares a class derived from "CObservation" that encapsules a single short-range reflectivity measurement. More... | |
class | mrpt::obs::CObservationRFID |
This represents one or more RFID tags observed by a receiver. More... | |
class | mrpt::obs::CObservationRGBD360 |
Declares a class derived from "CObservation" that encapsules an omnidirectional RGBD measurement from a set of RGBD sensors. More... | |
class | mrpt::obs::CObservationRobotPose |
An observation providing an alternative robot pose from an external source. More... | |
class | mrpt::obs::CObservationSkeleton |
This class stores a skeleton as tracked by OPENNI2 & NITE2 libraries from PrimeSense sensors. More... | |
class | mrpt::obs::CObservationStereoImages |
Observation class for either a pair of left+right or left+disparity images from a stereo camera. More... | |
class | mrpt::obs::CObservationStereoImagesFeatures |
Declares a class derived from "CObservation" that encapsules a pair of cameras and a set of matched image features extracted from them. More... | |
class | mrpt::obs::CObservationVelodyneScan |
A CObservation -derived class for RAW DATA (and optionally, point cloud) of scans from 3D Velodyne LIDAR scanners. More... | |
class | mrpt::obs::CObservationWindSensor |
Declares a class derived from "CObservation" that represents the wind measurements taken on the robot by an anemometer. More... | |
class | mrpt::obs::CObservationWirelessPower |
This represents a measurement of the wireless strength perceived by the robot. More... | |
class | mrpt::obs::CRawlog |
This class stores a rawlog (robotic datasets) in one of two possible formats: More... | |
class | mrpt::obs::CSensoryFrame |
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximately at the same time as one "snapshot" of the environment. More... | |
class | mrpt::obs::CSinCosLookUpTableFor2DScans |
A smart look-up-table (LUT) of sin/cos values for 2D laser scans. More... | |
struct | mrpt::obs::T2DScanProperties |
Auxiliary struct that holds all the relevant geometry information about a 2D scan. More... | |
struct | mrpt::obs::VelodyneCalibration |
Velodyne calibration data, for usage in mrpt::obs::CObservationVelodyneScan. More... | |
Namespaces | |
mrpt::obs | |
This namespace contains representation of robot actions and observations. | |
Macros | |
#define | INVALID_BEACON_ID (-1) |
Used for CObservationBeaconRange, CBeacon, etc. More... | |
#define | INVALID_LANDMARK_ID (-1) |
Used for CObservationBearingRange::TMeasurement::beaconID and others. More... | |
Functions | |
bool | mrpt::obs::carmen_log_parse_line (std::istream &in_stream, std::vector< mrpt::obs::CObservation::Ptr > &out_imported_observations, const mrpt::system::TTimeStamp &time_start_log) |
Parse one line from an text input stream and interpret it as a CARMEN log entry, returning its MRPT observation representation. More... | |
template<class OBSERVATION_T > | |
OBSERVATION_T::Ptr | mrpt::obs::utils::getObservation (mrpt::obs::CSensoryFrame::Ptr &observations, mrpt::obs::CObservation::Ptr &observation, bool priority_to_sf=true) |
Given an mrpt::obs::CSensoryFrame and a mrpt::obs::CObservation pointer if a OBSERVATION_T type observation is included and return a pointer to that instance. More... | |
#define INVALID_BEACON_ID (-1) |
Used for CObservationBeaconRange, CBeacon, etc.
Definition at line 22 of file CObservation.h.
Referenced by mrpt::maps::CMultiMetricMapPDF::prediction_and_update< mrpt::slam::OptimalProposal >().
#define INVALID_LANDMARK_ID (-1) |
Used for CObservationBearingRange::TMeasurement::beaconID and others.
Definition at line 25 of file CObservation.h.
Referenced by mrpt::obs::CObservationBearingRange::getDescriptionAsText(), mrpt::obs::CObservationBearingRange::readFromStream(), mrpt::maps::CLandmarksMap::simulateRangeBearingReadings(), and mrpt::obs::CObservationBearingRange::writeToStream().
Symbolic names for the indices of IMU data (refer to mrpt::obs::CObservationIMU)
Definition at line 26 of file CObservationIMU.h.
bool mrpt::obs::carmen_log_parse_line | ( | std::istream & | in_stream, |
std::vector< mrpt::obs::CObservation::Ptr > & | out_imported_observations, | ||
const mrpt::system::TTimeStamp & | time_start_log | ||
) |
Parse one line from an text input stream and interpret it as a CARMEN log entry, returning its MRPT observation representation.
The first word in each line determines the type of that entry. Supported line entries in this class are the following:
Note that the sensor position on the robot will be always deduced from the corresponding CARMEN log line automatically.
The following entry types will be IGNORED, since with the tags above will be enough in most applications.
About the PARAM entries: This functions has an internal static status consisting on some PARAM values which have effects on the future read observations. When the function finds one of these, it stores the parameter value, return an empty vector of observations, and use those values for future laser entries of types FLASER or RLASER. Currently, only these parameters are processed:
time_start_log | The real timestamp that corresponds to a "0" in the CARMEN log (you can get a mrpt::system::now() once and pass that same value with each call). |
References: http://carmen.sourceforge.net/doc/binary__loggerplayback.html
std::runtime_error | On any invalid line found. |
Definition at line 28 of file carmen_log_tools.cpp.
References mrpt::utils::DEG2RAD(), mrpt::system::lowerCase(), mrpt::math::TPose2D::phi, mrpt::system::secondsToTimestamp(), mrpt::system::strStartsI(), THROW_EXCEPTION_FMT, mrpt::system::trim(), val, mrpt::math::TPose2D::x, and mrpt::math::TPose2D::y.
OBSERVATION_T::Ptr mrpt::obs::utils::getObservation | ( | mrpt::obs::CSensoryFrame::Ptr & | observations, |
mrpt::obs::CObservation::Ptr & | observation, | ||
bool | priority_to_sf = true |
||
) |
Given an mrpt::obs::CSensoryFrame and a mrpt::obs::CObservation pointer if a OBSERVATION_T type observation is included and return a pointer to that instance.
Definition at line 36 of file obs_utils.h.
Referenced by mrpt::hwdrivers::CWirelessPower::doProcess(), mrpt::hwdrivers::CImpinjRFID::doProcess(), mrpt::hwdrivers::CBoardSonars::doProcess(), mrpt::hwdrivers::CEnoseModular::doProcess(), mrpt::hwdrivers::CBoardENoses::doProcess(), and mrpt::hwdrivers::CPhidgetInterfaceKitProximitySensors::doProcess().
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019 |