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

SergDoc

Эта фишка уже давно, я её ещё на мелкоплате испытывал, там одноосевой фильтр чисто для фильтрации данных с гир, акселя и барометра - летает стабильней даже с плохим акселем но ценой увеличения цикла почти в два раза (на 103-м) и собирать тот проект надо под gcc (я настраивал под эклипсом) ибо кеил его не переварит, можно попробовать запихнуть в f4, но у меня под эклипсом отладчик не работает…
у меня сейчас в планах попробовать vrbrain, а там и до арду 3 недалеко, но это всё планы, а делать ну ничего не хочется, проект я настроил компилируется, но дальше не полез, если бы там был микшер а не всё на дефайнах с перепрошивкой то можно было бы портануть, а т.к. я всёже хочу микшер - то это надо созреть самому 😃 наверно доолгими зимними вечерами, а сейчас просто летать 😃

Виталий, кино будет?

Немного дилетантский вопрос: т.к. буду в деревне интернета там не будет, можно ли скачать как-то карты того района? ибо надеюсь, что буду уже с gps…

SergDoc

wingui вроде сохраняет, дома поэкспериментирую…

okan_vitaliy
SergDoc:

Виталий, кино будет?

Немного дилетантский вопрос: т.к. буду в деревне интернета там не будет, можно ли скачать как-то карты того района? ибо надеюсь, что буду уже с gps…

Кина пока с новой платой не будет - вот напилю деталек на новый квадрик, туда и плату поставлю. А так пока что на столе. Свой квадр не хочу разбирать - стараюсь летать как можно чаще, пока погода нормальная. По поводу карт - у меня планшет и прога ez-gui. Качает карты из интернета а потом кеширует их. Короче где собираетесь летать пооткрывайте те места. Они подгрузятся и можно без интернета там летать. Я так и сделал у себя.

SergDoc

Мой тестовый полигон с неба спалили 😃

VitaliyRU
oleg70:

Как раз теперь понятно. Вы хотите мерить обороты двигателей и брать эти показания для управления. Но тут (чисто мое мнение) будет скорее всего “маленькая” бяка, дело в том что: обороты и тяговое воздействие не связаны между собой линейно из за аэродинамических свойств винта

Кароче не проканало, как я хотел. Мнимые обороты/тяга моментально расплываються с реальными. Хоть и заложил что бы эти вещи сходились(реальная тяга и расчетаная) - нифига. Надо мерить реальные обороты. Но мне че та лень, объем работы великоват. Но фундаментальную задачу для меня это решило вплане понимания процессов(перерегулирование добро а не зло, надо только его контролировать, линейное демпфирование Р зло, будем пробовать регрессивное демпфирование.
Вот этим навеяно c 0:30

Если сравнивать с автомобилями, коптеры находятся на этапе 70х годов прошлого века. Линейная характиристика демпфирования, живыми мы и не сдадимся 😃

SergDoc

C Uart-ом в релизе всё нормально - задержек нет, это я сам себе придумал т.к. пользуюсь Baseflight GUI - это бяка в гуи с тормозом пакетов, да и по ходу пропуском этих самых пакетов, в вийном и win gui всё нормально 😃
и вот как быть? делать себе ещё и gui - это я наверняка не потяну, в wingui есть терминал - ну даже фиг с ним что в ручную все параметры вводить, но там нету ввода точек маршрута (с высотой и т.п.) - можно конечно и через cli - но это уже хардкор получается - в общем карты и cli смотрю пока через basefligt gui остальное через win gui 😦

SergDoc

Новая пачка пропов засветилась на горизонте таможне - ураа можно будет тестить по полной не боясь сломать 😃

SergDoc

провёл эксперимент - wingui скачал карты нужного района(там кнопочка есть), подсунул их baseflight gui всё пошло без тырнета 😃 , а вот сообщение без него не отсылается на форум как ни странно 😃

oleg70
VitaliyRU:

Кароче не проканало, как я хотел.

Имейте ввиду: если сделаете рабочую модель без ПИД, это как минимум диссертация…😃

VitaliyRU
oleg70:

Имейте ввиду: если сделаете рабочую модель без ПИД, это как минимум диссертация…

я это в руках держал еще в институте(двигатели ориентации спутника), просто скажут - чувак МАИ закончил 😃))

rual
oleg70:

если сделаете рабочую модель без ПИД,

Не получится. что есть ПИД? Пропорционально-Интегрально-Дифференциальный регулятор, т.е. управляющая система (СУ) формирующая управляющее воздействие(УВ) на объект управления (ОУ) исходя из совокупности текущего значения ошибки(П), суммарной ошибки(И), и тенденции изменения ошибки (Д). И чтобы вы не использовали для управления ОУ (аналоговый вычислитель, нелинейное управление, нечеткую логику, дискретный автомат, экспертную систему и т.п. ) ВСЁ равно будет обратная связь и будет компенсация этих 3х (ПИД) составляющих (или большего количества для звена второго и следующих порядков). Всё равно будет отрицательная обратная связь (ООС) по ошибке управления. То есть всё равно будет ПИД (П,ПД,ПИ,П2ИД или ПИ2Д). Кста в КУКе просто Д-регулятор.
kurs.ido.tpu.ru/courses/tay/…/glv_3_page_1.html

коптер в стабилизации по горизонту инерциальное звено первого порядка с запаздыванием.

VitaliyRU
rual:

Не получится. что есть ПИД? Пропорционально-Интегрально-Дифференциальный регулятор, т.е. управляющая система (СУ) формирующая управляющее воздействие(УВ) на объект управления (ОУ) исходя из совокупности текущего значения ошибки(П), суммарной ошибки(И), и тенденции изменения ошибки (Д). И чтобы вы не использовали для управления ОУ (аналоговый вычислитель, нелинейное управление, нечеткую логику, дискретный автомат, экспертную систему и т.п. ) ВСЁ равно будет обратная связь и будет компенсация этих 3х (ПИД) составляющих (или большего количества для звена второго и следующих порядков). Всё равно будет отрицательная обратная связь (ООС) по ошибке управления. То есть всё равно будет ПИД (П,ПД,ПИ,П2ИД или ПИ2Д). Кста в КУКе просто Д-регулятор.

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

mataor

кстати… где-то уже проскакивало… для тех кто любит SPI компас с оным и термостабилизацией HMC5983…

oleg70

Кто подскажет где взять формулы/инфу для вычисления азимута по магнитометру (с коррекцией наклона)???
Апноут с теорией от LSM у меня есть, но что то дико врет на практике, или там не все написано, или я не разобрался…
У MARG FreeIMU обнаружил “неприятный момент”: при низком коэфициенте усиления коррекция курса происходит ужасно медленно, а при высоком сильно вылазят линейные ускорения акселя…
Хочу курс сделать отдельно, чисто по магнитометру (ось Z гиры не задействовать и не корректировать) , а от FreeIMU оставить только крен и тангаж.
Помогите инфой пожалуйста…

rual
oleg70:

Кто подскажет где взять формулы/инфу для вычисления азимута по магнитометру (с коррекцией наклона)???

Поворачиваете вектор магнитометра к мировой СК и отбрасываете или компенсируете ось Z, угол равен atan2 (Y,X).

oleg70:

Хочу курс сделать отдельно, чисто по магнитометру (ось Z гиры не задействовать и не корректировать)

Очень зря, ДУС самый качественный датчик бесплатформенных ИНС.

SergDoc
oleg70:

ось Z гиры не задействовать и не корректировать

нее лучше наоборот: гира - основное, коррекция по компасу!

oleg70
rual:

Очень зря, ДУС самый качественный датчик

Как же быть, тогда? Проблема налицо…, отказываться от кватернионов (и самой FreeIMU) - не хочу, а “повысить коэфициент” коррекции магнитометра в алгоритме “fusion” отдельно от акселя, - боюсь ума не хватит…

rual
oleg70:

Как же быть, тогда? Проблема налицо…, отказываться от кватернионов (и самой FreeIMU) - не хочу, а “повысить коэфициент” коррекции магнитометра в алгоритме “fusion” отдельно от акселя, - боюсь ума не хватит…

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

SergDoc

Я наконец-то разобрался с ПИД (стандартным вийным) и временем цыкла 😃, а зависимость очень сильная - экспериментировал с интегральной составляющей, так вот - при уменьшении времени цикла - коптер с одной стороны становится вроде послушней, но это на первый взгляд, начинается жуткий расколбас на спуске. увеличиваем i расколбас пропадает но и коптер начинает таскать по сторонам - не интересно ибо увеличивать пропорцию получим перерегулирование (небольшое но есть - подёргивает лучами, из-за этого небольшого подёргивания и экспериментировал)
Что получилось (имеется в виду для моей конфигурации, приедут пропы думаю придётся менять)
цикл 3000 (надо попробовать ещё 2500 - 400Гц)
фильтр гир 42Гц
P - 3.5 I-30 D-40 (с 11 пропами пропорция будет выглядеть лучше, 12-е великоваты для этой рамы)
level P-9 I-10 D-100
acc_lpf_factor = 20; по ощущениям вообще можно убрать (с LSM ставил 100 😦 ), ну тут как ещё на AX(удержание высоты) скажется надо проверять.
Коптер ведёт себя отлично - можно комаров отгонять по телефону попиликать, и главное нету этих противных подёргиваний паралетических(примерно раз в секунду - полторы, милиметров 3-7 на глазок) , правда сегодня на посадке чуть в лицо себе не посадил блин - соседка с дочкой подсунулась на посмотреть блин под самый коптер😵 ничего никто не пострадал, но блин надо искать новое место для полётов - слишком многим становится интересно… скорей бы уже в деревню 😃
а да в первый раз после прошлогоднего (весеннего) краша повернул коптер мордой к себе, до этого боялся, ручки-то оказывается помнят 😃

Это про стандартную прошивку - та, что лежит в гит - релиз…