视觉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 ...
随机推荐
- python学习笔记 函数
形式: def function(a,b,c=0,*args,**kw)#a,b必选参数,*args可变参数,**kw关键字参数 1.函数的返回值可以是多个参数.多个参数时,实际上返回的是一个tupl ...
- Entity Framework——建模建库
1数据库初始化策略选择 三种初始化策略: 1)CreateDatabaseIfNotExists:默认的策略.如果数据库不存在,那么就创建数据库.但是如果数据库已存在,而且实体发生了变化,就会出现异常 ...
- Java基础概念1
一.Java数据类型 1.byte 字节型 1byte = 8bit 表示数范围:-2^7~2^7-1(-128~127): 2.short 短整型 2 byte = 16bit 表示数范围:-2^1 ...
- 51Nod 1110 距离之和最小 V3 中位数 思维
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 X轴上有N个点,每个点除了包括一个位置数据X[i],还包括一个权值W[i].点P到点P[i]的带权距离 = 实际距离 ...
- C++课程设计报告总结
C++课程设计报告 学院:计算机学院 班级:计科141班 姓名:刘建伟 学号:201400814125 指导老师:王璐 C++课程设计实验报告 学号:2014008 ...
- Elasticsearch的基友Logstash
Logstash 是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理. 一.原理 Input 可以从文件中.存储中.数据库中抽取数据,Input有两 ...
- Linux 进程间通信(包含一个经典的生产者消费者实例代码)
前言:编写多进程程序时,有时不可避免的需要在多个进程之间传递数据,我们知道,进程的用户的地址空间是独立,父进程中对数据的修改并不会反映到子进程中,但内核是共享的,大多数进程间通信方式都是在内核中建立一 ...
- Chrome development tools学习笔记(5)
调试JavaScript 随着如今JavaScript应用的越来越广泛,在面对前端工作的时候,开发人员须要强大的调试工具来高速有效地解决这个问题.我们文章的主角,Chrome DevTools就提供了 ...
- POJ 1849 Two(树的直径--树形DP)(好题)
大致题意:在某个点派出两个点去遍历全部的边,花费为边的权值,求最少的花费 思路:这题关键好在这个模型和最长路模型之间的转换.能够转换得到,全部边遍历了两遍的总花费减去最长路的花费就是本题的答案,要思考 ...
- JavaScript面向对象编程(9)高速构建继承关系之整合原型链
前面我们铺垫了非常多细节.是为了让大家更加明晰prototype的使用细节: 如今能够将前面的知识整合起来,写一个函数用于高速构建基于原型链的继承关系了: function extend(Child, ...