Mémoire de maîtrise (2008)
Document en libre accès dans PolyPublie |
|
Libre accès au plein texte de ce document Version officielle de l'éditeur Conditions d'utilisation: Tous droits réservés Télécharger (5MB) |
Résumé
Au fil des années, en raison de l'augmentation de la densité routière et l'intensité de la circulation, un système de navigation automobile devient nécessaire. Ce système doit fournir non seulement l'emplacement du véhicule mais, surtout, augmentera le contrôle, la sécurité et la performance globale de l'automobile. La baisse du coût des récepteurs de Géo-Positionnement par Satellite (GPS) a vulgarisé leur utilisation dans la navigation automobile. Le système GPS fournit les données de positionnement ainsi que l'information qui concerne la vitesse aux conducteurs. De ce fait, la plupart des dispositifs de navigation des automobiles civiles sont actuellement basés sur la technologie GPS. Cependant, en cas de perte du signal GPS par blocage par feuillage, passages en béton, dense agglomération urbaine, grands immeubles, tunnels et dans le cas d'atténuation, ces dispositifs ne parviennent pas à fonctionner avec précision. Une solution alternative au GPS, qui peut être utilisée dans la navigation automobile, est le système de navigation inertielle (INS). LINS est un système autonome qui n'est pas affecté par des perturbations externes. Il comprend des capteurs inertiels comme trois gyroscopes et trois accéléromètres. Le coût des INS peut être faible mais leur performance se détériore à long terme car ils souffrent des erreurs accumulées. Cependant, il peut fournir des solutions précises sur de courts intervalles de temps. Un système intégré de GPS/INS à faible coût a donc le potentiel de fournir de meilleures informations de position pendant des intervalles courts et longs. L'objectif principal de cette recherche était de mettre en place une solution d'un système de navigation véhiculaire temps réel sur une plateforme embarquée à faible coût. Ceci avait pour but de pouvoir l'utiliser comme un cadre de conception, et comme référence pour d'autres applications embarquées similaires. Pour améliorer la solution de navigation même en cas d'arrêt de fonctionnement du GPS, les données du système GPS/INS ont été fusionnées par la technique de la boucle fermée du filtrage de Kalman décentralisé en utilisant 15 équations d'états d'erreurs d'ENS. En raison de l'utilisation d'accéléromètre à faible coût, ainsi que des capteurs gyroscopiques de données, une technique de prétraitement nommée algorithme de débruitage par ondelettes a été adoptée. L'algorithme a un maximum de 5 niveaux de décomposition, de reconstruction, ainsi que du seuillage non linéaire à chaque niveau. La conception est décrite par un logiciel qui comprend un microprocesseur embarqué. L'implémentation est effectuée à l'aide d'un cœur du processeur MicroBlaze qui gère le processus de contrôle et exécute l'algorithme. Afin de développer une implémentation efficace, des calculs en virgule flottante sont effectués en utilisant l'unité de virgule flottante (FPU) du cœur du processeur Microblaze. Le système est implémenté sur carte FPGA Spartan-3 de Xilinx. Elle contient 200 mille portes logiques cadencées par un oscillateur à 50 MHz, avec une mémoire externe asynchrone SRAM de 1 Mio. Le système comprend également un bus périphérique sur puce (OPB). À ce titre, la solution finale du système de navigation automobile devrait avoir des caractéristiques telles qu'une faible consommation de puissance, un poids léger, une capacité de traitement en temps réel ainsi qu'un petit espace occupé sur puce. D'un point de vue développement, l'utilisation du langage C et d'un cœur de processeur fonctionnant sur FPGA donne à l'utilisateur une plateforme flexible pour tout prototypage d'applications. Les simulations montrent qu'une implémentation purement logicielle de l'algorithme de la boucle fermée du filtrage de Kalman décentralisé sur une plateforme embarquée qui utilise les nombres virgule-flottante à simple précision, peut produire des résultats acceptables. Ceci est conforme aux résultats obtenus sur une plateforme d'un ordinateur de bureau qui utilise les nombres virgule-flottante à double précision. Dans un premier temps, le code du filtrage de Kalman est exécuté à partir d'une mémoire externe SRAM de 1 Mio, soutenue par une mémoire cache de données de 8Kio et une cache d'instructions de 4 Kio. Puis, le même code est lancé à partir du bloc RAM sur puce, à grande vitesse, de 64 Kio. Dans les deux configurations mémoire, les fréquences d'échantillonnage maximales pour lesquelles le code peut être exécuté sont de 80 Hz (période de 12,5 ms) et 119 Hz (période de 8,4 ms), respectivement, tandis que les capteurs fournissent les données à 75 Hz Les même deux configurations de mémoire sont employées dans l'exécution de l'algorithme de débruitage par ondelettes avec 5 niveaux de décomposition, de reconstruction et seuillage non linéaire à chaque niveau. Sur l'accéléromètre et le gyro, les données brutes sont fournies en temps réel en utilisant un mode de fenêtre de non-chevauchement, avec une longueur de fenêtre de 75 échantillons. Les latences d'exécution dans les deux cas sont 5,47 ms et 1,96 ms pour les deux configurations de mémoire précédemment citées, respectivement. En outre, l'analyse temporelle de !'après synthèse des deux configurations matérielles, reporte des apports de 26% et 66% respectivement. Puisque le système fonctionne à 50 MHz, il y a ainsi une marge de manœuvre disponible intéressante pour des perfectionnements algorithmiques. Ainsi, en utilisant la combinaison d'une plate-forme peu coûteuse, une approche flexible de développement et une solution en temps réel, l'exécution montrée dans ce mémoire démontre que la synthèse d'une solution finale de navigation véhiculaire fonctionnant en temps réel, complètement fonctionnelle, panne-résiliente, peu coûteuse est faisable.
Abstract
Over the years, due to the increasing road density and intensive road traffic, the need for automobile navigation has increased not just for providing location awareness but also for enhancing vehicular control, safety and overall performance. The declining cost of Global Positioning System (GPS) receivers has rendered them attractive for automobile navigation applications. GPS provides position and velocity information to automobile users. As a result, most of the present civilian automobile navigation devices are based on GPS technology. However, in the event of GPS signal loss, blockage by foliage, concrete overpasses, dense urban developments viz. tall buildings or tunnels and attenuation, these devices fail to perform accurately. An alternative to GPS that can be used in automobile navigation is an Inertial Navigation System (INS). INS is a self-contained system that is not affected by external disturbances. It comprises inertial sensors such as three gyroscopes and three accelerometers. Although low-grade, low-cost INS performance deteriorates in the long run as they suffer from accumulated errors, they can provide adequate navigational solution for short periods of time. An integrated GPS/INS system therefore has the potential to provide better positional information over short and long intervals. The main objective of this research was to implement a real-time navigation system solution on a low cost embedded platform so that it can be used as a design framework and reference for similar embedded applications. An integrated GPS/INS system with closed loop decentralized Kalman filtering technique is designed using trajectory data from low-cost GPS, accelerometer and gyroscope sensors. A data pre-processing technique based on a wavelet de-noising algorithm is implemented. It uses up to five levels of de-composition and reconstruction with non-linear thresholding on each level. The design is described in software which consists of an embedded microprocessor namely MicroBlaze that manages the control process and executes the algorithm. In order to develop an efficient implementation, floating-point computations are carried out using the floating point unit (FPU) of MicroBlaze soft core processor. The system is implemented on a Xilinx Spartan-3 Field Programmable Gate Array (FPGA) containing 200 thousand gates clocked by an onboard oscillator operating at 50 MHz, with an external asynchronous SRAM memory of 1 MiB. The system also includes the IBM CoreConnect On-Chip Peripheral Bus (OPB). As such the final solution for vehicle navigation system is expected to have features like low power consumption, light weight, real-time processing capability and small chip area. From a development point of view, the combination of the standard C programming language and a soft processor running on an FPGA gives the user a powerful yet flexible platform for any application prototyping. Results show that a purely software implementation of the decentralized closed loop Kalman filter algorithm embedded platform that uses single precision floating point numbers can produce acceptable results relative to those obtained from a desktop PC platform that uses double precision floating point numbers. At first, the Kalman filter code is executed from a 1 MiB external SRAM supported by 8KiB of data cache and 4IUB of instruction cache. Then, the same code is run from high speed 64ICiB on-chip Block RAM. In the two memory configurations, the maximum sampling frequencies at which the code can be executed are 80 Hz (period of 12.5 ms) and 119 Hz (period of 8.4 ms) respectively, while accelerometer and gyroscope sensors provide data at 75 Hz. The same two memory configurations are employed in executing a wavelet de-noising algorithm with 5 levels of de-composition, reconstruction and non linear thresholding on each level. Accelerometer and gyroscope raw data are processed in real-time using non-overlapping windows of 75 samples. The execution latencies in the two cases are found to be 5.47 ms and 1.96 ms respectively. Additionally, from the post synthesis timing analyses, the critical frequencies for the two hardware configurations were 63.3 MHz and 83.2 MHz. an enhancement of 26% and 66% respectively. Since the system operates at 50 MHz, there is thus an interesting processing margin available for further algorithmic enhancements. Thus, by employing the combination of a low cost embedded platform, a flexible development approach and a real-time solution, the implementation shown in this thesis demonstrates that synthesizing a completely functional low-cost, outage-resilient, real-time navigation solution for automotive applications is feasible. -------------CONTENT Automobile Navigation -- Global Positioning System -- Navigation Frame -- Earth Models -- Attitude Representations -- Inertial Navigation System -- IMU Sensor Errors -- 2D INS Mechanization Equations -- 3D INS Mechanization Equations -- INS Error Equations -- GPS/INS data fusion using KF -- IMU data prepocessing using Wavelet De-noising -- Hardware/Equipment Setup -- Embedded Platform -- Hardware Platform Development -- Software Coding -- Software Design Issues -- Navigation Solution using MicroBlaze -- Timing Measurements.
Mots clés
Systèmes de navigation par inertie -- Conception et construction; Automobiles -- Systèmes d'aide à la conduite -- Conception et construction; Systèmes de transport intelligents -- Conception et construction; FPGA, Microblaze, INS, Mécanisation, Débruitage par ondelettes, Navigation automobile, Filtrage de Kalman
Renseignements supplémentaires: | Le fichier PDF de ce document a été produit par Bibliothèque et Archives Canada selon les termes du programme Thèses Canada https://canada.on.worldcat.org/oclc/659165918 |
---|---|
Département: | Département de génie informatique et génie logiciel |
Directeurs ou directrices: | J. M. Pierre Langlois |
URL de PolyPublie: | https://publications.polymtl.ca/8341/ |
Université/École: | École Polytechnique de Montréal |
Date du dépôt: | 04 août 2021 11:04 |
Dernière modification: | 28 sept. 2024 10:52 |
Citer en APA 7: | Islam, A. (2008). A design methodology for the implementation of embedded vehicle navigation systems [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/8341/ |
---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements