Skip to content

lunarlab-gatech/maplab

 
 

Repository files navigation

Maplab

Our fork of the Maplab repository for evaluation as a baseline running on the HERCULES dataset.

Install

Docker Setup

Make sure to install:

Then, clone this repository into a src folder in a ros workspace on your computer with the following command:

git clone [email protected]:lunarlab-gatech/maplab.git --recursive -b master

After that, navigate to the docker directory. Log in to the user that you want the docker file to create in the container. Then, edit the DOCKERFILE to update these lines:

  • ARG USERNAME=: Your username
  • ARG USER_UID=: Output of echo $UID
  • ARG USER_GID=: Output of id -g

Edit the enter_container.sh script with the following paths:

  • DATA_DIR=: The directory where the datasets are located
  • WS_DIR=: The directory of the ROS workspace

Now, run the following commands:

build_container.sh
run_container.sh

The rest of this README assumes that you are inside the Docker container. For easier debugging and use, its highly recommended to install the VSCode Docker extension, which allows you to start/stop the container and additionally attach VSCode to the container by right-clicking on the container and selecting Attach Visual Studio Code.

Maplab Install

Run these commands from the root directory of the ros workspace:

catkin init
catkin config --merge-devel
catkin config --extend /opt/ros/noetic
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build maplab

Examples

EuRoC Dataset

First, make changes to the following variables (to update data and user directory names):

maplab_server_merged_map_folder (applications/maplab-server-node/cfg/maplab_server_ros_params.yaml)
euroc_bags_folder (applications/maplab-server-node/launch/euroc/euroc-maplab-server-robots.launch)
euroc_root_map_directory (applications/maplab-server-node/launch/euroc/euroc-maplab-server-robots.launch)

Then run the following command to run maplab:

tmuxp load applications/maplab-server-node/launch/euroc/euroc_tmuxp_launch.yaml

After that, run the maplab-console with the following:

applications/maplab-server-node/launch/euroc/euroc_vis_map.yaml

The maplab-console will specify where the output trajectories were saved.

Hercules Dataset

First, make changes to the following variables (to update data and user directory names):

hercules_bags_folder (applications/maplab-server-node/launch/hercules/hercules-maplab-server-robots.launch)
hercules_root_map_directory (applications/maplab-server-node/launch/hercules/hercules-maplab-server-robots.launch)
shell_command_before (applications/maplab-server-node/launch/hercules/hercules_tmuxp_launch.yaml)

Then run the following command to run maplab:

tmuxp load src/maplab/applications/maplab-server-node/launch/hercules/hercules_tmuxp_launch.yaml

About

A Modular and Multi-Modal Mapping Framework

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.6%
  • CMake 0.8%
  • C 0.2%
  • Python 0.2%
  • Shell 0.1%
  • MATLAB 0.1%