Contents — find the section you need

Um robô raramente lê o estado de que precisa diretamente. Um encoder pode indicar a posição, mas não a velocidade; uma IMU reporta aceleração e taxa angular com viés; a localização da câmera chega atrasada ou desaparece. Um observador de estado usa um modelo da planta e a diferença entre a saída prevista e a medida para estimar o estado oculto. O filtro de Kalman linear (KF) é o observador padrão que carrega uma covariância de erro e usa o ruído de processo e de medição assumido para decidir o quanto confiar na previsão em vez da medição.

A ideia principal não é "sensores médios". É definir qual tempo físico um dado representa, qual modelo de erro é assumido e o que acontece quando os sensores discordam. Um estimador que está comprovadamente errado leva o PID, o LQR e o MPC para o caminho errado. Para informações sobre temporização e limites de execução do ROS 2, leia ROS 2 Primer; para uma integração de sensores mais ampla, leia Sensor Fusion Primer.

Conclusão prática

  • Um observador atualiza \hat{x} a partir da previsão e inovação do modelo. Um estado não observável não pode ser reconstruído de forma única apenas selecionando um filtro mais inteligente.

  • O filtro de Kalman (KF) carrega a covariância do erro de estado P e usa a covariância do processo Q e a covariância da medição R para calcular o ganho de Kalman K.

  • Q,R são suposições sobre os erros do modelo e do sensor, não "ajustes de precisão" arbitrários. Valide-os com inovações, covariância, registros de data e hora e dados de falha.

  • Se uma estimativa estiver desatualizada, a covariância for excessiva, a inovação for anômala ou as transformações falharem, passe um estado degradado para o controle e reduza ou interrompa o movimento de acordo com o risco.

Observador de espaço de estados e observabilidade

Para um sistema linear discreto,

x_{k+1}=A_dx_k+B_du_k+w_k,\qquad z_k=Cx_k+v_k

x é o estado verdadeiro, u a entrada conhecida, z a medição, w a perturbação do processo e v o ruído de medição. Um observador de Luenberger tem a forma

\hat{x}_{k+1}=A_d\hat{x}_k+B_du_k+L(z_k-C\hat{x}_k)

O último termo é a inovação. Um observador com alto ganho L acompanha a medição rapidamente, mas transmite mais ruído; um observador com baixo ganho L confia no modelo por mais tempo, mas corrige as perturbações lentamente.

Diagram 1 · Use the button to switch views
Kalman filter predict-update loopThe preceding estimate and covariance are predicted by a model, then corrected from sensor innovation and covariance before being supplied to a controller.prior x̂ₖ₋₁, Pₖ₋₁state and uncertaintypredictA, B, Q → x̂⁻, P⁻updateinnovation, K, R → x̂⁺, P⁺measurement zₖIMU / encoder / cameracontrollerLQR/MPC/PID

Diagrama: Duskcoil, conceitual em vez de medido. A estimativa e a covariância são quantidades internas do modelo, não observações diretas do sensor.

A matriz de observabilidade \mathcal O=[C^T,(CA)^T,\ldots]^T deve ter posto completo para reconstruir todos os estados no caso linear ideal. Medições de posição de um integrador duplo podem tornar a velocidade observável ao longo do tempo, mas a taxa de amostragem, a quantização, o atraso e o dropout determinam se a estimativa resultante é útil. "Observável" não substitui um requisito de latência e precisão máximas.

Predição e atualização de Kalman

Assumindo distribuições gaussianas brancas de média zero w\sim\mathcal N(0,Q) e v\sim\mathcal N(0,R), a distribuição a priori é

\hat{x}_k^-=A_d\hat{x}_{k-1}^++B_du_{k-1},\qquad P_k^-=A_dP_{k-1}^+A_d^T+Q

P é a incerteza do erro de estimativa, não simplesmente a variância do estado. Durante uma interrupção de medição, a propagação do modelo normalmente faz com que P^- cresça através de Q.

Para uma medição recebida, calcule a inovação \nu_k=z_k-C\hat{x}_k^- e sua covariância

S_k=CP_k^-C^T+R

em seguida, atualize com

K_k=P_k^-C^TS_k^{-1},\qquad \hat{x}_k^+=\hat{x}_k^-+K_k\nu_k,
P_k^+=(I-K_kC)P_k^-

A precisão finita pode prejudicar a simetria ou a semidefinidade positiva de P. A forma de Joseph, P^+=(I-KC)P^-(I-KC)^T+KRK^T, é frequentemente preferida; resolver sistemas lineares fatorados costuma ser mais seguro do que formar explicitamente uma inversa. A matriz de covariância P deve ser verificada após cada atualização.

Escolhendo Q e R

R deve refletir o erro medido em condições reais de vibração, temperatura, iluminação, alcance, reenvio de pacotes e quantização — não apenas um número de precisão de catálogo. Q representa o quanto o modelo pode estar errado em um período: aceleração desconhecida, caminhada aleatória de viés, mudança de carga útil ou dinâmica não modelada. Um Q muito pequeno superestima a confiança no modelo; um Q excessivo Q segue uma medição ruidosa.

Exemplo numérico: estimando a velocidade a partir de medições de posição

Para um estado unidimensional de velocidade constante x=[p\ v]^T com período de amostragem T ,

A_d=\begin{bmatrix}1&T\\0&1\end{bmatrix},\quad B_d=\begin{bmatrix}T^2/2\\T\end{bmatrix},\quad C=\begin{bmatrix}1&0\end{bmatrix}

Apenas a posição é medida. Como uma atualização concreta adimensional, sejam T=1 , \hat{x}^-=[0\ 0]^T , P^-=[[2,1],[1,1]] , z=1 , R=1 e C=[1\ 0] . Então S=3 , K=[2/3\ 1/3]^T e \hat{x}^+=[2/3\ 1/3]^T ; a covariância posterior é P^+=(I-KC)P^-=[[2/3,1/3],[1/3,2/3]]. Isso ilustra uma atualização e não é uma afirmação sobre a precisão do sensor. Um grande valor inicial de P_{vv} expressa incerteza sobre a velocidade. Inovações repetidas na posição inferem uma estimativa de velocidade \hat v; uma interrupção mantém a previsão em execução, mas aumenta sua incerteza. Um controlador que precisa de velocidade deve verificar P_{vv}, a idade da medição e o status residual, e então reduzir a velocidade ou parar quando esses valores excederem o limite definido.

Adicionar uma IMU ajuda a rastrear a aceleração de curto prazo, mas omitir o viés do estado permite que o erro de integração se acumule. Observações de câmera ou LiDAR podem restringir a posição absoluta quando estão vinculadas a um mapa, marcador ou outra referência conhecida; o rastreamento relativo por si só não garante a posição global. O GNSS também é condicionado pela visibilidade do satélite, multicaminho, taxa de atualização, latência e alinhamento do quadro. Para observações não lineares de atitude ou alcance, EKF ou UKF podem ser usados, mas o KF linear se preocupa com Q,R A covariância da medição R, o tempo, os outliers e a observabilidade permanecem.

O quadrado da inovação normalizada \nu^TS^{-1}\nu ajuda a detectar uma medição inconsistente com sua distribuição prevista. Um valor alto pode significar um outlier, um quadro incorreto, um erro de carimbo de data/hora, uma falha do sensor ou uma incompatibilidade do modelo. O gating de um datum não é um dispositivo para ocultar erros: ele deve alimentar o diagnóstico e um modo degradado seguro.

IMU integrada GNSS representativaIMU/INS representativa
Câmera de profundidade representativaProfundidade representativa câmera

Imagens: Xsens MTi-G (Kallap85, CC BY-SA 4.0) e Intel RealSense D435 (Marc Auledas, CC BY-SA 4.0), Wikimedia Commons. São sensores representativos, não evidências medidas ou um sistema combinado recomendado.

Fornecendo PID, LQR e MPC

O PID pode usar feedback filtrado bruto, mas seu termo derivativo e um laço de velocidade interno geralmente se beneficiam de uma estimativa. O LQR assume múltiplos estados \hat{x}; sob as condições do princípio da separação, um ganho LQR e um estimador de Kalman formam uma arquitetura LQG. Saturação, atraso e não linearidade ainda podem comprometer a robustez no mundo real. O MPC também depende de um estado inicial oportuno e Estimativa de perturbação; otimizar a partir de uma estimativa desatualizada ou covariância falsamente pequena cria um plano refinado para um cenário inadequado.

Objetivo Controle típico Saída do estimador necessária Resposta a falhas
Loop único de velocidade/temperatura PID medição filtrada / estimativa de velocidade interromper integral em caso de perda do sensor
Estabilização multiestado local LQR/LQG \hat{x} sincronizado e validade não confiar excessivamente na covariância crescente
Caminho/alocação restritos MPC estado, atraso, perturbação, confiança desacelerar ou parar em caso de estado desatualizado/falha do solucionador

Temporização do robô e operação segura contra falhas

No ROS 2, diferencie o tempo de medição do tempo de chegada da mensagem. Atualizar o presente com um dado da câmera atrasado como se fosse o atual puxa o robô para o seu passado. Escolha e documente uma política: retroceder/repropagar o histórico, rejeitar dados atrasados ou separar a odometria de baixo nível das correções de mapa mais lentas. As transformações de transporte e coordenadas do ROS 2 descritas em ROS 2 Primer e Sensor Fusion Primer são pré-condições externas às equações de filtro.

Monitore o tempo limite, os limites de covariância, as falhas repetidas no portão de inovação, o viés divergente, as transformações indisponíveis e os atrasos no prazo. Se todas as medições desaparecerem, não execute indefinidamente apenas com base na previsão. Selecione a limitação de velocidade, a parada, a redundância ou a transferência para o operador com base na aplicação. A reinicialização do estimador pode causar saltos de estado, portanto, as referências do controlador, os estados integrais e as saídas precisam de um tratamento suave.

Lista de verificação de implementação

  1. Defina estado, medição, entrada, quadro, tempo de medição e tempo de recebimento.

  2. Quantifique a observabilidade, a precisão necessária e a latência máxima para cada estado.

  3. Registre as evidências para Q,R,P_0 a partir das especificações, dados e testes.

  4. Monitore Simetria/definição de P, inovação, portas e tempo limite.

  5. Injetar dropout, outlier, relocalização e casos de mudança de viés.
  6. Definir o que o PID/LQR/MPC recebe quando a qualidade da estimativa se degrada e verificar a ação de segurança independente.

Referências

Verifique seu entendimento
O que acontece quando uma medição é mais confiável?

Com a mesma incerteza de previsão, uma covariância de medição menor desloca a atualização em direção à medição. Uma confiança irrealista pode fazer com que as estimativas sigam o ruído.

Related reading

Explore another aspect of this fieldLaboratório MPC — resolva novamente uma sequência de curvatura dentro de um horizonte e dos limites de direçãoExplore another aspect of this fieldLaboratório de comparação de rastreamento de trajetória — execute PP, APP, RPP, Stanley e MPC sob as mesmas condiçõesExplore another aspect of this fieldLaboratório Pure Pursuit — compare o rastreamento de trajetória com antecipação fixa