Software, filtros e informações técnicas
Software, filtros e técnico

O filtro TrueFuse

PDF

Fusão de sensores

TrueFuse

O barômetro diz a verdade sobre a altitude, exceto por alguns momentos em cada voo quando não diz. TrueFuse encontra esses momentos conforme ocorrem, os atravessa com dados inerciais e devolve o controle. Pode recusar confiar no barômetro. Nunca pode inventar uma altitude que o barômetro não suportasse.

Executa
Em tempo real e ao salvar
Entradas
Baro, acelerômetro, giroscópio
Pré-análise
Nenhuma
Modo de falha
Recusar para bruto

O que dá errado com um barômetro

Um altímetro barométrico mede a pressão estática e a converte em altura. Durante a maior parte de um voo, esta é a fonte de altitude mais confiável do equipamento: não apresenta desvio, não precisa de condição inicial e é imune aos erros que se acumulam em um acelerômetro integrado.

Por alguns segundos desse mesmo voo, ele está muito errado. Três eventos dominam:

  • Ejeção. A carga pressuriza a fuselagem e a porta percebe um degrau de pressão que não tem nada a ver com altitude. No gráfico, aparece como um pico ou queda acentuada, dezenas de metros de profundidade, durando algumas centenas de milissegundos.
  • Lançamento. A pluma do motor e o fluxo de ar repentino sobre os orifícios de ventilação perturbam a porta antes do foguete sair do trilho, e a altitude registrada pode subir, hesitar ou formar uma saliência enquanto a altitude real ainda está próxima a zero.
  • Aberturas mal dimensionadas ou bloqueadas. O volume interno fica atrasado ou fica para trás da pressão externa, então o traço adquire uma forma de escada sob um voo suave.

Um acelerômetro não é afetado por nenhum dos três, mas integrá-lo duas vezes transforma um pequeno desvio em um grande erro de altitude em segundos. Nenhum sensor é bom o suficiente sozinho. TrueFuse usa o barômetro como referência e o acelerômetro apenas para levar a altitude através de uma janela onde o barômetro foi comprovado ser indigno de confiança.

QUARENTENA janela abre rejuntar queda de ejeção, 40 m em 0,3 s pressão bruta TrueFuse altitude

Fig. 1Um evento de ejeção real. A porta de pressão relata uma descida de 40 m e recuperação em um terço de segundo enquanto a fuselagem ainda está em voo. TrueFuse abre uma janela no início, leva a altitude através dela inercialmente e rejunta o barômetro uma vez que concorda novamente. O apogeu, que ocorre após o fechamento da janela, é medido do barômetro como de costume.

Cadeia de sinais

Todos os estágios abaixo são executados no computador de voo. Nada é reconstruído no solo e nada no canal em tempo real usa uma amostra que ainda não tinha sido coletada.

barômetro BMP581 / BMP390 acelerômetro 3 eixos giroscópio 3 eixos CONDICIONAMENTO alinhamento temporal calibração de escala vertical do mundo sinalizadores de saturação GRAMÁTICA DE JANELA máquina de estado o barômetro é confiável agora? transporte inercial rejuntar e mesclar canal em tempo real em voo, causal canal de arquivo ao salvar, ancorado recusar: saída = barômetro bruto, voo inteiro

Fig. 2O condicionamento ocorre antes de qualquer decisão de fusão: os canais são alinhados no tempo, a escala do acelerômetro é medida no pad, o giroscópio estabelece qual caminho é para cima, e as amostras saturadas são marcadas. A gramática então decide, amostra por amostra, se o barômetro é confiável. O caminho vermelho é a rota de recusa, quando o próprio voo falha em um teste de validade.

Gramática de janela

TrueFuse mantém um de quatro estados. Os nomes dos estados aparecem nos diagnósticos e descrevem exatamente o que o filtro estava fazendo naquele momento do voo.

PAD SAUDÁVEL ZONA RECUP SAUDÁVEL repouso barômetro confiável barômetro em quarentena misturando de volta barômetro confiável Entrada e saída ZONA abre quando a taxa de pressão se afasta do que o acelerômetro diz ser possível, sustentado além de um piso de ruído. RECUP a fecha quando os dois concordam novamente, com uma mistura em curva S para que a saída não tenha degrau na junção.

Fig. 3Os quatro estados em ordem de voo. Um voo pode abrir várias janelas, lançamento e ejeção sendo o par comum, e a contagem é reportada no cabeçalho do registro como janelas TrueFuse.

Dentro de uma janela

Enquanto uma janela está aberta, a altitude é levada adiante do acelerômetro, projetada na vertical do mundo rastreada, com uma continuação balística de forma fechada usada quando o motor parou e o veículo está em voo. O transporte é ancorado na altitude e velocidade que eram válidas no momento em que a janela abriu, então o erro dentro de uma janela cresce apenas com a duração dessa janela, tipicamente algumas centenas de milissegundos.

As janelas têm uma vida limitada. Se o barômetro não se tornar confiável novamente dentro do limite de tempo, o filtro deixa de transportar e retorna ao barômetro independentemente, porque um transporte que funciona por muito tempo não tem como provar que está certo.

Contrato de design

O barômetro é a referência. O acelerômetro nunca define a altitude, apenas a transporta entre dois ancoradouros barométricos.

Sem pré-análise no canal em tempo real. Toda decisão usa amostras já coletadas. Uma janela é aberta em evidência disponível no momento, não em saber como o traço termina.

Recusar está sempre disponível. Toda guarda neste documento se resolve na mesma ação segura: parar de fundir e sair o barômetro.

Sincronização de sensores

Fundir dois sensores requer saber qual instante cada amostra descreve. Uma amostra de barômetro é antiga no momento em que o processador a vê: o ADC integra a pressão durante uma conversão, o resultado aguarda ser lido, e o próprio filtro do sensor atrasa ainda mais a rampa. Uma amostra de acelerômetro é comparativamente recente. Compará-las sem corrigir isso faz um barômetro perfeitamente bom parecer que discorda de um acelerômetro perfeitamente bom.

O atraso não é medido dos dados de voo. É uma propriedade da configuração e é calculado a partir dela:

sincronização = tconv/2  +  Todr/2  +  ciir × Todr  +  tkalman  −  timu
  • t_conv/2 o ADC integra durante a conversão, então o valor descreve o meio desse intervalo.
  • T_odr/2 idade média da conversão mais recente concluída quando o processador a lê.
  • c_iir × T_odr o filtro IIR interno do sensor atrasa uma rampa exatamente pelo seu coeficiente em amostras do sensor, não em amostras do loop.
  • t_kalman o atraso de rampa do próprio filtro de suavização de altitude, o único termo que varia com a velocidade, e o menor.
  • t_imu o pequeno atraso de conversão e filtro do próprio acelerômetro, subtraído porque se aplica ao outro lado.

Atraso calculado do barômetro, milissegundos, na referência de 50 m/s

Sensor Config Parte fixa Suavização desligada Leve Médio Pesado
BMP581 80 Hz, os×16, iir 7 99,4 95,8 106,2 111,2 118,4
BMP390 50 Hz, os×8, iir 7 159,5 155,9 171,7 179,0 189,3

A correção é aplicada atrasando o canal inercial até que seja tão antigo quanto o barométrico. Ambos os canais então descrevem o mesmo instante, que é o que a fusão requer. Uma consequência que vale a pena saber ao ler um registro: cada registro de hora nele está atrás do evento físico pelo atraso da cadeia do barômetro, uniformemente, então intervalos e taxas estão corretos mesmo que os instantes absolutos sejam atrasados.

EVENTO instante verdadeiro ACELER alguns milissegundos, reportado quase imediatamente BARO conversão leitura sensor IIR suavizar total 111 ms ALINHADO canal inercial atrasado para corresponder ambos os canais agora descrevem o mesmo instante

Fig. 4De onde vem o atraso do barômetro. O filtro IIR interno do sensor é dominante: com um coeficiente de 7, contribui sozinho com 87,5 ms em um BMP581 funcionando a 80 Hz e 140 ms em um BMP390 a 50 Hz. Diminuir a configuração de IIR encurta o atraso e aumenta o ruído, que é a troca para a qual a configuração existe.

Calibração de escala

Um acelerômetro em repouso mede exatamente uma gravidade. Sua magnitude reportada em repouso é, portanto, uma medição direta de seu próprio erro de escala, e TrueFuse usa isso em vez de assumir que a escala nominal está correta.

No pad, qualquer amostra com uma magnitude de repouso plausível e um barômetro silencioso semeia uma estimativa em execução. Amostras posteriores juntam-se à estimativa se ficarem dentro de 6 por cento dela, ou 60 mG, o que for maior. O fator de calibração é então a razão da verdadeira gravidade para a magnitude medida em repouso.

A alternativa, uma banda de aceitação fixa ao redor de 1000 mG, falha silenciosamente em uma unidade cuja escala está desligada: ela não admite nenhuma amostra, o fator fica em um, e o filtro integra um acelerômetro que está reportando o número errado. Um voo no conjunto de referência repousou em 2050 mG exatamente por essa razão, e sua altitude foi fabricada, não medida, até que a calibração fosse feita uma medição.

O que isso significa na prática. Nada para configurar. Deixe o altímetro imóvel por alguns segundos antes do lançamento, o que a detecção de pad requer de qualquer forma, e a calibração se cuida. A magnitude de repouso medida é reportada nos diagnósticos para que um sensor fora de especificação seja visível em vez de oculto.

Vertical do mundo

Um acelerômetro mede força ao longo de seus próprios eixos, que são fixados à fuselagem. Para contribuir para uma altitude, essa força tem que ser projetada na direção que é realmente para cima, e a fuselagem gira durante o voo.

TrueFuse estabelece a vertical da gravidade enquanto o veículo está em repouso, então gira esse vetor com o giroscópio para o resto do voo. O empuxo é projetado na vertical rastreada, então um foguete voando em um ângulo contribui apenas seu componente vertical, que é o comportamento fisicamente correto.

vertical do pad 0 deg 16 deg 41 deg passado 100 deg guarda de ponta fusão para O empuxo é projetado na vertical rastreada, então um voo em ângulo contribui apenas seu componente vertical.

Fig. 5A vertical rastreada segue a fuselagem. Se passar 100 graus da vertical do pad antes do burnout, o veículo se virou sob empuxo, o que nenhum foguete ascendente faz, e o filtro é desativado para o voo inteiro. Uma vertical que morre após o burnout é tumbling de recuperação comum e é tratada como guarda, não um veredicto.

Guardas

Quatro condições podem impedir que TrueFuse confie no acelerômetro. Cada uma se resolve no barômetro, é por isso que nenhuma delas pode produzir uma altitude inflacionada.

Guarda Teste Ação
Virar vertical rastreada passado 100 deg antes do burnout Recusar para o voo inteiro
Tumbling rotação sustentada sobre um eixo perpendicular Recusar desse ponto em diante
Saturação qualquer eixo em escala completa, 5 amostras em execução Suspender o transporte inercial
Timeout de janela barômetro não confiável novamente no tempo Retornar ao barômetro

Saturação, e por que algumas amostras são toleradas

Um acelerômetro cortado relata seu trilho, não a força real, então a leitura é um piso. Usar um piso brevemente subestima a aceleração e puxa a altitude fundida em direção ao barômetro, que é a direção inofensiva. Motores duros tocam escala completa por alguns milissegundos na ignição, e tratar isso como uma falha suspenderia o transporte exatamente quando é mais necessário. TrueFuse portanto ignora saturação mais curta do que cinco amostras consecutivas e trata qualquer coisa mais longa como uma verdadeira queima fora do intervalo, onde a integração seria desonesta.

O limiar de clipe é derivado do intervalo de medição configurado em vez de presumido, porque o intervalo é uma configuração.

Canais em tempo real e de arquivo

TrueFuse produz duas séries de altitude da mesma gramática.

O canal em tempo real é o que o computador de voo pode saber em voo. É estritamente causal: em cada amostra, ele usa apenas o que já tinha sido medido. Este é o canal que importa para qualquer coisa que o altímetro tenha que agir, e a única base honesta para decisões em voo.

O canal de arquivo executa uma vez ao salvar, sobre a mesma estrutura de janela registrada, com um pedaço extra de informação que o canal em tempo real não pode ter: onde o barômetro terminou após cada janela fechar. Saber o outro lado de uma janela permite que o deslocamento através dela seja ancorado em ambas as extremidades em vez de uma, o que remove o pequeno deslocamento residual que um transporte de um lado deixa. A velocidade no canal de arquivo é recomputa com um estêncil simétrico, é por isso que o traço de velocidade