stella_vslam安装指南

1. stella_vslam介绍和安装环境
1.1介绍
Stella_VSLAM 是一个开源的 视觉同步定位与建图(Visual SLAM, VSLAM) 系统,基于 ORB-SLAM3 改进而来,专注于 高精度、模块化设计和跨平台支持。它适用于学术研究、机器人导航、AR/VR、自动驾驶等领域。
内容包含stella_vslam-socket和stella_vslam-viewer两个项目构成,是 Stella_VSLAM 生态中的两个关键组件,主要用于 SLAM 数据的网络传输与可视化。它们通常配合使用,实现 远程监控和实时 3D 可视化。
- stella_vslam-socket(Socket 通信模块)
功能
- 负责 SLAM 数据的网络传输:
- 将 Stella_VSLAM 计算出的 相机位姿(Pose)、3D 地图点(Map Points)、关键帧(Keyframes) 等数据通过 Socket(TCP/UDP) 发送给 stella_vslam-viewer 或其他接收端。
- 支持 JSON 或二进制协议,便于跨平台通信。
特点
✅ 低延迟传输:适用于实时 SLAM 系统。
✅ 跨平台支持(Linux/Windows/macOS)。
✅ 可扩展性强:可自定义数据格式,支持多客户端连接。
典型使用场景
- 远程 SLAM 监控(如无人机、机器人)。
- 多机协作 SLAM(多个 SLAM 节点共享地图数据)。
- 与第三方工具集成(如 Unity、ROS 等)。
- stella_vslam-viewer(3D 可视化工具)
功能
- 实时 3D 可视化 SLAM 结果:
- 接收 stella_vslam-socket 传来的数据,渲染:
- 相机运动轨迹(Trajectory)。
- 3D 点云地图(Sparse/Dense Map)。
- 关键帧位姿(Keyframe Poses)。
- 支持 交互式操作(缩放、旋转、视角切换)。
- 接收 stella_vslam-socket 传来的数据,渲染:
特点
✅ 轻量级 OpenGL/Pangolin 界面(或基于其他 3D 引擎)。
✅ 支持多数据源(可直接读取文件或 Socket 流)。
✅ 调试友好:可显示 SLAM 系统的内部状态(如跟踪质量、回环检测)。
典型使用场景
- SLAM 算法调试(可视化跟踪效果)。
- 教学/演示(直观展示 SLAM 建图过程)。
- 与 ROS Rviz 或其他可视化工具对比。
1.2 安装环境
环境:
ubuntu==18.04.6
docker
2. 安装
2.1 从github上拉stella_vslam源码,并构建镜像
git clone --recursive https://github.com/stella-cv/stella_vslam.git
cd stella_vslam
docker build -t stella_vslam-socket -f Dockerfile.socket .
2.2构建viewer镜像
cd /path/to/stella_vslam
cd viewer
docker build -t stella_vslam-viewer .
3.准备文件
3.1 FBoW 词汇表文件
此外,请从此处下载 FBoW 的词汇表文件。
此文件下载需要点科技,不会使用科技的同学,wX关注【茅五之缘】回复FBoW领取文件
4. 启动镜像
启动服务器容器并提前使用 Web 浏览器访问它。 请指定以便与主机共享网络。
$ docker run --rm -it --name stella_vslam-viewer --net=host stella_vslam-viewer
WebSocket: listening on *:3000
HTTP server: listening on *:3001
启动后,使用 Web 浏览器进行访问。http://localhost:3001/
接下来,启动 stella_vslam 容器。 shell 接口将在 docker 容器中启动。
$ docker run --rm -it --name stella_vslam-socket --net=host stella_vslam-socket
root@hostname:/stella_vslam/build#
5运行算法
启动上面的镜像之后,进入镜像会出现以下可执行文件
把上面下载的fbow和你需要执行的视频video.mp4文件放入容器中.
$ ./run_video_slam \
-v /path/to/orb_vocab/orb_vocab.fbow \
-c /path/to/stella_vslam/example/aist/equirectangular.yaml \
-m /path/to/aist_living_lab_1/video.mp4 \
--frame-skip 3 \
--map-db-out aist_living_lab_1_map.msg
运行之后 并且你启用了stella_vslam-viewer你可以 访问以下地址实时观看运行轨迹
http://127.0.0.1:3001/
最后你会获得aist_living_lab_1_map.msg文件。
这个文件包含你通过vslam 算法运行后的数据,只需要解析该文件就可以获取你想要的数据
6. 资源
(下一期讲解aist_living_lab_1_map.msg文件中的具体内容和如何获取你想要的数据)