Optical Flow + MultiWii

alexmos

Подключили ADNS-3080 но пока не фурычит. Он работает от 3.3в, может есть специфика подключения к 5-вольтовой ардуине? В датащите пишут что это допускается, но с условиями:

“SCLK, MOSI, and NCS may be
driven directly by a 3.3V output from a micro-controller,
or they may be placed in an open drain configuration by
enabling on-chip pull-up current sources. The open drain
drive allows the use of a 5V micro-controller without any
level shifting components”

Я ничего не понял 😦

Dimm168pin
alexmos:

Подключили ADNS-3080 но пока не фурычит. Он работает от 3.3в, может есть специфика подключения к 5-вольтовой ардуине? В датащите пишут что это допускается, но с условиями:

“SCLK, MOSI, and NCS may be
driven directly by a 3.3V output from a micro-controller,
or they may be placed in an open drain configuration by
enabling on-chip pull-up current sources. The open drain
drive allows the use of a 5V micro-controller without any
level shifting components”

Я ничего не понял 😦

странно , вроде написано что может работать от 5 вольт без всякого llc

выдергал даташит, не понял что там за serial port такой

19 days later
mahowik

ух! спаял сегодня оптфлоу борд на ADNS-5050 + запилил напильником до смерти старую веб камеру, дабы присобачить ее глазик к борду 😃
пока не летал, но морду лица удалось сфоткать через mousecam

19 days later
Dimm168pin

может такое собрать?, приехал мне 5050, сижу его смотрю )
или сразу совместить с гпс?

mahowik

Т.е. adns5050 на i2c повесить? Думаю оссобо нет смысла т.к. он на любые датапины легко вешается…

Dimm168pin
mahowik:

Т.е. adns5050 на i2c повесить? Думаю оссобо нет смысла т.к. он на любые датапины легко вешается…

ну вроде как один фиг, попробую сначала так)

alexmos
Dimm168pin:

может такое собрать?,

Это уже выше моего понимания 😃 А насчет совмщения с GPS - вполне реально: чтобы не загружать основной проц, всякие фичи типа gps, сонара и оптического сенсора, лучше выносить на другой. Но проблема в том, что для обсчета нужны прочие данные типа высоты, ускорнения, угла. Получается надо между двумя мозгами это гонять. Насколько быстрая I2C, будет ли тут профит?

Dimm168pin
alexmos:

Это уже выше моего понимания 😃 А насчет совмщения с GPS - вполне реально: чтобы не загружать основной проц, всякие фичи типа gps, сонара и оптического сенсора, лучше выносить на другой. Но проблема в том, что для обсчета нужны прочие данные типа высоты, ускорнения, угла. Получается надо между двумя мозгами это гонять. Насколько быстрая I2C, будет ли тут профит?

ну соответсвенно и моего , ибо собрать железо это пол беды, а заставить его работать в смысле накодить под него это уже выше моего понимания))

вот еще чего, был на рынке в поисках линзы, нашел лазер брелок за бакс, и вспомнил что у меня в мыльнице sony dsc v1 есть вот такая чудесная фича для фокусировки в полной темноте,

снято в полной темноте, к слову снята сетка на 5DII который вечером уже шуршит объективом и нифига не фокусируется, а по этой сетке аж бегом) ума не приложу почему так не делают везде)
взял брелочек этот, поставил 30 сек выдержки , и вот

я к тому что а если замутить штуковину как на концертах рисует? колесико, на нем 8 зеркал которое крутится и серва постоянно расшатывает, ночью будет до пары метров зарисовывать квадрат скажем 1,5x1,5 метра

Dimm168pin

развел печатку под это дело ,

вытравлю,проверю, посмотрю на удобность , если ок выложу файлик под ЛУТ

mahowik
Dimm168pin:

развел печатку под это дело

тут еще надо закладываться на крепление линзы, причем той которая есть в наличии…

вот мой хардкор, где в качестве макетки платка от мышки с другим сенсором, который успешно удален, дорожки перецарапаны + добавлен навесной монтаж…
из того что под руками было одним словом ))

alexmos
mahowik:

тут еще надо закладываться на крепление линзы, причем той которая есть в наличии…

Ага, самое главное камеру найти и притулить, а сам сенсор и разводить особо не надо, на монтажке за 10 минут все разводится.

Dimm168pin:

я к тому что а если замутить штуковину как на концертах рисует? колесико, на нем 8 зеркал которое крутится и серва постоянно расшатывает, ночью будет до пары метров зарисовывать квадрат скажем 1,5x1,5 метра

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

Dimm168pin

запаял к ардуине потестить и подобрать линзу,

скачал архив с mousecam , оно мне выдало

винда как обычно 7x64 на которой ничего не работает)) просто пробовать другую винду?)

UPD ,разобрался
под win 7x64 нужно скачать отсюда либу
и растолкать по папкам как-то так

mahowik

пока рылся в закладках своих ты уже и нашел 😉

Dimm168pin
mahowik:

пока рылся в закладках своих ты уже и нашел 😉

на multiwii форуме нашел ссылку от товарища LuFa, ну а там уже дальше порылся и нашел под это чудо майкрософта))
по сложившейся традиции фото на сенсор 😃

оно в сборе с чуть подпиленым объективом от ip камеры dlink dsc 910

Печатка в lay
adns_5050_dimm168pin.zip

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

Dimm168pin

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

mahowik
Dimm168pin:

оно в сборе с чуть подпиленым объективом от ip камеры dlink dsc 910

ух ты! ты чё резьбу прям в текстолите нарезал?! реальна крута! 😉

Dimm168pin:

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

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

субъективно стало света больше на 30-50%, т.к. в деталях лица появилось больше оттенков… НО появился явный недостаток сразу. пыль попадает на сенсор и появляется эффект битых пикселов на матрице, что видно в mousecam, не знаю будет ли это мешать сенсору правильно распознавать движение…

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

и еще вопрос Алексею: подбирал знаки сенсоров и разбирался по коду… для правильной компенсации переменные optflow_pos[ROLL] и optflow_pos[PITCH] должны быть положительными при движении вправо и вверх?

Dimm168pin
mahowik:

ух ты! ты чё резьбу прям в текстолите нарезал?! реальна крута! 😉

Да нет, оно прекрасно село на супер клей) линза легкая ибо корпус пластик)

субъективно стало света больше на 30-50%, т.к. в деталях лица появилось больше оттенков… НО появился явный недостаток сразу. пыль попадает на сенсор и появляется эффект битых пикселов на матрице, что видно в mousecam, не знаю будет ли это мешать сенсору правильно распознавать движение…

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

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

Ну для алтхолда чего надо? у меня просто аксель и все, но по высоте оно плавает постоянно ибо ни сонара ни баро нету, и аксель 345ый не калиброваный по всем осям.

Конечно могу по быстрому все повесить , только платку для баро сваять надо, все руки не доходят)

если что трешка моя на твоей 1.9а2

www.youtube.com/watch?v=9D4j5IYN8LI&list=UUVYE1SBV…

гира 3205 аксель 345 и компас

может и так хватит?)

mahowik

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

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

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.

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