- Notifications
You must be signed in to change notification settings - Fork32
🚀 SLAM for autonomous planetary rovers with global localization
License
geromidg/GA_SLAM
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is an open-source and research-oriented C++ library for solving the SLAM problem on planetary rovers that
aim to navigate and explore extreme terrains. It adopts a globally adaptive technique which uses an a priori global
low-resolution map provided by orbital imagery to enhance the robot's perception and correct its global position.
Created by: Dimitris Geromichalos (geromidg@gmail.com)
Supervised by: Martin Azkarate (martin.azkarate@esa.int)
Developed at: Planetary Robotics Lab (PRL), European Space Agency (ESA)
- 🌄 Suitable forrough terrain navigation by utilizing 2.5D (elevation) maps
- 🌐 Global pose correction usingmap matching of local (robot-centric) and global (orbiter) elevation maps
- 📷Sensor-agnostic data registration using point clouds (support for lidar, stereo camera, ToF camera etc.)
- 💥 Automaticsensor fusion when multiple inputs are provided (without prior configuration)
- 📃Easily tunable parameter set to fit the needs of different robots and applications
The high-level design diagram shows the main modules that comprise the system.
Although the library can be used on other systems, it was validated using:
- Ubuntu 16.04 (Xenial)
- CMake 3.5.1
- GCC 5.4.0
Required packages:
- Eigen 3 (linear algebra calculations)
- PCL 1.7 (point cloud processing)
- OpenCV 2.4 (image processing)
- Grid Map Core (map structure and calculations)
Optional packages:
- Google Mock (testing)
The dependecies listed above can be installed usingthis script as well.
To build the library, run:
git clone https://github.com/geromidg/GA_SLAM.gitcd ga_slammkdir build && cd buildcmake ..make
To build and execute the tests, run:
cmake -DENABLE_TESTS=ON ..makemake test
Make sure to set CMAKE_PREFIX_PATH if you installed the grid_map_core library from the debian package.
For example if you installed it usingsudo apt-get install ros-kinetic-grid-map-core
, run:
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/opt/ros/kinetic