Algorithms
dynamic_map_matcher is a package for cooperative robots SLAM. It is based on a regularized particle filter and the technical details will be published once our paper "Dynamic map matching using particle filtering" is published.
The main contribution of this package is its capability to work with any SLAM algorithm that produces an occupancy grid based map. The provided demo uses two hector_slam mappers.
Example
Nodes
map_matcher_node
map_matcher_node takes in two occupancy grid based map and outputs a global matched map. On startup, map_matcher_node initializes its particle filter according to the parameters provided.Subscribed Topics
origin_map (nav_msgs/OccupancyGrid)- Map of the first robot to be matched with the target map.
- Target map to be matched.
Published Topics
global_map (nav_msgs/OccupancyGrid)- The estimated global map.
/sequential_map_matcher/origin_map (string, default: origin_map)
- Topic name for the origin map.
- Topic name for the target map.
- Number of particles to use, has an effect on the computation time.
- Number of observation to use from the maps, has an effect on the computation time.
- Convolution history, how many time steps to affect weighting the particles. A good value is 5-10.
- Initialization count for the transformation angle.
- Initialization count for the transition on the x axis.
- Initialization count for the transition on the y axis.
- Weighting coefficient for the particle filter likelihood function.
References
This work is summarized in a yet to be published paper - "Dynamic map matching using particle filtering".