参考:
基于AutoDL复现A-LOAM https://blog.csdn.net/m0_61281610/article/details/141196109
Ubuntu18.04安装Ceres1.14.0 https://blog.csdn.net/weixin_56257452/article/details/124956670
ceres-solver官网 安装教程 http://ceres-solver.org/installation.html
源码 https://ceres-solver.googlesource.com/ceres-solver/+refs
github(推荐这个) https://codeload.github.com/ceres-solver/ceres-solver/tar.gz/refs/tags/1.14.0
1 ros安装
先安装必要的 Python 模块和包:
sudo apt update
sudo apt install sudo python3-distro python3-yaml
pip install distro
pip install pyyaml
使用鱼香ROS一键安装指令安装ROS-Noetic
wget http://fishros.com/install -O fishros && . fishros
注:【查看ROS版本指令】rosversion -d
安装ROS-Noetic会自带opencv-4.2.0,可以使用以下指令查看opencv版本。
pkg-config --modversion opencv4
2 安装Eigen-3.2.9(一开始装的Eigen-3.4.0,后续要报错又回退了版本)
#下载
wget https://gitlab.com/libeigen/eigen/-/archive/3.2.9/eigen-3.2.9.zip
#解压
unzip eigen-3.2.9
#进入文件夹
cd eigen-3.2.9
#创建build文件夹并进入
mkdir build && cd build
#cmake构建
cmake ..
make
#安装
sudo make install
#复制文件夹(方便以后查找)
sudo cp -r /usr/local/include/eigen3 /usr/include
#查看当前版本
pkg-config --modversion eigen3
3 安装PCL-1.10
Ubuntu 20.04中默认安装的PCL版本就是1.10
sudo apt-get install libpcl-dev
安装完成后可以使用以下指令查看PCL版本
dpkg -s libpcl-dev | grep Version
4 安装Ceres-1.14.0(一开始安装的2.1.0,后续要报错又回退了版本)
Ceres solver 是谷歌开发的一款用于非线性优化的库,在谷歌的开源激光雷达slam项目cartographer中被大量使用。使用ceres库必须先安装eigen库,ceres库是基于eigen的。
第一步:首先下载Ceres的源代码,链接如下:
https://codeload.github.com/ceres-solver/ceres-solver/tar.gz/refs/tags/1.14.0
说明:tar.gz 是Linux系统下的压缩包 zip是Windows系统下的压缩包
第二步:安装ceres所需要的依赖
sudo apt install libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
第三步:在Linux系统下解压压缩包,然后进入文件夹编译安装ceres,这里耗时比较久大概20min左右。一步步依次执行下面的命令。
或者参考官网安装,我是参考官网安装的 http://ceres-solver.org/installation.html ,把版本号换成自己的
cd ceres-solver/
mkdir build
cd build
cmake ..
make -j20
sudo make install
安装完成后,如果在/usr/local/include/ceres/目录下能找到Ceres的头文件,并且也有库文件/usr/local/lib/libceres.a,说明安装成功了,
测试ceres是否安装成功。
[图片上传中...(b049d60e652c4385bb416d8512001db0.png-4bc848-1733570940062-0)]
ceres-bin目录下运行下面例子:
bin/simple_bundle_adjuster ../ceres-solver-2.1.0/data/problem-16-22106-pre.txt
运行结果: