Design, Implementation and Localization of a Mobile Robot for Urban Site Modeling This thesis presents a systematic and practical approach to mobile robot localization in urban environments. It reflects work on both system and algorithmic problems. The methods and ideas presented are generally applicable to mobile robots operating in urban environments. On the system level, I have designed and built a functioning autonomous mobile robot. The design extended an existing robotic vehicle with a carefully chosen sensor suite of a digital compass with an integrated inclinometer, a global positioning unit, and a camera mounted on a pan-tilt head. The robot has been equipped with wireless networking. I have also designed and implemented a distributed software architecture for mobile robot navigation. It addresses important issues like computation distribution, autonomy, flexibility and extensibility. A motion control component controls the robot pose and drives the robot to its destination. A graphical user interface allows for remote control and monitoring. On the algorithmic level, I have developed a localization system that employs two methods. The first method uses odometry, the compass module and the global positioning sensor. To reduce the effect of systematic odometry errors, I have extended an existing calibration procedure. An extended Kalman filter integrates the sensor data and keeps track of the uncertainty associated with it. When global positioning data is reliable, the method is used as the only localization method. When the data deteriorates, the method detects it and and seeks additional data by invoking the second localization method. The second method is based on visual pose estimation. It is heavier computationally but is only used when it is needed. When invoked, it stops the robot, chooses a nearby building to use and takes an image of it. The pose estimation is done by matching linear features in the image with a simple and compact model of the building. A database of the models is stored on the on-board computer. No environmental modifications are required. I have demonstrated the functionality of the robot and the localization methods with real-world experiments.