[学习笔记]RTAB-Map学习笔记

本文记录了作者在实习期间学习RTAB-Map的过程,包括安装RTAB-Map及其依赖库,如ROS、OpenCV、G2O、GTSAM等。在数据测试阶段,使用双目数据集进行稠密建图,遇到电脑性能问题,计划在个人电脑上进一步测试。代码阅读部分,作者关注了util3d_features.cpp文件,解析了生成三维特征点的关键函数,如generateKeypoints3DStereo和generateWords3DMono。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开始实习,做三维稠密建图相关的工作,同组的哥们来的比我早两周,已经在尝试用RTAB-Map稠密建图了,仿真环境下的双目数据集,1280*720的分辨率。具体我做什么还没有定,先跑一遍然后开始看代码好了。

1.安装

安装链接,最好先装好ROS,然后OpenCV,G2O,GTSAM,这几个库最好都用源码装,其中G2O的版本最好用17年那个版本,在clone的时候这样写:

$ git clone --branch 20170730_git https://github.com/RainerKuemmerle/g2o.git

题外话,如果你git clone的时候速度比较慢,把下面两行加到/etc/hosts文件里

192.30.253.112 github.com
151.101.44.249 github.global.ssl.fastly.net

然后执行

$ sudo /etc/init.d/networking restart

在编译这几个库还有RTAB-Map源码的时候,注意一下CMake ..之后输出的结果,如果提示缺失哪个库,记得安装,尤其是检查G2O的include还有bin有没有被发现,编译安装之后执行rtabmap就可以运行程序了。还有在安装好之后执行rtabmap运行程序的时候有时候会提醒

rtabmap: error while loading s
### RTAB-Map 使用指南 #### 安装 RTAB-Map RTAB-Map 是一种基于图优化的地图构建工具,广泛应用于机器人领域中的 SLAM(同步定位与建图)。以下是其安装方法: 对于 Ubuntu 和 ROS 用户,可以通过以下命令完成 RTAB-Map 的安装: ```bash sudo apt-get update sudo apt-get install ros-$ROS_DISTRO-rtabmap-ros ``` 其中 `$ROS_DISTRO` 需要替换为当前使用的 ROS 版本名称,例如 `noetic` 或 `melodic`[^1]。 #### 启动 RTAB-Map 示例程序 安装完成后,可以运行以下命令来启动 RTAB-Map 的独立应用程序或 ROS 节点: ```bash # 启动独立的应用程序 rtabmap ``` 如果已安装 ROS,则可通过以下方式启动 RTAB-Map 的 ROS 节点: ```bash rosrun rtabmap_ros rtabmap ``` 这将初始化一个基本的 RTAB-Map 实例并等待传感器数据输入[^1]。 #### 基础配置 为了使 RTAB-Map 正常工作,通常需要将其与其他硬件设备集成,例如摄像头、激光雷达或其他传感器。以下是一个简单的 launch 文件模板用于配置 RTAB-Map: ```xml <launch> <!-- 设置参数 --> <param name="frame_id" type="string" value="base_link"/> <!-- 启动 RTAB-Map 节点 --> <node pkg="rtabmap_ros" type="rtabmap" name="rtabmap"> <remap from="scan" to="/scan"/> <remap from="rgb/image" to="/camera/color/image_raw"/> <remap from="depth/image" to="/camera/aligned_depth_to_color/image_raw"/> <!-- 参数设置 --> <param name="subscribe_scan" type="bool" value="true"/> <param name="subscribe_rgbd" type="bool" value="true"/> </node> </launch> ``` 此文件定义了一个基础的 RTAB-Map 配置,支持 RGB-D 数据流以及激光扫描仪的数据订阅[^1]。 #### 解决常见问题 在使用过程中可能会遇到一些常见的错误提示。例如,“无法找到相机驱动”或者“内存不足”。这些问题通常是由于缺少依赖项或资源分配不当引起的。解决办法如下: - **确认所有必要的 ROS 包均已正确安装**。 - **调整 RTAB-Map 中的最大存储容量参数**以适应可用 RAM 大小: ```yaml max_memory: 4096MB ``` #### 结合导航功能 当 RTAB-Map 作为地图构建模块时,可配合 ROS 导航栈实现完整的自主移动能力。具体调优建议参见官方文档[^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值