【多传感器融合定位】
时间:2022-12-14 01:00:00
多传感器集成定位
本文记录了多传感器集成定位系列的环境配置问题
原文: 多传感器集成定位 第一章 概述.
环境安装
ubuntu18.04 ROS Melodic
1.g2o
// 从github上下载源码 $ https://github.com/RainerKuemmerle/g2o/tree/20170730_git // 安装依赖 $ sudo apt-get install cmake libeigen3-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev // 编译 $ cd g2o $ mkdir build $ cd build $ sudo ldconfig $ cmake .. $ make -j4 //安装 $ sudo make install
注编译前必须进入build,进行sudo ldconfig
2. Ceres
// 需要自己下载源码 下载地址: https://github.com/ceres-solver/ceres-solver/releases // 修改 sources.list $ sudo gedit /etc/apt/sources.list // 添加此地址source.list上 $ deb http://cz.archive.ubuntu.com/ubuntu trusty main universe // 更新源 $ sudo apt-get update // 安装依赖 $ sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev // 解压并进入文件夹 $ cd ceres-solver-1.14.0 // 编译及安装 $ mkdir build $ cd build $ cmake .. $ make -j4 $ sudo make install
3. Geographic
// 需要自己下载源码 下载地址: https://sourceforge.net/projects/geographiclib/ // 解压并进入文件夹 $ cd GeographicLib-1.52 // 编译及安装 $ mkdir build $ cd build $ cmake .. $ make -j4 $ sudo make install
4. glags
// 克隆源码 $ git clone https://github.com/gflags/gflags // 解压并进入文件夹 $ cd gflags // 编译及安装 $ mkdir build $ cd build $ cmake .. $ make -j4 $ sudo make install
5. glog
// 克隆源码 $ git clone https://github.com/boboxxd/glog.git // 解压并进入文件夹 $ cd glog // 安装依赖 $ sudo apt-get install autoconf automake libtool // 配置 $ ./autogen.sh $ /configure // 编译及安装 $ mkdir build $ cd build $ cmake .. $ make -j4 $ sudo make install
注: 出现如下问题时,是glog缺少gflag的依赖
logging.cc:(.text+0x6961):对‘google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)’未定义的引用
解决办法: 打开glog.cmake , 末尾改为
list(APPEND ALL_TARGET_LIBRARIES ${GLOG_LIBRARIES} libgflags.a libglog.a)
6. Sophus
// 克隆源码
$ git clone https://github.com/strasdat/Sophus.git
// 解压并进入文件夹
$ cd Sophus
$ git checkout a621ff
// 编译及安装
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install
7.GTSAM
// 克隆源码&自行下载
$ https://github.com/borglab/gtsam/archive/4.0.2.zip
// 解压并进入文件夹
$ unzip gtsam-4.0.2.zip
$ cd gtsam-4.0.2
// 编译及安装
$ mkdir build
$ cd build
$ cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
$ sudo make install
8.Protobuf
// 克隆源码&自行下载 - V3.13
$ https://github.com/protocolbuffers/protobuf/tree/3.13.x
// 解压并进入文件夹
$ unzip protobuf-3.13.x.zip
$ cd protobuf-3.13.x
// 编译及安装
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
注: googletest可能下载不下来,在github链接里面单独下载替换即可
编译可能出现:对"google::protobuf::internal::ThreadSafeArena:: …在函数…为定义的引用“问题。删除工作空间下build和devel文件,重新编译即可。