Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
cartographer::mapping_3d::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
 
int GetNumFinishedScans ()
 
void MaybeAddConstraint (const mapping::SubmapId &submap_id, const Submap *submap, const mapping::NodeId &node_id, const sensor::CompressedPointCloud *compressed_point_cloud, const std::vector< mapping::TrajectoryNode > &submap_nodes, const transform::Rigid3d &initial_pose)
 
void MaybeAddGlobalConstraint (const mapping::SubmapId &submap_id, const Submap *submap, const mapping::NodeId &node_id, const sensor::CompressedPointCloud *compressed_point_cloud, const std::vector< mapping::TrajectoryNode > &submap_nodes, const Eigen::Quaterniond &gravity_alignment, 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 Submap *submap, const mapping::NodeId &node_id, bool match_full_submap, mapping::TrajectoryConnectivity *trajectory_connectivity, const sensor::CompressedPointCloud *compressed_point_cloud, const transform::Rigid3d &initial_pose, std::unique_ptr< Constraint > *constraint) EXCLUDES(mutex_)
 
void ConstructSubmapScanMatcher (const mapping::SubmapId &submap_id, const std::vector< mapping::TrajectoryNode > &submap_nodes, const HybridGrid *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 std::vector< mapping::TrajectoryNode > &submap_nodes, const HybridGrid *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 56 of file 3d/sparse_pose_graph/constraint_builder.h.

Member Typedef Documentation

Definition at line 58 of file 3d/sparse_pose_graph/constraint_builder.h.

Definition at line 59 of file 3d/sparse_pose_graph/constraint_builder.h.

Constructor & Destructor Documentation

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

Definition at line 42 of file 3d/sparse_pose_graph/constraint_builder.cc.

cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::~ConstraintBuilder ( )

Definition at line 51 of file 3d/sparse_pose_graph/constraint_builder.cc.

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

Member Function Documentation

void cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::ComputeConstraint ( const mapping::SubmapId submap_id,
const Submap submap,
const mapping::NodeId node_id,
bool  match_full_submap,
mapping::TrajectoryConnectivity trajectory_connectivity,
const sensor::CompressedPointCloud compressed_point_cloud,
const transform::Rigid3d initial_pose,
std::unique_ptr< Constraint > *  constraint 
)
private
void cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::ConstructSubmapScanMatcher ( const mapping::SubmapId submap_id,
const std::vector< mapping::TrajectoryNode > &  submap_nodes,
const HybridGrid submap 
)
private

Definition at line 143 of file 3d/sparse_pose_graph/constraint_builder.cc.

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

Definition at line 250 of file 3d/sparse_pose_graph/constraint_builder.cc.

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

Definition at line 283 of file 3d/sparse_pose_graph/constraint_builder.cc.

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

Definition at line 161 of file 3d/sparse_pose_graph/constraint_builder.cc.

std::unique_ptr<std::function<void(const Result&)> > when_done_ cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
int current_computation_ cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
privatepure virtual
std::map<int, int> pending_computations_ cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
std::deque<std::unique_ptr<Constraint> > constraints_ cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
std::map<mapping::SubmapId, SubmapScanMatcher> submap_scan_matchers_ cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
std::map<mapping::SubmapId, std::vector<std::function<void()> > > submap_queued_work_items_ cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
common::Histogram score_histogram_ cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::GUARDED_BY ( mutex_  )
private
void cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::MaybeAddConstraint ( const mapping::SubmapId submap_id,
const Submap submap,
const mapping::NodeId node_id,
const sensor::CompressedPointCloud compressed_point_cloud,
const std::vector< mapping::TrajectoryNode > &  submap_nodes,
const transform::Rigid3d initial_pose 
)

Definition at line 59 of file 3d/sparse_pose_graph/constraint_builder.cc.

void cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::MaybeAddGlobalConstraint ( const mapping::SubmapId submap_id,
const Submap submap,
const mapping::NodeId node_id,
const sensor::CompressedPointCloud compressed_point_cloud,
const std::vector< mapping::TrajectoryNode > &  submap_nodes,
const Eigen::Quaterniond &  gravity_alignment,
mapping::TrajectoryConnectivity trajectory_connectivity 
)

Definition at line 86 of file 3d/sparse_pose_graph/constraint_builder.cc.

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

Definition at line 109 of file 3d/sparse_pose_graph/constraint_builder.cc.

ConstraintBuilder& cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::operator= ( const ConstraintBuilder )
delete
void cartographer::mapping_3d::sparse_pose_graph::ConstraintBuilder::ScheduleSubmapScanMatcherConstructionAndQueueWorkItem ( const mapping::SubmapId submap_id,
const std::vector< mapping::TrajectoryNode > &  submap_nodes,
const HybridGrid submap,
std::function< void()>  work_item 
)
private

Definition at line 126 of file 3d/sparse_pose_graph/constraint_builder.cc.

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

Member Data Documentation

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

Definition at line 185 of file 3d/sparse_pose_graph/constraint_builder.h.

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

Definition at line 186 of file 3d/sparse_pose_graph/constraint_builder.h.

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

Definition at line 156 of file 3d/sparse_pose_graph/constraint_builder.h.

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

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

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

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

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

Definition at line 155 of file 3d/sparse_pose_graph/constraint_builder.h.


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


cartographer
Author(s):
autogenerated on Wed Jun 5 2019 21:58:01