Optical Flow + MultiWii
Попробовал включить зависимость от качества поверхности - чет совсем плохо стало, колбасит теперь в три раза сильнее. Думаю, потому что показатель качества очень сильно скачет, его надо сильно сглаживать. В общем пока все улучшения работают хуже, чем первая версия.
А ещё сегодня случился неприятный краш - коптер был в паре метрах от земли и в 5 метрах от меня, вдруг его начало закручивать по YAW и пошел резкий набор высоты. На 6-ти метрах сбросил газ в ноль, его крутануло, и об асфальт. Из потерь луч (ну это я из дерева за 5 минут вырезал), и пластиковый контейнер. А это хуже, т.к. его крышка была несущей для всей электроники. Буду придумывать новую защиту, контейнеры в топку. Он то спас мозги, но вот переделывать весь монтаж при каждом краше никакого желания.
в пенопласт? я на вертикальной сверлилке гопру запаковал, 30мм толщина, в ней на глубину 15мм выфрезеровал по контуру в размер, пробурил дырку для объектива и , с 100 метров упало об железяки, хоть бы что) рама в узлы (люминиь 12x10)
З.Ы полистирол всмысле, серый такой, не ломается на шарики, а просто сменается, сильно жестче обычного белого.
соберу вия наверно тоже под платки сделаю такой “черный ящик”
в пенопласт? я на вертикальной сверлилке гопру запаковал, 30мм толщина, в ней на глубину 15мм выфрезеровал по контуру в размер, пробурил дырку для объектива и , с 100 метров упало об железяки, хоть бы что) рама в узлы (люминиь 12x10)
З.Ы полистирол всмысле, серый такой, не ломается на шарики, а просто сменается, сильно жестче обычного белого.
соберу вия наверно тоже под платки сделаю такой “черный ящик”
Я долго вертел в руках выжившую крышку от контейнера и так не смог придумать как её притулить и закрепить на раму 😃 Полистирол это хорошо, но его надо где то найти, потом как-то обточить и высверлить нужное углуление. В общем не на один день занятие. Зато можно красивую мордашку выточить и раскрасить.
У меня есть пачка потолочной плитки, что если из нее склеить? Криво косо конечно получится но клеить проще чем фрезеровать.
Я долго вертел в руках выжившую крышку от контейнера и так не смог придумать как её притулить и закрепить на раму 😃 Полистирол это хорошо, но его надо где то найти, потом как-то обточить и высверлить нужное углуление. В общем не на один день занятие. Зато можно красивую мордашку выточить и раскрасить.
У меня есть пачка потолочной плитки, что если из нее склеить? Криво косо конечно получится но клеить проще чем фрезеровать.
вырезал под гопру минут за 10 две половинки) если нет вертикальной сверлилки, можно гравер или дрель как-то вертикально закрепить и все, эффект тот же) скрепил две половинки на гопре канц резинкой, из потолочки можно но она менее плотная, хотя при краше мозги точно должны выжить, а продается полистирол на всех строй рынках и магазинах, я далеко не в столице, но наличествует он на каждом углу практически.
Спасибо, сегодня был проездом в строймаге, пощупал этот полистирол и купил лист (60мм толщиой) Он отлично режется канцелярским ножом, так что думаю без сверлений вырежу (в квартире особо не пофрезеруешь 😃 )
Пришла посылка с ca.digikey.com
Быстрые ребятки однако! 3-4 дня и парочка ADNS-5050 уже ждут опытов 😃 Доставка правда вышла чутка дороже (8$) чем 3 сенсора, но в принципе учитывая скорость доставки очень даже рад 😃
Правда через пару дней еду в отпуск, так что мот и не успею покрутить…
Хороший магазинчик, не знал про него 😃 А линзу какую поставишь?
Я так и не смог прдумал как прикрутить глазок от камеры. Не покупать же камеру ради линзы и держателя с резьбой 😃
Надеюсь завтра потестить прошивку, в которой поисправлял много чего (последние мои ревизии лучше не тестить, больно криво летает с optical flow)
Ну это скорее мега монстр, крупнейший диллер по продаже радиодеталей, с кучей филиалов по всему миру www.digikey.com/us/en/International/global.html ток доставка в Рашу дорого наверное
встанет…
Не поверишь, я уже хожу вокруг камерки своей с соблазном выдрать из нее глаз 😄. Либо лазерную указку копеечную прикупить и ее разобрать. Далее посадить линзу на 3-4 винтика по периметру, чтобы фокус хоть как накрутить можно было…
Пришла посылка с ca.digikey.com
Быстрые ребятки однако! 3-4 дня и парочка ADNS-5050 уже ждут опытов 😃 Доставка правда вышла чутка дороже (8$) чем 3 сенсора, но в принципе учитывая скорость доставки очень даже рад 😃
Правда через пару дней еду в отпуск, так что мот и не успею покрутить…
ага , пытался однажды там купить bma180 ) доставка до украины 120$ ))
Нехило… по Канаде вроде как если заказ более чем 200$, доставка бесплатно…
ага , пытался однажды там купить bma180 ) доставка до украины 120$ ))
Здесь появились такие датчики
Здесь появились такие датчики
да уж, 14 баксов это весело, он везде по 5 ), для разнообразия возьму наверно напопробовать lsm330 там же)
оффтоп ) там еще появились вот такие блу тач модули
😂
Если ADNS-5050 по России доставлять - то в Элитане он есть недорого и доставка вменяеая… только долго доставляют
забыл написать… ранее когда код смотрел, заметил что vel[axis] не обнуляется… не знаю это баг или фича ))
по идее когда стики в деадбенде и getEstHVel() интегратор начинает новый цикл возврата в точку, то надо занулить vel[axis], т.к. если небыло остановки коптера и к примеру начали новый маневр, то vel[axis] будет равен остаточной скорости от пред. цикла…
и отсюда второй не совсем ясный момент: т.к. getEstHVel() интегратор начинает новый цикл возврата когда стики в деадбенде, то скорость через ускорение (в начале цикла возврата) будет равна нулю, хотя она не ноль совсем… т.е. тут мы опираемся на скорость ОФ сенсора и через компл. фильр приходим к правильному значению?
А ещё сегодня случился неприятный краш - коптер был в паре метрах от земли и в 5 метрах от меня, вдруг его начало закручивать по YAW и пошел резкий набор высоты.
ты вроде как заимплементил корректировку на ветер (т.е. I-чаcть) через вращение векторов, мот там косяк какой…
забыл написать… ранее когда код смотрел, заметил что vel[axis] не обнуляется… не знаю это баг или фича ))
по идее когда стики в деадбенде и getEstHVel() интегратор начинает новый цикл возврата в точку, то надо занулить vel[axis], т.к. если небыло остановки коптера и к примеру начали новый маневр, то vel[axis] будет равен остаточной скорости от пред. цикла…и отсюда второй не совсем ясный момент: т.к. getEstHVel() интегратор начинает новый цикл возврата когда стики в деадбенде, то скорость через ускорение (в начале цикла возврата) будет равна нулю, хотя она не ноль совсем… т.е. тут мы опираемся на скорость ОФ сенсора и через компл. фильр приходим к правильному значению?
Я вообще удивлен что алгоритм заработал сразу - там ошибка на ошибке. Я сейчас много чего переделеал. И попробовал вообще без ускорения и интегратора - работает практически так же, т.е. на комнатных тестах разницы не видно. Поэтому отключил ускорение вообще, и заменил его на LPF.
Но тут ты прав - когда режим не задействован, вычисления не идут, и в LPF тоже висит накопленная перед выходом из режима скорость. Но это мне кажется не критично - примерно секунда нужна, чтобы скорость приняла текущие значения при включении режима. Я бы сделал сброс этой переменной, но это усложнит код - так как выход и вход в режим определяется в MultiWii.pde, а вычисления в IMU.pde.
По второму вопросу - если убрать ускорение, то эта проблема тоже решается. Вообще все эти переходные процессы при входе в режим длятся мало и это не столь критично при больших скоростях - там все равно разброс результатов корреции до десятка метров. А вот при подруливании на месте могут вылезать эти пороговые эффекты. Ну это будет видно на тестах. В комнате я на площади в 2 метра им подруливал в том режиме - контроль достаточно хороший.
Оказывается, Flymentor использует примитивный оптический сенсор от мышки, с большой долей вероятности это ADNS-2610. rcopen.com/files/4c32fe669970730077ccdbec
Так что его можно подключить к моему алгоритму, нужно немного дописать чтение/запись и работу с регистрами. Если у кого есть такая железка и есть желание попробовать, напишите.
Судя по картинке - выводы такие:
Yellow - SCK
White - SDIO
Red - +5V
Black - Ground
Подключили 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”
Я ничего не понял 😦
Подключили 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 такой
может такое собрать?, приехал мне 5050, сижу его смотрю )
или сразу совместить с гпс?
Т.е. adns5050 на i2c повесить? Думаю оссобо нет смысла т.к. он на любые датапины легко вешается…
Т.е. adns5050 на i2c повесить? Думаю оссобо нет смысла т.к. он на любые датапины легко вешается…
ну вроде как один фиг, попробую сначала так)