Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating the wiki #375

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ This repository contains **maplab 2.0**, an open research-oriented mapping frame
<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">

### Multi-robot mapping and online operation
<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">
<img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/arche.png" width="400"> <img src="https://raw.githubusercontent.com/ethz-asl/maplab/master/docs/pages/readme_images/multirobot.gif" width="400">

### Dense reconstruction
<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">
Expand Down Expand Up @@ -82,7 +82,7 @@ Please cite the following papers [maplab](https://arxiv.org/abs/1711.10250) and

### Additional Citations

Certain components of maplab are directly based on [other publications](https://maplab.asl.ethz.ch/docs/master/pages/overview_and_introduction/B_Citing-Maplab).
Certain components of maplab are directly based on [other publications](https://maplab.asl.ethz.ch/docs/master/pages/overview_and_introduction/B_Citing-Maplab#additional-citations).


## Credits
Expand Down
33 changes: 0 additions & 33 deletions deploy/Dockerfile

This file was deleted.

19 changes: 0 additions & 19 deletions deploy/build_docker.sh

This file was deleted.

17 changes: 0 additions & 17 deletions deploy/build_docker_with_rviz.sh

This file was deleted.

4 changes: 0 additions & 4 deletions deploy/compile.sh

This file was deleted.

23 changes: 0 additions & 23 deletions deploy/copy_to_ctx.sh

This file was deleted.

16 changes: 8 additions & 8 deletions deploy/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ version: "3"

services:
maplab:
image: maplab
build:
context: ./docker_ctx
dockerfile: ../Dockerfile
runtime: nvidia
build: .
environment:
- DISPLAY=${DISPLAY}
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
- QT_X11_NO_MITSHM=1
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- /tmp/maps:/tmp/maps
- ./maplab_ws:/maplab
- ./data:/data
devices:
- "/dev/dri:/dev/dri"
network_mode: host
stdin_open: true
tty: true
12 changes: 12 additions & 0 deletions deploy/docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

source "/opt/ros/$ROS_DISTRO/setup.bash" --
if [ -f "/maplab/devel/setup.bash" ]; then
source "/maplab/devel/setup.bash"
fi

export PATH="/usr/lib/ccache:$PATH"
export CCACHE_DIR="/maplab/.ccache"

exec "$@"
33 changes: 33 additions & 0 deletions deploy/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
FROM osrf/ros:noetic-desktop-full

# Start with an update
RUN apt update

# General system dependencies
RUN apt install -y software-properties-common wget
RUN apt install -y ros-noetic-rviz ros-noetic-tf2-* ros-noetic-camera-info-manager*
RUN sudo apt install -y autotools-dev ccache doxygen dh-autoreconf git \
liblapack-dev libblas-dev libgtest-dev libreadline-dev \
libssh2-1-dev pylint clang-format-12 python3-autopep8 \
python3 python3-catkin-tools python3-pip python-git-doc \
python3-setuptools python3-termcolor python3-wstool \
libatlas3-base libv4l-dev libjpeg-dev

# Python dependencies
RUN pip3 install --upgrade pip
RUN pip3 install requests opencv-python opencv-contrib-python

# (Optional) Install ccache
RUN apt install -y ccache

# Set the docker entrypoint to source ros / maplab
COPY ./docker-entrypoint.sh ./docker-entrypoint.sh
RUN chmod +x ./docker-entrypoint.sh
ENTRYPOINT ["./docker-entrypoint.sh"]

# Set up the catkin workspace
WORKDIR /maplab
RUN catkin init
RUN catkin config --merge-devel
RUN catkin config --extend /opt/ros/noetic
RUN catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
9 changes: 0 additions & 9 deletions deploy/install_base.sh

This file was deleted.

7 changes: 0 additions & 7 deletions deploy/install_packages.sh

This file was deleted.

9 changes: 0 additions & 9 deletions deploy/install_ros.sh

This file was deleted.

6 changes: 0 additions & 6 deletions deploy/set_env.sh

This file was deleted.

2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# Check https://holzhaus.github.io/sphinx-multiversion/master/
# configuration.html#tag-branch-remote-whitelists
smv_tag_whitelist = None # Include no tags
smv_branch_whitelist = r'^(master|wiki_update)$' # Everything is on master now
smv_branch_whitelist = r'^(master)$' # Everything is on master now
smv_remote_whitelist = r'^(origin|upstream)$' # Use origin and upstream

extensions = [
Expand Down
32 changes: 3 additions & 29 deletions docs/pages/datasets/A_Sample-Datasets.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,9 @@
# Sample Datasets

These article points to datasets that can be used with maplab and ROVIOLI.
Some datasets that can be used with maplab.

## CLA dataset (from the paper)
<img src="https://github.com/ethz-asl/maplab/wiki/images/cla/cla_1.png" width="500">

Description | Rosbag |VI map
--------|:------:|:--:
Calibration data for CLA rosbags | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/calibration/) | -
CLA floor F for map building | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/bags/cla_floor_f.bag) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/vi_maps/cla_floor_f.tar.gz)
CLA floor G for map building | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/bags/cla_floor_g.bag) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/vi_maps/cla_floor_g.tar.gz)
CLA floor H for map building | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/bags/cla_floor_h.bag) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/vi_maps/cla_floor_h.tar.gz)
CLA floor J for map building | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/bags/cla_floor_j.bag) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/vi_maps/cla_floor_j.tar.gz)
CLA floor F for localization | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/multi_session_mapping_CLA/bags/cla_floor_f_v2_for_localization.bag) | -
Merged and optimized VI map of CLA floors F, G, H and J | - | *coming soon*

## Zurich old town dataset (from the paper)
<img src="images/zurich_old_town_landmarks_optimized.gif" width="500">


Description | Type |Link
--------|------|--
Optimized map | VI map | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/zurich_old_town_maps/zurich_old_town.tar.gz)

## EuRoC MAV datasets (from the paper)
## EuRoC MAV datasets
<img src="https://github.com/ethz-asl/maplab/wiki/images/multi-map-initial.png" width="500">

Description | Rosbag | VI map (unoptimized) | VI map for reconstruction (with images)
-----|:---:|:---:|:----:
MH01 | [Link](http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.bag) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/euroc_vi_maps/MH_01_easy.tar.gz) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/stereo_reconstruction_EuRoC/euroc_ml1.tar.gz)
MH02 | [Link](http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_02_easy/MH_02_easy.bag) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/euroc_vi_maps/MH_02_easy.tar.gz) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/stereo_reconstruction_EuRoC/euroc_ml2.tar.gz)
MH03 | [Link](http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_03_medium/MH_03_medium.bag) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/euroc_vi_maps/MH_03_medium.tar.gz) | [Link](http://robotics.ethz.ch/~asl-datasets/maplab/stereo_reconstruction_EuRoC/euroc_ml3.tar.gz)
Rosbags for the other EuRoC datasets can be downloaded from [here](http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets). Calibration files are already included in the example folder for EuRoC in maplab [here](https://github.com/ethz-asl/maplab/blob/master/applications/maplab-node/launch/euroc/calib/euroc.yaml).

Rosbags for the other EuRoC datasets can be downloaded from [here](http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets).
96 changes: 96 additions & 0 deletions docs/pages/installation/A_Installation-Ubuntu-18.04.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
## Installing on Ubuntu 18.04

**WARNING:** The [external features](https://github.com/ethz-asl/maplab_features) package is only supported in Ubuntu 20.04 due to conflicts between python2 and python3 in Ubuntu 18.04. If you don't need external features (*e.g.* SIFT or SuperGlue), but only the built in BRISK you can continue with this.

#### Install required system packages
```bash
# Install ROS (follow the official ROS installation instructions).
sudo apt install software-properties-common
sudo add-apt-repository "deb http://packages.ros.org/ros/ubuntu bionic main"
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
sudo apt update
sudo apt install -y ros-melodic-desktop-full ros-melodic-tf2-* ros-melodic-camera-info-manager*

# Install framework dependencies.
sudo apt install -y autotools-dev ccache doxygen dh-autoreconf git \
liblapack-dev libblas-dev libgtest-dev libreadline-dev \
libssh2-1-dev pylint clang-format-10 python-autopep8 \
python python-catkin-tools python-pip python-git \
python-setuptools python-termcolor python-wstool \
libatlas3-base libv4l-dev libjpeg-dev

pip install --user --upgrade pip
pip install --user requests opencv-python opencv-contrib-python
```

#### Update the ROS environment
Follow this if you freshly installed ROS, if you already had ROS installed you can skip this.

```bash
sudo rosdep init
rosdep update
echo ". /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
```

#### Install ccache for faster rebuilds.
(OPTIONAL but HIGHLY RECOMMENDED)

ccache is a tool that caches intermediate build files to speed up rebuilds of the same code. On Ubuntu it can be set up with the following command. The max. cache size is set to 10GB and can be adapted in the lines below:

```bash
sudo apt install -y ccache
echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
source ~/.bashrc
ccache --max-size=10G
```

Now g++/gcc should now point to:
```
which g++ gcc
/usr/lib/ccache/g++
/usr/lib/ccache/gcc
```
Show cache statistics:
```
ccache -s
```
Empty the cache and reset the stats:
```
ccache -C -z
```

#### Create a catkin workspace
To create a workspace, run:
```bash
mkdir -p maplab_ws/src
cd maplab_ws
catkin init
catkin config --merge-devel
catkin config --extend /opt/ros/melodic
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
```

For debugging and a more informative and readable output use:
```bash
catkin config --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS=-fdiagnostics-color
```

#### Cloning maplab repository
Now you can clone maplab and its dependencies.

```bash
cd src
git clone [email protected]:ethz-asl/maplab.git --recursive
```

#### Building maplab
```bash
cd ~/maplab_ws
catkin build maplab
```
**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`.

#### Troubleshooting

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).
Loading