Исходников и примеров использования Калмана дофига, где бы найти нормальный туториал, где на пальцах бы объяснялся физический смысл каждой матрицы и показывалось бы почему именно такой Kalman gain для смешивания брать оптимально. И вообще неплохо бы показать, какую форму имеет матрица ковариаций и что такое её минимизация.
Добавлено спустя 7 минут 46 секунд:Что, все после учебы расслабились и забыли суровую высшую математику?
А как же дальше робототехнику двигать?
Это же методы 60-х годов изготовления, надо их то уж освоить!
Добавлено спустя 41 минуту 28 секунд:Короче попробую изложить своими словами, авось понятней будет тут чуток и сам разберусь лучше
Постановка задачи, что решаем:Хотим как можно более точно знать состояние системы, для которой известна модель, но нету точной информации о том в каком она сейчас состоянии, нету точной информации о наших управляющих воздействиях и нету точных измерений её состояния.
Типичные примеры задачи- Инерциальная система навигации периодически получающая сигналы со спутников.
- Мобильный робот (как с энкодерами, так и без), периодически видящий какие-то маяки.
- Просто приём зашумленного сигнала.
Какую информацию поддерживаем:В фильтре Калмана мы постоянно поддерживаем пару объектов описывающих имеющуюся у нас информацию о состоянии системы (вектор параметров описывающих состояние системы - x) и степень её достоверности + уровень взаимосвязи параметров описывающих состояние системы (эти две вещи хранятся в матрице ковариаций P).
На каждом шаге работы фильтра Калмана мы:Обновляем состояние системы исходя из того какое управляющее воздействие приложили к системеИсходя из приложенного к системе управляющего воздействия u и степени её точности Q модифицируем вектор состояния системы x и увеличиваем уровень погрешности нашей информации (хитрым образом получая из старой матрицы P и матрицы погрешности воздействия Q новую матрицу P).
Проводим наблюдениеПосле чего на этом же шаге мы имеем вектор наблюдения z произведенного с погрешностью R, которое мы можем учесть через матрицу наблюдения H, сравнив - это ли мы должны видеть из того положения, где мы думаем сейчас мы находимся. Скорее всего не это и тогда можно вычислить ошибку определения нашего положения, считая наблюдение идеально правильным.
Корректируем своё видение текущего положения системы с учетом наблюденияПосле этого мы должны принять решение - в какой пропорции надо смешать ожидаемое состояние системы без учета наблюдений с вычисленным по наблюдению состоянием системы. Фильтр Калмана как раз и даёт матрицу K для такого смешивания и на основании этого вычисляется новая скорректированная матрица P неточности нашей информации о системе, которая (как где-то доказано) будет минимальна при таком выборе K, т.е. при любом другом выборе K погрешность смешанных координат будет хуже.
Добавлено спустя 1 минуту 15 секунд:Осталось понять:
1. Как мы принимаем решение какая матрица погрешностей хуже, а какая лучше.
2. Как смешиваются матрицы погрешностей при изменении состояния системы или при добавлении информации от наблюдений;
3. Почему K оптимально - тут тупо надо доказательство найти;