#include <Generator.h>
Classes | |
struct | Parameters |
Public Member Functions | |
Generator () | |
Public Member Functions inherited from mp2p_icp::Parameterizable | |
ParameterSource * | attachedSource () |
const ParameterSource * | attachedSource () const |
virtual void | attachToParameterSource (ParameterSource &source) |
void | checkAllParametersAreRealized () const |
auto & | declaredParameters () |
const auto & | declaredParameters () const |
void | unrealizeParameters () |
Mark all non-constant parameters as non-evaluated again. More... | |
Protected Member Functions | |
virtual bool | filterPointCloud (const mrpt::maps::CPointsMap &pc, const mrpt::poses::CPose3D &sensorPose, mp2p_icp::metric_map_t &out, const std::optional< mrpt::poses::CPose3D > &robotPose) const |
virtual bool | filterRotatingScan (const mrpt::obs::CObservationRotatingScan &pc, mp2p_icp::metric_map_t &out, const std::optional< mrpt::poses::CPose3D > &robotPose) const |
virtual bool | filterScan2D (const mrpt::obs::CObservation2DRangeScan &pc, mp2p_icp::metric_map_t &out, const std::optional< mrpt::poses::CPose3D > &robotPose) const |
virtual bool | filterScan3D (const mrpt::obs::CObservation3DRangeScan &pc, mp2p_icp::metric_map_t &out, const std::optional< mrpt::poses::CPose3D > &robotPose) const |
virtual bool | filterVelodyneScan (const mrpt::obs::CObservationVelodyneScan &pc, mp2p_icp::metric_map_t &out, const std::optional< mrpt::poses::CPose3D > &robotPose) const |
Protected Member Functions inherited from mp2p_icp::Parameterizable | |
void | parseAndDeclareParameter (const std::string &value, double &target) |
void | parseAndDeclareParameter (const std::string &value, float &target) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | parseAndDeclareParameter (const std::string &value, uint32_t &target) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
Protected Attributes | |
bool | initialized_ = false |
std::regex | process_class_names_regex_ |
std::regex | process_sensor_labels_regex_ |
Private Member Functions | |
bool | implProcessCustomMap (const mrpt::obs::CObservation &o, mp2p_icp::metric_map_t &out, const std::optional< mrpt::poses::CPose3D > &robotPose=std::nullopt) const |
bool | implProcessDefault (const mrpt::obs::CObservation &o, mp2p_icp::metric_map_t &out, const std::optional< mrpt::poses::CPose3D > &robotPose=std::nullopt) const |
void | internalLoadUserPlugin (const std::string &moduleToLoad) const |
Generator API | |
Parameters | params_ |
virtual void | initialize (const mrpt::containers::yaml &cfg_block) |
virtual bool | process (const mrpt::obs::CObservation &input_raw, mp2p_icp::metric_map_t &inOut, const std::optional< mrpt::poses::CPose3D > &robotPose=std::nullopt) const |
Generic base class providing process(), converting a generic mrpt::obs::CObservation into a metric_map_t with just a point cloud layer (named raw
).
This metric_map_t can optionally then be passed through one or more FilterBase implementations to detect features, decimate it, etc.
Specializations of Generator may exist and could be implemented to exploit the structured information in the original CObservation data to be more efficient in detecting features (e.g. corners, etc.).
Internally, different signatures exists for:
Derived classes may implement all or only one of those methods. An exception NotImplementedError will be thrown if an non-implemented method is called.
A set of generators can be loaded from a YAML file and applied together using mp2p_icp_filters::apply_generators().
Definition at line 71 of file Generator.h.
Generator::Generator | ( | ) |
Definition at line 42 of file Generator.cpp.
|
protectedvirtual |
Process a 2D/3D point-cloud.
Definition at line 206 of file Generator.cpp.
|
protectedvirtual |
Process a 3D lidar scan.
Reimplemented in mp2p_icp_filters::GeneratorEdgesFromCurvature, and mp2p_icp_filters::GeneratorEdgesFromRangeImage.
Definition at line 247 of file Generator.cpp.
|
protectedvirtual |
Process a 2D lidar scan.
Definition at line 170 of file Generator.cpp.
|
protectedvirtual |
Process a depth camera observation.
Reimplemented in mp2p_icp_filters::GeneratorEdgesFromRangeImage.
Definition at line 198 of file Generator.cpp.
|
protectedvirtual |
Process a 3D lidar scan.
Definition at line 178 of file Generator.cpp.
|
private |
Definition at line 451 of file Generator.cpp.
|
private |
Definition at line 354 of file Generator.cpp.
|
virtual |
Loads, from a YAML configuration block, all the common, and implementation-specific parameters. If you redefine this method, remember calling this method on the parent class.
Reimplemented in mp2p_icp_filters::GeneratorEdgesFromCurvature, and mp2p_icp_filters::GeneratorEdgesFromRangeImage.
Definition at line 123 of file Generator.cpp.
|
private |
Definition at line 606 of file Generator.cpp.
|
virtual |
See docs above for Generator. This method dispatches the observation by type to the corresponding virtual method
Reimplemented in mp2p_icp_filters::GeneratorEdgesFromCurvature.
Definition at line 138 of file Generator.cpp.
|
protected |
Definition at line 179 of file Generator.h.
Parameters mp2p_icp_filters::Generator::params_ |
Definition at line 147 of file Generator.h.
|
protected |
Definition at line 180 of file Generator.h.
|
protected |
Definition at line 181 of file Generator.h.