• Как использовать фильтр Калмана для гироскопа на arduino?

    Kyodza
    @Kyodza
    Инженер по лётным испытаниям лёгких самолетов
    Меня учили, что фильтр Калмана - это адаптивный фильтр. Адаптация заключается в том, что надо иметь мат.модель процесса, который вы сглаживаете. То есть полученное замеренное значение сравнивается с прогнозом и на основании разницы к нему применяется поправка. Разумеется, что уравнения движения могут содержать и X, и Y, и Z и остальные буквы латинского и русского алфавита.

    Например, уравнение движения самолета состоит минимум из 6 диф.ур. А если есть автоматические устройства, которые живут совместной жизнью и самолёт летит в реальной атмосфере, то количество уравнений доходит до 40.

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

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

    Если не сложно, накидайте ссылок, на какие конкретно задачи, примеры реализаций и цели вы ориентируетесь. Сам интересуюсь этим фильтром давно, со студенчества, но мало, кто толково может объяснить суть, и уж тем более показать готовый алгоритм.

    П.С. Есть готовый авиагоризонт WT901B со встроенным ф.К. В последних реализациях его сделали с настраиваемым частотным фильтром, 6 значений частот фильтрации. Мы этот авиагоризонт используем уже очень давно, с 2017 г. Продается на Али, 3000 руб примерно. Выдает весь спектр сигналов по 3 осям - перегрузки - угловые скорости - магнитное поле - пространственные углы. Плюс давление, абсолютная барометрическая высота и температура на плате (=воды в районе Сочи). Рекомендую взять еще и отладочную плату на USB-C, удобно. Общаемся с этим модулем с Mega 2560 R3 по I2C, так удобнее, чем по UART.

    П.С.С.: https://habr.com/ru/post/255661/ В приложении к статье готовый код ф. К. и огромный список литературы на эту тему.

    Можно применить несколько Ардуин обмениваться между ними данными по I2C. У меня сейчас в работе конструкция, в которой основной контроллер Мега 2560, и две вспомогательных Ардуино Pro Micro. Одна общается с GPS другая измеряет длительность сигнала. Так оказалось проще, чем нагрузить всю работу на одну Мегу.
    Ответ написан
    Комментировать
  • Как исправить ошибку Java EXCEPTION_ACCESS_VIOLATION при работе в Pycharm?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега JVM
    Седой и строгий
    С таким только в поддержку JetBrains обращаться.
    Ответ написан
    Комментировать
  • Как устроить структуру Python проекта для бота на Flask с SqlAlchemy?

    weranda
    @weranda
    Да пофиг как вы составите структуру, честно.
    Почитайте по MVC, этого вполне достаточно.
    Или почитайте вот эту статью, нормально объяснено.
    Посмотрите устройство проектов на GitHub.
    Ответ написан
    Комментировать
  • Как сгенерировать срез острова в 2d?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Чисто алгоритмически можно, например, так: https://gamedev.stackexchange.com/questions/21297/...

    Как вариант - сделать набор шаблонов - острова и/или их фрагменты - из которых что-то лепить уже "на лету".

    Но опять же на масштабах 16х16 тайлов что-то не ущербное вы не сделаете, и как мне кажется второй вариант будет на таких масштабах наименее ущербно выглядеть и потребует от вас меньших затрат времени.
    Ответ написан
    Комментировать