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
12046
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
11467

(Оффтоп)

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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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