rtabmap/核心库独立 C 项目| 目录/文件 | 说明 | |-----------|------| | corelib/ | SLAM 核心算法特征匹配、回环检测、图优化 | | guilib/ | Qt GUI 相关源码 | | utilite/ | 基础工具库日志、文件 I/O、数学、线程 | | app/ | 主应用程序入口 | | tools/ | 独立命令行工具rtabmap、rtabmap-databaseViewer 等 | | examples/ | 示例代码RGBDMapping、LidarMapping 等 | | CMakeLists.txt | CMake 构建文件 | | package.xml | ROS 包描述文件 |rtabmap_ros/ROS 封装层依赖 rtabmap| 目录 | 说明 | |------|------| | rtabmap_odom/ | ROS 里程计节点 | | rtabmap_slam/ | ROS SLAM 节点 | | rtabmap_viz/ | ROS 可视化节点 | | rtabmap_msgs/ | ROS 消息定义 | | rtabmap_conversions/ | 消息与 rtabmap 数据格式转换 | | rtabmap_sync/ | 同步工具 | | rtabmap_util/ | ROS 工具库 | | rtabmap_launch/ | Launch 文件 | | rtabmap_rviz_plugins/ | RViz 插件 | | rtabmap_costmap_plugins/ | costmap 插件 | | rtabmap_demos/ | 示例 demo | | rtabmap_python/ | Python 接口 |**区别** rtabmap 是算法本体rtabmap_ros 是让算法在 ROS 里运行的胶水层。.构建 rtabmap 核心库 ros1上只需要构建rtabmap_ros库bash cd /home/robot/rtabmap_ws/rtabmap mkdir -p build cd build cmake .. make -j$(nproc) sudo make install构建 rtabmap_rosbash cd /home/robot/rtabmap_ws/rtabmap_ros # 确保在 master 分支ROS1 Noetic不要用 ros2 分支 git checkout master # 用 catkin_make_isolated 编译不能用 catkin_make因为有混合构建类型 source /opt/ros/noetic/setup.bash catkin_make_isolated --source . -DCMAKE_INSTALL_PREFIX/opt/ros/noetic 依赖安装bash sudo apt install -y \ ros-noetic-costmap-2d \ ros-noetic-nav-core \ ros-noetic-base-local-planner \ ros-noetic-move-base-msgs \ ros-noetic-grid-map-ros \ ros-noetic-apriltag-ros \ ros-noetic-find-object-2d \ ros-noetic-octomap-msgs \ ros-noetic-fiducial-msgs \ ros-noetic-diagnostic-updater \ ros-noetic-rviz 运行相机# 启动roscore 和 kinect v1相机 roscore source ~/.bashrc roslaunch openni_launch openni.launch depth_registration:true启动rtab map# 刷新环境变量 source /home/robot/rtabmap_ws/rtabmap_ros/devel_isolated/rtabmap_viz/setup.bash roslaunch rtabmap_ros rtabmap.launch rgb_topic:/camera/rgb/image_raw depth_topic:/camera/depth_registered/image_raw camera_info_topic:/camera/rgb/camera_info