基于场景的相机-雷达联合标定编译记录direct_visual_lidar_calibration
编译
1.本机环境Ubuntu18.04 + Melodic
- 相关依赖版本:Cmake-3.18.0 gcc-8.4.0 pcl-1.13.0
2.相关依赖
bash
# Install dependencies
sudo apt install libomp-dev libboost-all-dev libglm-dev libglfw3-dev libpng-dev libjpeg-dev
# Install GTSAM
git clone https://github.com/borglab/gtsam
cd gtsam && git checkout 4.2a9
mkdir build && cd build
# For Ubuntu 22.04, add -DGTSAM_USE_SYSTEM_EIGEN=ON
cmake .. -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
-DGTSAM_BUILD_TESTS=OFF \
-DGTSAM_WITH_TBB=OFF \
-DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF
make -j$(nproc)
sudo make install
# Install Ceres 需要cmake3.16以上
git clone https://github.com/ceres-solver/ceres-solver
mkdir ceres-solver/build && cd ceres-solver/build
cmake .. -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DUSE_CUDA=OFF
make -j$(nproc)
sudo make install
# Install Iridescence for visualization 需要gcc 8以上
git clone https://github.com/koide3/iridescence --recursive
mkdir iridescence/build && cd iridescence/build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install
# ROS1 需要pcl1.10以上
cd ~/calibration_ws/src
git clone https://github.com/koide3/direct_visual_lidar_calibration.git --recursive
cd .. && catkin_make
3.踩坑记录
- 1.安装编译ceres,需要CMake 3.16以上
- 2.安装iridescence,需要gcc 8以上,不然filesystem会报错。且需要在CMakelist的target_link_libraries中添加stdc++fs。
- 3.编译最终的direct_visual_lidar_calibration工具时,需要pcl1.10以上版本,不然代码中pcl::make_shared报错。
- 4.当然在更换CMake,g++,pcl版本时,别忘记修改环境变量
- 总结:还是本机各种依赖版本太低了。