2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Инерциальная навигационная система и фильтр Калмана
Сообщение05.04.2017, 15:35 


05/04/17
4
Добрый день!

У меня возникла задача - реализовать отслеживание маршрута человека на телефоне, допустим мы зашли в здание и нам нужно в нем ориентироваться по датчикам.
Проблема в том, что датчики выдают достаточно большой шум, поэтому мне нужно как-то фильтровать данные с них.
Мне порекомендовали фильтр Калмана, я нашел подходящую реализацию, но не понимаю какие параметры (матрицы) ему подавать на вход.
Сейчас грубо говоря мне надо хотя бы отфильтровать ускорение снимаемое с акселерометра.

Буду рад любой помощи, заранее спасибо!

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение05.04.2017, 16:12 


27/08/16
9426
andertsk в сообщении #1206708 писал(а):
Проблема в том, что датчики выдают достаточно большой шум, поэтому мне нужно как-то фильтровать данные с них.

Датчики ускорения в телефоне? Не поможет. Забейте.
При интегрировании этого шума два раза, чтобы вычислить изменение координат, погрешность будет возрастать по времени квадратично. Единственный путь навигации по ускорениям - ограничить время навигации и использовать специально сконструированные прецизионные датчики ускорений со сверхнизким шумом. Например, можно положить в рюкзак инерциалку от самолёта.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение05.04.2017, 16:36 


16/07/14
201
ну фильтры бывают разные, для фильтра Калмана вам понадобится динамическая модель того объекта с которого снимается зашумленная координата, по ней составляется фильтр, в фильтр заводится измеряемый сигнал, а на выходе получится сигнал фильтрованный от шумов Гаусса. Вообще говоря не поддавайтесь на провокации, и поглядите в книги: 1)А.А. Красовский "Справочник по теории автоматического управления" - одна из самых фундаментальных книжек по субоптимальным фильтрам, далее классика: К. Браммер, Г. Зиффлинг "Фильтр Калмана-Бьюси", и на закуску: Э.П. Сейдж, Дж. Л. Мелс "Идентификация систем управления". Почитайте проникнетесь выберете нужный фильтр, а еще забыл есть книжка Д. Гроп "Методы идентификации систем", там тоже все очень неплохо написано.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 07:48 


05/04/17
4
specialist в сообщении #1206717 писал(а):
для фильтра Калмана вам понадобится динамическая модель того объекта с которого снимается зашумленная координата, по ней составляется фильтр, в фильтр заводится измеряемый сигнал, а на выходе получится сигнал фильтрованный от шумов Гаусса.

Под динамической моделью вы подразумеваете $B_k u_k$ из формулы: $x_k = F_k x_k$ + B_k u_k + w_k$ ?
Взято с Википедии: http://bit.ly/2ndAThS
Но нам же не известно по какому закону будет двигаться человек в каждый момент времени.
В данном случае человек просто идет по некой траектории с различным ускорением и нам известны только проекции ускорений в системе координат устройства.
Вот их то и надо отфильтровать...

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 08:30 


16/07/14
201
Да не известно, но вам должна быть известна скорость и ускорение, и положение, а их связывает динамическая модель того объекта который движется, как движется - не важно, важна динамика. Да и у вас ошибка в формуле, слева должна стоять производная $x_k$ по времени, кроме того эта формула линейной стохастической управляемой системы в форме Ланжевена. И тот член который вы привели $B_k u_k$ - это лишь часть системы, через которую, она управляется. Попробуйте для начала фильтр Калмана-Бьюси из книжки Красовского, параграф 4.3.4, он попроще. Как насмотритесь на формулу, начинайте думать, какие координаты у вас измеряются, какие нет. Далее строите модель объекта которая связывает все координаты и наблюдаемые и нет, после этого с переводите модель в форму Коши и уже по ней строите фильтр.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 10:30 


27/08/16
9426
specialist в сообщении #1206883 писал(а):
а их связывает динамическая модель того объекта который движется, как движется

Положение точки - это дважды проинтегрированное ускорение. Что можно ещё придумать в описанном случае в качестве модели? Ограничение скорости предельной для человека? Оно, конечно, уменьшит размах блужданий координаты, но не сделает их неограниченными.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 10:38 
Экс-модератор
Аватара пользователя


23/12/05
12047
realeugene в сообщении #1206714 писал(а):
Датчики ускорения в телефоне? Не поможет. Забейте.

Если бы все было совсем уж так плохо, то их бы не использовали, например, в Tango

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 10:45 


16/07/14
201
realeugene в сообщении #1206901 писал(а):
Что можно ещё придумать в описанном случае в качестве модели?

Это зависит только от фантазии, навыдумывать модель можно сколь-угодно сложную (правда для нелинейных объектов придется строить уже фильтр инвариантного погружения). Человек захотел разобраться в фильтре Калмана, а фильтр можно реализовывать и для интегратора и помехи он будет сглаживать, да конечно будет проблема с точностью, но и это решаемо множеством способов.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 10:49 


27/08/16
9426
photon в сообщении #1206904 писал(а):
Если бы все было совсем уж так плохо, то их бы не использовали, например, в Tango
Вы правы, под "датчиками" в телефоне можно понимать не только сенсоры ускорений, но и видеокамеру. Которая, правда, не "инерциальная".

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 10:59 


05/09/16
11534

(Оффтоп)

photon в сообщении #1206904 писал(а):
Если бы все было совсем уж так плохо, то их бы не использовали, например, в Tango

С телефонных акселерометров и гироскопов можно отследить 10-15 метров, вряд ли больше.
В апсторах есть инерционные линейки, метров на 5, но для них требуется не менять ориентацию (т.е. например перемещать телефон по столу не крутя и не приподнимая).
Дальше нужны дополнительные знания. Например -- давление воздуха для определения высоты (кстати -- весьма точный датчик, полметра-метр по высоте), направление на север (магнитный компас), карта помещения для "примагничивания" к коридорам, сила вайфай сигналов для трилатерации по ним, видео-изображение с QR-кодами (или другими характерными паттернами) на стенах и т.п.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение06.04.2017, 23:56 
Заслуженный участник


05/08/14
1564
specialist в сообщении #1206883 писал(а):
Да и у вас ошибка в формуле, слева должна стоять производная $x_k$ по времени, кроме того эта формула линейной стохастической управляемой системы в форме Ланжевена

Это дискретная во времени модель, но ошибка в формуле в самом деле есть.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение07.04.2017, 08:09 


05/04/17
4
dsge в сообщении #1207157 писал(а):
но ошибка в формуле в самом деле есть.

Вроде в википедии нет никаких производных.. А какая ошибка, не подскажите?

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение07.04.2017, 08:15 


16/07/14
201
У множителя $x_k$ $ в члене $ F_k x_k$ $, должно быть другое значение индекса, это и вправду дискретное уравнение (оно же получено из непрерывного, каким ни будь методом дискретизации, допустим методом Эйлера), извиняюсь я ошибся.
Советую все-таки открыть какой-нибудь учебник из предложенных и почитать.

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение09.04.2017, 19:07 


05/04/17
4
specialist в сообщении #1207197 писал(а):
Советую все-таки открыть какой-нибудь учебник из предложенных и почитать.

Я почитал А.А. Красовского, спасибо, но там слишком много неподъемной математики, да и в виде .djvu это просто глазная боль.
Сейчас мне бы узнать какую матрицу выбрать в качестве матрицы наблюдений $H_k$ и вектор наблюдений $z_k$ для случая когда у меня вектор состояния состоит из трех компонент: (позиция, скорость, ускорение)?

 Профиль  
                  
 
 Re: Инерциальная навигационная система и фильтр Калмана
Сообщение09.04.2017, 20:20 
Заслуженный участник


05/08/14
1564
Вектор наблюдений - показания датчиков. Матрица наблюдений $H_k$ - матрица, переводящая дважды проинтегрированные показания акселерометра в положение (позицию), она зависит от калибровки акселерометра.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: reterty


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group