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
Was this helpful?