24 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
25 using shared_ptr = gtsam_points::shared_ptr<IntegratedICPFactor_<PointCloud>>;
37 gtsam::Key target_key,
38 gtsam::Key source_key,
39 const std::shared_ptr<const TargetFrame>& target,
40 const std::shared_ptr<const SourceFrame>& source,
41 const std::shared_ptr<const NearestNeighborSearch>& target_tree,
42 bool use_point_to_plane =
false);
46 gtsam::Key target_key,
47 gtsam::Key source_key,
48 const std::shared_ptr<const TargetFrame>& target,
49 const std::shared_ptr<const SourceFrame>& source,
50 bool use_point_to_plane =
false);
62 const gtsam::Pose3& fixed_target_pose,
63 gtsam::Key source_key,
64 const std::shared_ptr<const TargetFrame>& target,
65 const std::shared_ptr<const SourceFrame>& source,
66 const std::shared_ptr<const NearestNeighborSearch>& target_tree,
67 bool use_point_to_plane =
false);
71 const gtsam::Pose3& fixed_target_pose,
72 gtsam::Key source_key,
73 const std::shared_ptr<const TargetFrame>& target,
74 const std::shared_ptr<const SourceFrame>& source,
75 bool use_point_to_plane =
false);
80 virtual void print(
const std::string& s =
"",
const gtsam::KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter)
const override;
104 correspondence_update_tolerance_rot = angle;
105 correspondence_update_tolerance_trans = trans;
109 virtual void update_correspondences(
const Eigen::Isometry3d& delta)
const override;
111 virtual double evaluate(
112 const Eigen::Isometry3d& delta,
113 Eigen::Matrix<double, 6, 6>* H_target =
nullptr,
114 Eigen::Matrix<double, 6, 6>* H_source =
nullptr,
115 Eigen::Matrix<double, 6, 6>* H_target_source =
nullptr,
116 Eigen::Matrix<double, 6, 1>* b_target =
nullptr,
117 Eigen::Matrix<double, 6, 1>* b_source =
nullptr)
const override;
121 double max_correspondence_distance_sq;
122 bool use_point_to_plane;
124 std::shared_ptr<const NearestNeighborSearch> target_tree;
127 double correspondence_update_tolerance_rot;
128 double correspondence_update_tolerance_trans;
129 mutable Eigen::Isometry3d last_correspondence_point;
130 mutable std::vector<long> correspondences;
132 std::shared_ptr<const TargetFrame> target;
133 std::shared_ptr<const SourceFrame> source;
142 using shared_ptr = gtsam_points::shared_ptr<IntegratedPointToPlaneICPFactor_<TargetFrame, SourceFrame>>;
145 gtsam::Key target_key,
146 gtsam::Key source_key,
147 const std::shared_ptr<const TargetFrame>& target,
148 const std::shared_ptr<const SourceFrame>& source,
149 const std::shared_ptr<const NearestNeighborSearch>& target_tree)
150 : IntegratedICPFactor_<TargetFrame, SourceFrame>(target_key, source_key, target, source, target_tree,
true) {}
153 gtsam::Key target_key,
154 gtsam::Key source_key,
155 const std::shared_ptr<const TargetFrame>& target,
156 const std::shared_ptr<const SourceFrame>& source)
157 : IntegratedICPFactor_<TargetFrame, SourceFrame>(target_key, source_key, target, source,
true) {}
void set_correspondence_update_tolerance(double angle, double trans)
Correspondences are updated only when the displacement from the last update point is larger than thes...
Definition integrated_icp_factor.hpp:103
virtual void print(const std::string &s="", const gtsam::KeyFormatter &keyFormatter=gtsam::DefaultKeyFormatter) const override
Print the factor information.
Definition integrated_icp_factor_impl.hpp:110