Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions include/glim/mapping/callbacks.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
#include <glim/util/callback_slot.hpp>
#include <glim/odometry/estimation_frame.hpp>
#include <glim/mapping/sub_map.hpp>
#include <gtsam_points/optimizers/isam2_ext.hpp>
#include <gtsam_points/optimizers/isam2_result_ext.hpp>

#ifdef GLIM_USE_OPENCV
namespace cv {
Expand All @@ -16,8 +18,6 @@ class NonlinearFactorGraph;
} // namespace gtsam

namespace gtsam_points {
class ISAM2Ext;
class ISAM2ResultExt;
class LevenbergMarquardtOptimizationStatus;
} // namespace gtsam_points

Expand Down
18 changes: 6 additions & 12 deletions include/glim/mapping/sub_mapping.hpp
Original file line number Diff line number Diff line change
@@ -1,23 +1,17 @@
#pragma once

#include <any>
#include <deque>
#include <random>
#include <memory>
#include <glim/mapping/sub_mapping_base.hpp>

namespace gtsam {
class Values;
class NonlinearFactorGraph;
class PreintegratedImuMeasurements;
} // namespace gtsam
#include <glim/common/imu_integration.hpp>
#include <glim/common/cloud_deskewing.hpp>
#include <glim/common/cloud_covariance_estimation.hpp>
#include <gtsam/navigation/ImuFactor.h>
#include <gtsam/nonlinear/Values.h>
#include <gtsam/nonlinear/NonlinearFactorGraph.h>

namespace glim {

class IMUIntegration;
class CloudDeskewing;
class CloudCovarianceEstimation;

/**
* @brief Sub mapping parameters
*/
Expand Down
2 changes: 1 addition & 1 deletion include/glim/odometry/odometry_estimation_imu.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
#include <glim/odometry/odometry_estimation_base.hpp>
#include <gtsam_points/util/gtsam_migration.hpp>
#include <gtsam_points/util/indexed_sliding_window.hpp>
#include <gtsam/navigation/ImuFactor.h>

namespace gtsam {
class Pose3;
class Values;
class ImuFactor;
class NonlinearFactorGraph;
} // namespace gtsam

Expand Down
16 changes: 15 additions & 1 deletion include/glim/util/convert_to_string.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ template <typename T2>
std::string convert_to_string(const std::vector<T2>& values) {
std::stringstream sst;
sst << "[";
for (int i = 0; i < values.size(); i++) {
for (size_t i = 0; i < values.size(); i++) {
if (i) {
sst << ",";
}
Expand All @@ -29,6 +29,20 @@ std::string convert_to_string(const std::vector<T2>& values) {
return sst.str();
}

template <>
inline std::string convert_to_string(const std::vector<bool>& values) {
std::stringstream sst;
sst << "[";
for (size_t i = 0; i < values.size(); i++) {
if (i) {
sst << ",";
}
sst << convert_to_string(static_cast<bool>(values[i]));
}
sst << "]";
return sst.str();
}

template <int D>
std::string convert_to_string(const Eigen::Matrix<double, D, 1>& value) {
std::stringstream sst;
Expand Down
5 changes: 2 additions & 3 deletions include/glim/util/data_validator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
#include <memory>
#include <chrono>
#include <Eigen/Core>
#include <glim/util/raw_points.hpp>
#include <glim/util/time_keeper.hpp>

namespace glim {

class RawPoints;
class TimeKeeper;

class DataValidator {
public:
DataValidator(bool debug = false);
Expand Down
7 changes: 2 additions & 5 deletions include/glim/viewer/interactive_viewer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#include <glim/mapping/sub_map.hpp>
#include <glim/util/extension_module.hpp>
#include <glim/util/concurrent_vector.hpp>
#include <gtsam_points/optimizers/isam2_ext.hpp>
#include <gtsam_points/optimizers/isam2_result_ext.hpp>
#include <gtsam_points/util/gtsam_migration.hpp>

namespace spdlog {
Expand All @@ -23,11 +25,6 @@ class NonlinearFactor;
class NonlinearFactorGraph;
} // namespace gtsam

namespace gtsam_points {
class ISAM2Ext;
class ISAM2ResultExt;
} // namespace gtsam_points

namespace glim {

class TrajectoryManager;
Expand Down
2 changes: 1 addition & 1 deletion src/glim/odometry/odometry_estimation_ct.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ EstimationFrame::ConstPtr OdometryEstimationCT::insert_frame(const PreprocessedF
gtsam::Vector6 last_twist = gtsam::Vector6::Zero();
if (current >= 2) {
if (!frames[last] || !frames[last - 1]) {
logger->warn("neither frames[last]={} nor frames[last - 1]={} is released!!", fmt::ptr(frames[last]), fmt::ptr(frames[last - 1]));
logger->warn("neither frames[last]={} nor frames[last - 1]={} is released!!", fmt::ptr(frames[last].get()), fmt::ptr(frames[last - 1].get()));
logger->warn("there might be a large time gap between point cloud frames");
} else {
const double delta_time = (frames[last]->stamp + frames[last]->frame->times[frames[last]->frame->size() - 1]) - frames[last - 1]->stamp;
Expand Down