Optical Flow + MultiWii

Dimm168pin
mahowik:

Попробуй, но из наблюдений optflow алгоритм слегка раскачивает коптер в процессе стабилизации и высота начинает плавать сильнее…

Кроче облетал сегодня еще раз, после косметического ремонта. Заменил мотор, откалибровал моторы, потом пропы новые с рцтаймера… врубил альтхолд на высоте метра по сонару, затем поз.холд. Обрадовался! Работает! Решил заснять на мобилу, а коптер как газонет на метров 5 вверх, пока сорентировался, коптер уже летел в тачку припаркованную… успел только газ сбросить… погнул луч и наверное подпортил мотор, т.к. вернулись вибрации и даже в акро не смог справляться после мелкого ремонта на месте…
Завязываю кроче с альтхолдом по акселю… сил нет больше ((

вот блин, а беда с чем?, с акселем что его дернуло вверх? у меня так кроля уносило с сонаром, при переходе на барометр сразу за 2м начинался потихоньку набор высоты и выстрел пулей где-то на 3ех 4ех метрах , пока в пол газ не опустишь контроль не возвращался. gps тоже хотел прикрутить , валяется уже недели с 2 3339 без дела.

mahowik

Беда с тем что для альт холда по баро+аксель нужен хорошо демпфированный от вибраций и желательно калиброванный повсем осям аксель. И после косм. ремонта вроде как все было гут, но вот беда… кроче придется поверить и подружиться с алт холдом по баро онли, который в оф. 2.0 версии и выше. На оф. сайте много отзывов хороших. Ну и может подрубить туда же сонар из Алексеевского алгоритма…
А про гпс в вий самое время… почитай вий ветку тут + я там кидал ссылки оф. сайт…

alexmos

Извините, долго отсутствовал. По альтхолду - в общем то для оптического сенсора он не нужен - нужно только примерно знать высоту, т.к. она участвует в формуле рассчета. Барометр тут обязателен. У меня и без альтхолда позицию держит, и при подруливании высота не проседает (ещё одна доработка THROTTLE_ANGLE_CORRECTION).

По поводу нахождения осей - по ГУИ (OF_DEBUG включить) надо на графиках посмотреть, при каком движении куда идет компенсация. Ещё желательно точно указать оптическую силу линзы OF_FOCAL_DIST Проверить можно так: двигать сенсор над хорошо освещенной контрастной поверхностью, добиться устойчивого отклика в ГУИ (debug4 - управляющий сигнал на выходе алгоритма после PID). А потом не двигать, а наклонять вокруг оси сенсора. Отклик на моторы должне быть равен 0 (т.е. алгоритм компенсирует наклоны, но не регистрирует сдвиг). Если есть выбросы в + или - , значит или поверхность недостаточно хорошо “цепляет”, или указано неправльное значение для линзы, надо подбирать.

mahowik:

Беда с тем что для альт холда по баро+аксель нужен хорошо демпфированный от вибраций и желательно калиброванный повсем осям аксель.

Это верно 😃 Аксель штука капризная, но вот только по барометру тоже не сильно удержишь во всех условиях - человек на оф. форуме долго с ним возился, но остался недоволен, говорит аксель все таки нужен… Надо ставить более точный барометр, GPS и вместе с акселем все это сливать Калманом - тогда будет нормально, но это только на STM32.

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