本文主要是介绍【雷达相机外参标定】direct_visual_lidar_calibration安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
direct_visual_lidar_calibration安装
- 主页
- 安装
- ubuntu
- pcl
- OpenCV
- ceres
- 其他依赖
- fmt
- direct_visual_lidar_calibration
标定雷达和相机时使用direct_visual_lidar_calibration。
主页
- https://github.com/koide3/direct_visual_lidar_calibration?tab=readme-ov-file
- https://koide3.github.io/direct_visual_lidar_calibration/
主页中有安装指南,但不详细,没有表明依赖包版本。
安装
ubuntu
以下流程仅适用于ubuntu20.04 & ros1。笔者尝试使用ubuntu18.04安装,会遇到其他问题。
pcl
pcl版本得是1.10以上
ubuntu20中默认安装的pcl就是1.10。
可以参考https://blog.csdn.net/weixin_44244190/article/details/130559052
- 安装pcl:
sudo apt-get install libpcl-dev
- 查看pcl版本:
apt-cache show libpcl-dev
OpenCV
opencv版本得是4以上
- 安装opencv:
sudo apt install libopencv-dev
ceres
ceres版本得大于2.0,2.0仍会报错
安装最新2.2版本
- 若之前没装过ceres可以按以下流程安装
# Install Ceres
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
- 若想保留不同版本的ceres
参考https://blog.csdn.net/weixin_40324045/article/details/131960018?spm=1001.2014.3001.5506
在/usr/local/
下新建一个文件夹如ceres_2.2.0
cd /usr/local
sudo mkdir ceres_2.2.0
在编译时将安装路径指定为该文件夹
cd ~
git clone https://github.com/ceres-solver/ceres-solver
mkdir ceres-solver/build && cd ceres-solver/build
cmake -D CMAKE_INSTALL_PREFIX="/usr/local/ceres_2.2.0" .. -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DUSE_CUDA=OFF
make -j$(nproc)
sudo make install
使用时修改direct_visual_lidar_calibration的cmakelist,在find_package之前指定ceres的路径
set(Ceres_DIR /usr/local/ceres_2.2.0/lib/cmake/Ceres)
find_package(Ceres REQUIRED)
- 若想查看ceres版本
参考https://blog.csdn.net/qq_35037684/article/details/131064049
查看头文件 version.h
其他依赖
按照官方流程
# 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 Iridescence for visualization
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
应该不会遇到问题
fmt
官方流程中并没有说需要安装fmt,若此时按照流程直接下载编译direct_visual_lidar_calibration包
会遇到如下错误
fatal error: fmt/format.h: 没有那个文件或目录
fmt需要安装8.1.1版本,安装其他版本之后会报错
参考https://blog.csdn.net/qq_44849479/article/details/125186678
与https://blog.csdn.net/HozenChe/article/details/124979631
先到https://fmt.dev/8.1.1/index.html下载8.1.1版,注意不要git也不要下最新版,都会报错。
解压后,见修改fmt的cmakelist,加入
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
若不加直接安装,之后会出现如下错误
usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
之后
cd fmt-8.1.1
mkdir build
cd build
cmake ..
make
sudo make install
如果安装了其他版本的fmt可以参考https://blog.csdn.net/qq_39779233/article/details/125123326卸载。
进入build文件夹,使用如下命令
sudo xargs rm < install_manifest.txt
direct_visual_lidar_calibration
完成所有依赖的安装后
# ROS1
cd ~/catkin_ws/src
git clone https://github.com/koide3/direct_visual_lidar_calibration.git --recursive
cd .. && catkin_make
若是系统上安装了多版本的ceres,参考前文先指定版本。
这篇关于【雷达相机外参标定】direct_visual_lidar_calibration安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!