草庐IT

ORB-slam

全部标签

机器人SLAM导航学习-All in one

参考引用张虎,机器人SLAM导航核心技术与实战[M].机械工业出版社,2022.本博客未详尽之处可自行查阅上述书籍一、编程基础篇1.ROS入门必备知识ROS学习笔记(文章链接汇总)2.C++编程范式《21天学通C++》读书笔记(文章链接汇总)3.OpenCV图像处理《OpenCV计算机视觉编程攻略》学习笔记(持续更新中)二、硬件基础篇1.机器人传感器1.1IMU1.1.1定义惯性测量单元(InertialMeasurementUnit,IMU)是用来测量惯性物理量的设备比如测量加速度的加速度计、测量角速度的陀螺仪等由于IMU具有非常高的测量频率,而相机、雷达、轮式里程计等测量频率较低,因此往往

云计算实战应用案例精讲-【自动驾驶】多模态融合智能检测方法及 SLAM 车载实现(论文篇)

目录基于多模态融合的人机协同模型与算法研究感知与识别技术2.1手势信息的感知与识别

反光板导航SLAM(三)反光柱导航开发与实验

在上一章中简单了解了VEnus算法对于反光柱导航的基本思路。其主要分为了高反点提取、高反点聚类查找中心、高反点与已知反光柱位姿匹配以及调用ceres库进行位姿优化等步骤。然后在这个算法的基础上,再进行一定的开发达到一个比较稳定且可视化的版本。使用:ffmpeg-fx11grab-framerate25-video_size1920*1080-i:0.0out.mp4简单录制一下运行效果,类似于这样:out这里使用的是自己录制的一个包,其中包含了激光数据以及里程计信息odom。为了使结果看起来更舒适,主要进行了以下几个部分的改进:1、发布map到odom变换关系为了在rviz中进行点云以及反光柱

实操指南:ORB-SLAM3的编译运行

前面我们提到,ORB-SLAM3作为常用的机器人建图与定位技术,是当前最优秀的基于特征点的视觉SLAM系统之一。它支持单目、双目、单目惯导、双目惯导、RGB-D等多种相机模式,兼具精度和鲁棒性,是机器人SLAM算法工程师的一项「必备技能」。为了更好地帮助大家学习和理解ORB-SLAM3,小智计划进行一系列理论与实践相结合的深度技术分享。而这些,都是我们在实践过程中总结出来的宝贵经验。具体内容包括:1.ORB-SLAM3论文导读与整体算法流程梳理2.ORB-SLAM3中的跟踪线程2.1特征点提取、匹配,以及地图初始化2.2IMU预积分原理及代码梳理2.3跟踪模式详解:参考关键帧跟踪、恒速模型跟踪

ORB-SLAM2算法6之D435i双目IR相机运行ROS版ORB-SLAM2并发布位姿pose的rostopic

文章目录0引言1D435i相机配置2新增发布双目位姿功能2.1新增d435i_stereo.cc代码2.2修改CMakeLists.txt2.3新增配置文件D435i.yaml3编译运行和结果3.1编译运行3.2结果3.3可能出现的问题0引言ORB-SLAM2算法1已成功编译安装ROS版本ORB-SLAM2到本地,以及ORB-SLAM2算法5成功用EuRoc、TUM、KITTI开源数据来运行ROS版ORB-SLAM2,并生成轨迹。但实际ROS视觉SLAM工程落地时,一般搭配传感器实时发出位姿pose的rostopic,本篇就以D435i相机的双目IR相机作为输入,运行ROS版ORB-SLAM2

一起自学SLAM算法:4.2 激光雷达

连载文章,长期更新,欢迎关注:写在前面第1章-ROS入门必备知识第2章-C++编程范式第3章-OpenCV图像处理第4章-机器人传感器     4.1惯性测量单元        4.2激光雷达        4.3相机        4.4带编码器的减速电机第5章-机器人主机第6章-机器人底盘第7章-SLAM中的数学基础第8章-激光SLAM系统第9章-视觉SLAM系统第10章-其他SLAM系统第11章-自主导航中的数学基础第12章-典型自主导航系统第13章-机器人SLAM导航综合实战每当说起雷达,很多人可能想到的就是军事领域探测敌机那种庞然大物。其实,雷达是指利用探测介质探测物体距离的设备,比

【视觉SLAM入门】5.1. (基于特征点的视觉里程计)特征提取和匹配--FAST,ORB(关键点描述子),2D-2D对极几何,本质矩阵,单应矩阵,三角测量,三角化矛盾

"不言而善应"0.基础知识1.特征提取和匹配1.1FAST关键点1.2ORB的关键点--改进FAST1.3ORB的描述子--BRIEF1.4总结2.对极几何,对极约束2.1本质矩阵(对极约束)2.1.1求解本质矩阵2.1.2恢复相机运动R,tR,tR,t2.1.3本质矩阵调整2.1.3遗留问题2.2单应矩阵(特别提一下)2.3三角测量(Triangulation)---深度信息为什么重要?我们是在做什么事?特征提取和匹配:首先是两幅图像的特征提取,然后是对应特征点的匹配。接下来的工作是根据得到的匹配点对,估计相机的运动,具体根据相机分为三种方法:单目相机:2D-2D:对极几何方法双目或者RGB

高翔视觉SLAM十四讲(第二版)各种软件、库安装的以及报错解决方法

目录前言系统版本下载高翔视觉SLAM十四讲第二版的源代码一、安装Vim二、安装g++三、安装KDevelop以及汉化1.安装2.汉化 四、安装Eigen库五、安装Pangolin库六、安装Sophus库七、安装OpenCV库1.安装依赖项2.下载OpenCV源码八、安装Ceres库九、安装g2o库十、安装Meshlab软件十一、安装DBoW库十二、安装一个依赖项十三、安装PCL库十四、安装octomap库十五、安装gflags十六、安装glog1.下载源码2.安装依赖项3.编译安装 报错继续执行3.编译安装十七、安装gtest前言自己不小心把Ununtu系统搞崩了,只好重装Ununtu系统,写

经典文献阅读之--PL-SLAM(点线SLAM)

0.简介之前作者基本都在围绕着特征点提取的路径在学习,最近看到了最近点云PCL推送的《StructurePLP-SLAM:EfficientSparseMappingandLocalizationusingPoint,LineandPlaneforMonocular,RGB-DandStereoCameras》。这个工作是基于OpenVSLAM架构的,但是由于OpenVSLAM被认为侵权,所以作者想从PL-SLAM开始,学习一下点线面SLAM的相关原理以及知识。(因为是基于ORB-SLAM2的)1.PL-SLAM文章贡献PL-SLAM是基于ORB-SLAM2框架和LSD(Linesegment

ORB-SLAM2 --- Tracking::Track 追踪线程解析

1.函数作用    ORB-SLAM2的三大线程之一---跟踪线程,负责估计运动信息、跟踪局部地图。    追踪线程的主要工作原理就是我们从数据集中读入一帧帧,刚开始的时候跟踪线程没有进行初始化(没有初始化不知道世界坐标系的原点和相机的位姿),我们初始化跟踪线程,初始成功之后把符合要求的第一帧的相机坐标作为世界坐标系的原点,在之后传进来的每帧,用三种跟踪方式计算相机的坐标,并生成地图点。    总体来说,ORB-SLAM2跟踪部分主要包括两个阶段,第一个阶段包括三种跟踪方法:用参考关键帧来跟踪、恒速模型跟踪、重定位跟踪,它们的目的是保证能够“跟的上”,但估计出来的位姿可能没那么准确。第二个阶段