Paper Menu >>
Journal Menu >>
![]() Journal of Global Positioning Systems (2007) Vol.6, No.1: 80-88 PC104 Based Low-cost Inertial/GPS Integrated Navigation Platform: Design and Experiments Di Li, René Jr. Landry a n d Ph i l i p p e Lav o i e LACIME, Department of Electrical Engineering École de Technologie Supérieure (ÉTS), University of Quebec, Montreal, Quebec, Canada, H3C 1K3 Abstract. The integration of Global Positioning System (GPS)/Inertial Navigation System (INS) has become very important in various navigation applications. In the last decade, with the rapid development of Micro Electro Mechanical Sensors (MEMS), great interest has been generated in low cost integrated GPS/INS applications. This paper presents a PC104 based low cost GPS/INS integrated navigation platform. The platform hardware consists of low cost inertial sensors and an assembly of various PC104 compatible peripherals, such as data acquisition card, GPS receiver, Ethernet card, mother board, graphic card, etc. The platform software including inertial/GPS data acquisition, inertial navigation calculation and integrated GPS/INS Kalman filter is implemented with Simulink, which can be directly loaded and processed in the PC104 mother board with the aid of Matlab Real-Time Workshop (RTW) utility. This platform is totally self-embedded and can be applied independently or as part of a system. Simulation and real data experiments have been performed to validate and evaluate the proposed design. A very low cost MEMS inertial sensor was utilized in the experiments. The reference is the navigation solution derived from a tactic grade Inertial Measurement Unit (IMU). Test results show that PC104 navigation platform delivers the integrated navigation solutions comparable to the reference solutions, which were calculated with a conventional laptop computer, however with less power consumptions, less system volume/complexity and much lower over-all costs. Moreover the platform hardware is compatible to various inertial sensors of different grades by configuring the related parameters in the system software. Keywords: PC104, GPS, MEMS, Kalman filter, Real- time Workshop, xPC Target 1 Introduction As an independent means of navigation, GPS is capable of delivering position and velocity information with time- independent precision, while the performance becomes unreliable however when the system is exposed to high dynamics, interference from communication equipments and intentional/non-intentional jamming, etc. Compared with GPS, INS providing position, velocity, and attitude information via the measurements from inertial sensors has various advantages, such as totally autonomous, high dynamic response, good short-term accuracy and robust performance when exposed to interference and or jamming. However its usage as a stand-alone navigation system is limited due to time-dependent growth of the inertial sensor bias/noise. Because of the aforementioned complementary characteristics, GPS and INS are commonly coupled by Kalman filter to augment the over- all performance by overcoming the shortcomings of each individual system. A high precision integrated GPS/INS system requires expensive inertial sensors that have exceptional long term bias stability. The sensor cost limits such kind of integrated navigation systems to very expensive applications (Hayward et al., 1997). Over the past decade low cost MEMS are experiencing rapid improvements in terms of precision, robustness, size, high dynamic response and so on. With the quick growth in demand for low cost navigation systems for general aviation, unmanned automotive vehicles, locating personnel, mobile mapping systems, athletic training and monitoring, and computer games, etc, it has become important to develop low cost integrated navigation systems. This paper introduces the development of a low cost inertial/GPS integrated navigation platform. The platform hardware is constructed on the basis of a PC104 computer and an assembly of PC104 peripherals, such as data acquisition card, graphic card, Ethernet card, power ![]() Li et al.: PC104 Based Low-cost Inertial/GPS Integrated Navigation Platform: Design and Experiments 81 supply board and a PC104 compatible GPS receiver, etc. Matlab Simulink’s modularity and graphical design make it convenient for point-wise improvements and facilitate the ramp-up knowledge of future contributors (Giroux, 2005). Also one of the Simulink’s powerful assets is the possibility to do rapid real-time testing through the RTW and xPC Target. Therefore the system software comprising the data acquisition, strapdown inertial mechanization and integrated Kalman filter is implemented by the Matlab Simulink. This Simulink based platform software can be directly compiled into executable code for PC104 computer by the RTW. The Simulink based design scenario has various advantages, such as rapid real-time prototyping and fast re- designing/debugging which is particularly helpful in the early stage of developing a real-time navigation system. The architecture of PC104 navigation platform is depicted in Fig. 1. Fig. 1 Architecture of PC104 navigation platform This paper is organized as follows. Section 2 presents an overview of the platform, the devices utilized, the software used to communicate and the algorithm structure. Section 3 describes the low cost MEMS real time test results followed by a performance evaluation. Finally, future work and potential enhancement of the project are discussed in the conclusions. 2 Hardware platform and software design 2.1 Hardware platform The hardware platform consists of a PC104 computer and an assembly of PC104 peripherals, such as data acquisition card, graphic card, Ethernet card, power supply board and a PC104 compatible GPS receiver. All the component parts are stacked up together through the PC104 bus. This configuration makes the individual peripheral independent from each others as well as provides a good synchronization for the data transmission. For example, the platform utilizing MEMS inertial sensor is depicted in Fig. 2. Fig. 2. PC104 navigation platform prototype On the top layer there is a MEMS inertial sensor which generally is not PC104 compatible but the information is sent via an external bus to the data acquisition card. This layer provides the specific force and angular rate measurements given by the MEMS. On the next layer, there is a PC104 compatible GPS receiver which obtains and transmits the position and velocity observations to the algorithm. Following the GPS receiver, there is a 16- bit data acquisition card which collects and converts the MEMS inertial analog signal to digital data. If the digital inertial data are available in MEMS sensor, e.g. a USB interface is provided by the newly acquired MEMS sensor in the lab (nIMU MEMSenseTM) or a RS232 interface used in the tactic IMU, this card can be excluded. The digital data should be directly connected to the PC104 computer USB/RS232 interface, under which a PC104 compatible power board provides the power supply to each card. Then, a PC104 compatible network card is added to build a TCP/IP connection to a host computer. This connection is used for carrying out several important tasks: first, to download the programs to the mother board, second to setup the control parameters and record the calculated navigation results, then it enables the platform in the remote-control mode through Internet. This platform is also equipped with a graphic card to display all the data/parameters/results residing in the platform in real time on an additional screen. On the bottom layer, there is the PC104 motherboard where the algorithm is loaded and executed. ![]() 82 Journal of Global Positioning Systems 2.2 Platform software The proposed system software package consists of strapdown inertial mechanization, the integrated Kalman filter and the software interface. The scheme of the system software is shown in Fig. 3. Fig. 3. Scheme of the system software Strapdown inertial mechanization There are many approaches to implementing the strapdown mechanization, which are generally divided into two categories, i.e. a multi-speed digital design including accurate coning, sculling, scrolling compensations for attitude/velocity calculation and a simplified single speed continuous design without any attitude, velocity or position compensation algorithm (Savage, 2000). Both algorithmic designs have been implemented and investigated by Li et al. (2007). By utilizing Matlab Simulink’s capabilities to directly evaluate the differential equations in the continuous mode, a simpler single high speed inertial calculation algorithm structure based on the INS analytically continuous differential equations is implemented in this study. The attitude, velocity and position solutions are derived by evaluating the rate equations as follows: NN EN E N E N IEIEP NN IE N EN N P N SF N N EN N IE L N L IL L B L IL B IB L B L B vhCC Rggvgav CCCC ⊥ =×= ××−=×+−+= +=×−×= & & & & )( )()2( )()()( ω ωωωω ωωωωω (1) where L B Cis the attitude matrix; × B IB ω is the skew- symmetric matrix of the angular rate vector in the body frame (B-frame), × L IL ω is the skew-symmetric matrix of the angular rate vector caused by the translational motion in the L frame, N EN ω is the angular rate of N Frame relative to E Frame, N vis the velocity vector, N SF ais the specific force vector, P gis the plumb-bob gravity, g is the standard gravity, R is the position location vector from the earth centre. For example the Matlab implementation of the attitude solution is depicted in Fig. 4. Fig. 4. Attitude implementation in Simulink Integrated Kalman filter According to the aforementioned advantages, the Kalman filtering is applied to combine the inertial/GPS data in this study. The roles of the Kalman filter in our application are to estimate/correct the errors in navigation parameters, e.g. position, velocity and attitude, and also to estimate the inertial sensor bias/drift which enables the in-motion calibration of inertial sensor raw measurements. The measurements in the proposed Kalman filter are formed from the comparison between the INS calculated and GPS receiver derived position/velocity data. Such measurements are derived using the estimated attitude, velocity, position and MEMS sensor error states. The design of the Kalman filter dynamic model is based on the INS error model. In our system, the so-called psi- angle error model is applied, which defines the errors in attitude, velocity and position parameters ( RV δ δ ,, Ψ ) (Savage, 2000): NN EN NN NN EN N IE N Mdl NN SF B SF N B N NN IN B IB N B N RVR VgaaCV C δωδδ δωωδδδ ωδω ×−= ×+−+Ψ×+= Ψ×−−=Ψ & & & )2( (2) where, RV δ δ ,, Ψ are the errors in attitude, velocity and position parameters, N B C is the attitude matrix expressed in the navigation frame (N-frame), B IB δω is the angular- rate error vector in the B-frame, B SF N SF aa δ , are the specific force vector in the N-frame and the specific force error ![]() Li et al.: PC104 Based Low-cost Inertial/GPS Integrated Navigation Platform: Design and Experiments 83 vector in the B-frame, N Mdl g δ is the plump-bob gravity error, N EN N IE ωω , are the earth rotation rate vector and the transport rate vector in the N-frame, respectively; N IN ω the N-frame rotation rate in the inertial frame (I-frame). The error parameters in attitude, velocity and position are represented as the error states which are propagated in the Kalman filter through the dynamic model. As in the application of low cost inertial sensors, the sensor noises are the dominant terms causing attitude, velocity and position errors, i.e. many error terms in the INS error model are negligible when compared with raw measurements errors B SF a δ and B IB δω . Therefore those terms can be removed from the error model which in turn reduces the number of the Kalman filter error states, remarkably decreasing the computing load (Li et al., 2007). The simplified error equation is given as: NN NN SF B SF N B N B IB N B N VR aaCV C δδ δδ δω = Ψ×+= −=Ψ & & & (3) This continuous Kalman dynamic model should be discretized to build Kalman state transition matrix (Phi- Matrix) and the integrated dynamic noise matrix (Q matrix). The discretizing rate is chosen as the available maximum sensor data rate, which is sensor dependent, typically varying from 100Hz to 200Hz. The Matlab implementation of the Kalman Dynamic model is depicted in Fig. 5. Fig. 5. Simulink implementation of Kalman state transition matrix Software interface For real time processing, the Simulink implemented navigation algorithm can be re-written in C, complied as executable codes and then downloaded to the hardware platform by the RTW. Simulink’s xPC Target Library provides the necessary drivers for the different peripherals. The connection to the monitor, keyboard and the host computer to display, read and command the platform in the real time is created by the drivers from xPC Target Library. For example, the data acquisition of the raw inertial measurement implemented in Simulink by xPC Target is depicted in Fig. 7 . In this study, the Diamond MM 16 AT card is utilized by the platform. The configuration of the Diamond MM16AT Acquisition Driver Module is shown in Fig. 6. The settings for this module are Number of Channels: Number of different outputs; Range Vector: Maximum Amplitude of the Output; Input Coupling: Number of input for the ADC; Sample Time: Output Sampling Time; Base Address: Output Address. In this platform, the data are encoded with 16 bits precision for the 5 volts range. Therefore the resolution is 7.63×10-5 V/bit which means a resolution of 76.3 μg for the accelerometers as the sensitivity is 1000 mV/g and a resolution of 6.1×10-3 º/sec for the gyroscopes as the sensitivity is 12.5 mV/º/sec. Fig. 6. Configuration of data acquisition driver 3 Experiments Simulation and real data experiments were performed to validate and evaluate the proposed design. The simulation test was to validate the designed navigation algorithm. Following the simulation, the real data experiment tests the platform hardware and software. A low cost MEMS and a low cost tactic IMU were utilized in the real data experiments. ![]() 84 Journal of Global Positioning Systems 3.1 Simulation test Fig. 8 depicts the trajectory processed in the simulation. The red curve is the reference trajectory generated by the Flight Simulator (Microsoft FS2004) and the blue one corresponds to the solution calculated by the algorithm. Fig. 7. Simulink implementation of data acquisition software Fig. 8. 3D trajectory simulation vs. reference Position: The Kalman filter provides the updated corrections of the position errors every 10ms. The maximum error located on an axis is about 5 meters. This period corresponds to the high dynamic period during the flight. It can be seen from the Fig. 9 that the position errors remain small and stable during the simulation. P matr ix: i.e. the state covariance matrix gives the information about Kalman filter estimation performance. Its convergence means that the estimates are close to the reality. The P matrix of this experiment shows that all the parameter estimates converge quickly as shown in Fig. 10. Velocity: Compared with the reference solutions, the velocity errors depicted in Fig. 11 never exceeds 1% of the velocity reference profile, indicating that the estimated velocity values are accurate. 050 100 150 200 250 -2 0 2x 1 0 -5 Lat Err[deg] Position Errors 050 100 150 200 250 -5 0 5x 1 0 -5 Long Err [deg] 050 100 150 200 250 -2 0 2 Alt Err[m] Time[s] Fig. 9. Position errors Similar to the position and velocity results, the attitude errors shown in Fig. 12 are small and stable. From the above results it can be concluded that the simulation test validates the proposed navigation algorithms. ![]() Li et al.: PC104 Based Low-cost Inertial/GPS Integrated Navigation Platform: Design and Experiments 85 0200 400 0 5000 P POS xyz[m 2 ] 0200 400 0 5000 0200 400 0 100 200 0200 400 0 2000 4000 P Vel enu[(m/s) 2 ] 0200 400 0 2000 4000 0200 400 0 100 200 0200 400 0 20 40 P Att RPH [deg 2 ] Time [s]0200 400 0 20 40 Time [s]0200 400 0 20 40 Time [s] Fig. 10. Convergence of Kalman estimation 050100150 200 250 -2 0 2 vel n Err[m/s] Velocity Errors 050100150 200 250 -1 0 1 vel e Err[m/s] 050100150 200 250 -1 0 1 vel u Err[m/s] Time [s] Fig. 11. Velocity errors 050 100 150 200 250 -5 0 5Att it ude Errors Roll Err[deg] 050 100 150 200 250 -5 0 5 Pitch Err[deg] 050 100 150 200 250 -10 0 10 Heading Err[deg] Time [s] Fig. 12. Attitude errors 3.2 Real dat a tes t The real data experiment was performed to test the proposed navigation platform using a very low cost MEMS inertial sensor (MEMSenseTM’s AccelRate3D). Only analog inertial measurements are available from AccelRate3D MEMS sensor, which were collected and converted to digital data in PC104 data acquisition card (Diamond MM 16 AT). The compiled navigation software was downloaded to the platform from host computer through the PC104 Ethernet card. The control commands and navigation software parameters were setup by an independent keyboard. Moreover the control commands and the real-time navigation solution may also be displayed by the monitor with the aid of PC104 graphic card. The navigation solutions (NovAtel SPAN TM Best PVA) derived from a tactic grade IMU (Honeywell HG1700 IMUTM) were employed as the reference. The inertial devices are shown in Fig. 13 and Fig. 14. IMU specifications are provided in Table 1 and Table 2 respectively. Fig. 13. AccelRate3D MEMS inertial sensor Fig. 14. Reference SPAN IMU Table 1 MEMS sensor specs (MEMSense AccelRate3D) AccelRate3D Dynamic Range Noise Accelerometer ±2 (g) 35(µg/√Hz) Angular Rate Sensor ±300 (º/s) 0.1(º/h/√Hz) Table 2 Reference IMU (NovAtel SPAN) SPAN IMU Dynamic Range Noise(Random Walk) Accelerometer ±50(g) 34(µg/√Hz) Angular Rate Sensor ± 1000 (º/s) 0.125(º/√hr) ![]() 86 Journal of Global Positioning Systems First of all, a stand alone test was made with this very low-cost MEMS sensor. The purpose of this test was to test its performance without any aiding from GPS. The trajectory was made inside THE ETS building. Since the positions are know precisely in the testing corridor, the reference can be achieved accurately as depicted in Fig. 15. Fig. 15. Corridor trajectory The data were processed by the navigation platform, and the results are shown in Fig. 16. The detailed results are shown in Table 3. Due to the MEMS sensor’s high noise characteristics, the test of 20 seconds is fairly long for MEMS standalone application. Hence there are significant time-dependent drifts in the navigation solutions as shown in Fig. 16. 4545.0005 45.00145.0015 45.002 45.0025 45.003 45.0035 45. 00 4 - 73.004 - 73.00 35 - 73.003 - 73.00 25 - 73.002 - 73.00 15 - 73.001 - 73.00 05 -73 - 72.99 95 latitude(d eg) l ongitude(deg) MEMS Tra ject ory Fig. 16. MEMS standalone solution Table 3 Trajectory vs. MEMS results Reference MEMS Total Distance 15.97m 8.30m Latitude Dist 8.23m 5.32m Longitude Dist. 13.67m 6.36m Test Duration 20.36s 0.7932 0.7932 0.7932 0.7932 0.7932 0.7932 0.7932 -1.2848 -1.2848 -1.2848 -1.2848 -1.2848 -1.2848 Trajectory (Latitude-Longitude) Latitude (rad) Longitude (rad) MEMS SPAN Fig. 17. Trajectory MEMS vs. SPAN Second, the integrated navigation test was performed on the platform. The trajectory was made outside the building with the good acquisition of GPS signals. The GPS and MEMS inertial data were acquired and processed by the PC104 platform and the results were logged. The reference solutions were calculated in the laptop computer. The trajectory, i.e. the integrated MEMS/GPS solution vs. the reference, is depicted in Fig. 17. The duration of the test was 107s. It can be seen that the MEMS/GPS integration solutions start to diverge from the reference at the end of the test due to the MEMS IMU error growing much faster than that of the high quality tactic grade SPAN IMU sensor. Compared with the reference solutions, the maximum position solution errors from the platform shown in Fig. 18 are about 5×10-7 radian (1-2 meters in Cartesian coordinates). 020 40 60 80100120 -2 0 2x 10 -7 Position Errors ( MEMS Vs SPAN) Latitude(rad) 020 40 60 80100120 -5 0 5x 10 -7 Longitude(rad) 020 40 60 80100120 -2 0 2 t (s) Altitude(m) Fig. 18. Position solution errors The velocity solution errors are depicted in Fig. 19. The errors remained small during the test, while the vertical velocity started to diverge at the end. One of the reasons causing this divergence is the time dependent biases in MEMS accelerometer raw measurements. It can be seen that the raw specific force measurements of the MEMS IMU are much noisier than those of the tactic grade IMU as shown in Fig. 20. ![]() Li et al.: PC104 Based Low-cost Inertial/GPS Integrated Navigation Platform: Design and Experiments 87 02040 6080100120 -0.5 0 0.5 Velocity Errors (MEMS Vs SPAN) East Ve l ( m/s ) 02040 6080100120 -0.5 0 0.5 North Vel(m/s) 02040 6080100120 -0.5 0 0.5 t (s) Up Vel(m/s) Fig. 19. Velocity solution errors Compared with the reference solutions, the attitude errors are 5.7º, 2.9º and 11 º respectively in roll, pitch and heading angle, as shown in Fig. 21. These errors are caused by the high noise contaminating the MEMS angular rate measurements, and more importantly there is no direct attitude observation available from GPS. The heading error grows over the time, which is the essential reason causing the slight divergences in velocity and position solutions. 010 20 30 40 50 60 -2 0 2Raw Accelerometers data (m/s 2 ) X (m/ s 2 ) 010 20 30 40 50 60 -5 0 5 Y (m/s 2 ) 010 20 30 40 50 60 -15 -10 -5 time (s) Z (m/s 2 ) SPAN MEMS Fig. 20. Raw specific force measurements MEMS vs. SPAN 020 40 60 80100 120 -0.1 0 0.1 Attitude Errors ( M EMS Vs SPAN) Roll(rad) 020 40 60 80100 120 -0.05 0 0.05 Pitch(rad) 020 40 60 80100 -0.2 -0.1 0 t (s) Heading(rad) Fig. 21 Attitude solution errors Similarly the raw angular rate measurements from the MEMS IMU and the reference IMU are depicted in Fig. 22. Although measuring the same angular dynamics, the raw angular rate measurements of the MEMS IMU are much noisier than those of the reference IMU. Hence it can be concluded the MEMS navigation solutions are greatly improved by the integration of the IMU with GPS. 010 20 30 4050 60 -0.2 0 0.2 Raw Gyroscopes data (rad/s) X (rad/s) 010 20 30 4050 60 -0.2 0 0.2 Y (rad/s) 010 20 30 4050 60 -0.5 0 0.5 time (s) Z (rad/s) SPAN MEMS Fig. 22. Raw angular rate measurements MEMS vs. SPAN 4 Conclusion s This paper presents the design & experiment for a low cost inertial/GPS integrated navigation platform based on PC104 computers. The navigation system software has been specifically designed in Simulink for low cost inertial sensor applications. The simulation experiment validates the proposed hardware and software designs. The real-time/data test has demonstrated that the PC104 navigation platform can deliver the integrated navigation solutions comparable to the reference solutions, which are calculated in the conventional desktop computer system, whereas with less power consumptions, less system volume/complexity and much lower over-all costs. Furthermore the platform hardware is compatible with various inertial sensors of different grades. Although there are various advantages in the Simulink based software design proposed by this study, many PC104 hardware devices are currently not supported by the Simulink xPC Target. Moreover the C-programming based digital mode navigation software comprising attitude coning and velocity sculling compensation algorithms is more appropriate for a high performance navigation system. Hence fully functional C- programming based platform software is currently under development. By applying a newly acquired USB-based digital MEMS nIMU (MEMSenseTM) instead of the analog AccelRate 3D, a complete digital hardware/software PC104 navigation platform design ![]() 88 Journal of Global Positioning Systems with a C programming high performance navigation software will be implemented. References Hayward, R., Gebre-Egziabher, D., Schwall, M., and Powel, J.D. (1997) Inertially Aided GPS Based Attitude Heading Reference System (AHRS) for General Aviation Aircraft, Proceeding of Institute of Navigation – ION-GPS Conference,Page 1415-1424. Savage, P.G. (2000) Strapdown Analytics Part I, Strapdown Association, Maple Plain, Minnesota. Savage, P.G. (2000b) Strapdown Analytics Part II, Strapdown Association, Maple Plain, Minnesota. Li, D. and Landry, R. (2007) MEMS IMU Based INS/GNSS Integration: Design Strategies and System Performance Evaluation, the Navigation Conference & Exhibition – NAV07, London, UK Li, D., Landry, R., and Lavoie, P. (2007) Validation and Performance Evaluation of Two Different Inertial Navigation System Design Approaches, International Global Navigation Satellite Systems Society Symposium 2007, Sydney, Australia MEMSense AccelRate3D. www.memsense.com. Giroux R., Landry R.Jr., Leach B. and Gourdeau R. (2003), Validation and Performance Evaluation of a Simulink Inertial Navigation System Simulator, Journal of Canadian Aeronautics and Space, Vol. 49, No. 4, p 149- 161. Giroux, R., Gourdeau R. and Landry R.Jr. (2005) Extended Kalman filter real-time implementation for low-cost INS/GPS Integration in a Fast-prototyping Environment, 16th Canadian Navigation Symposium, CASI , Toronto, Canada, 26 - 27 April. Titterton, D. and Weston, J. (2004) Strapdown Inertial Navigation Technology: Second Edition. AIAA. Flight Simulator 2004 http://www.microsoft.com/games/flightsimulatorx/ |