plataformaStrapdown

Plataforma Strapdown

Obter a atitude de drones, veículos subaquáticos e outros dispositivos com 6 graus de liberdade é uma das tarefas mais desafiadoras no projeto de sistemas de controle de navegação. Por este motivo, muitos projetos utilizam programas proprietários ou limitam-se á simulações. Neste trabalho é apresentado um sistema completo para determinação de atitude capaz de fornecer medidas calibradas e atitude estimada utilizando sensores MEMS, com microcontrolador de baixo custo e baixo consumo energético. Acelerômetro e magnetômetro são calibrados online no sistema embarcado como emprego do método dos mínimos quadrados sem auxílio de equipamentos externos. O estado estimado é computado com um rápido algorítimo algébrico de quatérnios consumindo menos de 1,5ms com emprego de um filtro aditivo de Kalman linear.

Grupo de trabalho

Este trabalho faz parte de um projeto que visa o desenvolvimento de protótipo de veículos não tripulados. Para saber mais acesse: Navigation, Position and Time in Unmanned Aerial Vehicles in environments with no GPS/GNSS signal

Trabalho de graduação e publicação

Este projeto é resultado do Trabalho de Graduação de Engenharia Aeroespacial

Artigo publico no Congresso Brasileiro de Automática no ano 2020.

Depedências

Este projeto utiliza a biblioteca Eigen (por este motivo o #include "../eigen/Eigen/Dense") para computa das operações de álgebra linear. Para completar a transmissão da telemetria o projeto utiliza o API ESP-NOW da Espressif, portando, para receber os dados outro ESP-32 deve esta conectado a um pc e com o código de coleta de dados da telemetria carregado.

Instalação

Para instar esses bibliotecas basta executar o comando:

git clone https://github.com/roneydua/plataformastrapdown.git

Foco do programa:

O foco destas bibliotecas é de construção para uma plataforma strapdown de seis graus de liberdade tal que forneça:

Funcionalidade

O projeto fornece um vetor de dimensão 4+3+3+3+3+1 = 17 floats. Na seguinte sequência:

Componentes do quatérnio de atitude Ângulos de Euler Acelerômetro Magnetômetro Giroscópio Intervalo de tempo
normalizado graus m/s normalizado rad/s segundos

Divisão das tarefas

O ESP-32 possui dois núcleo como capacidade de realizar operações multitarefa. Um dos núcleos executa a função void estimadorCodigo(void *) e o outro a função void comunicacaoCodigo(void *), o primeiro executa o loop de estimação e o segundo comanda a telemetria.

Métodos de calibração

Os sensores são calibrados considerando:

Estimador de atitude

A estimação da atitude é feita com um filtro de Kalman linear e Quatérnios são utilizados para representar a atitude.