NOTE: This node has been replaced by https://github.com/dan-riley/marble_mapping which generates differences Octomaps for sharing more efficiently.
Merges multiple Octomaps and optionally aligns them using ICP prior to merging.
Derived from James Jessup, Sidney N. Givigi, and Alain Beaulieu. "Merging of octree based 3d occupancy grid maps." In 2014 IEEE International Systems Conference Proceedings, pp. 371-377. IEEE, 2014. DOI: 10.1109/SMC.2014.6974556
Usage: octomap_merger <input_file_1> <input_file_2> <output_file\> [align] [<translation_x\> <translation_y\> <translation_z\>] [<roll\> <pitch\> <yaw\>]
Input files can be binary or full, but both must the same. Output can be either, but does not have to be the same as input. Use .bt or .ot file extension to specify
Add 'align' option to run ICP alignment on maps before merging.
octomap_merger.cpp - Command-line merger
octomap_merger_node.cpp - ROS node for merging multiple maps in an array
map_merger.cpp - Core functions that manage actual Octomap merging
icp_align.cpp - Converts Octomaps to point clouds, finds ICP alignment, and transforms the second map to align with the first.