视觉SLAM的数学表达
相机是在某些时刻采集数据的,所以只关心这些时刻的位置和地图。
就把这一段时间的运动变成了李三时刻 t=1,2,...K当中发生的事情。
在这些事可,x表示机器自身的位置。
x1,x2,x3,x4...xK就是机器人的轨迹。
在地图方面,我们假设地图是由许多个路标组成的。
设路标用y1,y2,y3,y4,...yK组成。
机器人带着传感器在环境中运动,可以由两件事情描述:
(1)什么是运动?从K-1时刻到K时刻,机器人的位置x是如何变化的。
机器人会携带一个测量自身运动的传感器,可以读取相关的数据。
数据模型:xK = f (xK-1 , uK , wK ).——————————————————运动方程
uK是运动传感器的读数,wK是噪声。
(2)什么是观测?机器人在K时刻在xK位置处观测到某一路标yJ。如何用数学语言描述?
zK,J = h ( yJ , xK , vK,J )——————————————观测方程
vK,J表示这里观测的噪声。
xK = f (xK-1 , uK , wK )
zK,J = h ( yJ , xK , vK,J )
组成了视觉SLAM的基本方程。
当知道运动观测的读书U,传感器的读数Z,如何求解定位问题(估计X)、建图问题(估计Y)。这时,我们就把SLAM问题建模成一个状态估计问题:如何通过带有噪声的观测数据,估计内部的,隐藏着的状态变量。
状态估计问题的求解,与两个方程的具体形式,噪声服从的分布有关。
运动和观测方程是线性,或者非线性。
噪声符合高斯分布,或者不符合高斯分布。
线性高斯分布LG:它的无偏的最有估计可以由卡尔曼滤波器 KF 给出。
非线性非高斯分布中 NLNG:使用扩展卡尔曼滤波器 EKF 和非线性优化两种方法求解。
视觉SLAM的数学表达的更多相关文章
- (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍
首页 视界智尚 算法技术 每日技术 来打我呀 注册 SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...
- 视觉SLAM中的数学基础 第三篇 李群与李代数
视觉SLAM中的数学基础 第三篇 李群与李代数 前言 在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图.为了做这件事,需要对变换 ...
- 高翔《视觉SLAM十四讲》从理论到实践
目录 第1讲 前言:本书讲什么:如何使用本书: 第2讲 初始SLAM:引子-小萝卜的例子:经典视觉SLAM框架:SLAM问题的数学表述:实践-编程基础: 第3讲 三维空间刚体运动 旋转矩阵:实践-Ei ...
- 视觉SLAM漫淡
视觉SLAM漫谈 1. 前言 开始做SLAM(机器人同时定位与建图)研究已经近一年了.从一年级开始对这个方向产生兴趣,到现在为止,也算是对这个领域有了大致的了解.然而越了解,越觉得这个方向难度很 ...
- 视觉SLAM的数学基础 第一篇 3D空间的位置表示
视觉SLAM中的数学基础 第一篇 3D空间的位置表示 前言 转眼间一个学期又将过去,距离我上次写<一起做RGBD SLAM>已经半年之久.<一起做>系列反响很不错,主要由于它为 ...
- 视觉SLAM漫淡(二):图优化理论与g2o的使用
视觉SLAM漫谈(二):图优化理论与g2o的使用 1 前言以及回顾 各位朋友,自从上一篇<视觉SLAM漫谈>写成以来已经有一段时间了.我收到几位热心读者的邮件.有的希望我介绍一下当前 ...
- 《视觉SLAM十四讲》第2讲
目录 一 视觉SLAM中的传感器 二 经典视觉SLAM框架 三 SLAM问题的数学表述 注:原创不易,转载请务必注明原作者和出处,感谢支持! 本讲主要内容: (1) 视觉SLAM中的传感器 (2) 经 ...
- 视觉SLAM之词袋(bag of words) 模型与K-means聚类算法浅析
原文地址:http://www.cnblogs.com/zjiaxing/p/5548265.html 在目前实际的视觉SLAM中,闭环检测多采用DBOW2模型https://github.com/d ...
- 视觉SLAM中的数学基础 第二篇 四元数
视觉SLAM中的数学基础 第二篇 四元数 什么是四元数 相比欧拉角,四元数(Quaternion)则是一种紧凑.易于迭代.又不会出现奇异值的表示方法.它在程序中广为使用,例如ROS和几个著名的SLAM ...
随机推荐
- 《java.util.concurrent 包源码阅读》 结束语
<java.util.concurrent 包源码阅读>系列文章已经全部写完了.开始的几篇文章是根据自己的读书笔记整理出来的(当时只阅读了部分的源代码),后面的大部分都是一边读源代码,一边 ...
- JSONP原理解析
前言 我工作以来接触的第一个项目就是前后端分离的,前端静态文件有自己独立域名,通过接口来获取数据进行渲染等操作. 跨域的方法不需要多言,随便一搜,就有很多,但最常用不外乎jsonp和CORS.json ...
- Azure IoT Edge on Windows 10 IoT Core
在今年的Build大会上,微软推出了Azure IoT Edge的第一个版本(https://github.com/Azure/iot-edge ).该版本的主要特点就是将计算能力由Azure端推送至 ...
- MySql的技术规范-企业版(来源于MySql官网)
MySQL技术规范 Oracle MySQL云服务 MySQL数据库即服务 灵活的架构 开源 多线程 可插拔的存储引擎架构 InnoDB,NDB集群 MyISAM,合并,内存,存档 ANSI SQL标 ...
- TeamTalk安装测试
TeamTalk介绍 项目框架 TeamTalk是蘑菇街的开源项目,github维护的最后时间是2015但是仍然是一款值得学习的好项目,麻雀虽小五脏俱全,本项目涉及到多个平台.多种语言,简单关系如下图 ...
- mysql事务使用 超简单
MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berkeley DB: ...
- 矩阵的奇异值分解(SVD)(理论)
矩阵的奇异值分解(Singular Value Decomposition,SVD)是数值计算中的精彩之处,在其它数学领域和机器学习领域得到了广泛的应用,如矩阵的广义逆,主分成分析(PCA),自然语言 ...
- Coursera课程 Programming Languages, Part A 总结
Coursera CSE341: Programming Languages 感谢华盛顿大学 Dan Grossman 老师 以及 Coursera . 碎言碎语 这只是 Programming La ...
- 对于vue.js初步了解
由于本人做的是javaWeb的开发,对于前端的了解还是有限,今天对于vue.js了解了下(主要是看官方api),把自己的心得说一下,希望各位大神可以补充,谢谢 http://www.runoob. ...
- 定义正则new RegExp('abcd')
一:创建一个正则的两种方式: 例: (1:var reg = /abcd/ "这个叫对象直接量方式": (2:var reg = new RegExp('a ...