GLIM
Loading...
Searching...
No Matches
sub_mapping_passthrough.hpp
1#pragma once
2
3#include <deque>
4#include <random>
5#include <memory>
6#include <glim/mapping/sub_mapping_base.hpp>
7#include <gtsam_points/ann/flat_container.hpp>
8#include <gtsam_points/ann/incremental_voxelmap.hpp>
9
10namespace glim {
11
12class CloudDeskewing;
13class CloudCovarianceEstimation;
15
20public:
23
24public:
25 double keyframe_update_interval_rot;
26 double keyframe_update_interval_trans;
27
28 int max_num_keyframes;
29 int max_num_voxels;
30 double adaptive_max_num_voxels;
31
32 int submap_target_num_points;
33 double submap_voxel_resolution;
34 double min_dist_in_voxel;
35 int max_num_points_in_voxel;
36};
37
42public:
44 virtual ~SubMappingPassthrough() override;
45
46 virtual void insert_frame(const EstimationFrame::ConstPtr& odom_frame) override;
47
48 virtual std::vector<SubMap::Ptr> get_submaps() override;
49
50 virtual std::vector<SubMap::Ptr> submit_end_of_sequence() override;
51
52private:
53 SubMap::Ptr create_submap(bool force_create = false) const;
54
55private:
57 Params params;
58
59 int submap_count;
60
61 std::vector<EstimationFrame::ConstPtr> odom_frames;
62 std::vector<EstimationFrame::ConstPtr> keyframes;
63 std::unique_ptr<VoxelMap> voxelmap;
64 std::vector<size_t> num_voxels_history;
65
66 std::vector<SubMap::Ptr> submap_queue;
67};
68
69} // namespace glim
Sub mapping base class.
Definition sub_mapping_base.hpp:22
Sub mapping based on voxel-based simple frame merging. No optimization, no re-deskewing.
Definition sub_mapping_passthrough.hpp:41
virtual std::vector< SubMap::Ptr > submit_end_of_sequence() override
Submit the signal to tell end of sequence and collect the remaining submap data.
virtual void insert_frame(const EstimationFrame::ConstPtr &odom_frame) override
Insert an odometry estimation frame.
virtual std::vector< SubMap::Ptr > get_submaps() override
Get the created submaps.
Definition loose_initial_state_estimation.hpp:9
SubMappingPassthrough parameters.
Definition sub_mapping_passthrough.hpp:19