![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SLAM
文章平均质量分 51
晚餐男孩
SLAM 打工人 天道酬勤
展开
-
CLion Remote Debug CrossCompile
CLion Remote Debug Docker And CrossCompile with ROS原创 2023-02-27 16:16:18 · 1662 阅读 · 0 评论 -
docker dbus-x11
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: /usr/bin/dbus-launch terminated abnormally without any error message原创 2022-08-04 15:49:29 · 2049 阅读 · 0 评论 -
numpy/ndarrayobject.h: No such file or directory
fatal error: numpy/ndarrayobject.h: No such file or directorydynaslam环境搭建,opencv编译原创 2022-08-04 15:45:14 · 3163 阅读 · 0 评论 -
LIO-SAM 紧耦合版本 初体验与调试(Ubuntu 20.04 noetic)
作者Tixiao Shan的最新力作,通过SAM(smoothing and mapping)的方式,提出了一个雷达-视觉-惯导的紧耦合的SLAM框架,可以实时高精度鲁棒的进行状态估计和建图。LVI-SAM构建在因子图之上,并且由两个子系统组成:一个视觉惯导系统和一个激光惯导系统。这两个子系统利用紧耦合的方法,视觉惯导的系统利用激光惯导的估计来做初始化。视觉惯导系统利用激光雷达的测量给视觉特征提供深度来提升精度。同时激光惯导系统利用视觉惯导的估计值作为初值来做帧的匹配。利用视觉做闭环检测,把检测的结果给激光原创 2021-04-30 00:42:24 · 2254 阅读 · 1 评论 -
RGBD的深度测量值
最近在开发RGBD-SLAM的过程中,要用到深度信息,由于之前研究单目的时候深度信息是计算出来的,无法直接得到,而RGBD的深度信息是直接测量获取的。为了方便快速的搭建SLAM系统,就采用RGBD来搭建。但是用的过程对该深度的定义有了疑问,之前没有太注意。在使用过程中,往往通过判断深度小于零来选取符合要求的特征点。而为什么深度小于零就不行呢?先来看下深度信息的定义。Kinect及realsense所测量的深度值是空间点到相机平面的垂直距离。假如这个深度值是小于零的,则认为该点的测量是错误的,因为空间原创 2021-02-02 14:12:00 · 1476 阅读 · 0 评论 -
Bundle Adjustment原理及应用
作者:晚餐男孩虽然现在的轮子很多,但我们在使用过程中会碰到很多问题,而我们经常不知道从哪里下手,说明轮子不是你造的你不熟悉。因此我们不仅要重复造轮子,还要好好造,深入造,才能用好轮子,把轮子转化成自身的力量。同样的道理适用于这篇文章。虽然网上BA的资料无穷无尽,但我们还是要好好深入理解其原理,并且一定要通过实践才能懂得其中原理。在“第一届SLAM论坛”中沈劭劼老师的发言中,他提到团队的成员都要手写BA,既然大佬都这么做,我们就照做吧。这篇文章是我手写BA的笔记,主要从原理推导入手,把公式都写一遍,然后通过原创 2021-01-14 10:37:37 · 3034 阅读 · 1 评论 -
ORB-SLAM3 细读单目初始化过程(上)
学习ORBSLAM3单目视觉SLAM中,发现有很多知识点需要展开和深入,同时又需要对系统有整体的认知,为了强化记忆,记录该系列笔记,为自己图方便,也希望对大家有所启发。因为知识有限,因此先记录初始化过程中的重要节点,并非全部细节,如果需要看代码的话,建议直接去看作者的源代码。上一次的笔记ORB-SLAM3 单目初始化过程剖析1 TrackMonocular->GrabImageMonocular记录了GrabImageMonocular,调用它的函数TrackMonocular是ORBSLAM单目视原创 2020-12-08 09:19:11 · 2896 阅读 · 0 评论 -
ORB-SLAM3 细读单目初始化过程(下)
学习ORBSLAM3单目视觉SLAM中,发现有很多知识点需要展开和深入,同时又需要对系统有整体的认知,为了强化记忆,记录该系列笔记,为自己图方便,也希望对大家有所启发。因为知识有限,因此先记录初始化过程中的重要节点,并非全部细节,如果需要看代码的话,建议直接去看作者的源代码。上一次的笔记ORB-SLAM3学习笔记 单目初始化过程剖析2 TrackMonocular->GrabImageMonocular->Frame记录了 GrabImageMonocular 的主要函数:Frame::Frame(原创 2020-12-11 09:11:24 · 2142 阅读 · 0 评论 -
ORB-SLAM3 细读单目初始化过程(终结篇)
一、前言在之前讲了单目初始化的上下部分,分别是构建帧(Frame)和初始化(Track),通过一系列步骤,我们得到了三角测量初始化得到的3D点mvIniP3D,并且计算得到了初始两帧图像之间的相对位姿Rcw和tcw。接下来,就是完成初始化过程的最后一步:对地图的初始化,代码是CreateInitialMapMonocular函数完成的,先来看看步骤和涉及到的知识点,再去逐步理解为什么要初始化这些东西。1. 无代码版:将初始关键帧,当前关键帧的描述子转为BoW;将关键帧插入到地图;用三角测量初始化原创 2020-12-16 13:55:08 · 2833 阅读 · 2 评论 -
手把手计算入门级图优化例子(视觉SLAM)
机器人定位问题已经从滤波方法逐渐变成优化,事实也证明基于优化方法的定位效果要比滤波方法效果好。其中,优化和图论结合的图优化方法几乎占据了头条,成为学习SLAM必须要掌握的一门知识。那么,什么是图优化呢?一、SLAM图优化 机器人的位姿是一个节点(位姿)和边构成(R,t)。 在最简单的情况下,节原创 2020-12-02 23:08:06 · 765 阅读 · 2 评论 -
像素坐标系、图像坐标系、相机坐标系和世界坐标系的关系(简单易懂版)
搞视觉SLAM的,如果对这个关系都不是很清楚的话,那说明你太忙了,忙于写着业务代码,却忘了原理才是我们业务的骨架,不搞清楚这些,升职加薪无望啊,那我们就来看看,这些极具价值的知识究竟是什么东西。 计算机视觉领域中常见的四个坐标系:像素坐标系、图像坐标系,相机坐标系,世界坐标系。像素坐标系(u,v)(u,v)(u,v)图像坐标系(x,y)(x,y)(x,y)相原创 2020-12-02 16:16:51 · 6940 阅读 · 9 评论 -
SLAM 学习笔记 本质矩阵E、基础矩阵F、单应矩阵H的推导
因为在剖析单目初始化的过程中,需要用到基础矩阵F和单应矩阵H,所以想从基础上推导一下,但是发现几何推导自己没太理解,而且比较抽象,不方便从理论出发落实到实际代码,但是又不想浪费这一过程的总结,于是自己另外开了个篇章来记录自己的思考和理解。这里是继承了ORB-SLAM3 学习笔记 单目初始化过程剖析3 TrackMonocular->GrabImageMonocular->Track的《2-2-1 对极约束》部分的,有了极限约束,我们尝试用数学公式描述极点、极线和极平面之间的关系。T是平移矩阵部分,是从点原创 2020-11-25 16:05:00 · 2024 阅读 · 1 评论 -
CVPR 2020 SLAM挑战赛冠军方案
当前已有的数据集虽然极大推动了领域的发展,但与实际应用当中的场景丰富度与运动模式相比,它们依然存在较大提升空间。为此 TartanAir 数据集横空出世,作为对真实世界数据不足的补充,基于虚幻引擎强大拟真能力构建的 TartanAir,包含大量风格迥异、环境变量多元的场景。另外,正是由于使用了虚拟环境,团队才能从各种视角、运动模式出发来收集数据样本,这在真实世界的数据收集中往往十分困难。「TartanAir数据集」: theairlab.org/tartanair-datasetCVPR2020 S原创 2020-11-25 10:25:58 · 1225 阅读 · 0 评论 -
记录一下安装pytorch 时,安装anaconda 之后影响 runtime library path 的问题
因为学习需要,安装了pytorch,官方强烈推荐anaconda,所以就安装了。谁知道刚开始并不是很熟悉,导致了一些错误,影响正常编程使用。当我正常打开clion时候准备愉快的编程时,不愉快的事情发生了。程序猿总会遇到一些屁事,不是么?好,搞定它!错误如下:CMake Warning at src/CMakeLists.txt:255 (add_executable): Cannot generate a safe runtime search path for target bedrough_t原创 2020-11-17 22:48:49 · 1421 阅读 · 3 评论 -
3D SLAM B(erkeley) L(ocalization) A(nd) M(apping)
wstool: command not foundsudo apt install python-wstoolcatkin_make: command not foundsource /opt/ros/kinetic/setup.bashfatal error: ros/ros.h: No such file or directory1.cd blam/internal/src/geo...原创 2020-11-02 11:26:34 · 225 阅读 · 0 评论 -
EVO Evaluation of SLAM 3 --- VINS-Mono 精度和性能效果评估
上一篇文章已经把怎么编译和运行VINS-Mono讲的差不多了:EVO Estimate SLAM 2 — VINS-Mono build & run接下来就是基于VINS-Mono运行的结果,利用EVO来评估其性能。本文利用的是EuRoc数据集的MH_01_easyhttp://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.zip运行的VINS-Mono的代码原创 2020-10-29 18:18:20 · 2051 阅读 · 6 评论 -
EVO Evaluation of SLAM 5 --- ORB-SLAM3 精度和性能效果评估
上一篇文章已经把怎么编译和运行ORB-SLAM3讲的差不多了:EVO Estimate SLAM 4 — ORB-SLAM3 build &run接下来就是基于ORB-SLAM3运行的结果,利用EVO来评估其性能。本文利用的是EuRoc数据集的MH_01_easyhttp://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.zip运行的ORB-SLAM3的代码原创 2020-10-29 16:13:52 · 5312 阅读 · 1 评论 -
EVO Evaluation of SLAM 4 --- ORB-SLAM3 编译和利用数据集运行
之前编译ORB-SLAM3的时候是用现在电脑上的环境,用源码编译遇到的坑已经在之前的文章中列出来,有问题的童鞋可以看看:ORB-SLAM3 Ubuntu ros melodic 编译的坑自己修改的源码在github上,欢迎大家指正:https://github.com/shanpenghui/ORB_SLAM3_Fixed.git如果用新安装Ubuntu系统的电脑进行编译的话,需要进行Pangolin的安装,地址是:https://github.com/stevenlovegrove/Pang原创 2020-10-29 11:48:21 · 5868 阅读 · 14 评论 -
EVO Evaluation of SLAM 2 --- VINS-Mono 编译和利用数据集运行
我是用最新的ceres的github,地址是:https://ceres-solver.googlesource.com/ceres-solver用最新的master代码编译并且安装,编译过程如下。记录下来,方便大家出现编译问题的时候看下用到哪些库,来解决编译问题。sph@sph-HP-ZBook-14-G2:~/Documents/ceres-solver/build$ cmake ..-- The C compiler identification is GNU 7.5.0-- The C原创 2020-10-29 09:30:32 · 1242 阅读 · 1 评论 -
EVO Evaluation of SLAM 1 --- evo 安装、测试、使用
EVO是评价SLAM比较好用的工具,大家都经常使用。安装请参考官方指引:evo但是在安装过程中容易遇到问题,比如:ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.We recommend you use --use原创 2020-10-28 17:14:28 · 299 阅读 · 0 评论 -
ORB-SLAM3 Ubuntu ros melodic 编译的坑
先啰嗦一下,网上很多方法都是自己试了之后才知道网上说的方法都是参考或者叫药引子,只是起到启发作用,最后解决问题还是要靠自己。解决过的问题,还是要积累一下,不然总感觉在重复做轮子,这辈子不是做轮子就是在赶去做轮子的路上。一、回归主题,在编译orb-slam过程出现这个问题,Error: package 'ORB_SLAM' depends on non-existent package 'o...原创 2020-04-13 13:53:38 · 2476 阅读 · 1 评论 -
Sophus 安装出现的问题
1.找不到se3.hfatal error: sophus/se3.h: No such file or directory #include <sophus/se3.h>解决办法:切换分支!因为多数用到模板类git checkout a621ff2.编译出错`usr/bin/cmake -H/home/drew/svo/workspace/Sophus -B/home...原创 2020-02-13 15:58:47 · 2030 阅读 · 3 评论 -
cartographer ubuntu16.04 安装
cartographer安装安装依赖sudo apt-get updatesudo apt-get install -y python-wstool python-rosdep ninja-build更新相关分支代码mkdir catkin_wscd catkin_wswstool init srcwstool merge -t src https://raw.githu...原创 2019-05-01 19:46:49 · 1140 阅读 · 2 评论 -
安装依赖
安装move-base相关功能包:sudo apt install ros-kinetic-move-base ros-kinetic-move-base-msgs ros-kinetic-move-base-flex ros-kinetic-move-base-to-manip安装navigationsudo apt install ros-kinetic-navigation ...原创 2019-04-02 09:41:28 · 1115 阅读 · 1 评论 -
overwrite ros-kinetic-assisted-teleop error which is also in package ros-kinetic-laser-filters
dpkg: error processing archive /var/cache/apt/archives/ros-kinetic-assisted-teleop_0.2.1-0xenial-20190320-212004-0800_amd64.deb (–unpack):trying to overwrite ‘/opt/ros/kinetic/lib/liblaser_scan_filt...原创 2019-04-02 09:23:30 · 638 阅读 · 0 评论 -
cartographer安装步骤简述 cartographer_ros 编译问题解决
cartographer安装步骤如下,如没有其他问题的话一般都是可以过的。# Install the required libraries that are available as debs.sudo apt-get updatesudo apt-get install -y \ cmake \ g++ \ git \ google-mock \ ...原创 2018-06-13 10:09:43 · 6378 阅读 · 0 评论