A method of collaborative navigation, the method comprising: deploying a plurality of mobile units (10, 20, 202, 204) in a location of one or more target objects, the mobile units each comprising at least one inertial measurement unit and at least one environment sensor; inputting sensor data related to the one or more target objects into an object characterization module in each mobile unit from the environment sensor of the respective mobile unit, the object characterization module in each mobile unit configured to produce descriptor information that includes one or more of object data, object features, object location, and object uncertainty; inputting the descriptor information from the object characterization module in each of the mobile units into a common object geo-locator module in each of the mobile units, the common object geo-locator module in each of the mobile units operative to produce common descriptors that include one or more of common object data, common object features, the best estimate of the common object location and uncertainty; inputting the common descriptors from the common object geo-locator module of each mobile unit into a respective data association module of the respective mobile unit to produce associated features or navigation correction data; inputting the associated features or navigation correction data from the data association module in each mobile unit into a respective filter of the respective mobile unit to produce filter update features; inputting the filter update features from the filter in each mobile unit into a respective map administrator of the respective mobile unit to produce local map data; feeding the local map data to the data association module in each mobile unit from the map administrator in the respective mobile unit; exchanging geo-reference information related to the one or more target objects between the mobile units; and determining a best estimate of the geo-reference of the one or more target objects. deploying a plurality of mobile units (10, 20, 202, 204) in a location of one or more target objects, the mobile units each comprising at least one inertial measurement unit and at least one environment sensor; inputting sensor data related to the one or more target objects into an object characterization module in each mobile unit from the environment sensor of the respective mobile unit, the object characterization module in each mobile unit configured to produce descriptor information that includes one or more of object data, object features, object location, and object uncertainty; inputting the descriptor information from the object characterization module in each of the mobile units into a common object geo-locator module in each of the mobile units, the common object geo-locator module in each of the mobile units operative to produce common descriptors that include one or more of common object data, common object features, the best estimate of the common object location and uncertainty; inputting the common descriptors from the common object geo-locator module of each mobile unit into a respective data association module of the respective mobile unit to produce associated features or navigation correction data; inputting the associated features or navigation correction data from the data association module in each mobile unit into a respective filter of the respective mobile unit to produce filter update features; inputting the filter update features from the filter in each mobile unit into a respective map administrator of the respective mobile unit to produce local map data; feeding the local map data to the data association module in each mobile unit from the map administrator in the respective mobile unit; exchanging geo-reference information related to the one or more target objects between the mobile units; and determining a best estimate of the geo-reference of the one or more target objects.