A navigation system for navigating a robot unit (10, 12), the robot unit comprising one or more sensors (14, 16, 100, 300) capable of sensing features (1, 2, 3, 4, 202A, 202B, 202C, 204A, 204B, 208) remote from the sensors, in one or more of a scene and a venue, the scene/venue comprising a number of static features and a number of dynamic features, the system comprising: a storage comprising information representing a position of each of a number of the features, a controller configured to: - at each of a plurality of points of time: - receive an output from the sensors, - determine, from the output, a plurality of the features, and, - determine a position of each determined feature, - allocate to each determined feature, a weight which is increased each time the feature is determined to be in the same position and which is decreased each time the feature is not in the same position, characterized in that the controller is configured to: - increase or decrease the weight, for each feature, only once when the feature is determined to be in the same position or not in the same position multiple times during a single run, - update the storage with the allocated weights, and - determine a position of the robot unit vis-à-vis the positions of the determined features based on the weight allocated to the features. a storage comprising information representing a position of each of a number of the features, a controller configured to: - at each of a plurality of points of time: - receive an output from the sensors, - determine, from the output, a plurality of the features, and, - determine a position of each determined feature, - allocate to each determined feature, a weight which is increased each time the feature is determined to be in the same position and which is decreased each time the feature is not in the same position, - at each of a plurality of points of time: - receive an output from the sensors, - determine, from the output, a plurality of the features, and, - determine a position of each determined feature, - allocate to each determined feature, a weight which is increased each time the feature is determined to be in the same position and which is decreased each time the feature is not in the same position, - receive an output from the sensors, - determine, from the output, a plurality of the features, and, - determine a position of each determined feature, - allocate to each determined feature, a weight which is increased each time the feature is determined to be in the same position and which is decreased each time the feature is not in the same position, characterized in that the controller is configured to: - increase or decrease the weight, for each feature, only once when the feature is determined to be in the same position or not in the same position multiple times during a single run, - update the storage with the allocated weights, and - determine a position of the robot unit vis-à-vis the positions of the determined features based on the weight allocated to the features. - increase or decrease the weight, for each feature, only once when the feature is determined to be in the same position or not in the same position multiple times during a single run, - update the storage with the allocated weights, and - determine a position of the robot unit vis-à-vis the positions of the determined features based on the weight allocated to the features.