Class CObservationBearingRange
Defined in File CObservationBearingRange.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public mrpt::obs::CObservation(Class CObservation)
Class Documentation
-
class CObservationBearingRange : public mrpt::obs::CObservation
This observation represents a number of range-bearing value pairs, each one for a detected landmark, which optionally can have identification IDs. This class can manage sensors that detect landmarks in a 2D plane (e.g. a laser scanner) or in the 3D space (e.g. a camera). There are two direction angles: yaw (azimuth) and pitch (negative elevation). For 2D sensors, the pitch must be always set to 0. See CObservationBearingRange::validCovariances for the instructions to fill the uncertainty covariances.
See also
Public Types
-
using TMeasurementList = std::vector<TMeasurement>
Public Functions
-
CObservationBearingRange() = default
-
void debugPrintOut()
Prints out the contents of the object.
-
inline virtual void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const override
A general method to retrieve the sensor pose on the robot. Note that most sensors will return a full (6D) CPose3D, but see the derived classes for more details or special cases.
See also
-
inline virtual void setSensorPose(const mrpt::poses::CPose3D &newSensorPose) override
A general method to change the sensor pose on the robot. Note that most sensors will use the full (6D) CPose3D, but see the derived classes for more details or special cases.
See also
-
virtual void getDescriptionAsText(std::ostream &o) const override
Build a detailed, multi-line textual description of the observation contents and dump it to the output stream.
Note
If overried by derived classes, call base CObservation::getDescriptionAsText() first to show common information.
Note
This is the text that appears in RawLogViewer when selecting an object in the dataset
-
inline virtual bool exportTxtSupported() const override
Must return true if the class is exportable to TXT/CSV files, in which case the other virtual methods in this group must be redefined too.
-
virtual std::string exportTxtHeader() const override
Returns the description of the data columns. Timestamp is automatically included as the first column, do not list it. See example implementations if interested in enabling this in custom CObservation classes. Do not include newlines.
-
virtual std::string exportTxtDataRow() const override
Returns one row of data with the data stored in this particular object. Do not include newlines.
Public Members
-
float minSensorDistance = {0}
-
float maxSensorDistance = {0}
-
float fieldOfView_yaw = mrpt::d2f(180.0_deg)
Information about the sensor: Ranges, in meters (0: there is no limits) Information about the sensor: The “field-of-view” of the sensor, in radians (for yaw ).
-
float fieldOfView_pitch = mrpt::d2f(90.0_deg)
Information about the sensor: The “field-of-view” of the sensor, in radians (for pitch ).
-
TMeasurementList sensedData
The list of observed ranges:
-
bool validCovariances = {false}
True: The individual 3x3 covariance matrices must be taken into account, false (default): All the measurements have identical, diagonal 3x3 covariance matrices given by the values sensor_std_range,sensor_std_yaw,sensor_std_pitch.
-
float sensor_std_range = {0}
Taken into account only if validCovariances=false: the standard deviation of the sensor noise model for range,yaw and pitch (in meters and radians). If validCovariances=true, these 3 values are ignored and the individual 3x3 covariance matrices contain the actual uncertainties for each of the detected landmarks.
-
float sensor_std_yaw = {0}
-
float sensor_std_pitch = {0}
-
struct TMeasurement
Each one of the measurements:
Public Members
-
float range
The sensed landmark distance, in meters.
-
float yaw
The sensed landmark direction, in radians, measured as the yaw (azimuth) and pitch (negative elevation). Set pitch to zero for 2D sensors. See mrpt::poses::CPose3D for a definition of the 3D angles.
-
float pitch
-
int32_t landmarkID
The ID of the sensed beacon, or INVALID_LANDMARK_ID (-1) if the sensor does not identify the landmark.
-
mrpt::math::CMatrixDouble33 covariance
The covariance matrix of the landmark, with variable indices [0,1,2] being [range,yaw,pitch].
-
float range
-
using TMeasurementList = std::vector<TMeasurement>