![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
激光SLAM
稻壳特筑
SLAM、Computer Vision、Unmanned Aerial vehicle、Deep Learning、Multiple Sensor Fusion、C++
展开
-
SLAM中使用闭环检测进行重定位 以及C++代码实现
首先加载当前帧和地图。然后,使用特征匹配算法提取当前帧特征,并计算当前帧与地图之间的匹配。对匹配结果进行评分和验证,如果匹配数大于阈值,则构成闭环。最后,计算闭环帧与当前帧之间的位姿。在实际应用中,可以根据SLAM系统的具体情况调整闭环检测的参数,如匹配阈值、内点阈值等。原创 2024-01-18 11:45:01 · 958 阅读 · 0 评论 -
实现scan-to-map匹配,使用NDT的C++代码实现(2)
使用 C++ 实现 scan-to-map 匹配时,选择正态分布变换(Normal Distributions Transform,NDT)与迭代最近点(Iterative Closest Point,ICP)算法,存在几个关键区别。这些区别主要体现在算法的原理、性能、适用场景以及实现细节上。原创 2024-01-18 11:21:41 · 845 阅读 · 0 评论 -
实现scan-to-map匹配,使用ICP的C++代码实现(1)
该实现可以满足基本的scan-to-map匹配需求。如果需要提高匹配精度,可以调整ICP算法的参数,例如迭代次数、误差阈值等。函数用于计算匹配误差。如果匹配收敛,则输出。函数用于判断ICP算法是否收敛。匹配误差越小,匹配效果越好。原创 2024-01-18 10:50:14 · 617 阅读 · 0 评论 -
ROS中的回调函数
ROS中回调函数的作用是处理消息。当节点订阅了一个话题时,ROS会将来自该话题的消息传递给节点。节点可以通过回调函数来处理这些消息。回调函数的参数通常是一个消息指针。消息指针指向了节点收到的消息。回调函数可以通过消息指针来访问消息的内容。回调函数可以是静态函数或成员函数。静态函数可以由任何节点使用,而成员函数只能由定义它的节点使用。回调函数是一个函数指针,它会在节点收到消息时被调用。类型的消息时,ROS会将消息指针传递给。函数可以通过消息指针来访问消息的内容。函数会打印消息的内容到控制台。原创 2024-01-17 11:47:14 · 1008 阅读 · 0 评论 -
SLAM中用到的TF树是什么
TF树(Transform Tree)是在机器人操作系统(ROS)中使用的一种数据结构,用于跟踪和管理多个坐标系之间的关系。TF树使得在复杂的系统中,可以轻松管理和转换不同坐标系下的数据,从而简化了空间位置计算和路径规划等任务。TF 树的根节点表示世界坐标系,每个子节点表示相对于其父节点的变换。例如,如果有一个 TF 树,其根节点表示世界坐标系,第一个子节点表示相对于世界坐标系的里程计坐标系,第二个子节点表示相对于里程计坐标系的激光雷达坐标系,那么这个 TF 树就表示了从世界坐标系到激光雷达坐标系的变换。原创 2023-12-29 15:03:20 · 805 阅读 · 0 评论 -
激光SLAM中获取当前扫描帧点云的函数是什么
在激光SLAM(Simultaneous Localization and Mapping)中,获取当前扫描帧的点云数据通常依赖于使用的SLAM框架和激光雷达(LiDAR)的SDK(软件开发工具包)。- 在使用GTSAM这类SLAM框架时,获取点云数据通常不是框架本身的一部分,需要与外部传感器接口相结合的部分。- 对于特定的激光雷达,如Velodyne或Hokuyo,它们的SDK可能提供了专门的函数来读取数据。- 在这种情况下,需要先使用激光雷达的SDK获取数据,然后将数据转换为GTSAM可以处理的格式。原创 2023-12-29 09:24:30 · 341 阅读 · 0 评论 -
激光SLAM中scan-context是什么
Scan Context是一种高效且鲁棒的环境感知和定位方法,尤其适用于那些对GPS信号依赖较小的应用。它通过将复杂的3D点云转换为简化的二维表示,来实现快速而准确的环境匹配和定位,为自动驾驶和机器人导航提供了有力的工具。原创 2023-12-26 10:14:05 · 653 阅读 · 1 评论 -
ChatGPT助力科研--阅读论文篇
使用ChatGPT,可以快速解析论文,了解到你想要了解的细节,助力科研,实现每天阅读数十篇论文不是梦。原创 2023-12-21 09:53:48 · 790 阅读 · 0 评论 -
激光SLAM和视觉SLAM获得的点云都包含什么信息
激光SLAM和视觉SLAM在获取点云数据的方式上有所不同。激光SLAM侧重于精确的距离测量和强度信息,而视觉SLAM则提供丰富的颜色和纹理信息。每种方法都有其独特的优势和应用场景。原创 2023-12-20 10:39:15 · 547 阅读 · 0 评论 -
深度学习中聚类的“类”指的是什么
在深度学习中的聚类中,“类”指的是数据点的一个集合,这些数据点根据某种相似性标准被归为同一组。在聚类的上下文中,这些类通常被称为“簇”(clusters)。每个簇是数据集中的一个子集,簇内的元素相互之间比与其他簇的元素更相似。原创 2023-12-20 09:53:10 · 660 阅读 · 0 评论 -
两点云相减并保存结果的C++代码实现
C++中实现两个点云相减并保存相减结果,可以使用点云库(PCL, Point Cloud Library)。代码示例展示了如何进行点云相减,并将结果保存为一个新的点云文件。来查找一个点云中的点在另一个点云中的最近邻点。如果最近邻点的距离超过一个预设的阈值,则认为该点是两个点云之间的差异,并将其保存到结果点云中。中找不到接近的点(基于设定的阈值),则这个点被认为是两个点云的差异,并被加入到结果点云。此外,代码中的阈值设置(函数将结果点云保存到PCD文件中。负责计算两个点云的差异。这个例子使用了PCL中的。原创 2023-12-19 15:54:28 · 636 阅读 · 0 评论 -
发布点云的c++代码实现
发布点云的C++代码通常涉及使用特定的库或框架来处理点云数据,并通过一定的机制(如消息传递系统)将点云数据发送到其他软件组件或系统。在这个例子中,点云数据是随机生成的,实际应用中可以替换为从激光雷达或其他传感器获取的数据。这只是一个基本的框架,实际应用中可能需要更多的错误处理和优化。原创 2023-12-19 15:51:03 · 819 阅读 · 0 评论 -
可以应用于点云的深度学习方法
选择哪种方法取决于具体任务的需求、点云的特性(如大小、分辨率、稀疏性)以及计算资源。随着技术的发展,这些方法不断被改进,新的算法也在不断出现。点云处理中应用深度学习方法正变得越来越流行,特别是在任务如分类、分割、检测和重建等领域。原创 2023-12-19 14:57:31 · 562 阅读 · 0 评论 -
如果将视频转化为gif格式图
1.选择视频转换GIF:2.添加视频文件:3.点击“开始”:4.选择设置,将格式选择为1080P更加清晰:原创 2023-12-11 17:01:48 · 150 阅读 · 0 评论 -
构建静态场景的地图点云,使用动态场景的点云配准进行定位
在静态场景下录制的数据集为park0,动态场景下录制的数据集为park1.原创 2023-12-11 14:36:48 · 236 阅读 · 0 评论 -
如何求extrinsicTrans和extrinsicRot:
笔者传感器使用的是6-axis 的ouster激光雷达,自带IMU. 配置文件.ymal,需要求extrinsicTrans和extrinsicRot.原创 2023-12-09 08:40:54 · 400 阅读 · 7 评论 -
编译基于LIO-SAM的liorf“Large velocity, reset IMU-preintegration!“
编译运行出现错误:“Large velocity,reset IMU-preintegration!原创 2023-12-09 08:13:58 · 1356 阅读 · 2 评论 -
使用NDT点云配准实现重定位
数据集使用的是github中提到的KAIST02-small.bag。原创 2023-12-07 11:51:30 · 1019 阅读 · 4 评论