littlebot
Published on 2025-04-11 / 1 Visits
0

【源码】基于C++的MLKSLAM系统

项目简介

MLK - SLAM是一个基于多层光流法的前端和滑动窗口后端BA的简单SLAM系统。此项目主要参考了《视觉SLAM十四讲》,并做了一些改进,如使用Pangolin渲染图片、采用spdlog作为日志输出库。

项目的主要特性和功能

  • 前端:采用多层光流法进行特征匹配。
  • 后端:基于滑动窗口的BA(Bundle Adjustment)。
  • 改进点
  • 前端线程不等待后端线程运行结束。
  • 用Pangolin渲染图片替代OpenCV。
  • 使用JSON作为配置文件,而非YML。
  • 使用spdlog作为日志输出库,替代glog。

安装使用步骤

依赖安装

项目依赖可通过以下两种方式安装:

方式一:通过vcpkg包管理工具安装(推荐)

  1. 安装vcpkg管理工具: shell ./vcpkg/bootstrap-vcpkg.sh
  2. 使用vcpkg安装依赖: shell mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE="[vcpkg root]/scripts/buildsystems/vcpkg.cmake" cmake --build . -j10

方式二:手动下载依赖包进行安装

  1. 下载并安装以下依赖包:
  2. OpenCV – 3.4.16
  3. eigen - 3.4.0
  4. 编译项目: shell mkdir build cd build cmake .. cmake --build . -j10

运行项目

  1. 修改配置文件config.json中的KITTI_PATH为你的KITTI数据集路径。
  2. 运行可执行文件: shell ./build/mlk-slam

数据集说明

项目使用KITTI数据集,需下载相应数据集文件。

许可证

该项目代码根据MIT License许可证授权。如需引用,请说明出处。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】