Keywords

1 Introduction

Recently, there has been an increase in interest in Quad-rotor which has a lot of advantages: it is comparatively easier to design compared to other UAVs (Unmanned Aerial Vehicle) and it has a small size and structure being able to take off and land vertically. Quad-rotor is widely used for purposes of traffic and disaster monitoring, saving a life, and even are reconnaissance flight in military [1]. To conduct these various tasks, autonomous navigation system is positively necessary and this is made possible by precise position estimation of mobile robots. In the field of research concerning localization, GPS and INS are universally used to obtain position information of an outdoor mobile vehicle. GPS receiving signals continuously in real time from satellites produces a user or mobile vehicle with absolute position information. However, it can have errors caused by weather and time discrepancies between the time of GPS receiver clock and the time of satellite clock due to atmospheric delay and multi-path. INS which includes data of acceleration and gyro gives relative local position of moving objects such as ships, aircraft, submarines, and spacecraft but it has a negative, which is, accumulative error cause by continuous integration of sensor error values. Therefore, location information becomes increasingly inaccurate because of the accumulative error. Our research improves upon current technology by combining low-cost GPS with INS through extended Kalman filter to reduce the individual weakness of each component [25]. Then cell division algorithm, which divides moving path of Quad-rotor to cells and chooses one of the closest positions in local information obtained by GPS/INS system to calculated actual position, is applied to GPS/INS system to obtain improved location estimation performance. This paper includes system and hardware configuration in Sect. 2. Then GPS/INS Fusion system will be shown in Sect. 3. Cell division algorithm will be described in Sect. 4 and experimental results analyzed in Sect. 5. Finally, the conclusion of this paper will be derived from the result of experiments in Sect. 6.

Fig. 1
figure 1

System block biagram

Fig. 2
figure 2

Hardware of quad-rotor

Fig. 3
figure 3

Fusion algorithm of GPS/INS system

2 System Configuration and Hardware

System configuration of this research is shown in Fig. 1. MCU (Micro Controller Unit) to control Quad-rotor is ATMEGA 2560. Sensors for attitude control are ADXL345 (Accelerometer), ITG-3200 (GYRO), and HMC-5884(Geomagnetic). Moreover, GPS to obtain local information is MTK-3329. In addition, Brushless motors which generate thrust is BE2212-13 DYS and ESCs(Electronic Speed Controller) are Thunderbird-9.

Figure 2 shows hardware configuration of Quad-rotor. GPS is installed on top of the Quad-rotor to receive GPS-signal more precisely and INS is mounted at the center of the robot.

3 GPS/INS Fusion System

Using angular velocity (\(\tilde{\omega }_{ib}^b )\) obtained from the gyro-sensor, the position expressed in quaternions (\(\hat{{q}})\) can be updated

$$\begin{aligned} {\hat{{q}}}=\frac{1}{2}q\times (\tilde{\omega }_{ib}^b -\hat{{b}}_{\text {gyro}} ) \end{aligned}$$
(1)

As shown in Eq. (2), the position expressed in quaternions can be used to calculate the transformation matrix which transforms the structural coordinates to the navigation coordinates [6].

$$\begin{aligned} {\hat{R}}_{n}^{b} = \left[ \begin{array}{ccc} {\hat{q}}_{1}^{2} + {\hat{q}}_{2}^{2} - {\hat{q}}_{3}^{2} - {\hat{q}}_{4}^{2} &{} 2({\hat{q}}_{2}^{2}{\hat{q}}_{3}^{2}-{\hat{q}}_{1}^{2}{\hat{q}}_{4}^{2}) &{} 2({\hat{q}}_{1}^{2}{\hat{q}}_{3}^{2}+{\hat{q}}_{2}^{2}{\hat{q}}_{4}^{2})\\ 2({\hat{q}}_{2}^{2}{\hat{q}}_{3}^{2}+{\hat{q}}_{1}^{2}{\hat{q}}_{4}^{2}) &{}{\hat{q}}_{1}^{2}-{\hat{q}}_{1}^{2}+{\hat{q}}_{1}^{2}-{\hat{q}}_{1}^{2} &{}2({\hat{q}}_{3}^{2}{\hat{q}}_{4}^{2}-{\hat{q}}_{1}^{2}{\hat{q}}_{2}^{2})\\ 2({\hat{q}}_{2}^{2}{\hat{q}}_{4}^{2}+{\hat{q}}_{1}^{2}{\hat{q}}_{3}^{2}) &{} 2({\hat{q}}_{1}^{2}{\hat{q}}_{2}^{2}+{\hat{q}}_{3}^{2}{\hat{q}}_{4}^{2}) &{}{\hat{q}}_{1}^{2} - {\hat{q}}_{2}^{2} - {\hat{q}}_{3}^{2} + {\hat{q}}_{4}^{2} \end{array}\right] \end{aligned}$$
(2)

The difference between the position (\(\hat{{p}})\) which is obtained by integrating the acceleration (\(\hat{{a}})\) of the navigation coordinates twice and the position (\(\tilde{p})\) which is obtained through the reception of GPS can be calculated as shown in the following equation (Fig. 3):

$$\begin{aligned} \delta \hat{{p}}^{-}\equiv \tilde{p}-\hat{{p}} \end{aligned}$$
(3)

Using the transformation matrix, the measured value (\(\hat{{m}}^{b})\) of the geomagnetic sensor can be transformed to the value of (\(\hat{{m}}^{n}=\hat{{R}}_n^b \tilde{m}^{b})\) in order to measure the value of the magnetic value of the earth. The difference between the actual magnetic value of the earth (\(m^{n})\) and the calculated magnetic value of the earth can be defined as \(\delta \hat{{m}}^{n}\equiv \tilde{m}^{n}-\hat{{m}}^{n}\). Using \(\delta \hat{{p}}^{-}\) and \(\delta \hat{{m}}^{n}\) as the measured values of EKF, the following state space equation can be designed to estimate the position error (\(\hat{{\rho }})\) and the location error (\(\delta \hat{{p}}^{+})\). Based on the calculated error, the position and the location can be updated in order to obtain corrected values.

$$\begin{aligned} \delta \mathbf{x}_k =f_k (\delta \mathbf{x}_{k-1} )+\omega _k , \quad \delta \mathbf{y}_k =h_k (\delta \mathbf{x}_k )+v_k \end{aligned}$$
(4)

The estimated value of k can be given as \(\hat{{k}}\), while the measured value can be defined as \(\tilde{k}\). \(f_k \) is the state propagation function and \(h_k \) is the measurement equation, while \(\omega _k \) is the system error and \(v_k \) is the measurement error. \(\delta y_k \) is the measured value. EKF can be considered to have 15 states with such random variables as the three-dimensional location errors (\(\delta p)\), the velocity errors (\(\delta v)\), the position errors (\(\rho )\), and the bias errors given by the acceleration sensor (\(\delta b_{\text {acc}} )\) and the gyro-sensor (\(\delta b_{\text {gyro}} )\).

$$\begin{aligned} qx=\left[ \begin{array}{lllll} {\delta p^{T}} &{} {\delta v^{T}}&{} {\rho ^{T}}&{} {\delta b_{\text {acc}}^T }&{} {\delta b_{\text {gyro}}^T } \\ \end{array} \right] \end{aligned}$$
(5)

Here, the equation of \(\delta k\equiv k-\hat{{k}}\) can be given, while the factors of each random variable can be defined as follows:

$$\begin{aligned} \begin{array}{l} p\equiv \left[ {{\begin{array}{lll} x&{} y&{} z \\ \end{array} }} \right] ^{T} \\ v\equiv \left[ {{\begin{array}{lll} {v_x }&{} {v_y }&{} {v_z } \\ \end{array} }} \right] ^{T} \\ \rho \equiv \left[ {{\begin{array}{lll} {\varepsilon _N }&{} {rl}&{} {\varepsilon _D } \\ \end{array} }} \right] ^{T} \\ \end{array} \end{aligned}$$
(6)

Here, \(\varepsilon _N \) is a tilt error, while \(\varepsilon _D \) is a heading error.

4 Cell Division Algorithm

GPS/INS system fused by extended Kalman filter is completely influenced by performance of the used GPS. Therefore, only that GPS is changed; there is no method to improve positional accuracy of GPS/INS system. However, if cell division algorithm is applied to GPS/INS system, it is possible to obtain the improved local information. As shown in Fig. 4, the distance from starting position from GPS data of destination is calculated, where the first local information from GPS is very important because performance of cell division algorithm depends on the first GPS position information [7]. Then calculated distance is divided into the cells. These cells are compared to positional information from GPS/INS system to obtain the closest position information to the reference location. Through these processes, more accurate location information can be obtained. The procedure for choosing more precise location is shown in Fig. 5.

Fig. 4
figure 4

Block diagram of cell division algorithm

Fig. 5
figure 5

Position determined by cell division algorithm

5 Experimental Results

This study uses extended Kalman filter to fuse GPS with INS and cell division algorithm to reduce location error of Quad-rotor. Extended Kalman Filter is utilized to overcome negatives of GPS and INS which are no reception area from satellites, time discrepancy, and accumulative error. Further, cell division algorithm is applied to GPS/INS system to obtain more accurate position information. To verify proposed system in this paper, two outdoor experiments of Quad-rotor were conducted in the playground of the Pusan National University. The first experiment is the Quad-rotor field in rectilinear trajectory as shown in Fig. 6.

Fig. 6
figure 6

Experimental environment 1

Fig. 7
figure 7

Experimental result in square shaped path

Table 1 Position error of GPS, GPS/INS and GPS/INS with cell division algorithm

Quad-rotor followed a defined reference path determined by Google Earth. GPS data was collected as the robot followed the square shaped path. In Fig. 7, The proposed system is plotted on the graph, revealing a more accurate location tracking ability.

Table 1 shows the average position error of the proposed system compared to the GPS/INS system fused by extended Kalman filter. The second experimental environment is shown in Fig. 8.

Figure 9 describes the result of the second experiment.

Fig. 8
figure 8

Experimental environment 2

Fig. 9
figure 9

Experimental result in curve path

Table 2 Position error of GPS/INS and GPS/INS with cell division algorithm

Table 2 states the average position error of the Proposed System compared to the GPS/INS system fused by Extended Kalman Filter in curve path.

6 Conclusion

In conclusion, the experimental results reveal that the proposed system, using extended Kalman filter and cell division algorithm, is more accurate than a single low cost GPS or GPS/INS system fused by extended Kalman filter. The results also suggest that when tracking location outdoors, the proposed system is a good alternative to DGPS and RTK-GPS. This is because the proposed system is more cost efficient and similarly as accurate as the other localization systems. After this research, it will be configured that position estimation system which is capable of the mobile robot’s position without depending on the first GPS position data.