建议先装anaconda再装ros, python,opencv啥该有的都有了
下面仅仅安装ros没有的库
Eigen3
- 作用:线性代数开源库, 提供了有关线性代数、矩阵和矢量运算、数值分析及相关的算法
- 安裝方法:
sudo apt-get install libeigen3-dev
使用時注意添加頭文件:
#添加头文件
include_directories("/usr/include/eigen3")
Sophus
- 作用:李代数库,支持三维运动的SO(3)、SE(3),此外还支持二维运动的SO(2)、SE(2)和相似变换Sim(3)等内容.
- 安裝:
git clone http://github.com/strasdat/Sophus
cd Sophus
mkdir build
cd build
cmake ..
make
sudo make install
默認安裝爲模板類,如果使用非模板類,需要在git clone後,用git checkout a621ff
滾動到非模板類版本
安装时可能会出现错误:
Could not find a package configuration file provided by "fmt" with any of
the following names:
fmtConfig.cmake
fmt-config.cmake
- 解决方案:安装fmt:
git clone https://github.com/fmtlib/fmt.git
cd fmt
mkdir build
cd build
cmake ..
make
sudo make install
- 注意,使用时在cmakelist中添加:
target_link_libraries(fmt)
Pangolin
- 作用:一款开源的OPENGL显示库,可以用来视频显示
- 安装:
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
最后使用sudo ldconfig
使得环境变量生效.
Ceres
如果没有ros还需要安装其他依赖, 考虑已经装了ros,只需要
安装:
sudo apt-get install libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev
接着源码安装ceres:
git clone https://github.com/ceres-solver/ceres-solver
cd ceres-solver
mkdir build && cd build
cmake ..
make -j16
sudo make install
注意使用事项:
Ceres库的头文件安装在"/usr/local/include/ceres/“目录下,库文件安装在”/usr/local/lib/"目录下。在CMakeList.txt中添加头文件和库文件路径的命令:find_package( Ceres REQUIRED ) include_directories( ${CERES_INCLUDE_DIRS}) #添加头文件目录 add_executable( 可执行文件名 源文件名.cpp ) #添加可执行文件 target_link_libraries( 可执行文件名 ${CERES_LIBRARIES} ) #添加库文件目录
g2o
先安装依赖环境:
sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3
接着源码安装:
先退出conda环境,以免冲突:conda deactivate
然后:
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build && cd build
cmake ..
make -j16
sudo make install
接着测试深蓝学院vins-course的小demo地址
期间存在的问题:
- 官方已经放弃使用ceres/local_parameterization.h
因此我选择临时撤退,先sudo make uninstall
卸载已经安装的ceres版本, 然后安装十四将给的文件进行安装
另外还会出现opencv问题, 同样可以去官网或者直接用高博十四讲给的3.1版本opencv, 安装后注意使用时要根据情况指定版本:
# find_package(OpenCV REQUIRED) # 默认是opencv4, 因为我装ros自带的4
find_package(OpenCV 3 REQUIRED) # 这里指定为3
而后编译vins-mono即可:
参考文献:
视觉SLAM十四讲环境搭建(测试环境Ubuntu20.04)总结很全!!!
也不错
里面有一丢丢有问题,结合着看