2D-Mapping

We use Google's Cartographer for 2D-mapping the environment. The robot is controlled from a remote computer using a joystick, where the camera stream is displayed real time:

Compiling Google Cartographer

Install the following dependencies

~/ws$ sudo apt-get install libgoogle-glog-dev libgflags-dev
~/ws$ sudo apt-get install libatlas-base-dev libsuitesparse-dev

Then compile and install the Ceres solver library (Linux instructions ). Now we can compile cartographer. On the master branch I was getting linking errors with the abseil and protobuf libraries. Modify the install-abseil.sh file so that you simply use its master branch and not a specific commit:

...
git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp
# git checkout 215105818dfde3174fe799600bb0f3cae233d0bf # 20211102.0
...

Install it:

~/ws/src/cartographer/scripts$ sudo bash install_abseil.sh 

Install other required dependencies:

~ws$ sudo apt-get install protobuf-compiler liblua5.3-dev lua5.3

To compile cartographer you can simply do:

~$ cd ws/src/cartographer_ros/cartographer_ros
~/ws/src/cartographer_ros/cartographer_ros$ catkin build --this

2D-mapping using our older platform with tracked wheels:

Last updated