DOI QR코드

DOI QR Code

실내 측위 추정을 위한 센서 융합과 결합된 칼만 필터

A Kalman filter with sensor fusion for indoor position estimation

  • 양장훈 (서울미디어대학원대학교 인공지능 응용소프트웨어학과)
  • Janghoon Yang (Department of AI Software Engineering, Seoul Media Institute of Technology)
  • 투고 : 2021.10.19
  • 심사 : 2021.12.23
  • 발행 : 2021.12.31

초록

지능형 이동체 시스템 발달에 따라서, 보다 정확한 위치 정보 추정 기술에 대한 요구가 증가하고 있다. 특히, 실내에서 사용되는 이동 로봇에게 주어진 일을 정해진 위치에서 수행할 때에는 보다 정확한 위치 추정에 대한 성능을 필요로 한다. 따라서, 이 논문에서는 고정형 또는 이동형 사물에 적용 가능한 진보된 위치 추정 방법을 제안한다. 제안 방법은 미리 설치된 블루투스 비콘 신호로부터 위치 추정 결과를 칼만 필터의 관찰 신호로 사용한다. 또한, 센서의 위치와 각도에 따라서 결정되는 각 방향의 중력 가속도를 추정하기 위해서, 롤(roll)과 피치(pitch) 각도를 먼저 계산하고, 이 결과를 자기장 센서 출력과 결합하여 요(Yaw) 각도를 추정함으로써,이동체의 진행 방향을 정확히 추정한다. 이를 기반으로 이동체의 제어 입력이 되는 가속도 신호를 정확히 계산함으로써, 칼만 필터의 성능을 향상시키는 방법을 제안한다. 제안 방법의 성능은 고정 상태와 이동 상태로 나누어 평균 위치 오차를 계산하여 기존의 칼만 필터와 비교시 위치 오차를 크게 향상시킴을 확인하였다.

With advances in autonomous vehicles, there is a growing demand for more accurate position estimation. Especially, this is a case for a moving robot for the indoor operation which necessitates the higher accuracy in position estimation when the robot is required to execute the task at a predestined location. Thus, a method for improving the position estimation which is applicable to both the fixed and the moving object is proposed. The proposed method exploits the initial position estimation from Bluetooth beacon signals as observation signals. Then, it estimates the gravitational acceleration applied to each axis in an inertial frame coordinate through computing roll and pitch angles and combining them with magnetometer measurements to compute yaw angle. Finally, it refines the control inputs for an object with motion dynamics by computing acceleration on each axis, which is used for improving the performance of Kalman filter. The experimental assessment of the proposed algorithm shows that it improves the position estimation accuracy in comparison to a conventional Kalman filter in terms of average error distance at both the fixed and moving states.

키워드

Ⅰ. Introduction

With the advance in the autonomous system and navigation system, position estimation has been used in various applications such as car navigation, pedestrian navigation, autonomous vehicle, location-based services [1]. The position estimation system can be broadly decomposed into the position estimation algorithm from a reference signal and refinement algorithm such as Kalman filter. For example, even though GPS accuracy has been improved significantly through carrier-phase based method exploiting multiple GPS references [2], it is still important to assist GPS with filtering or information exchange from nearby information sources especially when the GPS signal is interrupted [3]. Since GPS signals can not get through the building, an indoor positioning system has been developed with exploiting wifi signals or Bluetooth signals. The indoor positioning system has been adopted for practical applications such as location-dependent service at a museum or indoor navigation at a large shopping mall [4].

Position estimation algorithms tend to have a dependency on the domain where it is applied. The position estimation for interior permanent magnetic synchronous parts of a motor was designed with the motor equations [5]. The algorithms commonly used for an autonomous mobile robot such as landmark-based methods and the technique with trajectory integration and dead reckoning was shown to depend on the environment where the robot navigates [6]. To make indoor localization with smartphones using inertial measurement unit (IMU) robust to the sensor noise, position estimation was made through determining the step length and heading information first from sensor fusion [7]. To estimate the relative position of the spacecraft in formation, an optical sensor for multiple lines of sigh measurements and gyro measurements was exploited to derive an extended Kalman filter with a dynamic model on the quaternion [8]. To operate a drone safely in a GPS hostile environment, the method first calculates the position from the semi-direct visual odometry method alongside IMU data and refines it with an extended Kalman filter (EKF) [9]. Existing research shows that depending on the domain, algorithms, modalities, and models need to be tailored for it.

With the development of refined inertial measurement units, indoor position-estimation algorithms have been studied a lot while various new indoor location-based services emerge. Indoor position-estimation algorithms have been developed with various signals such as signals from IMU sensor [7], geo-magentism intensity [10], brodcast signal for position information by visible light communication (VLC) [11], and the fusion of wifi and image [12]. Many different types of algorithms were also developed. Kalman filter was combined with fingerprinting and trilateration [13]. Maximum likelihood estimation was developed for joint position and channel attenuation estimation to be robust to the various wireless channel environments [14]. A hybrid time difference of arrival (TDOA) and received signal strength (RSS) algorithm was designed for indoor location system using a wideband code division multiple access (WCDMA) signal [15]. An algorithm combining a statistical model to extract features and deep learning to approximate the position from the features was shown to achieve a significant improvement over the conventional algorithm [16].

This research is motivated by the recent research result that the Kalman filter with sensor fusion can improve the attitude estimation [17]. It was also observed from initial channel measurement that the conventional path loss model for estimating the distance from the signal source was not good enough to be used for indoor positioning. Thus a nonlinear Kalman filter with 9 axis IMU was proposed in this research. The proposed method uses the position estimation from the received signal strength indicator (RSSI) look-up table. It estimates the decomposition of the gravitational acceleration to refine the gravitational acceleration It refines the roll angle and pitch angle, which finally are used for estimating orientation in combination with magnetometer measurements. Resultantly, sensor fusion was developed for refining the control input signals, which are accelerations on each inertial frame axis. The experimental validation shows that the proposed method improves the performance of position estimation over the conventional Kalman filter for both fixed state and moving state.

This paper is organized as follows. In section-2, a conventional dynamic equation of motion is given with the defining the body and inertial frame coordinate system. In section-3, conventional position estimation with Beacon only and Kalman filter is presented first. Then, a Kalman filtering with sensor fusion from 9-axis IMU is proposed. The performance of the proposed method is experimentally validated in comparison to the conventional Kalman filtering in section-4. Some concluding remarks and the future research directions are discussed in section-5.

Ⅱ. A System Model

2-1 A conventional dynamic equation of motion for position

Following Newton's law of motion, the position pλ, k+1 and the velocity νλ, k+1 in the inertial frame coordinate at time instance (k+1)Ts can be calculated as

νλ, k+1 = νλ, k + (αλ, k - αλ, b)Ts       (1)

pλ, k+1 = pλ, k + νλ, kTs + (αλ, k - αλ, b)T2s/2       (2)

where λ∈{x,y,z}, αλ, b is a bias incurring from the accelerometer, and Ts is sampling period. It is assumed that αλ, b does not change with time. With defining state xλ, k = [pλ, k, vλ, k]T, and uλ, k = αλ, k - αλ, b, the dynamic equation for motion in a discrete-time domain can be given as

xλ, k+1 = A0xλ, k +B0uλ, k + qλ, k       (3)

yλ, k = H0xλ, k + xλ, k       (4)

where yλ, k is measurement vector, and

\(\begin{aligned}A_{0}=\left[\begin{array}{cc}1 & T_{s} \\ 0 & 1\end{array}\right], B_{0}=\left[\begin{array}{c}T_{s}^{2} / 2 \\ T_{s}\end{array}\right]\end{aligned}\)       (5)

qλ, k is process noise vector which is assumed to follow the normal distribution with mean 0 and covariance KQ while rλ, k is measurement noise vector following the normal distribution with mean 0 and covariance KR. This model can be applicable when accelerometer only is available with setting inertial and body coordinate as same. However, an accelerometer with high noise may often cause to fail in finding accurate orientation and position information.

2-2 The definition of the coordinate and rotation

When dealing with the object in motion, three axis need to be considered. Those are sensor coordinate called platform frame coordinate, the object coordinated called as body frame coordinate, and the inertial frame coordinate which can be earth coordinate with origin at the center of the earth or the local geodesic coordinate. In this paper, the sensor coordinate is assumed to coincide with the object coordinate while the inertial coordinate is the local geodesic coordinate in consideration of indoor positioning system. Three axis are orthogonal to each other while the positive direction is determined by the right hand rule with X axis being along the index finger and Z axis along with the thumb. The rotation angles around X-axis, Y-axis, and Z-axis are defined as roll ϕ, pitch θ, and yaw ψ of which positive direction is clockwise rotation viewed from the origin of the coordinate. This configuration is described in figure-1. The rotation matrix from the body frame coordinate to the inertial frame coordinated can be defined as M = MxMyMz (1)

HHHHBI_2021_v25n6_441_f0001.png 이미지

Fig. 1. Rotation angles between inertial frame coordinate and body frame coordinate.

\(\begin{aligned}M=\left[\begin{array}{ccc}c \psi c \theta & c \psi s \theta s \phi-s \psi c \phi & c \psi s \theta c \phi+s \psi s \phi \\ s \psi c \theta & s \psi s \theta s \phi-c \psi c \phi & s \psi s \theta c \phi-c \psi s \phi \\ -s \theta & c \theta s \phi & c \theta c \phi\end{array}\right]\end{aligned}\)       (6)

where cψ = cosψ, sψ = sinψ, cθ = cosθ, sθ = sinθ, cϕ = cosϕ sϕ =sinϕ and Mx, My and Mz are 3 × 3 rotation matrices along x, y, and z respectively. The vector u in the body frame coordinate can be transformed to the ν in inertial frame coordinate through ν = Mu. Due to the nature of the rotation matrix, the transformation from the inertial frame coordinate to the body frame coordinate can be defined as MT.

Ⅲ. Position Estimation

3-1 Position Estimation with Beacon only

In GPS, the position can be estimated through manipulating delays measured from multiple satellites transmitting GPS signals. However, unlike GPS system, an indoor positioning system using Bluetooth as a reference signal. There are two primitive methods to estimate the position from the beacon signals. The first method is to use a path loss model. Path loss is defined as signal strength attenuation from source to destination. It depends on the geometry of the signal propagation environment. A commonly used path loss model in dB scale is given by

PL = 10αlog10d + PL0       (7)

where PL0 is a path loss measured at the near transmitter, α is a path loss exponent ranging usually from 2 to 5, and d is the distance from a transmitter to a receiver measured in meter [18]. However, our initial RSSI measurement shows that this model does not fit well for the wireless channel environment of the site for experiment. Thus, look-up table method is considered in this research alternatively. Let LT be the lookup table of each row has m RSSI measurements from m beacons. When the RSSI measurements f is given, the position estimation is given by

\(\begin{aligned}\hat{p}=[L T P]_{i_{0}}\end{aligned}\)       (8)

where LTP is the table of the position where each row corresponds to the location where the RSSI measurements at the same row of LT was made, [∙]i is the ith row of the matrix inside the bracket, and i0 = argmin∥f - [LT]i∥.

3-2 Position Estimation with Accelerometer and Beacon only

Kalman filter is known to be an optimal estimator when the process noise and measurement noise are normally distributed. This filer consists of two steps, prediction and measurement update [19]. The prediction equation can be given as

\(\begin{aligned}\hat{x}_{k+1 \mid k}=A \hat{x}_{k}+B u_{k} \end{aligned}\)       (9)

\(\begin{aligned} P_{k+1 \mid k}=E\left\{\left(\mathrm{x}_{\mathrm{k}+1}-\hat{\mathrm{x}}_{\mathrm{k}+1 \mid \mathrm{k}}\right)\left(\mathrm{x}_{\mathrm{k}+1}-\hat{\mathrm{x}}_{\mathrm{k}+1 \mid \mathrm{k}}\right)^{\mathrm{T}} \mid \mathrm{Y}_{\mathrm{k}}\right\}=\mathrm{AP}_{\mathrm{k} \mid \mathrm{k}} \mathrm{A}^{\mathrm{T}}+\mathrm{K}_{Q}\end{aligned}\)       (10)

The update equation can be written as

\(\begin{aligned}\hat{x}_{k+1}=A \hat{x}_{k+1 \mid k}+K_{k+1}\left(y_{k+1}-C \hat{x}_{k+1 \mid k}\right)\end{aligned}\)       (11)

\(\begin{aligned} P_{k+1 \mid k} & =E\left(\mathrm{x}_{\mathrm{k}+1}-\hat{\mathrm{x}}_{\mathrm{k}+1}\right)\left(\mathrm{x}_{\mathrm{k}+1}-\hat{\mathrm{x}}_{\mathrm{k}+1}\right)^{\mathrm{T}} \mid \mathrm{Y}_{\mathrm{k}+1} \\ & =P_{k+1 \mid k}-K_{k+1} C P_{k+1 \mid k}\end{aligned}\)       (12)

where C is a measurement matrix, and Kk+1 is a Kalman gain matrix defined as Pk+1|kCTS-1k+1 and Sk+1 = CPk+1|kCT + KR.

When the accelerometer is given only, it is possible to track the position in 2-dimensional space with the assumption that an object is moving on flat land without tilting. In this case, the yaw angle estimation \(\begin{aligned}\hat{\psi}_{k+1}\end{aligned}\) can be naively given as

\(\begin{aligned}\hat{\psi}_{k+1}=\hat{\psi}_{k}+\tan ^{-1} \frac{\mathrm{a}_{\mathrm{y}, \mathrm{k}+1}}{\mathrm{a}_{\mathrm{x}, \mathrm{k}+1}}\end{aligned}\)       (13)

However, this estimate is not likely to be good enough since the accelerometer measurement is often contaminated with short-term noise, and the sampling period is not likely to be aligned with the acceleration time. With the assumption that the forward direction in the body frame coordinate is x-axis, ux, k av will be given as

\(\begin{aligned}u_{x, k}=\left(a_{x, k}-a_{x, b}\right) \cos \hat{\psi}_{k}\end{aligned}\)       (14)

\(\begin{aligned}u_{y, k}=\left(a_{y, k}-a_{y, b}\right) \sin \hat{\psi}_{k}\end{aligned}\)       (15)

Let yλ, k be the position estimation from the beacon system. With the assumption that it is unbiased estimate, it can be expressed as

\(\begin{aligned}y_{\lambda, k} \equiv \hat{p}_{\lambda, k}=p_{\lambda, k}+w_{\lambda, k}\end{aligned}\)       (16)

Since the dynamics equation for each axis does not affect each other, the Kalman filter will be applied separately for each axis with C = I.

3-3 Position Estimation with 9-axis IMU and Beacon

To overcome the limited applicability with accelerometer only in the position estimation, 9-axis IMU can be fused with Beacon-based positioning. The procedure in the position and the velocity estimation with 9-axis IMU and Beacon is summarized in figure-3. To estimate the Euler angle, gyro measurement needs to be used. To avoid gimbal lock, the state equation of quaternion is used to estimate the Euler angles from exploiting Kalman filtering [17]. However, since the Kalman filtering accompanies the inversion matrix of 3 by 3 or 4 by 4, to avoid computational complexity, estimating the angle from the gravitational force [17] is exploited.

Let gx be accelerometer measurement without external force. Then the roll angle and pitch angle can be computed as [17]

\(\begin{aligned}\phi=\tan ^{-1}\left(\frac{\mathrm{g}_{\mathrm{y}}}{\mathrm{g}_{\mathrm{x}}}\right), \theta=\tan ^{-1}\left(\frac{-g_{x} \cos \phi}{g_{z}}\right)\end{aligned}\)       (17)

where g = √g2x + g2y +g2z is the gravitational acceleration. Once and are determined, yaw angle can be determined as [17]

H1 = Hxcosθ + Hysinϕsinθ + Hzcosϕsinθ       (18)

H2 = Hycosθ - Hzsinϕ       (19)

\(\begin{aligned}\psi=\tan ^{-1}\left(\frac{\mathrm{H}_{1}}{\mathrm{H}_{2}}\right)\end{aligned}\)       (20)

This result is valid only when there is no external magnetic field except Earth's magnetic field. If there is local magnetic field, an additional angle due to it needs to be considered, which is beyond the scope of this research

With the assumption that this algorithm starts from the state without external force, (20) can be computed from (17). As an object starts to move  and rotation angles need to be updated alternatively. To this end, we need the following relationship between gλ and αλ[17].

\(\begin{aligned}\begin{array}{l}g_{x}=a_{x}-\dot{v}_{B, x}-\left(v_{B, z} w_{y}-v_{B, y} w_{z}\right) \\ g_{y}=a_{y}-\dot{v}_{B, y}-\left(v_{B, x} w_{z}-v_{B, z} w_{x}\right) \\ g_{z}=a_{z}-\dot{v}_{B, z}-\left(v_{B, y} w_{x}-v_{B, x} w_{y}\right)\end{array}\end{aligned}\)       (21)

where ωλ is the measurement from gyroscope. To compute gλ from (19), υB, λ and \(\begin{aligned}v_{B, \lambda}\end{aligned}\) need to be known. From the velocity estimated from the indoor position system, they can be calculated from exploiting (6) as follows [17]

\(\begin{aligned}\begin{array}{l}v_{B}=M \hat{v}_{I} \\ \dot{v}_{B}=M \dot{\hat{v}}_{I}\end{array}\end{aligned}\)       (22)

To calculate υB, υI needs to be estimated. This can be done with Kalman filtering. The dynamic equation for moving in a 3-dimensional space with an arbitrary pose is quite different from one described in the previous section. We reformulate the dynamic state equation accordingly. Acceleration in the body frame coordinate needs to be transformed to one in the inertial frame coordinate first.

αI = MTαB       (23)

Let αI,b be the transformation of αB, b through equation (23) which is measured acceleration bias measured from the accelerometer. With the assumption that αB, b is time-invariant, uλ, k can be given as

uλ, k = uI,λ, k - αI, λ, b]       (24)

With using yλ, k in (16), the position and the velocity in the inertial frame coordinate can be estimated with the same procedures described in (9)-(12).

The operation of the proposed method can be summarized as in the figure-2. With the assumption that an object does not move at an initial state gλ is measured from the accelerometer. It is also assumed that the bias is measured on the flat land beforehand. This measurement is used for calculating initial roll, pitch, and yaw. Once rotation angles are determined, the rotation matrix M is calculated accordingly. With M, the velocity and the acceleration in the inertial coordinate are estimated with Kalman filtering and BLE beacon signals. these values and rotation angles are used for updating gλ which is used for updating the rotation angles. This process continues alternately.

HHHHBI_2021_v25n6_441_f0002.png 이미지

Fig. 2. Position Estimation for 9-axis IMU and BLE Beacon (Green box is a sensor and dotted line exists only at initialization).

Ⅳ. Experiment Results

In this section, the performance of the proposed position and velocity estimation algorithm were assessed experimentally. To this end, 9-axis IMU of Arduino Nano 33 BLE Sense was adopted for the experiment. It has LSM9DS1 which consists of 3D digital linear accelerometer, 3D digital gyro sensor, and 3D digital magnetometer. Some Arduino Nano 33 BLE Sense boards will be used for generating BLE beacon signals while others will be used for measuring the RSSI of multiple beacons signals to estimate the position. Four Arduino Nano 33 BLEs for beacon signal were installed at each side of the wall in a meeting room which is shown in the figure-3 where one beacon installed at the door of the meeting room was not taken picture of. The two of them have downward tilting due to the difficulty of physical installation from soldered head pins while the other two Arduino without header pins have the bore sight parallel to the floor of the room. Adeept 4WD smart WiFi robot car was exploited for testing the position estimation with movement. Arduino Nano 33 BLE was installed on top of the toy car. It was controlled by smartphone application offered by Adeept for moving test while it was placed manually by hand for fixed point test.

HHHHBI_2021_v25n6_441_f0003.png 이미지

Fig. 3. Test site configuration.

The proposed position algorithm requires the bias of the accelerometer and gyroscope. The bias of the accelerometer in LSM9DS1 was measured in table-2. Arduino Nano 33 BLE Sense was placed on a flat table. The acceleration was measured 100 times at the same location on the table for 5 different Arduinos. Table-1 shows that the measured value does not change much. However, even though its magnitude is close to 1, except the first one in the table, the magnitude has 2~4% error which can be considered to be bias. The table-2 shows the bias of the gyroscope. According to the specification sheet [7], the positive output of the gyroscope is incurred by the counterclockwise rotation around the axis of which unit is degrees per second (dps). It is noted that IMU 1,4, and 5 are Arduino with headers while IMU 2 and 3 are one without headers. It is observed that even though headers do not affect the rotation rate while the sensor does not move, the measurement seems to depend on the existence of headers. Since ones with headers and ones without headers were bought separately, they might be produced at different times, which may affect the internal state of sensors and board itself. It can be seen that gyroscope measures are relatively unstable. When this bias is not compensated, significant angle drift is expected. The measurements of magnetometer was summarized in the table-3. The magnitude of the Earth's magnetic field at its surface ranges from 25 to 65 μT [8]. Thus, magnitudes themselves seems to be reasonable. Even though the standard deviations of the measurements are at a similar level, the means of the magnetic field along each axis are found to be quite different. With the assumption that there is no external magnetic field, the direction of the north of the earth's magnetic field can be measured as at the flat land. When this equation is applied to the average values in the table-4, the angles are calculated as 15.15, 120.20, 69.89, 37.07, and 30.34 respectively. When the north direction was measured with the compass app in the smartphone, it was 24 deg. In summary, while the accelerometers provide consistent measurement, gyroscopes and magnetometers seem to have some dependency on the sensor itself.

Table 1. Sample mean and the standard deviation of the measured acceleration at flat land.

HHHHBI_2021_v25n6_441_t0001.png 이미지

Table 2. Sample mean and the standard deviation of the measured rotation rate at flat land.

HHHHBI_2021_v25n6_441_t0002.png 이미지

Table 3. Sample mean and the standard deviation of the measured magnetic field at flat land (uT).

HHHHBI_2021_v25n6_441_t0003.png 이미지

Table 4. Comparison of the position estimation algorithms at stationary state.

HHHHBI_2021_v25n6_441_t0004.png 이미지

The position estimation at stationary state was evaluated first. The execution of this experiment necessitates the indoor positioning system. To this end, RSSIs were measured throughout this meeting room. However, the conventional far-field model with path loss exponent which ranges from 2 to 4 could not be developed. The exponent developed by regression was much less than 2. This result can be attributed to the size of the room. Thus instead of using estimated distance from the RSSI based on the developed path loss model, A lookup table was developed. The lookup table has an average RSSI measurement for 42 uniformly sampled locations along the paths in the figure-3. Three different algorithms were considered. The first one called as lookup table method is to simply estimate the position from the RSSI measurement only. In this method, the position in the lookup table of which RSSI value has the best match with the current RSSI measurement was determined as the current position. The method based on Kalman filter described in the section 3.2. was used as the second method which was called a conventional Kalman filter. This method uses the position estimation from the first method as observation signal and accelerometer measurements to estimate the position with Kalman filter. The method using sensor fusion which is presented in section 3.3 was used as the third method which was called the proposed method. This method was designed to improve the performance of the Kalman filter through sensor fusion. Throughout the paths indicated in the figure-3, 21 locations which were uniformly distributed were selected as test positions while the ground truth for these locations was measured with rulers. At each position, 3 to 5 location estimation was executed. This process was repeated once more to avoid the potential shadowing effect in a wireless channel. Table-4 provides the performance of the proposed method in terms of the average distance error. The proposed method was found to improve the performance by 31.6% in comparison to the conventional Kalman filter. It was observed that regardless of the estimation algorithms, the distance error tends to depend on the location. This implies that initial position estimation made from referring to the lookup table may have a critical role in determining performance. Depending on the location, the distance error was more than 5 meters while it was less than 1 meter at some locations.

The proposed algorithm was tested for estimating the location at the moving state. Due to the intrinsic nature of the control of a robot car, 3 separate straight paths were considered. Since the location varies on x-axis along the 1st and 3rd path, the estimated position and ground truth were plotted for estimation on the x-axis only in the figure-4 and the figure-5 while it was for the y-axis in the figure-6 for a similar reason. For each path, 3 trials were executed. It is observed that the performance of the conventional Kalman filter was relatively more inconsistent than the proposed one in the figure-4. The dotted lines indicating the estimation from the proposed algorithms were found to be closely grouped together with the accordance to the trend of the ground truth. It can be observed from the table-5 that the proposed method is found to improve the average distance error along this path by 37.3% in comparison to the conventional Kalman filter. The consistent performance provided by the proposed algorithm can be also observed in the figure-5 and the figure-6 while it improves the performance marginally.

HHHHBI_2021_v25n6_441_f0004.png 이미지

Fig. 4. The estimation of location on x-axis with movement along the 1st path (x-position).

HHHHBI_2021_v25n6_441_f0005.png 이미지

Fig. 5. The estimation of location on x-axis with movement along the 3rd path.

HHHHBI_2021_v25n6_441_f0006.png 이미지

Fig. 6. The estimation of location on y-axis with movement along the 2nd path

Table 5. Comparison of the average distance error of the position estimation algorithms at moving state.

HHHHBI_2021_v25n6_441_t0005.png 이미지

Ⅴ. Conclusions

In this paper, a position estimation algorithm was developed through combining Kalman filter and sensor fusion. The sensor fusion which possibly refines the direction information may improve the accuracy of the position estimation. The experimental validation proved that the proposed algorithm improved the position estimation significantly in comparison to the conventional Kalman filter which uses the measurement of acceleration in both stationary and moving states.

Due to the physical nature of the experiment, there are some limitations on this research which needs to be refined further. One of the most critical elements in this research was how accurate position estimation could be provided by RSSI measurement. It is likely to depend significantly on the geometric environment. Even though the meeting room where the experiment was conducted is likely to be a realistic environment, due to the diffraction and reflection, there can be inherent ambiguity in position estimation from RSSI measurements. This can be overcome by increasing number of the beacons and optimizing the position of beacons, which can assess the performance of the proposed algorithm more accurately. In addition, when controlling a car to move forward, even though it was controlled with care, there could be a slight mismatch between the targeted path and the real moving path. To overcome this problem, the real moving path may be monitored by a camera so that refined ground truth can be obtained.

There are several future research directions which need to be paid attention to. Recent research shows that processing the two gyroscope measurements can improve the performance of orientation estimation significantly [22]. This result lays down the potential of improving the position estimation through processing multiple IMU efficiently. It is also likely that the deep learning-based algorithm may improve the performance significantly while at the moving state. To overcome the limitation in estimating the distance from the path model in a beacon-based indoor position system, deep learning for improving range estimation with the collected in-site data [23]. This can be further improved for position estimation at moving states when memory-based deep learning is articulated. Finally, the refined position estimation methods can be combined with the consensus algorithm to evaluate the performance of the consensus algorithm with experiments more accurately.

Acknowledgement

This work was supported by the Basic Science Research Program through the National Research Foundation of Korea Funded by the Ministry of Science and ICT underGrant NRF-2017R1A2B4007398.

참고문헌

  1. H. Huang, G. Gartner, J. M. Krisp, M. Raubal, and N. V. de Weghe (2018), "Location based services: ongoing evolution and research agenda," Journal of Location Based Services, Vol. 12, No. 2, pp. 63-93, 2018. https://doi.org/10.1080/17489725.2018.1508763
  2. G. Fotopoulos, and M. Cannon, "An Overview of Multi-Reference Station Methods for cm-Level Positioning," GPS Solutions, Vol. 4, pp. 1-10, Jan. 2001. https://doi.org/10.1007/PL00012849
  3. P. P. L. L. do Nascimento, B. Y. L. Kimura, D. L. Guidoni, and L. A. Villas, "An Integrated Dead Reckoning with Cooperative Positioning Solution to Assist GPS NLOS Using Vehicular Communications," Sensors, pp.1-28, 2018.
  4. W. Sakpere, M. Adeyeye-Oshin, and N. B.W. Mlitwa, "A state-of-the-art survey of indoor positioning and navigation systems and technologies," South African Computer Journal, Vol. 29, No. 3, Dec. 2017.
  5. O. Benjak, and D. Gerling, "Review of position estimation methods for IPMSM drives without a position sensor part I: Nonadaptive methods," in Proceeding of the XIX International Conference on Electrical Machines, Rome: Italy, pp. 1-6, Sep. 2010.
  6. R. Talluri, and J. Aggarwal, "Position Estimation Techniques for an Autonomous Mobile Robot - a Review," in Handbook of Pattern Recognition and Computer Vision, World Scientific: Singapore, Chapter 4.4, pp. 769-801, 1993.
  7. A. Poulose, O. S. Eyobu, and D. S. Han, "An Indoor Position-Estimation Algorithm Using Smartphone IMU Sensor Data," IEEE Access, Vol. 7, pp. 11165-11177, 2019. https://doi.org/10.1109/ACCESS.2019.2891942
  8. S.-G. Kim, J. L. Crassidis, Y. Cheng, A. M. Fosbury, and John L. Junkins, "Kalman Filtering for Relative Spacecraft Attitude and Position Estimation," Journal of Guidance, Control and Dynamics, Vol. 30, No. 1, January-February 2007.
  9. H. D. K. Motlagh, F. Lotfi, H. D. Taghirad, and S. B. Germi, "Position Estimation for Drones based on Visual SLAM and IMU in GPS-denied Environment," in Proceedings of the 7th RSI International Conference on Robotics and Mechatronics, Tehran:Iran, Nov. 2019.
  10. J. Song, H. Jeong, S. Hur, and Y. Park, "Improved indoor position estimation algorithm based on geo-magnetism intensity," in Proceedings of International Conference on Indoor Positioning and Indoor Navigation, Busan:Korea, pp. 741-744, Oct. 2014.
  11. M. Moon, and S. Choi, "Indoor position estimation using image sensor based on VLC," in Proceedings of International Conference on Advanced Technologies for Communications, Hanoi:Vietnam, pp. 11-14, Oct. 2014.
  12. Z. Wang, P. Sokliep, C. Xu, J. Huang, L. Lu, and Z. Shi, "Indoor Position Algorithm Based on the Fusion of Wifi and Image," in Proceedings of the Eleventh International Conference on Advanced Computational Intelligence., Guilin:China, pp. 212-216, Jun. 2019.
  13. F. Subhan, H. Hasbullah, and K. Ashraf, "Kalman Filter-Based Hybrid Indoor Position Estimation Technique in Bluetooth Networks," International Journal of Navigation and Observation, Vol. 2013, pp. 1- 13, 2013.
  14. I. Yamada, T. Ohtsuki, T. Hisanaga, and L. Zheng, "An indoor position estimation method by maximum likelihood algorithm using RSS," in Proceedings of SICE Annual Conference, Takamatsu:Japan, pp. 2927-2930, Sept. 2007.
  15. F. M. Ghannouchi, D. Wang, and S. Tiwari, "Accurate wireless indoor position estimation by using hybrid TDOA/RSS algorithm," in Proceeedings of IEEE International Conference on Vehicular Electronics and Safety, Istanbul:Turkey, pp. 437-441, Jul. 2012
  16. A. Belmonte-Hernandez, G. Hernandez-Penaloza, D. Martin Gutierrez, and F. Alvarez, "SWiBluX: Multi-Sensor Deep Learning Fingerprint for Precise Real-Time Indoor Tracking," IEEE Sensors Journal, Vol. 19, No. 9, pp. 3473-3486, May. 2019. https://doi.org/10.1109/JSEN.2019.2892590
  17. D.-M. Ma, J.-K. Shiau, I-C. Wang, and Y.-H. Lin, "Attitude determination using a MEMS-based flight information measurement unit," Sensors, Vol.12, No. 1, pp. 1-23, Dec. 2012. https://doi.org/10.3390/s120100001
  18. Z. Zuo,L. Liu,L. Zhang, and Y. Fang, "Indoor Positioning Based on Bluetooth Low-Energy Beacons Adopting Graph Optimization," Sensors, Vol.18, No. 11, pp. 1-20, Nov. 2018. https://doi.org/10.1109/JSEN.2017.2772700
  19. J. Yang, "A Controllable False Data Injection Attack for a Cyber Physical System," IEEE Access, Vol. 9, pp. 6721-6728, 2021. https://doi.org/10.1109/ACCESS.2021.3049228
  20. https://content.arduino.cc/assets/Nano_BLE_Sense_lsm9ds1.pdf
  21. https://en.wikipedia.org/wiki/Earth%27s_magnetic_field
  22. M. Faizullin, and G. Ferrer, "Best Axes Composition: Multiple Gyroscopes IMU Sensor Fusion to Reduce Systematic Error," arXiv:2107.02632 [cs.RO], 2021.
  23. A. Guidara, G. Fersi, M. B. Jemaa, and F. Derbel, "A new deep learning-based distance and position estimation model for range-based indoor localization systems," Ad Hoc Networks, Vol. 114, Apr. 2021.