视觉slam十四讲笔记--第二讲

炼丹狮 炼丹狮     2023-02-16     376

关键词:

第二讲:课后题

1.阅读文献[1]和[14],你能看懂其中的内容吗?

  • 文献1A survey of monocular simultaneous localization and mapping 可以从百度学术上自行下载
    本文献是一篇SLAM的综述,首先从AR(Augmented reality 增强现实)切入,讲了SLAM的重要性以及视觉SLAM可以带来的好处,然后以此展开总体的概括了SLAM的发展情况,也分析和介绍了各不同SLAM的性能区别,对各个特性进行了对比和分析,最后总体讲了现有SLAM技术的不足以及对SLAM日后发展的憧憬。
    感兴趣的同学可以参考这个博客:https://blog.csdn.net/zhuquan945/article/details/79712506

  • 文献14Graph-based SLAM: A Survey
    又是一篇关于视觉SLAM的文献综述。本文从帧间配准、环形闭合检测以及优化技术 3 个主要方面对基于图优化的同时定位与地图创建进行综述.对每一个方面,阐述其关键技术,介绍最新研究进展,并探讨相关难点问题及解决思路.最后,对基于图优化的同时定位与地图创建的发展作出展望。

2.*阅读SLAM的综述文献,例如[9,15-18]等。这些文献中关于SLAM 的看法与本书有何异同?

文献9:Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age


文献15:Visual Simultaneous Localization and Mapping: A Survey
感兴趣的同学可以参考这个博客:https://blog.csdn.net/shyjhyp11/article/details/104375922


文献16:Topological simultaneous localization and mapping: a survey
这个论文下载不了…


文献17:Kalman Filter for Robot Vision: A Survey


文献18:Recent advances in simultaneous localization and map-building using computer vision


具体有啥区别,暂时还每有看到,等有空了把所有论文都看了,再回来补充。

3.g++命令有哪些参数? 怎么填写参数可以更改生成的程序文件名?

1、默认
命令: g++ test.cpp 功能:生成默认为a.exe的文件。

2、命名 -o 命令: g++ test.cpp -o test 功能:生成test.exe的文件。

3、调试 -g 命令: g++ qaq.cpp -o qdq -g 功能:生成用于gdb调试的文件qdq.dSYM。

4、警告 -W -w 命令:g++ qaq.cpp -o qaq -W 功能:显示所有的警告信息 命令:g++ qaq.cpp -o qaq
-w 功能:禁止显示所有警告信息

5、优化 -Onum 命令:g++ qaq.cpp -o qaq -O2
功能:主要有O1,O2,O3,Os,分别优化大小,功能,功能,大小。

6、标准 -std=version 命令:g++ qaq.cpp -o qaq -O2 -std=c++11 注意:c++
是小写字母c。 功能:使用标准c++11来编译程序

应用实例: (1)g++ stoi.cpp -o stoi -std=c++11 使用标准c++11来编译程序, 将stoi.cpp
编译为名为stoi的可执行文件。 注意:c++ 是小写字母c。

7、Win系统栈 -Wl,–stack=size 命令:g++ 1.cpp -o 1 -Wl,–stack=16777216
功能:把调用栈的大小指定为16MB。
具体的可以参考这个文章:https://blog.csdn.net/boyaaboy/article/details/106805188


输入以下命令可以更改生成的程序文件名 : g++ -o hello.exe hello.c

4.使用build文件夹来编译你的cmake工程,然后在 KDevelop中试试

实验已做

5.刻意在代码中添加一些语法错误,看看编译会生成什么样的信息。你能看懂g++的错误信息吗?

实验已做,不过c++的报错信息不是很友好,至少没有JAVA或者Python好

6.如果忘了把库链接到可执行程序上,编译会报错吗?报什么样的错?

注释掉CMakeLists.txt中的 target_link_libraries(useHello hello_shared)
会在build useHello的时候,报找不到 printHello()的引用

7.*阅读《cmake 实践》,了解cmake的其他语法。

在晚上搜索到一个在线版本,感兴趣的同学可以参考下:https://www.kancloud.cn/itfanr/cmake-practice/82981
也可以参考有网友写的笔记:https://blog.csdn.net/qq_30567891/article/details/81697780

8.*完善Hello SLAM 小程序,把它做成一个小程序库,安装到本地硬盘中。然后,新建一个工程,使用find package找这个库并调用。

ok

9.* 阅读其他 cmake教学材料,例如https://github.com/TheErk/CMake-tutorial。

ok

10.找到KDevelop的官方网站,看看它还有哪些特性。你都用上了吗?

  1. 语言支持,包括C/C++,Qt QML and JavaScript,Python,PHP
  2. 版本控制:支持 Git,Bazaar,Subversion,CVS,Mercurial (hg)*,Perforce (since 5.1)
  3. 支持多种构建系统:CMake,QMake,Custom Makefiles (partially),Generic build system (no automatic include path detection)
  4. 代码快速导航,代码高亮表示,开发文档集成
  5. 用户自定义样式

11.如果在第1讲学习了Vim,那么请试试 KDevelop 的 Vim 编辑功能。

这个不会啊,咋用vim功能啊 。。。。

视觉slam十四讲笔记--第二讲

...mentedreality增强现实)切入,讲了SLAM的重要性以及视觉SLAM可以带来的好处,然后以此展开总体的概括了SLAM的发展情况,也分析和介绍了各不同SLAM的性能区别,对各个特性进行了对比和分析,最后总体讲了... 查看详情

浅读《视觉slam十四讲:从理论到实践》--操作1--初识slam

下载《视觉SLAM十四讲:从理论到实践》源码:https://github.com/gaoxiang12/slambook第二讲:初识SLAM2.4.2HelloSLAM(书本P27) 1、从github上下载源码,并解压Ubuntu上,解压zip,先找到zip文件所在位置,然后运行下面代码,进行解压。unzip... 查看详情

《视觉slam十四讲——从理论到实践》学习笔记(代码片段)

第1讲:预备知识1.3风格约定矩阵A∧A^\\wedgeA∧:AAA的反对称矩阵。坐标点坐标点用向量表示,具体来说,是用列向量表示,vetcor(3,1); 查看详情

视觉slam十四讲ch6曲线拟合代码注释(笔记版)

1#include<opencv2/core/core.hpp>2#include<ceres/ceres.h>3#include<chrono>45usingnamespacestd;67//代价函数的计算模型8structCURVE_FITTING_COST9{10CURVE_FITTING_COST(doublex,doubley):_x(x),_y(y) 查看详情

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

​第一讲:课后习题有线性方程Ax=b,若已知A,b,需要求解x,该如何求解?这对A和b有哪些要求?【提示:从A的维度和秩角度来分析】答:可以利用大学时候学的非齐次方程组的方法求解,利用A的增广... 查看详情

视觉slam十四讲ch5joinmap.cpp代码注释(笔记版)

1#include<iostream>2#include<fstream>3usingnamespacestd;4#include<opencv2/core/core.hpp>5#include<opencv2/highgui/highgui.hpp>6#include<Eigen/Geometry>7#include<boost/ 查看详情

《视觉slam十四讲》-第1讲-全书内容概要

                  查看详情

《视觉slam十四讲》书籍图片资源

最近在拜读高博的新作《视觉SLAM十四讲》,发现书中的灰度图片有时会造成对相关内容理解困难,随将书中的图片存放在这里,以便随时查阅。我想高博看到了,也一定不会反对的,哈哈。chapter22-12-22-32-42-52-... 查看详情

《视觉slam十四讲》之第3讲-实践eigen库(代码片段)

《视觉slam十四讲》之第3讲-实践Eigen库Eigen库的安装sudoapt-getinstalllibeigen3-dev注:Eigen是一个由纯头文件搭建的线性代数库,头文件安装路径为/usr/include/eigen3/。实例1:Eigen的基础运算#include<iostream>#include<ctime>#include<Eige... 查看详情

视觉slam十四讲适不适合科普

参考技术A《昆虫记》有好多版本,原著是学术性的科普读物,只是作者把它写的很有文学性和趣味性。10岁的小男孩看可以看别的版本(请去网上查找,很多很多),重点是选好版本,翻译很重要。我也正在给孩子买,也正在找... 查看详情

视觉slam十四讲开源库安装教程

...n线性代数库的安装2、Sophus李代数库的安装3、OpenCV计算机视觉库的安装4、PCL点云库的安装 5、Ceres非线性优化库的安装6、G2O图优化库的安装7、Octomap八叉树地图库的安装8、DBoW3词袋模型库 正文回到顶部前言  本篇博客... 查看详情

视觉slam十四讲报错couldnotfindaconfigurationfileforpackage“opencv“thatiscompatiblewithreques(代码片段)

视觉SLAM十四讲报错Couldnotfindaconfigurationfileforpackage"OpenCV"thatiscompatiblewithrequestedversion"4".1.问题2.原因3.解决方案3.1修改CMakeLists.txt3.2编译OpenCV4版本1.问题在编译高博的视觉SLAM十四讲ch8的optical_flow.cpp时,编译报错࿱... 查看详情

《视觉slam十四讲》之第3讲-三维刚体运动

 第三讲:三维空间刚体运动旋转的几种表达方式向量关于向量:注:其中e1,e2,e3为线性空间下的一组基。向量的内积:注:向量的内积表示向量间的投影关系。向量的外积注:可以使用外积表示向量的旋转。注:^记成... 查看详情

《视觉slam十四讲》-第3讲-三维空间刚体运动

                                                  ... 查看详情

《视觉slam十四讲》课后习题—ch7(更新中……)(代码片段)

参考:https://blog.csdn.net/zilanpotou182/article/details/66478915(SIFT、SURF、ORB三种特征点的区别)1.除了本书介绍的ORB特征点外,你还能找到哪些特征点?请说说SIFT或SURF的原理,并对比它们与ORB之间的优劣  特征点:图像里一些特别的... 查看详情

视觉slam十四讲第七章课后习题6(代码片段)

版权声明:本文为博主原创文章,转载请注明出处: http://www.cnblogs.com/newneul/p/8545450.html6、在PnP优化中,将第一个相机的观测也考虑进来,程序应如何书写?最后结果会有何变化?分析:实际上在PnP例子中,我们可以把第一帧作... 查看详情

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

​第一讲:课后习题有线性方程Ax=b,若已知A,b,需要求解x,该如何求解?这对A和b有哪些要求?【提示:从A的维度和秩角度来分析】答:可以利用大学时候学的非齐次方程组的方法求解,利用A的增广... 查看详情

视觉slam十四讲笔记--第三讲

目录第三讲课后题1、验证旋转矩阵是正交矩阵。2.*寻找罗德里格斯公式的推导过程并加以理解。3.验证四元数旋转某个点后,结果是一个虚四元数(实部为零),所以仍然对应到一个三维空间点,见式(3.33)。4.画表... 查看详情