Специальные цены   новые товары
+ Ответить в теме
Страница 162 из 165 ПерваяПервая ... 152 160 161 162 163 164 ... ПоследняяПоследняя
Показано с 6,441 по 6,480 из 6569

Создание собственной системы стабилизации

Тема раздела Квадрокоптеры. Общие вопросы в категории Квадрокоптеры и мультироторы; Сообщение от mahowik идея о том что не нужно выполнять коррекцию результируещего Z вектора (т.е. результат интегрировния гир) по магу... ...

  1. #6441

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от mahowik Посмотреть сообщение
    идея о том что не нужно выполнять коррекцию результируещего Z вектора (т.е. результат интегрировния гир) по магу... у тебя так?
    У меня именно так, итоговый кватернион только нормируется после интегрирования. Кватернион содержит предполагаемую (мнимую) ориентацию, по этой ориентации маг разворачивается к мировой СК. Z отбрасывается, Х- косинус,У-синус; У/Х -удельное (нормированное по косинусу) рассогласование Немного не так, весь вектор нормируется до единицы, У - берется как рассогласование мнимого азимута относительно текущего вектора мага, если Х <0, то знак У меняется. Это рассогласование расщепляется на локальные оси и добавляется к смещению соответствующих осей ДУСа. Вот так у меня.

    Цитата Сообщение от mahowik Посмотреть сообщение
    Из моей практики не корректируемый интеграл долго не проживет...
    При плавных эволюциях живет вполне прилично (>1 мин), в покое вообще до 10 мин.
    Последний раз редактировалось rual; 07.08.2016 в 11:31.

  2.  
  3. #6442

    Регистрация
    23.08.2011
    Адрес
    Краснодар
    Возраст
    38
    Сообщений
    951
    Записей в дневнике
    2
    Цитата Сообщение от rual Посмотреть сообщение
    При плавных эволюциях живет вполне прилично (>1 мин), в покое вообще до 10 мин.
    В демо xsense ( ) очень хорошая стабильность, 1.2 градуса за 17 минут при движении и умеренных вибрациях робота-пылесоса.

  4. #6443

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,291
    Записей в дневнике
    19
    Цитата Сообщение от rual Посмотреть сообщение
    У меня именно так, итоговый кватернион только нормируется после интегрирования. Кватернион содержит предполагаемую (мнимую) ориентацию, по этой ориентации маг разворачивается к мировой СК. Z отбрасывается, Х- косинус,У-синус; У/Х -удельное (нормированное по косинусу) рассогласование Немного не так, весь вектор нормируется до единицы, У - берется как рассогласование мнимого азимута относительно текущего вектора мага, если Х <0, то знак У меняется. Это рассогласование расщепляется на локальные оси и добавляется к смещению соответствующих осей ДУСа. Вот так у меня.
    Саша, это все те же помидоры, лишь вид сбоку
    До тех пор пока мы берем разность между расчетным вектором (по гирам) и абсолютным вектором мага и выполняем:
    1) либо корекцию расчетного/конечного вектора
    2) либо вносим коррекцию прямиком в биас гир
    это будет все тот же компл. фильтр, просто разных типов/порядков... в твоей реализации в покое, после всех возмущений, расчетный вектор приползет к абсолютному...

    Ребята же из xsens для коррекции похоже берут диф. мага и теряют абсолютность, т.е. привязку к мировой СК... но тут конечно и недостатки есть

    Цитата Сообщение от alexmos Посмотреть сообщение
    В демо xsense очень хорошая стабильность, 1.2 градуса за 17 минут при движении и умеренных вибрациях робота-пылесоса.
    но ты заметь что у них без коррекции ошибка всего 47 град за 17 мин, и при таких то условиях! там явно сенсоры почище будут наших mpu-шек

    попробовал вчера отрубить коррекцию по магу, так за минуту уплыл на 30-40 град и это в покое на столе
    тут конечно еще целочисленная математика виной...

  5. #6444

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    Простите, но не очень понимаю, что вы подразумеваете под словом "биас". То есть вы имеете ввиду, что они корректируют угловую скорость гиры через угловую скорость магнитометра? То есть отличие кроется именно в том, что они не не ищут разность между виртуальным вектором севера (проинтегрированные скорости гир) и абсолютным значением севера с магнитометра? Но мне кажется, что корректировка скорости гир через дифференцируемый по времени вектор магнитометра как раз таки даст уйти виртуальному северу, просто медленно... По моему они имели ввиду, что коррекция идет привычным образом, просто при резких изменениях данных магнитометра, ЧАСТОТА коррекции снижается

  6.  
  7. #6445

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от mahowik Посмотреть сообщение
    это будет все тот же компл. фильтр, просто разных типов/порядков... в твоей реализации в покое, после всех возмущений, расчетный вектор приползет к абсолютному...
    Подтверждаю, всё именно так.

    Цитата Сообщение от mahowik Посмотреть сообщение
    Ребята же из xsens для коррекции похоже берут диф. мага и теряют абсолютность, т.е. привязку к мировой СК... но тут конечно и недостатки есть
    Тут мне лично вообще ничего не понятно... Маг датчик абсолютный, как можно использовать его дифференциал? Для принятия решения о качестве данных? Дык собственно, если уменьшить коэффициент влияния мага на итоговую ориентацию, но оставить выше средней ошибки ДУС и интегратора - всё будет работать четко. Конечно если мат.ожидание разброса данных мага будет стремиться к истинному азимуту места...

    Если же использовать дифф. данные мага, то в итоговом повороте будет ДВЕ ошибки интеграции - ДУСа и интеграл шума мага. И чем тогда компенсировать набегающую ошибку?

  8. #6446

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Вот немного ПО теме -> http://fixik-papus.livejournal.com/32228.html

  9. #6447

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от rual Посмотреть сообщение
    Тут мне лично вообще ничего не понятно... Маг датчик абсолютный, как можно использовать его дифференциал?
    Люди пытаются, экспериментируют, выкладывают результаты.. почему бы и нет ? Попытка - не пытка..
    Только моё мнение такое - всеми этими ухищрениями типа "коррекция биаса" "смешивание/подмешивание" жиру не натопишь, есть у бюджетных сенсоров свой предел точности и некоторая степень корявости, как ни крути/не усложняй алгоритмы, эта корявость в одном месте сглаживается а в другом вылазит, - ходьба по кругу, или иными словами:
    слепой помогает хромому и слушает немого чтоб улучшить жизнь в целом )))
    За столько лет экспериментов с схемой гира/аксель/маг/gps(ну еще сонар), пора бы ИМХО найти уже золотую середину в мат. обеспечении, и успокоиться.. ,
    а хотите бОльшего - другие датчики надо применять...

  10.  
  11. #6448

    Регистрация
    23.08.2011
    Адрес
    Краснодар
    Возраст
    38
    Сообщений
    951
    Записей в дневнике
    2
    Цитата Сообщение от rual Посмотреть сообщение
    Вот немного ПО теме -> http://fixik-papus.livejournal.com/32228.html
    Отличный пример! Описывает как раз все сложности с настройкой системы в комплексе: хотя теория точна и понятна, тот же Калман - разжеван сотню раз, а вот правильно настроить все веса и пороги и учесть все возможные косяки с датчиками - это требует огромной отладочной работы и дара предвидения (чем собственно и и занимаются программисты).

  12. #6449

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,291
    Записей в дневнике
    19
    Цитата Сообщение от rual Посмотреть сообщение
    Тут мне лично вообще ничего не понятно... Маг датчик абсолютный, как можно использовать его дифференциал? Для принятия решения о качестве данных? Дык собственно, если уменьшить коэффициент влияния мага на итоговую ориентацию, но оставить выше средней ошибки ДУС и интегратора - всё будет работать четко. Конечно если мат.ожидание разброса данных мага будет стремиться к истинному азимуту места...

    Если же использовать дифф. данные мага, то в итоговом повороте будет ДВЕ ошибки интеграции - ДУСа и интеграл шума мага. И чем тогда компенсировать набегающую ошибку?
    понимаю твои возмущения!

    но иначе откуда у них в алгоритме на выходе (после 17 мин) погрешность в 1.2 и 47 град?
    Соот-но провязки и корекции по абсолютному вектору нет, иначе был бы ноль в погрешности на выходе...

  13. #6450

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от alexmos Посмотреть сообщение
    Да ничего там нового нет, все тот же комплементарник только в замороченной форме кватернионов
    Да, запустил всё ж я всю эту систему (изрядно измучив себе мозг), не вдаваясь в детали, имею сказать - основная фишка этого метода в раздельности обсчета курса и тангажа/крена.. особой выгоды ИМХО от сего подхода не нашел..

  14. #6451

    Регистрация
    23.08.2011
    Адрес
    Краснодар
    Возраст
    38
    Сообщений
    951
    Записей в дневнике
    2
    Цитата Сообщение от mahowik Посмотреть сообщение
    но иначе откуда у них в алгоритме на выходе (после 17 мин) погрешность в 1.2 и 47 град? Соот-но провязки и корекции по абсолютному вектору нет, иначе был бы ноль в погрешности на выходе...
    Если дифференциировать магнетометр - там такие шумы вылезут, что ничего полезного не извлечь. При хорошо откалиброванном гироскопе коррекция идет на десятые а то и сотые доли единицы отсчета (при 2000 град.сек / 16 бит) - именно эту ошибку и должен извлечь алгоритм. Можно попробовать взять разницу показаний гирика с дифференциалом мага, и отсечь шумы НЧ-фильтром очень низкой частоты (с постоянной времени 10 сек и более) и может быть, высокого порядка. А результат применять только при вращениях выше некоторой скорости. Тогда останется только очень медленная ошибка магнетометра (например, очень медленно подносим магнит - магнитное поле крутится, а объект нет). Но об этом говрят и сами Invesense:

    "There is one known situation where AHS will have a detrimental effect on the performance. When the
    magnetic field is changing very slowly (e.g. when an object is rotating slowly, less than e.g. 0.5 deg/s),
    AHS might estimate the gyro bias incorrectly"

  15. #6452

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,291
    Записей в дневнике
    19
    Само собой диф. мага очень шумный и его надо фильтровать.
    Цитата Сообщение от alexmos Посмотреть сообщение
    А результат применять только при вращениях выше некоторой скорости. Тогда останется только очень медленная ошибка магнетометра (например, очень медленно подносим магнит - магнитное поле крутится, а объект нет).
    Результат (фильтрованная разница показаний гирика с дифференциалом мага) применять к биасу только при вращениях выше некоторой скорости? Почему? Ведь результат уже сильно фильтрован и текущее вращение изменяет его с большой задержкой.

    Общался кстати с Алексеем Козиным. Он говорил что в АРДУ 3.3 сделали подобную вещь "подносишь магнит или крутишь компас относительно апм - сразу выявлает и показывает индикатором что екф исключил компас. убираешь магнит и все встает на свои места"

    Может кто разбирался уже? Это явно не магия калмана, а дополнение к мат. модели...
    Последний раз редактировалось mahowik; 11.08.2016 в 19:26.

  16. #6453

    Регистрация
    23.08.2011
    Адрес
    Краснодар
    Возраст
    38
    Сообщений
    951
    Записей в дневнике
    2
    Цитата Сообщение от mahowik Посмотреть сообщение
    "подносишь магнит или крутишь компас относительно апм - сразу выявлает и показывает индикатором что екф исключил компас. убираешь магнит и все встает на свои места"
    Ага, только у меня и без магнита ЕКФ постоянно компасс исключает в Ардупилоте Намудрили там что-то с проверками и порогами. А фишка AHS - он использует компасс и в условиях наводок.

  17. #6454

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,291
    Записей в дневнике
    19
    Цитата Сообщение от mahowik Посмотреть сообщение
    в АРДУ 3.3 сделали подобную вещь "подносишь магнит или крутишь компас относительно апм - сразу выявлает и показывает индикатором что екф исключил компас. убираешь магнит и все встает на свои места"
    Цитата Сообщение от alexmos Посмотреть сообщение
    без магнита ЕКФ постоянно компасс исключает в Ардупилоте Намудрили там что-то с проверками и порогами.
    Сергей Липницкий накопал кой чего по этому алгоритму
    там типа самообучения вкручено отдельно от EKF ...

    /*
    * this offset learning algorithm is inspired by this paper from Bill Premerlani
    *
    * http://gentlenav.googlecode.com/file...gRevisited.pdf
    *
    * The base algorithm works well, but is quite sensitive to
    * noise. After long discussions with Bill, the following changes were
    * made:
    *
    * 1) we keep a history buffer that effectively divides the mag
    * vectors into a set of N streams. The algorithm is run on the
    * streams separately
    *
    * 2) within each stream we only calculate a change when the mag
    * vector has changed by a significant amount.
    *
    * This gives us the property that we learn quickly if there is no
    * noise, but still learn correctly (and slowly) in the face of lots of
    * noise.
    */

    тут не совсем понял
    Цитата Сообщение от alexmos Посмотреть сообщение
    А результат применять только при вращениях выше некоторой скорости. Тогда останется только очень медленная ошибка магнетометра (например, очень медленно подносим магнит - магнитное поле крутится, а объект нет).
    Результат (фильтрованная разница показаний гирика с дифференциалом мага) применять к биасу только при вращениях выше некоторой скорости? Почему? Ведь результат уже сильно фильтрован и текущее вращение изменяет его с большой задержкой.

  18. #6455

    Регистрация
    23.08.2011
    Адрес
    Краснодар
    Возраст
    38
    Сообщений
    951
    Записей в дневнике
    2
    Цитата Сообщение от mahowik Посмотреть сообщение
    Сергей Липницкий накопал кой чего по этому алгоритму
    Да, кстати я делал подобный алгоритм для компасса, только с использованием гироскопа это надежнее - если гироскоп крутит вектор по сфере, а компасс по смещенной сфере, то при каждом атомарном повороте можно нехитрыми операцими вычислить направление коррекции, и уменьшать ошибку смещения сфер до нуля. Работает и находит оффсеты довльно быстро, НО ТОЛЬКО при вращениях по разным осям. Т.е. если взлетели блинчиком и летаем, не поворачивая коптер, то не сработает. И в контроллере подвеса я его не использую, но вообще штука интересная и "про запас" код оставил.

    Цитата Сообщение от mahowik Посмотреть сообщение
    Результат (фильтрованная разница показаний гирика с дифференциалом мага) применять к биасу только при вращениях выше некоторой скорости? Почему? Ведь результат уже сильно фильтрован и текущее вращение изменяет его с большой задержкой.
    Насчет фильтрации: задержка будет существенная, но уже на ошибку (т.е. разность скоростей двух датчиков), а для нее не важно, когда мы ее применим, сразу или через 5 секунд, т.к. биас постоянен во времени или меняется достаточно медленно (например, при нагреве ДУС).

    А насчет порога на скорость, тут нужно экспеременировать. Я думаю, что нужно рассмотреть все случаи, и порогов будет несколько:

    - Гироскоп не крутится, компасс не крутится - скорее всего, система в покое, можно корректировать bias
    - Гироскоп не крутится, компасс крутится - что-то не так, возможно система движется прямолинейно в неоднородном поле. Коррекцию не делаем.
    - Гироскоп крутится, компасс крутится, разница после фильтрации в пределах допуска - применяем коррекцию.

  19. #6456

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,936
    Записей в дневнике
    22
    Цитата Сообщение от mahowik Посмотреть сообщение
    this offset learning algorithm is inspired by this paper from Bill Premerlani
    это уже яйца мамонта, еще на апм1 коптера небыло, а аглоритм был в коде самолета

  20. #6457

    Регистрация
    12.02.2015
    Адрес
    Комсомольск-на-амуре
    Возраст
    33
    Сообщений
    753
    Записей в дневнике
    1
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    это уже яйца мамонта, еще на апм1 коптера небыло, а аглоритм был в коде самолета
    Так и фильтру Калмана тоже уже пол-века

  21. #6458

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от oleg70 Посмотреть сообщение
    Да, запустил всё ж я всю эту систему (изрядно измучив себе мозг),
    И как оказалось, с ошибками )).., а в действительности - крутая штука (уж лучше Магвика точно), и вот тому подтверждение:

    всё работает как на видео, надо ещё адаптивный коэфициент попробовать.. короче рекомендую..

  22. #6459

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    бездоказательное видео имхо. тот же самый фильтр Махони даст такие же результаты, если коррекцию по акселерометру сделать большой, а по магнитометру маленькой.Сконцентрировались на неактульных проблемах в виде слишком больших угловых ускорениях, которых не бывыает в реальных ЛА, а если уж так хочется, то эта проблема легко решается правильной частотй опроса и фильтрацией (в том же MPU надо очень быстро крутануть, чтобы достичь такого же эффекта как на видео). В видео умышленно не показано долгое линейное или центростремительное ускорение, потому что их фильтр бы съехал, ввиду слишком сильной коррекции акселерометра. Коррекцию магнитометра только оси Z - уже миллион и один раз используется везде. И вообще ощущение, что специально сравнивают с плохо настроенными для данного (не актулаьного) случая другими алгоритмами.

  23. #6460

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    тот же самый фильтр Махони даст такие же результаты, если коррекцию по акселерометру сделать большой, а по магнитометру маленькой
    У него (Махони) всего две настройки - Kp и Ki (вторая, как правило, не используется), а тут есть и пороги для коррекции "биасов" и раздельный Kp для акселя и мага, так что свободы уж точно больше..

    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    не показано долгое линейное или центростремительное ускорение,
    надо проверить как динамический коэф. усиления работает, а там видно будет...

  24. #6461

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    Если оставить только Kp то весь фильтр выродится в обычный альфа-бета комплиментарник, так что Ki используется. Kp надо естественно раздельный для акселя и для мага, тут иначе нельзя. Несколько сообщений назад Алексей Москаленко писал
    Да ничего там нового нет, все тот же комплементарник только в замороченной форме кватернионов (со всеми вытекающими математическими тонкостями через которые придется продираться). Динамический коэффициент на акселе по анализу длины вектора гравитации - идея старая, но не рабочая, хороша только для тестовых отчетов, но в реальности его нужно применять очень акуратно, особенно если система постоянно в движении (я так и не получил заметных улучшений).
    Тут я с ним согласен, это обычный комплиментарник, динамический коэффициент не рабочая идея.

  25. #6462

    Регистрация
    12.02.2015
    Адрес
    Комсомольск-на-амуре
    Возраст
    33
    Сообщений
    753
    Записей в дневнике
    1
    Цитата Сообщение от oleg70 Посмотреть сообщение
    У него (Махони) всего две настройки - Kp и Ki (вторая, как правило, не используется), а тут есть и пороги для коррекции "биасов" и раздельный Kp для акселя и мага, так что свободы уж точно больше..
    Ki у Махони как раз для коррекции байасов гироскопа, если его грамотно использовать все работает идеально даже в условиях температурного дрейфа гироскопа.

    Цитата Сообщение от oleg70 Посмотреть сообщение
    надо проверить как динамический коэф. усиления работает, а там видно будет...
    Динамический Kp ИМХО идея дохлая, пробовал, заметных улучшений нет.

  26. #6463

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от jShadow Посмотреть сообщение
    Динамический Kp ИМХО идея дохлая, пробовал, заметных улучшений нет.
    Не уверен, тут весьма важны правильные критерии этого самого подбора Kp.

  27. #6464

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,936
    Записей в дневнике
    22
    Цитата Сообщение от oleg70 Посмотреть сообщение
    всё работает как на видео
    неправильный на видео кальман
    в ардукоптере 3.3 и старше если подносишь магнит то компас исключается из решения задачи и не влияет на ориентацию

  28. #6465

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от rual Посмотреть сообщение
    тут весьма важны правильные критерии
    Согласен полностью ..., например в данном случае авторы берут текущую длину магнитного вектора (?) и сравнивают ее с длиной вектора гравитации (?).. типа так: error=(m_vect - g_Kvect)/g_Kvect и по этой ошибке уже изменяют Kp..
    У меня непонятки полные пока на этот счет, g_Kvect у них = 9.8 м/сек указан (константа), ну и как можно (а главное зачем) сравнивать несравнимые вещи ?
    Что это за критерий такой, не пойму, может кто просвятит ?

  29. #6466

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    Разобрался в некоторой степени со знаменитым фильтром Калмана.
    Я бы выделил несколько ключевых "фокусов" алгоритма.
    Магия Калмана заключается в нахождении нескольких матриц ковариации (они завуалированы в выражениях стандартного Калмана).
    Первая считает ковариацию( меру похожести или линейной зависимости между двумя величинами) между переменными вектора состояния. А это приводит к очень интересной магии, а именно, если задать некоторые зависимости(можно довольно сложные) между переменными, фильтр их статистически обнаружит и использует для своих корыстных целей (минимизации квадрата ошибки вектора состояния). Простой пример - Вектор состояния (X) состоит из позиции и скорости, матрица преобразования (A) преобразует вектор состояния таким образом - скорость сейчас равна скорости в прошлый момент времени, а позиция равна позиции в прошлый момент времени ПЛЮС скорость. Наблюдая только позицию можно предсказать скорость!!! то есть мы нигде не писали, что скорость - это дифференциал по времени, фильтр выяснил это СТАТИСТИЧЕСКИ. В перспективе фильтр может оценить очень сложные аналитические зависимости, тем самым делая работу за разработчика. Главное связать переменные. То есть фильтр может оценивать как наблюдаемые переменные, так и ненаблюдаемые!!
    Вторая матрица ковариации оценивает зависимость между вектором состояния и показаниями датчика . По сути она определяет коэффициент Калмана. Но у нее есть одно неочевидное свойство - отбраковывать левые показания! то есть если датчик показывает какие-то левые данные, ковариация между ними и вектором состояния уменьшится и коэффициент соответственно тоже уменьшится.
    В итоге имеем то, что у нас есть автоматически адаптивный коэффициент влияния и неявные зависимости между переменными.
    Последнее свойство кстати используется для определения параметров (parametr estimation), а это наталкивает на определенные мысли о адаптивном управлении, где система управляет объектом, определяя его параметры динамически, соответственно подстраиваясь под изменения (Dual estimation Kalman filter).
    Теперь самое интересное - почти всегда вместо матриц A и H используются нелинейные уравнения, что приводит к тому что их приходится линеаризовывать каждый раз в окрестности данного вектора состояния, чтобы определить искомые оценки ковариаций и мат. ожиданий. Линеаризация обычно происходит разложенением в ряд Тейлора, по просту дифференцированием. Это порождает кучу проблем (не все можно дифференцировать, точность не всегда достаточно) которые приводят к неустойчивости фильтра, вследствие заниженной оценки шума. Так вот придумали новый метод оценки ковариации и мат ожидания вектора состояния с нелинейными уравнениями, называется UT (Uncsented transform). Кратко - мы просто берем несколько точек в окрестности нашей оценки и прогоняем через нелинейные уравнения, находим ковариацию и мат ожидание. Метод очень крутой, используется в UKF(Uncsented Kalman Filter) устойчивость выше чем у EKF.
    Собственно, скоро выложу результаты пробы UKF, результаты и выводы мне показались довольно интересными, своеобразными.
    P.S. Если где то ошибся - поправляйте и дополняйте, тема очень интересная

  30. #6467

    Регистрация
    12.02.2015
    Адрес
    Комсомольск-на-амуре
    Возраст
    33
    Сообщений
    753
    Записей в дневнике
    1
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    Разобрался в некоторой степени со знаменитым фильтром Калмана.
    Здорово! Может нам объединить усилия над проектом INAV?

  31. #6468

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    Собственно, скоро выложу результаты пробы
    А замысел то какой (касаемо нашей темы) ? в смысле - что наблюдаем , что оцениваем, что регулируем, или чего хотим добиться.?

  32. #6469

    Регистрация
    24.02.2015
    Адрес
    Берлин
    Возраст
    31
    Сообщений
    749
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    Разобрался в некоторой степени со знаменитым фильтром Калмана.
    А по каким материалам или учебникам разбирались?

  33. #6470

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    Цитата Сообщение от jShadow Посмотреть сообщение
    Здорово! Может нам объединить усилия над проектом INAV?
    Что за проект? На какой стадии? Какие цели проекта? Над чем в данный момент работаете?
    А замысел то какой (касаемо нашей темы) ? в смысле - что наблюдаем , что оцениваем, что регулируем, или чего хотим добиться.?
    Все то же, получение наиболее точных данных координат коптера из искаженных, зашумленных показаний датчиков.

  34. #6471

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    Простой пример - Вектор состояния (X) состоит из позиции и скорости, матрица преобразования (A) преобразует вектор состояния таким образом - скорость сейчас равна скорости в прошлый момент времени, а позиция равна позиции в прошлый момент времени ПЛЮС скорость. Наблюдая только позицию можно предсказать скорость!!!
    помнится - там получается всего навсего интеграл от прошлой скорости - рассчётная позиция - матрица А - предположение (предсказание)... магия не в этом месте...

  35. #6472

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    Цитата Сообщение от SergejK Посмотреть сообщение
    А по каким материалам или учебникам разбирались?
    советую искать не научные публикации, а лекционные материалы для студентов, презентации в основном. После понимания основ, можно почитать публикации касательно конкретных применений, сформировать картину как оно на самом деле. Далее почитать уже конкретно о EKF, UKF. Параллельно изучая код с конкретными реализациями. Ну и попробывать самому. Сразу скажу изучать придется буржуйскую литературу. (На хабре не стоит читать имхо)
    Вообщем то у меня сформировался примерно такой список по мере осваивания:
    1) https://ru.wikipedia.org/wiki/%D0%A4...B0%D0%BD%D0%B0
    2) Учебный курс на Udacity.com: Artificial Intelligence for Robotics
    3) Introduction to Estimation and the Kalman Filter Hugh Durrant-Whyte Australian Centre for Field Robotics The University of Sydney - там прямо все по полочкам разложили.
    4) Касательно UKF - The Unscented Kalman Filter Barry Sherlock University of North Carolina - все очень подробно.
    5) http://we.easyelectronics.ru/Soft/si...r-kalmana.html
    6)Sigma-Point Kalman Filters for Probabilistic Inference in Dynamic State-Space Models Rudolph van der Merwe & Eric Wan - конкретные применения UKF
    7) Проект AutoQuad - очень все по-умному сделано, основательный проработанный подход. Открытый код. Собственно код я взял оттуда, само ядро фильтра универсальное, вам как разработчикам нужно только проинициализоровать, задать матрицы шумов, написать функции f(x), h(x).
    8) и всякий раз гуглить, что то непонятно - гуглить. гуглить, гулить и еще раз гуглить. Тут надо определить границу, где можно самому сделать работу, а где взять готовое и не изобретать велосипед, ведь все уже до нас изобрели, надо только поискать (ИМХО).

    Цитата Сообщение от SergDoc Посмотреть сообщение
    помнится - там получается всего навсего интеграл от прошлой скорости - рассчётная позиция - матрица А - предположение (предсказание)... магия не в этом месте...
    Я вас не понял вообще.

  36. #6473

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    Я вас не понял вообще.
    Матрица экстраполяции - по сути дела большой интеграл - там интегрируется всё, что только можно - т.е. найти углы из угловых скоростей, скорости из ускорений, путь из скорости и т.д. .....
    далее мы получаем новые данные и их и по ним корректируем рассчётные данные, а так же исходя из разницы рассчётных и полученных данных - корректируем коэффициенты для следующей итерации...

  37. #6474

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    магия не в ней я ж четко написал:
    Магия Калмана заключается в нахождении нескольких матриц ковариации
    Магия заключается в матрице ковариации между переменными вектора состояния Pxx, а не в матрице A( другое обозначение F) (вы говорите именно про A). Именно матрица ковариации может оценить ненаблюдаемую скорость из наблюдаемой позиции.

  38. #6475

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    Магия заключается в матрице ковариации между переменными вектора состояния Pxx, а не в матрице A( другое обозначение F)
    ну нет там никакой магии - посмотрите из чего она состоит - единицы по главной диагонали и дельта т - выше неё - и вы её умножаете на ваш вектор из прошлых показаний...
    ваши слова:
    Простой пример - Вектор состояния (X) состоит из позиции и скорости, матрица преобразования (A) преобразует вектор состояния таким образом - скорость сейчас равна скорости в прошлый момент времени, а позиция равна позиции в прошлый момент времени ПЛЮС скорость. Наблюдая только позицию можно предсказать скорость!!!
    да не спорю, скорость можно найти но не дифференцируя путь, а интегрируя ускорение...
    магия заключается именно в подборе коэффициентов усиления - а вот тут всё плохо....

    вот где самое неудобное место: деление на матрицу (умножение на обратную) - это жестко... и каждый находит эту обратную матрицу как попало...
    Последний раз редактировалось SergDoc; 24.08.2016 в 22:46.

  39. #6476

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    Нет, вы меня не поняли, у нас нет ускорения, в моем примере у нас есть только две переменные - позиция и скорость. Позицию мы измеряем датчиком - это наблюдаемая переменная, а скорость - ненаблюдаемая, фильтр оценивает ее основываясь на матрицу ковариации.
    Цитата Сообщение от SergDoc Посмотреть сообщение
    ну нет там никакой магии - посмотрите из чего она состоит - единицы по главной диагонали и дельта т - выше неё - и вы её умножаете на ваш вектор из прошлых показаний...
    это не та матрица.
    Цитата из вики:
    \textbf{P}_{k|k} — апостериорная ковариационная матрица ошибок, задающая оценку точности полученной оценки вектора состояния и включающая в себя оценку дисперсий погрешности вычисленного состояния и ковариации, показывающие выявленные взаимосвязи между параметрами состояния системы
    https://ru.wikipedia.org/wiki/%D0%A4...B0%D0%BD%D0%B0
    в матрице ковариации - по диагонали содержаться дисперсии самих переменных вектора состояния, а в нижнем и верхнем треуголнике (матрица симметрична) ковариации(попросту коэффициенты похожести, влияния) одной переменной вектора состояния на другую.

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

  40. #6477

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    Все то же, получение наиболее точных данных координат коптера из искаженных
    А именно: из GPS и акселерометра, так ?? , ДУС и магнитометр тут не подходят, а больше то и нет никаких, я правильно понимаю ? или "магия" настолько сильна, что можно всё что угодно "припаять"..

  41. #6478

    Регистрация
    24.03.2013
    Адрес
    Магнитогорск
    Возраст
    22
    Сообщений
    144
    Цитата Сообщение от SergDoc Посмотреть сообщение
    вот где самое неудобное место: деление на матрицу (умножение на обратную) - это жестко... и каждый находит эту обратную матрицу как попало...
    Так давно уже есть численные методы нахождения обратной матрицы, то же разложение Холецкого или еще лучше QR разложение + транспонирование. Не вижу в этом проблему.

    Цитата Сообщение от oleg70 Посмотреть сообщение
    А именно: из GPS и акселерометра, так ?? , ДУС и магнитометр тут не подходят, а больше то и нет никаких, я правильно понимаю ? или "магия" настолько сильна, что можно всё что угодно "припаять"..
    Не правильно, можно все что угодно подпаять если правильно их связать.

  42. #6479

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от oleg70 Посмотреть сообщение
    а больше то и нет никаких, я правильно понимаю ? или "магия" настолько сильна, что можно всё что угодно "припаять"..
    а вот магия к припаять тут никакого отношения не имеет - вектор какой угодно размерности задать можно....

  43. #6480

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от ИльяПРо Посмотреть сообщение
    если правильно их связать.
    Пытаюсь уловить самое ценное - физический смысл..
    пока вот не понял (извиняюсь), как например, "правильно связать" угловые скорости и линейное положение "тела" в пространстве ?
    Цитата Сообщение от SergDoc Посмотреть сообщение
    вектор какой угодно размерности задать можно....
    компоненты вектора должны как то осмысленно с ним быть связаны ? или например в "вектор положения" можно включать всё что угодно ? и будет толк ?

+ Ответить в теме

Похожие темы

  1. Система стабилизации гиро+акселерометр
    от Фантомас в разделе Полеты по камере, телеметрия
    Ответов: 32
    Последнее сообщение: 25.01.2011, 14:47
  2. Продам Продам Клона Trex 450SEV2 + Аппаратура + Запчасти+ система стабилизации RTF
    от omegapraim в разделе Барахолка. Вертолеты
    Ответов: 1
    Последнее сообщение: 12.01.2011, 18:16
  3. Продам Трёхосевую систему стабилизации Turnigy V-Bar 600
    от avi@tor в разделе Барахолка. Аппаратура
    Ответов: 1
    Последнее сообщение: 08.11.2010, 13:02
  4. Продам Gaui система стабилизации GU365, дёшево.
    от avi@tor в разделе Барахолка. Вертолеты
    Ответов: 3
    Последнее сообщение: 03.08.2010, 11:13
  5. Системы стабилизации
    от max815 в разделе Фото и видеосъемка, системы стабилизации
    Ответов: 16
    Последнее сообщение: 11.03.2010, 03:14

Метки этой темы

Ваши права

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