ROUGH DRAFT authorea.com/114136
Main Data History
Export
Show Index Toggle 0 comments
  •  Quick Edit
  • Алгоритмы локации и маршрутизации. Алгоритм Калмана-Бойцова

    Алгоритм Калмана

    Фильтр Калмана — последовательный рекурсивный алгоритм, использующий принятую модель динамической системы для получения оценки, которая может быть существенно скорректирована в результате анализа каждой новой выборки измерений во временной последовательности. Этот алгоритм находит применение в процессе управления многими сложными динамическими системами, например, непрерывными производственными процессами, самолетами, кораблями и космическими аппаратами. При управлении динамической системой, прежде всего, необходимо полностью знать её фазовое состояние в каждый момент времени. Но измерение всех переменных, которыми необходимо управлять, не всегда возможно, и в этих случаях фильтр Калмана является тем средством, которое позволяет восстановить недостающую информацию посредством имеющихся неточных (зашумленных) измерений. Balacrishnan (1988)

    Предполагаем, что стохастическая система \(x(t)=F(t)x(t)+\xi(t)\) может быть описана моделями динамики и измерений \(z=H(t)x(t)+\eta(t)\).
    Здесь \(x(t)\) - верктор состояния динамической системы, который является случайным Гауссовским процессом, \(z_{k}\) - измерения, полученные в момент времени \(t_{k}\). Ошибки измерений \(\xi_{k}\) и \(\eta_{k}\) также являются случайными процессами с нулевым математическим ожиданием и независимы друг от друга

    \begin{equation} E\xi_{k}=E\eta_{k}=0\\ \end{equation}

    Задача фильтрации состоит в том, чтобы найти оценку вектора \(\hat{x}_{k}\) состояния системы \(x_{k}\), который является функцией измерений \(z_{i}...z_{k}\) и которая минимизирует средне квадратичную ошибку (\ref{e3})

    \begin{equation} \label{e3}E\langle[x_{k}-\hat{x}_{k}]^{T}M[x_{k}-\hat{x}_{k}]^{T}\rangle\\ \end{equation}

    где \(M\) - симметричная положительно-определенная матрица.
    Фильтр Калмана работает по системе прогноз-коррекция. Допустим, что в момент времени \(t_{k-1}\) получена оценка вектора состояния системы \(\hat{x}_{k-1}\). Теперь для того, чтобы получить оценку в момент \(t_{k}\), необходимо построить прогноз оценки \(\hat{x}_{k}(-)\). Основываясь на \(\hat{x}_{k-1}\), получаем измерения \(z_{k}\) и корректируем оценку в момент \(t_{k}\), базируясь на прогнозе и измерениях, в итоге получаем окончательную оценку вектора состояния \(\hat{x}_{k}(+)\). \(\hat{x}_{k}(-)\) называется априори оценка, \(\hat{x}_{k}(+)\) называется апостериори оценка. Ниже (Рис.\ref{ris:img1}) представлена схема принципа работы фильтра Калмана.

    \label{ris:img1}. Принцип работы фильтра Калмана

    Постановка задачи

    Тело движется равномерно и равноускоренно с заранее известным ускорением \(a\). На тело действует температура \(T\). Обозначим велечину \(x(t)\), которую мы будем измерять с помощью GPS датчика, закрепленного на теле, а потом фильтровать.
    Тогда координата \(x(t)\) будет меняться по закону (\ref{law3})

    \begin{equation} \label{law3}x_{k+1}=x_{k}+a\cdot\hat{T}\cdot tdt+\xi_{k}\\ \end{equation}

    где \(\hat{T}\) - заранее известный температурный коэффициент, \(\xi_{k}\) - случайная величина, внешние влияния на движение.
    Тогда \(z_{k}=x_{k}+\eta_{k}\) - показания датчика с погрешностью \(\eta_{k}\) (ошибка).