• Nenhum resultado encontrado

Figura 3.12: Concessão final da PCB.

A disposição e instalação dos componentes foram ponderados com o objetivo de diminuir a cablagem, eliminar as interferências que pudessem ocorrer entre os mais diversos dispositivos e permitir um acesso rápido do utilizador aos componentes mais fulcrais (microprocessador, da- talogger). Em primeiro lugar, foi definido a localização do sensor inercial, que foi colocado no centro de massa do veículo. Em segundo lugar, os sinais enviados para cada um dos controlado- res, bem como os sinais provenientes do recetor wireless foram colocados em locais acessíveis, em cada um dos vértices da placa. Por último, o processador e a shield microSD encontram-se localizados nas bordas, permitindo um fácil acesso aos mesmos por parte do utilizador.

Denota-se a inclusão de sockets de uma DSP. A DSP em questão, denominada C2000 Delfino MCUs F28377S LaunchPad, foi pensada para um trabalho futuro que exija um maior poder computacional. Algumas ligações foram executadas entre o Teensy e a DSP de forma a facilitar futuros manuseamentos.

3.3

Implementação da Unidade de Processamento

A implementação de uma arquitetura centralizada significa que a unidade de processamento é responsável por todo o processamento do sistema. Desta forma, foi necessário desenvolver um procedimento capaz de comunicar com os diversos componentes, associado a um agenda- mento de tarefas eficazes, permitindo assim correr o programa desenvolvido sem a existência de interferência entre os mesmos.

O desafio consiste em desenvolver uma rotina capaz de realizar aquisição de informação proveniente do IMU e GPS, filtragem desses mesmo dados, controlo da velocidade (abordado no Capítulo 5) e guardar essa informação para o datalogger concebido através de um cartão microSD. Assim, do ponto de vista de conceção, o programa encontra-se dividido em instâncias,

que podem ser visualizadas na Figura3.13. A instância de controlo apenas ser abordada no Capítulo5.

Figura 3.13: Sequencias de instâncias simplificada da unidade de processamento.

O programa apresenta como primeira instância a Inicialização e calibração de todos os dispositivos (GPS, IMU, microSD). Esta ocorre através de um conjunto de etapas bem deter- minadas. A inicialização desenrola-se com a verificação de alguma anomalia ou a falta de algum dispositivo (GPS, IMU ou microSD). Todos os leds numa primeira etapa ligam e apagam-se a uma cadência específica. A ocorrência de alguma anomalia é detetada com o apagar do led cor- respondente ao dispositivo. Os leds só interrompem a sua cadência se o utilizador pressionar um dos botões. O premir desse botão desencadeia a calibração do IMU e obtenção da localização do veículo por parte do GPS. A calibração do IMU é realizada através da obtenção das primeiras mil amostras. Obtidas as amostras, procede-se ao cálculo da média. Essa média é realizada para todos os eixos (x, y, z), tanto no giroscópio como no acelerómetro. O cálculo deste valor permitirá mais tarde a obtenção de um valor mais preciso das grandezas. Relativamente ao GPS, é necessário esperar um determinado tempo, dependendo das condições atmosféricas, para se obter uma localização correta, sendo esta realizada com base em três satélites.

Executada a calibração, o utilizador necessita de premir o outro botão para permitir a mo- vimentação do veículo. A instância Impulso dado ao veículo é autorizada através do comando do utilizador. O utilizador apresenta o controlo total do veículo e, como tal, o veículo apenas se movimenta se este fornecer uma ordem através do transmissor wireless. Assim, é enviado um sinal de comando aos controladores de velocidade traseiros. Foi decidido que o controlador fuzzy apenas entraria em funcionamento quando o veículo se encontrasse a uma dada velocidade. Deste modo, o controlador só é ativado um determinado tempo depois do veículo inicializar a sua marcha.

A instância Aquisição de dados dos sensores realiza a aquisição das grandezas fornecidas pelo IMU e pelo GPS. Através do IMU é possível obter a aceleração e o giroscópio em torno dos seus três eixos. Com base no GPS obtém-se os dados referentes à longitude, latitude e velocidade de forma a compreender o movimento do veículo. O IMU apresenta uma taxa de atualização dos seus valores de 1Khz, por outro lado a taxa de atualização dos valores do GPS ocorre a uma frequência de 1hz.

3.3 Implementação da Unidade de Processamento 55

Adquiridos os dados, estes necessitam de passar por um processo de filtragem ( Filtragem dos dados). A filtragem dos dados tem como objetivo uma suavização dos sinais, diminuindo a discrepância e aumentando a suavidade do controlo de velocidade. Utilizou-se um filtro de média móvel exponencial. A análise efetuada na subsecção3.3.1, permitiu caraterizar o melhor filtro para o projeto em questão tendo em conta o nível de atenuação. Executada a filtragem é realizada a subtração entre a velocidade real e a referência de velocidade introduzida. Deste modo, é possível obter o erro de velocidade que será uma das variáveis de controlo.

Calculado o erro e executada a filtragem, são passadas a variáveis de monitorização para controlo de lógica difusa, fala-se no erro da velocidade e na aceleração longitudinal. O contro- lador, por sua vez, executa o seu procedimento habitual (Figura5.2) e produz um valor de saída, valor este que fornecerá o sinal de comando dos controladores de velocidade. Este procedimento é realizado na instância Controlo de velocidade.

Por último, a instância Escrita no datalogger. Todos os dados obtidos do IMU e GPS são guardados no datalogger. Estes dados guardados permitem compreender o comportamento do veículo e a realização de ajustes no controlador. Depois de executada esta instância, o ciclo retorna ao seu ponto inicial, ou seja, produz-se uma nova atualização dos dados.

Em qualquer ocasião o utilizador pode realizar a paragem do veículo. A paragem do veículo poderá ser desencadeada se ocorrer alguma falha de comunicação, tanto dos sensores com o microprocessador bem como do transmissor wireless com microprocessador. Este processo é realizado através da função Watchdog do Teensy3.2.. Desta forma, aumenta-se a segurança do veículo e a robustez do mesmo.

3.3.1 Processo de Filtragem

A necessidade de obtenção de sinais precisos, sem o ruído e interferências, levou à imple- mentação de um método de filtragem. Um método de filtragem tem por base um algoritmo com funções de atenuar caraterísticas indesejadas de uma frequência a partir de um sinal de entrada. A escolha dos métodos a usar e a sua aplicação baseou-se nas referências de websites didáticos, fóruns online e plataformas académicas [17] [18] [19] [20] . A escolha do método usado teve em conta o seu poder computacional, facilidade de implementação com a plataforma de desenvolvi- mento Teensy 3.2, a restrição do número de amostras e a apresentação de resultados fidedignos. Assim, tendo em consideração as caraterísticas apontadas, selecionou-se o filtro de média móvel exponencial.

A média móvel exponencial funciona como um filtro de amostras temporais com o intuito de suavizar o efeito do ruído e eliminar as variações bruscas circunstanciais, geralmente causadas por erros de leitura. Baseia-se numa média não pesada de um valor de amostra infinita. A ocorrer

a filtragem de uma amostra (A) com um tamanho conhecido (X) necessita-se de um coeficiente de amortecimento (α) que pode tomar valores entre 0 e 1. A amostra filtrada (R) calcula-se através da equação3.1:

R(i) = αA(i)) + (1 − α)R(i − 1), ∀1 ≤ i ≤ X , R(1) = K (3.1) A escolha do valor inicial de R(K) é necessária pois o valor seguinte depende sempre do anterior. Desta forma, definiu-se o valor inicial igual a zero. O ajuste do filtro ocorreu de forma offlinecom base com resultados obtidos no datalogger. O ajuste do filtro teve por base um resultado que apresenta-se algumas variações acentuadas para uma análise mais rigorosa. Assim, realizou-se uma comparação entre diferentes valores de α para o mesmo sinal de entrada, erro da velocidade. Os resultados encontram-se nas Figuras3.14,3.15,3.16.

Figura 3.14: Filtragem da velocidade para α =0.1.

3.3 Implementação da Unidade de Processamento 57

Figura 3.16: Filtragem da velocidade para α =0.3.

As Figuras3.14, 3.15, 3.16apresentam os resultados para três filtros com diferentes α e com K = 0. À medida que o valor de α diminuiu a atenuação do sinal é maior. Para α = 0.1 continua-se a verificar as variações, mas com uma atenuação bastante elevada. Para α = 0.3 as atenuações são mais ligeiras eliminado inclusivamente pequenas variações. Pretende-se um sinal de velocidade com o menor ruído possível e como tal implementou-se um filtro de média móvel exponencial com K = 0 e α = 0.1.

A velocidade do veículo apresenta menos oscilações comparativamente à aceleração longi- tudinal. Assim, foi necessário ajustar um novo valor de α relativo à aceleração. Partiu-se do mesmo princípio anteriormente referido, K = 0, e obteve-se os resultados que se encontram nas Figuras3.17,3.18,3.19.

Figura 3.18: Filtragem da aceleração longitudinal para α =0.2.

Figura 3.19: Filtragem da aceleração longitudinal para α =0.3.

Relativamente à aceleração, é notório um maior ruído existente do sinal original e, como tal, é mais evidente a influência do processo de filtragem. Para um α = 0.1, o sinal apresenta uma atenuação bastante elevada, contudo há alguma perda de resolução. Confrontando os gráficos para um α = 0.2 e α = 0.3, a diferença não é muito percetível, contudo a suavização do sinal para α = 0.3 não é tão sentida, ou seja, apresenta mais oscilações. Assim, implementou-se um filtro de média móvel exponencial com K = 0 e α = 0.2.

Documentos relacionados