SLAM中的非线性优化】的更多相关文章

总结一下SLAM中关于非线性优化的知识. 先列出参考: http://jacoxu.com/jacobian%E7%9F%A9%E9%98%B5%E5%92%8Chessian%E7%9F%A9%E9%98%B5/ http://blog.csdn.net/dsbatigol/article/details/12448627 http://www.cnblogs.com/rongyilin/archive/2012/12/21/2827898.html <视觉SLAM十四讲>. 1. 雅克比矩…
这是我在知乎上问题写的答案,修改了一下排版,转到博客里.   原问题: 能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 目前SLAM后端都开始用优化的方法来做,题主想要了解一下之前基于滤波的方法,希望有大神能够总结一下各个原理(EKF,UKF,PF,FastSLAM),感激不尽.   作者:半闲居士链接:https://www.zhihu.com/question/46916554/answer/103411007来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载…
本篇博客为系列博客第二篇,主要介绍非线性最小二乘相关内容,线性最小二乘介绍请参见SLAM中的优化理论(一)-- 线性最小二乘.本篇博客期望通过下降法和信任区域法引出高斯牛顿和LM两种常用的非线性优化方法.博客中主要内容为: 非线性最小二乘介绍: 下降法相关理论(Desent Method); 信任区域理论(Trust Region Methods); 非线性最小二乘求解方法(高斯牛顿.LM) 由于个人水平有限,文中难免有解释不清晰的地方,因此希望大家结合着[1].[2]和[3]进行理解.如果在阅…
前言 理解李群与李代数,是理解许多SLAM中关键问题的基础.本讲我们继续介绍李群李代数的相关知识,重点放在李群李代数的微积分上,这对解决姿态估计问题具有重要意义. 回顾 为了描述三维空间里的运动,我们使用3$\times $3的旋转矩阵$\mathbf{R}$来描述一个刚体的旋转,并且,用4$\times$4的变换矩阵来描述六自由度的旋转+平移.这两种矩阵在传统的欧氏空间$\mathbb{R}^{3 \times 3}$和$\mathbb{R}^{4 \times 4}$中,不存在加法运算,只有…
最近想写一篇系列博客比较系统的解释一下 SLAM 中运用到的优化理论相关内容,包括线性最小二乘.非线性最小二乘.最小二乘工具的使用.最大似然与最小二 乘的关系以及矩阵的稀疏性等内容.一方面是督促自己对这部分知识进行总结,另一方面也希望能够对其他人有所帮助.由于内容比较多希望能够坚持写完. 本篇博客主要讲解线性最小二乘问题,主要包括以下内容: 最小二乘问题的定义 正规方程求解 乔姆斯基分解法求解 QR分解法求解 奇异值分解法求解 齐次方程的最小二乘 一. 问题的定义 最小二乘问题通常可以表述为,通…
视觉SLAM中,通常是指使用相机来解决定位和建图问题. SLAM中使用的相机往往更加简单,不携带昂贵的镜头,以一定的速率拍摄周围的环境,形成一个连续的视频流. 相机分类: 单目相机:只是用一个摄像头进行SLAM的做法成为单目SLAM. 单目相机的数据就是照片,照片就是拍照时的场景在相机的成像平面上留下的一个投影,它以二维的形式反映了三维的世界,在这个过程中丢掉了一个维度即深度(距离).我们无法通过单张照片计算场景中的物体与我们之间的距离.(照片:近小远大原理) 如果想要通过单目相机拍摄的照片恢复…
1.旋转矩阵 注:旋转矩阵标题下涉及到的SLAM均不包含位移. 根据同一点P在不同坐标系下e(e1,e2,e3)e'(e1',e2',e3')的坐标a(a1,a2,a3)a'(a1',a2',a3')有如下等式成立:   即a = eTe'a‘,其中eTe'设为R为旋转矩阵,即a = Ra‘,由此便得到P在e'坐标系下到e坐标系下的坐标变换. 在SLAM中一般a'为相机坐标系下坐标Pc,a为世界坐标系下坐标Pw.则有Pw = RPc 其中R = eTe'  →  eR = e' 如果把R分成三个…
视觉SLAM中的数学基础 第二篇 四元数 什么是四元数 相比欧拉角,四元数(Quaternion)则是一种紧凑.易于迭代.又不会出现奇异值的表示方法.它在程序中广为使用,例如ROS和几个著名的SLAM公开数据集.g2o等程序都使用四元数记录机器人的姿态.因此,理解四元数的含义与用法,对学习SLAM来说是必须的.本节我们就来讲讲四元数. 首先,请读者不要对四元数有什么神秘的感觉.四元数仅是3D姿态的一种表达方式,我们用一个单位四元数表达原本用旋转矩阵表示的三维旋转.这样做一个直接的好处是省空间.一…
视觉SLAM中的数学基础 第三篇 李群与李代数 前言 在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图.为了做这件事,需要对变换矩阵进行插值.求导.迭代等操作.例如,在经典ICP问题中,给定了两组3D点,我们要计算它们之间的变换矩阵.假设第一组的3D点为$\mathbf{P}=\{ \mathbf{p}_i | i = [1,2, \ldots, N] \}$,第二组3D点为$\mathbf{Q}=\{ \mathbf{q}…
视觉slam中相邻帧特征点匹配时,动辄上千个特征点,匹配错误的是难免的,而误匹配势必会对位姿精度以及建图精度造成影响,那么如何分辨哪些是误匹配的点对儿呢?如果已知两帧的的单应矩阵,假设单应矩阵是没有误差的,那么两帧中匹配正确的特征点通过单应矩阵是重投影是不应该有误差的或者误差十分小,而误匹配的特征点的重投影误差一定十分显著.那么我们是不是可以设置一个误差门限,从而甄别出这些误匹配点?可是这个误差门限该设置为多少? 假设图像金字塔第n层中一个特征点\(\mathbf{p_c}=\begin{bma…