Development of High-accuracy Multi-degrees-of-freedom Indoor Ultrasonic Positioning Approach for Automated Guided Vehicles

GPS has been offering commercial outdoor positioning services. However, it is not suitable for indoor positioning purposes because of the weak satellite signals indoors. Therefore, the ultrasound technology has been developed and applied to indoor positioning for automated guided vehicles (AGVs) or moving robots. Unfortunately, traditional trilateral ultrasound methods usually suffer from a narrow coverage range and low accuracy. For this reason, we firstly systematically analyze the effects of ultrasound wave loss on positioning and those of the ultrasonic signal receiving angle. On the basis of fundamental information, a multi-degrees-offreedom (Multi-DoF) ultrasonic positioning system is then proposed. The Multi-DoF system is constructed using two steering engines, where one has a 360-degree horizontal rotating angle and the other one has a vertical rotating angle greater than 180 degrees. Accordingly, it can efficiently receive all signals from the ultrasonic transmitting device of a moving AGV. Experimental results confirm that the proposed method can reduce the average positioning error to 3.2 cm, significantly improving the accuracy compared with existing trilateral methods.


Introduction
With the rapid development of the Internet of Things (IoT) and the popularity of intelligent hardware, GPS technology applied in the classical outdoor positioning has greatly revolutionized people's lives. (1) Nevertheless, there is an increasing demand for indoor positioning that GPS is unable to provide, such as the navigation of automated guided vehicles (AGVs), product search in a supermarket, indoor car parking navigation, and positioning in underground mining environments. (2,3) Although the current technology, e.g., time of flight (ToF) combined with ultrasonics and trilateration localization has been applied to determine the distance between the object and the anchor node, some limitations still exist. (4,5) For example, the accuracy of ultrasonic positioning is greatly affected by wave loss and the blind area of the ultrasonic sensor. (6,8) Accordingly, the ultrasonic applications in positioning are still facing a big challenge. Some issues are briefly described as below.

Error analysis of wave loss in ultrasonic positioning
The microcontroller unit (MCU) used in the receiving device can start the timer only after the trigger is interrupted once ultrasonic signals begin to be received. In some cases, the ultrasonic signal strength may not exceed the threshold value for triggering the interruption. Even if the ultrasonic signal strength reaches the threshold valve, uncertain wave loss cannot be avoided, causing an uncertain time delay and positioning error. (9)(10)(11) The waveform of an ultrasonic wave at the start time of receiving is shown in Fig. 1. There is ultrasonic wave loss before the trigger interrupts the timer of the MCU.

Blind area analysis of ultrasonic positioning system
An ultrasonic senor has intrinsic superimposed blind areas that become increasingly larger in reality. (12)(13)(14) The sound pressure characteristic is shown in Fig. 2. When ultrasonic transmitting/receiving sensors transmit ultrasonic wave heads at a zero angle, the sound pressure and sensitivity are the highest. Thus, this transmitting/receiving effect promotes the best performance, and the blind area is the smallest. When the transmitting/receiving angle increases from 0 to 30°, the sound pressure is reduced by 6 dB. When the angle increases from 30 to 60°, the sound pressure is reduced by 14 dB. As the receiving angle increases, the received sound pressure decreases dramatically. (15)(16)(17)(18) In this study, the multi-degrees-of-freedom (Multi-DoF) ultrasonic positioning method is proposed to reduce the positioning error caused by the ultrasonic sensor. Two experiments are conducted to test the accuracy of the proposed model, where one is a fixed-point positioning  experiment and the other is a moving position experiment. The results prove that the Multi-DoF ultrasonic positioning device has higher positioning accuracy and better stability than an ultrasonic positioning device using the trilateral positioning algorithm. (19)(20)(21)

Multi-DoF Ultrasonic Positioning Device
The proposed indoor Multi-DoF ultrasonic positioning method is developed to reduce the positioning error caused by the intrinsic ultrasonic sensor and receiving device, thus improving the positioning accuracy. It mainly includes (1) a receiving device and (2) a transmitting device, as shown in Figs. 3 and 4, respectively.

Multi-DoF ultrasonic receiving device
The Multi-DoF ultrasonic receiving device is installed on the indoor ceiling and it mainly comprises four ultrasonic sensors (CX20106a), an omnidirectional turning unit that is a combination of two steering engines (FUTABA high torque steering engine), a radio frequency (RF) transceiver module (nRF24L01), and one MCU (STM32F4) integrated on the integration platform. The four ultrasonic sensors are installed at the four corners of the platform. The omnidirectional turning unit is used to control the rotation of the receiving device, and the angle range of each steering engine is −90°-+90°, where the Nos. 1 and 2 steering engines rotate along the X-and Y-axes, respectively. The RF module is used to transmit positioning data. The MCU acts as a core controller to process the data and rotate the steering engines against the transmitting device. The structure of the Multi-DoF ultrasonic receiving device is shown in Fig. 3.

Multi-DoF ultrasonic transmitting device
The ultrasonic transmitting device is installed on the AGV. As shown in Fig. 4, the ultrasonic transmitting device is mainly composed of two steering engines, one ultrasonic transmitting module, one RF module (nRF24L01), one MCU (STM32F4), and an LCD. The MCU is used for controlling the ultrasonic signal transmission. The LCD displays the positioning coordinates and the ultrasonic transmission direction of steering engines. The Nos. 3 and 4 steering engines rotate along the Y-and Z-axes, respectively. The ultrasonic transmitting module is located on the fourth steering engine.

Multi-DoF Ultrasonic Positioning Algorithm
When the positioning target is at the bottom of the ultrasonic receiving device, it has the smallest positioning error. However, when the positioning target is not directly below the receiving device, the intensity of the received ultrasonic signal will decrease because a blind spot is created. As a consequence, the transmission distance will also increase, resulting in positioning error. For this reason, the proposed Multi-DoF ultrasonic positing device is designed to control the rotation of the receiving device to align the transmitting device so as to reduce both wave loss and blind spot.
The distance between the transmit module and the ultrasonic sensor can be calculated from the propagation time of the ultrasonic signal. Therefore, the positioning coordinate data combined with the installation height of the receiver can be obtained, and then the rotation of the ultrasonic receiving device can be controlled correctly for alignment. The Multi-DoF ultrasonic positioning method is described in detail below. The positioning process of the receiving device is mainly divided into the following steps, as shown in Fig. 5. More details are described below.
In the two coordinate systems shown in Fig. 5, one is the initial coordinate system (OXYZ). The reference plane of the initial coordinate system is the ceiling plane. The initial coordinate system is a fixed coordinate system. The other one is the rotating coordinate system (O′X′Y′Z′).
The reference plane of the rotating coordinate system is the platform board, which rotates with the movement of the ultrasonic transmitting device. When the platform board is rotated, the rotating coordinate system also rotates. As shown in Fig. 6, point A is the positing target, points B, C, D, and E are the positions of the four ultrasonic sensors, and point O is the center of the platform board. The rotation angles of the Nos. 1 and 2 steering engines are α and β, respectively. The ground coordinate system (O 1 , X 1 , Y 1 ) is a two-dimensional coordinate system on the ground. In the initial state, the platform board does not rotate, i.e., α = β = 0. This means that the initial coordinate system coincides with the rotating coordinate system, as shown in Fig. 6(a). After the rotation of the platform board, the initial coordinate system does not coincide with the rotating coordinate system. Consequently, the coordinate axis based on the initial coordinate system and rotating coordinate system form two angles. The angle between the X-and X′-axes is α, and the angle between the Y-and Y′-axes is β. As shown in Fig. 6(b), the coordinate of point A in the initial coordinate system and the ground coordinate system is (x A , y A , z A ) and (x A , y A ), respectively.

Calculation of coordinates of positioning target in rotating coordinate system
As shown in Fig. 7, point O 1 is the projection point of point O on the ground. Set the height of the roof 1 oo d h = , and l is the distance between the four ultrasonic sensors and the center of the platform board. Since the platform board is a square, The distances between the ultrasonic transmit module and the four ultrasonic sensors are d AB , d AC , d AD , and d AE , which can be obtained from the measured ultrasonic distance.
Here, v is the propagation speed of the ultrasonic wave, and t is the propagation time of the ultrasonic wave. Point A′ is the projection of point A on the plane of the platform board. AA′ is perpendicular to the plane of the platform board. A′F is perpendicular to the X′-axis, and A′G is perpendicular to the Y′-axis; hence, x A′ = d OF and y A′ = d OG. The X′-axis is perpendicular to the plane of ΔAA′F so that segment AF is perpendicular to the X'-axis. It can be similarly demonstrated that AG is perpendicular to the Y′-axis. In ΔABD, in accordance with the cosine law, the cosine value of μ 1 can be obtained as (4) In ΔOAD, in accordance with the cosine law, From Eqs. (4) and (5), In accordance with the cosine law, From Eqs. (6) and (7), In the right triangle ΔOAF, In ΔEAC, ΔOAC, and ΔOAG, using same the theory applied to Eqs.
AGV is on the ground so that the Z′-axis coordinate of point A is −h. The coordinates of point A in the rotating coordinate system can be expressed as

Calculation of rotating angle of steering gears on ultrasonic receiving device
According to the principle of coordinate transformation, the transformation relationship between the initial coordinate system and the rotating coordinate system can be obtained as

( , , )
A A A x y z ′ ′ ′ is the coordinates of point A in the rotating coordinate system. Note that the initial coordinate system coincides with the rotating coordinate system in the initial state, so α = β = 0. By substituting ( , , ) x y z ′ ′ ′ , α and β into Eq. (12), we can obtain the coordinates of point A in the initial coordinate system (x A , y A , z A ), The rotation angle of the steering engines should be calculated to align the receiving device with the ultrasonic transmit module. The principle for calculating the rotation angle of steering engines is shown in Fig. 8. When the No. 2 steering engine first rotates at an angle α around the Y-axis, and the No. 1 steering engine rotates at an angle β around the X-axis. The ultrasonic transmitting device is aligned with point A on the Z′-axis. AQ is perpendicular to the X 1 -axis. First, steering engine No. 1 rotates at an angle α around the Y-and Z′-axis points to point Q, and then the No. 2 steering engine rotates at an angle β around the X-and the Z′-axis points to point A.
The rotation angle α of the No. 2 steering engine is arctan , The rotation angle β of steering engine No. 1 is The No. 2 steering engine rotates counterclockwise to the Y-axis when α > 0 and clockwise to the Y-axis when α < 0. The No. 1 steering engine rotates counterclockwise to the X-axis when β > 0, and it rotates clockwise to the X-axis when β < 0.
The coordinates of point A in the initial coordinate system can be obtained when the positioning device is not aligned. However, it is necessary to relocate point A for alignment to obtain more accurate positioning results.

Recalculation of coordinates of the positioning target in the rotating coordinate system
As shown in Fig. 9, when the coordinates of point A change in the rotating coordinate system owing to rotation, the distances (d AB ′, d AC ′, d AD ′, d AE ′) between point A and the four ultrasonic sensors must be calculated again. Point A′ is the projection point of point A on the plane of the platform board in the rotating coordinate system. d OA can be obtained using the X′-and Y′-axis coordinates of point A in the rotating coordinate system and the same theory as described in Sect. 3.1.
Similarly to Eq. (9), Similarly to Eq. (10), Similarly to Eq. (6), In the right triangle ΔOAA′, −d AA' is the Z′-axis coordinate of point A in the rotating coordinate system.
Thus, the coordinates of point A in the rotating coordinate system are

Transformation of coordinates of the positioning target in the rotating coordinate system into the coordinates of the positioning target in the initial coordinate system
Substituting ( , , ) x y z ′ ′ ′ , α, and β into Eq. (12), the coordinates of point A in the initial coordinate system can be obtained.

Calculation of rotating angle of steering engines on ultrasonic transmitting device
As shown in Fig. 10, the directions of vectors P and Q are the initial states of the Nos. 3 and 4 steering engines, respectively. The directions of vectors P' and Q' are the updated states of the Nos. 3 and 4 steering engines, respectively. The angle between vectors P and P' is γ. and the angle between the vectors Q and Q' is θ. γ and θ are the rotation angles of the Nos. 3 and 4 steering engines, respectively. In the initial state, vector P is opposite to the X 1 -axis, and vector Q is vertical, i.e., γ = θ = 0. After the rotation of the platform board, vectors P' and Q' will directly point to O 1 and O, respectively.
The rotation angle of the No. 3 steering engine is γ. When γ > 0, the No. 3 steering engine rotates clockwise. When γ < 0, it rotates counterclockwise. The rotation angle of the No. 4 steering engine is θ. The steering engine rotates counterclockwise when θ > 0 and clockwise when θ < 0.
Vector P is in the negative direction of the X-axis, and vector Q is in the negative direction of the Z-axis. In the right triangles ΔAHO 1 and ΔAOO 1 , from the coordinates (x A , y A ) of point A in the ground coordinate system, γ and θ can be respectively obtained as

Experimental Results
A diagram of the Multi-DoF ultrasonic positioning device structure is shown in Fig. 11. The ultrasonic transmitting device mounted in the AGV system is connected with the control part of the AGV, which is used to transmit the ultrasonic waves. The control unit of the AGV drives the RF module to transmit RF signals and simultaneously transmits ultrasonic signals. The receiver controller starts counting time after receiving the RF signals from the RF module, which stops counting time after receiving the ultrasonic signals. From the arrival time of the ultrasonic signals and the ultrasonic propagation speed, the location of AGV can be determined.
In the experiments, the receiving devices are installed on the indoor roof at a height of 300 cm. The coordinate system is established by taking the receiving device projection point O on the ground as the origin. The rectangular region ABCD of 300 × 800 cm 2 on the ground is selected as the experimental area. At the same time, the region ABCD is divided into 24 square regions each of 100 × 100 cm 2 . The schematic of the experimental positioning environment is shown in Fig. 12.
Location error Δ l is defined as where (x i , y i ) is the reference coordinate value and (x j , y j ) is the measured coordinate value.

Fixed-point positioning test
The measurement errors from the trilateral positioning algorithm (22) and Multi-DoF ultrasonic positioning methods are summarized in Tables 1 and 2, respectively.  Table 1 Positioning results obtained using the trilateral positioning algorithm (unit: cm).  Table 2 Positioning results obtained using the Multi-DoF positioning method (unit: cm). From Tables 1 and 2, it is found that the maximum error using the ultrasonic trilateral positioning method is 25.3 cm. In contrast, the maximum error using the Multi-DoF positioning method is 7.5 cm. Obviously, the Multi-DoF method presents a considerably better performance than the trilateral positioning method, as shown in Fig. 13.

X-axis
The average statistical error chart between the two positioning methods is shown in Fig.  14, where the positioning coordinate is represented on the X-axis and the average error is    represented on the Y-axis. The average error when using the ultrasonic trilateral positioning method is up to 21.5 cm because of the small moving range, large blind spot area, and large wave loss error. On the other hand, the average error of the Multi-DoF positioning method is as low as 3.2 cm, a relatively low error.

Motion positioning test
The results of AGV positioning route tracking using ultrasonic trilateral positioning and Multi-DoF ultrasonic positioning are shown in Fig. 15. The errors are shown in Fig. 16. It is seen that the average error of the ultrasonic trilateral positioning method in motion positioning is as high as 22.7 cm. Distinctively, the average error of Multi-DoF positioning is only 4 cm. Figure 16 shows that when the AGV is directly below the ultrasonic receiving device, the positioning error is the smallest for both methods. With increasing distance between the AGV and the ultrasonic receiving device, the error of trilateral positioning increases significantly and the stability is poor. For Multi-DoF ultrasonic positioning, the error is lower and more consistent than that of the trilateral positioning method.

Conclusions
In this study, the effect of positioning error originating from the ultrasonic device was investigated in detail by a systematic method. On the basis of the results, the Multi-DoF ultrasonic module was developed and a high accuracy for indoor positioning was successfully achieved. The proposed module can effectively control the rotation of the steering engine between the ultrasonic receiver and the transmitter, thus reducing the positioning error caused by wave loss and expanding the positioning range. The experimental results revealed that the average positioning error of ultrasonic trilateral positioning was 21.5 cm. In contrast, the average positioning error of the proposed module was 3.2 cm under the same conditions. In a motion situation, the average error of the ultrasonic trilateral positioning method was as large as 22.7 cm. On the other hand, the Multi-DoF positioning method achieved only a 4 cm average error. Moreover, the stability of Multi-DoF positioning method is obviously better than that of the ultrasonic trilateral positioning method. Accordingly, we concluded that the proposed approach presents superior performance in terms of high accuracy and robustness.