Moving horizon estimation
- Também chamado: MHE, receding horizon estimation
- Categoria: State estimation & navigation › Localisation
- Tags: state-estimation, optimization, parameter-estimation, sensor-fusion, model-predictive-control
Um estimador de estado baseado em otimização que ajusta um modelo dinâmico às medições de uma janela deslizante de passos de tempo recentes, resolvendo novamente a cada passo e capaz de impor restrições.
Definição
Estimação de horizonte móvel (MHE) (moving horizon estimation) estima o estado atual de um sistema, e opcionalmente parâmetros ou perturbações desconhecidos, resolvendo um problema de otimização sobre uma janela das N medições mais recentes. As variáveis de decisão são os estados ao longo da janela ou, de forma equivalente, o primeiro estado mais o ruído de processo em cada passo. O custo penaliza a discrepância entre as saídas previstas e as medidas, a magnitude do ruído de processo necessário para explicar os dados e o desvio do primeiro estado da janela em relação a uma estimativa prévia. No passo de tempo seguinte a janela avança uma amostra, a medição mais antiga é descartada e o problema é resolvido novamente.
O termo que ancora o primeiro estado da janela é chamado de custo de chegada (arrival cost). Ele representa todas as medições que já saíram da janela. Com um modelo linear, ruído gaussiano, sem restrições e um custo de chegada exato, a MHE dá a mesma estimativa que o filtro de Kalman. Na prática o custo de chegada é aproximado, muitas vezes com uma atualização de covariância de um filtro de Kalman estendido ou com um peso quadrático fixo, e o comprimento da janela é escolhido para equilibrar a qualidade da estimativa e o custo computacional.
A MHE é frequentemente descrita como a contraparte de estimação do controle preditivo baseado em modelo: o MPC otimiza sobre um horizonte futuro para escolher controles, enquanto a MHE otimiza sobre um horizonte passado para explicar as medições. Suas vantagens em relação aos filtros recursivos são que ela pode impor restrições rígidas, como massas positivas, limites das juntas ou forças de contato dentro dos cones de atrito, e que relineariza a janela inteira a cada solução em vez de se comprometer com uma linearização por passo, o que ajuda com modelos fortemente não lineares. O preço é uma solução de mínimos quadrados não lineares a cada passo de tempo, então as implementações em tempo real dependem de solvers que exploram a estrutura, partidas a quente e um número limitado de iterações por passo. Adicionar parâmetros do modelo ao estado estimado transforma a MHE em uma ferramenta de identificação de sistemas online, que é como o artigo do Parameterized DDP a usa.
Por que importa
Muitos problemas de estimação em robótica envolvem restrições e não linearidades que os filtros recursivos tratam mal. A MHE fica entre um filtro e um suavizador em lote completo: usa uma janela de dados e um otimizador, mas mantém o custo computacional limitado, o que a torna prática para estimar estados e parâmetros que alimentam um controlador preditivo baseado em modelo.
Principais aplicações
- Estimação online da massa da carga útil, do atrito e de outros parâmetros para MPC
- Estimação de estado com restrições para robôs com pernas em contato
- Estimação de estado e de perturbações de veículos e drones
- Fusão de sensores com medições atrasadas ou irregulares
- Detecção de falhas e anomalias a partir dos resíduos do modelo
Na prática
Uma equipe que constrói um manipulador aéreo quer estimar a massa e o centro de massa de uma carga útil desconhecida depois de agarrá-la. Ela adiciona esses parâmetros ao estado de um problema de MHE que usa a última fração de segundo de dados da IMU, da velocidade dos motores e da pose, com restrições que mantêm a massa positiva e o centro de massa dentro do alcance da garra. A cada ciclo de controle, o solver recebe partida a quente a partir da janela anterior deslocada de uma amostra e executa algumas iterações de Gauss-Newton em um solver gerado por código como o acados, e as estimativas são passadas ao MPC de voo. Ajustar o peso do custo de chegada é o principal compromisso: baixo demais e as estimativas ficam ruidosas; alto demais e elas reagem devagar quando a carga útil muda.
Equívocos comuns
- A MHE é um filtro de Kalman com um buffer de dados — ela resolve uma otimização sobre a janela inteira a cada passo, pode impor restrições e relineariza a janela completa
- A informação fora da janela simplesmente se perde — o custo de chegada a leva adiante, embora apenas de forma aproximada
- Uma janela mais longa é sempre melhor — janelas mais longas custam mais computação e podem tornar mais lenta a resposta a mudanças reais, especialmente quando os parâmetros são modelados como constantes
Quem deve saber
- Engenheiros de estimação de estado
- Engenheiros de controle preditivo baseado em modelo
- Desenvolvedores de robôs aéreos e com pernas
- Pesquisadores que trabalham com identificação de sistemas online
Tecnologias relacionadas
- acados
- CasADi
- Filtro de Kalman (Kalman Filter)
- Suavização com grafos de fatores (Factor Graph Smoothing)
- Método de Gauss-Newton (Gauss-Newton Method)
Termos relacionados
- Extended Kalman Filter
- Model Predictive Control
- Pose Graph Optimization
- Sensor Fusion
- Differential dynamic programming
- System Identification
Projetos relacionados
- FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- GTSAM: Factor-graph optimization library powering many modern SLAM backends
- OpenVINS: The reference open platform for visual-inertial state estimation research
- manif: Header-only C++ Lie theory library for robotics state estimation
- MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
Vídeos
- Moving Horizon Estimation in MATLAB, Python, and Simulink: APMonitor.com