gtsam_points
Loading...
Searching...
No Matches
integrated_ct_gicp_factor.hpp
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2021 Kenji Koide (k.koide@aist.go.jp)
3
4#pragma once
5
6#include <gtsam_points/util/gtsam_migration.hpp>
7#include <gtsam_points/factors/integrated_ct_icp_factor.hpp>
8
9namespace gtsam_points {
10
16template <typename TargetFrame = gtsam_points::PointCloud, typename SourceFrame = gtsam_points::PointCloud>
17class IntegratedCT_GICPFactor_ : public IntegratedCT_ICPFactor_<TargetFrame, SourceFrame> {
18public:
19 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
20 using shared_ptr = gtsam_points::shared_ptr<IntegratedCT_GICPFactor_<TargetFrame, SourceFrame>>;
21
31 gtsam::Key source_t0_key,
32 gtsam::Key source_t1_key,
33 const std::shared_ptr<const TargetFrame>& target,
34 const std::shared_ptr<const SourceFrame>& source,
35 const std::shared_ptr<const NearestNeighborSearch>& target_tree);
36
45 gtsam::Key source_t0_key,
46 gtsam::Key source_t1_key,
47 const std::shared_ptr<const TargetFrame>& target,
48 const std::shared_ptr<const SourceFrame>& source);
49
50 virtual ~IntegratedCT_GICPFactor_() override;
51
53 virtual void print(const std::string& s = "", const gtsam::KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter) const override;
54
55 virtual size_t memory_usage() const override;
56
57 virtual double error(const gtsam::Values& values) const override;
58 virtual gtsam::GaussianFactor::shared_ptr linearize(const gtsam::Values& values) const override;
59
60protected:
61 virtual void update_correspondences() const override;
62
63 mutable std::vector<Eigen::Matrix4d> mahalanobis;
64};
65
66using IntegratedCT_GICPFactor = IntegratedCT_GICPFactor_<>;
67
68} // namespace gtsam_points
Continuous Time ICP with GICP's D2D cost Bellenbach et al., "CT-ICP: Real-time Elastic LiDAR Odometry...
Definition integrated_ct_gicp_factor.hpp:17
virtual void print(const std::string &s="", const gtsam::KeyFormatter &keyFormatter=gtsam::DefaultKeyFormatter) const override
Print the factor information.
Definition integrated_ct_gicp_factor_impl.hpp:50
Continuous Time ICP Factor Bellenbach et al., "CT-ICP: Real-time Elastic LiDAR Odometry with Loop Clo...
Definition integrated_ct_icp_factor.hpp:21