This paper proposes an indoor positioning system for mobile devices using visible light beacons. The device's camera is used to acquire images in which the beacon appears. An algorithm processes these images to reconstruct the camera's pose at the photo acquisition time. This reconstruction allows for estimating the camera position accurately. The system operation is tested by a simulator based on Blender. This simulator allows for setting the beacon and camera characteristics, taking samples in rooms of different dimensions and analysing and studying the results obtained. In addition, an Android application for the real system has been developed to take samples and analyse them to estimate the mobile device's position. Finally, a comparison between the real and simulated systems is made. For this purpose, a test bench grid of 0.8 m × 1.1 m with 391 test points is designed. The simulator offers an average fidelity 97 % and can automate the sampling process. An average error of 7.49 × 10 −3 m and coverage of 100 % are achieved with the camera and LED panel facing each other. The test bench real system achieves an average positioning error of less than 20.44 × 10 −3 m, having a coverage close to 80 % and decreasing performance when the beacons are not fully captured. Finally, an experimental study of the system scalability has been carried out in a test room where four coded beacons have been deployed covering an area of 2.4×3.6 m 2 . Results over two different trajectories show reasonable losses of accuracy and coverage compared to the simulation and test bench, especially in the transition between beacons.
INDEX TERMSLocal positioning, mobile device, pose reconstruction, visible light. 18 CMOS cameras. With the help of additional sensors (an 19 inclinometer and a magnetometer), they achieve accuracy 20 in the low decimeter range. The centroid of each beacon is 21 used for the location estimation. A 30 Frames per Second 22 (FPS) video stream from a static digital camera, placed at 23 a known height, is captured and processed in an auxiliary 24 computer. The greater the number of beacons used, the better 25 the accuracy provided in position estimation. The system has 26 a coverage of 15×20 m 2 , and the positioning is evaluated at 27 different heights offering a Mean Absolute Error (MAE) of 28 0.17 m when four or more beacons are used.