Este trabalho apresenta o estudo e a implementação de um sistema de navegação em tempo-real utilizado para estimar a posição, a velocidade e a atitude de um veículo submarino autônomo. O algoritmo investigado é o do Filtro de Kalman Estendido. Este filtro é freqüentemente usado para realizar a fusão de dados obtidos de diferentes sensores, em uma estimativa estatisticamente ótima, quando se respeita algumas condições. Neste trabalho, fez se a fusão entre os seguintes sensores: unidade de navegação inercial do tipo strapdown, sensor acústico de posicionamento, profundímetro, sensor de velocidade de efeito Doppler e uma bússola. Para a aplicação embarcada do Filtro de Kalman, faz-se necessário o seu desenvolvimento em tempo real. Conseqüentemente, este trabalho apresenta o estudo das principais características de um sistema de tempo real. Para desenvolver o código em C utilizou-se de algumas funções do Matlab com a finalidade de se tentar minimizar os erros de implementação do filtro. Além disto, para facilitar a implementação e respeitar os critérios de sistemas de tempo real utilizou-se de um sistema operacional, C/OS-II que possibilita aplicar sistemas com multiprocessos e utilizar semáforos para o gerenciamento do EKF, além disto, foram utilizadas normas de programação, MISRAC, para padronizar o código e aumentar a sua confiabilidade. São apresentadas também a modelagem cinemática, a metodologia e as ferramentas computacionais utilizadas para o filtro. Com base nas simulações e nos ensaios de campo executados on-line, observou-se que os filtros projetados para se estimar a atitude e a posição do veículo obtiveram bons desempenhos, além disto, foi possível verificar a convergência dos EKFs. Para estas simulações e ensaios, foram também estudados casos de situações adversas como, por exemplo, uma falha no sensor de referência de posição, sendo que para esta situação, o EKF de posição e velocidade obteve resultados satisfatórios. / This paper presents the study and implementation of a real-time navigation system used to estimate the position, velocity and attitude of an autonomous underwater vehicle. The Extended Kalman Filter, EKF, was adopted. This filter is often used to perform the data fusion from different sensors, in generating a statistically optimal estimate when some required conditions are fulfilled. The algorithm implements the fusion of the following sensors: an inertial navigation unit sensor (strapdown type), an acoustic positioning, a depth gauge, a Doppler velocity log sensor and a magnetic compass. This work presents the kinematic modelling, the methodology and computational tools used for developing the EKF algorithm. In order to integrate the EKF into an embedded system, it is necessary to develop it in real time. It was adopted the C / OS-II operational system, which allows to implement multithreaded systems and use traffic lights to manage the EKF. Furthermore, programming standards, such as MISRA C, was chosen to standardize the code and increase its reliability. The C code implementation took advantage of some Matlab functions to minimize implementation errors. Based on simulations and field tests carried out online, it was concluded that the filters designed to estimate the attitude and position of the vehicle provided good performances, in addition, it was possible to verify the EKFs convergence. The filters were tested in same adverse situations, e.g., a fault in the position reference sensor, providing satisfactory results as well.
Identifer | oai:union.ndltd.org:IBICT/oai:teses.usp.br:tde-23032012-114741 |
Date | 18 January 2012 |
Creators | Fábio Doro Zanoni |
Contributors | Ettore Apolônio de Barros, Raúl González Lima, Hélio Koiti Kuga |
Publisher | Universidade de São Paulo, Engenharia Mecânica, USP, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Biblioteca Digital de Teses e Dissertações da USP, instname:Universidade de São Paulo, instacron:USP |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0116 seconds