namespace mrpt::obs

Overview

This namespace contains representation of robot actions and observations.

namespace obs {

// namespaces

namespace mrpt::obs::detail;
namespace mrpt::obs::gnss;
    namespace mrpt::obs::gnss::nv_oem6_ins_status_type;
    namespace mrpt::obs::gnss::nv_oem6_position_type;
    namespace mrpt::obs::gnss::nv_oem6_solution_status;
namespace mrpt::obs::stock_observations;
namespace mrpt::obs::utils;

// typedefs

typedef void(*)(const mrpt::obs::CObservation2DRangeScan&obs, mrpt::maps::CMetricMap::Ptr&out_map, const void*insertOps) scan2pts_functor;
typedef std::pair<mrpt::system::TTimeStamp, CObservation::Ptr> TTimeObservationPair;
typedef std::multimap<mrpt::system::TTimeStamp, CObservation::Ptr> TListTimeAndObservations;

// enums

enum TIMUDataIndex;

// structs

struct T2DScanProperties;
struct T3DPointsProjectionParams;
struct T3DPointsTo2DScanParams;

template <unsigned int BYTES_REQUIRED_>
struct TPixelLabelInfo;

struct TPixelLabelInfoBase;
struct TRangeImageFilter;
struct TRangeImageFilterParams;
struct TStereoImageFeatures;
struct VelodyneCalibration;
struct VisualizationParameters;

// classes

class CAction;
class CActionCollection;
class CActionRobotMovement2D;
class CActionRobotMovement3D;
class CObservation;
class CObservation2DRangeScan;
class CObservation2DRangeScanWithUncertainty;
class CObservation3DRangeScan;
class CObservation3DScene;
class CObservation6DFeatures;
class CObservationBatteryState;
class CObservationBeaconRanges;
class CObservationBearingRange;
class CObservationCANBusJ1939;
class CObservationComment;
class CObservationGPS;
class CObservationGasSensors;
class CObservationIMU;
class CObservationImage;
class CObservationOdometry;
class CObservationPointCloud;
class CObservationRFID;
class CObservationRGBD360;
class CObservationRange;
class CObservationRawDAQ;
class CObservationReflectivity;
class CObservationRobotPose;
class CObservationRotatingScan;
class CObservationSkeleton;
class CObservationStereoImages;
class CObservationStereoImagesFeatures;
class CObservationVelodyneScan;
class CObservationVisualLandmarks;
class CObservationWindSensor;
class CObservationWirelessPower;
class CRawlog;
class CSensoryFrame;
class CSinCosLookUpTableFor2DScans;

// global variables

static constexpr int INVALID_BEACON_ID = -1;
static constexpr int INVALID_LANDMARK_ID = -1;
scan2pts_functor ptr_internal_build_points_map_from_scan2D = nullptr;

// global functions

bool obs_to_viz(const mrpt::obs::CObservation::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out);
bool obs_to_viz(const mrpt::obs::CSensoryFrame& sf, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out);
void obs3Dscan_to_viz(const mrpt::obs::CObservation3DRangeScan::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out);
void obsVelodyne_to_viz(const mrpt::obs::CObservationVelodyneScan::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out);
void obsPointCloud_to_viz(const mrpt::obs::CObservationPointCloud::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out);

void obsRotatingScan_to_viz(
    const mrpt::obs::CObservationRotatingScan::Ptr& obs,
    const VisualizationParameters& p,
    mrpt::opengl::CSetOfObjects& out
    );

void obs2Dscan_to_viz(const mrpt::obs::CObservation2DRangeScan::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out);
void recolorize3Dpc(const mrpt::opengl::CPointCloudColoured::Ptr& pnts, const VisualizationParameters& p);
void internal_set_build_points_map_from_scan2D(scan2pts_functor fn);

bool carmen_log_parse_line(
    std::istream& in_stream,
    std::vector<mrpt::obs::CObservation::Ptr>& out_imported_observations,
    const mrpt::system::TTimeStamp& time_start_log
    );

std::string format_externals_filename(const mrpt::obs::CObservation& obs, const std::string& fmt);
void registerAllClasses_mrpt_obs();
bool operator < (const T2DScanProperties& a, const T2DScanProperties& b);

} // namespace obs

Typedefs

typedef std::pair<mrpt::system::TTimeStamp, CObservation::Ptr> TTimeObservationPair

For usage with CRawlog classes.

typedef std::multimap<mrpt::system::TTimeStamp, CObservation::Ptr> TListTimeAndObservations

For usage with CRawlog classes.

Global Functions

bool obs_to_viz(const mrpt::obs::CObservation::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out)

Clears out and creates a visualization of the given observation, dispatching the call according to the actual observation class.

This and the accompanying functions are defined in namespace mrpt::obs, but you must link against mrpt::maps too to have their definitions.

Returns:

true if type has known visualizer, false if it does not (then, out will be empty)

bool obs_to_viz(const mrpt::obs::CSensoryFrame& sf, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out)

Clears out and creates a visualization of the given sensory-frame, dispatching the call according to the actual observation classes inside the SF.

This and the accompanying functions are defined in namespace mrpt::obs, but you must link against mrpt::maps too to have their definitions.

Returns:

true if type has known visualizer, false if it does not (then, out will be empty)

void obs3Dscan_to_viz(const mrpt::obs::CObservation3DRangeScan::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out)

Clears out and creates a visualization of the given observation.

void obsVelodyne_to_viz(const mrpt::obs::CObservationVelodyneScan::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out)

Clears out and creates a visualization of the given observation.

void obsPointCloud_to_viz(const mrpt::obs::CObservationPointCloud::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out)

Clears out and creates a visualization of the given observation.

void obs2Dscan_to_viz(const mrpt::obs::CObservation2DRangeScan::Ptr& obs, const VisualizationParameters& p, mrpt::opengl::CSetOfObjects& out)

Clears out and creates a visualization of the given observation.

void recolorize3Dpc(const mrpt::opengl::CPointCloudColoured::Ptr& pnts, const VisualizationParameters& p)

Recolorize a pointcloud according to the given parameters.

bool operator < (const T2DScanProperties& a, const T2DScanProperties& b)

Order operator, so T2DScanProperties can appear in associative STL containers.