Кому лимон?

bir
askoog:

Nuc работает от 19 до примерно 11в (проверялось)

Вот спасибо за информацию 😃 Днем расскажу обещанное. Для начала будет - про взлет гексы с ускорением 5g, полный газ 4-х моторов, остальные в холостом ходе 😃

Александр_Т

Для тех, кто не прошел контрольную точку №3, но тем не менее хочет участвовать в этом замечательном действии, одна московская команда предлагает сотрудничество. Особо интересует вопрос распознавания крестов, включая аппаратную часть. Но и по остальным вопросам помощь будет не лишняя. Пишите сюда av435070@comtv.ru Всем успехов! Александр.

Dav
askoog:

Мой нук питаю через вот такую штучку

Мы примерно так же, по ссылке описано - rcopen.com/blogs/120916/16447

Хотя от 4S можно и напрямую.

bir

Как обещал, для начала рассказываю, палясь…

  1. AeroQuad. Прост, как валенок. С датчиков снимать данные умеет, стабилизация - на pid-ах. Есть 2 режима: rate (нам не интересен, это стабилизация только по гиро), и attitude - там 2 pid-а, сначала аналогично rate по гироскопу, потом еще по акселерометру. По управлению - в случае rate с пульта стиками задаешь, насколько быстро менять положение, а attitude - к какому положению прийти. Ну это должно быть всем понятно…

  2. Внешнее управление AeroQuad: прошивка допиливается так, чтобы, если нужная ручка пульта (Aux2) в нужном положении - борт реагирует на команды с serial-а. Команды - в точности как с пульта в режиме attitude, кроме частных случаев для прямого управления газом (взлет-посадка).

  3. PX4Flow. Своеобразная штука. Внутри - говнокод детектед 😃, в удивительном количестве. Самая большая проблема - это синхронизировать импульсы сонаров, чтобы они друг другу не мешали (у меня нижний на px4flow, и еще 4 по кругу). Веселая задача, уже много вариантов попробовал, один px4flow замучал, хорошо, что запасной был.

Теперь про обещанные приколы…

Перестарались с газом на взлете. Борт ушел “в небеса”, метрах на 10 успели перекинуть в ручной режим, но газ добавить не успели. Упали на крышу гаража. Минус 2 луча, минус страховочное шасси. Моторы целы, лучи поменяли.

Начал разбираться… По телеметрии - на полном газе были 1, 2. 4, 5 моторы. 3, 6 - на холостом. Странно, да? Четное количество багов 😃

* Баг первый - полетный контроллер ждал от вычислителя команды по тангажу/крену в диапазоне [-500, 500], а вычислитель выдал нейтраль не 0, а 1500. Борт сильно захотел направо вниз…

* Забавный race-condition в удержании курса привел к тому, что борт так же сильно захотел влево вверх.

Как эти все размышления суммировались на выдаче к моторам - можно угадать 😃

Алфизик
Александр_Т:

Особо интересует вопрос распознавания крестов, включая аппаратную часть.

Оно вам точно надо? Забейте на них. (Старинная русская пословица про забивание хххх: Конец - делу венец.) Мы вот вовсе собирались летать не по крестам, а по статистике наименее цветных точек в кадре, причём только тех, которые ниже линии горизонта. Для этого проца сотового телефона (ARM7) с VGA-камерой достаточно. Полуоси эллипса элементарно вычисляются, из них - удалённость и высота. Только вот придётся учить дроналёт летать “по памяти”, потому что при частичном выходе эллипса за кадр сами понимаете, что будет. Ещё минус, что в какой-нть солнечный зайчик может улететь. Но при матовых поверхностях нормально будет. “Мне кажется, что это совершенно точно”.

PS: не надо меня слушать, только немножко прислушайтесь. Я не гуру, я ещё пока полугурок.

askoog

У меня тоже баги были. Вот стою однажды на аэродроме рано (часов в 6 утра).
Летаю… смотрю только на вертолет (там габаритные огни зажигаются в соответствии
с командами - визуальный дебаггер).
И чувтсвую, не один стою… быстро взгляд влево - никого, вправо - никого,
обернулся - никого… потом вниз глянул - собаченция сидит и тоже пялится на вертолет.
Бездомная дворняга походу, прошла на баскетбольную площадку незаметно.
Баг поправил, купил металлическую цепочку и закрываю калитку,
все остальное огорожено забором… а то мало ли кто еще сунется под пропы…

Алфизик

Если не хватает вычислительных мощностей. Вот меня slvn поправлял, что не =mh, a =mgh. Всё так, только приходится изгонять всякие константы из вычислительных формул. Потому что в качестве “спинного мозга” стоит 8-мегагерцовый PIC-контроллер, при такой тактовой ни о каком БЫСТРОдействии не может быть и речи. Вообще-то выбрать правильный формат для хранения и обработки данных очень важно. Был у меня случай, я медицинский прибор делал на PIC12F675, маленький восьминог такой. Я ему программу на ассемблере писал. Пишу, пишу, у меня стихами получается. На ассемблере. Стихами. Ага. Коллега говорит, а подпрограммы использовать религия не позволяет? Я говорю, задача слишком реалтаймовая, а тут - погружение в подпрограмму, выгружение из подпрограммы… Такты лишние расходовать не хочу. Нуну, говорит. А потом конкуренты у нас этот приборчик передрать попытались. Схему скопировали, а программа в микроконтроллер не заталкивается, хоть убейся. Невдомёк было людям, что вычисления с фиксированной точкой ведутся. У них если не целое, значит - плавающее. И с АЦП 10-разрядного программно 14разрядов получалось накоплением, и финальное деление результата(с нормализацией) в фоне шло раундами. Развращённые вычислительными ресурсами программисты через такое игольное ушко пролезть не смогли. Вот прикиньте, программист на работу придёт устраиваться, и спросит:
У вас здесь до меня программисты работали, они куда все делись?
Они все сошли с ума.
Все-все???
Все-все!!!

askoog

на пике если что можно воткнуть чип с поддержкой usb (18f2550/18f4550),
они в диповых корпусах на тактовой 48мгц работают.
USB при этом можно не пользовать (проверено), а частота все равно 48мгц.

Shulyaka
Александр_Т:

Для тех, кто не прошел контрольную точку №3, но тем не менее хочет участвовать в этом замечательном действии, одна московская команда предлагает сотрудничество. Особо интересует вопрос распознавания крестов, включая аппаратную часть. Но и по остальным вопросам помощь будет не лишняя.

Вопрос организаторам: не нарушает ли правила помощь команде без формального членства?

Dav
Shulyaka:

Вопрос организаторам: не нарушает ли правила помощь команде без формального членства?

Не нарушает. И даже приветствуется.

Нас серьезно напрягает крайне низкая активность по пробным полетам. Мы всерьез опасаемся ситуации, когда конкурсное задание сможет выполнить 1-2 команды вообще. Или вообще никто…

Поэтому объединяйтесь и кучкуйтесь…

pitman
Dav:

Или вообще никто…

Вопрос как раз по этому пункту. Если вдруг ни одна команда не сможет выполнить задание в полном объеме, будет ли усложнение задания на следующий год как планировалось?

LevX
Dav:

Или вообще никто…

и что тогда делать с главным призом? может приплюсовать к следующему?

Dav
pitman:

Вопрос как раз по этому пункту. Если вдруг ни одна команда не сможет выполнить задание в полном объеме, будет ли усложнение задания на следующий год как планировалось?

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

LevX:

и что тогда делать с главным призом? может приплюсовать к следующему?

В IARC приз увеличивают, но у нас приз и так больше, а задания значительно проще. Думаю что нет. По крайней мере это моя личная точка зрения на данный момент…

pitman:

Если вдруг ни одна команда не сможет

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

Например, у одного участника из 10 попыток “перепрыгнуть” между двумя площадками успешными оказались только 2. Площадки были на расстоянии 5 метров, никаких коридоров-перегородок.

Так вот, если у участников не будет доступа к финальному полигону хотя бы на час-два-три для отладки и настройки датчиков-систем-алгоритмов и пробных полетов до зачетных полетов, то мы считаем шансы ВСЕХ участников близкими к 0.

“Универсальное” ПО, которое сможет работать в произвольных условиях, никто создать не успеет.

Если это не так, опровергните меня…

Алфизик
Dav:

…объединяйтесь и кучкуйтесь…

Пальцы, сжимайтесь в кулак! Ну что же вы в фигу-то сжимаетесь…

Господин Добровольский, может быть, отменить КТ4 как условие дальнейшего прохождения конкурса? Пусть точка будет просто контрольной, а не “контрольным выстрелом”. Функция отсева команд уже не нужна, финал и так всё покажет. Изменение условий КТ4 сэкономит участникам несколько дней. Может быть, к финалу действительно хоть что-нибудь успеют.

askoog

Правила есть правила, отменять КТ4 нельзя.

Виктор_Казаринов

2Dav: м.б. только после того, если вообще никто в финале не сможет выполнить задание, произвести загон участников на полигон и дать им 2-3 часа на отладку7 И затем повторить зачетные попытки.

Ustas777

Не надо упрощать задание. Даже если никто его не выполнит. Уровень участников и их результат напрямую зависит от “высоты планки”. Вспомните DARPA Grand Challenge - в первый год ни одна команда не выполнила задание (со старта смогло уйти только 8 машин из 15), зато на следующий год всю трассу прошли 5 машин из 23. Если же условия упрощать, то мы так и будем говорить, что “у них там и задания сложнее и команды сильнее”.

Shulyaka
Dav:

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

Это очень позитивная информация! Для многих участников это означает в два раза больше времени на отладку своих алгоритмов.
ИМХО, в следующем году ситуация с уровнем участников будет намного лучше.

Александр_Т:

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

Собственно, можете воспользоваться моим алгоритмом (github.com/Shulyaka/video). У меня он вполне работает на Seeeduino Mega 2560, и достаточно быстрый, хоть и не настолько надёжный, как OpenCV (наверное). Захват с помощью Video Experimenter Shield и CCD камеры. Демонстрация есть в моей видеопрезентации.
Но достать аналогичную аппаратную часть вовремя я вряд ли помогу, к сожалению. Мой экземпляр ещё нужен мне самому, хотя я вряд ли пройду очередную КТ - я сейчас в командировке, и вернусь всего за пару дней до отъезда в отпуск 😃
Так что можете сами его портировать на ваше железо.

P. S. Сам алгоритм: более-менее “честное” распознавание крестов через распознавание прямых линий. Прямая линия - это закрашенная область, которая вытянута вправо-вверх и влево-вниз гораздо больше, чем влево-вверх и вправо-вниз (или наоборот), причём на диаметре (отрезок из правой верхней точки в левую нижнюю (или наоборот)) не должно быть незакрашенных точек (проверяются только несколько). Если очередная связная область не является крестом - то очищаем её и берём следующую. Как ни странно, результат вполне приличный.

rual
Shulyaka:

Сам алгоритм: более-менее “честное” распознавание крестов

Очень правильный подход, “чисто алгоритмический”! Распознавание каскадами Хаара (или нейроными сетями))) требует на порядки больше ресурсов, а результат то же.
Сам так же планировал сделать, но “завис” на устойчивости полёта (((

Dav

Обещанные записи с борта нашего полигона и площадок. Сами на них же распознавание доводим.

owa.croc.ru/owa/redir.aspx?C=7OjyDx99pESePU74ydseq…

Вот еще разные записи, с рук и с микродрона на gopro

drive.google.com/folderview?id=0B1tGQyMDLZTaVmJSTF…

Алфизик:

может быть, отменить КТ4 как условие дальнейшего прохождения конкурса

У тех, у кого через 2 недели не будет реализованы взлет-поиск площадки-приземление, к финалу уже ничего не успеют. Готов (лично) поспорить на бутылку коньяка…

А знать хоть примерно сколько будет команд на финале, нам нужно.

Виктор_Казаринов:

2Dav: м.б. только после того, если вообще никто в финале не сможет выполнить задание, произвести загон участников на полигон и дать им 2-3 часа на отладку7 И затем повторить зачетные попытки.

Мы думаем, как обеспечить участникам доступ на полигон для отладки ДО зачетных попыток. Окончательное решение будет после проведения КТ4, когда поймем сколько команд выходит на финал.

В общем, мы понимаем проблему, и попытаемся ее решить.

Пока лучше сосредоточиться на прохождении КТ4…

Ustas777:

Не надо упрощать задание. Даже если никто его не выполнит. Уровень участников и их результат напрямую зависит от “высоты планки”.

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

ПНКист
Dav:

У нас отваливаются вариант за вариантом…

Все идет к тому, что Ваш уже готовый полигон и будет финальным? Этим Вы экономите кучу финансовых и организационных ресурсов. По правилам размеры полигона- ориентировочные и формально Вы правил не нарушаете, а как поставить перегородки- в своем кругу к консенсусу придете.
КТ-4, если надо, то и 5 и 6 будем стараться пройти, а вот в Москву ехать у нас под большим вопросом. Ценники на билеты в разы превышают затраты на сам дрон и прибамбасы к нему. Инет предлагает наиболее дешевые маршруты Иркутск- Москва, среди которых есть и через Пекин!!! Кому интересно попытайтесь гипотетически купить на ближайшую неделю и убедитесь, что это не анекдот. Если на следующий год полигон будет в помещении и не зависить от погоды, то может быть рассмотреть вопрос о сроках проведения не летом и не в Новый год?