A system for estimating a pose of a robot, wherein the pose includes at least one of a location of the robot and an orientation of the robot, comprising: an input interface configured to receive data indicative of a value of a relative pose between a current pose of the robot and a current pose of a neighboring robot, and indicative of values of particles of the neighboring robot, each particle of the neighboring robot defines a probability of a value of the current pose of the neighboring robot; a memory configured to store values of particles of the robot, each particle of the robot defines a probability of a value of the current pose of the robot, and to store executable components including a particle filter configured to track the pose of the robot using a set of particles, each particle defines a probability of a value of the current pose of the robot; a particle tuner configured to pair an arbitrarily sampled particle of the robot with an arbitrarily sampled particle of the neighboring robot, determine a weight of the paired particles in reverse proportion to an error between a relative pose defined by the paired particles and the relative pose between the robot and the neighboring robot, and update the particles of the robot in accordance with the weights of corresponding paired particles; a processor configured to track, in response to a change of the pose of the robot, the pose of the robot using the particle filter, and to update, in response to receiving the data, the particles of the particle filter using the particle tuner; and an output interface configured to output the current pose of the robot. an input interface configured to receive data indicative of a value of a relative pose between a current pose of the robot and a current pose of a neighboring robot, and indicative of values of particles of the neighboring robot, each particle of the neighboring robot defines a probability of a value of the current pose of the neighboring robot; a memory configured to store values of particles of the robot, each particle of the robot defines a probability of a value of the current pose of the robot, and to store executable components including a particle filter configured to track the pose of the robot using a set of particles, each particle defines a probability of a value of the current pose of the robot; a particle tuner configured to pair an arbitrarily sampled particle of the robot with an arbitrarily sampled particle of the neighboring robot, determine a weight of the paired particles in reverse proportion to an error between a relative pose defined by the paired particles and the relative pose between the robot and the neighboring robot, and update the particles of the robot in accordance with the weights of corresponding paired particles; a processor configured to track, in response to a change of the pose of the robot, the pose of the robot using the particle filter, and to update, in response to receiving the data, the particles of the particle filter using the particle tuner; and an output interface configured to output the current pose of the robot. a particle filter configured to track the pose of the robot using a set of particles, each particle defines a probability of a value of the current pose of the robot; a particle tuner configured to pair an arbitrarily sampled particle of the robot with an arbitrarily sampled particle of the neighboring robot, determine a weight of the paired particles in reverse proportion to an error between a relative pose defined by the paired particles and the relative pose between the robot and the neighboring robot, and update the particles of the robot in accordance with the weights of corresponding paired particles; pair an arbitrarily sampled particle of the robot with an arbitrarily sampled particle of the neighboring robot, determine a weight of the paired particles in reverse proportion to an error between a relative pose defined by the paired particles and the relative pose between the robot and the neighboring robot, and update the particles of the robot in accordance with the weights of corresponding paired particles; a processor configured to track, in response to a change of the pose of the robot, the pose of the robot using the particle filter, and to update, in response to receiving the data, the particles of the particle filter using the particle tuner; and an output interface configured to output the current pose of the robot.