This paper describes an efficient and robust localization system for indoor mobile robots and AGVs. The system utilizes a sensor that measures bearings to artificial landmarks, and an efficient triangulation method. We present a calibration method for the system components and overcome typical problems for sensors of the mentioned type, which are localization in motion and incorrect identification of landmarks. The resulting localization system was tested on a mobile robot. It consumes less than 4% of a Pentium4 3.2 GHz processing power while providing an accurate and reliable localization result every 0.5 s. The system was successfully incorporated within a real mobile robot system which performs many other computational tasks in parallel.