Skip to content

Commit 5d81bc7

Browse files
authored
Merge pull request #370 from ethz-asl/wiki_update
Updating wiki to maplab 2.0 part 1
2 parents a59e5e2 + bef16be commit 5d81bc7

16 files changed

+169
-463
lines changed

README.md

Lines changed: 35 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="https://github.com/ethz-asl/maplab/wiki/logos/maplab_new.png" width="500">
1+
<img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/logos/maplab_new.png" width="500">
22

33

44
*Ubuntu 18.04+ROS melodic*: [![Build Status](https://jenkins.asl.ethz.ch/buildStatus/icon?job=maplab_nightly)](https://jenkins.asl.ethz.ch/job/maplab_nightly)
@@ -20,75 +20,70 @@ This repository contains **maplab 2.0**, an open research-oriented mapping frame
2020
## Features
2121

2222
### Robust visual-inertial odometry with localization
23-
<img src="https://github.com/ethz-asl/maplab/wiki/readme_images/rovio_stairs.gif" width="400"> <img src="https://github.com/ethz-asl/maplab/wiki/readme_images/rviz_cla_vs.gif" width="400">
23+
<img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/rovio_stairs.gif" width="400"> <img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/rviz_cla_vs.gif" width="400">
2424

2525
### Large-scale multisession mapping and optimization
26-
<img src="https://github.com/ethz-asl/maplab/wiki/readme_images/largescale.gif" width="400"> <img src="https://github.com/ethz-asl/maplab/wiki/readme_images/cla.png" width="400">
26+
<img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/largescale.gif" width="400"> <img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/cla.png" width="400">
27+
28+
### Multi-robot mapping and online operation
29+
<img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/arche.jpg" width="400"> <img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/multirobot.gif" width="400">
2730

2831
### Dense reconstruction
29-
<img src="https://github.com/ethz-asl/maplab/wiki/readme_images/stereo.png" width="400"> <img src="https://github.com/ethz-asl/maplab/wiki/readme_images/pmvs.png" width="400">
32+
<img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/stereo.png" width="400"> <img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/pmvs.png" width="400">
3033

3134
### A research platform extensively tested on real robots
32-
<img src="https://github.com/ethz-asl/maplab/wiki/readme_images/topomap.png" width="400"> <img src="https://github.com/ethz-asl/maplab/wiki/readme_images/robots.jpg" width="400">
35+
<img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/topomap.png" width="400"> <img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/robots.jpg" width="400">
3336

3437
## Installation and getting started
3538

3639
The following articles help you with getting started with maplab and ROVIOLI:
3740

38-
<!-- TODO(floriantschopp): Update links to new wiki -->
39-
- [Installation on Ubuntu 18.04 or 20.04](https://maplab.asl.ethz.ch/pages/installation/A_Installation-Ubuntu.html)
40-
- [Introduction to the maplab framework](https://maplab.asl.ethz.ch/pages/overview_and_introduction/A_Introduction-to-the-Maplab-Framework.html)
41-
- [Structure of the framework](https://maplab.asl.ethz.ch/pages/overview_and_introduction/B_Structure-of-the-framework.html)
42-
- [Running ROVIOLI in VIO mode](https://maplab.asl.ethz.ch/pages/tutorials-rovioli/B_Running-ROVIOLI-in-VIO-mode.html)
43-
- [Basic console usage](https://maplab.asl.ethz.ch/pages/tutorials-maplab/basics/A_Basic-Console-Usage.html)
44-
- [Console map management](https://maplab.asl.ethz.ch/pages/tutorials-maplab/basics/C_Console-map-management.html)
41+
- [Installation on Ubuntu 18.04 or 20.04](https://maplab.asl.ethz.ch/docs/master/pages/installation/A_Installation-Ubuntu.html)
42+
- [Introduction to the maplab framework](https://maplab.asl.ethz.ch/docs/master/pages/overview_and_introduction/A_The-Maplab-Framework.html)
43+
- [Running ROVIOLI in VIO mode](https://maplab.asl.ethz.ch/docs/master/pages/tutorials-rovioli/B_Running-ROVIOLI-in-VIO-mode.html)
44+
- [Basic console usage](https://maplab.asl.ethz.ch/docs/master/pages/tutorials-maplab/basics/A_Basic-Console-Usage.html)
45+
- [Console map management](https://maplab.asl.ethz.ch/docs/master/pages/tutorials-maplab/basics/C_Console-map-management.html)
4546

46-
**More detailed information can be found in the [wiki pages](https://maplab.asl.ethz.ch/docs/develop/index.html).**
47+
**More detailed information can be found in the [wiki pages](https://maplab.asl.ethz.ch/index.html).**
4748

4849
## Research Results
4950

50-
The maplab framework has been used as an experimental platform for numerous scientific publications. For a complete list of publications please refer to [Research based on maplab](https://maplab.asl.ethz.ch/pages/overview_and_introduction/C_Related-Research.html).
51+
The maplab framework has been used as an experimental platform for numerous scientific publications. For a complete list of publications please refer to [Research based on maplab](https://maplab.asl.ethz.ch/docs/master/pages/overview_and_introduction/C_Related-Research.html#additional-citations).
5152

5253
## Citing
5354

54-
Please cite the [following paper](https://arxiv.org/abs/1711.10250) when using maplab for your research:
55+
Please cite the following papers [maplab](https://arxiv.org/abs/1711.10250) and [maplab 2.0](https://arxiv.org/abs/2212.00654) when using our framework for your research:
5556

5657
```bibtex
5758
@article{schneider2018maplab,
58-
title={maplab: An Open Framework for Research in Visual-inertial Mapping and Localization},
59+
title={{maplab: An Open Framework for Research in Visual-inertial Mapping and Localization}},
5960
author={T. Schneider and M. T. Dymczyk and M. Fehr and K. Egger and S. Lynen and I. Gilitschenski and R. Siegwart},
6061
journal={IEEE Robotics and Automation Letters},
62+
volume={3},
63+
number={3},
64+
pages={1418--1425},
6165
year={2018},
6266
doi={10.1109/LRA.2018.2800113}
6367
}
6468
```
6569

70+
```bibtex
71+
@article{cramariuc2022maplab,
72+
title={{maplab 2.0 – A Modular and Multi-Modal Mapping Framework}},
73+
author={A. Cramariuc and L. Bernreiter and F. Tschopp and M. Fehr and V. Reijgwart and J. Nieto and R. Siegwart and C. Cadena},
74+
journal={IEEE Robotics and Automation Letters},
75+
volume={8},
76+
number={2},
77+
pages={520-527},
78+
year={2023},
79+
doi={10.1109/LRA.2022.3227865}
80+
}
81+
```
82+
6683
### Additional Citations
6784

68-
Certain components of maplab are directly using the code of the following publications:
69-
70-
* Localization:
71-
```bibtex
72-
@inproceedings{lynen2015get,
73-
title={Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization.},
74-
author={Lynen, Simon and Sattler, Torsten and Bosse, Michael and Hesch, Joel A and Pollefeys, Marc and Siegwart, Roland},
75-
booktitle={Robotics: Science and Systems},
76-
year={2015}
77-
}
78-
```
79-
* ROVIOLI which is composed of ROVIO + maplab for map building and localization:
80-
```bibtex
81-
@article{bloesch2017iterated,
82-
title={Iterated extended Kalman filter based visual-inertial odometry using direct photometric feedback},
83-
author={Bloesch, Michael and Burri, Michael and Omari, Sammy and Hutter, Marco and Siegwart, Roland},
84-
journal={The International Journal of Robotics Research},
85-
volume={36},
86-
number={10},
87-
pages={1053--1072},
88-
year={2017},
89-
publisher={SAGE Publications Sage UK: London, England}
90-
}
91-
```
85+
Certain components of maplab are directly based on [other publications](https://maplab.asl.ethz.ch/docs/master/pages/overview_and_introduction/B_Citing-Maplab).
86+
9287

9388
## Credits
9489

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
# Check https://holzhaus.github.io/sphinx-multiversion/master/
2222
# configuration.html#tag-branch-remote-whitelists
2323
smv_tag_whitelist = None # Include no tags
24-
smv_branch_whitelist = r'^(master)$' # Everything is on master now
24+
smv_branch_whitelist = r'^(master|wiki_update)$' # Everything is on master now
2525
smv_remote_whitelist = r'^(origin|upstream)$' # Use origin and upstream
2626

2727
extensions = [
68.3 KB
Loading

docs/pages/installation/A_Installation-Ubuntu.md

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
1-
## Installing on Ubuntu
2-
14.04 (depricated), 16.04, 18.04, 20.04 (experimental)
3-
### Automatic installation
4-
For your convenience, we provide an install script to automate the whole installtion. Please make sure that you have an [SSH key activated on your GitHub account.](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
5-
To install maplab, use the following commands
6-
```bash
7-
wget https://raw.githubusercontent.com/ethz-asl/maplab/develop/install.sh
8-
bash install.sh # Use the argument "experimental" to also install our latest features if your are eligible. Do not use sudo.
9-
```
1+
## Installing on Ubuntu
2+
18.04, 20.04 (experimental)
103

114
### Manual installation
12-
If you prefer manually installing all compoments, following this guideline.
5+
First set up some basic environment variables
136

14-
```bash
15-
export UBUNTU_VERSION=$(lsb_release -cs) #(Ubuntu 14.04: trusty (depricated), Ubuntu 16.04: xenial, Ubuntu 18.04: bionic, Ubuntu 20.04: focal (experimental))
16-
export ROS_VERSION=melodic #(Ubuntu 14.04: indigo (depricated), Ubuntu 16.04: kinetic, Ubuntu 18.04: melodic, Ubuntu 20.04: noetic (experimental))
17-
export CATKIN_WS=~/maplab_ws
7+
```bash
8+
export UBUNTU_VERSION=$(lsb_release -cs) #(Ubuntu 18.04: bionic, Ubuntu 20.04: focal (experimental))
9+
export ROS_VERSION=melodic #(Ubuntu 18.04: melodic, Ubuntu 20.04: noetic (experimental))
10+
export CATKIN_WS=~/maplab_ws #(Wherever you want to install maplab)
1811
```
1912

2013
#### Install required system packages
2114
```bash
2215
# Install ROS
23-
# NOTE: Follow the official ROS installation instructions for melodic.
16+
# NOTE: Follow the official ROS installation instructions.
2417
sudo apt install software-properties-common
2518
sudo add-apt-repository "deb http://packages.ros.org/ros/ubuntu $UBUNTU_VERSION main"
2619
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
@@ -29,12 +22,13 @@ sudo apt install ros-$ROS_VERSION-desktop-full "ros-$ROS_VERSION-tf2-*" "ros-$RO
2922

3023

3124
# Install framework dependencies.
32-
sudo apt install autotools-dev ccache doxygen dh-autoreconf git liblapack-dev libblas-dev libgtest-dev libreadline-dev libssh2-1-dev pylint clang-format-3.9 python-autopep8 python-catkin-tools python-pip python-git python-setuptools python-termcolor python-wstool libatlas3-base libv4l-dev --yes
25+
sudo apt install autotools-dev ccache doxygen dh-autoreconf git liblapack-dev libblas-dev libgtest-dev libreadline-dev libssh2-1-dev pylint clang-format-6.0 python-autopep8 python-catkin-tools python-pip python-git python-setuptools python-termcolor python-wstool libatlas3-base libv4l-dev --yes
3326

34-
sudo pip install requests
27+
pip install requests
3528
```
3629

3730
#### Update ROS environment
31+
Follow this if you freshly installed ROS, if you already had ROS installed you can skip this.
3832

3933
```bash
4034
sudo rosdep init
@@ -53,11 +47,8 @@ echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc &&\
5347
source ~/.bashrc && echo $PATH
5448
ccache --max-size=10G
5549
```
56-
Your path (at least the beginning) should look like:
57-
```
58-
/usr/lib/ccache:/usr/local/cuda-5.5/bin/:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
59-
```
60-
And g++/gcc should now point to:
50+
51+
Now g++/gcc should now point to:
6152
```
6253
which g++ gcc
6354
/usr/lib/ccache/g++
@@ -72,8 +63,8 @@ Empty the cache and reset the stats:
7263
ccache -C -z
7364
```
7465
ccache only works for a clean workspace. You will need a `make clean` otherwise.
75-
#### Create a catkin workspace
7666

67+
#### Create a catkin workspace
7768
To create a workspace, run:
7869
```bash
7970
mkdir -p $CATKIN_WS/src
@@ -82,17 +73,19 @@ catkin init
8273
catkin config --merge-devel # Necessary for catkin_tools >= 0.4.
8374
catkin config --extend /opt/ros/$ROS_VERSION
8475
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
76+
```
8577

86-
# For more informative and readable output.
78+
For more informative and readable output use:
79+
```bash
8780
catkin config --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS=-fdiagnostics-color
88-
cd src
8981
```
9082

9183
#### Cloning maplab repository
9284
Now you can clone maplab and its dependencies via SSH, https clone is not supported for developer version.
93-
SSH keys need to be installed and connected to your GitHub account, as explained [here.](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
85+
SSH keys need to be installed and connected to your GitHub account, as explained [here](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).
9486

9587
```bash
88+
cd src
9689
git clone [email protected]:ethz-asl/maplab.git --recursive -b develop
9790
```
9891

@@ -110,8 +103,8 @@ cd $CATKIN_WS/src/maplab
110103
cd $CATKIN_WS
111104
catkin build maplab
112105
```
113-
**Note:** Currently some of our dependencies contain superfluous packages that will not have all the necessary dependencies. Therefore compilation will fail for these packages, if you try to build the complete workspace with: `catkin build`. Please have a look at the [FAQ](../overview_and_introduction/D_FAQ.md).
106+
**Note:** Currently some of our dependencies contain superfluous packages that will not have all the necessary dependencies. Therefore compilation will fail for these packages, if you try to build the complete workspace with: `catkin build`.
114107

115108
#### Troubleshooting
116109

117-
Please visit the [FAQ](../overview_and_introduction/D_FAQ.md) section.
110+
Please visit the [FAQ](../overview_and_introduction/D_FAQ.html#installation) and the additional instructions on debugging provided here [here](B_Compilation-and-Debugging.html).
Lines changed: 2 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## Compilation and Debugging
22

33
### Use ccache
4-
ccache is a fast compiler cache. It is a program that is sitting in front of gcc and monitors what is being compiled. If a file was compiled before in the exact same state, then ccache will serve a compilation request from cache and thus lead to "instant" compilation.
4+
ccache is a fast compiler cache. It is a program that sits in front of gcc and monitors what is being compiled. If a file was compiled before in the exact same state, then ccache will serve a compilation request from cache and thus lead to "instant" compilation.
55

66
To install ccache:
77
```bash
@@ -23,10 +23,6 @@ If you only changed a single package you can also restrict the build process to
2323
```
2424
catkin build maplab --no-deps
2525
```
26-
Even more efficient is invoking ```make -j8``` in the build folder of the package
27-
```
28-
cd ~/catkin_ws/build/maplab && make -j8
29-
```
3026

3127
### Compile in Release/Debug mode
3228
Most packages are not built in Release mode. To build packages in Release mode:
@@ -82,87 +78,4 @@ gdb --ex run --args ~/devel/lib/maplab/maplab --use_external_memory=false
8278
```
8379
Where ```--use_external_memory=false``` is just an example flag.
8480

85-
### Clang on Ubuntu 14.04
86-
Clang 3.5 can be installed with
87-
```
88-
sudo apt-get install clang-3.5
89-
```
90-
and set as the default compiler with:
91-
```
92-
sudo update-alternatives --config c++
93-
sudo update-alternatives --config cc
94-
```
95-
96-
If you are using clang together with ccache on Ubuntu 14.04 you should consider updating the system's ccache version.
97-
98-
### Compile clang with openmp support on Ubuntu 14.04
99-
100-
Get the sources:
101-
102-
```
103-
mkdir -p /tmp/llvm-clang-omp
104-
cd /tmp/llvm-clang-omp
105-
git clone https://github.com/clang-omp/llvm
106-
git clone https://github.com/clang-omp/compiler-rt llvm/projects/compiler-rt
107-
git clone -b clang-omp https://github.com/clang-omp/clang llvm/tools/clang
108-
```
109-
110-
Build and time for several coffees:
111-
112-
```
113-
mkdir -p /tmp/llvm-clang-omp/build
114-
cd /tmp/llvm-clang-omp/build
115-
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../llvm
116-
make -j8
117-
```
118-
119-
Remove old packages and install the compiler and Intel runtime.
120-
121-
```
122-
sudo apt-get install checkinstall libiomp-dev
123-
sudo apt-get remove clang-* llvm-* libclang*
124-
125-
cd /tmp/llvm-clang-omp/build
126-
checkinstall
127-
```
128-
Set a meaningful name for the package and let it conflict with the system's clang packages if you want to exclude the possibility of different versions conflicting.
129-
130-
Set as default compiler:
131-
132-
```
133-
sudo rm /etc/alternatives/cc
134-
sudo rm /etc/alternatives/c++
135-
136-
sudo ln -s /usr/local/bin/clang-3.5 /etc/alternatives/cc
137-
sudo ln -s /usr/local/bin/clang++ /etc/alternatives/c++
138-
```
139-
140-
### Upgrade ccache on Ubuntu 14.04
141-
Ubuntu 14.04 delivers ccache 3.1.9 that has no official clang support. A manual update to a version of ccache >= 3.2.0 is recommended when using clang. The following steps can be used to perform this update:
142-
143-
```
144-
sudo apt-get install devscripts
145-
mkdir -p /tmp/ccache
146-
```
147-
148-
Get the current distro source package:
149-
```
150-
cd /tmp/ccache
151-
apt-get build-dep ccache
152-
apt-get source ccache
153-
```
154-
155-
Upgrade the distro source package with the recent upstream source:
156-
```
157-
cd /tmp/ccache
158-
wget http://samba.org/ftp/ccache/ccache-3.2.1.tar.gz
159-
cd ccache-3.1.9
160-
uupdate ../ccache-3.2.1.tar.gz
161-
```
162-
163-
Build binary package and install:
164-
```
165-
cd /tmp/ccache/ccache-3.2.1
166-
dpkg-buildpackage -us -uc -nc
167-
sudo dpkg -i ../ccache_3.2.1-0ubuntu1_amd64.deb
168-
```
81+
For adding gdb or valgrind to ROS launch files see examples [here](http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20Nodes%20in%20Valgrind%20or%20GDB).

docs/pages/overview_and_introduction/A_Introduction-to-the-Maplab-Framework.md

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)