Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder Class Referenceabstract

#include <constraint_builder.h>

Classes

struct  SubmapScanMatcher
 

Public Types

using Constraint = mapping::SparsePoseGraph::Constraint
 
using Result = std::vector< Constraint >
 

Public Member Functions

 ConstraintBuilder (const mapping::sparse_pose_graph::proto::ConstraintBuilderOptions &options, common::ThreadPool *thread_pool)
 
 ConstraintBuilder (const ConstraintBuilder &)=delete
 
void DeleteScanMatcher (const mapping::SubmapId &submap_id)
 
int GetNumFinishedScans ()
 
void MaybeAddConstraint (const mapping::SubmapId &submap_id, const mapping::Submap *submap, const mapping::NodeId &node_id, const sensor::PointCloud *point_cloud, const transform::Rigid2d &initial_relative_pose)
 
void MaybeAddGlobalConstraint (const mapping::SubmapId &submap_id, const mapping::Submap *submap, const mapping::NodeId &node_id, const sensor::PointCloud *point_cloud, mapping::TrajectoryConnectivity *trajectory_connectivity)
 
void NotifyEndOfScan ()
 
ConstraintBuilderoperator= (const ConstraintBuilder &)=delete
 
void WhenDone (std::function< void(const Result &)> callback)
 
 ~ConstraintBuilder ()
 

Private Member Functions

void ComputeConstraint (const mapping::SubmapId &submap_id, const mapping::Submap *submap, const mapping::NodeId &node_id, bool match_full_submap, mapping::TrajectoryConnectivity *trajectory_connectivity, const sensor::PointCloud *point_cloud, const transform::Rigid2d &initial_relative_pose, std::unique_ptr< Constraint > *constraint) EXCLUDES(mutex_)
 
void ConstructSubmapScanMatcher (const mapping::SubmapId &submap_id, const ProbabilityGrid *submap) EXCLUDES(mutex_)
 
void FinishComputation (int computation_index) EXCLUDES(mutex_)
 
const SubmapScanMatcherGetSubmapScanMatcher (const mapping::SubmapId &submap_id) EXCLUDES(mutex_)
 
std::unique_ptr< std::function< void(const Result &)> > when_done_ GUARDED_BY (mutex_)
 
int current_computation_ GUARDED_BY (mutex_)=0
 
std::map< int, int > pending_computations_ GUARDED_BY (mutex_)
 
std::deque< std::unique_ptr< Constraint > > constraints_ GUARDED_BY (mutex_)
 
std::map< mapping::SubmapId, SubmapScanMatcher > submap_scan_matchers_ GUARDED_BY (mutex_)
 
std::map< mapping::SubmapId, std::vector< std::function< void()> > > submap_queued_work_items_ GUARDED_BY (mutex_)
 
common::Histogram score_histogram_ GUARDED_BY (mutex_)
 
void ScheduleSubmapScanMatcherConstructionAndQueueWorkItem (const mapping::SubmapId &submap_id, const ProbabilityGrid *submap, std::function< void()> work_item) REQUIRES(mutex_)
 

Private Attributes

const sensor::AdaptiveVoxelFilter adaptive_voxel_filter_
 
scan_matching::CeresScanMatcher ceres_scan_matcher_
 
common::Mutex mutex_
 
const mapping::sparse_pose_graph::proto::ConstraintBuilderOptions options_
 
common::FixedRatioSampler sampler_
 
common::ThreadPoolthread_pool_
 

Detailed Description

Definition at line 60 of file 2d/sparse_pose_graph/constraint_builder.h.

Member Typedef Documentation

Definition at line 62 of file 2d/sparse_pose_graph/constraint_builder.h.

Definition at line 63 of file 2d/sparse_pose_graph/constraint_builder.h.

Constructor & Destructor Documentation

cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::ConstraintBuilder ( const mapping::sparse_pose_graph::proto::ConstraintBuilderOptions &  options,
common::ThreadPool thread_pool 
)

Definition at line 45 of file 2d/sparse_pose_graph/constraint_builder.cc.

cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::~ConstraintBuilder ( )

Definition at line 54 of file 2d/sparse_pose_graph/constraint_builder.cc.

cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::ConstraintBuilder ( const ConstraintBuilder )
delete

Member Function Documentation

void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::ComputeConstraint ( const mapping::SubmapId submap_id,
const mapping::Submap submap,
const mapping::NodeId node_id,
bool  match_full_submap,
mapping::TrajectoryConnectivity trajectory_connectivity,
const sensor::PointCloud point_cloud,
const transform::Rigid2d initial_relative_pose,
std::unique_ptr< Constraint > *  constraint 
)
private
void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::ConstructSubmapScanMatcher ( const mapping::SubmapId submap_id,
const ProbabilityGrid submap 
)
private

Definition at line 138 of file 2d/sparse_pose_graph/constraint_builder.cc.

void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::DeleteScanMatcher ( const mapping::SubmapId submap_id)

Definition at line 285 of file 2d/sparse_pose_graph/constraint_builder.cc.

void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::FinishComputation ( int  computation_index)
private

Definition at line 245 of file 2d/sparse_pose_graph/constraint_builder.cc.

int cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GetNumFinishedScans ( )

Definition at line 277 of file 2d/sparse_pose_graph/constraint_builder.cc.

const ConstraintBuilder::SubmapScanMatcher * cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GetSubmapScanMatcher ( const mapping::SubmapId submap_id)
private

Definition at line 153 of file 2d/sparse_pose_graph/constraint_builder.cc.

std::unique_ptr<std::function<void(const Result&)> > when_done_ cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
int current_computation_ cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
privatepure virtual
std::map<int, int> pending_computations_ cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
std::deque<std::unique_ptr<Constraint> > constraints_ cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
std::map<mapping::SubmapId, SubmapScanMatcher> submap_scan_matchers_ cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
std::map<mapping::SubmapId, std::vector<std::function<void()> > > submap_queued_work_items_ cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
common::Histogram score_histogram_ cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::MaybeAddConstraint ( const mapping::SubmapId submap_id,
const mapping::Submap submap,
const mapping::NodeId node_id,
const sensor::PointCloud point_cloud,
const transform::Rigid2d initial_relative_pose 
)

Definition at line 62 of file 2d/sparse_pose_graph/constraint_builder.cc.

void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::MaybeAddGlobalConstraint ( const mapping::SubmapId submap_id,
const mapping::Submap submap,
const mapping::NodeId node_id,
const sensor::PointCloud point_cloud,
mapping::TrajectoryConnectivity trajectory_connectivity 
)

Definition at line 87 of file 2d/sparse_pose_graph/constraint_builder.cc.

void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::NotifyEndOfScan ( )

Definition at line 106 of file 2d/sparse_pose_graph/constraint_builder.cc.

ConstraintBuilder& cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::operator= ( const ConstraintBuilder )
delete
void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::ScheduleSubmapScanMatcherConstructionAndQueueWorkItem ( const mapping::SubmapId submap_id,
const ProbabilityGrid submap,
std::function< void()>  work_item 
)
private

Definition at line 123 of file 2d/sparse_pose_graph/constraint_builder.cc.

void cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::WhenDone ( std::function< void(const Result &)>  callback)

Member Data Documentation

const sensor::AdaptiveVoxelFilter cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::adaptive_voxel_filter_
private

Definition at line 183 of file 2d/sparse_pose_graph/constraint_builder.h.

scan_matching::CeresScanMatcher cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::ceres_scan_matcher_
private

Definition at line 184 of file 2d/sparse_pose_graph/constraint_builder.h.

common::Mutex cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::mutex_
private

Definition at line 154 of file 2d/sparse_pose_graph/constraint_builder.h.

const mapping::sparse_pose_graph::proto::ConstraintBuilderOptions cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::options_
private

Definition at line 152 of file 2d/sparse_pose_graph/constraint_builder.h.

common::FixedRatioSampler cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::sampler_
private

Definition at line 182 of file 2d/sparse_pose_graph/constraint_builder.h.

common::ThreadPool* cartographer::mapping_2d::sparse_pose_graph::ConstraintBuilder::thread_pool_
private

Definition at line 153 of file 2d/sparse_pose_graph/constraint_builder.h.


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


cartographer
Author(s):
autogenerated on Mon Jun 10 2019 12:51:39