Skip to content

Commit df8dc7c

Browse files
author
ga58lar
committed
formatting and fixes for pcl removal
1 parent d3b256c commit df8dc7c

25 files changed

+141
-132
lines changed

.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ BinPackParameters: false
77
SortIncludes: true
88
Standard: c++20
99
DerivePointerAlignment: false
10-
PointerAlignment: Right
10+
PointerAlignment: Right

.cmake-format.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
enable_markup: false
22
line_width: 120
33
format:
4-
max_subgroups_hwrap: 5
4+
max_subgroups_hwrap: 5

Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,16 @@ RUN apt-get update && apt-get install -y -q --no-install-recommends \
3434
wget \
3535
libeigen3-dev \
3636
libomp-dev \
37+
libtbb-dev \
3738
libgoogle-glog-dev \
3839
libgflags-dev \
3940
libatlas-base-dev \
4041
libsuitesparse-dev \
42+
python3-dev \
4143
python3-pip \
44+
python3-setuptools \
45+
python3-distutils \
46+
pybind11-dev \
4247
liblzf-dev
4348

4449
RUN pip install numpy ninja
@@ -52,7 +57,7 @@ RUN wget http://ceres-solver.org/ceres-solver-2.2.0.tar.gz && \
5257
cmake ../ceres-solver-2.2.0 && make -j3 && make test && make install
5358

5459
# Irindescence
55-
RUN apt-get update && apt-get install -y -q --no-install-recommends curl gnupg
60+
RUN apt-get update && apt-get install -y -q --no-install-recommends curl gnupg libpng-dev libjpeg-dev
5661
RUN mkdir -m 0755 -p /etc/apt/keyrings/
5762
RUN curl -fsSL https://koide3.github.io/ppa/ubuntu2204/KEY.gpg | gpg --dearmor -o /etc/apt/keyrings/koide3_ppa.gpg
5863
RUN echo "deb [signed-by=/etc/apt/keyrings/koide3_ppa.gpg] https://koide3.github.io/ppa/ubuntu2204 ./" | tee /etc/apt/sources.list.d/koide3_ppa.list > /dev/null

Dockerfile.dev

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,16 @@ RUN apt-get update && apt-get install -y -q --no-install-recommends \
3434
wget \
3535
libeigen3-dev \
3636
libomp-dev \
37+
libtbb-dev \
3738
libgoogle-glog-dev \
3839
libgflags-dev \
3940
libatlas-base-dev \
4041
libsuitesparse-dev \
42+
python3-dev \
4143
python3-pip \
44+
python3-setuptools \
45+
python3-distutils \
46+
pybind11-dev \
4247
liblzf-dev
4348

4449
RUN pip install numpy ninja
@@ -52,7 +57,7 @@ RUN wget http://ceres-solver.org/ceres-solver-2.2.0.tar.gz && \
5257
cmake ../ceres-solver-2.2.0 && make -j3 && make test && make install
5358

5459
# Irindescence
55-
RUN apt-get update && apt-get install -y -q --no-install-recommends curl gnupg
60+
RUN apt-get update && apt-get install -y -q --no-install-recommends curl gnupg libpng-dev libjpeg-dev
5661
RUN mkdir -m 0755 -p /etc/apt/keyrings/
5762
RUN curl -fsSL https://koide3.github.io/ppa/ubuntu2204/KEY.gpg | gpg --dearmor -o /etc/apt/keyrings/koide3_ppa.gpg
5863
RUN echo "deb [signed-by=/etc/apt/keyrings/koide3_ppa.gpg] https://koide3.github.io/ppa/ubuntu2204 ./" | tee /etc/apt/sources.list.d/koide3_ppa.list > /dev/null

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
<h2>Zero-Drift Point Cloud Mapping using Map Priors</h2>
44
<br>
55

6+
![C++](https://img.shields.io/badge/-C++-blue?logo=cplusplus)
7+
![Python](https://img.shields.io/badge/Python-3670A0?logo=python&logoColor=ffdd54)
68
[![Docker](https://badgen.net/badge/icon/docker?icon=docker&label)](https://www.docker.com/)
79
![License](https://img.shields.io/badge/license-Apache%202.0-blue)
8-
![Version](https://img.shields.io/badge/version-0.1.0-blue)
10+
![Version](https://img.shields.io/badge/version-0.2.0-blue)
911
[![arXiv](https://img.shields.io/badge/arXiv-1234.56789-b31b1b.svg)](https://arxiv.org/abs/2501.11111)
1012

1113
<br align="center">
@@ -91,9 +93,7 @@ pip install -e .
9193

9294
## Limitations
9395

94-
* The reference map has to be in the .pcd format
95-
* Detailed instructions on how to create refrence maps is missing
96-
* Move to nanobind
96+
* Detailed instructions on how to create refrence maps are missing
9797

9898
## Acknowledgement
9999

cpp/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,11 @@ add_library(
4141
utils/pose_utils.cpp
4242
utils/helpers.cpp)
4343

44-
target_include_directories(openlidarmap_lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${small_gicp_INCLUDE_DIRS} ${LIBLZF_INCLUDE_DIR})
44+
target_include_directories(openlidarmap_lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${small_gicp_INCLUDE_DIRS}
45+
${LIBLZF_INCLUDE_DIR})
4546

46-
target_link_libraries(openlidarmap_lib PUBLIC Eigen3::Eigen small_gicp Ceres::ceres
47-
PRIVATE Iridescence::Iridescence stdc++fs ${LIBLZF_LIBRARY})
47+
target_link_libraries(openlidarmap_lib PUBLIC Eigen3::Eigen small_gicp Ceres::ceres PRIVATE Iridescence::Iridescence
48+
stdc++fs ${LIBLZF_LIBRARY})
4849

4950
# Add executable
5051
add_executable(openlidarmap_cpp apps/main.cpp)

cpp/config/kernel_config.hpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,12 @@
44

55
namespace openlidarmap::config {
66

7-
struct KernelConfig {
8-
double model_sse{};
9-
size_t num_samples{};
10-
double sigma{};
11-
12-
KernelConfig()
13-
: model_sse(1.0),
14-
num_samples(1),
15-
sigma(1.0) {}
16-
};
17-
18-
} // namespace openlidarmap::config
7+
struct KernelConfig {
8+
double model_sse{};
9+
size_t num_samples{};
10+
double sigma{};
11+
12+
KernelConfig() : model_sse(1.0), num_samples(1), sigma(1.0) {}
13+
};
14+
15+
} // namespace openlidarmap::config

cpp/config/preprocess_config.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ struct PreProcessConfig {
88
double downsampling_resolution{};
99
int num_neighbors{};
1010

11-
PreProcessConfig() : min_range(5.0), max_range(100.0),
12-
downsampling_resolution(1.5), num_neighbors(10) {}
11+
PreProcessConfig()
12+
: min_range(5.0), max_range(100.0), downsampling_resolution(1.5), num_neighbors(10) {}
1313
};
1414

1515
} // namespace openlidarmap::config

cpp/core/pose_factor_abs.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ struct AbsPoseError {
1313
template <typename T>
1414
bool operator()(const T *const pose, T *residual) const {
1515
constexpr double STDDEV = 1.0;
16-
16+
1717
for (int i = 0; i < 3; ++i) {
1818
residual[i] = (pose[i] - T(abs_measure_[i])) / T(STDDEV);
1919
}
2020

2121
// Quaternion error
2222
Eigen::Quaternion<T> q1(pose[6], pose[3], pose[4], pose[5]);
23-
Eigen::Quaternion<T> q2{T(abs_measure_[6]), T(abs_measure_[3]),
24-
T(abs_measure_[4]), T(abs_measure_[5])};
23+
Eigen::Quaternion<T> q2{T(abs_measure_[6]), T(abs_measure_[3]), T(abs_measure_[4]),
24+
T(abs_measure_[5])};
2525
Eigen::Quaternion<T> q_error = q1.normalized() * q2.normalized().inverse();
2626

2727
// Convert quaternion error to residual

cpp/core/pose_factor_rel.hpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,22 @@ struct RelPoseError {
1414
bool operator()(const T *const pose_i, const T *const pose_j, T *residual) const {
1515
constexpr double STDDEV = 1.0;
1616

17-
Eigen::Transform<T,3,Eigen::Isometry> T_i = Eigen::Transform<T,3,Eigen::Isometry>::Identity();
18-
T_i.translation() = Eigen::Map<const Eigen::Matrix<T,3,1>>(pose_i);
17+
Eigen::Transform<T, 3, Eigen::Isometry> T_i =
18+
Eigen::Transform<T, 3, Eigen::Isometry>::Identity();
19+
T_i.translation() = Eigen::Map<const Eigen::Matrix<T, 3, 1>>(pose_i);
1920
Eigen::Quaternion<T> q_i(pose_i[6], pose_i[3], pose_i[4], pose_i[5]);
2021
T_i.linear() = q_i.normalized().toRotationMatrix();
2122

22-
Eigen::Transform<T,3,Eigen::Isometry> T_j = Eigen::Transform<T,3,Eigen::Isometry>::Identity();
23-
T_j.translation() = Eigen::Map<const Eigen::Matrix<T,3,1>>(pose_j);
23+
Eigen::Transform<T, 3, Eigen::Isometry> T_j =
24+
Eigen::Transform<T, 3, Eigen::Isometry>::Identity();
25+
T_j.translation() = Eigen::Map<const Eigen::Matrix<T, 3, 1>>(pose_j);
2426
Eigen::Quaternion<T> q_j(pose_j[6], pose_j[3], pose_j[4], pose_j[5]);
2527
T_j.linear() = q_j.normalized().toRotationMatrix();
2628

27-
Eigen::Transform<T,3,Eigen::Isometry> T_target = Eigen::Transform<T,3,Eigen::Isometry>::Identity();
28-
T_target.translation() = Eigen::Matrix<T,3,1>(
29-
T(rel_measure_[0]),
30-
T(rel_measure_[1]),
31-
T(rel_measure_[2])
32-
);
29+
Eigen::Transform<T, 3, Eigen::Isometry> T_target =
30+
Eigen::Transform<T, 3, Eigen::Isometry>::Identity();
31+
T_target.translation() =
32+
Eigen::Matrix<T, 3, 1>(T(rel_measure_[0]), T(rel_measure_[1]), T(rel_measure_[2]));
3333

3434
const T w = T(rel_measure_[6]);
3535
const T x = T(rel_measure_[3]);
@@ -40,17 +40,17 @@ struct RelPoseError {
4040

4141
auto T_error = T_target.inverse() * T_j;
4242

43-
Eigen::Matrix<T,3,1> pos_error = T_error.translation();
44-
43+
Eigen::Matrix<T, 3, 1> pos_error = T_error.translation();
44+
4545
Eigen::Quaternion<T> q_error(T_error.linear());
4646
q_error.normalize();
4747

4848
residual[0] = pos_error.x() / T(STDDEV);
4949
residual[1] = pos_error.y() / T(STDDEV);
5050
residual[2] = pos_error.z() / T(STDDEV);
51-
51+
5252
residual[3] = T(2.0) * q_error.x() / T(STDDEV);
53-
residual[4] = T(2.0) * q_error.y() / T(STDDEV);
53+
residual[4] = T(2.0) * q_error.y() / T(STDDEV);
5454
residual[5] = T(2.0) * q_error.z() / T(STDDEV);
5555

5656
return true;

0 commit comments

Comments
 (0)