视觉SLAM的数学基础 第一篇 3D空间的位置表示
来源:互联网 发布:中国黑客攻击日本网络 编辑:程序博客网 时间:2024/05/18 06:38
视觉SLAM中的数学基础 第一篇 3D空间的位置表示
前言
转眼间一个学期又将过去,距离我上次写《一起做RGBD SLAM》已经半年之久。《一起做》系列反响很不错,主要由于它为读者提供了一个可以一步步编码、运行的SLAM程序,为读者理解SLAM实现的细节作了详细的介绍。但是我也有很多对它不满意的地方。作为面向实现的介绍,它的代码不够稳定可靠,例如,甚至没有对匹配丢失的情况进行处理,因而只能用于教学。另一方面,对SLAM研究者来说,我只是介绍了编码方面如何调用一些常见的库函数,而没有对这些函数进行深入的,原理上的讲解。这就导致了读者只了解了函数的接口,而没法根据数学原理进行创新。归根到底,研究机器人相关问题,一是要有扎实的数学基础,二是要有强大的动手编程能力,这对大多数刚入门的研究者来说,极具挑战性。我也希望,通过阅读我的博客,你能走进SLAM研究的门槛,有朝一日自己也写出优秀的程序和论文。
有鉴于此,我准备写一写SLAM相关的数学知识,包括代数、几何、概率、运筹等等。对于重要的算法例如ICP,EKF,细致讨论它的原理,并给出它的实现(原生的代码或在某个库的实现)。由于它们的原理较复杂,我会从最基本的东西开始讲起。但是我毕竟不是在写数学书,我不会像数学书那样写成``定义——定理——推论”的结构。我们不会纠缠于一些定理的严格证明,相反的,我们只在必要的情况下加以说明,告诉读者这些数学公式在SLAM中有何应用,如何应用。
由于博客编辑器的限制,我们以斜体字
小萝卜:师兄,这么严肃不是你的风格啊!
师兄:啊,数学嘛……
刚体运动
本篇我们讨论一个很基础的问题:如何描述机器人的位姿。这也是研究SLAM的第一个问题。注意这里“位姿”的用语包含了位置和姿态。描述位置是很简单的。如果机器人在平面内运动,那么用两个坐标来描述它的位置:
- 齐次坐标可以方便地将平移与旋转放在一个矩阵中。
师兄:这应该是最明显的好处啦!大家都爱用齐次坐标,包括我。有关坐标系怎么用齐次坐标进行变换,后文会详细解释。现在我们能表达点了,还剩下一个姿态。由于2D与3D差别较大,我们分而述之。
2D姿态的描述
3D变换
- 视觉SLAM的数学基础 第一篇 3D空间的位置表示
- 视觉SLAM中的数学基础 第一篇 3D空间的位置表示
- 视觉SLAM中的数学基础 第一篇 3D空间的位置表示
- 视觉SLAM中的数学基础 第一篇 3D空间的位置表示
- 3D视觉(一)三维数学基础教程和SLAM
- 计算机视觉的数学基础
- 计算机视觉的数学基础
- 第一篇 数学的重要性
- 视觉SLAM中的数学基础 第二篇 四元数
- 视觉SLAM中的数学基础 第二篇 四元数
- 视觉SLAM中的数学基础 第二篇 四元数
- 不同类型的视觉SLAM系统
- 对于RGB-D相机,视觉密集型下的SLAM算法(Dense Visual SLAM for RGB-D Cameras)
- 3D游戏的数学基础
- 3D游戏的数学基础
- 3D数学--空间直线与平面的交点
- 3D开发的视觉基础openGL ES
- SLAM第一篇:基础知识
- python解析XML:ElementTree(元素树)
- At Commands:从白痴到大师的修炼历程(五)
- tableview创建(swift)
- HTML --img标签只显示图片中心位置的方法
- SVN下载,安装,配置,常用操作 svn教程
- 视觉SLAM的数学基础 第一篇 3D空间的位置表示
- redis 常用命令、常见错误、配置技巧等分享
- 关于Android那些事儿
- 关于Linux操作系统层次结构分析
- 求1000以内所有的"完数"
- 备战驱动面试笔试:资源来自于网络
- python文件与文件夹操作
- 几种测试的比喻,源于网上的一个问题与回复。
- Android 主题 application theme