SLAM
文章平均质量分 90
琉璃轻纱
丹青不知老将至,贫贱于我如浮云
展开
-
论文于祥读及复现——《VDO-SLAM: A Visual Dynamic Object-aware SLAM System》
将实时定位和建图(SLAM)估计与动态场景建模相结合,可以极大地促进机器人在动态环境中的自主性。机器人的路径规划和避障任务依赖于对场景中动态物体运动的准确估计。本文介绍了VDO-SLAM,这是一个健壮的视觉动态对象感知SLAM系统,它利用语义信息来实现对场景中动态刚性对象的精确运动估计和跟踪,而无需事先了解对象的形状或几何模型。该方法识别和跟踪环境中的动态对象和静态结构,并将这些信息集成到一个统一的SLAM框架中。最终获得高度精确的估计机器人的轨迹和物体的完整SE(3)运动,以及环境的时空地图。原创 2023-09-11 16:16:34 · 526 阅读 · 0 评论 -
ORB-SLAM3复现过程中遇到的问题及解决办法
因为环境比较干净,所以遇到的问题相对少一些,不过每一个问题都进行了完善的解决我的环境是刚装完Ubuntu20.04之后,并进行了的操作之后的一个环境。原创 2023-09-03 17:45:01 · 1109 阅读 · 0 评论 -
ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04
所提供的图像具有高动态范围,事先进行了光度标定,用20Hz的帧率采集,分辨率为1024像素*1024像素;需要下载数据集dataset-room1_512_16和rgbd_dataset_freiburg1_desk。在一键安装ROS后,只需要再安装Pangolin即可,其他所有的需要都已经存在。用微型飞行器采集的视觉惯性数据集,包含双目相机和IMU同步测量数据及位姿的真值。第二条命令中的${ROS_PACKAGE_PATH}是自己文件的路径。其采用的相机和IMU传感器,在硬件上进行了时间同步。原创 2023-09-03 16:31:44 · 8332 阅读 · 33 评论 -
论文于祥读及复现——《Multi-level Map Construction for Dynamic Scenes》
在动态场景中,视觉SLAM中的定位和建图都面临着重大挑战。近年来,大量优秀的研究工作为定位问题提出了有效的解决方案。然而,针对动态场景下的长时间一致性地图构建的优秀研究工作较少,严重阻碍了地图应用的发展。针对这一问题,设计了一种面向动态场景的多层次地图构建系统。该系统采用多目标跟踪算法、DBSCAN聚类算法和深度信息对目标检测结果进行校正,准确提取静态点云,并构建密集的点云图和八叉树图。提出一种面向动态场景的平面地图构建算法,涉及动态环境下平面的提取、过滤、数据关联和融合优化,从而生成平面地图。原创 2023-08-31 16:28:54 · 412 阅读 · 0 评论 -
论文阅读及复现——《CT_ICP: Real-time Elastic LiDAR Odometry with Loop Closure》
CT-ICP 提出了一个新的实时里程计。在包含驾驶场景和高频运动场景的 7 个数据集上,进行了多方面的评比,CT-ICP 都超过现有方法。核心是连续的扫描匹配算法,它在优化时,弹性地变换一个新扫描,以弥补采集数据时的运动。CT-ICP 提供所有代码和数据集以供验证所有实验结果。在IMLS的基础上,建模帧内和帧间约束CT-ICP 会着重于后端,进一步延伸扫描外的连续策略,充分利用提出的回环闭合算法。原创 2023-08-22 14:53:30 · 1300 阅读 · 0 评论 -
Ubuntu搭建CT_ICP里程计的环境暨CT-ICP部署
整个大体的步骤大体就有以下几个过程。下载viz3d并执行pip install . 进行安装gitcd执行超级构建对cmake进行手动升级执行构建slam库执行构建ros库独立建立工作空间,与git的地址不同进行节点创立完成然后进行运行。原创 2023-08-21 17:31:52 · 1321 阅读 · 6 评论 -
视觉SLAM十四讲——ch3回顾与总结(三维刚体运动)
首先了解坐标的变换,因此有了帮助理解,但是由于矩阵太过因此提出了;又因为旋转向量,故有了;但是欧拉角又存在的情况会导致奇异性,因此便有了。在视觉SLAM中,我们用的也是四元数。原创 2023-07-03 17:49:27 · 283 阅读 · 0 评论 -
视觉SLAM十四讲需要提前知道的数学基础知识
设n阶矩阵A满足AA。原创 2023-07-03 14:36:16 · 382 阅读 · 0 评论 -
视觉SLAM十四讲——ch13代码祥读(设计SLAM系统)
接着我们可以看到第22行的初始化,直接转到visual_odometry.cpp文件,也就是本文的目录4。从上向下阅读,第39行,可以跳转到frontend.cpp文件,参考本文目录5.我们从开头开始阅读,可以看到第10行我们需要用的配置文件,可以参考3中的内容。同样,第40行,可以跳至backend.cpp文件,参考本目录的6.然后可以看到第18行,我们可以看到自己定义的一个类,可以在头文件。原创 2023-06-20 20:22:57 · 1548 阅读 · 1 评论 -
视觉SLAM十四讲——ch13实践(设计SLAM系统)
这个编译错误是因为您在使用 OpenCV 库时,使用了在较早版本中定义的已弃用的常量 CV_FILLED。第三段视频是在第二段视频的运行代码上,将后端优化的部分给注释掉后,通过轨迹可以看出来效果比较好,可能因为优化时矫正过度的原因。第二段视频是经过更改可视化的代码,将相机的运动轨迹绘画出来,但是根据视频可以看出来,轨迹效果并不好。第一段视频是ch13中原本的代码,经过更改一些错误之后,能够正常运行程序。本文章仅仅是代码实践过程中,没有进行代码详读,代码祥读在后面的文章会有。原创 2023-06-20 18:47:59 · 1550 阅读 · 3 评论 -
视觉SLAM十四讲——ch12实践(建图)
make -j” 是一个 Linux 命令,它使用所有可用的 CPU 核心来并行编译程序。通常在不指定进程数量时,使用这个命令可以最大化地利用 CPU 资源以加快编译速度。这个命令会启动尽可能多的进程来同时编译程序,以便快速生成可执行文件。此命令将自动检测计算机上可用的 CPU 核心数量,并在所有可用的核心上启动相应数目的编译任务。需要注意的是,由于多个进程同时在运行,因此使用 “make -j” 命令时可能会出现输出混乱的情况,但这不影响编译结果的正确性。原创 2023-06-19 19:28:51 · 1870 阅读 · 5 评论 -
视觉SLAM十四讲——ch11实践(回环检测)
可以看到分支数k为10,深度L为5,单词数量为4938,没有达到最大容量。这里只需要在CMakeLists.txt文件中更改其版本就可以。的链接问题,因为我们是建立的动态链接,所以后缀改为.so。代码中的opencv版本与自己用的版本不同;原创 2023-06-16 20:37:29 · 789 阅读 · 1 评论 -
视觉SLAM十四讲——ch10实践(后端2)
视觉SLAM(Simultaneous Localization and Mapping)后端是一种用于处理视觉SLAM问题的算法。视觉SLAM是指机器在未知环境中同时实现自身的定位和地图构建的技术。视觉SLAM后端的任务是在视觉SLAM中负责维护一个优化后的地图和机器人的轨迹。常见的视觉SLAM后端算法包括基于图优化的方法,如G2O、ceres等,以及基于滤波器的方法,如卡尔曼滤波器、扩展卡尔曼滤波器等。视觉SLAM后端算法需要处理传感器数据的噪声和不确定性,并通过优化算法来减小误差和提高精度。原创 2023-06-16 19:29:04 · 2443 阅读 · 0 评论 -
视觉SLAM十四讲——ch9实践(后端1)
Ceres BA使用的是BAL数据集。在本例中,使用problem-16-22106-pre.txt文件。BAL的数据集自身存在的特殊BAL的相机内参模型由焦距f和畸变参数k1,k2给出。因为BAL数据在投影时假设投影平面在相机光心之后,所以按照我们之前用的模型计算,需要在投影之后乘以系数-1。原创 2023-06-15 17:44:45 · 2503 阅读 · 0 评论 -
视觉SLAM十四讲——ch8实践(视觉里程计2)
里程计的历史渊源是什么?里程计是一种用来测量车辆或机器人行驶距离的装置,它通常通过检测车辆轮子或机器人轮子的旋转来进行测量。里程计的历史可以追溯到17世纪早期,当时人们开始使用机械装置来测量车辆行驶的距离。这些装置通常使用一个机械计数器,它们可以在车轮旋转的过程中记录里程数。18世纪末期,发明家托马斯·戈德史密斯发明了一种称为“奥多米特”的装置,它使用一个机械计数器来记录马车或自行车行驶的里程。这个装置被认为是现代里程计的早期形式。随着时间的推移,里程计逐渐发展成为电子化和计算机化的设备。原创 2023-06-15 15:02:41 · 870 阅读 · 0 评论 -
视觉SLAM十四讲——ch7实践(视觉里程计1)
视觉SLAM十四讲——ch7原创 2023-06-14 18:21:53 · 1048 阅读 · 1 评论 -
视觉SLAM十四讲——ch6实践(非线性优化)
它是一个基于图优化的库(图优化是一种将非线性优化与图论结合起来的理论)。为了使用g2o,首先要将曲线拟合问题抽象成图优化——节点为优化变量、边为误差。但,这个过程中值得注意的是,书中所带的源码并没有可视化的过程,所以如果想出来可视化图像,需要自己进行更改。在Ceres库中,最为用户,一定要按照步骤定义待解的优化问题,然后交给求解器计算。在执行make -j8的时候会抛出一些警告,这些警告不用关心。是一个广泛使用的最小二乘问题求解库。我在对此章节进行操作的时候没有出现问题,如果有问题可以评论。原创 2023-06-10 19:22:35 · 1141 阅读 · 0 评论 -
视觉SLAM十四讲——ch5实践(相机与图像)
在build中进入 stereo,注意更改stereoVision.cpp中图片文件的路径。注意:路径需要改成自己的!(3)SGBM的视差图(因为有一部分左眼看到了但是右眼没看到,所以对应的视察是空的)在build中进入 stereo,注意更改joinMap.cpp中图片文件的路径。OpenCV提供了大量的开源图像算法,是计算机视觉中使用极广的图像处理算法库。首先弹出第一个图片,按任意键弹出第二个图片,接着按任意键,同时出现3和4。不同的OpenCV版本可能有不同的语句,到时候进行更改即可。原创 2023-06-10 18:08:41 · 1407 阅读 · 1 评论 -
SLAM十四讲——ch4实践(李群李代数)
Sophus库支持SO(3)、SE(3)、SO(2)、SE(2)及变换Sim(3);时在Eigen基础上开发的,不需要安装额外的依赖库。原因:主要是因为找不到文件导致,这里为了避免更多的问题和麻烦出现,建议直接改为绝对路径。记得改完之后需要重新在build中执行make进行编译。同时终端会输出:RMSE = 2.20728。原创 2023-06-10 17:06:22 · 1192 阅读 · 3 评论 -
SLAM十四讲——ch3实践
视觉SLAM的ch3实践原创 2023-06-10 16:34:14 · 1440 阅读 · 1 评论 -
初识视觉SLAM(视觉SLAM十四讲ch1~ch2的收获与总结)
初步对视觉SLAM的认识原创 2023-04-15 10:20:42 · 372 阅读 · 0 评论