Determinação de Atitude

Zenith Aerospace
6 min readNov 18, 2020

Falar sobre atitude é sempre complexo. Primeiro, é preciso que fique claro que não estamos falando do tom de voz do satélite, nem da sua altitude. Agora sim, podemos falar de atitude, que nada mais é que sua orientação no espaço. Então a pergunta chave é: Como um satélite se orienta?

A grande maioria dos satélites e sondas precisam se orientar para executar suas missões. Seja um satélite de imageamento para nos trazer as fotos mais recentes no Google Maps, para monitorar ciclones ou para estudar as estrelas mais distantes. Além de impactar outros aspectos de uma missão, como telecomunicações, manobras em órbita e maximização da energia vinda dos painéis solares.

Instintivamente, pensamos em nos orientar pela visão. Então um satélite pode usar câmeras que conseguem encontrar o Sol e calcular a atitude dessa forma. Realmente, o Zenith tem uma boa experiência utilizando visão computacional para se orientar. Mas, nem toda missão tem o privilégio de câmeras, especialmente para ver em todas as direções. Então, como você se orienta sem ver?

Vamos fazer um experimento mental. Você acabou de acordar e ainda não abriu os olhos. Mas já sabe que está deitado. Por quê? Você consegue sentir a força da gravidade nas suas costas. Então, eu te pergunto, em qual ponta da cama está sua cabeça? Não há como saber nesse momento. Então, o alarme toca. Você sempre deixa o despertador na mesa da esquerda. Finalmente, você sabe completamente sua atitude.

O que você faz automaticamente é o que um algoritmo de determinação faz para o satélite. Você comparou medidas, nesse caso a força da gravidade e a origem do som, com uma referência já conhecida: “a gravidade aponta para baixo” e “o despertador fica na esquerda”. Unindo esses dois pares de informação, você foi capaz de calcular sua atitude.

Desafio — Definindo o Problema

Crédito da Imagem: NASA em GIPHY

O objetivo central para determinação de atitude se resume em encontrar a transformação — série de rotações — que foi aplicada ao satélite em relação a uma orientação pré definida. Em termos técnicos, queremos encontrar a transformação que pega medições vetoriais em um frame de referência e as leva para a medição atual. Por exemplo, se você sente que está deitado de bruços, sabe que uma rotação em 180º o levaria a orientação “pŕe definida” de barriga para cima.

Determinar a atitude é um processo matemático, isto é, pegam-se medidas de sensores e utiliza-se álgebra linear para chegar na transformação. Há muitos detalhes matemáticos envolvidos nesse processo, com os quais não vamos nos preocupar agora. Mas um, muito interessante, é que há diversas maneiras de se representar matematicamente uma atitude. Aquela rotação de 180º poderia ser expressa em Ângulos de Euler, Quaternions, DCM e etc… Aqui tem uma calculadora para conversão.

Um aspecto final do problema é que essas referências não são fixas. Pense, da perspectiva de um satélite em órbita, a Terra está sempre movendo, então a direção da gravidade também muda. Em especial, quando um satélite usa um magnetômetro, um dispositivo que determina a direção do campo magnético da Terra. Nesse caso, são necessários modelos matemáticos que, baseados na trajetória do satélite, calculam para onde o campo deveria estar apontando. Mas, com os vetores de referência e as medidas, podemos começar a determinar a atitude.

Figura retirada do artigo “Kalman filter for attitude determination of a CubeSat using low-cost sensors” do professor Leandro Baroni da UFABC

Soluções — Tipos de Algoritmos

Com os vetores de referência e as medidas em mãos, precisamos de um algoritmo para finalizar o processo. Mas, há várias opções. Antes de escolher um algoritmo específico, precisamos decidir se será um estimador ou determinístico. Cada tipo tem suas vantagens e desvantagens.

Estimadores são algoritmos altamente sofisticados. Normalmente utilizados no contexto de controle, sendo o Filtro de Kalman, um dos mais populares. Para construir um Filtro de Kalman, é necessário um modelo matemático das leis físicas que governam os sensores e o movimento do satélite como um todo. O algoritmo tenta combinar as medições com esse modelo e produzir uma estimativa cada vez melhor do estado atual da atitude. Todo esse processo produz uma carga computacional significativa, além de que, no contexto de atitude, o Filtro de Kalman simples não é suficiente. A variação, ainda mais complexa, Estendido Multiplicativo é necessária para lidar com as não-linearidades e o uso de quatérnions. Mas, toda essa complexidade nos recompensa com uma robustez e precisão incomparáveis.

Os métodos determinísticos são baseados em álgebra linear “pura”. São operações, como produto de matrizes, produto vetorial e determinantes, que transformam os vetores de referência e as medidas em uma atitude completa. O grande problema desses métodos é que, se suas medidas estiverem erradas, esse erro se propaga diretamente até resultado. Problema que o Filtro de Kalman em grande parte elimina. Apesar de existirem diversos algoritmos, nós vamos falar um pouco sobre apenas dois.

O mais simples e mais antigo desses métodos é o TRIAD, também conhecido como Método Algébrico. Sua simplicidade é, ao mesmo tempo, sua vantagem e fraqueza. Ele é simples ao ponto de ser incrivelmente rápido e computacionalmente leve. No entanto, também é simples ao ponto de conseguir trabalhar apenas com duas medidas. O que limita severamente seu uso.

Por último, vamos falar do QUEST. Esse é um algoritmo mais complexo que o TRIAD. Mas, nesse caso, a complexidade é recompensada com versatilidade. O QUEST é capaz de utilizar quantos sensores estiverem disponíveis e consegue priorizá-los entre si. Além disso, o QUEST é rápido. Não tanto quanto o TRIAD, mas longe do Filtro de Kalman. No entanto, o QUEST possui um problema que pode arriscar o sucesso da missão. Dependendo das entradas, os cálculos intermediários podem cair em divisões por zero. Como é o caso da rotação em 180º que usamos anteriormente.

Aplicação — Determinação de Atitude no Zenith

Depois desse panorama geral, podemos olhar melhor o problema no contexto do Zenith. Estamos constantemente pensando no próximo sensor, na próxima plataforma de hardware, na próxima ferramenta de software… Nesse exato momento, em paralelo a essa pesquisa de determinação de atitude, estamos experimentando com um tipo sun sensor.

Planejamos utilizar a leitura da energia recebida pelos painéis solares do CubeSat para calcular a direção do sol. Usar os painéis solares, que já presentes no design do CubeSat, nos permite ter mais uma medição sem o custo de hardware adicional. Considerando esse contexto de constantes melhorias do Zenith, ter um sistema flexível o suficiente para acomodar esses novos sensores é de vital importância.

Esse é o estado atual de determinação de atitude no Zenith. Certamente, não será o mesmo daqui a alguns meses. Mas, esse problema põe em evidência a necessidade de, não só resolver o desafio de agora, mas minimizar dificuldades futuras.

Seria ótimo tentar construir um Filtro de Kalman, mas ter a confiança que o algoritmo será bom o suficiente não só para atender a missão atual, mas também poderá ser utilizado em futuros projetos. E, além disso, agregar eficientemente toda a teoria — realmente complexa — de estimadores ao corpo de conhecimento do Zenith não é viável no momento.

Bônus — A História do QUEST

Malcolm Shuster era um físico nuclear que foi trabalhar em determinação de atitude por sugestão de um amigo. Depois de alguns meses usando seu conhecimento de física moderna para resolver problemas de atitude, ele se deparou com o trabalho do matemático Paul Davenport na solução do problema descrito pela estatística Grace Wahba, o qual formulava determinação de atitude como um problema de mínimos quadrados. Davenport fez o grande pulo com uma solução genial, o q-Method, que usava quatérnions para transformar o problema em uma determinação de autovalores.

Mas, encontrar autovalores de uma matriz 4x4 estava além das restrições computacionais de Shuster. Então, depois de muito tempo encarando o problema, ele enxergou, na formulação de Davenport, uma expressão matematicamente semelhante a famosa equação da mecânica quântica, a Equação de Schrodinger. Vendo o problema de outra forma, ele foi capaz de usar sua experiência da física para simplificar o algoritmo e reduzir sua carga computacional a poucas rodadas do método de Newton-Raphson.

Até hoje, novos algoritmos são comparados a velocidade e precisão do QUEST. Ele é um dos algoritmos com mais tempo de voo e distância percorrida. O QUEST foi utilizado nas missões Galileo e Cassini, para Júpiter e Saturno respectivamente, também foi até Marte com os Mars Explorers. Enfim, é um algoritmo amplamente testado e utilizado.

Essa história foi resumida de um artigo que o próprio Malcolm Shuster publicou detalhando a história dele e do desenvolvimento do QUEST. Nesse mesmo artigo, ele faz uma grande menção ao Instituto Brasileiro de Pesquisas Espaciais — INPE. Ele fala de como os engenheiros brasileiros foram pioneiros em utilizar o QUEST em conjunto com Filtros de Kalman. Ele também fala com carinho sobre uma caixa de aspirina que ele deixava para os engenheiros que trabalhavam com o QUEST lidarem com as dores de cabeça que ele causou.

--

--

Zenith Aerospace

Grupo extra-curricular da EESC — USP voltado para o estudo e desenvolvimento de sistemas com aplicação na indústria aeroespacial