From af00de3b3f38678ad183687439297c092ea61d60 Mon Sep 17 00:00:00 2001 From: Michael Grupp Date: Tue, 6 Oct 2020 19:45:03 +0200 Subject: [PATCH] Don't add IMU data to 2D optimization problem. (#1754) It was constantly added regardless of motion filtering. Since it's not used it can be just ignored. The method still needs to be there to satisfy the interface. Signed-off-by: Michael Grupp --- .../mapping/internal/optimization/optimization_problem_2d.cc | 5 +++-- .../mapping/internal/optimization/optimization_problem_2d.h | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cartographer/mapping/internal/optimization/optimization_problem_2d.cc b/cartographer/mapping/internal/optimization/optimization_problem_2d.cc index b2ca862..c61d796 100644 --- a/cartographer/mapping/internal/optimization/optimization_problem_2d.cc +++ b/cartographer/mapping/internal/optimization/optimization_problem_2d.cc @@ -175,7 +175,8 @@ OptimizationProblem2D::~OptimizationProblem2D() {} void OptimizationProblem2D::AddImuData(const int trajectory_id, const sensor::ImuData& imu_data) { - imu_data_.Append(trajectory_id, imu_data); + // IMU data is not used in 2D optimization, so we ignore this part of the + // interface. } void OptimizationProblem2D::AddOdometryData( @@ -207,7 +208,7 @@ void OptimizationProblem2D::InsertTrajectoryNode(const NodeId& node_id, } void OptimizationProblem2D::TrimTrajectoryNode(const NodeId& node_id) { - imu_data_.Trim(node_data_, node_id); + empty_imu_data_.Trim(node_data_, node_id); odometry_data_.Trim(node_data_, node_id); fixed_frame_pose_data_.Trim(node_data_, node_id); node_data_.Trim(node_id); diff --git a/cartographer/mapping/internal/optimization/optimization_problem_2d.h b/cartographer/mapping/internal/optimization/optimization_problem_2d.h index f831231..0a1e39d 100644 --- a/cartographer/mapping/internal/optimization/optimization_problem_2d.h +++ b/cartographer/mapping/internal/optimization/optimization_problem_2d.h @@ -94,7 +94,7 @@ class OptimizationProblem2D return landmark_data_; } const sensor::MapByTime& imu_data() const override { - return imu_data_; + return empty_imu_data_; } const sensor::MapByTime& odometry_data() const override { @@ -128,7 +128,7 @@ class OptimizationProblem2D MapById node_data_; MapById submap_data_; std::map landmark_data_; - sensor::MapByTime imu_data_; + sensor::MapByTime empty_imu_data_; sensor::MapByTime odometry_data_; sensor::MapByTime fixed_frame_pose_data_; std::map trajectory_data_;