4.1.1-4.1.3
不知道什么时候不小心碰到键盘删掉了qwq哭晕在厕所...下次还是写一部分就发表一部分吧QAQ
4.1.4
-
对应的李代数:
其元素是定义在三维空间上的向量,每个这种向量都可生成一个反对称矩阵的元素是三维向量或者三维反对称矩阵,它们是一个三维向量组成的集合,每个向量对应一个反对称矩阵,用于表达旋转矩阵的导数: - 向量
的李括号:
4.1.5
-
对应的李代数:与类似,位于空间, 平移为,旋转为:
在这里把
表示从向量到矩阵,
表示从矩阵到向量。例如
是六维向量,
表示矩阵。
- 李括号:
4.2.1
用泰勒展开表示任意矩阵的指数映射
用同样方法定义
中的任意元素
的指数映射
由于上述定义无法直接计算,使用如下简便方法——定义三维向量
的模长
和方向
代入泰勒展开(推导过程略),得到的式子说明
实际是由旋转向量组成的空间
4.2.2
上的指数映射
书上有李群和李代数的定义和相互转换关系图解,这部分我觉得很懵逼。
4.3.1
两个李代数指数映射乘积的完整形式由Baker-Campbell-Hausdorff)(BCH)公式给出,有
即对一个旋转矩阵
(李代数为
)左乘一个微小旋转矩阵
(李代数为
)时,近似认为原有李代数左边加上一项
。
4.3.2
设某个时刻物体位姿为
,它观察到了一个世界坐标位于
,产生观测数据
,坐标变换关系:
为噪声,也是理想观测与实际数据之间的误差
假设有N个这样的路标点和观测,即N个上述式子;对物体进行位姿估计相当于寻找最优位姿
使得整体误差最小
求解这个问题需要计算目标函数J关于T的导数。
4.3.3
在
上,对空间点
进行了旋转得到
,则旋转之后点的坐标相对于旋转的导数(推导过程很复杂..)
4.3.4
在
上,求导方法2:对
进行一次扰动
,看结果相对于扰动的变化率。设左扰动
对应的李代数为
,这种方法省去雅可比的计算,更实用
4.3.5
在
上,假设空间点
经过变换
(对应李代数
)得到
,给
左乘扰动
,设扰动项的李代数为
,则
遵守规则
4.4.1
- 查看Eigen3版本 :其他位置-计算机-/usr/include/eigen3/Eigen/src/Core/util/Macros.h ,我的是3.3.4(有时候Sophus下载可能有Eigen版本的要求)
- 安装Sophus(clone部分比较慢,可以用tmux挂机下载(sudo apt-get install tmux
下载,打开终端输入tmux回车就可以使用了)
git clone https://github.com/strasdat/Sophus.git
cd Sophus
mkdir build
cd build
cmake ..
make
sudo make install
cmake那一步很慢。最后一句不能忘记,否则系统找不到Sophus的路径。安章完毕界面:
照着书上运行代码就好了,没什么Bug,最大的问题是看不懂(