1. Introduction
Different techniques have been used for the development of indoor positioning systems (IPSs), many of which are complementary and can operate cooperatively, in order to achieve better positioning. Some of those techniques are based on computer vision [
1]; radio waves, such as ultrawideband (UWB) [
2] and radio frequency identification (RFID) [
3]; ultrasound [
4,
5]; optical signals [
6]; inertial measurement units (IMUs) [
7,
8,
9] and radio frequency (RF) communications networks such as the global systems for mobile communications (GSM) and wireless local area networks (WLANs) [
10]. The selection of which technology or particular system to use will depend on the application and/or the scenario where it is to be deployed. Factors such as area coverage, power consumption, cost, precision, accuracy and privacy will be relevant to determine which type of system to develop and which technologies to use [
11,
12,
13].
There are different research works that make use of lighting based on light-emitting diodes (LED) as a means of information transmission (visible light communication—VLC); therefore, LEDs used in VLC systems have a dual functionality.
There are many works that can be found related to the use of light for communication, however, of particular interest here are those that use light from building illumination to develop indoor positioning and localization systems (VLP—visible light positioning-). In these, we include both dedicated to position and orientation determination. However, it is important to note that most of the work in IPS focuses only on position as the most relevant aspect, paying little or no attention to the orientation of the agents in the environment.
VLP systems have the advantage of using the infrastructure’s own lighting for positioning, so energy costs do not increase, and importantly, no new infrastructure or major infrastructure modification is needed to implement smart solutions. Moreover, VLP systems allow good accuracies while benefiting from the advantages of LED emitters such as electromagnetic immunity, high refresh rate and low cost.
The work addressed in this paper focuses on obtaining the orientation of the agent when the infrastructure signals are emitted by LED-based lighting systems and the sensor is placed in the mobile agent. To retrieve the orientation, it will be necessary that the PSD sensor (the type of sensor used in our research) on-board the mobile agent captures the signal coming from, at least, two different lighting lamps to eliminate any kind of indeterminacy.
The authors of this work belong to a research group that has a large trajectory developing IPS systems based on optical signals. Multiple localization systems based on the measurement of the phase of arrival (PoA) and angle of arrival (AoA) of the signal have been developed. Prior, the factors influencing sensor measurements were studied and proposals for electrical and geometrical calibration of our systems were developed. A comprehensive analysis and correction of distortions and procedure for modeling and correcting errors due to the multipath effect are also proposed in previous research.
In the following, we indicate the state-of-the-art of relevant works in the literature related to developments in both position determination (most numerous) and orientation determination.
Work [
14] proposes using technology to emit their information of positioning to connected devices within the coverage area: lighting is used as a beacon and lighting.
In [
15], an image sensor receives the positioning signal emitted from each LED bulb and provides localization measurement with an accuracy of about 1.5 m. In [
16], the authors use an image sensor with a frame processing rate up to 48 kHz. The positioning information is decoded by the receiver knowing the impact point on the image sensor. In tests conducted in an area of 5.4 × 7.5 m
with a height of 3 m the maximum horizontal plane error the system makes was as low as 10 cm.
Work in [
17] performs positioning using four LEDs simultaneously. They achieve positioning errors of less than 10 cm.
The authors of [
18] present an IPS based on received signal strength (RSS) from LEDs, improving the results of other works by using multiple photodiodes in the receivers. Positioning errors of 20 cm at a distance range of about 1.8 m is achieved. These systems have the disadvantage of RSS attenuation at greater distances and angles. The work in [
19] proposes a system with infrared emitters (IRED) and an image sensor optimized for IRED beacon detection. In [
20], an intelligent space was proposed to determine, by triangulation, the position of systems moving through the coverage area. Mobile agents emit signals in the non-visible range, allowing multiple photodiodes (detectors) located in the environment to obtain the angle of arrival and, by triangulation, know the position of the agent. For a test area of 7 × 2 m
, maximum errors of 70 cm are obtained; in this case, the system requires prior installation and calibration. The authors of [
21] present a work based on three photodetectors and two IRED emitters to localize and position a robot in an indoor environment, obtaining an accuracy of 10 cm and 0.1 rad in the orientation angle for a mobile robot that moves at 0.2 m/s. In [
22], using a system based on a QADA detector and four infrared LEDs, over a
m
space, a positioning error of 10 cm and an estimation of the rotation angle with an average error of only 0.9° were obtained. We have not found any papers, other than those indicated above, that show the error made in the determination of the position of the agents.
Work [
23] proposes an indoor 3D VLP and orienteering (VLPO) scheme. By using only two LEDs and two photo-detectors, they could determine simultaneous 3D localization and receiver orientation estimation efficiently. Further, to eliminate the location uncertainty caused by receiver tilt, they propose a location selection strategy which can determine the true location of the receiver. Results achieved a mean 3D positioning error of 7.4 cm and a mean azimuthal error of 7.0 deg. Moreover, this was achieved with 90.3% of 3D positioning errors less than 20 cm and 92.6% of azimuthal errors less than 5 deg.
In [
24], the receiver of the IPS is based on a quadrant photodiode angular diversity aperture (QADA) plus an aperture placed over it. Encoding techniques are used to permit the simultaneous emission of four co-planar emitters and their processing in the receiver (3.4 m from the emitters). It uses Monte Carlo simulations to characterize the absolute errors for a grid of test points under noisy measurements, as well as the robustness of the system when varying the 3D location of one transmitter. The estimation of the receiver’s position for roll angles of the receiver of 0°, 120°, 210° and 300° achieves average absolute errors and standard deviations of 4.33 cm, 3.51 cm and 28.90 cm; and 1.84 cm, 1.17 cm and 19.80 cm in the coordinates x, y and z, respectively.
In [
25], the authors indicate that by using a photodiode as a receiver in a VLP system, this will have a small rotation angle during movement, which will result in a massive positioning error ignoring the angle. In their work, the use of an improved whale optimization algorithm (IWOA) is proposed to reduce the error caused by the PD rotation. Authors indicate, the IWOA algorithm is efficiently utilized to address the problem. Simulation results show that when the PD has a rotation angle, the average positioning error estimated by ignoring the rotation angle is 27.14 cm, while that estimated by considering the rotation angle is 7.85 cm.
In [
26], an AoA-based IPS was proposed considering that the target to be positioned moves in a plane. The target emits the signal and the position-sensitive device (PSD), located at a known position on the ceiling of the environment, obtains the position of the target.
The strengths of this system can be summarized as high accuracy, high precision and large coverage area. The disadvantages are that, in addition to the invasive installation of the PSD on the ceiling of the infrastructure, there are errors caused by the multipath effect and distortions that have an impact on the ideal AoA value. A procedure for modeling and correcting errors due to the multipath effect is also proposed in [
27]. From these research works, it could be concluded that for a PSD-based IPS, the use of AoA obtains better positioning values than the use of PDoA (phase difference of arrival).
The work [
28] analyzes the most suitable multiple-access discrimination techniques for the development of a visible light positioning (VLP) system based on PSD. It shows how the FDMA technique is the most suitable technique for PSD-based IPS, since it is able to discriminate between the emitters in the system with little or no interference.
In [
6], a precision and accuracy evaluation of AoA-based IPS using a PSD and infrastructure lighting is presented. The IPS is assessed using different positioning approaches according to the number of visible transmitters (1, 2 or more LED emitters). A mean positioning error (accuracy) of 9.4 mm is obtained when simultaneous observations from two transmitters are used and the receiver moves in a plane. In case 4 emitter signals reach the receiver, the mean positioning error is below 49 mm, yielding a full 3D pose of the target without any additional measurements or prior assumption. In all cases, a precision (2
) better than 6 mm for a measurement time of 10 ms is obtained.
2. Proposed Measurement System Based on PSD Sensors
The scheme of the proposed positioning systems is shown in
Figure 1. The light sources based on LED emitters are placed at known fixed positions on the ceiling, and each emitter sends a modulated signal that allows its identification using a frequency division multiple access (FDMA) scheme. PSD sensor receives the signals simultaneously, taking into account the optical system attached to the PSD, the AoA of each emitter signal is calculated. It should be noted that for this work, the emitters should be considered point-like and with a Lambertian radiance pattern with rotational symmetry, which makes their orientation not relevant for the measurements of the AoA. Our only requirement is the lamps emit a different pattern from a collimated beam, since in that case it would only be captured from one position.
Figure 1 shows schematically some of the possible applications. A terrestrial robot that moves on a plane and needs only the signal from two emitters, a robot that has integrated sensors (e.g., IMU or odometry) to know its rotation and therefore would only need the signal from one emitter, and finally an unmanned aerial vehicle (UAV) that needs to know its position and angles in 3D and would need the signal from three or more emitters.
The receiver used in this work is a PSD sensor consisting of four anodes and a common cathode. We have attached a lens to confine the light from each of the emitters to a point of light on the surface of the PSD sensor as shown in
Figure 1.
Figure 2 shows the equivalent circuit of a two-dimensional pin-cushion PSD sensor.
PSD sensor allows us to calculate the impact point of the signal on the PSD surface as a function of either the four electrical currents or voltages obtained from the currents at each PSD anode. The Equations (1) and (2) show such relation.
where
and
are the dimensions of the PSD sensor and
,
,
y are the voltages obtained from the currents of each of the four PSD anodes. The electrical current obtained from the PSD is very low (about nA) and if it was digitized directly, the error would be high. Therefore, each channel (signal of each anode) has been previously amplified by a transimpedance amplifier.
In this work we consider, initially, that the plane of motion of the PSD is parallel to the plane of the emitters and the distance between both planes is calculated from the measurements. According to these considerations, using two emitters, the rotation of the PSD in the horizontal plane can be obtained.
The model of the system used to relate the 3D points of the emitters in the world
and their impact points on the surface of the sensor
is shown in [
26]. Additionally, the authors propose a calibration method to obtain the intrinsic parameters of the measurement system.
The coverage of the system depends on several factors. Firstly, the coverage depends on whether it is necessary to obtain the angle in 3D or 2D. In 2D, as the signal from only two emitters is needed, a higher coverage can be obtained using the same number of emitters as in 3D. On the other hand, it is limited by the detector’s FoV. Depending on the lens used, a higher or lower coverage can be obtained. Moreover, for the same FoV of the receiver, if the ceiling height is increased, the coverage increases. If the height is increased, the signal-to-noise ratio (SNR) decreases. In this case, the signal strength emitted by the emitters must be higher to achieve the same SNR. When implementing this system in large environments, such as airports or shopping malls, it should be taken into account that this system can be used by changing the lamps of existing luminaires for LED beacon bulbs (already developed in our research group of intelligent LED beacon lamps). In addition, in the developments carried out, when there is no beacon–emitter coverage: the position is estimated with inertial sensors and corrected when it enters the coverage of another emitter, but this aspect is not within the scope of this paper.
Different light sources in the environment and not used for positioning (not beacon lamps) do not influence the accuracy of the system. We use amplitude-modulated signals with sinusoidal tone with frequencies of several kHz. The advantage of using these frequencies is that the human eye does not detect fluctuations in illumination (it will not perceive flickering). In addition, conventional LED luminaires are not modulated, they can only have 50, 60, 100 or 120 Hz components depending on the driver used to convert from AC mains to DC. The receiver incorporates filters that eliminate these frequencies. When identifying the signal from each emitter, FDMA is used as indicated in [
28], which ensures that there is practically no interference between the emitters and that external light sources do not affect the system. A factor that can influence the precision and accuracy of the system would be the reflections of light in the environment, known as multipath. In previous work, an analysis of the multipath effect in light-based systems were developed. In [
27], it is shown that when using AoA, the errors due to the multipath effect can be assumed, something that does not happen with PoA-based systems, for example.
2.1. Measurement of the Angle of Rotation Using Two Emitters
It is assumed in this proposal that the emitters are placed on the ceiling (two LED lighting) and that the surface of the PSD and the plane of motion, defined as Z = , are coplanar. Considering this scenario, the mobile positioning and rotation with respect to the surface vector can be calculated. If the plane of the emitters is coplanar to the plane of motion, the height between both planes can be obtained from the measurement data.
Let us define the coordinates in the world reference system and for the two emitters and the coordinates of the point of impact and on the PSD surface for each emitter.
Figure 3 shows the triangulation method to obtain the height
H. The emitters
and
are placed at a distance
, giving a projection of
at the PSD surface. The parameter
f represents the focal length of the sensor (height between the floor and the PSD surface).
Figure 4 shows the different position parameters. In here, the relation of the angle
between the two emitters along the world reference
x axis, the angle
for impact points on the PSD surface and the rotation
between the PSD reference system and the world reference system, are presented.
The angle between the two emitters along the world reference
x axis can be obtained by:
where atan2 is the arctangent function that gives a modulus
output by using the sign of the numerator and denominator to solve quadrant ambiguities. In a similar way, the angle for the impact points on the PSD surface from both emitters along the
x axis of the PSD reference system can be obtained by:
The rotation between the PSD reference system and the world reference system is calculated as:
In our research, we consider that the motion plane is unknown. To compute the height
H that separates the emitters plane and the PSD surface plane, the following expression can be used, as depicted in
Figure 3.
2.2. Measurement of the Orientation Angles Using Four Emitters
To obtain the total orientation, i.e., three angles one for each of the axes, you need to use methods that obtain the total pose of the PSD. The full pose refers to 3D coordinates and three orientation angles. In these cases, it is possible to use positioning strategies that are commonly used in computer vision problems. Such strategies are known as the Perspective-n-Point (PnP) problem. From a set of
n 3D points in the world and their corresponding 2D projections on the image, or PSD sensor plane in our case (
Figure 5), this type of algorithm allows the position and orientation of a calibrated PSD sensor to be determined.
There are several methods to obtain the pose. There are linear methods such as direct linear transformation (DLT) [
29] and there are also more complex methods, each with certain restrictions, such as PosIt [
30], Coplanar PosIt [
31], or CamPoseCalib (CPC) [
32].
In this work, we use the DLT method and a joint approach based on DLT and CPC. DLT [
29] is a linear method that allows the pose with the information of four emitters to be obtained. With the 3D coordinates of the emitters and the 2D coordinates of their projection points on the PSD surface. A matrix can be created and solved by SVD. From that information, the rotation and translation matrix between the world and PSD sensor coordinate systems is obtained. With the rotation and translation matrix, the coordinates and orientation of the receiver are obtained.
CPC [
32] is an iterative method based on the Gauss–Newton algorithm and non-linear least-squares optimization. We have decided to use the CPC method as a trade-off between results obtained, execution time, complexity and use of the least number of points to obtain an accurate solution.
DLT could not provide an accurate solution due to the positioning problem being non-linear. However, it can be used to obtain a roughly approximated solution free of any initialization. Such a solution can in turn be used to initialize the CPC algorithm, increasing its robustness by avoiding possible local minima in the iterative process.
3. Experimental Setup
The aim of the experimental tests is to assess the accuracy and precision in calculating the orientation of the agent incorporating the PSD sensor, in different orientations and using 2D positioning methods and 3D positioning methods. When using the 2D positioning method, we only use two emitters and we can only obtain the rotation angle. In this case, different pairs of emitters from which the signal is received at the PSD are used. When using the 3D positioning method, we use four emitters and we can obtain the angles of the three axes.
To evaluate the precision and accuracy of the IPS, high-performance total station has been used to compare our results with a more accurate measurement system.
Figure 6 shows an image of the test environment. A PSD sensor has been placed below emitter number 2 and rotated at various angles and four spot-shaped light emitters have been placed on the ceiling (magenta square). In
Figure 6, the emitters are marked with the numbers 1, 2, 3 and 4. This allows up to six combinations of emitter pairs to be selected. The ground truth was obtained from the combined measurements of two total stations, TS1 and TS2.
The emitter positions to be used are selected as a trade-off between the joint coverage of the pair of emitters and the geometry for the triangulation calculations. With a larger distance among emitters, we will obtain better AoA measurements, but the coverage area will be very narrow as two emitters must be simultaneously seen within the receiver field of view. Each led lamp emits a sinusoidal signal modulated at 6, 8, 10 and 14 kHz.
The receiver used is a Hamamatsu PSD sensor S5991-01 (measured bandwidth: 200 kHz, nominal active area: mm) with the corresponding electronics processing stages for analog amplification. A lens of 7.5 mm of focal length was mounted to form image on the PSD surface.
The amplified signal of each one of the PSD anodes was acquired with a NI9239 acquisition board (sampling rate: 50 kSamples/s, resolution: 20 bits). The ground truth position and orientation of the receiver was measured with two total stations (Leica TS60) using two 360 mini prisms (Leica GRZ101). Both prisms always maintained their relative position at the base of the PSD on-board plate, which allows us to calculate the rotation (
Figure 7). The estimated
deviations of this equipment are and 0.2 mm in the
x and
y axes.
Figure 8 shows the emitter positions and receiver rotation angles within the test environment. It also shows where the total stations that have been used to obtain the ground truth were located.
In order to collect sufficient data to adequately assess accuracy, 15 s time series data were captured for each position. This amount of data allows for adequate reduction of random contributions through averaging for accuracy assessment.
5. Conclusions
In this work, several experimental tests have been performed in a real environment to assess the precision and accuracy of the proposal to obtain the orientation of the receiver of an IPS based on a PSD sensor. When using the signal received at the detector from two emitters, it is possible to calculate the orientation of the agent (rotation angle) and the separation between the ceiling plane (emitters) and the receiver motion plane with high accuracy, therefore it is possible to correctly position the receiver in the environment. Furthermore, when using the signal received at the detector from four emitters, it is possible to calculate the total pose (3D coordinates and three orientation angles).
Using the signal of two emitters, average errors in the measurement of rotation of approximately 0.15° are obtained using convenient emitter geometries. Precision assessment shows that the variance of rotation angles is smaller than 0.025° when integration time is 2 ms (500 measures of rotation angle per second) with adequate emitter geometries.
Using the signal of four emitters and CPC method mean errors in the measurement of the x-axis and y-axis smaller than 0.35° and of the z-axis angle smaller than 0.16° are obtained. Precision assessment shows that the variance of z-axis orientation angles is smaller than 0.015° when integration time is 2 ms (500 measures of rotation angle per second) and the variance of x- and y-axis orientation angles is approximately six times higher.
Due to the accuracy achieved, this method is very useful in indoor positioning or guidance applications, since knowing the orientation provides added value. It is common to use IMU sensors in mobile devices such as gyroscopes and compasses to know this orientation. The accuracy of such sensors is highly dependent on external factors. For robotics applications in industrial environments, the orientation of the robot at any given time is very important. This type of application is implemented in unmanned aerial vehicle (UAV) systems, industrial tools, automatic guided vehicles (AGVs), forklifts, etc.