Кому лимон?

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 будем стараться пройти, а вот в Москву ехать у нас под большим вопросом. Ценники на билеты в разы превышают затраты на сам дрон и прибамбасы к нему. Инет предлагает наиболее дешевые маршруты Иркутск- Москва, среди которых есть и через Пекин!!! Кому интересно попытайтесь гипотетически купить на ближайшую неделю и убедитесь, что это не анекдот. Если на следующий год полигон будет в помещении и не зависить от погоды, то может быть рассмотреть вопрос о сроках проведения не летом и не в Новый год?

Алфизик

По поводу перемещений по стране. У нас на работе уже традиция спрашивать у коллег по сотовому “Ты в какой точке земного шара?”, даже если знаешь, что где-то здесь, в пределах города. Потому что бывают командировки неожиданные и далёкие, и ничего не поделаешь - “это приказ короля”. Однажды забросили меня в Братск посередь сибирской зимы, туда Боингом, а оттуда как сумеешь. У меня ноут был с инетом, я из гостиницы на сайте РЖД стал искать себе билет. Северобайкальский поезд до Москвы идёт, но билетов до Москвы нет. Ну ладно, забиваю билет до Тайшета, дальше смотрю билет на иркутский поезд, который через час, на него тоже до Москвы нет. Но всё же я на нём доехал. До Новосибирска в 17-м вагоне, а после Новосибирска - в 5-м. Вот только когда вся цепочка билетов сложилась, я нажал кнопку “оплатить”. С тех пор пересадки внутри поезда - наш рабочий приём. Буду очень рад, если эта информация кому-нибудь поможет.

Ustas777

Уважаемый Dav!

Dav:

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

owa.croc.ru/owa/redir.aspx?C...6usp%3Dsharing

По ссылке просят логин и пароль 😦