Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Cartographer is no longer actively maintained. On rare occasions critical pull requests may be merged, but no new development is currently taking place, including issue response. If you are installing Cartographer in ROS 1 / ROS 2 using a binary package that package is a fork of this repository. The ROS fork of Cartographer is only maintained in a limited capacity. No new development takes place on this fork, but pull requests may be merged at the maintainers' discretion.
The ROS fork of Cartographer, and the ROS wrapper library, can be found at these locations:
Additional discussion can be found in this ROS Discourse thread.
- Learn to use Cartographer at our Read the Docs site.
- You can ask a question by creating an issue.
# Dependencies
sudo apt update
sudo apt dist-upgrade
sudo apt install -y \
clang \
cmake \
g++ \
git \
google-mock \
libboost-all-dev \
libcairo2-dev \
libceres-dev \
libcurl4-openssl-dev \
libeigen3-dev \
libgflags-dev \
libgoogle-glog-dev \
liblua5.2-dev \
libsuitesparse-dev \
lsb-release \
ninja-build \
python3-sphinx \
stow
# JUST FOR Ubuntu 20.04 LTS (Focal)
sudo apt install -y libgmock-dev protobuf-compiler
# Build and install Cartographer.
cd cartographer
mkdir build && cd build
cmake .. -G Ninja
ninja
CTEST_OUTPUT_ON_FAILURE=1 ninja test
sudo ninja installNote: you may need to manually install Abseil manually.
# Install dependencies of cartographer before installing abseil
git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp/
git checkout 215105818dfde3174fe799600bb0f3cae233d0bf # tag 20211102.0
mkdir build && cd build
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local/stow/absl \
..
ninja
sudo ninja install
cd /usr/local/stow
sudo stow abslNote: you may need to comment the documentation generation if the Ninja command fails.
sousarbarb97@exodus:~/srrg_ros1_ws/src/cartographer$ git diff CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ef2fcb3..2782101 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,10 +63,10 @@ else()
endif()
# Only build the documentation if we can find Sphinx.
-find_package(Sphinx)
-if(SPHINX_FOUND)
- add_subdirectory("docs")
-endif()
+#find_package(Sphinx)
+#if(SPHINX_FOUND)
+# add_subdirectory("docs")
+#endif()
# Install catkin package.xml
install(FILES package.xml DESTINATION share/cartographer)See https://google-cartographer.readthedocs.io/en/latest/index.html#getting-started-without-ros for the official instructions on how to build and install Cartographer.
You can find information about contributing to Cartographer at our Contribution page.
In the past there had been regular open-for-all meetings to discuss progress and plans for Cartographer. Slides of these Cartographer Open House meetings are listed below.
- March 14, 2019: Slides
- February 21, 2019: Slides
- January 17, 2019: Slides
- November 22, 2018: Slides
- October 25, 2018: Slides
- September 13, 2018: Slides
- August 16, 2018: Slides
- August 2, 2018: Slides
- July 5, 2018: Slides
- June 21, 2018: Slides
- June 7, 2018: Slides
- May 24, 2018: Slides
- May 3, 2018: Slides
- March 29, 2018: Slides
- February 22, 2018: Slides
- February 8, 2018: Slides
- January 18, 2018: Slides
- January 11, 2018: Slides
- December 7, 2017: Slides
- November 23, 2017: Slides
- November 9, 2017: Slides
- October 26, 2017: Slides
- October 12, 2017: Slides
- September 14, 2017: Slides
- August 17, 2017: Slides
- July 20, 2017: Slides
- July 6, 2017: Slides
- June 22, 2017: Slides
- June 8, 2017: Slides
