2010 39th International Conference on Parallel Processing Workshops
Sensor-Aided Personal Navigation Systems for Handheld Devices Chao-Min Su∗† , Jia-Wei Chou∗ , Chih-Wei Yi∗ , Yu-Chee Tseng∗ and Chi-Hung Tsai‡ ∗ Department of Computer Science, National Chiao Tung University 1001 University Road, Hsinchu City 30010, Taiwan Emails:
[email protected],
[email protected], {yi,yctseng}@cs.nctu.edu.tw † Ta Hwa Institute of Technology 1 Dahua Road, Qionglin Township, Hsinchu County 307, Taiwan ‡ Innovative DigiTech-Enabled Applications & Services Institute, Institute for Information Industry 8F., No.133, Sec.4, Minsheng E. Rd., Songshan District, Taipei City 105, Taiwan Email:
[email protected]
Abstract—The positioning technique is the key technique for developing geographic applications, like location based services. The Global Positioning System (GPS) is a common approach for positioning in vehicular navigations. Although GPS can provide absolute position information, the accuracy of GPS is not enough for personal navigations. What is worse, GPS does not work well indoors. Instead, Inertial Measurement Units (IMUs) can be used to track objects with high precision, but it provides relative position information. Thus, integration of GPS and IMU can do positioning indoors and outdoors. In this paper, combining our previous work, a pedestrian tracking system for handheld devices, with GPS leads to a personal navigation system for handheld devices. The position and heading information can be calculated from this system. The system also serves a platform for many applications related to the location.
The influence of a 13-meter error can be ignored in vehicular navigations because the vehicle usually travels at a high speed and has a long driving distance. The characteristic of human walking is the very opposite of the characteristic of car driving. The average human walking speed is about 3 miles per hour and a person can walk arbitrarily. For example, a 13-meter deviation can mislead a walking person from one side of a street to the opposite side of the street. Besides, a 15-meter displacement takes only 1 second by driving in the speed of 54 km/hr, but it takes about 20 seconds by walk. Therefore, there is a need for a personal navigation system that requires high positioning accuracy. Another drawback of GPS is signal outage. The accuracy of GPS depends on the quality of the satellite signal, which is usually affected in dense urban canyons and indoor environments. When the user is in indoor environment, GPS cannot provide continuous position information due to satellite signal outage. However, a pedestrian usually needs to enter a building. Moreover, a pedestrian is usually closer than a vehicle to the buildings in dense urban canyons. Therefore, a personal navigation system should be able to determine the position of the user when GPS is unavailable. Another method should be developed to help positioning for a pedestrian when he/she is in dense urban canyons and indoor environments. Recently, the volume of Micro Electro-Mechanical Systems (MEMS) becomes smaller and the capability becomes stronger. In addition, the accuracy is good enough for most applications. In a lot of research, MEMS Inertial Measurement Units (IMUs) were used to track human walking by dead reckoning. An IMU is an electronic device that measures and reports on an object’s velocity, orientation, and gravitational forces, using a combination of accelerometers, gyroscopes and magnetometers. To track the trajectory of a human, IMUs are attached to a human body. These devices measure the acceleration, angle rate and magnetism. By exploiting these data, the position information and the heading of a human can be determined. In our previous work, a Pedestrian Tracking System (PTS) for handheld
Keywords-Global Positioning System, Inertial Measurement Unit, Pedestrian Tracking System, Kalman Filter, Personal Navigation System
I. I NTRODUCTION As people travel in an unfamiliar city or area, they maybe miss an opportunity to visit a famous scenic spot. In another situation, people maybe overlook exhibits which are masterpieces when they visit a museum. It is rather unfortunate in any aforementioned situation. There is much information about famous scenic spots or masterpieces on the websites and in the books, but that information is passive and not real time. People prefer a navigation system which can immediately provide location based information when they travel. For providing location based services described earlier, the navigation system needs to know the position of the user. Therefore, positioning is the key technique in developing such kinds of applications. Generally, for vehicular navigations, the position of users is obtained from the Global Positioning System (GPS). However, the position information provided by GPS is not precise enough for a pedestrian. The Standard Positioning Service (SPS) of GPS is specified to provide accuracies of better than 13m (95%) in the horizontal plane and 22m (95%) in the vertical plane [1]. 1530-2016/10 $26.00 © 2010 IEEE DOI 10.1109/ICPPW.2010.78
538 533
II. R ELATED W ORK
devices is implemented using a tri-axial accelerometer and a tri-axial magnetometer [2]. The PTS can track the trajectory of a human by calculating three essential information: the step count, the stride length and the walking direction. There are some different features between GPS and IMU. As mentioned above, GPS provides the position of the user by receiving the satellite signal and the satellite signal is easily sheltered in dense urban canyons and indoor environments. In other words, GPS need the help of satellites when positioning. A human tracking module based on IMU devices can track the trajectory of a human without any infrastructure support. The drawback of IMU based human tracking modules is the accumulative errors. That is, the accuracy of IMU based human tracking modules decreases as time goes. Note that GPS provides absolute position information of the user and the IMU based human tracking module provides relative position information. The features between GPS and IMU based human tracking modules are complementary. A Personal Navigation System (PNS) for handheld devices is implemented by integrating the PTS and GPS in this paper. For calculating the position of the user, a Kalman filter is used to merge these two position information from the PTS and GPS. This system is able to continually provide the position information with high precision in the environments such as urban canyons or indoors by the cooperation of GPS and the PTS. We use Google Maps as the user interface. The integrated system can be a platform for geographic applications, like location based services. Furthermore, tourist guiding, group management and security management can be built based on this platform. In this paper, we make the following contributions.
A. Global Positioning System There are some techniques which can advance the capability of GPS [3]. For using these techniques, the extra support is required. Differential GPS (DGPS) can improve the accuracy of GPS to three feet or better [3]. The reference stations produce differential corrections by receiving the satellite signal and the known position information of reference stations and the satellites. The GPS receiver receives the satellite signal and the differential corrections from the reference stations to compute signal timing. With assisted GPS (AGPS), the performance of GPS can be improved by linking mobile receivers to a cellular, Bluetooth based, or wireless local-area network infrastructure [3]. AGPS provides better accuracy than standard GPS which is less than 50 feet in the outdoor environment and less than 160 feet in the indoor environment. B. IMU Based Positioning The trajectory of a human can be obtained by knowing the displacement information. Detect a step occurrence, calculate the stride length and the walking direction, then the trajectory can be obtained. In [4], the devices, a tri-axial accelerometer and a uniaxial gyroscope, are attached to the foot instep of a user, and the axis of the gyroscope must be aligned to the ankle rotation axis of the user. Four phases of a gait cycle are defined and the step occurrence is detected by a finitestate algorithm. In [5], the step occurrence is detected by the cooperation of the accelerometer and the gyroscope. It can improve the accuracy of the step detection and reduce accumulative errors. In [4], the duration from one step to the next step is measured by using the gyroscope which is mounted on the foot of a user. By regression analysis, the conversion equation between the stride length and the duration can be obtained. The walking frequency and the variance of the accelerometer signals during one step are used for regression analysis in [6]. In [7], only the variance of the accelerometer signals are used. In [5], the authors correct the drift errors in acceleration and the displacement is obtained by double integrating the corrected acceleration data when the device moves. In [8], by the initial vectors in the Earth frame and measured vectors in the body frame from an accelerometer and a magnetometer, the Euler angles can be calculated directly. In [9], a uni-axial and a bi-axial magnetometer were attached to the chest of a user and the magnetic field is measured for calculating the Euler angles. The rotation matrix between the two magnetic field vectors measured at two moments is obtained by the quaternion, and the Euler angles are calculated by the matrix.
1) By integrating the information from the PTS and GPS, the PNS can provide a high precision position information. 2) The PNS can provide the heading information of the user. 3) We overcome the problem of GPS signal outage in dense urban canyons and indoor environments. 4) This system is implemented for handheld devices. Processing the signals from a device holding in a hand is more difficult, because the signals are with more noises. 5) We provide a platform for applications such as location based services. The rest of this paper is organized as follows. We introduce related research in Section II. The system architecture is illustrated in Section III. In Section IV, we explain the positioning module used in this system. In Section V, the integrated system, the PNS, is implemented. The results of the experiments are also shown in Section V. Section VI is our conclusions.
534 539
In our previous research [2], a Pedestrian Tracking System (PTS) for handheld devices is implemented using a triaxial accelerometer and a tri-axial magnetometer. The PTS is composed of three modules, which are the stepping module, the stride module, and the direction module. These three modules process the 3D accelerations and magnetic intensities from the accelerometer and the magnetometer, then calculate the information about the step count, the stride length, and the walking direction. The PTS can track the trajectory of a human using these information.
HTTP
HTTP
HTTP
C. Integration of the GPS and IMU As described in Section I, the features of GPS and IMU are complementary. Thus, integrating these two can bring advantages. In [7], the authors propose a positioning algorithm which is a loosely coupled integration of GPS and Pedestrian Dead Reckoning (PDR) sensors using a Kalman filter. An IMU and a GPS receiver are attached to the waist of the user, and the antenna of GPS is mounted on the head. The positioning algorithm focuses on how to bridge the gaps of GPS signal outages. When GPS is available, the navigation solution is the output of GPS and the output and readings of IMU devices are used to estimate sensors’ error parameters and regressive coefficients of stride length by the Kalman filter. Therefore, PDR is triggered when the GPS signal is unavailable. The method overcomes the problem of GPS signal outage, but it cannot improve the accuracy for pedestrian navigations. The stride length estimation error can be reduced because the regressive coefficients are adjusted dynamically.
Figure 1.
The schematic diagram of the system.
when it is placed on a flat plane, the y-axis points to the right of it, and the z-axis points downward, and the axes of the magnetometer align to those of the accelerometer. The output range of the accelerometer is ±5g, the output range of the magnetometer is ±1.2Gauss, and the maximum sampling rate of both is 350Hz. The GPS receiver sends NMEA 0183 V3.01 sentences, GPGGA, GPGSA, GPGSV, and GPRMC every second and the interface is SPP-1.2. The notebook is used as our processing unit. It is in charge of processing the position information and communicating with the server.
III. S YSTEM A RCHITECTURE Our personal navigation system uses a positioning module to determine the position of the user and uses Google Maps as a platform for the user interface. The schematic diagram of the system is illustrated in Fig. 1. Each user holds a certain processing unit, such as a handheld device or a notebook, which contains the positioning module. The positioning module includes a GPS receiver, an IMU and a positioning algorithm. This module calculates the position of the user continually and the position information is delivered to a server through HTTP protocol. When the user accesses to the certain uniform resource identifier, which is a webpage on the server, the position of the user will be marked on the webpage. A. Client End
Figure 2. The instruments are a GPS receiver, WBT-201, an IMU, 3DMGX1 and a notebook.
Fig. 2 illustrates the devices used in this positioning module. An IMU device, 3DM-GX1, MicroStrain Inc., and a GPS receiver, Wintec WBT-201, are used in this module. The IMU includes one tri-axial accelerometer, one tri-axial gyroscope and one tri-axial magnetometer, but only the accelerometer and magnetometer are utilized in this system. The x-axis of the accelerometer points forward of the device
The architecture of this module is illustrated in Fig. 3. This module is composed of two main modules, which are the PTS module and the Kalman filter module. The PTS module is composed of three modules, which are the stepping module, the stride module, and the direction module. These three modules process the 3D accelerations
535 540
A. PTS Module The PTS module uses signals from one tri-axial accelerometer and one tri-axial magnetometer as the input. The IMU is with a RS232 interface connected to a USB port of the laptop via a RS232-to-USB cable and is mapped to a COM port of the laptop in the programming aspect. The laptop can set the IMU and gather readings by writing and reading the COM port. The PTS module contains three modules which are the stepping module, the stride module and the direction module. Fig. 4 illustrates the architecture of this module. The readings of the IMU will be stored in a buffer and then processed by the three modules. They provide three essential information for pedestrian positioning: the step count, the stride length, and the walking direction, respectively. The PTS module detects the occurrence of a step, and then estimates the stride length and the walking direction of this step. As shown in Fig. 3, the displacement information is delivered to the Kalman filter module for further processing.
and magnetic intensities from the accelerometer and magnetometer, then calculate the information about the step count, the stride length, and the walking direction. From this information, the displacement and heading information are estimated and delivered to the Kalman filter module for each step. The GPS receiver sends NMEA 0183 sentences and the information, including latitude, longitude, horizontal dilution of precision (HDOP), which is a quantitative indications of the reliability of GPS measurements, etc., is taken out. Then this information is delivered to the Kalman filter module. The Kalman filter module outputs the position of the user using the information from both the PTS module and GPS.
Step count
Acceleration
Processed acceleration Magnetic intensity
Parameters Stride length Walking direction
Figure 4. Figure 3.
The system architecture of the positioning module.
The three modules in the PTS module.
1) Stepping Module: In the stepping module, the accelerations are first decomposed into z (vertical) components and xy (horizontal) components. The z component is the component of the accelerometer reading in the direction of the gravity and the gravity is obtained by averaging the filtered accelerometer readings for a period of time when the accelerometer remains static. This module uses a pattern matching method for detecting the occurrence of each step. The vertical acceleration is the difference between the z component and the gravity and it is used to recognize the walking pattern. To detect the walking pattern, a sliding window is placed on the vertical acceleration samples and used for scanning vertical accelerations in real time. However, the patterns recognized may be with false ones, because the pattern of certain actions, like hand shaking, is similar with the one of real steps. A noise filter is needed to filter out those false patterns. Some parameters or features are checked to verify whether a step pattern is generated by a real step. There are six features used to validate each step pattern. The step pattern which passes all the conditions is considered as a qualified one.
B. Server End If we want to do only the positioning, it does not need to set up a server. With a server, the user can obtain the position information of other users. Of course we may cope with the privacy issue. In addition, with a server, more useful, flexible and scalable applications can be developed. In our system, the information of users is collected by a server. The positioning module deliveries the calculated position to the server using HTTP protocol and the position information is stored in a database. Other information such as the information about the scenic spots and exhibits can be stored in database, too. This information can be used to implement some location based services. IV. P OSITIONING M ODULE As described earlier, the positioning module is integrated the PTS module [2] and GPS information using a Kalman filter. To make our paper self contained, we describe these briefly, then explain some details in practice.
536 541
2) Stride Module: The stride module decides the stride length of each step. As learned from many experiments, the correlation between the stride length and the value of some features acquired from the stepping module is high. The multiple regression analysis is used to obtain the regression equation. Therefore, the stride length can be estimated. 3) Direction Module: Before introducing the direction module, we interpret the reference systems. There are two reference systems: the body frame and the Earth frame. The body frame refers to the coordinate system of the sensing device, while the Earth frame refers to an Earth coordinate system in which the x-axis points to the east, the y-axis points to the north, and the z−axis points upward. The direction module determines the walking direction of each step. The Euler angles are used to represent the orientation of a rigid body. Three parameters are required to describe such an orientation. Simply put, the yaw angle (ψ), pitch angle (θ), and roll angle (φ) are the angles rotated around the x-, y-, and z-axis respectively. Using the calculated gravity, θ and φ can be figured out. Then, ψ can be evaluated by using these two calculated angles and the magnetometer readings. However, ψ evaluated above is the device orientation. Generally, the user’s heading direction is different from the handheld device heading direction, i.e., the device orientation. Based on the horizontal components of accelerations, we estimate the holding angle that causes the difference between the device orientation and walking direction. So, we can get the walking direction by adding the device orientation and the holding angle.
non-profit association of manufacturers, distributors, dealers, educational institutions, and others interested in peripheral marine electronics occupations. The NMEA 0183 standard defines an electrical interface and data protocol for communications between marine instrumentation. All NMEA data is transmitted in the form of sentences. In our system, the GPS information is combined with the information from the PTS module. In every second, the GPS receiver sends the sentences which are GPGGA, GPGSA, GPGSV, GPRMC, and GPVTG. The GPGGA sentence provides all the information which we need in this system. GGA sentence is used in this system and it includes the Global Positioning System fix data, position and fix related data for a GPS receiver. We can get the latitude and longitude of the user from this sentence. We also need the HDOP information. It is useful to characterize the accuracy of GPS signal. In our system, we set up a threshold of HDOP. If the HDOP is less than the threshold, this system discards the information from GPS. C. Kalman Filter Module The Kalman filter is an efficient recursive filter that estimates the state of a linear dynamic system from a series of noisy measurements [11]. The model of the Kalman filter is illustrated in Fig. 5. Kalman filters are modeled on a Markov chain which is built on linear operators perturbed by Gaussian noise. It uses a vector x of real numbers to represent the state of the system. At each discrete time increment, a linear operator F transforms the state into a new state, with some noise w mixed in, and optionally some information from the controls u on the system if they are known. Then, another linear operator H mixed with more noise v generates the observed outputs z from the true state.
B. GPS GPS is a satellite-based navigation system that was developed by the U.S. Department of Defense (DoD) in the early 1970s as the next generation replacement to the TRANSIT system [10]. Initially, GPS was developed as a military system to fulfill U.S. military needs. However, it was later made available to civilians, and is now a dual-use system that can be accessed by both military and civilian users. GPS provides continuous positioning and timing information anywhere in the world under any weather conditions. GPS consists, nominally, of a constellation of 24 operational satellites [10]. GPS employs time of arrival (TOA) ranging for user position determination. By making TOA measurements to multiple satellites, three-dimensional positioning is achieved. The basic idea of GPS positioning is trilateration methods. GPS has numerous applications in land, marine, and air navigation [10]. Vehicle and personal tracking and navigation are rapidly growing applications. A GPS receiver calculates its position by precisely timing the signals sent by the GPS satellites [10]. The GPS receiver can send NMEA 0183 format stream periodically. The National Marine Electronics Association (NMEA) is a
Figure 5.
The Kalman filter model.
The state at time k is denoted as xk . The model assumes the true state x at time k + 1 is evolved from the state at
537 542
time k according to the following equation
position coordinate and north position coordinate in meters, respectively. The state equations are modeled as
xk+1 = Fk xk + Bk uk + wk
Ek+1 = Ek + sin(hk ) · Dk + wE Nk+1 = Nk + cos(hk ) · Dk + wN
where Fk is the state transition model which is applied to the state xk , uk is the control vector, Bk is the control-input model which is applied to uk , and wk is the process noise which is assumed to be drawn from a zero mean multivariate normal distribution with covariance Qk . At time k an observation zk of the true state xk is made according to the following equation
where Dk and hk are the stride length and the walking direction obtained from PTS module at time k, and wE and wN are assumed to be Gaussian noises. We simply define the vectors and matrices at each time k as follows. [ ] Ek xk = , state vector Nk [ ] 1 0 Fk = , state transition model 0 1
zk = Hk xk + vk where Hk is the observation model which maps the true state space into the observed space and vk is the observation noise which is assumed to be zero mean Gaussian white noise with covariance Rk . The Kalman filter is a recursive estimator. To compute the estimate for the current state, only the previous estimated state and the current measurement are needed. The Kalman filter has two distinct phases: Predict and Update. In the predict phase, the Kalman filter predicts an estimate of the state at the current time step from the state estimate at previous time step. This predicted state estimate is also known as the a priori state estimate since the observation information from the current time step is not used. In the update phase, the current a priori prediction is combined with current observation information to refine the state estimate. This refined estimate is called the a posteriori state estimate. Fig. 6 depicts the flowchart of the positioning in our system. When a step is detected by the PTS module, the stride length and the heading information are estimated and delivered to the Kalman filter for predicting. We use GPS as an observation tool. The Kalman filter checks the HDOP value to decide that the updating process is triggered or not. If the HDOP value is less than the threshold, the Kalman filter updates the state. Outdoor: GPS Indoor: RF
Updating
uk = [Dk ], control vector [ ] sin(hk ) Bk = , control-input model cos(hk ) [ ] wE wk = , process noise wN Since the position is represented as meters in the state vector and degrees in the observation vector, we need to convert meters to degrees. There are conversion rates which convert degrees to meters in [12]. The conversion formula is 1 millisecond longitude cos(ϕ) = 1 meters 33.3392843(1 − 0.0066934 sin2 (ϕ)) 2 1 millisecond latitude 1 = 3 meters 32.55720(1 − 0.0066934 sin2 (ϕ)) 2 where ϕ is the geodetic latitude. According to the conversion formula, we define C1 and C2 as C1 = C2 =
OUTPUT
3.6 ∗ 106 cos(ϕ) 1
33.3392843(1 − 0.0066934 sin2 (ϕ)) 2 3.6 ∗ 106 3
32.55720(1 − 0.0066934 sin2 (ϕ)) 2
Then the observation model is defined as Magnetometer
Heading Estimation
zk = Hk xk + vk
Predicting
where Accelerometer
Step Detection
Figure 6.
Stride Length Estimation
[ Hk =
1 C1
0
]
1 0 [ ] C2 v vk = E vN
PTS
Kalman Filter
In vk , vE and vN are Gaussian noises. In our system, we measure zk by [ ] Lngk − Lng0 zk = Latk − Lat0
The flowchart of the system.
Applying the Kalman filter model, in our system, the state at time k is [Ek Nk ]T where Ek and Nk are the east
538 543
where Lngk and Latk are the longitude and latitude from GPS at time k, respectively, and Lng0 and Lat0 represent the initial position. Since the HDOP value is the geometry factor of error in the GPS solution, we define the covariance matrix Rk as [ 1 ] ( µ · HDOPk )2 0 Rk = C 1 0 ( C12 µ · HDOPk )2 where HDOPk is the horizontal dilution of precision from GPS at time k, and µ is the average of GPS error. V. P ERSONAL NAVIGATION S YSTEMS
Figure 9.
The navigation information.
A. Implementation In the personal navigation system, we use Google Maps APIs to implement a webpage as the user interface. There are three kinds of information, which are raw data from the PTS, stride length and heading from the PTS, and navigation information, displayed on the webpage. The raw data are the 3D accelerations and magnetic intensities from IMU. Fig. 7 shows the raw data on the user interface. The raw data is processed to get the stride length and the heading information by the PTS module. Fig. 8 shows the information of stride length and heading. The complete navigation information is shown in Fig. 9.
Figure 7.
The webpage queries the server the position information by the j-Query API. When the webpage is loaded, some useful information can be downloaded to the client end. The position of the user is constantly updated to show the newest position. B. Experiments In order to demonstrate our system, we have conducted three experiments in the indoor and outdoor environments. The user holds the IMU device and a notebook. The GPS receiver is fixed at the waist of the user. In the first experiment, the user walks a 400m track and the result is shown in Fig. 10. The paths calculated by the GPS and our system are similar with the real path since the GPS signal is good. The path tracked by the PTS can exhibit accumulative errors.
The raw data from IMU.
Figure 10.
Figure 8. PTS.
The result of the experiment 1.
In the second experiment, the user walks in a straight line and there are trees on both sides. The result is shown in Fig. 11. The path calculated by the GPS is like the sharp teeth
The heading information and stride length obtained from the
539 544
because the GPS signal is unstable. The path calculated by our system is influenced by GPS. It can be improved by adjusting the threshold value.
Figure 11.
precision. This paper proposes a method to combine the two position information from GPS and the PTS by a Kalman filter. Besides the position information, the orientation of the user can be determined. The result of first experiment exhibits that the error accumulation can be reduced by the absolute position information from GPS. In the second experiment, the PNS provides better position information than GPS by mixing the two position information from PTS and GPS. The final experiment demonstrates that the PNS can continuously provide the position information even though it is short of GPS signal. Using Google Maps as a platform, many geographic applications, like location based services, can be easily built. Multiuser interaction also can be implemented based on this platform. Therefore, this system is expansible and flexible. In the future, we will persistently improve the accuracy of the PTS. For the stride length, the coefficients of regression equation in the PTS should be adjusted dynamically to provide reliable length estimation. Gyroscopes could be used to correct the error of magnetometers caused by magnetism substances. ACKNOWLEDGMENT
The result of the experiment 2.
This work of Dr. Yi described in this paper was partially supported by NSC under Grant No. NSC97-2221-E009-052-MY3 and NSC98-2218-E-009-023, by ITRI under Grant No. 99-EC-17-A-03-01-0809, and by the MoE ATU plan. This study is conducted under the ”III Innovative and Prospective Technologies Project” of the Institute for Information Industry which is subsidized by the Ministry of Economy Affairs of the Republic of China.
In the third experiment, the user enters a parking garage, walks in the parking garage, and exits the parking garage. The result is shown in Fig. 12. In the parking garage, our system successfully provides the position information of the user with GPS signal outage.
R EFERENCES [1] E. D. Kaplan and C. J. Hegarty, Understanding GPS Principles and Applications, 2nd ed. USA: Artech House, November 2006. [2] Y.-T. Chen, “Pedestrian tracking system for handheld devices vusing accelerometers and magnetometers,” Master’s thesis, National Chiao Tung University, Taiwan, June 2009. [3] R. Bajaj, S. Ranaweera, and D. Agrawal, “GPS: locationtracking technology,” Computer, vol. 35, pp. 92 –94, apr 2002.
Figure 12.
[4] F. Cavallo, A. M. Sabatini, and V. G. Sabatini, “A step toward GPS/INS personal navigation systems: real-time assessment of gait by foot inertial sensing,” in Proceedings of the 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2005), 2-6 August 2005, pp. 1187–1191.
The result of the experiment 3.
[5] X. Yun, E. R. Bachmann, H. Moore, and J. Calusdian, “Selfcontained position tracking of human movement using small inertial/magnetic sensor modules,” in Proceedings of the 2007 IEEE International Conference on Robotics and Automation, 10-14 April 2007, pp. 2526–2533.
VI. C ONCLUSIONS In this paper, we implement a personal navigation system for the handheld device which equips an IMU and a GPS receiver. It provides the position information with high
540 545
[6] S. H. Shin, C. G. Park, J. W. Kim, H. S. Hong, and J. M. Lee, “Adaptive step length estimation algorithm using low-cost MEMS inertial sensors,” in Proceedings of the 2007 IEEE Sensors Applications Symposium (SAS 2007), 6-8 February 2007, pp. 1–5.
[9] A. Fleury, N. Noury, and N. Vuillerme, “A fast algorithm to track changes of direction of a person using magnetometers,” in Engineering in Medicine and Biology Society, 2007. EMBS 2007. 29th Annual International Conference of the IEEE, 2226 2007, pp. 2311 –2314.
[7] W. Chen, Z. Fu, R. Chen, Y. Chen, O. Andrei, T. Kroger, and J. Wang, “An integrated GPS and Multi-Sensor pedestrian positioning system for 3d urban navigation,” in Proceedings of the 2009 IEEE International Conference on Urban Remote Sensing Joint Event, 20-22 May 2009, pp. 1 – 6.
[10] A. El-Rabbany, Introduction to GPS: The Global Positioning System, 2nd ed. Massachusetts, USA: Artech House, August 2006. [11] D. Simon, Optimal State Estimation. Hoboken, New Jersey, USA: John Wiley & Sons, Inc., 2006.
[8] C. Jagadish and B.-C. Chang, “Diversified redundancy in the measurement of euler angles using accelerometers and magnetometers,” in Decision and Control, 2007 46th IEEE Conference on, 12-14 2007, pp. 2669 –2674.
[12] D. M. Mayhew, “Multi-rate sensor fusion for gps navigation using kalman filtering,” Master’s thesis, Virginia Polytechnic Institute and State University, Virginia, May 1999.
541 546