III Encontro de Iniciação Científica e Tecnológica III EnICT ISSN: IFSP Câmpus Araraquara 19 e 20 de Setembro de 2018

Documentos relacionados
APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO

Filtro de Kalman. Teoria e Aplicação para Iniciantes. Prof. Dr. Marco Antonio Leonel Caetano. M&V Consultoria e Treinamento

PROJETO ARDUGARDEN - IRRIGADOR AUTOMÁTICO UTILIZANDO ARDUINO

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP

1 RESUMO. Palavras-chave: Controle, encoders, motor CC. 2 INTRODUÇÃO

Minicurso de Arduino. Laboratório de Inovação em Sistemas em chip npiti - UFRN

3 Filtro de Kalman Discreto

UNIDADE DE MEDIDA INERCIAL PARA CÁLCULO DE DESLOCAMENTO

A placa Arduino: uma opção de baixo custo para experiências de Física assistidas pelo PC. Prof. Helio Salim de Amorim 1

Hardware Livre Arduino. Givanaldo Rocha de Souza

INSTITUTO TECNOLÓGICO DE AERONÁUTICA

Rastreamento de objeto e estimativa de movimento

DESENVOLVIMENTO DE PLATAFORMA DE INSTRUMENTAÇÃO UTILIZANDO ARDUÍNO

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

PIBIC/PIBITI/IC Jr Relatório das Atividades de Pesquisa 23ª SEMIC

(83)

MEDIÇÃO DE ENERGIA COM REDE DE SENSORES SEM FIO

Introdução. Introdução. Introdução. Introdução. Introdução. Introdução à Robótica Robótica Móvel Localização. Principais questões na Robótica

Geração de números aleatórios verdadeiros

Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi

Este capítulo descreve os testes realizados para validar a teoria proposta pela presente dissertação.

VEÍCULO AÉREO NÃO TRIPULADO Demonstração e apresentação do voo de um veículo de multirotor.

Aula 1 Apresentação e Conceitos Iniciais. Wellington Cássio Faria fb.com/wellingtoncf

O aspecto do módulo de desenvolvimento Arduino Uno é mostrado na Figura 1 abaixo.

Controle a Distância de um Barco com Arduino+Bluetooth

MÉTODO DE AVALIAÇÃO DO ESTADO DE FUNCIONAMENTO DOS SERVO MOTORES DE UMA AERONAVE RÁDIO CONTROLADA

PROJETO MECATRÔNICO: CADEIRA DE BALANÇO

Introdução à Plataforma ARDUINO

CURSO NOTURNO. Série Nome da disciplina CH Série Nome CH

Plataforma Arduino, um universo de possibilidades

CARACTERÍSTICAS DE UM GIROSCÓPIO EM ARDUINO

Aplicação de um Processador Digital de Sinais em um Sistema de Nível de Líquido

CURSO DE ROBÓTICA PARA ENSINO MÉDIO

4 O Filtro de Kalman

Aluno do curso de graduação em Engenharia Mecânica da UNIJUÍ, bolsista PIBIC/CNPq, 3

PLATAFORMA DIDÁTICA PARA O ENSINO DE CONTROLE 1 DIDACTIC PLATFORM FOR THE TEACHING OF CONTROL SYSTEMS

Arduino Básico: As versatilidades desta plataforma na prática

APLICATIVO PARA ESTABILIZAÇÃO DE TELA EM DISPOSITIVOS ANDROID. Adrian Volkmann Mauro Marcelo Mattos - Orientador

Modelação, Identificação e Controlo Digital

INFORMAÇÕES GERAIS DO TRABALHO

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto

IMPLEMENTAÇÃO EM C: FILTRO DE KALMAN, FUSÃO DE SENSORES PARA DETERMINAÇÃO DE ÂNGULOS 1 RESUMO

7 Experimentos. Figura 2 Sensor Inercial (Xsens) Figura 3 Sensor GPS (Garmin) Figura 1 Robô Ambiental Híbrido

PARTE I - IDENTIFICAÇÃO

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

FILTRO COMPLEMENTAR APLICADO A MEDIDA DE INCLINAÇÃO DE PLATAFORMAS MÓVEIS. Aline Grotewold Bueno¹; Rodrigo Alvite Romano²

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Simpósio Brasileiro de Automação Inteligente XI SBAI 2013

CALIBRAÇÃO DE TERMOPARES ATRAVÉS DE SOFTWARE DE REGRESSÃO POLINOMIAL

Circuitos Lógicos. Prof. Odilson Tadeu Valle

Tecnologias Digitais

Sensores que fazem uso de ultrassons encontram uma grande gama de

IMPLEMENTAÇÃO E ANÁLISE DE LOCALIZAÇÃO EM ROBÓTICA MÓVEL POR FILTRO DE KALMAN

Comparação entre Arduino, FPGA, ASIC e SoC

Implementação de controlador PID fuzzy para otimização do controle de posição de um servomotor DC

11 a 15 de setembro de 2017 Belo Horizonte - MG

RECURSOS EXTRAORDINÁRIOS PARA A IMPLANTAÇÃO DO CURSO

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

MP-208: Filtragem Ótima com Aplicações Aeroespaciais

Compressão de Imagens Usando Wavelets: Uma Solução WEB para a Codificação EZW Utilizando JAVA. Utilizando JAVA. TCC - Monografia

Projeto de iniciação científica desenvolvido na UFFS campus Cerro Largo, PRO-ICT/UFFS 2

SISTEMA NIVELADOR DE PENEIRAS AGRÍCOLAS 1. Jordan Passinato Sausen 2.

Controle Granular Fuzzy Adaptativo com Observador de Estados

Curso de Engenharia Elétrica Processamento Digital de Sinais II Exercícios sobre filtros não recursivos Data de entrega: 17/11/2015

ROBÓTICA 1 INSTRUTORES: ALEXANDRE MATIAS E THALISSON RODRIGUES

Projeto realizado junto ao Grupo de Automação Industrial e Controle (GAIC) da UNIJUÍ. 2

MP-208: Filtragem Ótima com Aplicações Aeroespaciais

UM MODELO EXPERIMENTAL PARA DEMONSTRAR O FUNCIONAMENTO DA LOMBADA ELETRÔNICA UTILIZANDO ARDUINO UNO

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA

Proposta de uma plataforma de monitoramento e acionamento remoto voltada para sistemas de hardware industriais utilizando LabVIEW

SUPERVISÃO DE VAZÃO E NÍVEL UTILIZANDO PLATAFORMA ARDUINO

HARDWARE DOS RELÉS NUMÉRICOS

MODELAGEM MATEMÁTICA E SIMULAÇÃO DO MOTOR BRUSHLESS 1

CONFIABILIDADE DE SENSORES UTILIZADOS COM O ARDUINO E RUÍDO DA ENTRADA ANALÓGICA

Arduino. Introdução aos Componentes Básicos. Leonardo Mauro P. Moraes. Universidade Federal de Mato Grosso do Sul - UFMS.

Controle digital do Conversor CC-CC Zeta

POR TERRA, ÁGUA E AR:

ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino. Aluna: Juliana Carolina Batista Orientadora: Joyce Martins

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

O que você pode fazer com o Arduino

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE USANDO SENSORES MARG

PARTE I - IDENTIFICAÇÃO

AUTOMAÇÃO DE AVIÁRIO UTILIZANDO A PLATAFORMA ARDUINO

senθ acel θ acel (5) O sinal de saída do giroscópio é uma tensão proporcional ao valor da velocidade angular

Primeiros Passos com o Arduino Massimo Banzi

Plano de trabalho. 1. Introdução:

III Encontro de Iniciação Científica e Tecnológica III EnICT ISSN: IFSP Câmpus Araraquara 19 e 20 de Setembro de 2018

Introdução ao Arduino

TÍTULO: CÁLCULO NUMÉRICO APLICADO AO CONTROLE DE ATUADORES EM SISTEMAS EMBARCADOS POR MEIO DE CÁLCULO DIFERENCIAL E INTEGRAL

Algoritmos e Programação

Oficina de Introdução ao Arduino

2 Descrição da Unidade de Levitação Magnética e Sistema de Controle

CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR MATUTINO Fase N.

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade

Sistemas Embarcados. Projeto de Sistemas Embarcados

DESENVOLVIMENTO DE SOFWARE PARA PROJETO DE ELEMENTOS SENSORES PIEZORESISTIVOS 1

O ARDUINO. Plataforma de prototipagem eletrônica; Open Source; Formada por duas partes básicas: hardware e software.

Transcrição:

III Encontro de Iniciação Científica e Tecnológica III EnICT ISSN: 2526-6772 IFSP Câmpus Araraquara 19 e 20 de Setembro de 2018 Filtro de Kalman aplicado a fusão sensorial com modelo tridimensional para aplicação em drone Caio Beltani da Silva Fernandes¹, Francisco Vargas Javier 2, Fabiana Florian 3 ¹ Graduando em Engenharia Elétrica, Universidade de Araraquara-UNIARA, cbs.belt@hotmail.com. 2 Docente do curso de Engenharia Elétrica, Universidade de Araraquara-UNIARA 3 Docente do curso de Engenharia Elétrica, Universidade de Araraquara-UNIARA Área de conhecimento (Tabela CNPq): Instrumentação Eletrônica 3.04.02.04-2 RESUMO: Em um mundo onde se faz necessário a tradução de sinais analógicos para o ambiente virtual (digital), este artigo tem como objetivo demonstrar uma técnica, utilizando a plataforma open-source Arduino, capaz de minimizar erros e instabilidade em sensores ou processos. Aplicado em diversas áreas de conhecimento este artigo tem como foco a área da aeronáutica, mais especificadamente a correção das instabilidades dos sensores giroscópio e acelerômetro em quadri-rotores ou popularmente drones. Pelo fato de ser um estudo preliminar incrementou-se um software 3D capaz de simular e demonstrar a melhora significativa na leitura dos dados. Conclui-se que a implementação do filtro de Kalman é uma ferramenta capaz de gerar dados confiáveis e estáveis tornando-se ideal para aplicação em drones. PALAVRAS-CHAVE: arduino ; acelerômetro; aeronáutica; drone; giroscópio; processing INTRODUÇÃO O artigo apresenta o estudo do Filtro de Kalman aplicado à fusão sensorial, especificadamente fusão entre os sensores Acelerômetro e Giroscópio, a fim de minimizar problemas específicos de cada um dos sensores. Ressalta-se que o Acelerômetro gera instabilidade de leitura quando exposto a um ambiente com trepidação enquanto que o Giroscópio tem como principal distúrbio o acúmulo de erros de leitura ao passar do tempo. O Filtro de Kalman é uma ferramenta matemática desenvolvida por Rudolf Kalman no ano de 1958 e conta com uma alta aplicabilidade, destacam-se; área aeronáutica, financeira e telecomunicações (WELCH; BISHOP, 2006). Uma das vantagens desse filtro é a sua volatilidade, em que normalmente, torna-se impossível fazer medições reais dos dados, por isso, se faz necessária a utilização de algoritmos capazes de estimar dados passados, presentes e até mesmo prever estados futuros. Este artigo aborda um estudo preliminar voltado para a área aeronáutica, mais especificadamente, o desenvolvimento de um quadri-rotor, veículo aéreo com quatro motores brushless DC controlado remotamente. Apresenta-se neste artigo um algoritmo para a estabilização da leitura dos sensores Acelerômetro e Giroscópio utilizando a plataforma open-source Arduino como o dispositivo responsável por executar as lógicas de programação além de ser a plataforma responsável pela leitura dos dados provenientes da IMU GY-80, unidade essa em que estão os sensores. Por se tratar de um estudo preliminar foi desenvolvido um algoritmo na plataforma open-source Processing, capaz de traduzir os movimentos da placa física (sinais analógicos) ao ambiente virtual, a fim de demonstrar na prática a estabilização do sinal por meio da fusão sensorial. Torna-se viável o estudo deste tema, primeiramente pela sua grande atuação em diversas áreas da engenharia e principalmente por ser parte inicial do desenvolvimento de um drone servindo deste modo com uma direção a novos projetos.

FUNDAMENTAÇÃO TEÓRICA ALGORÍTIMO DE KALMAN O Filtro de Kalman estima seus dados a partir da resposta do sistema, isso é, o filtro estima o estado do processo em algum momento do tempo e então obtém uma resposta, sendo essa resposta normalmente uma medição ruidosa. (WELCH; BISHOP, 2006) Dentro do algoritmo de Kalman existem dois grupos de equações responsáveis pelo tratamento dos sinais. O primeiro grupo é responsável pelas equações de "atualização de tempo" enquanto que o segundo cuida da "atualização das medições". (WELCH; BISHOP, 2006) Segundo WELCH; BISHOP (2006) as equações de atualização de tempo são responsáveis por projetar o estado atual um passo à frente e também fazer a estimativa do erro de covariância para obter a aproximação a priori para o próximo passo de tempo. Da mesma forma as equações de atualização das medições são responsáveis por gerar a resposta filtrada, de modo que são responsáveis por incorporar a nova medida a priori para obter uma melhor estimativa a posteriori. As equações de atualização de tempo podem ser denominadas também como equações de predição, ou seja, ato de afirmar o que vai acontecer no futuro enquanto que as equações de medição podem ser representadas como equações de correção. O conjunto das equações de predição e correção formam o ciclo recursivo o que garante a confiabilidade do Filtro de Kalman nas mais variadas aplicações numéricas. (WELCH; BISHOP, 2006) DESENVOLVIMENTO MATEMÁTICO DO FILTRO DE KALMAN O modelamento do Filtro de Kalman ocorre em duas etapas: etapas de predição e de correção. Na primeira etapa ocorre a predição sobre a dinâmica do sistema enquanto que a segunda atua na correção da covariância do sistema. Um ponto importante é que para ser obter uma resposta ótima do filtro é necessário que a situação problema seja um sistema linear com erros gaussianos brancos. Salienta-se que um erro gaussiano branco tem como característica um sinal aleatório que mesmo em diferentes frequências mantenha sua intensidade idêntica (OLIVEIRA, 2017) O método utilizado por essa técnica constitui um processo cíclico de estimação, isso é, baseia-se em um sistema recursivo no qual através de uma leitura denominada "variável de observação" consegue-se estimar os dados passados, presentes e até mesmo prever estados futuros, sendo estes denominados "variável de estado." (WELCH; BISHOP, 2006) O Filtro de Kalman em geral tenta estimar o estado x ϵ R de um processo discreto no tempo definido por uma equação linear estocástica, tal como equações (1) e (2). (WELCH; BISHOP, 2006) x Ax Bu w (1) 1 1 1 z Hx v (2) onde, x variável de estado do modelo matemático (temperatura, pressão, altitude..) z variável de medida (valor real medido + ruído) v ruido w ruido A matriz construtiva (datasheet) B matriz construtiva (datasheet) H matriz de observação Vale ressaltar que essas equações estão representadas no sistema espaço de estados, tendo então que A, B e H são matrizes. As matrizes "A" e "B" referem-se a forma construtiva do sensor, podendo ser obtidas

no datasheet do fabricante e "H o modelo de observação do sistema, já que o modelo não pode ser observado diretamente. De certo modo a matriz "A" refere-se o estado anterior de -1 ao estado presente de enquanto que "B" refere-se a entrada do controle ( ) opcional ao estado "x". Assume que a variável de entrada u também é dada em graus por segundos, onde u u *. Para este artigo considera-se: A e B sendo a forma construtiva do acelerômetro (3) e (4). K 1 t 0 1 t 0 E define-se também a variável de estado. (5). A (3) B (4) onde, saída real do giroscópio x b escorregamento em graus por segundo b (5) Conhecendo a variável z têm se o modelo de observação H: 1 0 H (6) Das equações 1 e 2 observa-se que os w e v são coeficientes variáveis não dependentes do sistema e aleatórias, esses coeficientes nada mais são do que os ruídos do sistema e da medição, respectivamente. Na prática as matrizes "Q" e "R" podem variar ao decorrer do tempo, porém, é adotado um valor constante para cada matriz. O termo covariância refere-se ao nível que duas variáveis aleatórias têm de dependência uma da outra. No caso dessas duas variáveis analisadas serem totalmente independentes tem-se que o valor de sua covariância é zero (WELCH; BISHOP, 2006). AS EQUAÇÕES DE KALMAN E SEUS PARÂMETROS De forma a deixar mais intuitiva a apresentação do conjunto matemático de Kalman toma-se a Figura 1 como base. Já mencionada a característica recursiva do Filtro de Kalman, a Figura 1 apenas evidência e confirma o que foi apresentado. Fazendo a interpretação dessa mesma figura nota- se a presença das duas etapas já mencionadas, sendo elas a de predição e posteriormente a de correção. Cada uma dessas etapas é descrita por um conjunto de equações; a etapa de atualização do tempo (predição), composta pela Equação 1 que projeta o estado a frente e também pela Equação 2, responsável pela projeção do erro de covariância a frente. Enquanto que a segunda etapa, atualização da medição (correção), é constituída pelo cálculo do ganho de Kalman (1), atualização do estado com a medida z (2) e por finalizar a atualização do erro de covariância.

FIGURA 1. Representação do algorítimo de Kalman 1 Fonte: Adaptação - WELCH; BISHOP, 2006. ARDUINO UNO R3 Arduino é uma placa de prototipagem eletrônica, desenvolvida na Itália meados de 2005. No início foi utilizada no meio acadêmico, para cunho educacional, porém, fez tanto sucesso que expandiu para o mundo todo. Vale ressaltar que o Arduino é uma plataforma open source, não há restrição para utilização. (MCROBERTS, 2015) O termo Arduino extende-se tanto ao seu hardware, constituído simplificadamente por um microcontrolador, chip ATmega328, que conta com 20 pinos de entrada/saída, dentre os quais seis (6) para entradas analógicas e seis (6) para saídas PWM (pulse with modulation) quanto ao seu software, constitúido por uma IDE (Integrated Development Environment), onde se desenvolve toda a programação em C/C++. (MCROBERTS, 2015) PROCESSING O Processing é uma linguagem de programação muito utilizada para desenvolvimento de artes visuais, foi desenvolvida por Casey Reas e Bem Fry em meados de 2001. Diferentemente do Arduino o Processing não possui Hardware, é apenas um software com uma IDE, ambiente de desenvolvimento integrado, onde toda sua programação é desenvolvida. (PROCESSING) Utiliza a linguagem Java, C, C++ para programação, porém, seus desenvolvedores utilizam recursos personalizados para efeitos visuais entre as mais diversas aplicações. (PROCESSING) Por ser uma poderosa ferramenta gráfica existem inúmeras aplicações, como; aplicação em jogos, desenvolvimento de artes conceituais, demonstração de gráficos e até a comunicação com periféricos eletrônicos. (PROCESSING) METODOLOGIA A metodologia aplicada nesse artigo estende-se a montagem de um Arduino comunicando com os sensores (hardware) além da programação dos softwares open-source Arduino e Processing, responsáveis por: leitura, processamento dos dados gerados pelos sensores giroscópio, acelerômetro e modelagem tridimensional para visualização dos resultados da aplicação do filtro de Kalman, respectivamente. Para este artigo utilizou-se uma adaptação brasileira do Arduino UNO R3, conhecida como Blacboard UNO R3. Essa placa foi desenvolvida pela empresa brasileira Robocore. A Blacboard utiliza como microcontrolador o chip ATmega328, mesmo microcontrolador do Arduino UNO R3 que conta com 20 pinos de entrada/saída, dentre os quais seis (6) são para entradas

analógicas e seis (6) para saídas PWM (pulse with modulation). Tem-se na Figura 2 a IDE do Arduino, já programado para leitura dos sensores. FIGURA 2. IDE Arduino Fonte: Arquivo pessoal, 2018. Utilizando o software Processing foi possível desenvolver um modelo tridimensional capaz de simular virtualmente os dados processados pela plataforma Blacboard. Na Figura 3 mostra-se a aparência do software desenvolvido para análise em tempo real do funcionamento do filtro, em que é possível analisar, na prática os defeitos, já mencionados, dos sensores acelerômetro e giroscópio além do efeito de correção do filtro de Kalman. FIGURA 3. Modelo Tridimensional Fonte: Arquivo pessoal, 2018.

RESULTADOS E DISCUSSÃO Para análise dos resultados foi gerado um gráfico no matlab para análise, conforme figura 4. FIGURA 4. Resultado da leitura dos sensores Fonte: Arquivo Pessoal, 2018 A figura a cima (4) demonstra a plotagem de 1000 amostras da leitura dos sensores acelerômetro, giroscópio e a fusão de ambos utilizando o filtro de Kalman. As cores azul, vermelho e amarelo correspondem, respectivamente à leitura do acelerômetro, giroscópio e a fusão de ambos. No período da amostragem houveram três intervenções manuais, sendo elas; no primeiro período simulou-se um ambiente de trepidação sobre os sensores, seguido por um período em que os sensores foram postos em repouso sobre uma bancada e o terceiro período em que os sensores foram postos novamente sobre uma trepidação. Com a análise do gráfico verifica-se que a fusão sensorial, realmente torna a leitura dos dados mais estáveis. CONCLUSÕES Conclui-se que a aplicação do filtro realmente elimina os efeitos instáveis do acelerômetro quando exposto a um ambiente com trepidação e também descarta o acumulo de erro do giroscópio. Com isso provase que a implementação do filtro de Kalman gera dados confiáveis e viabiliza sua utilização para leitura de dados em drones. REFERÊNCIAS MCCARRON, B. Low-Cost IMU Implementation via Sensor Fusion Algorithms in the Arduino Environment. Faculty of the Aerospace Engineering Department California Polytechnic State University. June, 2013. MCROBERTS, M. Arduino Básico. 2. ed. São Paulo: Novatec Editora ltda, 2015.

OLIVEIRA, W. S.; GONÇALVES, E. N. Implementação em c: filtro de Kalman, fusão de sensores para determinação de ângulos. ForScience: Revista Científica do IFMG, Formiga, v. 5, n. 3, e00287, jul./dez. 2017. PROCESSING. A short introduction to the Processing software and projects from the community. Disponível em: < https://processing.org/overview/>. Acesso em: 17 fev. 2018. WELCH, G.; BISHOP, G. An Introduction to the Kalman Filter. TR 95-041, Department of Computer Science, University of North Carolina at Chapel Hill. NC 27599-3175. July 24, 2006.