Кому лимон?
Коллеги, а поделитесь, если не жалко, информацией…
А как вы NUC питаете? Или он свои 19 вольт только по паспорту хочет, но и от 12 работает? Я что-то уперся в одноядерный atom, не хватает (USB уперлось в пропускную способность, блин, а там только один контроллер, да и обработка xtion+оптика очень проц хочет)… У КРОКа в техкарте вижу, что 4S1P, но там 19 вольт ±10% nuc-овских трудно достать простым способом…
В ответ готов рассказать свои приколы на тестовых полетах, и вообще спалить общую идею (уже можно 😃
– Команда: Икар-Москва, большой гекс (3+ кг), AeroQuad, OpenCV, PCL и т.п. 😃
Nuc работает от 19 до примерно 11в (проверялось),
Батарея 4S дает от (4*4.2=16.8 до 4*3=12в).
Другими словами, если на батарее не будет просадок ниже 11в,
то NUC будет работать. Это в теории, но я на практике не проверял
вертолет с 4S, т.к. у меня борт от 3S питается.
Плохая батарея 4S запросто может и ниже 11в дать, если скажем по 2.5 на банку,
то будет 10в. Это может быть кратковременная просадка,
но нуку это уже не поможет, он вырубится.
Мой нук питаю через вот такую штучку
www.dimensionengineering.com/products/anyvolt3
от 3S.
Она конечно тяжеловата (радиатор большой), но всю зиму летал на ней,
и сейчас летаю, нареканий нет.
Напряжение на энивольте3 выставлено 12в.
Ну так получилось, что раньше был не нук,
а другая атомная плата, которая хотела 12в.
Но выставлять другую напругу так и не стал.
Т.е. нук у меня очень стабильно работает от стабилизированных 12В
Пару раз батарея садилась очень сильно, до 7в… это 3 банки то,
но энивольт3 все равно работал и нук был жив, что позволило
аккуратно выключил windows.
В общем, если бы летал на 4S, то питал бы нук напрямую от батареи.
Но сейчас уже поздно экспериментировать с питанием, да и неохота чего-то 😃
Nuc работает от 19 до примерно 11в (проверялось)
Вот спасибо за информацию 😃 Днем расскажу обещанное. Для начала будет - про взлет гексы с ускорением 5g, полный газ 4-х моторов, остальные в холостом ходе 😃
Для тех, кто не прошел контрольную точку №3, но тем не менее хочет участвовать в этом замечательном действии, одна московская команда предлагает сотрудничество. Особо интересует вопрос распознавания крестов, включая аппаратную часть. Но и по остальным вопросам помощь будет не лишняя. Пишите сюда av435070@comtv.ru Всем успехов! Александр.
Мой нук питаю через вот такую штучку
Мы примерно так же, по ссылке описано - rcopen.com/blogs/120916/16447
Хотя от 4S можно и напрямую.
Как обещал, для начала рассказываю, палясь…
-
AeroQuad. Прост, как валенок. С датчиков снимать данные умеет, стабилизация - на pid-ах. Есть 2 режима: rate (нам не интересен, это стабилизация только по гиро), и attitude - там 2 pid-а, сначала аналогично rate по гироскопу, потом еще по акселерометру. По управлению - в случае rate с пульта стиками задаешь, насколько быстро менять положение, а attitude - к какому положению прийти. Ну это должно быть всем понятно…
-
Внешнее управление AeroQuad: прошивка допиливается так, чтобы, если нужная ручка пульта (Aux2) в нужном положении - борт реагирует на команды с serial-а. Команды - в точности как с пульта в режиме attitude, кроме частных случаев для прямого управления газом (взлет-посадка).
-
PX4Flow. Своеобразная штука. Внутри - говнокод детектед 😃, в удивительном количестве. Самая большая проблема - это синхронизировать импульсы сонаров, чтобы они друг другу не мешали (у меня нижний на px4flow, и еще 4 по кругу). Веселая задача, уже много вариантов попробовал, один px4flow замучал, хорошо, что запасной был.
Теперь про обещанные приколы…
Перестарались с газом на взлете. Борт ушел “в небеса”, метрах на 10 успели перекинуть в ручной режим, но газ добавить не успели. Упали на крышу гаража. Минус 2 луча, минус страховочное шасси. Моторы целы, лучи поменяли.
Начал разбираться… По телеметрии - на полном газе были 1, 2. 4, 5 моторы. 3, 6 - на холостом. Странно, да? Четное количество багов 😃
* Баг первый - полетный контроллер ждал от вычислителя команды по тангажу/крену в диапазоне [-500, 500], а вычислитель выдал нейтраль не 0, а 1500. Борт сильно захотел направо вниз…
* Забавный race-condition в удержании курса привел к тому, что борт так же сильно захотел влево вверх.
Как эти все размышления суммировались на выдаче к моторам - можно угадать 😃
Особо интересует вопрос распознавания крестов, включая аппаратную часть.
Оно вам точно надо? Забейте на них. (Старинная русская пословица про забивание хххх: Конец - делу венец.) Мы вот вовсе собирались летать не по крестам, а по статистике наименее цветных точек в кадре, причём только тех, которые ниже линии горизонта. Для этого проца сотового телефона (ARM7) с VGA-камерой достаточно. Полуоси эллипса элементарно вычисляются, из них - удалённость и высота. Только вот придётся учить дроналёт летать “по памяти”, потому что при частичном выходе эллипса за кадр сами понимаете, что будет. Ещё минус, что в какой-нть солнечный зайчик может улететь. Но при матовых поверхностях нормально будет. “Мне кажется, что это совершенно точно”.
PS: не надо меня слушать, только немножко прислушайтесь. Я не гуру, я ещё пока полугурок.
У меня тоже баги были. Вот стою однажды на аэродроме рано (часов в 6 утра).
Летаю… смотрю только на вертолет (там габаритные огни зажигаются в соответствии
с командами - визуальный дебаггер).
И чувтсвую, не один стою… быстро взгляд влево - никого, вправо - никого,
обернулся - никого… потом вниз глянул - собаченция сидит и тоже пялится на вертолет.
Бездомная дворняга походу, прошла на баскетбольную площадку незаметно.
Баг поправил, купил металлическую цепочку и закрываю калитку,
все остальное огорожено забором… а то мало ли кто еще сунется под пропы…
Если не хватает вычислительных мощностей. Вот меня slvn поправлял, что не =mh, a =mgh. Всё так, только приходится изгонять всякие константы из вычислительных формул. Потому что в качестве “спинного мозга” стоит 8-мегагерцовый PIC-контроллер, при такой тактовой ни о каком БЫСТРОдействии не может быть и речи. Вообще-то выбрать правильный формат для хранения и обработки данных очень важно. Был у меня случай, я медицинский прибор делал на PIC12F675, маленький восьминог такой. Я ему программу на ассемблере писал. Пишу, пишу, у меня стихами получается. На ассемблере. Стихами. Ага. Коллега говорит, а подпрограммы использовать религия не позволяет? Я говорю, задача слишком реалтаймовая, а тут - погружение в подпрограмму, выгружение из подпрограммы… Такты лишние расходовать не хочу. Нуну, говорит. А потом конкуренты у нас этот приборчик передрать попытались. Схему скопировали, а программа в микроконтроллер не заталкивается, хоть убейся. Невдомёк было людям, что вычисления с фиксированной точкой ведутся. У них если не целое, значит - плавающее. И с АЦП 10-разрядного программно 14разрядов получалось накоплением, и финальное деление результата(с нормализацией) в фоне шло раундами. Развращённые вычислительными ресурсами программисты через такое игольное ушко пролезть не смогли. Вот прикиньте, программист на работу придёт устраиваться, и спросит:
У вас здесь до меня программисты работали, они куда все делись?
Они все сошли с ума.
Все-все???
Все-все!!!
на пике если что можно воткнуть чип с поддержкой usb (18f2550/18f4550),
они в диповых корпусах на тактовой 48мгц работают.
USB при этом можно не пользовать (проверено), а частота все равно 48мгц.
Для тех, кто не прошел контрольную точку №3, но тем не менее хочет участвовать в этом замечательном действии, одна московская команда предлагает сотрудничество. Особо интересует вопрос распознавания крестов, включая аппаратную часть. Но и по остальным вопросам помощь будет не лишняя.
Вопрос организаторам: не нарушает ли правила помощь команде без формального членства?
Вопрос организаторам: не нарушает ли правила помощь команде без формального членства?
Не нарушает. И даже приветствуется.
Нас серьезно напрягает крайне низкая активность по пробным полетам. Мы всерьез опасаемся ситуации, когда конкурсное задание сможет выполнить 1-2 команды вообще. Или вообще никто…
Поэтому объединяйтесь и кучкуйтесь…
Или вообще никто…
Вопрос как раз по этому пункту. Если вдруг ни одна команда не сможет выполнить задание в полном объеме, будет ли усложнение задания на следующий год как планировалось?
Или вообще никто…
и что тогда делать с главным призом? может приплюсовать к следующему?
Вопрос как раз по этому пункту. Если вдруг ни одна команда не сможет выполнить задание в полном объеме, будет ли усложнение задания на следующий год как планировалось?
В этом случае кардинального усложнения точно не будет, будут все те же элементы, может поменяется размеры-вид-форма чего то на более удобное для организатора и участников. Ну и вместо одной перегородки будет две, например. Я про то, что никаких новых элементов задания в таком случае не будет.
и что тогда делать с главным призом? может приплюсовать к следующему?
В IARC приз увеличивают, но у нас приз и так больше, а задания значительно проще. Думаю что нет. По крайней мере это моя личная точка зрения на данный момент…
Если вдруг ни одна команда не сможет
Вообще мы сейчас думаем над следующей проблемой. Наш собственный опыт, и наблюдение за немногочисленными попытками участников показали, что все, как-то отлаженное вне конкретного полигона, на конкретном полигоне не работает. Другие покрытия, фактуры, размеры, освещенность, …
Например, у одного участника из 10 попыток “перепрыгнуть” между двумя площадками успешными оказались только 2. Площадки были на расстоянии 5 метров, никаких коридоров-перегородок.
Так вот, если у участников не будет доступа к финальному полигону хотя бы на час-два-три для отладки и настройки датчиков-систем-алгоритмов и пробных полетов до зачетных полетов, то мы считаем шансы ВСЕХ участников близкими к 0.
“Универсальное” ПО, которое сможет работать в произвольных условиях, никто создать не успеет.
Если это не так, опровергните меня…
…объединяйтесь и кучкуйтесь…
Пальцы, сжимайтесь в кулак! Ну что же вы в фигу-то сжимаетесь…
Господин Добровольский, может быть, отменить КТ4 как условие дальнейшего прохождения конкурса? Пусть точка будет просто контрольной, а не “контрольным выстрелом”. Функция отсева команд уже не нужна, финал и так всё покажет. Изменение условий КТ4 сэкономит участникам несколько дней. Может быть, к финалу действительно хоть что-нибудь успеют.
Правила есть правила, отменять КТ4 нельзя.
2Dav: м.б. только после того, если вообще никто в финале не сможет выполнить задание, произвести загон участников на полигон и дать им 2-3 часа на отладку7 И затем повторить зачетные попытки.
Не надо упрощать задание. Даже если никто его не выполнит. Уровень участников и их результат напрямую зависит от “высоты планки”. Вспомните DARPA Grand Challenge - в первый год ни одна команда не выполнила задание (со старта смогло уйти только 8 машин из 15), зато на следующий год всю трассу прошли 5 машин из 23. Если же условия упрощать, то мы так и будем говорить, что “у них там и задания сложнее и команды сильнее”.
В этом случае кардинального усложнения точно не будет, будут все те же элементы, может поменяется размеры-вид-форма чего то на более удобное для организатора и участников. Ну и вместо одной перегородки будет две, например. Я про то, что никаких новых элементов задания в таком случае не будет.
Это очень позитивная информация! Для многих участников это означает в два раза больше времени на отладку своих алгоритмов.
ИМХО, в следующем году ситуация с уровнем участников будет намного лучше.
одна московская команда предлагает сотрудничество. Особо интересует вопрос распознавания крестов, включая аппаратную часть. Но и по остальным вопросам помощь будет не лишняя. Пишите сюда
Собственно, можете воспользоваться моим алгоритмом (github.com/Shulyaka/video). У меня он вполне работает на Seeeduino Mega 2560, и достаточно быстрый, хоть и не настолько надёжный, как OpenCV (наверное). Захват с помощью Video Experimenter Shield и CCD камеры. Демонстрация есть в моей видеопрезентации.
Но достать аналогичную аппаратную часть вовремя я вряд ли помогу, к сожалению. Мой экземпляр ещё нужен мне самому, хотя я вряд ли пройду очередную КТ - я сейчас в командировке, и вернусь всего за пару дней до отъезда в отпуск 😃
Так что можете сами его портировать на ваше железо.
P. S. Сам алгоритм: более-менее “честное” распознавание крестов через распознавание прямых линий. Прямая линия - это закрашенная область, которая вытянута вправо-вверх и влево-вниз гораздо больше, чем влево-вверх и вправо-вниз (или наоборот), причём на диаметре (отрезок из правой верхней точки в левую нижнюю (или наоборот)) не должно быть незакрашенных точек (проверяются только несколько). Если очередная связная область не является крестом - то очищаем её и берём следующую. Как ни странно, результат вполне приличный.
Сам алгоритм: более-менее “честное” распознавание крестов
Очень правильный подход, “чисто алгоритмический”! Распознавание каскадами Хаара (или нейроными сетями))) требует на порядки больше ресурсов, а результат то же.
Сам так же планировал сделать, но “завис” на устойчивости полёта (((