# my-proj **Repository Path**: zc966/my-proj ## Basic Information - **Project Name**: my-proj - **Description**: 前后端slam系统,vue做前端,electron为客户端框架,slam系统作为后端运行 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-22 - **Last Updated**: 2025-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多相机视觉SLAM系统 ## 简介 随着视觉 SLAM 技术在自动驾驶和机器人导航中的广泛应用,用户对高精度、高鲁棒性定位系统的需求日益增加。传统视觉 SLAM 在光照良好、图像清晰的环境中表现优异,但在曝光过度或光照不足等复杂环境下,特征点提取和匹配容易失败,导致定位和地图构建精度下降。因此,系统需要在复杂环境下保证位姿估计的稳定性,尤其是在图像质量差或曝光异常的情况下仍然能继续稳定运行。 系统能够为普通用户提供一个易于使用的视觉SLAM客户端系统。用户可以通过前端界面进行数据录入、启动和停止SLAM系统,查看实时位姿估计结果,以及导出相关的运行数据。 ## 演示视频 见代码目录文件:video.mp4 ## 代码目录结构 ``` my_proj/ ├── README.md # 项目说明 ├── node_modules # 项目依赖文件 ├── preload/ │ ├── index.js # 项目前端与Electron接口文件 ├── src/ # 源代码目录 │ ├── App.vue # 系统界面 │ ├── Detail.vue # 主界面 │ ├── Login.vue # 登陆界面 │ ├── assets/ │ │ ├── plots/ # 存放生成的轨迹对比图片 │ └── router/ # 路由目录 │ ├── index.js # 路由配置 ├── slam/ # slam系统 │ ├── MultiCol-SLAM/ │ │ ├── src/ # 各个模块的cpp文件 │ │ ├── Examples/ # slam系统配置文件,包括相机内外参等 │ │ ├── results/ # slam运行轨迹结果文件 │ │ └── ... # 其他模块文件 │ └── ... ├── ... ├── slam_launch.py # slam启动脚本(通过Electron调用) ├── main.js # Electron主进程代码(实现接口) └── vue.config.js # vue配置文件 ``` ## 配置步骤 1. slam配置步骤参考MultiCol-SLAM:https://github.com/urbste/MultiCol-SLAM 2. 运行系统配置: - Vue.js 2.6.14 - Node.js 16.15.0 - Electron 33.0.1 - MySQL 5.7 ## 运行步骤 1. 运行slam,生成slam的运行文件,参考MultiCol-SLAM:https://github.com/urbste/MultiCol-SLAM 2. 运行多相机视觉SLAM系统 - 新建终端,安装依赖,使用如下命令: `yarn install`(推荐,如果没有yarn,先安装yarn)或`npm install` - 新建终端1,输入 `npm run serve` 启动界面 - 新建终端2,输入 `npm start` 启动窗口 - 系统启动成功 ## 使用数据集 Lafida:https://www.ipf.kit.edu/lafida.php 自采数据:见nas ## 参考文献 [1] Urban S, Hinz S. Multicol-slam-a modular real-time multi-camera slam system[J]. arXiv preprint arXiv:1610.07336, 2016.