SLAM第六讲实践: gaussNewton ,ceres库,g2o库, g2o_viewer可视化优化超详细安装与使用

本文详细介绍如何在Ubuntu系统上搭建SLAM环境,包括更新CMake版本至3.21.4、安装glog和ceres等关键库,以及配置g2o库和g2o_viewer,为机器人定位和地图构建提供技术支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2022.10.1国庆 bionic
基于slambook2

1.更新cmake版本

千万不要卸载删除ubuntu原有的cmake,否则之前经过原有cmake编译过的文件将也会被删除,比如 ros

因为需要glog,而glog的cmakelists对于cmake的版本要求卡的很死,要3.16以上,那么原先自带的cmake只有3.10显然不够用了

我这里附上我安装的某云包,需要的自取

 链接: https://pan.baidu.com/s/1dz9eBxrSR6DcqrY0GakgeA
 提取码: e4vr 

把包解压到主目录下,否则后面mv会报错

在主目录终端下把包移动到opt下

sudo mv cmake-3.21.4-Linux-x86_64 /opt/cmake-3.21.4  

建立软链接

sudo ln -sf /opt/cmake-3.21.4/bin/* /usr/bin/   

查看现在的版本号

cmake --version

在这里插入图片描述

cmake安装成功之后,不要忘记将cmake的文件路径添加至 .bashrc里面

进入~/.bashrc

sudo gedit ~/.bashrc

输入以下内容

export  PATH=$PATH:/opt/cmake-3.21.4/bin

保存 .bashrc的更改和更新source一下

source ~/.bashrc 

OK,这里就把版本更新到了3.21.4

2.安装glog库

glog 是一个 C++ 日志库,它提供 C++ 流式风格的 API。在安装 glog 之前需要先安装 gflags,这样 glog 就可以使用 gflags 去解析命令行参数

apt-get install安装:

sudo apt-get install libgoogle-glog-dev

下载源码进行编译安装(可能需要科学上网懂得都懂):

git clone https://github.com/google/glog.git
cd glog
mkdir build
cd build
cmake ..
make
sudo make install

这样没问题就完成了

3.ceres库, gaussNewton 的安装使用

安装依赖项

ubuntu18.04中libcxsparse的版本号是3

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev

这个库版本号的对应关系如下:

libcxsparse3.1.2————————ubuntu14.04

libcxsparse3.1.4————————ubuntu16.04

libcxsparse3————————————ubuntu18.04

这里提供了我的ceres安装包,有需要的自取

链接:https://pan.baidu.com/s/1U4Y9nu7q_U5EPFx_3DE5MA 
提取码:rolz

解压ceres无所谓在哪个目录下面,进入解压后的文件夹,打开终端做如下操作是最稳妥的:

mkdir build
cd build
cmake ..
make
sudo make install

在这里插入图片描述

总的来说,还是挺简单的。
然后打开slambook2 ch6
这里make会出现g2o的错误不过没有关系,放在那里,后面再重新一遍

mkdir build
cd build
cmake ..
make
./ceresCurveFitting 

在这里插入图片描述
gaussNewton 也可以直接运行

在这里插入图片描述

4.g2o库的安装使用

安装依赖项

sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3

下载编译安装
(这里的make -j6不要轻易尝试,大量template的扩展需要足够的内存,报错的原因是(虚拟机)运行内存不足)
make时间比较长,需要耐心等待

git clone https://github.com/RainerKuemmerle/g2o   # 克隆最新版本g2o
cd g2o
mkdir build
cd build
cmake ..
make       # 注意,这里尽量使用更多的j,否则g2o安装很慢(-j4  -j6等等)
sudo make install

make结束

在这里插入图片描述

重新在ch6 build中make

./g2oCurveFitting

运行

在这里插入图片描述

5.g2o_viewer安装与使用

之前编译g2o库的时候因为少装了部分依赖所以没有编译出 g2o_viewer的可执行文件

那么先补一下可视化没有装的依赖

sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake
sudo apt-get install libqglviewer-dev-qt5

重新编译g2o,编译过程中出现了g2o_viewer

在这里插入图片描述

编译后在g2o bin目录下看到了g2o_viewer

在这里插入图片描述

直接在bin目录下./g2o_viewer

在这里插入图片描述
file中load
在ch10中选择.g2o文件

在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山风不在岚

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值