Autoware.Auto
autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT > Class Template Referenceabstract

#include <point_cloud_mapper.hpp>

Inheritance diagram for autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >:
Collaboration diagram for autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >:

Public Types

using PoseWithCovarianceStamped = geometry_msgs::msg::PoseWithCovarianceStamped
 
using TransformStamped = geometry_msgs::msg::TransformStamped
 
using MaybeLocalizerSummary = std::experimental::optional< typename LocalizerT::RegistrationSummary >
 
using MapIncrementPtrT = std::shared_ptr< MapIncrementT >
 
using ConstMapIncrementPtrT = std::shared_ptr< const MapIncrementT >
 
using RegistrationSummary = RegistrationSummaryT
 
using LocalizerBase = localization::localization_common::RelativeLocalizerBase< ObservationMsgT, MapIncrementT, typename LocalizerT::RegistrationSummary >
 
using LocalizerBasePtr = std::unique_ptr< LocalizerBase >
 
- Public Types inherited from autoware::localization::localization_common::RelativeLocalizerBase< ObservationMsgT, MapIncrementT, RegistrationSummaryT >
using PoseWithCovarianceStamped = geometry_msgs::msg::PoseWithCovarianceStamped
 
using Transform = geometry_msgs::msg::TransformStamped
 
using RegistrationSummary = RegistrationSummaryT
 
using InputMsg = ObservationMsgT
 
using MapMsg = MapIncrementT
 

Public Member Functions

 MapperBase (const std::string &map_filename_prefix, MapRepresentationT &&map, LocalizerBasePtr &&localizer_ptr, const std::string map_frame_id)
 
RegistrationSummaryT register_measurement_impl (const ObservationMsgT &msg, const TransformStamped &transform_initial, PoseWithCovarianceStamped &pose_out) override
 
const std::string & map_frame_id () const noexcept override
 
void set_map_impl (const MapIncrementT &msg) override
 set_map implementation. More...
 
std::chrono::system_clock::time_point map_stamp () const noexcept override
 
void insert_to_map_impl (const MapIncrementT &msg) override
 insert_to_map implementation. More...
 
virtual ~MapperBase ()
 Virtual base destructor. Triggers map writing in case there is unwritten data in the map. More...
 
- Public Member Functions inherited from autoware::localization::localization_common::RelativeLocalizerBase< ObservationMsgT, MapIncrementT, RegistrationSummaryT >
RegistrationSummaryT register_measurement (const ObservationMsgT &msg, const Transform &transform_initial, PoseWithCovarianceStamped &pose_out)
 
void set_map (const MapIncrementT &msg)
 
void insert_to_map (const MapIncrementT &msg)
 
virtual const std::string & map_frame_id () const noexcept=0
 Get the frame id of the current map. More...
 
virtual std::chrono::system_clock::time_point map_stamp () const noexcept=0
 Get the timestamp of the current map. More...
 
bool map_valid () const noexcept
 
RelativeLocalizerBaseoperator= (RelativeLocalizerBase &&other)=delete
 
virtual ~RelativeLocalizerBase ()=default
 

Protected Member Functions

void write_to_file () const
 
void set_write_trigger (WriteTriggerPolicyT &&write_trigger)
 
void set_prefix_generator (PrefixGeneratorT &&prefix_generator)
 
PoseWithCovarianceStamped get_identity (builtin_interfaces::msg::Time stamp, const std::string frame_id) const noexcept
 
- Protected Member Functions inherited from autoware::localization::localization_common::RelativeLocalizerBase< ObservationMsgT, MapIncrementT, RegistrationSummaryT >
virtual void on_bad_map (std::exception_ptr eptr)
 Action to take on failure to set a new map. More...
 
virtual void on_bad_map_insertion (std::exception_ptr eptr)
 Action to take on failure to insert to the map. More...
 
void set_map_valid () noexcept
 Set current map as valid. More...
 
void set_map_invalid () noexcept
 Set current map as invalid. More...
 
virtual void on_register_without_map ()
 Action to take when a measurement is attempted to be set without a valid map. More...
 

Detailed Description

template<typename LocalizerT, typename MapRepresentationT, typename ObservationMsgT, typename MapIncrementT, typename RegistrationSummaryT, class WriteTriggerPolicyT, class PrefixGeneratorT>
class autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >

Virtual base class of the mapper. The mapper is expected to:

  • Receive observations
  • Register observations to the existing map
  • Compute and pass the map increment to the used map representation and export the map according to the provided policies.
  • Fulfill the API of a RelativeLocalizer.
    Template Parameters
    LocalizerTLocalizer to be used for registration.
    MapRepresentationTMap representation type used in the mapper.
    ObservationMsgTType of observation used to build the map.
    MapIncrementTType of increment to extend the map representation.
    RegistrationSummaryTSummary class to report the result of mapper registration.
    WriteTriggerPolicyTPolicy specifying in what condition to write to a file.
    PrefixGeneratorTFunctor that generates filename prefixes for a given base prefix.

Member Typedef Documentation

◆ ConstMapIncrementPtrT

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::ConstMapIncrementPtrT = std::shared_ptr<const MapIncrementT>

◆ LocalizerBase

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::LocalizerBase = localization::localization_common:: RelativeLocalizerBase<ObservationMsgT, MapIncrementT, typename LocalizerT::RegistrationSummary>

◆ LocalizerBasePtr

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::LocalizerBasePtr = std::unique_ptr<LocalizerBase>

◆ MapIncrementPtrT

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::MapIncrementPtrT = std::shared_ptr<MapIncrementT>

◆ MaybeLocalizerSummary

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::MaybeLocalizerSummary = std::experimental::optional<typename LocalizerT::RegistrationSummary>

◆ PoseWithCovarianceStamped

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::PoseWithCovarianceStamped = geometry_msgs::msg::PoseWithCovarianceStamped

◆ RegistrationSummary

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::RegistrationSummary = RegistrationSummaryT

◆ TransformStamped

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
using autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::TransformStamped = geometry_msgs::msg::TransformStamped

Constructor & Destructor Documentation

◆ MapperBase()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::MapperBase ( const std::string &  map_filename_prefix,
MapRepresentationT &&  map,
LocalizerBasePtr &&  localizer_ptr,
const std::string  map_frame_id 
)
inline

Constructor.

Parameters
map_filename_prefixBase filename prefix that will be used to generate the file name.
localizer_ptrRvalue reference to the localizer pointer.
map_frame_idFrame ID of the map.
mapRvalue reference to the map representation pointer.

◆ ~MapperBase()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
virtual autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::~MapperBase ( )
inlinevirtual

Virtual base destructor. Triggers map writing in case there is unwritten data in the map.

Member Function Documentation

◆ get_identity()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
PoseWithCovarianceStamped autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::get_identity ( builtin_interfaces::msg::Time  stamp,
const std::string  frame_id 
) const
inlineprotectednoexcept

◆ insert_to_map_impl()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
void autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::insert_to_map_impl ( const MapIncrementT &  )
inlineoverridevirtual

◆ map_frame_id()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
const std::string& autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::map_frame_id ( ) const
inlineoverridenoexcept

◆ map_stamp()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
std::chrono::system_clock::time_point autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::map_stamp ( ) const
inlineoverridenoexcept

◆ register_measurement_impl()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
RegistrationSummaryT autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::register_measurement_impl ( const ObservationMsgT &  msg,
const TransformStamped transform_initial,
PoseWithCovarianceStamped pose_out 
)
inlineoverridevirtual

Insert an observation to the mapper. This observation gets registered to the existing map of the localizer. The increment is computed using the registration result and the observation and finally the increment is passed to the map representation.

Implements autoware::localization::localization_common::RelativeLocalizerBase< ObservationMsgT, MapIncrementT, RegistrationSummaryT >.

◆ set_map_impl()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
void autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::set_map_impl ( const MapIncrementT &  msg)
inlineoverridevirtual

◆ set_prefix_generator()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
void autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::set_prefix_generator ( PrefixGeneratorT &&  prefix_generator)
inlineprotected

◆ set_write_trigger()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
void autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::set_write_trigger ( WriteTriggerPolicyT &&  write_trigger)
inlineprotected

◆ write_to_file()

template<typename LocalizerT , typename MapRepresentationT , typename ObservationMsgT , typename MapIncrementT , typename RegistrationSummaryT , class WriteTriggerPolicyT , class PrefixGeneratorT >
void autoware::mapping::point_cloud_mapping::MapperBase< LocalizerT, MapRepresentationT, ObservationMsgT, MapIncrementT, RegistrationSummaryT, WriteTriggerPolicyT, PrefixGeneratorT >::write_to_file ( ) const
inlineprotected

The documentation for this class was generated from the following file: