ROS packages for multi robot exploration.
The main work focus on the map merge package developed by (Hörner, 2016). His work is the first which implements multi robot mapping correctly and properly and it works. It is also ROS compatible which makes it easy to test and implement onto multiple robots. His package implementation relies on OpenCV to detect features found on multiple local maps obtained from multiple robots, checking how close it matches other local map obtained from other robot and if it is confident enough it starts to merge the local maps all together.
ALGORITHM 1: Recovery Mode Algorithm
1. Initialize feature_matching_method to AKAZE
2. while (confidence_set>0.35)
Set feature_matching_method to SURF
call check_for_features (confidence_set, feature_matching_method)
return confidence_output
IF confidence_output<confidence_set
Set feature_matching_method to SURF
call check_for_features (confidence_set, feature_matching_method)
return confidence_output
End IF (confidence_output<confidence_set)
Lower confidence_set by 10%
OUTPUT ‘confidence lowered by 10%'
go back to step 1
End
4
End
3. Increase confidence_set by 15%
4. OUTPUT ‘Not enough overlap regions make sure other robots discover same regions'
5. go back to step 1
Packages are released for ROS Kinetic and ROS Lunar.
Packages are documented at ROS wiki.
Packages are licensed under BSD license. See respective files for details.