- High level structure of Cartographer
Cartographer is a standalone C++ library. To get started quickly, use our ROS integration.
Getting started with ROS¶
Getting started without ROS¶
Please see our ROS integration as a starting point for integrating your system with the standalone library. Currently, it is the best available reference.
On Ubuntu 14.04 (Trusty):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# Install the required libraries that are available as debs. sudo apt-get update sudo apt-get install -y \ cmake \ g++ \ git \ google-mock \ libboost-all-dev \ libcairo2-dev \ libeigen3-dev \ libgflags-dev \ libgoogle-glog-dev \ liblua5.2-dev \ libprotobuf-dev \ libsuitesparse-dev \ ninja-build \ protobuf-compiler \ python-sphinx
1 2 3 4 5 6 7 8 9
# Build and install Ceres. git clone https://ceres-solver.googlesource.com/ceres-solver cd ceres-solver mkdir build cd build cmake .. -G Ninja ninja ninja test sudo ninja install
1 2 3 4 5 6 7 8
# Build and install Cartographer. cd cartographer mkdir build cd build cmake .. -G Ninja ninja ninja test sudo ninja install
Although Cartographer may run on other systems, it is confirmed to be working on systems that meet the following requirements:
- 64-bit, modern CPU (e.g. 3rd generation i7)
- 16 GB RAM
- Ubuntu 14.04 (Trusty) and 16.04 (Xenial)
- gcc version 4.8.4 and 5.4.0
- 32-bit builds have libeigen alignment problems which cause crashes and/or memory corruptions.
How to cite us¶
Background about the algorithms developed for Cartographer can be found in the following publication. If you use Cartographer for your research, we would appreciate it if you cite our paper.
W. Hess, D. Kohler, H. Rapp, and D. Andor, Real-Time Loop Closure in 2D LIDAR SLAM, in Robotics and Automation (ICRA), 2016 IEEE International Conference on. IEEE, 2016. pp. 1271–1278.