学习记录-视觉SLAM十四讲第2版(五)


前言

这里主要归纳下对第三讲里面3.6-3.7和普通的习题部分。


一、第三讲3.6-3.7实践部分

1.useGeometry项目

这里没遇到什么问题,直接运行就可以了。
在这里插入图片描述

2.coordinateTransform项目

在这里插入图片描述

这里也是一样的,直接运行就可以了。这里主要先将该点的坐标转换到世界坐标系,然后再通过旋转矩阵转化到小萝卜二号坐标系下。

3.plotTrajectory项目

这里开始出现问题了,报错说找不到pangolin.h的包
在这里插入图片描述
执行了下列指令:

git clone https://github.com/stevenlovegrove/Pangolin
cd Pangolin
mkdir build 
cd build
cmake..
make

cmake…中间可能会报错说缺少glew之类的,用sudo apt install libglew-dev安装上就好,然后就好了。
在这里插入图片描述
在这里插入图片描述
这时编译项目,会报了个警告说没有文件名和最小运行版本。
在这里插入图片描述
增加了项目名称和最小运行版本后解决了警告。然而编译通过后运行还是报错
在这里插入图片描述
找不到轨迹文件,这里是因为地址的问题,把代码里的地址改成trajectory.txt对应的地址就好了。
在这里插入图片描述
大功告成。

4.visualizeGeometry项目

这里给了个惊喜,因为高博居然把如何安装pangolin的教程放在了这里,我看了下教程,基本就是我们刚刚的步骤:

git clone https://github.com/stevenlovegrove/Pangolin
sudo apt install libglew-dev
cd Pangolin
mkdir build 
cd build
cmake..
make

只是顺序有点变化,但还额外多了另外两步很重要的步骤:

sudo make install 
ldconfig

查了一下,第一句是安装了相应的动态库,而ldconfig命令的作用主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件,这两句非常重要
但是把这两步补完后我编译项目还是报如下的错误:
在这里插入图片描述
这里有人觉得是没有链接到对应的库,然后在Cmakelist.txt文件中补了很多语句,经过我的认真分析后,主要是这些人没有执行ldconfig,因此安装的库没有更新到查找列表中,而上面这个错误主要是是引用的一些东西c++标准为c++14,而对应Cmakelist.txt文件中为c++11,所以将CMakeList.txt中: -std=c++11改为-std=c++14即可。
果然一番操作下来,我的代码就跑起来了。看到很多教程都教人配置这个配置那个,十分复杂,我感觉很多时候是因为没有仔细去阅读高博的txt文件,照那个教程只需要修改这里的-std就可以了。当然他的文件名也没什么提示,所以很容易被忽略,而且plotTrajectory项目中就要用到Pangolin了,在visualizeGeometry项目中才来教怎么安装和配置的确也是晚了点。
总而言之,按照高博的教程+修改-std,可以很快把Pangolin安装并将对应的代码运行起来。
在这里插入图片描述
参考资料:
1、Pangolin报错
2、ldconfig命令

二、第三讲习题部分

1.验证旋转矩阵是正交矩阵

这个之前在看3.2的时候我就自己纯手算验证过。具体可见SLAM学习记录里面的2.1,这里不再赘述。

3.验证四元数旋转点的结果是虚四元数

证明:单位四元数对点进行旋转的公式为 p ’ = q p q − 1 p^’=qpq^{-1} p=qpq1
可设 p = x b i + y b j + z b k , q = s a + x a i + y a j + z a k ,则 q − 1 = q ∗ = s a − x a i − y a j − z a k p = x_bi+y_bj+z_bk,q = s_a+x_ai+y_aj+z_ak,则q^{-1}=q^{*}=s_a-x_ai-y_aj-z_ak p=xbi+ybj+z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值