diff --git a/.dockerignore b/.dockerignore
index 32db23515..30e355b6b 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -4,7 +4,7 @@
.idea/
.vscode/
-# not needed for building OpenVSLAM
+# not needed for building
Dockerfile*
LICENSE
README.md
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index d83510ed0..1f893e244 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -8,7 +8,7 @@ assignees: ''
---
@@ -16,7 +16,9 @@ Please complete the following information.
## To Reproduce
+
Steps to reproduce the behavior:
+
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
@@ -35,13 +37,14 @@ Camera:
## Screenshots or videos
-## Environment:
- - Hardware: [e.g. PC, Raspberry Pi 4, Jetson Nano]
- - CPU: [e.g. Intel Core i7-11700]
- - OS: [e.g. Ubuntu 20.04]
- - Commit id: [e.g. openvslam=577cb04d9245aa68b0905212293a802292d01787, openvslam_ros=fdbd287d80a3a5cc4ac1a143dc937adb4697b120]
- - Install procedure: [docker or native]
- - dataset: [e.g. EuRoC MH_01]
+## Environment
+
+- Hardware: [e.g. PC, Raspberry Pi 4, Jetson Nano]
+- CPU: [e.g. Intel Core i7-11700]
+- OS: [e.g. Ubuntu 20.04]
+- Commit id: [e.g. stella_vslam=577cb04d9245aa68b0905212293a802292d01787, stella_vslam_ros=fdbd287d80a3a5cc4ac1a143dc937adb4697b120]
+- Install procedure: [docker or native]
+- dataset: [e.g. EuRoC MH_01]
## Additional context
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 747d1f303..b871dec7d 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -8,7 +8,7 @@ assignees: ''
---
## Is your feature request related to a problem?
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 897a30d5c..21f385ec8 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -41,7 +41,7 @@ jobs:
run:
shell: bash
container:
- image: ghcr.io/ymd-stella/openvslam-community/openvslam:latest
+ image: ghcr.io/ymd-stella/stella-cv/stella_vslam:latest
steps:
- uses: actions/checkout@v2
- name: cmake and make with pangolin viewer
@@ -62,7 +62,7 @@ jobs:
run:
shell: bash
container:
- image: ghcr.io/ymd-stella/openvslam-community/openvslam:latest
+ image: ghcr.io/ymd-stella/stella-cv/stella_vslam:latest
steps:
- uses: actions/checkout@v2
- name: cmake and make
@@ -205,7 +205,7 @@ jobs:
run:
shell: bash
container:
- image: ghcr.io/ymd-stella/openvslam-community/openvslam:latest
+ image: ghcr.io/ymd-stella/stella-cv/stella_vslam:latest
steps:
- uses: actions/checkout@v2
- name: cmake and make
@@ -235,14 +235,14 @@ jobs:
run:
shell: bash
container:
- image: ghcr.io/ymd-stella/openvslam-community/ros:foxy-ros-base
+ image: ghcr.io/ymd-stella/stella-cv/ros:foxy-ros-base
steps:
- uses: actions/checkout@v2
- name: build ros2 packages
run: |
mkdir -p /ros_ws/src
- cp -r . /ros_ws/src/openvslam
- cd /ros_ws/src/openvslam
+ cp -r . /ros_ws/src/stella_vslam
+ cd /ros_ws/src/stella_vslam
git submodule update -i --recursive
cd ../..
rosdep update
diff --git a/.gitmodules b/.gitmodules
index f86549c15..b64bbc84b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "3rd/FBoW"]
path = 3rd/FBoW
- url = https://github.com/OpenVSLAM-Community/FBoW.git
+ url = https://github.com/stella-cv/FBoW.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f643791a1..bbdb52851 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.1)
-project(openvslam LANGUAGES CXX C)
+project(stella_vslam LANGUAGES CXX C)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -21,7 +21,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
endif()
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
-option(BUILD_SHARED_LIBS "Build OpenVSLAM as a shared library" ON)
+option(BUILD_SHARED_LIBS "Build stella_vslam as a shared library" ON)
# ----- Build selection -----
@@ -119,27 +119,27 @@ message(STATUS "Use OpenCV ${OpenCV_VERSION}")
include(CMakePackageConfigHelpers)
# Generate cmake configuration scripts
-set(OPENVSLAM_GENERATED_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated)
-set(OPENVSLAM_VERSION_CONFIG ${OPENVSLAM_GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake)
-set(OPENVSLAM_PROJECT_CONFIG ${OPENVSLAM_GENERATED_DIR}/${PROJECT_NAME}Config.cmake)
-set(OPENVSLAM_TARGETS_EXPORT_NAME ${PROJECT_NAME}Targets)
-set(OPENVSLAM_CONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME})
-set(OPENVSLAM_NAMESPACE "${PROJECT_NAME}::")
-set(OPENVSLAM_VERSION 0.3.0)
+set(STELLA_VSLAM_GENERATED_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated)
+set(STELLA_VSLAM_VERSION_CONFIG ${STELLA_VSLAM_GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake)
+set(STELLA_VSLAM_PROJECT_CONFIG ${STELLA_VSLAM_GENERATED_DIR}/${PROJECT_NAME}Config.cmake)
+set(STELLA_VSLAM_TARGETS_EXPORT_NAME ${PROJECT_NAME}Targets)
+set(STELLA_VSLAM_CONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME})
+set(STELLA_VSLAM_NAMESPACE "${PROJECT_NAME}::")
+set(STELLA_VSLAM_VERSION 0.3.0)
# Create a version config file
-write_basic_package_version_file(${OPENVSLAM_VERSION_CONFIG}
- VERSION ${OPENVSLAM_VERSION}
+write_basic_package_version_file(${STELLA_VSLAM_VERSION_CONFIG}
+ VERSION ${STELLA_VSLAM_VERSION}
COMPATIBILITY SameMajorVersion)
# Create a project config file
-configure_file(${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in ${OPENVSLAM_PROJECT_CONFIG} @ONLY)
+configure_file(${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in ${STELLA_VSLAM_PROJECT_CONFIG} @ONLY)
# Install to the specified directory
-install(FILES ${OPENVSLAM_VERSION_CONFIG} ${OPENVSLAM_PROJECT_CONFIG}
- DESTINATION ${OPENVSLAM_CONFIG_INSTALL_DIR})
-install(EXPORT ${OPENVSLAM_TARGETS_EXPORT_NAME}
- NAMESPACE ${OPENVSLAM_NAMESPACE}
- DESTINATION ${OPENVSLAM_CONFIG_INSTALL_DIR})
+install(FILES ${STELLA_VSLAM_VERSION_CONFIG} ${STELLA_VSLAM_PROJECT_CONFIG}
+ DESTINATION ${STELLA_VSLAM_CONFIG_INSTALL_DIR})
+install(EXPORT ${STELLA_VSLAM_TARGETS_EXPORT_NAME}
+ NAMESPACE ${STELLA_VSLAM_NAMESPACE}
+ DESTINATION ${STELLA_VSLAM_CONFIG_INSTALL_DIR})
# Set standard installation directories
set(RUNTIME_DESTINATION bin)
diff --git a/Dockerfile.desktop b/Dockerfile.desktop
index 0e3e40cf8..ad4dcc6d7 100644
--- a/Dockerfile.desktop
+++ b/Dockerfile.desktop
@@ -200,9 +200,9 @@ RUN set -x && \
cd /tmp && \
rm -rf *
-# OpenVSLAM
-COPY . /openvslam/
-WORKDIR /openvslam/
+# stella_vslam
+COPY . /stella_vslam/
+WORKDIR /stella_vslam/
RUN set -x && \
mkdir -p build && \
cd build && \
@@ -216,5 +216,5 @@ RUN set -x && \
rm -rf CMakeCache.txt CMakeFiles Makefile cmake_install.cmake example src && \
chmod -R 777 ./*
-WORKDIR /openvslam/build/
+WORKDIR /stella_vslam/build/
ENTRYPOINT ["/bin/bash"]
diff --git a/Dockerfile.socket b/Dockerfile.socket
index 7f1e40b82..17d6e53bc 100644
--- a/Dockerfile.socket
+++ b/Dockerfile.socket
@@ -194,9 +194,9 @@ RUN set -x && \
cd /tmp && \
rm -rf *
-# OpenVSLAM
-COPY . /openvslam/
-WORKDIR /openvslam/
+# stella_vslam
+COPY . /stella_vslam/
+WORKDIR /stella_vslam/
RUN set -x && \
mkdir -p build && \
cd build && \
@@ -210,5 +210,5 @@ RUN set -x && \
rm -rf CMakeCache.txt CMakeFiles Makefile cmake_install.cmake example src && \
chmod -R 777 ./*
-WORKDIR /openvslam/build/
+WORKDIR /stella_vslam/build/
ENTRYPOINT ["/bin/bash"]
diff --git a/LICENSE.fork b/LICENSE.fork
index 2a5fa3cb2..6e0ddcc45 100644
--- a/LICENSE.fork
+++ b/LICENSE.fork
@@ -1,6 +1,6 @@
BSD 2-Clause License
-Copyright (c) 2022, OpenVSLAM-Community, All rights reserved.
+Copyright (c) 2022, stella-cv, All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
diff --git a/README.md b/README.md
index 47a49ae69..cbc609b42 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,12 @@
-
-
-
+# stella_vslam
-# OpenVSLAM: A Versatile Visual SLAM Framework
-[](https://github.com/OpenVSLAM-Community/openvslam/actions/workflows/main.yml)
-[](https://openvslam-community.readthedocs.io/en/latest/?badge=latest)
+[](https://github.com/stella-cv/stella_vslam/actions/workflows/main.yml)
+[](https://stella-cv.readthedocs.io/en/latest/?badge=latest)
[](https://opensource.org/licenses/BSD-2-Clause)
---
-> *NOTE:* This is a community fork of [xdspacelab/openvslam](https://github.com/xdspacelab/openvslam). It was created to continue active development of OpenVSLAM on Jan 31, 2021. The original repository is no longer available. Please read the [official statement of termination](https://github.com/xdspacelab/openvslam/wiki/Termination-of-the-release) carefully and understand it before using this. The similarities with ORB_SLAM2 in the original version have been removed by [#252](https://github.com/OpenVSLAM-Community/openvslam/pull/252). If you find any other issues with the license, please point them out. See [#37](https://github.com/OpenVSLAM-Community/openvslam/issues/37) and [#249](https://github.com/OpenVSLAM-Community/openvslam/issues/249) for discussion so far.
+> *NOTE:* This is a community fork of [xdspacelab/openvslam](https://github.com/xdspacelab/openvslam). It was created to continue active development of OpenVSLAM on Jan 31, 2021. The original repository is no longer available. Please read the [official statement of termination](https://github.com/xdspacelab/openvslam/wiki/Termination-of-the-release) carefully and understand it before using this. The similarities with ORB_SLAM2 in the original version have been removed by [#252](https://github.com/stella-cv/stella_vslam/pull/252). If you find any other issues with the license, please point them out. See [#37](https://github.com/stella-cv/stella_vslam/issues/37) and [#249](https://github.com/stella-cv/stella_vslam/issues/249) for discussion so far.
*Versions earlier than 0.3 are deprecated. If you use them, please use them as a derivative of ORB_SLAM2 under the GPL license.*
@@ -17,29 +14,29 @@
## Overview
-[
](https://arxiv.org/abs/1910.01122)
+[
](https://arxiv.org/abs/1910.01122)
[**[PrePrint]**](https://arxiv.org/abs/1910.01122) [**[YouTube]**](https://www.youtube.com/watch?v=Ro_s3Lbx5ms)
-OpenVSLAM is a monocular, stereo, and RGBD visual SLAM system.
+stella_vslam is a monocular, stereo, and RGBD visual SLAM system.
### Features
The notable features are:
- It is compatible with **various type of camera models** and can be easily customized for other camera models.
-- Created maps can be **stored and loaded**, then OpenVSLAM can **localize new images** based on the prebuilt maps.
+- Created maps can be **stored and loaded**, then stella_vslam can **localize new images** based on the prebuilt maps.
- The system is fully modular. It is designed by encapsulating several functions in separated components with easy-to-understand APIs.
- We provided **some code snippets** to understand the core functionalities of this system.
-One of the noteworthy features of OpenVSLAM is that the system can deal with various type of camera models, such as perspective, fisheye, and equirectangular.
+One of the noteworthy features of stella_vslam is that the system can deal with various type of camera models, such as perspective, fisheye, and equirectangular.
If needed, users can implement extra camera models (e.g. dual fisheye, catadioptric) with ease.
For example, visual SLAM algorithm using **equirectangular camera models** (e.g. RICOH THETA series, insta360 series, etc) is shown above.
-We provided [documentation](https://openvslam-community.readthedocs.io/) for installation and tutorial.
-The repository for the ROS wrapper is [openvslam_ros](https://github.com/OpenVSLAM-Community/openvslam_ros).
+We provided [documentation](https://stella-cv.readthedocs.io/) for installation and tutorial.
+The repository for the ROS wrapper is [stella_vslam_ros](https://github.com/stella-cv/stella_vslam_ros).
### Acknowledgements
@@ -52,32 +49,26 @@ ProSLAM has implemented a highly modular and easily understood system earlier.
Some code snippets to understand the core functionalities of the system are provided.
You can employ these snippets for in your own programs.
-Please see the `*.cc` files in `./example` directory or check [Simple Tutorial](https://openvslam-community.readthedocs.io/en/latest/simple_tutorial.html) and [Example](https://openvslam-community.readthedocs.io/en/latest/example.html).
-
-## Motivation
-
-Visual SLAM is regarded as a next-generation technology for supporting industries such as automotives, robotics, and xR.
-We released OpenVSLAM as an opensource project with the aim of collaborating with people around the world to accelerate the development of this field.
-In return, we hope this project will bring safe and reliable technologies for a better society.
+Please see the `*.cc` files in `./example` directory or check [Simple Tutorial](https://stella-cv.readthedocs.io/en/latest/simple_tutorial.html) and [Example](https://stella-cv.readthedocs.io/en/latest/example.html).
## Installation
-Please see [**Installation**](https://openvslam-community.readthedocs.io/en/latest/installation.html) chapter in the [documentation](https://openvslam-community.readthedocs.io/).
+Please see [**Installation**](https://stella-cv.readthedocs.io/en/latest/installation.html) chapter in the [documentation](https://stella-cv.readthedocs.io/).
-[**The instructions for Docker users**](https://openvslam-community.readthedocs.io/en/latest/docker.html) are also provided.
+[**The instructions for Docker users**](https://stella-cv.readthedocs.io/en/latest/docker.html) are also provided.
## Tutorial
-Please see [**Simple Tutorial**](https://openvslam-community.readthedocs.io/en/latest/simple_tutorial.html) chapter in the [documentation](https://openvslam-community.readthedocs.io/).
+Please see [**Simple Tutorial**](https://stella-cv.readthedocs.io/en/latest/simple_tutorial.html) chapter in the [documentation](https://stella-cv.readthedocs.io/).
-A sample ORB vocabulary file can be downloaded from [here](https://github.com/OpenVSLAM-Community/FBoW_orb_vocab/raw/main/orb_vocab.fbow).
+A sample ORB vocabulary file can be downloaded from [here](https://github.com/stella-cv/FBoW_orb_vocab/raw/main/orb_vocab.fbow).
Sample datasets are also provided at [here](https://drive.google.com/open?id=1A_gq8LYuENePhNHsuscLZQPhbJJwzAq4).
-If you would like to run visual SLAM with standard benchmarking datasets (e.g. KITTI Odometry dataset), please see [**SLAM with standard datasets**](https://openvslam-community.readthedocs.io/en/latest/example.html#slam-with-standard-datasets) section in the [documentation](https://openvslam-community.readthedocs.io/).
+If you would like to run visual SLAM with standard benchmarking datasets (e.g. KITTI Odometry dataset), please see [**SLAM with standard datasets**](https://stella-cv.readthedocs.io/en/latest/example.html#slam-with-standard-datasets) section in the [documentation](https://stella-cv.readthedocs.io/).
## Community
-Please contact us via [GitHub Discussions](https://github.com/OpenVSLAM-Community/openvslam/discussions) if you have any questions or notice any bugs about the software.
+Please contact us via [GitHub Discussions](https://github.com/stella-cv/stella_vslam/discussions) if you have any questions or notice any bugs about the software.
## Currently working on
@@ -97,9 +88,9 @@ The following files are derived from third-party libraries.
- `./3rd/json` : [nlohmann/json \[v3.6.1\]](https://github.com/nlohmann/json) (MIT license)
- `./3rd/popl` : [badaix/popl \[v1.2.0\]](https://github.com/badaix/popl) (MIT license)
- `./3rd/spdlog` : [gabime/spdlog \[v1.3.1\]](https://github.com/gabime/spdlog) (MIT license)
-- `./src/openvslam/solver/pnp_solver.cc` : part of [laurentkneip/opengv](https://github.com/laurentkneip/opengv) (3-clause BSD license)
-- `./src/openvslam/feature/orb_extractor.cc` : part of [opencv/opencv](https://github.com/opencv/opencv) (3-clause BSD License)
-- `./src/openvslam/feature/orb_point_pairs.h` : part of [opencv/opencv](https://github.com/opencv/opencv) (3-clause BSD License)
+- `./src/stella_vslam/solver/pnp_solver.cc` : part of [laurentkneip/opengv](https://github.com/laurentkneip/opengv) (3-clause BSD license)
+- `./src/stella_vslam/feature/orb_extractor.cc` : part of [opencv/opencv](https://github.com/opencv/opencv) (3-clause BSD License)
+- `./src/stella_vslam/feature/orb_point_pairs.h` : part of [opencv/opencv](https://github.com/opencv/opencv) (3-clause BSD License)
- `./viewer/public/js/lib/dat.gui.min.js` : [dataarts/dat.gui](https://github.com/dataarts/dat.gui) (Apache License 2.0)
- `./viewer/public/js/lib/protobuf.min.js` : [protobufjs/protobuf.js](https://github.com/protobufjs/protobuf.js) (3-clause BSD License)
- `./viewer/public/js/lib/stats.min.js` : [mrdoob/stats.js](https://github.com/mrdoob/stats.js) (MIT license)
@@ -107,13 +98,13 @@ The following files are derived from third-party libraries.
Please use `g2o` as the dynamic link library because `csparse_extension` module of `g2o` is LGPLv3+.
-## Contributors
+## Authors of the original version of OpenVSLAM
- Shinya Sumikura ([@shinsumicco](https://github.com/shinsumicco))
- Mikiya Shibuya ([@MikiyaShibuya](https://github.com/MikiyaShibuya))
- Ken Sakurada ([@kensakurada](https://github.com/kensakurada))
-## Citation
+## Citation of original version of OpenVSLAM
OpenVSLAM **won first place** at **ACM Multimedia 2019 Open Source Software Competition**.
@@ -146,6 +137,6 @@ The preprint can be found [here](https://arxiv.org/abs/1910.01122).
- Raúl Mur-Artal and Juan D. Tardós. 2017. ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras. IEEE Transactions on Robotics 33, 5 (2017), 1255–1262.
- Dominik Schlegel, Mirco Colosi, and Giorgio Grisetti. 2018. ProSLAM: Graph SLAM from a Programmer’s Perspective. In Proceedings of IEEE International Conference on Robotics and Automation (ICRA). 1–9.
- Rafael Muñoz-Salinas and Rafael Medina Carnicer. 2019. UcoSLAM: Simultaneous Localization and Mapping by Fusion of KeyPoints and Squared Planar Markers. arXiv:1902.03729.
-- Mapillary AB. 2019. OpenSfM. https://github.com/mapillary/OpenSfM.
+- Mapillary AB. 2019. OpenSfM. .
- Giorgio Grisetti, Rainer Kümmerle, Cyrill Stachniss, and Wolfram Burgard. 2010. A Tutorial on Graph-Based SLAM. IEEE Transactions on Intelligent Transportation SystemsMagazine 2, 4 (2010), 31–43.
- Rainer Kümmerle, Giorgio Grisetti, Hauke Strasdat, Kurt Konolige, and Wolfram Burgard. 2011. g2o: A general framework for graph optimization. In Proceedings of IEEE International Conference on Robotics and Automation (ICRA). 3607–3613.
diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
index 89aea2240..1c0cc897d 100644
--- a/cmake/Config.cmake.in
+++ b/cmake/Config.cmake.in
@@ -21,7 +21,7 @@ elseif(@BOW_FRAMEWORK@ MATCHES "FBoW")
find_dependency(fbow)
endif()
-include("${CMAKE_CURRENT_LIST_DIR}/@OPENVSLAM_TARGETS_EXPORT_NAME@.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/@STELLA_VSLAM_TARGETS_EXPORT_NAME@.cmake")
include_directories("@CMAKE_INSTALL_PREFIX@/include")
diff --git a/docs/conf.py b/docs/conf.py
index dbaac1c55..55bf2be22 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -17,8 +17,8 @@
# -- Project information -----------------------------------------------------
-project = 'OpenVSLAM'
-copyright = '2019, National Institute of Advanced Industrial Science and Technology (AIST). For the changes after forking, Copyright (C) 2022, OpenVSLAM-Community, All rights reserved.'
+project = 'stella_vslam'
+copyright = '2019, National Institute of Advanced Industrial Science and Technology (AIST). For the changes after forking, Copyright (C) 2022, stella-cv, All rights reserved.'
author = 'Shinya Sumikura'
diff --git a/docs/docker.rst b/docs/docker.rst
index c2812d89f..c62a1bf66 100644
--- a/docs/docker.rst
+++ b/docs/docker.rst
@@ -34,10 +34,10 @@ Execute the following commands:
.. code-block:: bash
- git clone https://github.com/OpenVSLAM-Community/openvslam.git
- cd openvslam
+ git clone https://github.com/stella-cv/stella_vslam.git
+ cd stella_vslam
git submodule update -i --recursive
- docker build -t openvslam-desktop -f Dockerfile.desktop .
+ docker build -t stella_vslam-desktop -f Dockerfile.desktop .
You can accelerate the build of the docker image with ``--build-arg NUM_THREADS=`` option. For example:
@@ -45,7 +45,7 @@ You can accelerate the build of the docker image with ``--build-arg NUM_THREADS=
.. code-block:: bash
# building the docker image with four threads
- docker build -t openvslam-desktop -f Dockerfile.desktop . --build-arg NUM_THREADS=`expr $(nproc) - 1`
+ docker build -t stella_vslam-desktop -f Dockerfile.desktop . --build-arg NUM_THREADS=`expr $(nproc) - 1`
Starting Docker Container
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -57,7 +57,7 @@ In order to enable X11 forwarding, supplemental options (``-e DISPLAY=$DISPLAY``
# before launching the container, allow display access from local users
xhost +local:
# launch the container
- docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix:ro openvslam-desktop
+ docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix:ro stella_vslam-desktop
.. NOTE ::
@@ -70,7 +70,7 @@ After launching the container, the shell interface will be launched in the docke
.. code-block:: bash
- root@ddad048b5fff:/openvslam/build# ls
+ root@ddad048b5fff:/stella_vslam/build# ls
lib run_image_slam run_video_slam
run_euroc_slam run_kitti_slam run_tum_slam
run_image_localization run_video_localization run_tum_rgbd_localization
@@ -95,15 +95,15 @@ This chapter provides instructions on building and running examples with SocketV
Building Docker Images
^^^^^^^^^^^^^^^^^^^^^^
-Docker Image of OpenVSLAM
+Docker Image of stella_vslam
`````````````````````````
Execute the following commands:
.. code-block:: bash
- cd /path/to/openvslam
- docker build -t openvslam-socket -f Dockerfile.socket .
+ cd /path/to/stella_vslam
+ docker build -t stella_vslam-socket -f Dockerfile.socket .
You can accelerate the build of the docker image with ``--build-arg NUM_THREADS=`` option. For example:
@@ -111,7 +111,7 @@ You can accelerate the build of the docker image with ``--build-arg NUM_THREADS=
.. code-block:: bash
# building the docker image with four threads
- docker build -t openvslam-socket -f Dockerfile.socket . --build-arg NUM_THREADS=`expr $(nproc) - 1`
+ docker build -t stella_vslam-socket -f Dockerfile.socket . --build-arg NUM_THREADS=`expr $(nproc) - 1`
Docker Image of Server
``````````````````````
@@ -120,9 +120,9 @@ Execute the following commands:
.. code-block:: bash
- cd /path/to/openvslam
+ cd /path/to/stella_vslam
cd viewer
- docker build -t openvslam-server .
+ docker build -t stella_vslam-server .
Starting Docker Containers
^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -135,19 +135,19 @@ Please specify ``--net=host`` in order to share the network with the host machin
.. code-block:: bash
- $ docker run --rm -it --name openvslam-server --net=host openvslam-server
+ $ docker run --rm -it --name stella_vslam-server --net=host stella_vslam-server
WebSocket: listening on *:3000
HTTP server: listening on *:3001
After launching, access to ``http://localhost:3001/`` with the web browser.
-Next, launch the container of OpenVSLAM.
+Next, launch the container of stella_vslam.
The shell interface will be launched in the docker container.
.. code-block:: bash
- $ docker run --rm -it --name openvslam-socket --net=host openvslam-socket
- root@hostname:/openvslam/build#
+ $ docker run --rm -it --name stella_vslam-socket --net=host stella_vslam-socket
+ root@hostname:/stella_vslam/build#
See :ref:`Tutorial ` to run SLAM examples in the container.
@@ -161,23 +161,23 @@ Please specify ``-p 3001:3001`` for port-forwarding.
.. code-block:: bash
- $ docker run --rm -it --name openvslam-server -p 3001:3001 openvslam-server
+ $ docker run --rm -it --name stella_vslam-server -p 3001:3001 stella_vslam-server
WebSocket: listening on *:3000
HTTP server: listening on *:3001
After launching, access to ``http://localhost:3001/`` with the web browser.
-Then, inspect the container's IP address and append the ``SocketPublisher.server_uri`` entry to the YAML config file of OpenVSLAM.
+Then, inspect the container's IP address and append the ``SocketPublisher.server_uri`` entry to the YAML config file of stella_vslam.
.. code-block:: bash
# inspect the server's IP address
- $ docker inspect openvslam-server | grep -m 1 \"IPAddress\" | sed 's/ //g' | sed 's/,//g'
+ $ docker inspect stella_vslam-server | grep -m 1 \"IPAddress\" | sed 's/ //g' | sed 's/,//g'
"IPAddress": "172.17.0.2"
.. code-block:: yaml
- # config file of OpenVSLAM
+ # config file of stella_vslam
...
@@ -188,13 +188,13 @@ Then, inspect the container's IP address and append the ``SocketPublisher.server
# append this entry
SocketPublisher.server_uri: "http://172.17.0.2:3000"
-Next, launch the container of OpenVSLAM.
+Next, launch the container of stella_vslam.
The shell interface will be launched in the docker container.
.. code-block:: bash
- $ docker run --rm -it --name openvslam-socket openvslam-socket
- root@hostname:/openvslam/build#
+ $ docker run --rm -it --name stella_vslam-socket stella_vslam-socket
+ root@hostname:/stella_vslam/build#
| See :ref:`Tutorial ` to run SLAM examples in the container.
| Please don't forget to append ``SocketPublisher.server_uri`` entry to the ``config.yaml`` if you use the downloaded datasets in the tutorial.
@@ -213,22 +213,22 @@ For example:
.. code-block:: bash
- # launch a container of openvslam-desktop with --volume option
+ # launch a container of stella_vslam-desktop with --volume option
$ docker run -it --rm --runtime=nvidia -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix:ro \
--volume /path/to/dataset/dir/:/dataset:ro \
--volume /path/to/vocab/dir:/vocab:ro \
- openvslam-desktop
+ stella_vslam-desktop
# dataset/ and vocab/ are found at the root directory in the container
root@0c0c9f115d74:/# ls /
... dataset/ vocab/ ...
.. code-block:: bash
- # launch a container of openvslam-socket with --volume option
- $ docker run --rm -it --name openvslam-socket --net=host \
+ # launch a container of stella_vslam-socket with --volume option
+ $ docker run --rm -it --name stella_vslam-socket --net=host \
--volume /path/to/dataset/dir/:/dataset:ro \
--volume /path/to/vocab/dir:/vocab:ro \
- openvslam-socket
+ stella_vslam-socket
# dataset/ and vocab/ are found at the root directory in the container
root@0c0c9f115d74:/# ls /
... dataset/ vocab/ ...
diff --git a/docs/example.rst b/docs/example.rst
index 3ed418013..b93613015 100644
--- a/docs/example.rst
+++ b/docs/example.rst
@@ -4,7 +4,7 @@
Example
=======
-We provided example code snippets for running OpenVSLAM with variety of datasets.
+We provided example code snippets for running stella_vslam with variety of datasets.
.. _section-example-video:
@@ -35,7 +35,7 @@ The following options are allowed:
-p, --map-db arg store a map database at this path after SLAM
| The camera that captures the video file must be calibrated. Create a config file (``.yaml``) according to the camera parameters.
-| We provided a vocabulary file for FBoW at `here `__.
+| We provided a vocabulary file for FBoW at `here `__.
Localization
^^^^^^^^^^^^
@@ -61,7 +61,7 @@ The following options are allowed:
--debug debug mode
| The camera that captures the video file must be calibrated. Create a config file (``.yaml``) according to the camera parameters.
-| We provided a vocabulary file for FBoW at `here `__.
+| We provided a vocabulary file for FBoW at `here `__.
You can create a map database file by running one of the ``run_****_slam`` executables with ``--map-db map_file_name.msg`` option.
@@ -94,7 +94,7 @@ The following options are allowed:
-p, --map-db arg store a map database at this path after SLAM
| The camera that captures the video file must be calibrated. Create a config file (``.yaml``) according to the camera parameters.
-| We provided a vocabulary file for FBoW at `here `__.
+| We provided a vocabulary file for FBoW at `here `__.
Localization
^^^^^^^^^^^^
@@ -120,7 +120,7 @@ The following options are allowed:
--debug debug mode
| The camera that captures the video file must be calibrated. Create a config file (``.yaml``) according to the camera parameters.
-| We provided a vocabulary file for FBoW at `here `__.
+| We provided a vocabulary file for FBoW at `here `__.
You can create a map database file by running one of the ``run_****_slam`` executables with ``--map-db map_file_name.msg`` option.
@@ -148,7 +148,7 @@ After downloading and uncompressing it, you will find several sequences under th
$ ls sequences/
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21
-In addition, download a vocabulary file for FBoW from `here `__.
+In addition, download a vocabulary file for FBoW from `here `__.
A configuration file for each sequence is contained under ``./example/kitti/``.
@@ -156,7 +156,7 @@ If you built examples with Pangolin Viewer support, a map viewer and frame viewe
.. code-block:: bash
- # at the build directory of OpenVSLAM
+ # at the build directory of stella_vslam
$ ls
...
run_kitti_slam
@@ -208,7 +208,7 @@ After downloading and uncompressing it, you will find several directories under
$ ls mav0/
body.yaml cam0 cam1 imu0 leica0 state_groundtruth_estimate0
-In addition, download a vocabulary file for FBoW from `here `__.
+In addition, download a vocabulary file for FBoW from `here `__.
We provided the two config files for EuRoC, ``./example/euroc/EuRoC_mono.yaml`` for monocular and ``./example/euroc/EuRoC_stereo.yaml`` for stereo.
@@ -216,7 +216,7 @@ If you have built examples with Pangolin Viewer support, a map viewer and frame
.. code-block:: bash
- # at the build directory of OpenVSLAM
+ # at the build directory of stella_vslam
$ ls
...
run_euroc_slam
@@ -270,7 +270,7 @@ After downloading and uncompressing it, you will find two directories and few te
If you would like to preprocess dataset then you can usee tool from `here `__.
-In addition, download a vocabulary file for FBoW from `here `__.
+In addition, download a vocabulary file for FBoW from `here `__.
We provided the config files for RGBD dataset at, ``./example/tum_rgbd``.
@@ -281,7 +281,7 @@ Tracking and Mapping
.. code-block:: bash
- # at the build directory of OpenVSLAM
+ # at the build directory of stella_vslam
$ ls
...
run_tum_rgbd_slam
@@ -326,7 +326,7 @@ Localization
.. code-block:: bash
- # at the build directory of OpenVSLAM
+ # at the build directory of stella_vslam
$ ls
...
run_tum_rgbd_localization
@@ -394,7 +394,7 @@ The following options are allowed:
| Please specify the camera number you want to use by ``-n`` option.
| The camera must be calibrated. Create a config file (``.yaml``) according to the camera parameters.
| You can scale input images to the performance of your machine by ``-s`` option. Please modify the config accordingly.
-| We provided a vocabulary file for FBoW at `here `__.
+| We provided a vocabulary file for FBoW at `here `__.
Localization
^^^^^^^^^^^^
@@ -420,4 +420,4 @@ The following options are allowed:
| Please specify the camera number you want to use by ``-n`` option.
| The camera must be calibrated. Create a config file (``.yaml``) according to the camera parameters.
| You can scale input images to the performance of your machine by ``-s`` option. Please modify the config accordingly.
-| We provided a vocabulary file for FBoW at `here `__.
+| We provided a vocabulary file for FBoW at `here `__.
diff --git a/docs/index.rst b/docs/index.rst
index 963658f8c..85b7c3398 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,12 +1,8 @@
-.. OpenVSLAM documentation master file, created by
+.. stella_vslam documentation master file, created by
sphinx-quickstart on Sun May 19 18:46:30 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
-.. image:: ./img/logo.png
- :width: 435px
- :align: center
-
|
.. image:: https://j.gifs.com/81m1QL.gif
@@ -15,7 +11,11 @@
|
-This is the `OpenVSLAM `_ documentation.
+This is the `stella_vslam `_ documentation.
+NOTE: This is a community fork of xdspacelab/openvslam.
+It was created to continue active development of OpenVSLAM on Jan 31, 2021.
+The original repository is no longer available.
+Please read README.md in `stella_vslam `.
Contents
--------
@@ -39,10 +39,8 @@ Contents
./relocalization
./trouble_shooting
-Citation
---------
-
-If you use OpenVSLAM for a publication, please cite it as:
+Citation of original version of OpenVSLAM (xdspacelab/openvslam)
+----------------------------------------------------------------
.. code-block:: bibtex
diff --git a/docs/installation.rst b/docs/installation.rst
index 8937cf5e5..e444d9b3c 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -10,18 +10,18 @@ Installation
Source code
===========
-The source code can be viewed from this `GitHub repository `_.
+The source code can be viewed from this `GitHub repository `_.
Cloning the repository:
.. code-block:: bash
- git clone https://github.com/OpenVSLAM-Community/openvslam.git
- cd openvslam
+ git clone https://github.com/stella-cv/stella_vslam.git
+ cd stella_vslam
git submodule update -i --recursive
-If you are Windows 10 user, please install the dependencies and OpenVSLAM with :ref:`SocketViewer support ` on `Windows Subsystem for Linux (WSL) `__.
-We have checked the correct operation of OpenVSLAM and SocketViewer on Ubuntu 16.04 running on WSL.
+If you are Windows 10 user, please install the dependencies and stella_vslam with :ref:`SocketViewer support ` on `Windows Subsystem for Linux (WSL) `__.
+We have checked the correct operation of stella_vslam and SocketViewer on Ubuntu 16.04 running on WSL.
:ref:`Docker ` systems can be used instead of preparing the dependencies manually.
@@ -30,10 +30,10 @@ We have checked the correct operation of OpenVSLAM and SocketViewer on Ubuntu 16
Dependencies
============
-OpenVSLAM requires a **C++11-compliant** compiler.
+stella_vslam requires a **C++11-compliant** compiler.
It relies on several open-source libraries as shown below.
-Requirements for OpenVSLAM
+Requirements for stella_vslam
^^^^^^^^^^^^^^^^^^^^^^^^^^
* `Eigen `_ : version 3.3.0 or later.
@@ -42,7 +42,7 @@ Requirements for OpenVSLAM
* `SuiteSparse `_ : Required by g2o.
-* `FBoW `_ : **Please use the custom version of FBoW** released in `https://github.com/OpenVSLAM-Community/FBoW `_.
+* `FBoW `_ : **Please use the custom version of FBoW** released in `https://github.com/stella-cv/FBoW `_.
* `yaml-cpp `_ : version 0.6.0 or later.
@@ -235,7 +235,7 @@ Download, build and install **the custom FBoW** from source.
.. code-block:: bash
cd /path/to/working/dir
- git clone https://github.com/OpenVSLAM-Community/FBoW.git
+ git clone https://github.com/stella-cv/FBoW.git
cd FBoW
mkdir build && cd build
cmake \
@@ -339,7 +339,7 @@ When building with support for PangolinViewer, please specify the following cmak
.. code-block:: bash
- cd /path/to/openvslam
+ cd /path/to/stella_vslam
mkdir build && cd build
cmake \
-DUSE_PANGOLIN_VIEWER=ON \
@@ -355,7 +355,7 @@ When building with support for SocketViewer, please specify the following cmake
.. code-block:: bash
- cd /path/to/openvslam
+ cd /path/to/stella_vslam
mkdir build && cd build
cmake \
-DUSE_PANGOLIN_VIEWER=OFF \
@@ -394,7 +394,7 @@ If you plan on using SocketViewer, please setup the environment for the server w
.. code-block:: bash
- $ cd /path/to/openvslam/viewer
+ $ cd /path/to/stella_vslam/viewer
$ ls
Dockerfile app.js package.json public views
$ npm install
@@ -407,7 +407,7 @@ Then, launch the server with ``node app.js``.
.. code-block:: bash
- $ cd /path/to/openvslam/viewer
+ $ cd /path/to/stella_vslam/viewer
$ ls
Dockerfile app.js node_modules package-lock.json package.json public views
$ node app.js
diff --git a/docs/overview.rst b/docs/overview.rst
index 1f085b88f..7164d938e 100644
--- a/docs/overview.rst
+++ b/docs/overview.rst
@@ -12,16 +12,16 @@ Overview
:width: 640px
:align: center
-OpenVSLAM is a monocular, stereo, and RGBD visual SLAM system.
+stella_vslam is a monocular, stereo, and RGBD visual SLAM system.
The notable features are:
* It is compatible with **various type of camera models** and can be easily customized for other camera models.
-* Created maps can be **stored and loaded**, then OpenVSLAM can **localize new images** based on the prebuilt maps.
+* Created maps can be **stored and loaded**, then stella_vslam can **localize new images** based on the prebuilt maps.
* The system is fully modular. It is designed by encapsulating several functions in separated components with easy-to-understand APIs.
* We provided **some code snippets** to understand the core functionalities of this system.
-OpenVSLAM is based on an indirect SLAM algorithm with sparse features, such as ORB-SLAM, ProSLAM, and UcoSLAM.
-One of the noteworthy features of OpenVSLAM is that the system can deal with various type of camera models, such as perspective, fisheye, and equirectangular.
+stella_vslam is based on an indirect SLAM algorithm with sparse features, such as ORB-SLAM, ProSLAM, and UcoSLAM.
+One of the noteworthy features of stella_vslam is that the system can deal with various type of camera models, such as perspective, fisheye, and equirectangular.
If needed, users can implement extra camera models (e.g. dual fisheye, catadioptric) with ease.
For example, visual SLAM algorithm using **equirectangular camera models** (e.g. RICOH THETA series, insta360 series, etc) is shown above.
@@ -29,10 +29,10 @@ Some code snippets to understand the core functionalities of the system are prov
You can employ these snippets for in your own programs.
Please see the ``*.cc`` files in ``./example`` directory or check :ref:`Simple Tutorial ` and :ref:`Example `.
-Also, some examples to run OpenVSLAM on ROS framework are provided.
+Also, some examples to run stella_vslam on ROS framework are provided.
Please check :ref:`ROS Package `.
-Please contact us via `GitHub issues `__ if you have any questions or notice any bugs about the software.
+Please contact us via `GitHub issues `__ if you have any questions or notice any bugs about the software.
.. _section-overview-installation:
@@ -50,7 +50,7 @@ Tutorial
Please see :ref:`Simple Tutorial `.
-| A sample ORB vocabulary file can be downloaded from `here `__.
+| A sample ORB vocabulary file can be downloaded from `here `__.
| Sample datasets are also provided at `here `__.
If you would like to run visual SLAM with standard benchmarking datasets (e.g. KITTI Odometry dataset), please see :ref:`SLAM with standard datasets `.
diff --git a/docs/relocalization.rst b/docs/relocalization.rst
index 3d627e3f9..b27b4b7e4 100644
--- a/docs/relocalization.rst
+++ b/docs/relocalization.rst
@@ -52,5 +52,5 @@ Steps in Relocalization
.. _section-run-relocalizatoin:
-| See the details on how to run the relocalization at `here `__.
+| See the details on how to run the relocalization at `here `__.
diff --git a/docs/ros.rst b/docs/ros.rst
index bb640f502..5166b23f0 100644
--- a/docs/ros.rst
+++ b/docs/ros.rst
@@ -4,7 +4,7 @@
Running on ROS
==============
-We provide ROS and ROS2 package examples to help you run OpenVSLAM on ROS framework.
+We provide ROS and ROS2 package examples to help you run stella_vslam on ROS framework.
.. toctree::
:maxdepth: 2
diff --git a/docs/ros2_package.rst b/docs/ros2_package.rst
index 5fb90271d..71b1c451b 100644
--- a/docs/ros2_package.rst
+++ b/docs/ros2_package.rst
@@ -14,11 +14,11 @@ Requirements
* `ROS2 `_ : ``foxy`` or later.
-* :ref:`OpenVSLAM `
+* :ref:`stella_vslam `
* `image_common `_ : Required by this ROS package examples.
-* `vision_opencv `_ : Please build it with the same version of OpenCV used in OpenVSLAM.
+* `vision_opencv `_ : Please build it with the same version of OpenCV used in stella_vslam.
* `image_tools `_ : An optional requirement to use USB cameras.
@@ -33,11 +33,11 @@ Please install the following dependencies.
* ROS2 : Please follow `Installation of ROS2 `_.
-* OpenVSLAM : Please follow :ref:`Installation of OpenVSLAM `.
+* stella_vslam : Please follow :ref:`Installation of stella_vslam `.
.. NOTE ::
- Please build OpenVSLAM with PangolinViewer or SocketViewer if you plan on using it for the examples.
+ Please build stella_vslam with PangolinViewer or SocketViewer if you plan on using it for the examples.
Download repositories of ``image_common`` and ``vision_opencv``.
@@ -60,13 +60,13 @@ For using USB cam as a image source, donload a repository of ``demos`` and pick
Build Instructions
^^^^^^^^^^^^^^^^^^
-When building with support for PangolinViewer, please specify the following cmake options: ``-DUSE_PANGOLIN_VIEWER=ON`` and ``-DUSE_SOCKET_PUBLISHER=OFF`` as described in :ref:`build of OpenVSLAM `.
-openvslam and openvslam_ros need to be built with the same options.
+When building with support for PangolinViewer, please specify the following cmake options: ``-DUSE_PANGOLIN_VIEWER=ON`` and ``-DUSE_SOCKET_PUBLISHER=OFF`` as described in :ref:`build of stella_vslam `.
+stella_vslam and stella_vslam_ros need to be built with the same options.
.. code-block:: bash
cd ~/catkin_ws/src
- git clone --branch ros2 --depth 1 https://github.com/OpenVSLAM-Community/openvslam_ros.git
+ git clone --branch ros2 --depth 1 https://github.com/stella-cv/stella_vslam_ros.git
cd ~/ros2_ws
colcon build --symlink-install --cmake-args -DUSE_PANGOLIN_VIEWER=ON -DUSE_SOCKET_PUBLISHER=OFF
@@ -76,7 +76,7 @@ Examples
Publisher
^^^^^^^^^
-If you want to input image sequences or videos into openvslam_ros, please refer to `dataset_publisher_ros2 `_.
+If you want to input image sequences or videos into stella_vslam_ros, please refer to `dataset_publisher_ros2 `_.
Publish Images Captured by a USB Camera
------------------------------
@@ -102,18 +102,18 @@ Please execute one of the following command snippets in the new terminal.
.. NOTE ::
- Option arguments are the same as :ref:`the examples of OpenVSLAM `.
+ Option arguments are the same as :ref:`the examples of stella_vslam `.
Tracking and Mapping
--------------------
We provide an example snippet for visual SLAM.
-The source code is placed at ``openvslam_ros/src/run_slam.cc``.
+The source code is placed at ``stella_vslam_ros/src/run_slam.cc``.
.. code-block:: bash
source ~/ros2_ws/install/setup.bash
- ros2 run openvslam_ros run_slam \
+ ros2 run stella_vslam_ros run_slam \
-v /path/to/orb_vocab.fbow \
-c /path/to/config.yaml
@@ -121,12 +121,12 @@ Localization
------------
We provide an example snippet for localization based on a prebuilt map.
-The source code is placed at ``openvslam_ros/src/run_localization.cc``.
+The source code is placed at ``stella_vslam_ros/src/run_localization.cc``.
.. code-block:: bash
source ~/ros2_ws/install/setup.bash
- ros2 run openvslam_ros run_localization \
+ ros2 run stella_vslam_ros run_localization \
-v /path/to/orb_vocab.fbow \
-c /path/to/config.yaml \
--map-db /path/to/map.msg
diff --git a/docs/ros_package.rst b/docs/ros_package.rst
index a6d3b84e3..d83f47558 100644
--- a/docs/ros_package.rst
+++ b/docs/ros_package.rst
@@ -14,11 +14,11 @@ Requirements
* `ROS `_ : ``noetic`` is recommended. (If you have built OpenCV (3.3.1 or later) manually, you can use ``melodic`` or later.)
-* :ref:`OpenVSLAM `
+* :ref:`stella_vslam `
* `image_transport `_ : Required by this ROS package examples.
-* `cv_bridge `_ : Please build it with the same version of OpenCV used in OpenVSLAM.
+* `cv_bridge `_ : Please build it with the same version of OpenCV used in stella_vslam.
.. _section-prerequisites:
@@ -31,11 +31,11 @@ Please install the following dependencies.
* ROS : Please follow `Installation of ROS `_.
-* OpenVSLAM : Please follow :ref:`Installation of OpenVSLAM `.
+* stella_vslam : Please follow :ref:`Installation of stella_vslam `.
.. NOTE ::
- Please build OpenVSLAM with PangolinViewer or SocketViewer if you plan on using it for the examples.
+ Please build stella_vslam with PangolinViewer or SocketViewer if you plan on using it for the examples.
Install the dependencies via ``apt``.
@@ -56,13 +56,13 @@ Download the source of ``cv_bridge``.
Build Instructions
^^^^^^^^^^^^^^^^^^
-When building with support for PangolinViewer, please specify the following cmake options: ``-DUSE_PANGOLIN_VIEWER=ON`` and ``-DUSE_SOCKET_PUBLISHER=OFF`` as described in :ref:`build of OpenVSLAM `.
-openvslam and openvslam_ros need to be built with the same options.
+When building with support for PangolinViewer, please specify the following cmake options: ``-DUSE_PANGOLIN_VIEWER=ON`` and ``-DUSE_SOCKET_PUBLISHER=OFF`` as described in :ref:`build of stella_vslam `.
+stella_vslam and stella_vslam_ros need to be built with the same options.
.. code-block:: bash
cd ~/catkin_ws/src
- git clone --branch ros --depth 1 https://github.com/OpenVSLAM-Community/openvslam_ros.git
+ git clone --branch ros --depth 1 https://github.com/stella-cv/stella_vslam_ros.git
cd ~/catkin_ws
catkin_make -DUSE_PANGOLIN_VIEWER=ON -DUSE_SOCKET_PUBLISHER=OFF
@@ -82,7 +82,7 @@ Run the core program required for ROS-based system in advance.
Publisher
^^^^^^^^^
-If you want to input image sequences or videos into openvslam_ros, please use ROS2.
+If you want to input image sequences or videos into stella_vslam_ros, please use ROS2.
Publish Images of a USB Camera
------------------------------
@@ -113,18 +113,18 @@ Please execute one of the following command snippets in the new terminal.
.. NOTE ::
- Option arguments are the same as :ref:`the examples of OpenVSLAM `.
+ Option arguments are the same as :ref:`the examples of stella_vslam `.
Tracking and Mapping
--------------------
We provide an example snippet for visual SLAM.
-The source code is placed at ``openvslam_ros/src/run_slam.cc``.
+The source code is placed at ``stella_vslam_ros/src/run_slam.cc``.
.. code-block:: bash
source ~/catkin_ws/devel/setup.bash
- rosrun openvslam_ros run_slam \
+ rosrun stella_vslam_ros run_slam \
-v /path/to/orb_vocab.fbow \
-c /path/to/config.yaml
@@ -132,12 +132,12 @@ Localization
------------
We provide an example snippet for localization based on a prebuilt map.
-The source code is placed at ``openvslam_ros/src/run_localization.cc``.
+The source code is placed at ``stella_vslam_ros/src/run_localization.cc``.
.. code-block:: bash
source ~/catkin_ws/devel/setup.bash
- rosrun openvslam_ros run_localization \
+ rosrun stella_vslam_ros run_localization \
-v /path/to/orb_vocab.fbow \
-c /path/to/config.yaml \
--map-db /path/to/map.msg
diff --git a/docs/simple_tutorial.rst b/docs/simple_tutorial.rst
index 52ee4698d..ebb9b8130 100644
--- a/docs/simple_tutorial.rst
+++ b/docs/simple_tutorial.rst
@@ -11,19 +11,19 @@ TL; DR
If you use :ref:`SocketViewer `, please launch the server in the other terminal and access to it with the web browser **in advance**.
-Running the following commands will give a feel for what OpenVSLAM can do.
+Running the following commands will give a feel for what stella_vslam can do.
The later parts of this chapter explains what each of the commands do in more detail.
.. code-block:: bash
- # at the build directory of openvslam ...
+ # at the build directory of stella_vslam ...
$ pwd
- /path/to/openvslam/build/
+ /path/to/stella_vslam/build/
$ ls
run_video_slam run_video_localization lib/ ...
# download an ORB vocabulary from GitHub
- curl -sL "https://github.com/OpenVSLAM-Community/FBoW_orb_vocab/raw/main/orb_vocab.fbow" -o orb_vocab.fbow
+ curl -sL "https://github.com/stella-cv/FBoW_orb_vocab/raw/main/orb_vocab.fbow" -o orb_vocab.fbow
# download a sample dataset from Google Drive
FILE_ID="1d8kADKWBptEqTF7jEVhKatBEdN7g0ikY"
@@ -51,8 +51,8 @@ The later parts of this chapter explains what each of the commands do in more de
Sample Datasets
^^^^^^^^^^^^^^^
-You can use OpenVSLAM with various video datasets.
-If you want to run OpenVSLAM with standard benchmarking detasets, please see :ref:`this section `.
+You can use stella_vslam with various video datasets.
+If you want to run stella_vslam with standard benchmarking detasets, please see :ref:`this section `.
Start by downloading some datasets you like.
@@ -224,7 +224,7 @@ After downloading and uncompressing a zip file, you will find a video file and a
You can put the dataset in any directory where you have access to.
-| Additionally, please download a vocabulary file for FBoW from `here `__.
+| Additionally, please download a vocabulary file for FBoW from `here `__.
For the rest of this chapter, we will use ``aist_living_lab_1`` and ``aist_living_lab_2`` datasets for our example.
@@ -238,7 +238,7 @@ You can use ``./run_video_slam`` to run SLAM with the video file.
.. code-block:: bash
- # at the build directory of OpenVSLAM
+ # at the build directory of stella_vslam
$ ls
...
run_video_slam
@@ -266,7 +266,7 @@ The paths should be changed accordingly.
$ ./run_video_slam \
-v /path/to/orb_vocab/orb_vocab.fbow \
- -c /path/to/openvslam/example/aist/equirectangular.yaml \
+ -c /path/to/stella_vslam/example/aist/equirectangular.yaml \
-m /path/to/aist_living_lab_1/video.mp4 \
--frame-skip 3 \
--map-db aist_living_lab_1_map.msg
@@ -288,7 +288,7 @@ If the two viewers are not launching correctly, check if you launched the comman
.. code-block:: none
- [2019-05-20 17:52:41.677] [I] config file loaded: /path/to/openvslam/example/aist/equirectangular.yaml
+ [2019-05-20 17:52:41.677] [I] config file loaded: /path/to/stella_vslam/example/aist/equirectangular.yaml
___ __ _____ _ _ __ __
/ _ \ _ __ ___ _ _\ \ / / __| | /_\ | \/ |
| (_) | '_ \/ -_) ' \\ V /\__ \ |__ / _ \| |\/| |
@@ -299,7 +299,7 @@ If the two viewers are not launching correctly, check if you launched the comman
National Institute of Advanced Industrial Science and Technology (AIST)
All rights reserved.
For the changes after forking,
- Copyright (C) 2022, OpenVSLAM-Community, All rights reserved.
+ Copyright (C) 2022, stella-cv, All rights reserved.
This is free software,
and you are welcome to redistribute it under certain conditions.
@@ -368,7 +368,7 @@ After terminating, you will find a map database file ``aist_living_lab_1_map.msg
...
-The format of map database files is `MessagePack `_, so you can reuse created maps for any third-party applications other than OpenVSLAM.
+The format of map database files is `MessagePack `_, so you can reuse created maps for any third-party applications other than stella_vslam.
Localization
@@ -403,7 +403,7 @@ The paths should be changed accordingly.
$ ./run_video_localization \
-v /path/to/orb_vocab/orb_vocab.fbow \
- -c /path/to/openvslam/example/aist/equirectangular.yaml \
+ -c /path/to/stella_vslam/example/aist/equirectangular.yaml \
-m /path/to/aist_living_lab_2/video.mp4 \
--frame-skip 3 \
--map-db aist_living_lab_1_map.msg
@@ -423,7 +423,7 @@ You can see if the current frame is being localized, based on the prebuild map.
.. code-block:: none
- [2019-05-20 17:58:54.728] [I] config file loaded: /path/to/openvslam/example/aist/equirectangular.yaml
+ [2019-05-20 17:58:54.728] [I] config file loaded: /path/to/stella_vslam/example/aist/equirectangular.yaml
___ __ _____ _ _ __ __
/ _ \ _ __ ___ _ _\ \ / / __| | /_\ | \/ |
| (_) | '_ \/ -_) ' \\ V /\__ \ |__ / _ \| |\/| |
@@ -434,7 +434,7 @@ You can see if the current frame is being localized, based on the prebuild map.
National Institute of Advanced Industrial Science and Technology (AIST)
All rights reserved.
For the changes after forking,
- Copyright (C) 2022, OpenVSLAM-Community, All rights reserved.
+ Copyright (C) 2022, stella-cv, All rights reserved.
This is free software,
and you are welcome to redistribute it under certain conditions.
diff --git a/docs/trouble_shooting.rst b/docs/trouble_shooting.rst
index 4a9caac5b..bea9386ab 100644
--- a/docs/trouble_shooting.rst
+++ b/docs/trouble_shooting.rst
@@ -10,9 +10,9 @@ Trouble Shooting
For building
============
-#. OpenVSLAM terminates abnormaly soon after **launching** or **optimization with g2o**.
+#. stella_vslam terminates abnormaly soon after **launching** or **optimization with g2o**.
- Please configure and rebuild g2o and OpenVSLAM with ``-DBUILD_WITH_MARCH_NATIVE=OFF`` option for ``cmake``.
+ Please configure and rebuild g2o and stella_vslam with ``-DBUILD_WITH_MARCH_NATIVE=OFF`` option for ``cmake``.
.. _section-trouble-slam:
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index ffb32fba6..0d5bf70dd 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -101,7 +101,7 @@ foreach(EXECUTABLE_TARGET IN LISTS EXECUTABLE_TARGETS)
target_link_libraries(${EXECUTABLE_TARGET} PRIVATE ${GPERFTOOLS_LIBRARIES})
endif()
- # Link OpenVSLAM
+ # Link stella_vslam
target_link_libraries(${EXECUTABLE_TARGET}
PRIVATE
${PROJECT_NAME}
diff --git a/example/run_camera_localization.cc b/example/run_camera_localization.cc
index 825b8fb53..640e88cc6 100644
--- a/example/run_camera_localization.cc
+++ b/example/run_camera_localization.cc
@@ -4,9 +4,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -27,14 +27,14 @@
#include
#endif
-void mono_localization(const std::shared_ptr& cfg,
+void mono_localization(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const unsigned int cam_num, const std::string& mask_img_path,
const float scale, const std::string& map_db_path, const bool mapping) {
// load the mask image
const cv::Mat mask = mask_img_path.empty() ? cv::Mat{} : cv::imread(mask_img_path, cv::IMREAD_GRAYSCALE);
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// load the prebuilt map
SLAM.load_map_database(map_db_path);
// startup the SLAM process (it does not need initialization of a map)
@@ -51,10 +51,10 @@ void mono_localization(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
auto video = cv::VideoCapture(cam_num);
@@ -174,9 +174,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -188,7 +188,7 @@ int main(int argc, char* argv[]) {
#endif
// run localization
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_localization(cfg, vocab_file_path->value(), cam_num->value(), mask_img_path->value(),
scale->value(), map_db_path->value(), mapping->is_set());
}
diff --git a/example/run_camera_slam.cc b/example/run_camera_slam.cc
index 5bf6191fe..510a9bfe1 100644
--- a/example/run_camera_slam.cc
+++ b/example/run_camera_slam.cc
@@ -4,10 +4,10 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/stereo_rectifier.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/stereo_rectifier.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -28,14 +28,14 @@
#include
#endif
-void mono_tracking(const std::shared_ptr& cfg,
+void mono_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const unsigned int cam_num, const std::string& mask_img_path,
const float scale, const std::string& map_db_path) {
// load the mask image
const cv::Mat mask = mask_img_path.empty() ? cv::Mat{} : cv::imread(mask_img_path, cv::IMREAD_GRAYSCALE);
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -43,10 +43,10 @@ void mono_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
auto video = cv::VideoCapture(cam_num);
@@ -122,12 +122,12 @@ void mono_tracking(const std::shared_ptr& cfg,
std::cout << "mean tracking time: " << total_track_time / track_times.size() << "[s]" << std::endl;
}
-void stereo_tracking(const std::shared_ptr& cfg,
+void stereo_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const unsigned int cam_num, const std::string& mask_img_path,
const float scale, const std::string& map_db_path) {
const cv::Mat mask = mask_img_path.empty() ? cv::Mat{} : cv::imread(mask_img_path, cv::IMREAD_GRAYSCALE);
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -135,10 +135,10 @@ void stereo_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
cv::VideoCapture videos[2];
@@ -151,7 +151,7 @@ void stereo_tracking(const std::shared_ptr& cfg,
}
}
- const openvslam::util::stereo_rectifier rectifier(cfg);
+ const stella_vslam::util::stereo_rectifier rectifier(cfg);
cv::Mat frames[2];
cv::Mat frames_rectified[2];
@@ -270,9 +270,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -284,11 +284,11 @@ int main(int argc, char* argv[]) {
#endif
// run tracking
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_tracking(cfg, vocab_file_path->value(), cam_num->value(), mask_img_path->value(),
scale->value(), map_db_path->value());
}
- else if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Stereo) {
+ else if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Stereo) {
stereo_tracking(cfg, vocab_file_path->value(), cam_num->value(), mask_img_path->value(),
scale->value(), map_db_path->value());
}
diff --git a/example/run_euroc_localization.cc b/example/run_euroc_localization.cc
index 9693a7d32..f68552568 100644
--- a/example/run_euroc_localization.cc
+++ b/example/run_euroc_localization.cc
@@ -6,11 +6,11 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/stereo_rectifier.h"
-#include "openvslam/util/image_converter.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/stereo_rectifier.h"
+#include "stella_vslam/util/image_converter.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -32,7 +32,7 @@
#include
#endif
-void mono_localization(const std::shared_ptr& cfg,
+void mono_localization(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path, const bool mapping,
@@ -41,7 +41,7 @@ void mono_localization(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// load the prebuilt map
SLAM.load_map_database(map_db_path);
// startup the SLAM process (it does not need initialization of a map)
@@ -58,10 +58,10 @@ void mono_localization(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -74,7 +74,7 @@ void mono_localization(const std::shared_ptr& cfg,
cv::Mat img;
if (equal_hist) {
img = cv::imread(frame.left_img_path_, cv::IMREAD_UNCHANGED);
- openvslam::util::equalize_histogram(img);
+ stella_vslam::util::equalize_histogram(img);
}
else {
img = cv::imread(frame.left_img_path_, cv::IMREAD_GRAYSCALE);
@@ -214,9 +214,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -228,7 +228,7 @@ int main(int argc, char* argv[]) {
#endif
// run tracking
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_localization(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value(), mapping->is_set(),
diff --git a/example/run_euroc_slam.cc b/example/run_euroc_slam.cc
index 006ed1603..7abf5b016 100644
--- a/example/run_euroc_slam.cc
+++ b/example/run_euroc_slam.cc
@@ -6,11 +6,11 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/stereo_rectifier.h"
-#include "openvslam/util/image_converter.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/stereo_rectifier.h"
+#include "stella_vslam/util/image_converter.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -32,7 +32,7 @@
#include
#endif
-void mono_tracking(const std::shared_ptr& cfg,
+void mono_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path, const bool equal_hist) {
@@ -40,7 +40,7 @@ void mono_tracking(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -48,10 +48,10 @@ void mono_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -64,7 +64,7 @@ void mono_tracking(const std::shared_ptr& cfg,
cv::Mat img;
if (equal_hist) {
img = cv::imread(frame.left_img_path_, cv::IMREAD_UNCHANGED);
- openvslam::util::equalize_histogram(img);
+ stella_vslam::util::equalize_histogram(img);
}
else {
img = cv::imread(frame.left_img_path_, cv::IMREAD_GRAYSCALE);
@@ -152,17 +152,17 @@ void mono_tracking(const std::shared_ptr& cfg,
std::cout << "mean tracking time: " << total_track_time / track_times.size() << "[s]" << std::endl;
}
-void stereo_tracking(const std::shared_ptr& cfg,
+void stereo_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path, const bool equal_hist) {
const euroc_sequence sequence(sequence_dir_path);
const auto frames = sequence.get_frames();
- const openvslam::util::stereo_rectifier rectifier(cfg);
+ const stella_vslam::util::stereo_rectifier rectifier(cfg);
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -170,10 +170,10 @@ void stereo_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -189,8 +189,8 @@ void stereo_tracking(const std::shared_ptr& cfg,
if (equal_hist) {
left_img = cv::imread(frame.left_img_path_, cv::IMREAD_UNCHANGED);
right_img = cv::imread(frame.right_img_path_, cv::IMREAD_UNCHANGED);
- openvslam::util::equalize_histogram(left_img);
- openvslam::util::equalize_histogram(right_img);
+ stella_vslam::util::equalize_histogram(left_img);
+ stella_vslam::util::equalize_histogram(right_img);
}
else {
left_img = cv::imread(frame.left_img_path_, cv::IMREAD_GRAYSCALE);
@@ -336,9 +336,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -350,12 +350,12 @@ int main(int argc, char* argv[]) {
#endif
// run tracking
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_tracking(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value(), equal_hist->is_set());
}
- else if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Stereo) {
+ else if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Stereo) {
stereo_tracking(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value(), equal_hist->is_set());
diff --git a/example/run_image_localization.cc b/example/run_image_localization.cc
index 4bfca112c..41ee33b5a 100644
--- a/example/run_image_localization.cc
+++ b/example/run_image_localization.cc
@@ -6,9 +6,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -27,7 +27,7 @@
#include
#endif
-void mono_localization(const std::shared_ptr& cfg,
+void mono_localization(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& image_dir_path, const std::string& mask_img_path,
const std::string& map_db_path, const bool mapping,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term) {
@@ -38,7 +38,7 @@ void mono_localization(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// load the prebuilt map
SLAM.load_map_database(map_db_path);
// startup the SLAM process (it does not need initialization of a map)
@@ -55,10 +55,10 @@ void mono_localization(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -184,9 +184,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -198,7 +198,7 @@ int main(int argc, char* argv[]) {
#endif
// run localization
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_localization(cfg, vocab_file_path->value(), img_dir_path->value(), mask_img_path->value(),
map_db_path->value(), mapping->is_set(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set());
diff --git a/example/run_image_slam.cc b/example/run_image_slam.cc
index 8feea92eb..711bc4c86 100644
--- a/example/run_image_slam.cc
+++ b/example/run_image_slam.cc
@@ -6,9 +6,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -28,7 +28,7 @@
#include
#endif
-void mono_tracking(const std::shared_ptr& cfg,
+void mono_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& image_dir_path, const std::string& mask_img_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path) {
@@ -39,16 +39,16 @@ void mono_tracking(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -192,9 +192,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -206,7 +206,7 @@ int main(int argc, char* argv[]) {
#endif
// run tracking
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_tracking(cfg, vocab_file_path->value(), img_dir_path->value(), mask_img_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value());
diff --git a/example/run_kitti_slam.cc b/example/run_kitti_slam.cc
index 4c1ba02c5..a9cbef449 100644
--- a/example/run_kitti_slam.cc
+++ b/example/run_kitti_slam.cc
@@ -6,9 +6,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -30,7 +30,7 @@
#include
#endif
-void mono_tracking(const std::shared_ptr& cfg,
+void mono_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path) {
@@ -38,7 +38,7 @@ void mono_tracking(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -46,10 +46,10 @@ void mono_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -143,7 +143,7 @@ void mono_tracking(const std::shared_ptr& cfg,
std::cout << "mean tracking time: " << total_track_time / track_times.size() << "[s]" << std::endl;
}
-void stereo_tracking(const std::shared_ptr& cfg,
+void stereo_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path) {
@@ -151,7 +151,7 @@ void stereo_tracking(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -159,10 +159,10 @@ void stereo_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -306,9 +306,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -320,12 +320,12 @@ int main(int argc, char* argv[]) {
#endif
// run tracking
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_tracking(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value());
}
- else if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Stereo) {
+ else if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Stereo) {
stereo_tracking(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value());
diff --git a/example/run_tum_rgbd_localization.cc b/example/run_tum_rgbd_localization.cc
index 7206bdbfc..08d825b58 100644
--- a/example/run_tum_rgbd_localization.cc
+++ b/example/run_tum_rgbd_localization.cc
@@ -6,9 +6,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -30,7 +30,7 @@
#include
#endif
-void mono_localization(const std::shared_ptr& cfg,
+void mono_localization(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool mapping, const std::string& map_db_path) {
@@ -38,7 +38,7 @@ void mono_localization(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// load the prebuilt map
SLAM.load_map_database(map_db_path);
// startup the SLAM process (it does not need initialization of a map)
@@ -55,10 +55,10 @@ void mono_localization(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -133,7 +133,7 @@ void mono_localization(const std::shared_ptr& cfg,
std::cout << "mean tracking time: " << total_track_time / track_times.size() << "[s]" << std::endl;
}
-void rgbd_localization(const std::shared_ptr& cfg,
+void rgbd_localization(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool mapping, const std::string& map_db_path) {
@@ -141,7 +141,7 @@ void rgbd_localization(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// load the prebuilt map
SLAM.load_map_database(map_db_path);
// startup the SLAM process (it does not need initialization of a map)
@@ -158,10 +158,10 @@ void rgbd_localization(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -287,9 +287,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -301,12 +301,12 @@ int main(int argc, char* argv[]) {
#endif
// run localization
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_localization(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
mapping->is_set(), map_db_path->value());
}
- else if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::RGBD) {
+ else if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::RGBD) {
rgbd_localization(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
mapping->is_set(), map_db_path->value());
@@ -320,4 +320,4 @@ int main(int argc, char* argv[]) {
#endif
return EXIT_SUCCESS;
-}
\ No newline at end of file
+}
diff --git a/example/run_tum_rgbd_slam.cc b/example/run_tum_rgbd_slam.cc
index f2c1ed905..bae747ce8 100644
--- a/example/run_tum_rgbd_slam.cc
+++ b/example/run_tum_rgbd_slam.cc
@@ -6,9 +6,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -30,7 +30,7 @@
#include
#endif
-void mono_tracking(const std::shared_ptr& cfg,
+void mono_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path) {
@@ -38,7 +38,7 @@ void mono_tracking(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -46,10 +46,10 @@ void mono_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -143,7 +143,7 @@ void mono_tracking(const std::shared_ptr& cfg,
std::cout << "mean tracking time: " << total_track_time / track_times.size() << "[s]" << std::endl;
}
-void rgbd_tracking(const std::shared_ptr& cfg,
+void rgbd_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& sequence_dir_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path) {
@@ -151,7 +151,7 @@ void rgbd_tracking(const std::shared_ptr& cfg,
const auto frames = sequence.get_frames();
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -159,10 +159,10 @@ void rgbd_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
std::vector track_times;
@@ -306,9 +306,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -320,12 +320,12 @@ int main(int argc, char* argv[]) {
#endif
// run tracking
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_tracking(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value());
}
- else if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::RGBD) {
+ else if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::RGBD) {
rgbd_tracking(cfg, vocab_file_path->value(), data_dir_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value());
diff --git a/example/run_video_localization.cc b/example/run_video_localization.cc
index fc0b40164..1129b6652 100644
--- a/example/run_video_localization.cc
+++ b/example/run_video_localization.cc
@@ -4,9 +4,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -26,7 +26,7 @@
#include
#endif
-void mono_localization(const std::shared_ptr& cfg,
+void mono_localization(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& video_file_path, const std::string& mask_img_path,
const std::string& map_db_path, const bool mapping,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term) {
@@ -34,7 +34,7 @@ void mono_localization(const std::shared_ptr& cfg,
const cv::Mat mask = mask_img_path.empty() ? cv::Mat{} : cv::imread(mask_img_path, cv::IMREAD_GRAYSCALE);
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// load the prebuilt map
SLAM.load_map_database(map_db_path);
// startup the SLAM process (it does not need initialization of a map)
@@ -51,10 +51,10 @@ void mono_localization(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
auto video = cv::VideoCapture(video_file_path, cv::CAP_FFMPEG);
@@ -188,9 +188,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -202,7 +202,7 @@ int main(int argc, char* argv[]) {
#endif
// run localization
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_localization(cfg, vocab_file_path->value(), video_file_path->value(), mask_img_path->value(),
map_db_path->value(), mapping->is_set(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set());
diff --git a/example/run_video_slam.cc b/example/run_video_slam.cc
index 739ce2f85..36da30828 100644
--- a/example/run_video_slam.cc
+++ b/example/run_video_slam.cc
@@ -4,9 +4,9 @@
#include "socket_publisher/publisher.h"
#endif
-#include "openvslam/system.h"
-#include "openvslam/config.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/util/yaml.h"
#include
#include
@@ -27,7 +27,7 @@
#include
#endif
-void mono_tracking(const std::shared_ptr& cfg,
+void mono_tracking(const std::shared_ptr& cfg,
const std::string& vocab_file_path, const std::string& video_file_path, const std::string& mask_img_path,
const unsigned int frame_skip, const bool no_sleep, const bool auto_term,
const bool eval_log, const std::string& map_db_path) {
@@ -35,7 +35,7 @@ void mono_tracking(const std::shared_ptr& cfg,
const cv::Mat mask = mask_img_path.empty() ? cv::Mat{} : cv::imread(mask_img_path, cv::IMREAD_GRAYSCALE);
// build a SLAM system
- openvslam::system SLAM(cfg, vocab_file_path);
+ stella_vslam::system SLAM(cfg, vocab_file_path);
// startup the SLAM process
SLAM.startup();
@@ -43,10 +43,10 @@ void mono_tracking(const std::shared_ptr& cfg,
// and pass the frame_publisher and the map_publisher
#ifdef USE_PANGOLIN_VIEWER
pangolin_viewer::viewer viewer(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "PangolinViewer"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#elif USE_SOCKET_PUBLISHER
socket_publisher::publisher publisher(
- openvslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
+ stella_vslam::util::yaml_optional_ref(cfg->yaml_node_, "SocketPublisher"), &SLAM, SLAM.get_frame_publisher(), SLAM.get_map_publisher());
#endif
auto video = cv::VideoCapture(video_file_path, cv::CAP_FFMPEG);
@@ -198,9 +198,9 @@ int main(int argc, char* argv[]) {
}
// load configuration
- std::shared_ptr cfg;
+ std::shared_ptr cfg;
try {
- cfg = std::make_shared(config_file_path->value());
+ cfg = std::make_shared(config_file_path->value());
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
@@ -212,7 +212,7 @@ int main(int argc, char* argv[]) {
#endif
// run tracking
- if (cfg->camera_->setup_type_ == openvslam::camera::setup_type_t::Monocular) {
+ if (cfg->camera_->setup_type_ == stella_vslam::camera::setup_type_t::Monocular) {
mono_tracking(cfg, vocab_file_path->value(), video_file_path->value(), mask_img_path->value(),
frame_skip->value(), no_sleep->is_set(), auto_term->is_set(),
eval_log->is_set(), map_db_path->value());
diff --git a/package.xml b/package.xml
index 18348ee9a..10c52d5de 100644
--- a/package.xml
+++ b/package.xml
@@ -1,17 +1,20 @@
- openvslam
+ stella_vslam
0.3.0
- OpenVSLAM: A Versatile Visual SLAM Framework
+ fork of OpenVSLAM
+
Shinya Sumikura
Mikiya Shibuya
Ken Sakurada
+
+ ymd-stella
ymd-stella
2-clause BSD
- https://openvslam-community.readthedocs.io/
+ https://stella.readthedocs.io/
cmake
diff --git a/scripts/docker/ci/Dockerfile.desktop.ci b/scripts/docker/ci/Dockerfile.desktop.ci
index bc39a846d..1a7a0870c 100644
--- a/scripts/docker/ci/Dockerfile.desktop.ci
+++ b/scripts/docker/ci/Dockerfile.desktop.ci
@@ -143,7 +143,7 @@ ENV OpenCV_DIR=${CMAKE_INSTALL_PREFIX}/lib/cmake/opencv4
ARG FBoW_COMMIT=30f45f1d97314145f81b49617bb37846a861dfe7
WORKDIR /tmp
RUN set -x && \
- git clone https://github.com/OpenVSLAM-Community/FBoW.git && \
+ git clone https://github.com/stella-cv/FBoW.git && \
cd FBoW && \
git checkout ${FBoW_COMMIT} && \
mkdir -p build && \
@@ -158,25 +158,6 @@ RUN set -x && \
rm -rf *
ENV FBoW_DIR=${CMAKE_INSTALL_PREFIX}/lib/cmake/FBoW
-# DBoW2
-ARG DBOW2_COMMIT=687fcb74dd13717c46add667e3fbfa9828a7019f
-WORKDIR /tmp
-RUN set -x && \
- git clone https://github.com/OpenVSLAM-Community/DBoW2.git && \
- cd DBoW2 && \
- git checkout ${DBOW2_COMMIT} && \
- mkdir -p build && \
- cd build && \
- cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} \
- .. && \
- make -j${NUM_THREADS} && \
- make install && \
- cd /tmp && \
- rm -rf *
-ENV DBoW2_DIR=${CMAKE_INSTALL_PREFIX}/lib/cmake/DBoW2
-
# Pangolin
ARG PANGOLIN_COMMIT=ad8b5f83222291c51b4800d5a5873b0e90a0cf81
WORKDIR /tmp
diff --git a/scripts/ubuntu/README.md b/scripts/ubuntu/README.md
index 2d4681678..df38d837f 100644
--- a/scripts/ubuntu/README.md
+++ b/scripts/ubuntu/README.md
@@ -1,15 +1,14 @@
-# This is an easy scripts to run samples from scratch for Ubuntu users.
-
+# This is an easy scripts to run samples from scratch for Ubuntu users
# Steps
-## Clone the OpenVSLAM
+## Clone the stella_vslam
Probablly you already run git clone, but I redisplay the procedure to show you complete steps.
```shell
-git clone https://github.com/OpenVSLAM-Community/openvslam.git
-cd openvslam
+git clone https://github.com/stella-cv/stella_vslam.git
+cd stella_vslam
git submodule update -i --recursive
```
@@ -30,6 +29,7 @@ If you use a machine equipped with nvidia GPUs, it is recommended to utilize nvi
```
#### note
+
- If you encounter the error: "Got permission denied while trying to connect to the Docker daemon socket", you might need to reboot not just to logout and log in back.
## Download sample data to run tests
@@ -41,23 +41,24 @@ Please run below:
./download_sampledata.sh
```
-## Build OpenVSLAM
+## Build stella_vslam
Now buid and start docker container as below.
```shell
-./build_openvslam_docker.sh
+./build_stella_vslam_docker.sh
```
## Run samples
-If you finish all the above procedure, you will see the terminal inside a docker as "root@*****:/openvslam/build#". Please input below commands in the terminal.
+If you finish all the above procedure, you will see the terminal inside a docker as "root@*****:/stella_vslam/build#". Please input below commands in the terminal.
#### run tracking and mapping
```shell
./run_video_slam -v /vocab/orb_vocab.fbow -m /dataset/aist_living_lab_1/video.mp4 -c ../example/aist/equirectangular.yaml --frame-skip 3 --no-sleep --map-db map.msg
```
+
After you see the window is stopped, press "Terminate" button in the left pane.
You will get "map.msg" in the current directory.
You can use it for the below tracking demo.
@@ -68,14 +69,14 @@ You can use it for the below tracking demo.
./run_video_localization -v /vocab/orb_vocab.fbow -m /dataset/aist_living_lab_2/video.mp4 -c ../example/aist/equirectangular.yaml --frame-skip 3 --no-sleep --map-db map.msg
```
-## Run OpenVSLAM on your own video
-
-If you want to run OpenVSLAM for your own mp4 video, for example equirectangular camera, put the panoramic transformed mp4 video in /dataset, and copy example/aist/equirectangular.yaml to example/yourown.yaml and edit the image size.
-Then run ./scripts/ubuntu/build_openvslam_docker.sh and run the above "run tracking and mapping" command but changing to your mp4 and yaml file.
-For other camera type like perspective, fisheye, stereo, and RGBD, it will be almost the same procedure but copy other yaml file instead of example/aist/equirectangular.yaml. You can find several examples in openvslam/examples.
+## Run stella_vslam on your own video
+If you want to run stella_vslam for your own mp4 video, for example equirectangular camera, put the panoramic transformed mp4 video in /dataset, and copy example/aist/equirectangular.yaml to example/yourown.yaml and edit the image size.
+Then run ./scripts/ubuntu/build_stella_vslam_docker.sh and run the above "run tracking and mapping" command but changing to your mp4 and yaml file.
+For other camera type like perspective, fisheye, stereo, and RGBD, it will be almost the same procedure but copy other yaml file instead of example/aist/equirectangular.yaml. You can find several examples in stella_vslam/examples.
# confirmed environment
+
- OS: Linux 5.8.0-59-generic
- Distribution: Ubuntu 20.04
- GPU: GTX1060, RTX3070
diff --git a/scripts/ubuntu/build_openvslam_docker.sh b/scripts/ubuntu/build_stella_vslam_docker.sh
similarity index 54%
rename from scripts/ubuntu/build_openvslam_docker.sh
rename to scripts/ubuntu/build_stella_vslam_docker.sh
index a6a78f4c4..2f6ce26a4 100755
--- a/scripts/ubuntu/build_openvslam_docker.sh
+++ b/scripts/ubuntu/build_stella_vslam_docker.sh
@@ -1,12 +1,12 @@
#!/bin/sh
-TOPDIR="$(dirname $(realpath "$0"))"/../../ #openvslam directory
+TOPDIR="$(dirname $(realpath "$0"))"/../../ #stella_vslam directory
(
cd $TOPDIR
# Building Docker Image
- docker build -t openvslam-desktop -f Dockerfile.desktop . --build-arg NUM_THREADS=`expr $(nproc) - 1`
+ docker build -t stella_vslam-desktop -f Dockerfile.desktop . --build-arg NUM_THREADS=`expr $(nproc) - 1`
# Starting Docker Container
# before launching the container, allow display access from local users
@@ -16,10 +16,10 @@ TOPDIR="$(dirname $(realpath "$0"))"/../../ #openvslam directory
if command -v nvidia-container-toolkit &> /dev/null ; then
GPU_OPTION="--gpus all"
fi
- docker run -it --rm ${GPU_OPTION} -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix:ro --volume ${TOPDIR}/dataset:/dataset:ro --volume ${TOPDIR}/vocab:/vocab:ro openvslam-desktop
+ docker run -it --rm ${GPU_OPTION} -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix:ro --volume ${TOPDIR}/dataset:/dataset:ro --volume ${TOPDIR}/vocab:/vocab:ro stella_vslam-desktop
)
# reference
-## https://openvslam-community.readthedocs.io/en/latest/installation.html#chapter-installation
-## https://openvslam-community.readthedocs.io/en/latest/docker.html
+## https://stella-cv.readthedocs.io/en/latest/installation.html#chapter-installation
+## https://stella-cv.readthedocs.io/en/latest/docker.html
diff --git a/scripts/ubuntu/download_sampledata.sh b/scripts/ubuntu/download_sampledata.sh
index 6a6845cf2..fbf236dda 100755
--- a/scripts/ubuntu/download_sampledata.sh
+++ b/scripts/ubuntu/download_sampledata.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-TOPDIR="$(dirname $(realpath "$0"))"/../../ #openvslam directory
+TOPDIR="$(dirname $(realpath "$0"))"/../../ #stella_vslam directory
# create data directory to store downloaded data
mkdir $TOPDIR/dataset
@@ -10,7 +10,7 @@ mkdir $TOPDIR/vocab
# download an ORB vocabulary from GitHub
(
cd ${TOPDIR}/vocab
- curl -sL "https://github.com/OpenVSLAM-Community/FBoW_orb_vocab/raw/main/orb_vocab.fbow" -o orb_vocab.fbow
+ curl -sL "https://github.com/stella-cv/FBoW_orb_vocab/raw/main/orb_vocab.fbow" -o orb_vocab.fbow
)
# download a sample dataset from Google Drive
@@ -30,4 +30,4 @@ mkdir $TOPDIR/vocab
)
# reference
-## https://openvslam-community.readthedocs.io/en/latest/simple_tutorial.html#chapter-simple-tutorial
+## https://stella-cv.readthedocs.io/en/latest/simple_tutorial.html#chapter-simple-tutorial
diff --git a/scripts/windows/Build.bat b/scripts/windows/Build.bat
index 9d1b54521..e68ad2fbe 100644
--- a/scripts/windows/Build.bat
+++ b/scripts/windows/Build.bat
@@ -2,17 +2,17 @@
set param_1=%1
-set openvslam_root="%~dp0\..\.."
+set stella_vslam_root="%~dp0\..\.."
-cd %openvslam_root%
+cd %stella_vslam_root%
if "%param_1%" == "" (
echo No option specified
echo options are:
echo.
- echo setup Build dependencies for openvslam
- echo debug Build openvslam in debug mode
- echo release Build openvslam in release mode
+ echo setup Build dependencies for stella_vslam
+ echo debug Build stella_vslam in debug mode
+ echo release Build stella_vslam in release mode
echo develop Setup Visual Studio solution file
echo clean Clean build and install directory
echo.
@@ -92,4 +92,4 @@ if "%param_1%" == "clean" (
if exist install (
rmdir /s/q install
)
-)
\ No newline at end of file
+)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a9100a9c2..c18a87488 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_subdirectory(openvslam)
+add_subdirectory(stella_vslam)
if(USE_PANGOLIN_VIEWER)
add_subdirectory(pangolin_viewer)
diff --git a/src/pangolin_viewer/CMakeLists.txt b/src/pangolin_viewer/CMakeLists.txt
index 5b56868de..8ba945eda 100644
--- a/src/pangolin_viewer/CMakeLists.txt
+++ b/src/pangolin_viewer/CMakeLists.txt
@@ -32,7 +32,7 @@ if(INSTALL_PANGOLIN_VIEWER)
set(PANGOLIN_VIEWER_INCLUDE_INSTALL_DIR ${INCLUDES_DESTINATION}/pangolin_viewer)
install(TARGETS pangolin_viewer
- EXPORT ${OPENVSLAM_TARGETS_EXPORT_NAME}
+ EXPORT ${STELLA_VSLAM_TARGETS_EXPORT_NAME}
RUNTIME DESTINATION ${RUNTIME_DESTINATION}
LIBRARY DESTINATION ${LIBRARY_DESTINATION}
ARCHIVE DESTINATION ${ARCHIVE_DESTINATION}
diff --git a/src/pangolin_viewer/viewer.cc b/src/pangolin_viewer/viewer.cc
index e6ab9a3a4..a2eff3eb0 100644
--- a/src/pangolin_viewer/viewer.cc
+++ b/src/pangolin_viewer/viewer.cc
@@ -1,20 +1,20 @@
#include "pangolin_viewer/viewer.h"
-#include "openvslam/config.h"
-#include "openvslam/system.h"
-#include "openvslam/data/keyframe.h"
-#include "openvslam/data/landmark.h"
-#include "openvslam/publish/frame_publisher.h"
-#include "openvslam/publish/map_publisher.h"
-#include "openvslam/util/yaml.h"
+#include "stella_vslam/config.h"
+#include "stella_vslam/system.h"
+#include "stella_vslam/data/keyframe.h"
+#include "stella_vslam/data/landmark.h"
+#include "stella_vslam/publish/frame_publisher.h"
+#include "stella_vslam/publish/map_publisher.h"
+#include "stella_vslam/util/yaml.h"
#include
namespace pangolin_viewer {
-viewer::viewer(const YAML::Node& yaml_node, openvslam::system* system,
- const std::shared_ptr& frame_publisher,
- const std::shared_ptr& map_publisher)
+viewer::viewer(const YAML::Node& yaml_node, stella_vslam::system* system,
+ const std::shared_ptr& frame_publisher,
+ const std::shared_ptr& map_publisher)
: system_(system), frame_publisher_(frame_publisher), map_publisher_(map_publisher),
interval_ms_(1000.0f / yaml_node["fps"].as(30.0)),
viewpoint_x_(yaml_node["viewpoint_x"].as(0.0)),
@@ -202,7 +202,7 @@ void viewer::draw_keyframes() {
// frustum size of keyframes
const float w = keyfrm_size_ * *menu_frm_size_;
- std::vector> keyfrms;
+ std::vector> keyfrms;
map_publisher_->get_keyframes(keyfrms);
if (*menu_show_keyfrms_) {
@@ -220,7 +220,7 @@ void viewer::draw_keyframes() {
glLineWidth(graph_line_width_);
glColor4fv(cs_.graph_line_.data());
- const auto draw_edge = [](const openvslam::Vec3_t& cam_center_1, const openvslam::Vec3_t& cam_center_2) {
+ const auto draw_edge = [](const stella_vslam::Vec3_t& cam_center_1, const stella_vslam::Vec3_t& cam_center_2) {
glVertex3fv(cam_center_1.cast().eval().data());
glVertex3fv(cam_center_2.cast().eval().data());
};
@@ -232,7 +232,7 @@ void viewer::draw_keyframes() {
continue;
}
- const openvslam::Vec3_t cam_center_1 = keyfrm->get_cam_center();
+ const stella_vslam::Vec3_t cam_center_1 = keyfrm->get_cam_center();
// covisibility graph
const auto covisibilities = keyfrm->graph_node_->get_covisibilities_over_weight(100);
@@ -244,7 +244,7 @@ void viewer::draw_keyframes() {
if (covisibility->id_ < keyfrm->id_) {
continue;
}
- const openvslam::Vec3_t cam_center_2 = covisibility->get_cam_center();
+ const stella_vslam::Vec3_t cam_center_2 = covisibility->get_cam_center();
draw_edge(cam_center_1, cam_center_2);
}
}
@@ -252,7 +252,7 @@ void viewer::draw_keyframes() {
// spanning tree
auto spanning_parent = keyfrm->graph_node_->get_spanning_parent();
if (spanning_parent) {
- const openvslam::Vec3_t cam_center_2 = spanning_parent->get_cam_center();
+ const stella_vslam::Vec3_t cam_center_2 = spanning_parent->get_cam_center();
draw_edge(cam_center_1, cam_center_2);
}
@@ -265,7 +265,7 @@ void viewer::draw_keyframes() {
if (loop_edge->id_ < keyfrm->id_) {
continue;
}
- const openvslam::Vec3_t cam_center_2 = loop_edge->get_cam_center();
+ const stella_vslam::Vec3_t cam_center_2 = loop_edge->get_cam_center();
draw_edge(cam_center_1, cam_center_2);
}
}
@@ -279,8 +279,8 @@ void viewer::draw_landmarks() {
return;
}
- std::vector> landmarks;
- std::set> local_landmarks;
+ std::vector