自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 收藏
  • 关注

原创 ORB-SLAM3的源码学习:TwoViewReconstruction通过两幅图像来实现重建

可以对比地图初始化那一部分来学习。

2025-02-17 18:46:12 611

原创 ORB-SLAM3的源码学习: CameraModels相机模型文件

针孔相机和鱼眼相机模型

2025-02-17 18:45:48 1156

原创 ORB-SLAM3源码的学习:GeometricTools文件

GeometricTools提供了两种几何计算功能:1.计算两个关键帧之间的基础矩阵、2.通过三角化算法从两个视角恢复三维点。这部分功能在ORB-SLAM2中就已经介绍过了,这里不过多赘述。

2025-02-16 14:29:27 445

原创 ORB-SLAM3的源码学习: Settings.cc:Settings::readImageInfo读取图像信息

这个函数的主要目的是从配置文件中读取和设置与相机图像尺寸相关的各种参数。它会根据需要调整图像的宽度和高度,并根据这些调整更新相机的校准参数。如果是立体相机或带IMU的相机,还会同时更新第二个相机的校准参数。最终,这些调整确保图像和相机校准信息的一致性。

2025-02-16 07:25:48 149

原创 ORB-SLAM3的源码学习: Settings.cc:settings构造函数

配置文件的构造函数

2025-02-15 15:41:44 322

原创 ORB-SLAM3的源码学习: Settings.cc:Settings::readCamera1/readCamera2 从配置文件中加载相机参数

读取相机参数的函数

2025-02-15 15:15:17 473

原创 Ubuntu创建启动应用程序的快捷方式(宝宝级攻略)

解决码编译或解压缩 .tar.gz 等方式手动安装的软件无快捷方式的问题。

2025-02-14 14:20:40 1030

原创 ORB-SLAM3源码的学习:Atlas.cc②: Atlas:: CreateNewMap创建新地图

简单总结一下地图是何时创建的:构建slam系统时还没有地图就需要创建,当时间戳不对劲时影响数据的同步时需要创建,当跟踪的第一和第二阶段都为失败时都要分别创建,且满足一定要求的地图会保留作为非活跃地图。

2025-02-10 22:37:52 722

原创 ORB-SLAM2源码学习:Tracking.cc:GrabImageStereo、GrabImageRGBD、GrabImageMonocular处理图像

该部分函数在Tracking.cc源文件中定义,用于处理图像。

2025-02-09 19:49:30 353

原创 ORB-SLAM2源码学习: LocalMapping.cc⑥: LocalMapping::KeyFrameCulling关键帧剔除

跟踪线程中插入关键帧相对宽松,主要是提高跟踪的成功率,它能保证在纹理不足、大旋转、快速运动等情况下也能有较好的跟踪。但这些关键帧全都传入到局部建图线程中会使局部BA进行的非常慢,因此需要剔除一些冗余度高的一些关键帧。

2025-02-08 15:05:42 281

原创 ORB-SLAM2源码学习:Tracking.cc⑧:Tracking::UpdateLocalKeyFrames更新局部关键帧

将共视关键帧设置为局部关键帧将共视最高的关键帧设置为参考关键帧

2025-02-08 15:02:03 236

原创 ORB-SLAM2源码学习:KeyFrame.cc⑤: KeyFrame::SetBadFlag删除关键帧

由于关键帧之间的联系比较复杂,因此如果要删除一个关键帧,就会产生“牵一发而动全身”的效应,需要清除和该关键帧相连关键帧的联系,需要清除该关键帧观测到的地图点的联系,需要为该关键帧的子关键帧重新寻找合适的父关键帧。前面两个操作相对容易,第三个操作会比较复杂,它涉及整个关键帧的父子关系,处理不好会造成整个关键帧维护的生成树的断裂或混乱。

2025-02-07 10:55:19 716

原创 ORB-SLAM3的源码的学习:ORB-SLAM3 中的跟踪线程

ORB-SLAM3 中的跟踪线程体流程和ORB-SLAM2基本一致。

2025-02-07 10:54:04 710

原创 CMake入门

我们在很多SLAM 的源码里都能看到CMake 的使用,这个CMake 到底是什么呢有什么用呢?

2025-02-06 09:06:05 1539

原创 ORB-SLAM2源码学习:KeyFrame.cc④: void KeyFrame::UpdateBestCovisibles更新最佳共视

在添加新连接之后就要重新对所有的共视关键帧和权重的那两个列表重新进行降序排列,这样非常容易知道列表的第一位就是最佳共视关键帧和权重。

2025-02-05 15:44:58 171

原创 ORB-SLAM2源码学习:⑥关键帧构成的图结构

在ORB-SLAM2中,由关键帧构成了几种非常重要的图结构,包括共视图、本质图和生成树。

2025-02-05 07:22:55 395

原创 ORB-SLAM2源码学习:KeyFrame.cc③: void KeyFrame::AddConnection更新连接权重

这是一个简单的更新权重的一个函数,在更新共视关系时被调用。

2025-02-04 18:18:12 376

原创 (十一)机器人系统的仿真——建造机器人模型

对于ROS新手而言,可能会有疑问:学习机器人操作系统,实体机器人是必须的吗?答案是否定的,机器人一般价格不菲,为了降低机器人学习、调试成本,在ROS中提供了系统的机器人仿真实现,通过仿真,可以实现大部分需求,本章主要就是围绕“仿真”展开的。

2025-02-04 18:16:06 1570

原创 ORB-SLAM2源码学习:KeyFrame.cc②: void KeyFrame::UpdateConnections更新共视关系

每次新建关键帧时也需要新建和它相连关键帧的关系。当关键帧的地图点发生变化时,需要更新和它相连关键帧之间的联系。

2025-02-03 07:55:41 325

原创 (十三)导航仿真——导航实现

导航是机器人系统中最重要的模块之一,比如现在较为流行的服务型室内机器人,就是依赖于机器人导航来实现室内自主移动的。

2025-02-03 07:48:31 1187

原创 (十二)ROS从入门到实践:环境仿真

这一部分是环境仿真相关的内容,其中有些操作是前边多次操作过的,如果你在学习的时候不清楚请及时回顾。

2025-01-24 10:33:49 1396

原创 ORB-SLAM2源码学习:Initializer.cc(13): Initializer::ReconstructF用F矩阵恢复R,t及三维点

这里通过基础矩阵F来恢复位姿和三维点实际上是借助本质矩阵来进行的,相对于用单应矩阵H恢复位姿和三维点来说,它的解的结构较为简单其解的讨论形式也是比较简单的。

2025-01-24 10:28:42 968

原创 ORB-SLAM2源码学习:Initializer.cc(12): Initializer::DecomposeE分解本质矩阵得到R,t

这部分实际上已经固定了求解模式我这里仅仅是做了一些简单的了解。

2025-01-24 10:26:27 226

原创 ORB-SLAM2源码学习:Initializer.cc(11): Initializer::ReconstructH用H矩阵恢复R, t和三维点

位姿可能有多组解,到底哪个才是真正的解呢? 方法是实践出真知。

2025-01-23 09:49:22 743

原创 ORB-SLAM2源码学习:Initializer.cc⑩: Initializer::FindFundamental找到最好的基础矩阵F

随机选取8对特征点进行基础矩阵的计算并对每个计算出来的基础矩阵进行评分通过不断的比较选出一个分数最高的基础矩阵。

2025-01-23 09:48:10 595

原创 ORB-SLAM2源码学习:Initializer.cc⑨: Initializer::FindHomography找到最好的单应矩阵H

随机选取8对特征点进行单应矩阵的计算并对每个计算出来的单应矩阵进行评分通过不断的比较选出一个分数最高的单应矩阵。

2025-01-22 14:31:29 454

原创 ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果

经过上面的三角化我们成功得到了三维点,但是经过三角化成功的三维点并不一定是有效的,需要筛选才能作为初始化地图点。 

2025-01-22 13:15:53 1313

原创 ORB-SLAM2源码学习:MapPoint.cc④: 新增地图点总结

总结ORB-SLAM2 中的新增地图点

2025-01-18 08:58:42 761

原创 ORB-SLAM2源码学习:ORBmatcher.cc⑥: int ORBmatcher::Fuse将地图点投影到关键帧中进行匹配和融合

该函数定义在特征匹配的源文件(ORBmatcher.cc)下,用于将地图点投影到关键帧中进行匹配和融合。

2025-01-17 11:23:01 327

原创 ORB-SLAM2源码学习:LocalMapping.cc⑤: void LocalMapping::SearchInNeighbors检查并融合当前关键帧和相邻帧(两级相邻)的重复地图点

经过共视帧之间重新进行特征匹配,三角化产生新的地图点以及剔除一些不合格的地图点之后,需要对地图点进行整理,最后更新一下地图点的属性(描述子,深度,平均观测方向等属性)。

2025-01-17 11:22:09 172

原创 ORB-SLAM2源码学习:Tracking.cc: void Tracking::CreateNewKeyFrame 创建新的关键帧

这个函数除了利用当前帧构造新的关键帧和将这个关键帧设置为当前帧的参考关键帧外,对于双目和rgbd摄像头还要为当前帧生成新的地图点。

2025-01-17 10:22:05 300

原创 ORB-SLAM2源码学习: Frame.cc: cv::Mat Frame::UnprojectStereo将某个特征点反投影到三维世界坐标系中

这个函数是在跟踪线程中更新上一帧的函数中被调用。

2025-01-16 21:02:58 236

原创 (十)ROS的常用组件——rosbag和rqt工具箱

主要介绍以下ROS的一些工具的使用后续也要用到。

2025-01-14 20:57:07 1015

原创 (九)ROS运行管理

1.ROS是多进程(节点)的分布式框架,一个完整的ROS系统实现:可能包含多台主机;每台主机上又有多个工作空间(workspace);每个的工作空间中又包含多个功能包(package);每个功能包又包含多个节点(Node),不同的节点都有自己的节点名称;每个节点可能还会设置一个或多个话题(topic)...2.在多级层深的ROS系统中,其实现与维护可能会出现一些问题,比如,如何关联不同的功能包,繁多的ROS节点应该如何启动?功能包、节点、话题、参数重名时应该如何处理?不同主机上的节点如何通信?

2025-01-14 14:07:02 1460

原创 (八)ROS通信机制进阶

本文详细介绍了ROS中的C++的常用API,包括节点初始化、话题与服务对象创建、回旋函数、时间管理和日志功能。同时,探讨了ROS头文件和源文件的调用,包括自定义头文件和源文件的使用方法。内容涵盖了从节点初始化到程序运行控制的各个方面,是理解ROS程序设计的重要参考资料。

2025-01-12 14:46:51 1299

原创 (七)ROS从入门到实践——通信机制的实战

本节主要是通过ROS内置的turtlesim案例,结合已经介绍ROS命令获取节点、话题、话题消息、服务、服务消息与参数的信息,最终再以编码的方式实现乌龟运动的控制、乌龟位姿的订阅、乌龟生成与乌龟窗体背景颜色的修改。

2025-01-11 13:14:42 768

原创 (六)ROS通讯机制——常用命令

这些主要是一些通讯中经常用到的一些命令,大家需要跟着下面的指示操作一遍,有个大致的了解即可。

2025-01-09 21:10:05 1034

原创 (五)ROS通信编程——参数服务器

参数服务器在ROS中主要用于实现不同节点之间的数据共享(P2P)。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据。

2025-01-09 14:24:48 793

原创 (四)ROS通信编程——服务通信

服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。

2025-01-08 22:28:57 1288

原创 (三)ROS通信编程——话题通信

ROS的通信机制:实现不同进程之间的数据交换。

2025-01-07 16:30:49 792

cmake的学习之cmake的源文件

为了避免你在下载时出现网络不通畅特地下载好了资源。

2025-02-05

踢籽-这里我先用着,剩下的以后再说

自己用的踢籽----这里我先用着

2025-01-20

-CCER相关方面-科普一些知识

课程汇报

2024-12-12

IMU-预积分推导手稿

主要是ORB-SLAM3中IMU惯性传导单元的推导手稿,主要理清推导的一些基本逻辑。

2024-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除