1. A method of localizing a mobile robot, the method comprising: receiving sensor data of a scene about the robot; executing a particle filter having a set of particles, each particle having associated maps and a robot location hypothesis; updating the maps associated with each particle based on the received sensor data; assessing a weight for each particle based on the received sensor data; selecting at least one particle based on its weight; and determining a location of the robot based on the at least one selected particle.