ubuntu上G2O库的安装

一、什么是G2O库?有什么用?

g2o 是一个图优化库。常常在SLAM 中被使用。

图优化本质上依旧是非线性优化。只不过利用图的方式表现出来,使问题可视化,然后可以根据可视化的结果来更好的调整优化过程。

 是一种数据结构。在图优化中,用顶点 (vertex) 表明优化变量,用 (edge) 表明误差项。于是,对于任意一个上述形式的非线性最小二乘问题,都可以构建一个与之对应的图。

在视觉SLAM 十四讲中,常用的后端优化库有两个:g2o 和ceres。ceres 是google 的一个优化库,文档详尽且友善,就不再赘述了。但对于g2o,除了源码,官方用doxygen 生成的协助文档,就只有论文 g2o: A general framework for graph optimization 和这篇github 的文档。

二、如何安装G2O库?有哪些依赖项?在安装和使用的过程中,会遇到哪些问题,以及如何解决?

1安装步骤

git clone https://github.com/RainerKuemmerle/g2o.git

cd g2o

mkdir build

cd build

cmake …/

make

sudo make install

2在编译时,我卡在opengl的库安装问题上。

glut库安装:

sudo apt-get install freeglut3-dev

总是提示

Err:1 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 freeglut3 amd64 2.8.1-3

connetciton failed [IP:91.189.91.39 80]

Err:2 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 freeglut3-dev amd64 2.8.1-3

connetciton failed [IP:91.189.91.39 80]

E:Failed to fetch  http://cn.archive.ubuntu.com/ubuntu/pool/universe/f/freeglut/freeglut3_2.8.1-3_amd64.deb connection failed  [IP:91.189.91.39 80]

E:Failed to fetch  http://cn.archive.ubuntu.com/ubuntu/pool/universe/f/freeglut/freeglut3-dev_2.8.1-3_amd64.deb connection failed  [IP:91.189.91.39 80]

E:Unable to fetch some archives, maybe run apt-get install libglut-dev

最终解决方案,  更换 sources.list 阿里源 清华镜像。

apt-get update

apt-get upgrade

3在使用g2o时,编译用到了g2o库的project,遇到报错error: ‘index_sequence’ is not a member of std

解决方案,修改project的CMakeLists.txt添加:set(CMAKE_CXX_STANDARD 14)

参考链接:

Ubuntu18.04 更换 sources.list 阿里源 清华镜像 – 小固件 (atmcu.com)

(81条消息) 视觉SLAM十四讲 报错 error: ‘index_sequence’ is not a member of ‘std‘_CSSDCC的博客-CSDN博客

(81条消息) 视觉SLAM十四讲 报错 error: ‘index_sequence’ is not a member of ‘std‘_CSSDCC的博客-CSDN博客

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...