视觉slam十四讲第三章-安装eigen、Pangolin等注意事项

参考文章[已解决]Ubuntu18.04使用Pangolin报错原因与解决方法、以及Pangolin的安装方法、视觉SLAM十四讲ch3报错原因解析
高翔视觉slam第三讲:Eigen、pangolin安装,plotTrajectory、visualizeGeometry运行

1、安装eigen的两种方式

高博书中用的是第二种方式,也是需要软链接,如果不设置软链接的话,就需要图二的方法

图一:
图一
图二:
在这里插入图片描述

2、安装库文件的标准方式

在这里插入图片描述
安装位置为: usr/local/include

3、安装Pangolin库

1.安装git工具(基于github,以后装库会经常用到)

sudo apt-get install git

2.下载源码、安装依赖

apt-get install libglew-dev
apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
git clone http://github.com/stevenlovegrove/Pangolin

3.编译安装Pangolin

cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install //至关重要,安装到系统中

4.然后就安装成功了,这个时候我们可以检测一下是否安装成功Pangolin

使用git工具从github上下载的Pangolin文件夹有一些example例程,因为我们上一步已经编译生成了可执行文件,所以可以运行其中的example例程。

cd Pangolin/build/examples/HelloPangolin
./HelloPangolin

在这里插入图片描述

出现一下图像就是代表安装成功(如果后面编译等等出现问题千万千万不要卸载重装Pangolin),因为我前几次编译不成功,就一直以为是Pangolin版本问题,就一直重装。后面发现这个版本的Pangolin没问题。问题都出在下文的地方!!这里提个醒不用做无用功!!!

5.然后运行例程代码

先查看配置文件CMakeLists文件

cmake_minimum_required(VERSION 2.8)
project(examples)
find_package(Pangolin 0.8 REQUIRED)

include_directories("/usr/include/eigen3")
include_directories( "/usr/local/include/pangolin" )

include_directories(${Pangolin_INCLUDE_DIRS})

add_executable(coordinateTransform coordinateTransform.cpp)
add_executable(plotTrajectory plotTrajectory.cpp)
target_link_libraries(plotTrajectory ${Pangolin_LIBRARIES})

然后进行编译

mkdir build
cd build
cmake ..
make
./plotTrajectory

结果出错,提示某个shared libraries差找不到
在这里插入图片描述
百度一下,进行测试
在这里插入图片描述
linux中ldconfig的使用介绍
在这里插入图片描述

再次编译运行,发现成功运行!
在这里插入图片描述
同样的方法编译运行:
在这里插入图片描述

### 关于《视觉SLAM十四》第二版中的Eigen相关内容 在《视觉SLAM十四》第二版中,虽然主要讨论的是SLAM系统的理论基础和技术实现[^3],但Eigen库作为线性代数运算的重要工具,在多个章节都有提及和应用。 #### Eigen简介及其重要性 Eigen是一个高效的C++模板库,用于矩阵和向量操作。对于SLAM系统而言,Eigen提供了必要的数学支持来处理各种几何变换、优化问题等。由于其高效性和易用性,Eigen成为许多计算机视觉和机器人项目不可或缺的一部分[^5]。 #### 安装与配置 当涉及到具体安装时,建议按照官方文档或可靠教程来进行设置。需要注意的是,在遇到编译错误时不应急于重新安装整个环境;很多时候可能是某些细节上的疏忽所致。例如,有经验表明,初次尝试失败后不必轻易放弃当前版本的Pangolin或其他依赖项,而应仔细排查其他可能的原因。 #### 应用实例 在实际编程实践中,Eigen被广泛应用于表示三维空间内的点云数据结构以及执行诸如旋转和平移之类的刚体运动学计算。下面给出一段简单的代码片段展示如何利用Eigen定义并操作齐次坐标系下的平移矩阵: ```cpp #include <iostream> #include <Eigen/Dense> using namespace std; using namespace Eigen; int main() { Vector3d t(0.7, 0.2, 1.5); // 平移向量 Matrix4d T = Matrix4d::Identity(); // 初始化单位矩阵 // 设置最后三列对应平移分量 T.block<3, 1>(0, 3) = t; cout << "Translation matrix:\n" << T << endl; return 0; } ``` 这段程序创建了一个基于输入参数`Vector3d t`构建出来的四维仿射变换矩阵`T`,其中包含了指定方向上移动的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值