Русский
Русский
English
Статистика
Реклама

Летающие роботы

Чешуйчатый Икар кинематика полета древесной змеи

03.07.2020 10:08:54 | Автор: admin


Рожденный ползать летать не может. Эту фразу можно применять как в метафорическом смысле, так и в буквальном, ибо существа без крыльев (или подобных по функционалу частей тела) действительно не способны покорять небеса. По крайней мере, большинство из них. Правило не было бы правилом, если бы не было исключений. В аспекте бескрылых полетов исключения также имеются украшенные древесные змеи (Chrysopelea). Представители этого рода змей способны парить крайне полезный навык учитывая, что живут они в кронах деревьев высоко над землей. Ученые из Политехнического университета Виргинии (США) решили рассмотреть полет змеи с точки зрения кинематики. Какие анатомические особенности позволяют змеям летать (контролировано падать, если точнее), что происходит во время полета с точки зрения кинематики, и как данное исследование может помочь в робототехнике? Ответы на эти вопросы ждут нас в докладе ученых. Поехали.

Основа исследования


Украшенные древесные змеи это род змей из семейства ужеобразных, обитающие в Южной и Юго-Восточной Азии. Представители этого рода не могут похвастаться большими габаритами (длина тела всего лишь от 0.6 до 1.5 м) и смертоносным ядом. Хотя добыча, на которую они охотятся в дневное время, не согласилась бы с последним. Учитывая место обитания (кроны деревьев), у данных змей крайне мало врагов, потому особой нужды в сильном яде у них нет. К тому же у них есть куда более эффектная тактика они умеют планировать.



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


Вид сбоку на длинное планирование летающей змеи Chrysopelea paradisi.

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

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

У змей Chrysopelea волнистость характеризуется S-образной формой тела, низкой частотой волнистости (12 Гц) и уплощенным аэродинамическим поперечным сечением тела.


Изображение 1

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

Если учитывать волнистость на суше и воде, то можно предположить, что и в воздухе она генерирует тягу. На твердых средах волнообразное движение происходит благодаря распределенным контактным силам над вентральными и латеральными областями тела, а в воде смещение или всасывание жидкости вдоль тела вызывает движение вперед. В обоих случаях чистая движущая сила действует преимущественно в плоскости волнистости. Модуляция тела вне плоскости (в вертикальном направлении) может использоваться для вторичных целей, таких как уменьшение сопротивления или увеличение нормальной силы.

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


Вид спереди на взлет и уплощение летающей змеи Chrysopelea paradisi.

Результирующие аэродинамические силы должны действовать вне плоскости волнистости, а сама волнистость должна постоянно менять распределение сил на тело змеи. Стоит также учесть, что летающие змеи могут волноваться не только горизонтально, но вертикально. Значит, что в модели полета змеи присутствуют как элементы тангажа*, так и элементы крена*.
Тангаж* угловое движение относительно горизонтальной поперечной оси инерции.

Крен* угловое движение относительно его продольной оси.
В данном исследовании ученые решили детально рассмотреть роль волнистости в полете змеи. Используя записи высокоскоростной съемки полета змеи, ученые смогли количественно измерить воздушную волнистость. Полученные данные позволили создать точную трехмерную модель полета змеи.

Результаты исследования


Воздушная волнистость состоит из связки волн горизонтального и вертикального изгиба. Вдоль тела змей (7 особей), участвовавших в съемке полета (высока взлетной площадки 8.3 м), были размещены 11-17 маркеров. Оценка изменения положения этих маркеров позволяет точно определить структуру волнистости во время полета.


Вид сверху на тестовое планирование летающей змеи Chrysopelea paradisi.


Инфракрасные маркеры, полученные во время планирования летающей змеи Chrysopelea paradisi.

Проведя 36 практических наблюдений, ученые создали трехмерную модель тела змеи ( r ).


Разработка 3D-модели летающей змеи Chrysopelea paradisi по данным захвата движения.

Используя касательный вектор (t = r/s), удалось разложить волнистость на две угловые волны изгиба, которые движутся вдоль тела.

Горизонтальные и вертикальные волны задаются следующими формулами:

(s, t) = -tan-1 t x / t y

и

(s, t) = sin-1 t z

где (s, t) и (s, t) локальные углы, которые тело образует относительно горизонтального и вертикального направлений, как функции длины дуги s и времени t.

Данные показывают, что летающие змеи используют две волны: горизонтальную волну с большой амплитудой и вертикальную волну с меньшей амплитудой, обе из которых последовательно проходят вниз по телу от головы к хвосту (изображение 2).


Изображение 2

Эти волны формируются после начального переходного процесса, когда змея прыгает в относительно прямой позе и затем формирует характерную S-образную позу для планирования.

Существует четыре особенности воздушной волнистости, связывающей вертикальную волну с горизонтальной (). Во-первых, вертикальная волна имеет пространственные и временные частоты, в два раза превышающие частоты горизонтальной волны. Это указывает на то, что у тела в два раза больше вертикальных изгибов, чем боковых (, ). Во-вторых, U-изгибы на теле летающей змеи можно идентифицировать как нулевое пересечение на графике угла изгиба (2b). В-третьих, эти пересечения являются максимумами вертикальной волны, указывая на то, что горизонтальные и вертикальные волны сдвинуты по фазе на 90. В-четвертых, максимальный изгиб вне плоскости происходит на U-изгибах и примерно на середине прямых сегментов. На U-изгибах поперечное сечение крыла змеи сворачивается из-за движения тела вне плоскости (1c, 1d).

Форма бегущих волн изменяется со временем, поскольку змея ускоряется и производит аэродинамические силы, однако некоторые особенности все же остаются общими. Горизонтальная волна представляет собой синусоиду с плоским верхом, амплитуда которой (80-120) зависит от количества пространственных периодов, причем меньшее количество периодов приводит к более высоким горизонтальным углам изгиба. Вертикальная волна представляет собой узкопиковую синусоиду с широкими впадинами с амплитудами в диапазоне от 20 до 45.

Количественная оценка пространственных и временных характеристик волн показала, что змеи используют горизонтальные волны с 11.5 пространственными периодами и частотой волнистости 1-1.7 Гц и вертикальные волны с 23 пространственными периодами и частотой волнистости 23.4 Гц.

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

Чтобы точно определить степень влияния связи горизонтальных и вертикальных волн, а также влияние дорсо-вентрального изгиба на динамику полета, ученые создали анатомически точную модель змеи в полете. Контроль над моделью позволяет, по словам ученых, систематически проверять, как компоненты волнистости (амплитуда горизонтальной волны, количество пространственных периодов и частота волнистости) влияют на краткосрочную и долгосрочную динамику планирования.

Горизонтальная волна моделируется как синусоида с плоской вершиной большой амплитуды, а вертикальная волна как синусоида небольшой амплитуды:



где m and m максимальные горизонтальные и вертикальные углы изгиба; число пространственных периодов; f частота волнистости; фазовый сдвиг; d дорсовентральный угол изгиба; L длина тела (2f, 2g).

Горизонтальные и вертикальные волны связаны в кинематических данных (): = 2, f = 2f и = 2( /2). Это сильно упрощает модель до 5 переменных, определяющих форму тела: m, m, , f и d.

Положение r = [x, y, z] тела относительно центра масс рассчитывается следующим образом: sx = cossin, sy = -coscos и sz = sin.

Положение центра масс R0 и ориентация тела (углы рыскания*, тангажа и крена) определяются путем интегрирования уравнений поступательных и вращательных движения.
Рыскание* угловые движения относительно вертикальной оси.


где fL и fD бесконечно малые силы подъема и сопротивления; MA аэродинамический момент; m масса змеи.

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


Изображение 3

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

Для проверки влияния волнистости на характеристики планирования было проведено два моделирования: с f = 0 Гц (без волнистости) и f = 1.2 Гц (средняя частота волнистости у змей). В обоих вариантах варьировались и m ().


Изображение 4

Кинематические данные формы тела змеи в модели позволили получить 121 форму с 1 1.5 объемными волнами и амплитудами горизонтальных волн в диапазоне 90 m 119. Далее из этого массива были выделены наблюдаемые формы тела (средняя часть графика, отделенная по диагонали; 4b). Часть графика, что ниже выделенной, содержит открытые (напоминающие букву S) формы тела, а верхняя закрытые (напоминающие знак бесконечности).

Амплитуда вертикальной волны и дорсовентральный угол поддерживались на постоянном уровне: 20 и 10 соответственно. Моделирование считалось завершенным, когда центр массы тела змеи касался земли (приземление) или когда любой из углов ориентации превышал пороговое значения в 85. Если это происходило, то планирование считалось нестабильным, т.е. не таким, как в природе. В процессе моделирования были протестированы как краткосрочная динамика (высота старта 10 м), так и длительную динамику (высота старта 75 м) с/без волнистости.

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


Моделирование летящей змеи, планирующей с волнистостью и без нее.

Короткие планирования с высотой запуска 10 м показали хороший коэффициент стабильности при наличии волнистости (94%). Если же волнистость не была включена в модель, то стабильными были лишь 50% полетов. Волнистость также увеличивает расстояние планирования (с 4 м до 4.3 м).

При моделировании планирования с высоты 75 м волнистость увеличила как горизонтальное, так и вертикальное расстояние до того, как проявляется нестабильность в 86% запусков. В данном случае волнистость также увеличивала расстояние полета в 92% запусках. Волнистость также увеличила среднее расстояние по горизонтали на 6.9 м.

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


Изображение 5

Было смоделировано планирование с m = 0, 10 и 20 и дорсовентральным изгибом от -20 до 20 с шагом в 10 () для 11 различных форм тела.

Вертикальные колебания оказывают относительно небольшое влияние на траекторию планирования, тогда как дорсовентральный изгиб оказывает значимое влияние.

Совершенно плоская змея (m = 0), чего никогда не наблюдалось во время экспериментальных испытаний, показала ожидаемо наихудшие результаты. Увеличение амплитуды вертикальной волны повышало эффективность планирования из-за скручивания поперечного сечения в плоскости, обеспечивающего более выгодный угол для создания силы (2j).

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

При m = 20 с задней частью тела ниже головы планирование не было неглубоким, вместо этого оно становилось нестабильным по высоте до падения на 10 м. При m = 20 с задней частью тела выше головы траектория изогнута назад, при этом некоторые формы тела приземляются позади места прыжка. Столь неудачное планирование обосновано наклоном тела вверх. Тем не менее, планирования с вышеуказанными параметрами обладали неплохой вращательной устойчивостью.

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

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

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

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

Метки усредненных по фазе моментов тангажа на 5e соответствуют наклону вверх или наклону, показанному на 5c, и результирующим характеристикам планирования на 5b. На 5f показан, что для форм тела с наименьшим пространственным периодом средний момент тангажа будет наименьшим.

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

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


Изображение 6

Анализ фазы путем усреднения позволяет количественно оценить относительный вклад аэродинамических и инерционных моментов в динамику планирования.

Из уравнений 5 следует, что на ориентацию тела влияют как аэродинамические силы, так и изменяющееся распределение массы. Аэродинамический вклад () увеличивается со временем по мере увеличения скорости, тогда как инерционный вклад (6b) остается постоянным. Оба момента являются периодическими, и только момент тангажа показывает ненулевое среднее значение по фазе.

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

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

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

Эпилог


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

Понять динамику полета птицы когда-то тоже было сложно, однако она не озадачивала ученых так сильно, как это делает летающая змея. В природе существует не так и много примеров бескрылых полетов, и все они сопряжены с и использованием нестандартных механизмов, позволяющих животному планировать, а не падать камнем на землю.

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

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

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

Благодарю за внимание, оставайтесь любопытствующими и отличных всем выходных, ребята! :)

Пятничный офф-топ:

Дэвид Аттенборо рассказывает о том, как двигаются некоторые виды змей.

Офф-топ 2.0:

Это одна из самых эпичных сцен погони, которые я когда либо видел :)
Подробнее..

Как мы участвовали в соревнованиях автономных дронов Aerobot 2020 от русской DARPA

24.12.2020 04:15:09 | Автор: admin

Немного соревнований автономных дронов, рассчитанных на взрослых разработчиков и организации, проводятся в России. В статье расскажу о нашем участии в Аэробот-2020. Мы и без соревнований работаем с актуальными технологиями локализации дрона в помещении, планирования движения и картографии (exploration), детекции объектов (perception) и оптимального управления движением. В условиях соревнования были задачи как раз из этой области.

Наша команда состояла из сотрудников Центра компетенций НТИ по направлению Технологии компонентов робототехники и мехатроники на базе Университета Иннополис и студентов университета.

Под катом много увлекательных полетов и падений дронов.

С одной стороны, мы хотим забыть об этом как о страшном сне, а с другой, это интересный опыт. Так что, чтобы оставить эти воспоминания в 2020 году, эта статья достается из черновиков.

Соревновательная робототехника

Если спортивное программирование и индустриальная разработка уже во многих случаях весьма далеки друг от друга, то в робототехнике зачастую крупные соревнования становятся драйверами развития целых направлений. Пожалуй, самый яркий пример DARPA Grand Challenge, которые предопределили бурное развитие автономных автомобилей. Основатель DJI начинал свою работу по БПЛА с соревнований ABU Robocon в составе команды гонконгского университета HKUST.

Среди современных крупных конкурсов в области воздушной робототехники я выделю:

А что в России?

В России робототехника вообще становится популярна, есть кружки, курсы и много STEM-education-движухи. Соревнования дронов в основном проводятся среди школьников и студентов. Мы их и сами проводим. Конкурсов, ориентированных на организации и более сложные задачи, немного (хотя порой и современные школьники делают удивительные вещи). Когда-то компания КРОК проводила интересный конкурс, с тех пор мало подобного было. Пример недавнего конкурса для производителей БПЛА конкурс от ПАО Газпром нефть и AeroNet по перевозке груза, имитирующего пробы нефти. Однако, там задачи больше по аппаратной составляющей БПЛА, чем по планированию движения и обработке сенсорных данных. Можно упомянуть еще Copter Hack, но это конкурс проектов, а не соревнования в которых команды соревнуются в выполнении одних и тех же заданий.

Аэробот-2020

Соревнования Aerobot проводятся в России второй год и как раз ориентированы на развитие решений в области разработки, создания и эксплуатации перспективных робототехнических комплексов (систем) гражданского, военного, специального и двойного назначения воздушного базирования (sic!). Как видите, даже название пропитано духом двойного назначения, что не случайно: соревнования проходят при поддержке ФПИ, призванного быть российским аналогом DARPA. При этом задания вполне интересные, даже если вы пацифист или опасаетесь военной бюрократии, как я.

Заданий в этом году было 3:

  1. Инспекция помещения и поиск объектов в нем с указанием их координат (жизненный аналог поисковые операции в разрушенном здании, например);

  2. Движение по QR-код (получается этакий дрон для складской инвентаризации, вот похожий проект от коллег из Сколково);

  3. Гонки дронов максимально быстро пролететь между воротами и обойти препятствия между ними.

Эти соревнования проводились во второй раз. В этот раз организатором выступила наша с @GigaFlopsis (и еще нескольких теперешних иннополисян) alma mater НИИ робототехники и процессов управления Южного федерального университета (НИИ РиПУ), г. Таганрог.

Команды-участники

Соревнования проводились в два этапа. Для первого, отборочного, был сделан симулятор на базе Gazebo с клёвыми обоями (я просил добавить ковры на стены, но это, видимо, оставили для следующих версий). Второй этап проходил на специальном полигоне.

Из-за коронавируса в этом году команд было меньше, чем в прошлом, но уровень был выше: у всех дроны летали и все делали попытки выполнения заданий. Еще порадовало, что команды были гибридные представители академических институтов и индустрии. Список и краткая инфа о командах:

  • RaccoonLab, Университет Иннополис это мы;

  • ФИЦ ИУ РАН (Москва), в составе разработчики из Fast Sense Studio. Они делают бортовые компьютеры для мобильных роботов и дроны для складской инспекции;

  • ИПУ РАН (Москва) использовали дрон стартапа Airspector по промышленной инспекции при помощи БПЛА;

  • С305, ДВФУ (Владивосток), Центр проектной деятельности студентов;

  • QuadroZ, НИИ РиПУ (Таганрог), команда организатора соревнований;

  • Альтаир, студенты ЮФУ (Таганрог);

  • Команда ВИТ Эра (Анапа).

Состав нашей команды

  • Дмитрий Девитт главный заводила, знает вкус победы предыдущих соревнований Аэробот-2019. Видели Noize MC, обвешанного гитарой и укулеле с сэмплером и клавишами? Вот примерно так работает Дима при тестах: в одной руке ноутбук, в другой пульт ручного управления для подстраховки;

  • Дмитрий Пономарев программист, реализовал фьюзинг нескольких реалсенсов для локализации, генерировал миры в Gazebo;

  • Илья Севостьянов студент Университета Иннополис, работал над детекцией полосы и посадочной площадки;

  • Юрий Сухоруков студент, много занимался сборкой кошерного дрона, 3D-печатью, сделал ворота и параллельно порадовал сайд-проектом по детекции масок с дрона;

  • Роман Федоренко я, каким-то волшебным образом собрал эту мега-команду и наблюдаю за успехом (спокойствие все же только видимое).

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

  • Виктор Массагуе алгоритм инспекции;

  • Гисара Пратхап сегментация на облаке точек, создание миров в Gazebo;

  • Никита Ермоленко алгоритмы CV для детекции ворот.

Отборочный этап

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

Все три задания от третьего к первому на симуляторе (этап 1) в таймлапсе:

На отборочном этапе наша команда заняла первое место с заметным отрывом, но расслабляться было рано.

Разбор решений

Approach

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

Железо

Все летали на опенсорс автопилоте PX4 (слава ему).

По бортовым компьютерам: Nvidia Jetson (Nano/NX/Xavier) или Raspberry Pi или свой компьютер у FastSense.

Из сенсоров для восприятия мира, как правило, есть камеры глубины Realsense D435, многие летают также с использованием RPLIDAR плюс обычные камеры (вебки) для детекции объектов.

Локализация

Здесь две доминирующие идеи: 2D SLAM на Google Cartographer (мы использовали только на этапе симуляциий) c RPLIDAR и tracking камеры Realsense T265.

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

Комплексирование данных локализации Комплексирование данных локализации

Картография

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

Мы использовали свою наработку в этой области, основанную на модифицированном алгоритме NBV (next-best-view), а также библиотеке voxblox для представления карты.

Алгоритм строит 3d карту (цветной mesh) в реальном времени на борту дрона, зная только предполагаемые размеры области инспекции. При планировании также выполняется обход препятствий, пролет в окно для инспекции следующего помещения также планирует этот алгоритм.

Как это выглядит в реальных тестах:

Почитать подробнее можно, например, здесь.

Траекторное управление и обход препятствий

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

Изначально планировщик знает положение дрона, целевую точку (или несколько), а также карту в виде облака точек. Помимо этого мы настраиваем максимальные скорости и ускорения дрона.

На основе облака точек формируется новая карта с дополнительными границами вокруг препятствий (т.н. inflation). По этой карте находится оптимальный маршрут, используя несколько алгоритмов (для быстрого поиска сильно модифицированный elastic band planner, в сложных случаях дополнительно используется A*).

На выходе мы получаем набор координат, через которые нужно построить траекторию дрона. Для генерации физичной траектории используются сплайны. Существует много хороших открытых решений от крутых лабораторий, например mav_trajectory_generation от Autonomous Systems Lab (ETH, Цюрих), B-traj от HKUST Aerial Robotics Group (Гонконг) и множество реализаций minimum snap и jerk генераторов траекторий (btw, jerk и snap это названия соответственно третьей и четвертой производных перемещения по времени, по-русски толчок и рывок). Мы интегрировали решение от HKUST Aerial Robotics Group. Результатом работы данного модуля является гладкое движение дрона с отклонением от препятствий.

Один из примеров полёта у нас в подвале:

Еще один пример работы планировщика уже в симуляторе Gazebo:

Восприятие

В задачи восприятия, которых мы касаемся здесь, входят детекция (и локализация)

  • кубиков с логотипом (задача 1);

  • посадочной площадки (все задания);

  • QR-кодов (задание 2);

  • препятствий и ворот (задание 3).

Для детекцией кубиков хватило базовых методов OpenCV: SIFT + Homography + PnP. Т.к. мы знали паттерн на сторонах куба, достаточно было определить точное положение этого паттерна относительно камеры, а дальше можно получить позицию относительно любой системы координат. Для этого был написан простой пакет под ROS на python.

Для QR кодов помимо координат необходимо было произвести расшифровку кода. На python с этим отлично справляется библиотека zbar.

Посадка по маркеруПосадка по маркеруQR-кодыQR-коды

Забавно было с детекцией ворот и препятствий. На этапе симулятора мы заюзали кластеризацию облаков точек на базе https://github.com/PRBonn/depth_clustering. Ворота сегментировались как один кластер и мы задавали траекторию полета через его центр. Если вместо ворот были препятствия, их облетал алгоритм траекторного управления с обходом препятствий (см. выше).

На этапе полигона мы, конечно, от этого ушли :)

Ad hoc vs унифицированные подходы

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

В нашем случае, у нас были в заготовке еще до соревнований некоторые универсальные средства: планировщики, сегментация облаков, конструкция дрона, программная инфраструктура. С другой стороны, воля к победе требует в процессе отладке во время соревнований применять и некоторые оптимизации и упрощения.

Хорошим примером здесь будет наш планировщик для первого задания. Можно делать универсальный алгоритм с NBV, оптимизацией движения с целью максимального захвата камерой неисследованного объема, а можно, зная размеры комнат и что они имеют простую форму, задать несколько рандомных точек в каждой. Также можно задавать направление движения, зная что карта устроена для движения по или против часовой стрелки. Еще забавный момент если предположить, что организаторы расставили объекты поиска в точки с целыми координатами (или с координатами кратными 0.5), что свойственно человеку, можно довести точность их определения дроном до абсолютной простым округлением :)

Отступление 2

Читайте регламент заранее и рассчитывайте на худший сценарий. Если заметили неточность, предлагайте уточнение.

Отступление 3

Все кто делают дронов, рассчитывайте на тройное резервирование, бюджеты умножьте на 3 и не соглашайтесь на меньшее :) Дроны падают.

Обещанное видео падений:

И еще. Делайте бэкапы. У нас, например, накрылась флешка со всей системой на бортовом компьютере и это стоило нам дня соревнований и ночи восстановления.

Как вам такое перед зачётной попыткой?Как вам такое перед зачётной попыткой?

Полигон и летающая звезда Давида

Технополис Эра

Облако теговОблако тегов

Эра это военный Технополис. Круто, что он у моря. Расположение Технополиса на морском побережье создает комфортные условия для работы и жизни. сказано на сайте Технополиса :)

И да, у них свой пирс с вертолётной площадкой.

Источник: era-tehnopolis.ruИсточник: era-tehnopolis.ru

Особенностью работы в военном Технополисе является отсутствие Интернета, в том числе мобильного из-за экранирования. Поступали так:

А это мобильная базовая станция

Полигон

Полигон в его вариантах для разных заданий выглядел так:

Неофициальный партнер соревнований Леруа Мерлен :)Неофициальный партнер соревнований Леруа Мерлен :)

Железо

Дроны других участников

Дрон команды QuadroZ (НИИ РиПУ, Таганрог) Дрон команды QuadroZ (НИИ РиПУ, Таганрог) Дрон ИПУ РАН (Москва) от AirspectorДрон ИПУ РАН (Москва) от AirspectorБПЛА ВИТ Эра (Геоскан Пионер)БПЛА ВИТ Эра (Геоскан Пионер)Дрон и команда ИЦ ИУ РАН и Fast Sense Studio (Москва) с нашим шпиономДрон и команда ИЦ ИУ РАН и Fast Sense Studio (Москва) с нашим шпионом

Технология тряпочки

Надеюсь, ребята из Fast Sense Studio не поругают меня за разглашение ноу-хао с тряпочкой, т.к. это яркий пример того, с чем приходится сталкиваться при работе с реальным железом, особенно если сравнивать с симулятором.

Итак, уважаемые знатоки, внимание, вопрос: для чего нужна тряпочка на взлетно-посадочной площадке?

ЗагадкаЗагадкаОтвет в спойлере

Всё просто на тряпочке много фич по сравнению с гладким полом, и визуальной одометрии есть за что зацепиться в момент взлёта, когда камера только поверхность под дроном и видит.

Наш дрон

Про звезду Давида мы не специально (кажется). Просто такая форма получилась достаточно жесткой.

Вообще, конструкция сделана модульная, с расчетом на ремонтопригодность, изготовление на базе стандартных карбоновых трубой и 3D-печатных деталей.

Готовим запчасти (3D-печать)Готовим запчасти (3D-печать)

Последних мы взяли с собой мешочек про запас. Питстоп по замене сломанного крепления двигателя не более 60 секунд:

Пит-стопПит-стоп

Полёты

Репортаж о соревнованиях и дронах, у которых есть имена (источник):

Победила дружба

По результатам соревнований судейской коллегией было принято решение не выявлять победителей, т.к. ни одной командой не были пройдены задания второго тура целиком. По итогу: 1) потрачено много запчастей и нервов, 2) было весело, собрались интересные ребята, 3) победила дружба. Следующие соревнование организаторы планируют проводить с теми же заданиями. А мы занимаемся прикладной разработкой и поглядываем на MBZIRC. Привет участникам и организаторам!

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru