
slam
文章平均质量分 70
1900_
你热爱什么,你追求什么,你就成为什么
展开
-
Ubuntu20.04环境下 安装Tensorflow
我用的是虚拟机VMware。在虚拟机里面安装的。参考博客:https://blog.youkuaiyun.com/huayangshiboqi/article/details/82901856记录一下我安装的时候遇到的问题:首先看下自己的python版本。直接命令行输入python就会显示python如果你安装的是python3以上的版本,那就输入python3。如图,这是我的版本然后执行如下命令:sudo apt updatesudo apt install python3-原创 2021-07-13 16:40:54 · 1059 阅读 · 0 评论 -
FBOW安装
FBOW(Fast Bag of Words)是DBow2 / DBow3库的极端优化版本。该库经过高度优化,可以使用AVX,SSE和MMX指令加速Bag of Words创建。在加载词汇表时,fbow比DBOW2快约80倍(参见tests目录并尝试)。在使用具有AVX指令的机器上将图像转换为词袋时,它的速度提高了约6.4倍。地址:https://github.com/rmsalinas/fbowgit clone https://github.com/rmsalinas/fbow.gitm原创 2021-07-12 17:01:45 · 1106 阅读 · 0 评论 -
ICRA2021会议-----SLAM方向汇总
ICRA2021-paper-list:https://github.com/PaoPaoRobot/ICRA2021-paper-list关于SLAM的文章:SLAMSessionWeBT12 : SLAM I Hybrid Bird's-Eye Edge Based Semantic Visual SLAM for Automated Valet Parking 11546 Collaborative Visual Inertial SLAM for Mul..原创 2021-06-24 10:15:55 · 4915 阅读 · 1 评论 -
ORB-SLAM3配置安装及运行---Ubuntu20.04(2021年)
写在前面:准备跑一下ORB-SLAM3,然后配置运行也是自己在网上搜索相关的博客跟着做的,参考了很多博客,而且由于博文发布时间原因环境说明:原创 2021-06-18 19:38:14 · 54612 阅读 · 146 评论 -
SLAM笔记------------------(1)
视觉SLAM十四讲学习笔记记录的都是比较简单的东西,刚学不太了解前面还看的比较仔细,后面那些章节没时间了,就随便看了看,没写什么东西。SLAM学习笔记-------------(二)初识SLAMSLAM学习笔记-------------(三)三维空间刚体运动SLAM学习笔记-------------(四)李群与李代数SLAM学习笔记-------------(五)相机与图像SLAM学习笔记-------------(六)非线性优化SLAM学习笔记-------------(七)视觉里程计S原创 2021-10-13 15:04:50 · 309 阅读 · 0 评论 -
SLAM学习笔记-------------(二)初识SLAM
参考教材:《视觉SLAM十四讲:从理论到实践(第二版)》注意:以下内容为个人学习笔记,如有表述错误,那就是我学的不好,不接受批评,仍在学习中~~~什么是SLAM:SLAM:Simultaneous Localization and Mapping 翻译为:同时定位与地图构建其实我倒觉得应该翻译为:实时定位与地图构建(我瞎说的,不敢质疑大佬们)通俗来讲:就是携带传感器的主体,在事先不知道环境的情况下,可以在运动的过程中对自己周围的环境建模,以及在环境中找到自己的定位。所谓视..原创 2021-04-26 22:45:07 · 479 阅读 · 0 评论 -
SLAM学习笔记-------------(三)三维空间刚体运动
3.1旋转矩阵向量坐标ps:关于这部分知识,如有基础知识不理解,可以参考大学线性代数教材,笔记不做详细说明。在线性代数中,基(也称为基底)是描述、刻画向量空间的基本工具。向量空间的基是它的一个特殊的子集,基的元素称为基向量。向量空间中任意一个元素,都可以唯一地表示成基向量的线性组合。如果基中元素个数有限,就称向量空间为有限维向量空间,将元素的个数称作向量空间的维数。------摘自百度百科三维空间中的一组基为,向量 a 定义如下我们就把称为向量a在此基下的坐标。那么,a 向量原创 2021-04-29 15:50:33 · 2007 阅读 · 0 评论 -
SLAM学习笔记-------------(四)李群与李代数
李群群:是一种集合加上一种运算的代数结构。如G(A,+) (离散数学里面有讲)群要求这个运算必须满足以下四个条件:上一讲中我们学了三维旋转矩阵构成了特数正交群,记作SO(3) 变换矩阵构成了特数欧氏群,记作SE(3)这两个群都是对乘法封闭的群。李群是指具有连续(光滑)性质的群。SO(3)和SE(3)都是李群。(ps:这节你就记住一点:这两个特殊的群,一个由R组成,一个由T组成,他们都是李群引出李代数上一讲我们学过,旋转矩阵是正交阵。那么,正交阵有个...原创 2021-05-01 23:13:26 · 1382 阅读 · 0 评论 -
SLAM学习笔记-------------(五)相机与图像
这一讲我们将学习:机器人如何观测外部环境?(所谓观测,主要也就是相机成像的问题)5.1 相机模型5.1.1 单目相机模型这个就是小孔成像嘛,主要看这个图就行一个点P通过小孔,在成像平面上是P' 。根据右边画的简易示意图,可以看出来,这两个三角形相似。那么自然可以有等式(这里为什么写负号,是因为小孔成像出来的是反向的,负号就是表示方向相反而已。不过一般相机会为我们做这件事:把图像反过来。所以我们为了简便,不用写负号也可以。相当于成像跑到前面了)把这个式子整理一下,得到:原创 2021-05-03 17:35:09 · 678 阅读 · 2 评论 -
SLAM学习笔记-------------(六)非线性优化
由于我们得到的数据通常都是受到各种噪声的影响的,所以运动方程和观测方程都只能近似成立。所以我们必须考虑如何在有噪声的数据中进行准确的状态估计。6.1 状态估计问题经典的SLAM模型由运动方程和观测方程组成。...原创 2021-05-07 23:56:53 · 399 阅读 · 0 评论 -
SLAM学习笔记-------------(七)视觉里程计
第七讲和第八讲主要介绍两种视觉里程计的常用方法:特征点法和光流法本讲将介绍:什么是特征点、如何提取和匹配特征点、如何根据配对的特征点估计相机运动。7.1 特征点法第二讲我们说过,SLAM系统分为前端和后端。前端又叫做视觉里程计。视觉里程计根据相邻图像的信息估计出粗略的相机运动。给后端提供较好的初始值。视觉里程计算法主要分为两大类:特征点法和直接法。视觉里程计的核心问题就是根据图像估计相机运动。我们从图像中选取有代表性的点,这些点在相机视角发生少量变化的情况下保持不变。我们在各个图原创 2021-05-08 21:43:46 · 1310 阅读 · 2 评论 -
SLAM学习笔记-------------(八)视觉里程计2
第七章说过:七八两章主要讲视觉里程计的两种方法:特征点法和直接法第七章讲特征点法,现在讲直接法。前面讲的特征点法有个问题:特征匹配需要很多时间。所以我们考虑可不可以跳过特征匹配的过程。特征匹配可以把相邻图像之间的点匹配出来,然后求解位姿。跳过特征匹配,那怎么获得相邻图像之间对应关系呢?我们注意到了一个方法:光流法光流法是描述像素随着时间在图像之间运动的方法以L-K光流为例:我们基于两张图片灰度不变假设,可以得到一个等式。再假定某一窗口内的像素具有相同的运动,就可以得到WxW原创 2021-05-23 16:14:46 · 497 阅读 · 0 评论 -
SLAM学习笔记-------------(九)后端1
线性系统和卡尔曼滤波(KF)线性高斯系统是指,运动方程和观测方程可以由线性方程来描述:并假设所有的状态和噪声均满足高斯分布。记这里的噪声服从零均值高斯分布:卡尔曼滤波:非线性系统和扩展卡尔曼滤波:在理解了卡尔曼滤波之后,我们必须要澄清一点:SLAM 中的运动方程和观测方程通常是非线性函数,尤其是视觉SLAM 中的相机模型,需要使用相机内参模型及李代数表示的位姿,不可能是一个线性系统。一个高斯分布,经过非线性变换后,往往不再是线性分布。所以在非线性系统中,我们必须取一定的近似,原创 2021-05-27 17:01:38 · 598 阅读 · 0 评论 -
SLAM学习笔记-------------(10)后端2
滑动窗口优化这个比较好理解。实际工程中,我们必须控制后端优化的计算规模控制计算规模的做法有很多,比如从连续的视频中抽出一部分作为关键帧,仅构造关键帧与路标点之间的BA问题,于是非关键帧只用于定位,对建图则没有贡献。即便如此随着时间的流逝,关键帧数量会越来越多,地图规模也将不断增长。像BA这样的批量优化方法,计算效率会不断下降。为了避免这种情况,我们需要用一定手段控制后端BA的规模。这些手段可以是理论上的,也可以是工程上的。例如,最简单的控制BA规模的思路,是仅保留离当前时刻最近的N个原创 2021-05-27 17:30:16 · 434 阅读 · 0 评论 -
SLAM学习笔记-------------(11)回环检测
回环检测的意义我们已然介绍了前端和后端:前端提供特征点的提取和轨迹、地图的初值,而后端负责对所有这些数据进行优化。然而,如果像视觉里程计那样仅考虑相邻时间上的关键帧,那么,之前产生的误差将不可避免地累积到下一个时刻,使得整个SLAM 出现累积误差,长期估计的结果将不可靠,或者说,我们无法构建全局一致的轨迹和地图。虽然后端能够估计最大后验误差,但所谓“好模型架不住烂数据”,只有相邻关键帧数据时,我们能做的事情并不多,也无从消除累积误差。但是,回环检测模块能够给出除了相邻帧的一些时隔更加久远的约束原创 2021-05-27 18:54:07 · 1119 阅读 · 1 评论 -
SLAM学习笔记-------------(12)建图
我们之前的讨论,基本集中于“稀疏路标地图”部分,还没有探讨稠密地图。所谓稠密地图是相对于稀疏地图而言的。稀疏地图只建模感兴趣的部分,也就是前面说了很久的特征点(路标点)。而稠密地图是指建模所有看到过的部分。对于同一张桌子,稀疏地图可能只建模了桌子的四个角,而稠密地图则会建模整个桌面。虽然从定位角度看,只有四个角的地图也可以用于对相机进行定位,但由于我们无法从四个角推断这几个点之间的空间结构,所以无法仅用四个角完成导航、避障等需要稠密地图才能完成的工作。...原创 2021-05-29 18:31:24 · 1295 阅读 · 3 评论 -
SLAM学习------Sophus模板类的安装和使用
书上推荐安装带模板的库(我用的第二版的书, SLAM十四讲我自己用的随书源码里面提供的库,编译报错,我就去重新下载了一个带模板的(地址如下https://github.com/strasdat/Sophus我下了压缩包,解压之后把文件夹直接复制到虚拟机里面然后在文件夹下mkdir buildcd buildcmake ..makesudo make install (ps:书上没有这一步,最好还是加上吧这回编译就不报错了...原创 2021-05-02 19:24:10 · 602 阅读 · 0 评论 -
slam十四讲第十讲:找不到 g2o_viewer
第十讲里面有个sphere.g2o 书上说用g2o_viewer打开我在ch10文件夹下执行了命令g2o_viewer sphere.g2o提示报错:找不到g20_viewer命令在网上搜了下,参考这个博客https://blog.youkuaiyun.com/qq_43525260/article/details/104192218但是他写的有个命令需要改下下面是解决过程打开g2o的源码,cmake_modules文件夹下的QGLViewer.cmake文件。如图打...原创 2021-05-27 23:43:24 · 1164 阅读 · 0 评论 -
Ubuntu18.04安装MeshLab
命令行输入sudo apt-get install meshlab就行了。也可以源码安装:https://blog.youkuaiyun.com/zhuiqiuzhuoyue583/article/details/107391888安装好了之后,可以直接打开的,是个应用程序。也直接右击点云图,会出来打开方式,选择MeshLab即可。...原创 2021-05-27 22:47:24 · 1607 阅读 · 0 评论 -
Ubuntu18.04下PCL库的安装
https://blog.youkuaiyun.com/minhuaQAQ/article/details/109471374?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242原创 2021-05-05 22:39:12 · 875 阅读 · 0 评论 -
KDevelop下如何选择不同的源文件进行执行
在终端执行的时候,我们直接打程序名字执行,这是可以的但是我在IDE里面,不知道为啥,就是选择不到另一个程序,让他执行。一直执行同一个程序。可能我太菜了,不会用KDevelop。英语也不好(菜狗.jpg)在网上搜了,也搜不到这个问题,可能大佬们都没遇到吧。我就自己捣鼓了下,试了试,找到一个操作,可以执行另一个程序了。记录一下。如有不对之处,欢迎指正(轻喷~一个工程下,有两个程序,如何选择不同的进行执行呢?比如这个工程:俩可执行的程序首先,点击编译按钮编译结果显示,两原创 2021-05-03 22:50:39 · 445 阅读 · 0 评论 -
高翔视觉SLAM十四讲:第三讲中plotTrajectory.cpp怎么运行
第三讲有一个可视化轨迹程序需要用到pangolin,首先你要确保安装了pangolin 然后在KDevelop里面打开示例代码的examples文件夹,编译没问题,运行的时候报错了,如图:说找不到txt文件解决办法:我们打开源码把本来写的是 ./examples/trajectory.txt 改成 ../../examples/trajectory.txt../../examples/trajectory.txt因为你观察外边的目录结构,就发现这个txt文...原创 2021-05-01 09:38:23 · 2318 阅读 · 3 评论 -
Ubuntu18.04下KDevelop的使用教程(创建编译执行)
首先打开KDevelop点击Project----->new From Template依次选择图中的选项,给这个工程起个名字直接点完成然后回出现一张类似下面的图(当时忘记截图了)这个就是你这个工程的位置 一般会存放在 home/projects/test/build test是你自己起的名字直接点击ok就行了就创建好了,你会看到一个main.cpp 里面是一个helloword程序,点击左边的Projects可以调出项目列表编...原创 2021-04-28 23:05:04 · 1838 阅读 · 0 评论