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

oleg70

У нас летать запретили (выше 250 гр веса 😃), ну или из пенопласта делать сами моторы и аккумуляторы … ды в прочем и раму тоже… :0

rual
oleg70:

У нас летать запретили (выше 250 гр веса )

Летать для тестов или для рекордов\удовольствия? Для первого я использую “виртуалку” из ИксПлейна + Питон + Ф4Дискавери или ИксПлейн + МатЛаб (для проверки/коррекции алго).
Для удовольствия в городе и раньше было хлопотно летать (надо всё собрать в кучу, отъехать на пустырь) , а сейчас ещё и потенциально проблемно. Я ещё за долго до запрета начал вот на это засматриваться , но оригинал стоит антигуманно, а китайские клоны не содержат полный набор датчиков с ГПС… Было бы отлично и для тестов и для удовольствия полетать во дворе.

oleg70
rual:

Летать для тестов или для рекордов

Вообще говоря, похоже наблюдается некий застой в “бурном” недавнем развитии электроники к коптерам… Всё что есть на рынке практически ничем не отличается друг от друга не по функционалу не по “начинке”, с разными “вариациями на тему”…
Даже признанные лидеры, за бешенные деньги, типа “Энспайер” имеют на борту всё тот же копеечный сонар и контроллер уровня Назы…(видеолинк с пятью антеннами (!) не в счёт…))))
(неужели тупик ?, господа)

mahowik
oleg70:

неужели тупик ?

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

roboticstrends.com/…/watch_mit_drone_autonomously_…

digitaltrends.com/…/dji-obstacle-avoidance-matrice…

oleg70
mahowik:

мозг со сканом окружения по камерам

Крутя в руках платку RPi и размышляя о ее применимости, тоже приходил к мысли, что стереоскопический эффект с двух камер, в теории, мог бы помочь определить расстояние до препятствия…
Верной дорогой идут товарищи… ))) , молодцы…

mikro

Здравствуйте тов спецы .Маленький вопрос когда F4BY будит доступна пошаговая инструкция для чайников, большое спасибо.

27 days later
oleg70

Наконец то случайно попался адекватный (для моих умственных способностей) материал для понимания сути “магического” фильтра калмана: www.prointellekt.ru/Kalm1.php
Коротко и предельно ясно, без всяких заумных терминов, может кому ещё пригодится.

SitulaAqua
oleg70:

Наконец то случайно попался адекватный (для моих умственных способностей) материал для понимания сути “магического” фильтра калмана: www.prointellekt.ru/Kalm1.php
Коротко и предельно ясно, без всяких заумных терминов, может кому ещё пригодится.

Привет друзья. Боюсь данный материал не полностью описывает принцип работы фильтра Калмана. В фильтре Калмана обычно еще есть модель процесса с помощью которой предсказывают будущие состояния процесса и оценка точности предсказания…
не знаю, может уже все читали, но, на мой взгляд, вот этот материал полнее будет habrahabr.ru/post/166693/

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

oleg70
SitulaAqua:

кое в чем разобрался , а кое в чем нет

Ды как я понял, “фильтр калмана” - это некая обобщенная концепция/подход к решению различных задач фильтрации на базе теории вероятности…
В каждом конкретном случае его реализация, в виде формул, сильно зависит от самой модели объекта который мы “фильтруем”, т.е. одинаковых алгоритмов на все случаи жизни ожидать не приходится…
И есть у меня еще одно личное предположение - для некоторых реальных процессов он вообще не применим, или его эффективность “цена/качество” под большим вопросом.

SergDoc

вот именно - 5 формул не решат проблемы, нужна куча имперических данных и мат. модель на их основе…

alexmos

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

SitulaAqua
oleg70:

Ды как я понял, “фильтр калмана” - это некая обобщенная концепция/подход к решению различных задач фильтрации на базе теории вероятности…
В каждом конкретном случае его реализация, в виде формул, сильно зависит от самой модели объекта который мы “фильтруем”, т.е. одинаковых алгоритмов на все случаи жизни ожидать не приходится…
И есть у меня еще одно личное предположение - для некоторых реальных процессов он вообще не применим, или его эффективность “цена/качество” под большим вопросом.

Этот принцип решения задачи фильтрации был сформулирован русским ученым Стратановичем. Считается что фильтр Калмана частный случай фильтра Стратановича.
В моем понимании, суть достаточно проста: Есть некий процесс и его некий параметр, есть его модель и есть датчик. С помощью модели мы можем предсказать текущее значение параметра по предыдущим, и мы можем измерить текущее значение параметра с помощью датчика. А потом с помощью математического аппарата мы рассчитываем какой из этих двух параметров измеренный или рассчитанный нам нужно взять с большим коэффициентом, проще говоря какой из них мы считаем более точным. И далее просто комплиментарный фильтр типа X1*K + X2*(1-K) = X.
Вся сложность и весь вопрос как раз в математике и принципе расчета того какой из двух параметров(измеренный или рассчитанный) более точный.

Очень сильно, лично для меня, затрудняет понимание применение матриц, это вроде удобно, кратко, но за матрицами сложно увидеть суть.

oleg70
SitulaAqua:

Вся сложность и весь вопрос как раз в математике и принципе расчета

Вот цитата автора: Так вот задача фильтра Калмана состоит в том, чтобы по измеренной нами z всё-таки догадаться (определить), а какое же истинное значение x было, когда мы получали нашу z (в которой “сидит” истинное значение и ошибка измерения). Необходимо отфильтровать (отсеять) из z истинное значение x – убрать из z искажающий шум y. То есть, имея на руках только лишь сумму нам необходимо догадаться о том, какие слагаемые дали эту сумму.
Вроде понятно, но если вдуматься, то получается типа - “был бы рис, сделал бы плов, ды мяса нет…”.
Вот например : получили мы с акселя значение “352”, в нём “ШУМ” + “МЯСО”, однозначно понятно… , а дальше то что ? возможных комбинаций слагаемых - бесконечность…
мозг сопротивляется понять как и где искать коэфициент “К”, от балды чтоль взять, и потом “магические формулы” при некоторых итерациях приведут его к истине ??
Короче суть постоянно ускользает от понимания…

SergDoc
oleg70:

Вот например : получили мы с акселя значение “352”, в нём “ШУМ” + “МЯСО”, однозначно понятно… , а дальше то что ? возможных комбинаций слагаемых - бесконечность…

не, не так, вот мы взяли прошлые данные (уже прошедшие все 5 кругов ада) и сообразили по ним где примерно будем - тут бац получаем новые данные и эти данные перемешиваем с расчётными беря во внимание коэф-ты гуляющие зависящие от паспортных данных, коэффициентов Якоби - та ещё штука, и на сколько обшиблись датчики - мы же расчётным данным больше доверяем смотрим какой им коэффициент выставить… а так да в большинстве реализаций первоначальный коэффициент веса измеряемой величины берут от балды и на основе имперических данных…

SitulaAqua
oleg70:

Вот например : получили мы с акселя значение “352”, в нём “ШУМ” + “МЯСО”, однозначно понятно… , а дальше то что ? возможных комбинаций слагаемых - бесконечность…
мозг сопротивляется понять как и где искать коэфициент “К”, от балды чтоль взять, и потом “магические формулы” при некоторых итерациях приведут его к истине ??
Короче суть постоянно ускользает от понимания…

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

oleg70
SergDoc:

не, не так, вот мы взяли прошлые данные

Да, согласен, наверно нужно выделить некий массивчик для прошлых данных (вопрос - какого размера) по принципу “последний пришел - первый ушел” и над ним уже издеваться, ища каждую итерацию закономерности в поведении данных… каким образом искать эти закономерности - уже другой вопрос.
Вообще говоря, не разу не встречал элементарной блок-схемы процесса фильтрования этим фильтром, в основном все материалы в виде математических выкладок, а для человека не искушенного сухой математикой, понять сам принцип очень сложно, к сожалению… (Даешь блок-схему в студию! )))

alexeykozin
oleg70:

каким образом искать эти закономерности - уже другой вопрос

автоматически, Data mining
сливать данные логов в базу. загрузить в сервачек, дать ему найти зависимости зависимости привести к модели