This paper addresses the problems of designing, building and using mobile robots for urban site modeling. It presents work on both system and algorithmic aspects. On the system level, we have designed and built a functioning autonomous mobile robot. The design extends an existing robotic vehicle with a sensor suite consisting of a digital compass with an integrated inclinometer, a global positioning unit, and a camera mounted on a pan-tilt head. The system is controlled by a distributed software architecture for mobile robot navigation and site modeling. On the algorithmic level, we have developed a localization system that employs two methods. The first method uses odometry, the compass module and the global positioning sensor. An extended Kalman filter integrates the sensor data and keeps track of the uncertainty associated with it. The second method is based on camera pose estimation. It is used when the uncertainty from the first method becomes very large. The pose estimation is done by matching linear features in the image with a simple and compact environmental model. We have demonstrated the functionality of the robot and the localization methods with realworld experiments.