Go to the documentation of this file.
9 #ifndef CObservation2DRangeScan_H
10 #define CObservation2DRangeScan_H
92 template <
class POINTSMAP>
94 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
105 template <
class POINTSMAP>
107 if (!m_cachedMap.present()) internal_buildAuxPointsMap(options);
108 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
CObservation2DRangeScan()
Default constructor.
float maxRange
The maximum range allowed by the device, in meters (e.g. 80m, 50m,...)
bool rightToLeft
The scanning direction: true=counterclockwise; false=clockwise.
std::vector< mrpt::math::CPolygon > TListExclusionAreas
Used in filterByExclusionAreas.
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
void setSensorPose(const mrpt::poses::CPose3D &newSensorPose) MRPT_OVERRIDE
A general method to change the sensor pose on the robot.
void internal_buildAuxPointsMap(const void *options=NULL) const
Internal method, used from buildAuxPointsMap()
Auxiliary struct that holds all the relevant geometry information about a 2D scan.
const POINTSMAP * buildAuxPointsMap(const void *options=NULL) const
Returns a cached points map representing this laser scan, building it upon the first call.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
void filterByExclusionAreas(const TListExclusionAreasWithRanges &areas)
Mark as invalid sensed points that fall within any of a set of "exclusion areas", given in coordinate...
double deltaPitch
If the laser gathers data by sweeping in the pitch/elevation angle, this holds the increment in "pitc...
This namespace contains representation of robot actions and observations.
void getDescriptionAsText(std::ostream &o) const MRPT_OVERRIDE
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...
float aperture
The "aperture" or field-of-view of the range finder, in radians (typically M_PI = 180 degrees).
std::vector< char > validRange
It's false (=0) on no reflected rays, referenced to elements in scan.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
#define MRPT_DECLARE_TTYPENAME_PTR_NAMESPACE(_TYPE, __NS)
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const MRPT_OVERRIDE
A general method to retrieve the sensor pose on the robot.
const POINTSMAP * getAuxPointsMap() const
Returns the cached points map representation of the scan, if already build with buildAuxPointsMap(),...
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
bool isPlanarScan(const double tolerance=0) const
Return true if the laser scanner is "horizontal", so it has an absolute value of "pitch" and "roll" l...
float beamAperture
The aperture of each beam, in radians, used to insert "thick" rays in the occupancy grid.
std::vector< std::pair< mrpt::math::CPolygon, std::pair< double, double > > > TListExclusionAreasWithRanges
Used in filterByExclusionAreas.
void filterByExclusionAngles(const std::vector< std::pair< double, double > > &angles)
Mark as invalid the ranges in any of a given set of "forbiden angle ranges", given as pairs<min_angle...
float stdError
The "sigma" error of the device in meters, used while inserting the scan in an occupancy grid.
void getScanProperties(T2DScanProperties &p) const
Fill out a T2DScanProperties structure with the parameters of this scan.
#define DECLARE_MEXPLUS_FROM(complete_type)
This must be inserted if a custom conversion method for MEX API is implemented in the class.
mrpt::maps::CMetricMapPtr m_cachedMap
A points map, build only under demand by the methods getAuxPointsMap() and buildAuxPointsMap().
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
void filterByExclusionAreas(const TListExclusionAreas &areas)
Mark as invalid sensed points that fall within any of a set of "exclusion areas", given in coordinate...
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
virtual ~CObservation2DRangeScan()
Destructor.
Declares a class that represents any robot's observation.
mrpt::poses::CPose3D sensorPose
The 6D pose of the sensor on the robot at the moment of starting the scan.
void truncateByDistanceAndAngle(float min_distance, float max_angle, float min_height=0, float max_height=0, float h=0)
A general method to truncate the scan by defining a minimum valid distance and a maximum valid angle ...
std::vector< float > scan
The range values of the scan, in meters. Must have same length than validRange.
#define DECLARE_MEX_CONVERSION
This must be inserted if a custom conversion method for MEX API is implemented in the class.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020 | | |