【视觉SLAM14讲】ch4心得与课后题答案【仅供参考】
答案:
Q1:验证SO(3) SE(3) Sim(3)关于乘法成群
SO(3) : 由P64最开始可知,乘法代表了旋转,而SO(3)是旋转矩阵的集合,
SE(3) Sim(3) 同理(最基础的部分还是旋转,平移和缩放只是附加的)
Q2:验证(R3, R, X)构成李代数
满足李代数定义的四条性质:
封闭性:对于任意的三维向量X Y,他们的内积仍然是三维向量
双线性:显然可得
自反性:sin(0°) = 0
雅克比等价: 只可以举一个特殊的例子,在笛卡尔坐标系下考虑就是三个零相加 待大神补充
Q3:验证so(3) se(3)构成李代数
so(3)的元素是一个三维向量/三维反对称矩阵, 并将这个元素记做 φ 其李括号是[φ1,φ2] = [φ1φ2 - φ2φ1]V
封闭性:
双线性:
自反性:显然可得
雅克比等价:待大神补充
se(3)的元素是一个六维向量,上面是平移,下面同so(3)
封闭性:
双线性:
自反性:显然可得
雅克比等价:待大神补充
Q4:
Q5:
Q6:
Q7:
学习心得:
在研究SLAM时候,除了对三维世界刚体运动表示外(ch3),由于噪声的影响,还要进行对可能的位姿进行优化,而旋转矩阵必须得是行列式为1的正交矩阵,
为了减少这种约束,我们希望通过李群和李代数之间的关系,把位姿估计变为无约束的问题
李群和李代数是群论里的一部分,我们研究的SO(3) SE(3)都是李群,SO(3) SE(3)只有乘法没有加法,既然没有加法,就不存在取极限,更没有求导了
所以引入李代数来实现求导,进而引出了扰动模型
Q:实践时发现看了这么多公式的推演,但还是没法动手写代码,甚至连阅读demo code都是一件费劲的事情!
Solution:1.研读代码和公式,学习代码



缺陷
虽然数学推导确实很难,但其实做数学推导还是有很多好处的,比如可以加深对公式的理解和记忆,以后看到类似paper的时候就不会感到晕了【类比思想嘛】,比如相似变换群(Sim(3))
但即使这样做下来,除了对SO(3) 和 se(3)有一些很好的把握外,变换矩阵的还有点不太清楚,第二遍争取可以把公式再梳理一遍
【视觉SLAM14讲】ch4心得与课后题答案【仅供参考】的更多相关文章
- c++面向对象程序设计 课后题 答案 谭浩强 第四章
c++面向对象程序设计课后题答案 谭浩强 第四章 1: #include <iostream> using namespace std; class Complex {public: Co ...
- C程序设计(谭浩强)第五版课后题答案 第一章
大家好,这篇文章分享了C程序设计(谭浩强)第五版课后题答案,所有程序已经测试能够正常运行,如果小伙伴发现有错误的的地方,欢迎留言告诉我,我会及时改正!感谢大家的观看!!! 1.什么是程序?什么是程序设 ...
- 【视觉SLAM14讲】ch3课后题答案
1.验证旋转矩阵是正交矩阵 感觉下面这篇博客写的不错 http://www.cnblogs.com/caster99/p/4703033.html 总结一下:旋转矩阵是一个完美的矩阵——正交矩阵.①行 ...
- javase程序设计课后题答案
;第1章 Java概述 编译java application源程序文件将产生相应的字节码文件,这些字节码文件别的扩展名为.java 执行一个java程序fristapp的方法是运行java frist ...
- c++ primer plus 第七章 课后题答案
#include <iostream> using namespace std; double HAR_AVG(double, double); void TEST(bool); int ...
- c++ primer plus 第六章 课后题答案
#include <iostream> #include <cctype> using namespace std; int main() { char in_put; do ...
- c++ primer plus 第五章 课后题答案
#include <iostream> using namespace std; int main() { ; cout << "Please enter two n ...
- c++ primer plus 第四章 课后题答案
#include<iostream> #include<string> using namespace std; int main() { string first_name; ...
- c++ primer plus 第三章 课后题答案
#include<iostream> using namespace std; int main() { ; int shen_gao; cout <<"Please ...
随机推荐
- 【转】在程序中设置android:gravity 和 android:layout_Gravity属性
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性. 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一 ...
- IIS7.5如何限制某UserAgent 禁止访问
参见Blocking Bots Based on User-Agenthttp://moz.com/ugc/blocking-bots-based-on-useragent http://server ...
- lasagne保存网络参数
# Optionally, you could now dump the network weights to a file like this: # np.savez('model.npz', *l ...
- Spring详解篇之IoC控制反转
###一.Spring概况 spring是一个开源框架 是一个轻量的控制反转和面向切面的容器框架 大小和开销都是轻量的. 通过控制反转技术可以达到松耦合的目的 切面编程,允许通过分离应用的业务逻辑. ...
- iOS程序猿如何快速掌握 PHP,化身"全栈攻城狮"?
这是一篇以 iOS 开发人员的视角写给广大iOS 程序猿的 PHP 入门指南.在这篇文章里我努力去发掘 objectiv-c 与 php 之间的共性,来帮助有一定 iOS 开发经验的攻城狮来快速上手一 ...
- centos 7 ifconfig 命令找不到
最近在配置linux 环境: 在官网看到centOS除了最新版本7,那就尝试一下吧.最小安装centOS 7之后发现没有ifconfig命令,在网上找了一下都说是路径的路问题. 我用echo $PAT ...
- Ubuntu16.04下配置ssh免密登录
Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...
- #Python编程从入门到实践#第三章笔记
列表简介 1.什么是列表 列表:由一系列按也顶顺序排列的元素组成.元素之间可以没有任何关系. 列表:用方括号[]表示,并用逗号分隔其中元素.名称一般为复数 2.访问元素 (1)列表是有序集合 ...
- CLK_SWR=0xe1
STM8 时钟初始化 主时钟切换寄存器(CLK_SWR) http://www.stmcu.org/document/detail/index/id-200090 stm8寄存器数据手册链接
- 爬虫之urllib模块
1. urllib模块介绍 python自带的一个基于爬虫的模块. 作用:可以使用代码模拟浏览器发起请求. 经常使用到的子模块:request,parse. 使用流程: 指定URL. 针对指定的URL ...