视觉SLAM十四讲 读书编程笔记 Chapter 1&2

《视觉SLAM十四讲 第二版》笔记及课后习题(第三讲) 读书笔记:三维空间刚体运动 本讲介绍视觉 SLAM 的基本问题之一:一个刚体在三维空间中的运动是如何描述的。我们当然知道这由一次旋转加一次平移组成。平移确实没有太大问题,但旋转的处理是件麻烦事。我们将介绍旋转矩阵、四元数、欧拉角的意义,以及它们是如何运算和转换的。 旋转矩阵 一些线性代数的基本知识。 坐标系: 坐标变化: 变换矩阵: 这是一个数学技巧:我们把一个三维向量的末尾添加 1,变成了... 阅读详情

1.有线性方程组Ax=b,若已知A,b,需要求解x,该如何求解?这对A和b有哪些要求?

答:x=A-1b,其中A必须可逆。满足A可逆有很多充要条件,比如(1)A的行列式不等于零;(2)行向量或者列向量线性无关(行满秩矩阵或列满秩矩阵);

2.单目SLAM有哪些特性?

答:单目SLAM估计的轨迹和地图将与真实的轨迹和地图相差一个因子,具有尺度不确定性。

3.双目相机有哪些特性?

答:双目相机由两个单目相机组成,这两个相机之间的距离称为基线是已知的;
类似于人眼的工作原理,通过两个相机的视差获得深度信息;
基线距离越大,能够测量到的就越远;
配置与标定均较为复杂,深度量程和精度受双目的基线与分辨率所限;
视差的计算非常消耗计算资源,需要使用GPU和FPGA加速才能实现实时性。

4.整体视觉SLAM流程图

在这里插入图片描述
传感器数据:在视觉SLAM中主要为相机的图像数据,在机器人中可能还会有码盘、惯性传感器等读取到的数据
前端:实时估算相邻时刻的位姿变化,粗略构建局部地图
后端:接受不同时刻前端测量的位姿,再加上回环检测的信息,对它们综合考虑进行优化,得到全局一致的轨迹和地图
回环检测:判断机器人是否到达过先前的位置
建图:根据估计的轨迹,建立与任务要求对应的地图

5.视觉SLAM流程图的一些理解

(1)只利用前端数据将会产生漂移,导致无法建立全局一致的地图。为了解决漂移问题,引入了后端和回环检测。回环检测负责把“机器人回到原始位置”的事情检测出来,后端优化根据这个信息,校正整个轨迹的形状。
(2)后端优化主要指处理SLAM过程中噪声的问题。
(3)在视觉SLAM中,前端和计算机视觉研究领域更为相关,比如图像的特征提取与匹配等,后端则主要是滤波与非线性优化算法。
(4)SLAM问题的本质:对运动主体自身和周围环境空间不确定性的估计。
(5)视觉回环检测实质上是一种计算图像数据相似性的算法。
(6)建立地图有两种形式:度量地图和拓扑地图。度量地图强调精确地表示地图中物体的位置关系,通常用稀疏和稠密对其分类;拓扑地图强调地图元素之间的关系,拓扑地图是一个Graph,由节点和边组成。

6.SLAM问题的数学表达

将机器人运动过程的时间离散化,离散时刻表示为t=1,…,K
用x表示机器人自身的位置,各个时刻的位置表示为x1,…,xK
假设地图是由多个路标组成,设一共有N个,表示为y1,…,yN

运动方程:xk=f(xk-1,uk,wk)
其中,uk是k时刻的运动传感器读数,wk为噪声,将上一个时刻k-1的机器人位置xk-1和当前时刻k的传感器读数uk(存在噪声wk)输入到函数f()中,就可以计算出当前时刻机器人的位置xk,运动方程的本质就是通过上一个时刻的位置和当前时刻的传感器数据计算当前位置。由于运动传感器多种多样,所以这里的f()表示的是一种通用函数。
观测方程:zk,j=h(yj,xk,vk,j)
当机器人在xk位置上看到某个路标点yj,产生一个观测数据zk,j,用一个抽象的函数h()来描述它,其中vk,j为噪声。
这两个方程描述了最基本的SLAM问题:当知道运动测量的读数u,以及传感器的读数z时,如何求解定位问题(估计x)和建图问题(估计y)

7.g++命令怎样填写参数可以更改生成的程序文件名?

答:

g++ cpp文件名 -o 可执行文件名

8.Kdevelop断点调试

在断点处,可以用单步运行(F10),单步跟进(F11),单步跳出(F12)功能控制程序的运行。

视觉SLAM十四讲 读书 笔记 此为视觉SLAM十四讲第二章的读书笔记 1、P24 第二章对于SLAM问题的由来以及建模的发展演化过程有一个比较清晰的介绍(想吐槽一下的就是:在一个研究领域刚兴起的时候,真的就是百花齐放啊,行业内对于同一个东西会有各种各样的描述,虽然每个作者的描述都没有错,但是对于初学者而言,今天在文章中看到一个“状态估计的不确定性研究”,明天看到一个“CML”或者“SLAM”,但是其实描述的是同一个东西,徒增了一些困惑),特别是对于初学者,对于SLAM问题到底是个啥?描述的很通俗易懂。 2、Ubuntu的安装 为了减少不 阅读详情

相关推荐

手把手教你设计热电偶信号采集电路:从运放选型到ADC配置全流程

本文详细解析了热电偶信号采集电路的设计全流程,重点涵盖从高精度运放选型、差分放大电路设计到ADC配置与软件处理的工程实践。针对热电偶输出的微弱毫伏级差分信号,文章深入探讨了如何克服噪声、实现冷端补偿,并提供了具体的器件选型建议与电路调试技巧,旨在帮助工程师构建稳定可靠的高精度温度测量系统。

weixin_29169899的博客 425

视觉SLAM十四讲笔记 -- 第一讲

​ 第一讲:课后习题 有线性方程 Ax = b,若已知 A,b,需要求解x,该如何求解? 这对 A 和 b 有哪些要求? 【提示:从A的维度和秩角度来分析】 答:可以利用大学时候学的非齐次方程组的方法求解,利用 A 的增广矩阵 ,对增广矩阵进行标准化和归一化。 A的增广矩阵是: ​​ rank(A)<rank(A~) , 方程组 (2) 无解 rank(A)=rank(A~)=n , 方程组 (2) 有唯一解 rank(A)=rank(A~)<n , 方程组 (2) 有无穷解 rank

野生C猿的专栏 1575

使用STM32微控制器实现光电传感器的接口和数据处理

本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。在光电传感器的接口和数据处理的实现过程中,要关注系统的性能。在使用STM32微控制器实现光电传感器的接口和数据处理之前,需要设计一个合适的硬件平台。

weixin_66608063的博客 3204

十四讲自测题(p8)

1.有线性方程Ax=b,若已知A、b,需要求解x,该如何求解?这对A和b有哪些要求。从A的维度和秩角度来分析。 直接左乘A逆求解,对于A而言,A必须是非奇异矩阵(非奇异矩阵是行列式不为 0 的矩阵,也就是可逆矩阵。),也就是它首先必须得是一个方阵,其次,其必须满秩(行列式的值不为零),也就是说它必须要可逆。对于b,如果b=0,为线性方程,如果b不为0,为非线性方程。 首先考虑非齐次线性方程的情况,即 b 不是 0 。 非齐次线性方程组有解的必要条件是:系数矩阵的秩等于增广矩阵的秩,否则直接判为无解 增广矩阵

joyee512的博客 743

星网宇达Newton-M2设备安装及配置

主要介绍了星网宇达Newton-M2设备的配置过程

weixin_49353445的博客 2678

239号资源-simulink仿真:MATLAB/Simulink教程(PDF文档)-----已提供下载资源

电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.《《《《《《《《更多资源还请持续关注本专栏》》》》》》》《《《《《《《《更多资源还请持续关注本专栏》》》》》》》论文与完整源程序_电网论文源程序的博客-优快云博客。电网论文源程序-优快云博客。

LIANG674027206的博客 1076

《视觉SLAM十四讲 第二版》笔记及课后习题(第一讲)

前言 之所以想要写这个系列的博客,是因为想要总结一下高博的《SLAM视觉十四讲第二版》的各章内容以及自己对书后习题的一些做法,也算是对自己学习过程的一个总结和回顾。那么,正式开始! 第一讲、预备知识 SLAM 是Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建...

weixin_43619346的博客 4459

Ansys Zemax实战:5步搞定衍射光学元件(DOE)设计,附赠超透镜(metalens)避坑指南

本文详细介绍了使用Ansys Zemax进行衍射光学元件(DOE)和超透镜(metalens)设计的5步实战流程。从基础光学系统搭建到相位面设计验证,再到制造准备与实测对比,全面解析了OpticStudio中的关键技巧和常见避坑指南,帮助工程师高效完成复杂光学元件设计。

orange的博客 624

《视觉SLAM十四讲从理论到实践 第二版》课后习题——ch1

《视觉SLAM十四讲从理论到实践 第二版》课后习题

a1446018093的博客 1085

东华大学oj系统 39 最大乘积

39 最大乘积 作者: Turbo时间限制: 1S章节: 深度优先搜索 问题描述 : 对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢? 输入说明 : 第一行一个数表示数据组数   每组输入数据共2行:   第1行给出总共的数字的个数n和要取的数的个数m,1<=n<=m<=15,   第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。 输出说明 : 每组数据输出1行,为最大的乘积。 输入范例 : 1 5 5 1 2 3 4 2 输出范例 : 48 注:难

weixin_50336369的博客 528

18650锂电池充放电测试全流程:从实验室到实际应用的避坑指南

本文详细介绍了18650锂电池充放电测试的全流程,从实验室设备选型到实际应用中的常见问题解决方案。涵盖测试前的准备工作、标准测试流程执行、动态工况测试以及数据深度分析方法,为电池测试工程师和科研人员提供实用的避坑指南。特别针对电压平台异常和温度异常等关键问题,提供了专业的诊断与解决措施。

weixin_30790841的博客 546

工程计算——求解线性方程组AX=b

文章目录线性方程组的数值解法直接法高斯消元法顺序消元法完全选主元法选列主元法Doolittle分解法Cholesky分解法最初的 Cholesky分解法改进的 Cholesky分解法追赶法扰动分析由来定理逆矩阵求解矩阵范数的求解 线性方程组的数值解法 在科学工程计算中,我们常通过直接法和迭代法求解线性方程组:AX=bAX = bAX=b其中 A∈Rn×nA\in R^{n\times n}A∈Rn×n为非奇异矩阵,且 A=(a11a12…a1na21a22…a2n⋮⋮⋮an1an2…ann),X=(x1x

m0_58367921的博客 3281

「Unity3D」Addressable版本冲突解析:SBP与Addressables兼容性问题实战指南

本文深入解析Unity3D中Addressable与SBP(Scriptable Build Pipeline)版本冲突问题,提供实战解决方案。当遇到「Build Task CreateBuiltInShadersBundle failed」错误时,可通过版本匹配、临时资源引用或构建参数调整解决。文章详细分析兼容性原理,并给出版本组合指南与最佳实践,帮助开发者高效处理资源构建问题。

weixin_29001683的博客 410

《视觉SLAM十四讲 第二版》笔记及课后习题(第十四讲)

读书笔记:SLAM:现在与未来 终于到本书最后一章了。也到了此系列博客的最后一篇! 我们前面的内容介绍了一个SLAM 系统中的各个模块的工作原理,这是研究者们多年的工作的结晶。目前,除了这些理论框架之外,我们也积累了许多优秀的开源SLAM 方案。不过,由于它们大部分实现都比较复杂,不适合初学者做为上手的材料,所以我们放到了本书的最后加以介绍。相信读者通过阅读之前的章节,应该能明白它们的基本原理。 ...

weixin_43619346的博客 3603

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

《视觉SLAM十四讲 第二版》笔记及课后习题(第四讲)

读书笔记:李群与李代数 上一讲,我们介绍了三维世界中刚体运动的描述方式,包括旋转矩阵、旋转向量、欧拉角、四元数等若干种方式。我们重点介绍了旋转的表示,但是在SLAM 中,除了表示之外,我们还要对它们进行估计和优化。因为在SLAM 中位姿是未知的,而我们需要解决什么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化问题,求解最优的R; t,使得误差最小化。 如前所言,旋转矩...

weixin_43619346的博客 2679

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

《视觉SLAM十四讲 第二版》笔记及课后习题(第二讲)

读书笔记: 这一讲算是全书的一个大纲,最关键的就是介绍了经典视觉SLAM框架。 小萝卜的例子 小萝卜要解决的问题分为两个: 要明白自身的状态 这就是location 要明白外在的环境 这就是mapping 对于视觉SLAM而言,熟悉各类相机的优缺点很有必要: SLAM问题的数学表述: 运动方程和观测方程: 经典视觉SLAM框架: 我们把整个视觉 SLAM 流程分为以下几步: 传感器...

weixin_43619346的博客 4037

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【读书笔记】《视觉SLAM十四讲(高翔著)》 第2讲

读书笔记(第2讲) 实践部分(第2讲) 2.4节是本讲的实践部分,涉及到的操作都很简单、很基础。但是,对于第一次接触Ubuntu系统的人而言,尽管书上的操作步骤写的十分详细,依旧可能会觉得一头雾水。此处记录本人的调试过程。 2.4.1 安装Linux(Ubuntu)操作系统 本小节讲述的是操作系统的安装。 2.4.2 Hello SLAM 本小节:用编译器g++来编译程序。 对应例程:...

dahailuoa6的博客 1549

《视觉SLAM十四讲 第二版》笔记及课后习题(第七讲)

读书笔记:视觉里程计1

weixin_43619346的博客 4539

《视觉SLAM十四讲 第二版》笔记及课后习题(第六讲)

读书笔记:非线性优化 在前面几章,我们介绍了经典SLAM 模型的运动方程和观测方程。现在我们已经知 道,方程中的位姿可以由变换矩阵来描述,然后用李代数进行优化。观测方程由相机成像模型给出,其中内参是随相机固定的,而外参则是相机的位姿。于是,我们已经弄清了经典SLAM 模型在视觉情况下的具体表达。 然而,由于噪声的存在,运动方程和观测方程的等式必定不是精确成立的。尽管相机可以非常好地符合针孔模型,但...

weixin_43619346的博客 2986

【读书笔记】《视觉SLAM十四讲(高翔著)》 第13讲

文章目录工程文件一:dense_monocular(单目稠密地图)工程文件二:dense_RGBD(点云地图 & 八叉树地图) 本博客的内容是本章程序编译运行方法,记录调通本章程序的过程、处理遇到报错的解决方法。 **本章的例程共2个工程文件:**工程文件一:dense_monocular(单目稠密地图);工程文件二:dense_RGBD(点云地图 & 八叉树地图) 本章程序共3...

dahailuoa6的博客 2966

《视觉SLAM十四讲 第二版》笔记及课后习题(第十二讲)

读书笔记:建图

weixin_43619346的博客 3109

【读书笔记】《视觉SLAM十四讲(高翔著)》 第3讲

在上讲中,我们讲解了视觉 SLAM 的框架与内容。本讲将介绍视觉 SLAM 的基本问 题之一: 一个刚体在三维空间中的运动是如何描述的。

dahailuoa6的博客 773

《视觉SLAM十四讲 第二版》笔记及课后习题(第十讲)

读书笔记:后端2 上讲我们重点介绍了以BA 为主的图优化。BA 能精确地优化每个相机位姿与特征点位置。不过在更大的场景中,大量特征点的存在会严重降低计算效率,导致计算量越来越大以至于无法实时化。本讲介绍两种在更大场景下使用的后端优化方法:位姿图。 位姿图(Pose Graph) Pose Graph即是省略了特征点的Bundle Adjustment。 Pose Graph 示意图。当我们不再优化...

weixin_43619346的博客 1948

视觉SLAM十四讲(2):初识SLAM

这一讲主要介绍视觉SLAM的结构,并完成第一个SLAM程序:HelloSLAM。 目录 2.1 小萝卜的例子 单目相机 双目相机 深度相机 2.2 经典视觉SLAM框架 2.3 SLAM问题的数学表述 2.4 编程实践 Hello SLAM 使用cmake 使用库 【高翔】视觉SLAM十四讲 2.1 小萝卜的例子 这一节高翔博士首先介绍了自己组装的“小萝卜”机器人,小萝卜要想具有自主运动的能力,首先要知道自身的姿态,然后是了解外界的环境。这两类问题都需要使用传感器,视觉SL.

10点43的博客 3418

【读书笔记】《视觉SLAM十四讲(高翔著)》 第6讲

文章目录PART1 读书笔记PART2 实践部分 PART1 读书笔记 PART2 实践部分

dahailuoa6的博客 910

《视觉SLAM十四讲 第二版》笔记及课后习题(第八讲)

读书笔记:视觉里程计2

weixin_43619346的博客 3369
上一篇: CUDA by example Chapter4 CUDA C并行编程
下一篇: 视觉SLAM十四讲 读书编程笔记 Chapte3 三维空间刚体运动
Leo-Ma
博客等级 码龄11年 1701粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值