《视觉SLAM十四讲 第二版》笔记及课后习题(第四讲)

本文是《视觉SLAM十四讲 第二版》读书笔记,聚焦于李群与李代数在SLAM中的应用。讨论了如何通过李群和李代数简化位姿优化问题,并介绍了使用Sophus库进行实践操作的步骤和示例。同时,列出了课后习题,涉及群论和李代数的基础验证。

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

读书笔记:李群与李代数

上一讲,我们介绍了三维世界中刚体运动的描述方式,包括旋转矩阵、旋转向量、欧拉角、四元数等若干种方式。我们重点介绍了旋转的表示,但是在SLAM 中,除了表示之外,我们还要对它们进行估计和优化。因为在SLAM 中位姿是未知的,而我们需要解决什么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化问题,求解最优的R; t,使得误差最小化。
如前所言,旋转矩阵自身是带有约束的(正交且行列式为1)。它们作为优化变量时,会引入额外的约束,使优化变得困难。通过李群——李代数间的转换关系,我们希望把位姿估计变成无约束的优化问题,简化求解方式。
(这一章是纯数学的内容)
在这里插入图片描述
在这里插入图片描述
李群(Lie Group):

  • 具有连续(光滑)性质的群。
  • 既是群也是流形。
  • 直观上看,一个刚体能够连续地在空间中运动,故SO(3)和SE(3)都是李群。但是,SO(3)和SE(3)只有定义良好的乘法,没有加法,所以难以进行取极限、求导等操作。

李代数:与李群对应的一种结构,位于向量空间。

  • 通常记作小写的so(3)和se(3)。书中以哥特体突出显示。
  • 事实上是李群单位元处的正切空间。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

实践部分

useSophus:

依然是出现上一讲的错误:

error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \

CMakeLists.txt中加入:

set(CMAKE_CXX_FLAGS "-std=c++11 -O2")

然后还得去3rdparty文件夹中安装相应的Sophus库文件,然后编译执行可得结果:
在这里插入图片描述
具体结果如下:

/home/wh<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值