Abstract

There are three critical elements in visible light positioning (VLP) system: Positioning accuracy, real-time ability, and robustness. However, most of the existing VLP studies only focus on the positioning accuracy and only a few studies consider the real-time ability at the same time. While the robustness is usually ignored in the field of VLP, which has a great impact on positioning performance or even leads to the failure of positioning. Therefore, we propose a novel VLP algorithm based on image sensor (as positioning terminal), exploiting optical flow detection and Bayesian forecast. The proposed optical flow method is used for real-time detection, and solves the problem of blur effect caused by the fast relative movement between the LED and positioning terminal, which would result in location failure in the traditional VLP system with pixel intensity detection. While the proposed Bayesian forecast algorithm is used for forecasting the possible location of the LED in the next frame image according to the previous frames as empirical data, which drastically solve the problem of shielded effect caused by the light link between the LED and the positioning terminal is shielded or broken. Finally, the detection location information and the forecast location information are fused by the Kalman filtering. Experimental results show that the positioning accuracy of the proposed algorithm is 0.86 cm, which realizes high positioning accuracy. The computational time of the algorithm process is about 0.162 s, and the proposed algorithm can support indoor positioning for terminal moving at a speed of up to 48 km/h. Both data demonstrate that the proposed algorithm has good real-time performance. Meanwhile, the proposed algorithm has strong robustness, which can handle the blur effect and the shielded effect in the traditional VLP system based on image sensor.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call