Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fabianschenk/RESLAM
RESLAM: A real-time robust edge-based SLAM system
https://github.com/fabianschenk/RESLAM
Last synced: 6 days ago
JSON representation
RESLAM: A real-time robust edge-based SLAM system
- Host: GitHub
- URL: https://github.com/fabianschenk/RESLAM
- Owner: fabianschenk
- License: gpl-3.0
- Created: 2019-02-26T12:36:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-12-04T10:59:23.000Z (almost 5 years ago)
- Last Synced: 2024-08-02T07:06:58.595Z (3 months ago)
- Language: C++
- Size: 236 KB
- Stars: 324
- Watchers: 15
- Forks: 90
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-SLAM - RESLAM - time robust edge-based SLAM system (2. Visual SLAM / 2.4 RGBD)
README
# RESLAM: A real-time robust edge-based SLAM system
**Please note that RESLAM is a research project and its code is released without any warranty. RESLAM will most likely not be developed any further**
In this work, we present **RESLAM**, a robust edge-based SLAM system for RGBD sensors. Edges are more stable under varying lighting conditions than raw intensity values, which leads to higher accuracy and robustness in scenes, where feature- or photoconsistency-based approaches often fail. The results show that our method performs best in terms of trajectory accuracy for most of the sequences indicating that edges are suitable for a multitude of scenes.
## If you use this work, please cite any of the following publications:
* **RESLAM: A real-time robust edge-based SLAM system**, Schenk Fabian, Fraundorfer Friedrich, ICRA 2019, [pdf](https://github.com/fabianschenk/fabianschenk.github.io/raw/master/files/schenk_icra_2019.pdf)
* **Combining Edge Images and Depth Maps for Robust Visual Odometry**, Schenk Fabian, Fraundorfer Friedrich, BMVC 2017, [pdf](https://github.com/fabianschenk/fabianschenk.github.io/raw/master/files/schenk_bmvc_2018.pdf),[video](https://youtu.be/uj3rRyqSEnQ)
* **Robust Edge-based Visual Odometry using Machine-Learned Edges**, Schenk Fabian, Fraundorfer Friedrich, IROS 2017, [pdf](https://github.com/fabianschenk/fabianschenk.github.io/raw/master/files/schenk_iros_2017.pdf), [video](https://youtu.be/PUTV9vsdpbA)## License
RESLAM is licensed under the [GNU General Public License Version 3 (GPLv3)](http://www.gnu.org/licenses/gpl.html).If you want to use this software commercially, please contact us.
## Building the framework
So far, the framework has only been built and tested on the following system.
### Requirements
* [Ubuntu 16.04, 15.10, 17.04](https://www.ubuntu.com/)
* [OpenCV > 3](http://opencv.org/)
* [Eigen > 3.3](http://eigen.tuxfamily.org/index.php?title=Main_Page)
* [Ceres >= 1.13](http://ceres-solver.org/installation.html)[Sophus](https://github.com/strasdat/Sophus) is now part of this repository (in thirdparty/Sophus).
Building on Windows and backwards compatibility might be added in the future.
### Optional
Set the optional packages in the cmake-gui
* [Pangolin](https://github.com/stevenlovegrove/Pangolin) (for graphical viewer)### Build commands
```bash
git clone https://github.com/fabianschenk/RESLAM
cd RESLAM
mkdir build
cd build
cmake . ..
make -j
```### Known Issues
#### Segmentation Fault with Ceres/Eigen [#2](https://github.com/fabianschenk/RESLAM/issues/2), and [#3](https://github.com/fabianschenk/RESLAM/issues/3).
Some people report a problem with Ceres/Eigen.
Please, have a look at [#2](https://github.com/fabianschenk/RESLAM/issues/2), and [#3](https://github.com/fabianschenk/RESLAM/issues/3).
Make sure that you have the latest (stable) [Eigen version 3.3.X](http://eigen.tuxfamily.org/index.php?title=Main_Page) and that it matches the one used by Ceres.#### Segmentation fault after repeated tracking losses [#3](https://github.com/fabianschenk/RESLAM/issues/3)
In some sequences, e.g. `freiburg2_large_with_loop`, there are depth maps containing mostly invalid values.
The problem is that the Kinect and most other RGBD sensors cannot reconstruct surfaces far away from sensor (around > 6 m) due to the small baseline of the sensor.
In such cases, RESLAM does not work and might fail with a segmentation fault after repeated tracking losses. This issue will hopefully be fixed in the future.## How to reproduce the results from the paper
**If you enable multi-threading, results might differ a bit since float additions are not executed in the same order during each run!**
### [TUM dataset](https://vision.in.tum.de/data/datasets/rgbd-dataset)
Download the sequence you want to test and specify the "associate.txt" file in the dataset_tumX.yaml settings file.To generate an "associate.txt" file, first download the "associate.py" script from [TUM RGBD Tools](https://svncvpr.in.tum.de/cvpr-ros-pkg/trunk/rgbd_benchmark/rgbd_benchmark_tools/src/rgbd_benchmark_tools/) and then run
```bash
python associate.py DATASET_XXX/rgb.txt DATASET_XXX/depth.txt > associate.txt
```
in the folder, where your dataset is.
In the "RESLAM" directory:
```bash
build/RESLAM config_files/reslam_settings.yaml config_files/dataset_tum1.yaml
```
For evaluation of the absolute trajectory error (ATE) and relative pose error (RPE) download the corresponding scripts from [TUM RGBD Tools](https://svncvpr.in.tum.de/cvpr-ros-pkg/trunk/rgbd_benchmark/rgbd_benchmark_tools/src/rgbd_benchmark_tools/).
## Supported SensorsSupport for other sensors such as Orbbec Astra Pro and Intel RealSense can be adapted from [REVO](https://github.com/fabianschenk/REVO).