Moving horizon estimation
- 다른 이름: MHE, receding horizon estimation
- 카테고리: State estimation & navigation › Localisation
- 태그: state-estimation, optimization, parameter-estimation, sensor-fusion, model-predictive-control
최근 시간 단계들의 슬라이딩 창 안에 있는 측정값에 동역학 모델을 맞추고, 매 단계 다시 풀며, 제약을 강제할 수 있는 최적화 기반 상태 추정기.
정의
이동 구간 추정(Moving horizon estimation, MHE)은 가장 최근 N개 측정값의 창(window)에 대해 최적화 문제를 풀어 시스템의 현재 상태와, 선택적으로 미지의 파라미터나 외란을 추정한다. 결정 변수는 창 전체에 걸친 상태이며, 동등하게는 첫 번째 상태와 각 단계의 프로세스 잡음이다. 비용은 예측 출력과 측정 출력 사이의 불일치, 데이터를 설명하는 데 필요한 프로세스 잡음의 크기, 그리고 창의 첫 상태가 사전 추정값에서 벗어난 정도에 페널티를 준다. 다음 시간 단계에서 창은 한 샘플만큼 앞으로 이동하고, 가장 오래된 측정값이 빠지며, 문제를 다시 푼다.
창의 첫 상태를 고정하는 항을 도착 비용(arrival cost)이라고 한다. 이 항은 이미 창을 떠난 모든 측정값을 대신한다. 선형 모델, 가우시안 잡음, 제약 없음, 정확한 도착 비용이라는 조건에서 MHE는 칼만 필터와 같은 추정값을 준다. 실제로는 도착 비용을 근사하는데, 흔히 확장 칼만 필터의 공분산 업데이트나 고정된 2차 가중치를 사용하며, 창 길이는 추정 품질과 계산량 사이의 균형을 맞추도록 정한다.
MHE는 흔히 모델 예측 제어의 추정 버전으로 설명된다. MPC는 제어 입력을 고르기 위해 미래 호라이즌에 대해 최적화하고, MHE는 측정값을 설명하기 위해 과거 호라이즌에 대해 최적화한다. 재귀 필터 대비 장점은 양의 질량, 관절 한계, 마찰 원뿔 안의 접촉력 같은 하드 제약을 부과할 수 있다는 것, 그리고 단계마다 하나의 선형화에 묶이는 대신 매 풀이마다 창 전체를 다시 선형화하므로 강한 비선형 모델에 도움이 된다는 것이다. 대가는 매 시간 단계마다 비선형 최소제곱 문제를 풀어야 한다는 점이므로, 실시간 구현은 구조를 활용하는 솔버, 웜 스타트, 단계당 제한된 반복 횟수에 의존한다. 모델 파라미터를 추정 상태에 추가하면 MHE는 온라인 시스템 식별 도구가 되며, Parameterized DDP 논문은 이 방식으로 MHE를 사용한다.
중요한 이유
많은 로봇 추정 문제에는 재귀 필터가 잘 다루지 못하는 제약과 비선형성이 있다. MHE는 필터와 전체 배치 스무더 사이에 위치한다. 데이터의 창과 최적화기를 사용하면서도 계산량을 제한하므로, 모델 예측 제어기에 입력되는 상태와 파라미터를 추정하는 데 실용적이다.
주요 응용
- MPC를 위한 페이로드 질량, 마찰 및 기타 파라미터의 온라인 추정
- 접촉 중인 보행 로봇의 제약 상태 추정
- 차량과 드론의 상태 및 외란 추정
- 지연되거나 불규칙한 측정값을 포함한 센서 퓨전
- 모델 잔차로부터의 고장 및 이상 탐지
실제 사례
공중 매니퓰레이터를 만드는 팀이 미지의 페이로드를 잡은 뒤 그 질량과 질량 중심을 추정하려 한다. 이들은 이 파라미터들을 MHE 문제의 상태에 추가하는데, 이 문제는 최근 1초 미만 동안의 IMU, 모터 속도, 자세 데이터를 사용하며, 질량을 양수로, 질량 중심을 그리퍼가 닿는 범위 안에 유지하는 제약을 둔다. 매 제어 주기마다 솔버는 한 샘플 이동한 이전 창으로 웜 스타트하고, acados 같은 코드 생성 솔버에서 Gauss-Newton 반복을 몇 번 실행하며, 추정값은 비행 MPC로 전달된다. 도착 비용 가중치의 튜닝이 주된 절충이다. 너무 낮으면 추정값에 잡음이 많고, 너무 높으면 페이로드가 바뀔 때 반응이 느리다.
흔한 오해
- MHE는 데이터 버퍼가 달린 칼만 필터이다 — MHE는 매 단계 창 전체에 대한 최적화를 풀고, 제약을 강제할 수 있으며, 창 전체를 다시 선형화한다
- 창 밖의 정보는 그냥 사라진다 — 도착 비용이 그 정보를 근사적으로나마 앞으로 전달한다
- 창이 길수록 항상 좋다 — 긴 창은 계산이 더 들고, 특히 파라미터를 상수로 모델링할 때 실제 변화에 대한 반응을 늦출 수 있다
알아야 할 사람
- 상태 추정 엔지니어
- 모델 예측 제어 엔지니어
- 비행 로봇 및 보행 로봇 개발자
- 온라인 시스템 식별을 연구하는 연구자
관련 기술
- acados
- CasADi
- 칼만 필터(Kalman Filter)
- 팩터 그래프 스무딩(Factor Graph Smoothing)
- Gauss-Newton 방법(Gauss-Newton Method)
관련 용어
- Extended Kalman Filter
- Model Predictive Control
- Pose Graph Optimization
- Sensor Fusion
- Differential dynamic programming
- System Identification
관련 프로젝트
- 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
동영상
- Moving Horizon Estimation in MATLAB, Python, and Simulink: APMonitor.com