====== README ====== The files in this archive are MatLab implementations for the algorithms presented in the IROS 2013 submission, Heterogeneous Map Merging Using WiFi Signals, by Gorkem Erinc, Benjamin Balaguer, and Stefano Carpin. We strongly encourage potential users to read the paper to get a better understanding of the implemented algorithms, file structure, and provided data. Please send an email in case you have any comments or questions: gerinc[at]ucmerced.edu File Structure: --------------- Maps: ----- Inside the maps.zip file there are 3 occupancy grid maps saved as "gridmapX.mat" and 3 appearance-based map saved as "vismapX.mat" where X is the run number used to build the map (either 49, 50, or 51). Each map is stored as a struct with several fields primarily used for testing purposes. The fields that are used by the merging algorithms described in the paper are the following. gridmap: -------- gridmap.wifi.pos : Ground truth Cartesian coordinates of cluster centers gridmap.wifi.posAll : Ground truth Cartesian coordinates of locations at which a WiFi reading is acquired gridmap.wifi.APs : Access points from which signal strength values are acquired gridmap.wifi.w : Signal stregth values gridmap.wifi.labels : Indices of clusters each WiFi reading belongs to vismap: -------- vismap.wifi.pos : Ground truth Cartesian coordinates of cluster centers (Cartesian positions of images) vismap.wifi.APs : Access points from which signal strength values are acquired vismap.wifi.wc1 : Signal stregth values vismap.wifi.labelsc1 : Indices of clusters (images) each WiFi reading belongs to vismap.dict : Bag of Words dictionary of appearance-based map vismap.graph.V : Vertices of appearance-based map vismap.graph.E : Edges of appearance-based map Code: ----- main.m : Loads maps to be merged, train them if not trained before, and plot the merged map mergeMaps.m : Calls mapOverlap and localize functions to merge two maps mapOverlap.m : Applies OC SVM to compute map overlap between two maps (corresponds to the first step of the merging algorithm) localize.m : Applies the merging algorithm described in the paper plotMergedMap.m : Given the estimated and actual positions, plots them on the occupancy grid map