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

Мультикоптеры

Из песочницы Пропеллеролет конвертоплан для мониторинга протяженных объектов

28.06.2020 20:20:26 | Автор: admin


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

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

Какие есть пути развития авиации? На мой взгляд, авиация может развиваться двумя путями:

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

Мне больше импонирует изменение аэродинамической схемы самолета. Этим путем появились такие аэродинамические схемы как утка и летающее крыло. Но инженерам этого было мало, им хотелось, чтобы аэродинамика изменялась прямо в полете. Так появились самолеты с изменяемой геометрией крыла (Су-24, Ту-22М, Ту-160, F-111 и им подобные), самолеты с управляемым вектором тяги (Миг-29ОВТ, Миг-35, Су-30, 37, 57, F-22 и др) и, конечно же, конвертопланы (например, всем известный Bell V-22 Osprey).

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


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

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

Какие преимущества у данной аэродинамической схемы?

  • За счет огромного крыла мы получаем высокое аэродинамическое качество в самолетном режиме, что значительно увеличивает дальность полета в сравнении с другими конвертопланами.
  • Вертикальный взлет и посадка (не требует ВПП).
  • Возможность зависать в воздухе.

Закончим введение и перейдем к сути. Для реализации проекта нам необходимо:

  • Изготовить прототип.
  • Создать систему стабилизации за счет управляемых векторов тяги.
  • Реализовать алгоритмы переходного процесса во время смены режимов полета.
  • Провести тестовые полеты, отладить систему.
  • Коммерческий полет.

Прототип 1


Мы приступили к созданию первого прототипа. У нас не было никакого особого оборудования, только руки и базовые знания. Начали с того, что начертили модель в 3D.





Построенный летательный аппарат выглядел следующим образом:





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

Написали простенький код для управления моторами и запустили этого монстра сначала на стенде, а потом и в воздухе. Мы с ней съездили на несколько конференций, где получали неоднозначные отзывы. При изготовлении первого прототипа в расчеты мы не углублялись, и единственная лтх, которую мы можем предоставить, это его габариты. Круизная скорость рассчитывалась на 100 км/час, но как-то не сложилось с дальними полетами и записью хоть каких-то характеристик.
габариты в сложенном состоянии 650мм x 400мм x 600мм
размах 1100мм
длина 650мм
диаметр пропеллеров 11 дюймов
снаряженная масса 3 кг

Не смотря на то, что построенная модель не оправдала ниших ожиданий, она, несомненно, показала, что подобное устройство все же имеет прово на жизнь и еще позволила сделать следующее:

  • Определиться с конструкцией механизма наклона моторов.
  • Проверить возможность реализации такой модели.
  • Сформулировали облик модели.
  • Получили наглядную модель всех механизмов.

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

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

Прототип 2



Встретились как-то красотка, сантехник, турист, айтишник и школьник. И сантехник говорит, Диплом близко, надо строить самолет.

Мы собрались снова и начали делать второй прототип. Теперь в нашем распоряжении были: гараж, оборудованный по последнему слову техники, токарный станок, ЧПУ, 3D принтер, а также опыт и знания, полученные в институте. Сразу определили целевое назначение беспилотника, он будет мониторить нефтепроводы. Под эту задачу подобрали оптимальные ЛТХ (это отдельная история). Рассчитали и начертили все агрегаты и узлы. Рассчитали систему спасения и сшили парашют. Разработали систему раскрывания и складывания крыльев. Изготовили прототип со следующими ЛТХ:
Технические характеристики
Режим самолетный вертолетный
Длительность полета до 2,5 часов до 20 минут
Максимальная протяженность маршрута 100 км 10 км
Скорость полета 70-150 км/ч 0-50 км/ч
Максимальная взлетная масса 20 кг
Макс. масса полезной нагрузки 2 кг
Габаритные размеры Размах 3200мм,
длина 1600мм
1500мм х 900мм х 1600мм
ГМаксимальная высота полета 2500 м 1200 м
Двигатель электрический
Взлет / посадка аварийная система посадки на парашюте Вертикально в автоматическом режиме с использованием док станции
Время взлета/посадки - 5 мин

Летные характеристики
Режим самолетный вертолетный
Крейсерская скорость 100 км/ч 37 км/ч
Скороподъемность 1,3 м/с 2,5 м/с
Скорость полета 70-150 км/ч 0-50 км/ч
Скорость необходимая для трансформации 45 км/ч -
Скорость сваливания 42 км/ч (1,5кг полезной нагрузки) -
Аэродинамическое качество 11,6 0











С построенным прототипом мы принимали участие в МАКС-2019, поучавствовали в конкурсе от Вертолетов России и продолжаем заниматься его доработками в свободное от отдыха время.

Выводы


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

Мы все еще горим желанием увидеть задуманное в воздуже и прилагаем к этому все возможние усилия.

P.S


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

Летающая табуретка или идеальный квадрокоптер для перевозки пиццы

18.12.2020 18:13:39 | Автор: admin


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

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

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

Я в авиамодельном хобби совсем не новичок, хотя сам еще довольно молод (еще пока студент магистратуры), но и мне крайне тяжело, а иногда и невозможно успевать за функционалом существующих прошивок и полетных контроллеров для квадрокоптеров и других БПЛА. Насколько я помню, шесть лет назад простые прошивки для дронов помещались в Arduino IDE и работали на платах от пульта для приставки. Сегодня же китайские фирмы предлагают нам за 20 долларов плату с прошивкой, функционал которой превосходит базовую программу обучения в институте. Таким образом, перед желающими собрать квадрокоптер стоит огромный соблазн даже не пытаться заняться изготовлением полетного контроллера. Выбор имеющихся решений огромен, однако, как я сам убедился, не безграничен.

Прототип


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


Что бы хоть чем-то отличаться от людей, получающих образование на форумах, хотя сами такой информацией не брезгуем, мы начали с проработки примерной 3D модели. Основной отправной точкой для себя мы взяли микросервоприводы с металлическим редуктором. Таким машинкам точно хватит усилия и прочности. Прикинув период колебаний пятидюймового квадрокоптера я понял, что и скорости работы хватает с достаточно большим запасом. Основываясь на этих компонентах, мы серьезно занялись проблемой выбора моторов. Преодолев долгие душевные терзания, мы вспомнили, что в душе все мы немного акционеры и остановились на квадрокоптерных моторах, которые были по акции на одном известном китайском сайте. Затем, мы перешли к постройке 3D модели. Модель должна была быть максимально простая, чтобы ее можно было быстро изготовить: частично напечатать на 3D-принтере, сделать раму из подручных материалов, ну и, конечно, подогнать сверхточным инструментом напильником. В итоге, за два вечера в компании интересного собеседника, получилось создать именно ту модель, что отвечала поставленным задачам.



Моделирование системы управления


Какой же проект без научной составляющей? Надо провести исследования. Возможности Simulink (Matlab) позволили нам смоделировать похожую модель с выбранной системой управления. Имея готовую 3D модель, нам не составило труда задать ее физические свойства в Matlab.

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

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

Изготовление прототипа


Поборов в себе желание создавать всю прошивку для такого квадрокоптера с нуля, мы прибегли к, на мой взгляд, элегантному решению. Мы разделили между двумя платами задачу стабилизации квадрокоптера в горизонте и задачу управления им. Таким образом, моторами у нас управляет самый обыкновенный коптерный полетный контроллер F4, а за управление актуаторами отвечает отдельная плата STM Blue Pill.
Схематично это можно представить следующим образом:



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

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




Летные испытания


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



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

P.S.


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

По оси крена:


По оси рысканья:

Вывод


Таким образом, методом проб и ошибок, мы медленно, но верно приближаемся к своей мечте.
Подробнее..

Как мы делали дрон, который не боится упасть, и что общего между архитектурой, роботом-манипулятором и коптером

19.08.2020 18:13:30 | Автор: admin
У нас было десять разбитых дронов за год, тестовые полеты два раза в день, три кандидата технических наук в команде, прототип из палочек для суши и желание найти способ больше не бить дроны.

Очень спорно, очень необычно, очень странно, но работает! На стыке архитектуры, коллаборативной робототехники и беспилотных летательных аппаратов. Представляем: Tensodrone.



Tensodrone (Тенсодрон) беспилотный летательный аппарат (БПЛА) мультироторного типа новой конструкции с защитой от столкновений, сделанный по принципу тенсегрити. Такой подход позволяет повысить устойчивость к ударам при меньшей массе, совместив защитную клетку и конструкцию несущей рамы.

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

Дроны падают



Источник

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

Вряд ли кто-то будет спорить, дроны падают, сталкиваются, переворачиваются.
Можно стараться этого избегать, можно к этому подготовиться. Что лучше? Решать разработчику, пользователю и законодателю.

Я за совместное применение обоих подходов. Но в этой статье сконцентрируемся на том, как избежать последствий падения или столкновения БПЛА.

Защитные конструкции


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

Базовый вариант конструкции, относящейся скорее к защите людей от дрона, защита пропеллера.


Дрон AR.Drone 2.0 с защитой пропеллеров. Источник

Есть еще забавные решения, вдохновленные оригами, со складными гибкими конструкциями защиты пропеллеров (и даже конструкции рамы), развитие которым дала группа профессора Дарио Флореано в EPFL.

Превалирующей конструкцией защиты самого дрона (а вместе с тем и людей от него) является защитная клетка. Сам квадрокоптер находится внутри клетки.


Дрон Clover от российской COEX

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


Дрон Flyability ELIOS

Швейцарская (Швейцария столица дроностроения?) компания Flyability выпускает, пожалуй, самый коммерчески успешный коптер ELIOS с защитной клеткой для выполнения инспекций внутри помещений. Оригинальность конструкции состоит в креплении защитной клетки к раме коптера на подвижном подвесе с возможностью стабилизации.


Дрон Dronistics

Стартап Dronistics из EPFL (опять Швейцария, это выходцы из группы Dario Floreano) предлагает дрон со складной клеткой для безопасной доставки грузов.

Все-таки разбиваются


Недостатком таких дронов является увеличение массы конструкции нужно носить с собой защитную клетку и элементы крепления к БПЛА. Стремление снизить массу защитной конструкции приводит к снижению ее прочности.

Дроны с изменяемой геометрией


Другое направление, связанное с идеей защищенного дрона (и не только), складные дроны и дроны с изменяемой геометрией (foldable и morphing). Имеется ввиду способность дрона изменять свою геометрию в полете. Складные конструкции делают для того, чтобы избежать повреждений дрона (например, дрон может съежиться перед ударом), а также дрон может, например, сложиться до компактного размера для пролета в узкие окна.

Возможно, вы видели крутой ролик с дроном с изменяемой геометрией из Швейцарии (да-да, снова ETH + EPFL + UZH). Нам эта идея тоже интересна и близка, дальше расскажу почему.


Дрон с изменяемой геометрией

Тенсегрити



Тенсегрити-стол. Источник

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

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


Самый большой в мире мост, выполненный в стиле тенсегрити, Австралия. Источник

Альтернативные применения :)

Тенсегрити в робототехнике


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

В промышленной робототехнике термин compliance относится к гибкости и податливости. Неподатливый (non-compliant), жесткий (stiff) робот это устройство, которое работает независимо от того, какие внешние силы на него воздействуют. Энд-эффектор робота будет каждый раз следовать точно по одной и той же траектории. С другой стороны, энд-эффектор податливого робота может двигаться по различным траекториям для выполнения задачи и прилагать различные усилия к объекту. Например, робот может схватить яйцо, не раздавив его. Управляемая жесткость лежит в основе коллаборативной робототехники.

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

Наиболее известным примером применения тенсегрити в робототехнике является складной наземный робот NASA Super Ball Bot, который планировали использовать для исследования поверхностей планет. Благодаря сфероподобной структуре из кабелей и тросов робот может выдержать падение с большой высоты, когда его сбрасывают на планету с космического корабля. Оказавшись на поверхности, робот может перекатываться в любом направлении за счет управления длинами стержней.


Видео IEEE Spectrum о NASA SUPERball v2

Тенсегрити-роботы в Университете Иннополис


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


Тенсегрити-манипулятор и научный сотрудник и аспирант УИ Олег Балахнов

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

Тенсегрити-виброробот

Тенсегрити-виброробот

Синергетический эффект



Вы, наверное, уже поняли
I have a drone, I have tensegrity. Ugh! (Tensodrone)

Проходил я как-то в нашем гараже мимо привлекающей глаз странной конструкции:



Спросил: Что это такое? Мне сказали: неубиваемая конструкция роняй, а она не ломается.

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


Видео с тестом тенсегрити на выживаемость

Более жесткий тест

Squishy robotics стартап, который делает тенсегрити-роботов для спасательных операций в случае стихийных бедствий, дистанционного мониторинга и космических исследований, и сбрасывает их с коптера


Авантюра



Сергей одобряет авантюрный эксперимент. Джефф Безос тоже

Сергей Савин старший научный сотрудник, доцент, серьезный ученый с кандидатской в 25 лет и множеством рейтинговых публикаций. Он один из отцов-основателей тенсегрити-робототехники в УИ, получил несколько грантов на развитие тенсегрити в робототехнике.

Игорь обдумывает идею


Дмитрий, Олег и Хэни собирают первого тенcодрона (что-то напоминает). Дмитрий Девитт GigaFlopsis научный сотрудник и аспирант Университета и тот, кто применил самые современные технологии карбоновые трубки и кевларовые нити, 3D-печать карбоном и мягким пластиком, все реализовал и заставил летать.


Процесс работы по сборке тенсодрона


Ура. получилось!

Летает!


Еще Дмитрий первый актер после тенсодрона в эпичных роликах его полетов. Оцените:


Игра двух актеров в ролях самих себя. Video by DeluuusiOn

Подробнее про конструкцию прототипа


Конструкция первого прототипа дрона получилась такая:


Конструкция прототипа тенсодрона Университета Иннополис

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

Бортовая электроника и электромеханические компоненты прототипа дрона включают в себя:

  • Автопилот CUAV Pixhawk v5 mini;
  • Аккумулятор 3s 1400 мАч;
  • Регулятор Racerstar REV35 35A BLheliS 3-6S ESC;
  • Моторы Racerstar Racing Edition BR2205 2300KV;
  • IMU сенсоры MPU9250.

Тросы сделаны из кевларового волокна с изготовленными на заказ пружинами. Стержни изготовлены из карбоновых трубок. Торцевые колпачки и другие мелкие детали напечатаны на 3D-принтере.

Проблемы управления


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


Ранние тесты тенсодрона на подвесе: вибрации (извините за вертикальное видео)


Ранние тесты тенсодрона в полете: вибрации

Мы не одиноки
Оказывается, у нас был конкурент.

Еще в начале (почти год назад), когда мы делали прототип, мы нашли это видео от ребят из Imperial College London:


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


Отчет Hayden Cotgrove, Christopher Turner, Zachary Yamaoka Tensegrity Drones. Ссылка уже не работает

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

Возвращаемся к проблемам управления и вибрации. Вот, что написано в отчете Hayden Cotgrove, Christopher Turner, Zachary Yamaoka:

Results
The drone was able to hover for short periods, thus proving that it is possible for tensegrity drones to fly. However, the propellers struggled to lift the drone for a couple of reasons:

  • The tensegrity structure was much heavier than the corresponding rigid structure as it made mostly from thick MDF, rather than thin carbon-fibre
  • The tensegrity structure vibrated a lot as the outside structure was not stiff enough, despite the motors being held on one rigid plane
  • The payload also vibrated too much, occasionally colliding the propellers


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


Падение на пол с последующим взлетом, в помещении (без монтажа)

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


Падение на ступеньки (и все ок)


Тест автоматического полета по миссии на улице


Демо полета в помещении с ударом об стену


Что дальше?


Ресерч


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

Применение


Сейчас эта штука летает сама по заданной миссии (в том числе по GPS на улице, а в помещении будем использовать визуальную одометрию). Для нас очевидно дальнейшее применение для инспекции помещений.

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


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

И снова ресерч


Потенциал конструкции тенсегрити-дрона гораздо больше простого дрона.
Помните Foldable Drone из видео выше? А SUPERball?

Так вот, если активно изменять длины стержней или натяжения тросов тенсегрити-дрона, можно управлять его конфигурацией (или, проще говоря, формой)!

Получается Foldable Morphing Tensodrone. Активно ведем исследования в этой области.


Тенсодрон с изменяемой в полете геометрией Университета Иннополис (концепт)



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

Первый вертолёт на Марсе

26.03.2021 00:14:45 | Автор: admin
image

Последовательность первого запуска первого марсианского вертолёта Ingenuity (запланировано в апреле):

  1. Вертолёт отстыковывается от марсохода. Марсоход отъезжает.
  2. Вертолёт взлетает на 13 см, но с кабельным соединением с марсоходом.
  3. Пирозарядом отстреливается провод.
  4. Вертолёт взлётает до 3х метров (скорость набора высоты 1 м в сек).
  5. 30 секунд зависания (запас хода вертолета 90 секунд).
  6. Посадка.


На вертолете Ingenuity будет кусочек ткани с самолёта Flyer 1 братьев Райт. Ingenuity это не первый аппарат NASA который несёт в себе кусочек Flyer 1 за пределы Земли. Ещё один кусочек слетал на Луну и обратно на борту Apollo 11.

Под катом конспект видеорепортажа 2019 года про Ingenuity и разговор с разработчиками.


Первый полет с приводом (powered flight) над другой планетой


image

В 1985 СССР использовал летающие гелиевые шары для исследования Венеры. В рамках миссии Вега два зонда более 46 часов передавали данные с высоты 54 км.

Условия полёта на Марсе


Летать на вертолете в Марсианской атмосфере это как летать на высоте 30 км над Землей. Ни один вертолёт не взлетал выше 12 км, а рекорд для самолетов 26 км.

Плотность атмосферы на Марсе составляет 1% от плотности воздуха у поверхности Земли. На Земле кубометр воздуха весит 1,205 кг, тот же объём на Марсе будет весить где-то 15-18 грамм.
Чтобы летать нужен мощный поток. Самое простое решение быстрее вращать лопасти.

Плотность атмосферы на Марсе 1% от земной.
Гравитация на Марсе 38% от земной.

Скорость звука на Земле 340 м/с.
Скорость звука на Марсе около 240 м/с.

Скорость вращения лопастей Ingenuity составит 2300-2900 оборотов в минуту (40-50 оборотов в секунду).
Скорость вращения лопастей земного вертолета 500 оборотов в минуту (9,5 оборотов в секунду.

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

Масса вертолёта 1,7 кг.

Винты и лопасти


image

У вертолета Ingenuity две лопасти из пенокартона, покрытого слоем углеволокна. Каждая лопасть весит 35 г. Лопасти вращаются 40 оборотов в секунду во время полёта. Вертолёт рассчитан на 90 секунд полёта.

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

image

Вертолет выполнен по соосной схеме с двумя винтами диаметром 1,2 метра, которые позволят ему парить в воздухе. Два соосных винта самое простое решение, т.к. они эффективнее образуют подъемную силу, когда находятся друг над другом.

image


Соосная схема схема построения вертолёта (или же авиационных винтов), при которой пара установленных параллельно винтов вращается в противоположных направлениях вокруг общей геометрической оси.


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

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

Эффект Коппа-Этчеллса один из частных случаев триболюминесценции (см. также Triboluminescence). Термин происходит от греческого трение и латинского lumen свет. Свет генерируется за счет разрыва химических связей в материале при его разделении, разрыве, дроблении, растирании или ином схожем механическом воздействии.


Один американский журналист заметил необычное свечение, возникающее при посадке или взлёте вертолёта в пустыне из-за трения лопастей вертолета о частички песка и пыли в воздухе. Явление было им названо в честь двух американских солдат Коппа и Этчелса погибших в июле 2009 года в Афганистан.

Симулятор разреженной атмосферы и гравитации Марса на Земле


image

Building 150 Twenty-Five-Foot Space Simulator

Есть Twenty-Five-Foot Space Simulator, там можно воссоздать любое давление и проверить аэродинамическую составляющую, но нельзя смоделировать пониженную гравитацию.

image


Twenty-Five-Foot Space Simulator

Чтобы протестировать вертолёт, использовали гравитационную разгрузку. Т.е. подтягивали вертолёт вверх, чтобы он поднимал только 30% своей массы, как будет на Марсе.

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

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



image

Ранний прототип с управлением с джойстика

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

image

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

image

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

Ветер


image

Пылевая буря на Марсе 2018 года.

Скорость ветра на Марсе: 2-7 м/с (лето), 510 м/с (осень), 1730 м/с (пылевой шторм)

Инженеры собрали импровизированную открытую поперечную аэродинамическую трубу из 960 (компьютерных) вентиляторов, стало ясно, что вертолёт выдерживает полёт при ветре 11 м/с.

Батарейка


image

Вертолетик заряжается за 1 полный марсианский день (сол). Емкость аккумулятора от 35 до 40 Ватт-часов. Это как 3 батарейки смартфона. Но основная часть энергии уходит не на полёт.

Вертолетик должен выдерживать низкие ночные температуры от -80 от -100 градусов по Цельсию. Аккумулятор постоянно обогревается. Его облепили электроникой, чтобы она тоже обогревалась. Примерно 2/3 энергии будет уходить на обогрев и поддержание температурного режима элементов и разогрев частей для работы. Лишь треть энергии уходит на полёт.

Термоизоляция


image

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

image

Этот куб закрыт.

image


В центре куба кольцо из батарей. Между батареями и платами есть свободное пространство. Мы закроем фюзеляж и наденем специальную обшивку. Она будет удерживать внутри углекислый газ. Таким образом мы используем углекислый газ как изоляционный материал.

image


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

Путь до Марса


image

До Марса надо сначала долететь. Вертолёт должен выдержать стартовую перегрузку. Вибрационные нагрузки больше 80 g. Потом 7 месяцев космического радиационного фона.

image

После 9 g в марсианской атмосфере, аппарат надо ещё распаковать.



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

Вертолет отделится от ровера при помощи разрывного болта.

Когда вертолёт окажется на поверхности, Ровер отъедет на 100 м. Потом начинается двухчасовой обратный отсчет. Вертолет ждет радиосигнал от марсохода.

Базовая станци на Ровере отправит сигнал для полёта. Цель первого полёта сделать совместное селфи.

Лучшее время до полёта 11 часов утра по марсианскому времени. За ночь большая часть заряда батареи уйдёт на обогрев, к 11 батарея восстановится. Плюс Солнце уже встанет, можно сэкономить на разогреве. Вторая половина дня не подходит из-за тепла. После 12 плотность атмосферы падает, поднимается ветер. После первых полетов будет больше данных, для эксперимента мы попробуем взлететь и во второй половине дня. Но безопасное время от 9 утра до 12 дня.

image

Команда разработчиков следит за испытаниями.

Зачем


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




image

Вакансии
НПП ИТЭЛМА всегда рада молодым специалистам, выпускникам автомобильных, технических вузов, а также физико-математических факультетов любых других высших учебных заведений.

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

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

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



О компании ИТЭЛМА
Мы большая компания-разработчик automotive компонентов. В компании трудится около 2500 сотрудников, в том числе 650 инженеров.

Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.

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

Подробнее..

Динамика квадро-, гекса- и октокоптеров. Моделирование системы управления

03.11.2020 00:14:12 | Автор: admin
Продолжение статьи "Введение в моделирование динамики квадро-, гекса- и октокоптеров".
В этой части автор Александр Щекатуров, рассказывает основные принципы создания системы управления и ее моделирования в структурном виде. Всем кто одолел первые части лекций по теории управления в технических система, все будет ясно и понятно (ну почти). Лекции на хабре лежат по ссылкам:
1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 2.3, 2.3 2.8, 2.9 2.13

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




4 Управление моделью коптера


Всё что было описано в предыдущей части это, по сути, формулировка внутреннего закона полета коптера отвечающего на вопрос как именно объект будет менять свои ускорения, скорости и координаты в зависимости от приложенных сил и моментов. Т.е. мы записали уравнение F(t) = ma(t) (и аналогичное для суммарного момента и углового ускорения) для октокоптера заданной геометрической конструкции. В эти уравнения входят некоторые константы масса коптера, его моменты инерции по главным осям (составляющие тензора инерции), угол отклонения силы тяги ВМГ от вертикали, длины лучей рамы коптера, и некоторые другие массогабаритные характеристики. Как правило, это константы, за редким исключением. Но т.к. задача поставлена в общем виде, мы не подставили ещё конкретных чисел, а все эти величины заменили на символы (символьные константы и/или переменные), и теперь требуется их задать числами для работоспособности модели. Для двигателей это будет коэффициент пропорциональности между квадратом угловой скорости и силой тяги, для массы коптера масса рамы плюс массы всех ВМГ и т.д.


4.1 Переменные проекта сигналы модели


В SimInTech используется плоский неструктурированный список сигналов, и/или структурированная (объектно-ориентированная) база сигналов для задания констант и переменных модели, если в ней есть типовые (повторяющиеся) элементы. В данной модели были и тем и другим способом заведены следующие сигналы (переменные и константы), см. рисунки 13 и 14:



Рисунок 13. Сигналы проекта

Рисунок 14. База сигналов проекта

Среди повторяющихся элементов в коптере явно можно выделить ВМГ они все однотипны и параметризуются одинаковыми (по смыслу) переменными. Также, для регуляторов, которых будет всего 6 (по числу каналов регулирования) тоже можно выделить однотипные элементы. Если это будут ПИД-регуляторы, то коэффициенты пропорциональности P, I, D будут в наличии у каждого из регуляторов, со своим конкретным значением.


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


Рассмотрим немного подробнее параметризацию двигателей (см. рисунок 15). Всего в базе 8 групп сигналов, по 15 сигналов в каждой то есть 120 переменных и констант, описывающих состояние всех двигателей. Важными и задаваемыми пользователем (разработчиком модели) являются wnom, wmin номинальная и минимальная частоты вращения. В дальнейшем эти значения используются в модели двигателя, ограничивая снизу текущую частоту вращения, и для расчета текущих оборотов ВМГ в единицах измерения. Остальные переменные расчитываются в модели и зависят от времени. В эту же категорию можно в дальнейшем добавить и коэффициенты пропорциональности между квадратом угловой скорости и силой тяги ВМГ.



Рисунок 15. Категория Двигатели

4.2 Оптимальное управление


С точки зрения управления коптер представляет собой не самую простую конструкцию мы имеем 8 двигателей, которыми можно управлять индивидуально, но практически каждый из них влияет на все 12 из переменных состояния (фазовых координат) коптера. То есть, если мы будем рулить одним из двигателей менять его обороты в большую или меньшую сторону, это будет оказывать воздействие на каждую из координат x, y, z и на каждую из трёх угловых скоростей. Кроме случаев, когда вектор тяги параллелен какой-либо из координатных плоскостей системы B тогда на 4 из 12 переменных состояния данная сила тяги воздействовать не будет. И, если бы мы делали всё методами классической теории управления, то можно было бы записать 8х12 = 96 передаточных функций между 8 входными воздействиями и 12 выходными (переменными состояния) коптера.


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


Задача оптимального управления заключается в том, чтобы перевести коптер из точки А в точку Б с минимальным перерегулированием, по оптимальной (как правило кратчайшей) траектории и за минимальное время. При этом налагаются ограничения на максимальную скорость, ускорения и углы наклона коптера (отклонение от горизонтальности). Проблема заключается в том, что в прямую сторону можно довольно несложно посчитать как воздействует каждый из двигателей (8 переменных 8 частот вращения) на каждую из 12 переменных состояния. А если учитывать еще и ускорения, то на каждую из 18 переменных. Но в задаче управления требуется наоборот при заданных начальных и конечных координатах требуется вычислить как именно надо управлять двигателями чтобы коптер перешел из одного состояния в другое.


Если не сильно вдаваться в теоретические дебри теории оптимального управления и нелинейного программирования, такую задачу можно свести и решить методом множителей Лагранжа, а точнее условиями и методом Каруша-Куна-Такера, где ограничения, накладываемые на переменные, представляют собой неравенства.


Чтобы упростить изложение, приведем краткий ход решения задачи. Для начала запишем матрицу Г размерностью 6х8 по количеству каналов управления (6) и количеству ВМГ (8), которая будет отображать как именно каждый из двигателей влияет на каждый из каналов управления:

$$display$$Г =\left( \begin{gathered} f1x & f2x & f3x & f4x & f5x & f6x & f7x & f8x \\ f1y & f2y & f3y & f4y & f5y & f6y & f7y & f8y \\ f1z & f2z & f3z & f4z & f5z & f6z & f7z & f8z \\ m1x & m2x & m3x & m4x & m5x & m6x & m7x & m8x \\ m1y & m2y & m3y & m4y & m5y & m6y & m7y & m8y \\ m1z & m2z & m3z & m4z & m5z & m6z & m7z & m8z \\ \end{gathered} \right). $$display$$

$\overrightarrow{f_i(t)} =C_T \cdot \overrightarrow{e_{Mi}} \\ \overrightarrow{m_i(t)} =C_T \cdot \overrightarrow{r_{Mi}} \times \overrightarrow{e_{Mi}}$


Где: fi|x,y,z это коэффициент перед $_{Mi}^2 (t)$ для вычисления силы, которую создаёт i-ая ВМГ в соответствующем направлении, а mi|x,y,z коэффициент перед $_{Mi}^2 (t) $для вычисления момента сил, который создаёт i-ая ВМГ в том же направлении:


Примечание: если у ВМГ будет еще реактивный момент, то у $m_i$ будет еще одно слагаемое.


Легко видеть, что матрица Г показывает зависимость между квадратом угловой скорости i-ой ВМГ и управляющими (силовыми) воздействиями по каждому из каналов управления: $u(t)=Г\cdot _M^2 (t) $. Нам же нужно получить обратное решение зависимость угловой скорости i-ого двигателя от поданного управляющего воздействия по какому-либо из каналов управления. В общем виде эта задача имеет бесконечное множество решений, однако среди этого бесконечного множества можно выделить по тому или иному критерию или способу оптимальное решение.



Рисунок 16. Структура регулятора

Методами теории оптимального управления (подробнее см. [1, раздел 4.1.1]) задача решается поиском так называемой обратной псевдоинверсной матрицы $А^+$, которая вычисляется как: $inline$А^+= Г^Т (Г \cdot Г^Т)^{-1}$inline$. Она же и является оптимальным решением поставленной задачи с наложенными ограничениями на решение.


На практике, для заданной геометрии коптера и полученных 48 чисел в матрице Г, получаем другие 48 чисел, которые определяют правило управления (микширования) двигателей, при поступлении той или иной команды по какому-либо каналу управления. На рисунке 16 представлена общая схема построения регулятора. Задатчик положения вырабатывает нужные координаты, в которые требуется привести коптер. Они сравниваются по какому-то алгоритму с измеренными координатами и управляющий алгоритм вырабатывает 6 управляющих воздействий, по каждому из каналов управления.


На основе посчитанной псевдообратной матрицы $ А^+$, блок управления двигателями вычисляет текущие заданные значения угловых скоростей для каждого из 8 двигателей, как бы суммируя пришедшие 6 команд по каналам управления и определенным образом микшируя двигатели при этом. Сформированные 8 угловых скоростей отправляются на задатчик оборотов двигателей и осуществляется регулирование и управление коптером (см. рисунок 16).


Управляющие команды по каждому из каналов управления формируются как рассогласование между заданной координатой (углом) и текущей, измеренной координатой. Это в самом простом варианте. В более сложном управляющий алгоритм должен иметь в своём составе алгоритм приоритетности стабилизации положения коптера над алгоритмом перемещения в пространстве. Дело в том, что по каждому из каналов есть запас (располагаемая у ВМГ возможность) управления. И, если (например) мы сделаем приоритетным перемещение по оси х то при большом рассогласовании между текущей координатой x и заданной регулятор будет стремиться наклонить всё больше и больше коптер вокруг оси y, и при определенном наклоне уже не хватит возможностей двигателей обеспечивать стабилизацию коптера и регулирование высоты полёта. Для коптера с конкретными параметрами двигателей, винтов, массы и размеров это всё можно вычислить и наложить нужные ограничения на управляющие воздействия ui(t), а также их приоритет. Но это выходит за рамки данной статьи, где мы делаем модель в общем виде. Просто отметим, что стабилизация положения для коптера самая важная задача, перемещение уже вторична, поскольку без стабильного положения переместиться куда-либо целенаправленно будет невозможно.


Выпишем аналитические выражения для элементов первых двух столбцов матрицы Г в случае рассматриваемого октокоптера (без реактивного момента ВМГ и без прецессии!):


$$display$$\begin{gathered} &f1x =&0; \ \ &f2x =&-\frac{1}{\sqrt{2}}C_T \cdot sin(\gamma);\\ &f1y =& -C_T \cdot sin(\gamma); \ \ &f2y =&\frac{1}{\sqrt{2}}C_T \cdot sin(\gamma);\\ &f1z =& -C_T \cdot cos(\gamma); \ \ &f2z =&-C_T \cdot cos(\gamma);\\ &m1x =& 0; \ \ &m2x =&-\frac{1}{\sqrt{2}}C_T \cdot cos(\gamma) \cdot l_2;\\ &m1y =& -C_T \cdot cos(\gamma) \cdot \_1; \ \ &m2y =& \frac{1}{\sqrt{2}}C_T \cdot cos(\gamma) \cdot l_2;\\ &m1z =& -C_T \cdot sin(\gamma) \cdot \_1; \ \ &m2z =&C_T \cdot sin(\gamma) \cdot l_2;\\ \end{gathered}$$display$$


Видно, что первая ВМГ (ось силы тяги которой параллельна плоскости yz) не создаёт никакой силы вдоль оси x и никакого момента вокруг оси x (т.к. пересекает её). Поэтому при управлении по оси x или для создания вращательного момента вокруг оси x первый двигатель бесполезен. Аналогично будет с 5-ым двигателем, а для 3-его и 7-ого будет такая же картина для оси y (всё справедливо в системе координат В).


image

Аналитические выражения для матрицы А^+ будут гораздо более громоздкими и большого смысла не имеют проще вычислить численно матрицу Г, а потом и искомую А^+. В нашем случае для одного из вариантов октокоптера, она получилась равной:

$$display$$A^+ =\left( \begin{gathered} 0&-191.9&-5.029&0&7.112&-67.86 \\ -191.9&191.9&-7.112&-5.029&5.029&67.86 \\ 191.9&0&-5.029&-7.112&0&-67.86 \\ -191.9&-191.9&-7.112&-5.029&-5.029&67.86 \\ 0&191.9&-5.029&0&-7.112&-67.8 \\ -191.9&-191.9&-7.112&5.029&-5.029&67.86 \\ 191.9&0&-5.029&7.112&0&-67.86\\ -191.9&191.9&-7.112&5.029&5.029&67.86\\ \end{gathered} \right).$$display$$


Смысл матрицы примерно в следующем: она показывает на какое количество (рад/с)^2 надо изменить частоту вращения каждой i-ой ВМГ (из 8), чтобы осуществить единичное управляющее воздействие на объект по тому или иному каналу управления. Например, если мы хотим к коптеру приложить силу 1 Н по каналу управления x (первая колонка), то угловую скорость 1-го двигателя и 5-го менять не надо, а к текущим угловым скоростям других двигателей надо добавить или отнять примерно 13,8 рад/с. Это довольно приличное изменение угловой скорости, и вообще управляемость по каналам x, y появилась здесь как побочное следствие того, что каждая из ВМГ повёрнута вокруг своего луча еще на 3 градуса.


Если бы все ВМГ были расположены вертикально, то первые две колонки матрицы А^+ получились бы бесконечными т.е. коптер с вертикально расположенными ВМГ по горизонтальным осям не управляется вообще! Управление по этим осям (в инерциальном пространстве) достигается поворотом коптера вокруг осей и перенаправлением суммарного вектора тяги в какую-либо сторону.


Третья колонка управление по оси z, имеет отрицательные числа т.к. ось z направлена вниз, а вектора силы тяги ВМГ вверх. Обратим внимание, что абсолютные значения чисел третьей колонки гораздо меньше, чем первой и второй и все имеют один и тот же знак. Это означает что коптер имеет гораздо лучшую управляемость по вертикальной оси, что очевидно, т.к. все ВМГ как раз и работают практически в эту сторону (а не влево-вправо-вперёд-назад). Четвёртая колонка и пятая это управляемость коптера по крену и тангажу, последняя шестая по курсу. Видно, что по курсу коптер гораздо слабее управляем, чем по крену и тангажу. Но для наших целей, и для целей настоящей обучающей статьи, этого было достаточно. Подбором направлений сил тяги ВМГ (и перевычислением матриц для новой геометрии) можно этот баланс менять.


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


Общая структура регулятора приведена на рисунках 17 и 18.



Рисунок 17. Общая схема регулятора

Рисунок 18. Схема каналов регулятора

В самом простейшем случае на 6 входов регулятора поступают заданные фазовые координаты, они сравниваются с текущими (измеренными) и в общем случае в соответствии с матрицей А^+ и ПИД-регулированием по каждому из каналов, вырабатывается 6 управляющих векторов, по 8 переменных в каждом, которые суммируются и получаем итоговый вектор управления с заданными угловыми скоростями для каждого из двигателей. На практике, не всё так просто


4.3 Регулятор высоты


Регулятор высоты можно выделить отдельно от других, поскольку он задействует примерно одинаково все двигатели, и даже без матриц Г и А^+ понятно: для того чтобы коптер летел вверх, надо увеличивать газ, а чтобы вниз уменьшать обороты ВМГ. В качестве простейшего регулятора высоты можно взять обычный ПИД-регулятор, который справится с управлением при верно подобранных коэффициентах. На рисунке 19 показан один из вариантов регулятора, с доработкой ограничения вертикальной скорости, если текущая позиция отличается от заданной более чем на 5 метров.



Рисунок 18. Регулятор высоты, один из вариантов

В чем основная идея регулятора: на вход подается текущая величина рассогласования между заданной высотой и измеренной высотой, подаётся текущая вертикальная скорость и ограничение на вертикальную скорость. Если рассогласование больше 5 метров, то регулятор работает в режиме ограничения скорости и стремится к тому, чтобы вертикальная скорость vz стала равной +OGRV м/с или -OGRV м/с в зависимости от направления полёта. Если рассогласование менее 5 м, то регулятор стремится к нулевой скорости полёта и сведению в ноль рассогласования по высоте.


Выходной сигнал регулятора подается с коэффициентами матрицы $А^+$ (согласно третьей колонке) на каждый из 8 двигателей.


4.4 Регулятор ориентации коптера


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


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


Для сведения к нулю трёх составляющих угла, скорости и момента они должны быть входными сигналами в регулятор. Один из вариантов представлен на рисунке 19. Заданное значение равно нулю, и в стабильном состоянии выходной сигнал сумматора будет равен нулю. Если появляется какое-то ненулевой состояние, то выход регулятора будет также отличен от нуля, далее он домножается на вектор, равный 4-ой колонке псевдообратной матрицы А^+, представленной выше и формируется вектор усилий на 8 ВМГ, который должен компенсировать возникший дисбаланс поворота вокруг оси $x_B$.



Рисунок 19. Регулятор крена

Рисунок 20. Коэффициенты блока типа Размножитель в регуляторе крена

Аналогично выполнен и регулятор по каналу тангажа (представлен на рисунке 21).



Рисунок 21. Регулятор тангажа

Рисунок 22. Коэффициенты блока типа Размножитель в регуляторе тангажа

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


4.5 Регулятор положения коптера в пространстве


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


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


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


В-третьих, у классического коптера с винтами, расположенными в одной плоскости и параллельными силами тяги, направленными вверх, практически нет возможности создавать боковую силу тяги т.е. по существу, коптер является неуправляемым по осям X и Y. В нашем варианте, когда винты довернуты еще на 3 градуса вокруг своих лучей, у них появляется небольшая сила тяги направленная в стороны, и микшированием двигателей можно создавать боковую силу тяги. Однако, она очень несущественна, почти нулевая об этом свидетельствуют большие числа в 1 и 2 колонках матрицы А+ для того, чтобы создать силу тяги величиной 1Н в сторону, нужно изменить частоту вращения двигателей почти на 15 рад/с (квадрат частоты вращения на 191 (1/с)2). С точки зрения управления, это слишком большая величина. Поэтому коптеры управляются по направлениям X и Y при помощи других каналов управления поворачиваясь вокруг осей X и Y (об этом напишем дальше).


Но структурно если делать регулятор по каналам Х и Y типовым образом, регулятор может быть выполнен аналогично регуляторам ориентации на выходе формируется управляющее воздействие по каналу X (Y) и домножается на вектор 1 (или 2) колонку матрицы $А^+$, а полученные 8 сигналов подаются на ВМГ.


Один из вариантов регулятора по каналу X и Y представлены на рисунке 23 и 24.



Рисунок 23. Регулятор по каналу Х

Рисунок 24. Регулятор по каналу Y

Регуляторы двухрежимные, при отклонении от заданной позиции более чем на 5 метров, переключаются в режим работы V и поддерживают скорость по направлению на уровне REGX_OGRV (или REGY_OGRV) м/с. При этом, интегрирующая ветка регулятора отключается. При переходе в режим позиции, интегрирующая ветка включается в работу с некоторой задержкой чтобы коптер успел подлететь к заданной точке и не набралась существенная величина на интеграторе за время подлета.


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


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


В сумме, на выходе всех 6 каналов управления (по курсу регулятор во многом аналогичен регуляторам ориентации и для сокращения материала не приводим его здесь) мы имеем по каналу регулятора высоты некоторую базовую желаемую частоту вращения для каждой из 8 ВМГ, и некоторую добавку, сформированную остальными 5-ю каналами управления. Единственный нюанс микшированные добавки, т.к. это не прямая добавка к частоте вращения, а добавка к квадрату частоты вращения, и для того чтобы вычислить добавку именно к частоте вращения, надо еще дополнительно проделать несложные математические вычисления, см. рисунок 25:



Рисунок 25. Суммирование каналов управления

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

$\omega_i = \omega_{ibase} + \Delta \omega_i \\ \Delta \omega_i = \sqrt{(\Delta \omega_i)^2+(\omega_{ibase})^2} - \sqrt{(\omega_{ibase})^2}$


где квадраты скоростей это сигналы, выходы каналов управления.


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


4.6 Регулятор положения коптера в пространстве по каналам крена и тангажа


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


Путем несложных выкладок, можно получить следующие формулы для вычисления угла наклона:

$\phi_{звд} = arcsin(y_{задI}); \\ \theta_{зад} = arcsin(\frac{x_{задI}}{cos(\phi_{зад})})$


где $y_{задI}$ и $x_{задI}$ рассогласования заданных значений координат и измеренных в инерциальной системе отсчета, а выражения под арксинусом дополнительно ограничиваются некоторой величиной (полученной исходя из запасов управляемости коптера по крену и тангажу), например, диапазоном $\left[ -\frac{\pi}{16};+\frac{\pi}{16}\right]$ .


Если такие величины подать вместо нулевого значения на вход регуляторам крена и тангажа, то регулятор будет дополнительно доворачивать коптер на небольшой угол, для полета вдоль своих осей X и Y. Если учитывать еще и возможность изменения курса, то формулы получатся посложнее, но смысл управления будет тем же самым. Реализация такого управления показана на рисунке 26.



Рисунок 26. Формирование задания на крен и тангаж
Модель коптера можно взять по этой ссылке здесь...:
Видео модели коптера можно посмотреть здесь

Список литературы


  1. Первая часть. Введение в моделирование динамики квадро-, гекса- и октокоптеров
  2. Design, Modeling and Control of an Octocopter, Oscar Oscarson, Royal Institute of Technology 2015
  3. Development, Modelling and Control of a Multirotor Vehicle, Markus Mikkelsen, Ume University 2015.
Подробнее..

Как мы участвовали в соревнованиях автономных дронов 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. Привет участникам и организаторам!

Подробнее..

Сказ о том, как махолетчики за старое взялись

12.02.2021 22:16:25 | Автор: admin

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

Махолеты "FlapFlyer" и "Serenity" готовы к испытаниямМахолеты "FlapFlyer" и "Serenity" готовы к испытаниям

Итак, четыре года назад мы поняли, что остались без махолета, который делали для дяди. По итогу, у нас было только видео полета аппарата и еще куча опыта. Подумав, поразмыслив, решили делать махолет заново. Так как ребята мы (Мельник Андрей и Дмитрий Шувалов) отчаянные и смелые, было принято решение собрать не один махолет, а сразу два. И ладно, если бы просто повторили прошлый успех этого нам показалось мало, мы решили делать два новых аппарата с учетом тех проблем и ошибок, которые были допущены в ходе предыдущей разработки. Выбрали два направления развития махолета одно условно назвали вдоль, другое поперек. Схема вдоль придерживалась следующей гипотезы: так как предыдущие опыты показали, что на крыльях творится что-то не ясное в плане аэродинамики, то можно попробовать сделать поликрылый махолет (4 пары крыльев, в определениях классической аэродинамики - 4 крыла) расположенных друг за другом. Такой подход решал сразу несколько проблем. Рост инерциальных нагрузок в третьей степени размаха крыла (смотри подробнее статью на Хабр) был уже не так страшен за счет того, что несущая площадь была увеличена количеством крыльев, аппарат можно было сделать относительно не дорогим из-за использования простых решений и деталей небольшого размера. Помимо прочего, было решено сделать аппарат электрическим для простоты пусков и получения данных по энергетике процессов маха. Этот проект возглавил и понес весь груз проблем Дмитрий Шувалов. Название проекта - Serenity.

Махолет "Serenity"Махолет "Serenity"

Схема поперек придерживалась гипотезы: если обеспечить демпфирование нагрузок в конечных точках траектории маха, то можно добиться достаточной прочности, надежности и эффективности конструкции, чтобы перепрыгнуть теоретический барьер взлетной массы - 40 кг. Проект возглавил Мельник Андрей. Название проекта - FlapFlyer. Этот проект был объемнее по составу деталей, сложности конструкции, размерам и взлетной массе. Финансово создать такой аппарат без привлечения других участников было невозможно. Фактически проект родился благодаря Алексею П. его инициативе и рвению ко всему новому.

Махолет "FlapFlyer"Махолет "FlapFlyer"

Оба проекта были заложены практически одновременно летом 2017 г.

Уже в октябре 2017 года махолет Serenity прошел первые испытания (пробежки, статические прогоны). Следует отметить, что конструкция аппарата оказалась удачной. Она опиралась во многом на приобретенный нами опыт в проекте Rarok, но была значительно усовершенствована и модернизирована. Дальнейшие испытания показали правильность и надежность выбранных конструкторских решений. Однако, не смотря на соблюдение, казалось бы, всех условий аппарат упорно не хотел летать, что и показали летные испытания. Мы подбирали центровку и баланс, меняли конструкцию крыльев с целью максимально их облегчить, механизм и длину балок оперения, систему управления и т.д. Каждое испытание давало нам зацепку, как решить проблему полета. И каждый раз мы упирались во что-то новое. Нужно понимать, что Дмитрий создавал и модернизировал конструкцию сам, за свой счет и это было очень непросто. Аппарат периодически капризничал, но все же конструкторские вопросы мы научились оперативно решать еще с Рароком, а вот теорию продольной схемы приходилось осмыслять и строить по крупицам результатов. В общей сложности аппарат претерпел более 10 доработок и переделок. И вот, наконец, в ноябре 2020-го прошли ключевые испытания, продемонстрировавшие состоятельность продольной схемы. Serenity уверено летал, маневрировал, набирал высоту. Безусловно, это была победа! К сожалению, во втором полете, была допущена ошибка в пилотировании и аппарат разбился. Но, как сказал, сам конструктор: "Я все равно хотел его весь переделать".

Судьба аппарата FlapFlyer оказалась совсем иной. Изначально, предложенная Андреем концепция привода, оказалась не состоятельной. Опыт Рарока был здесь не применим, так как новизна предложенной концепции - очень высока. В погоне за уменьшением удельной массы конструкции были допущены значительные ошибки, которые привели к неработоспособности первой схемы. Проблемным оказался узел преобразования вращательного движения в возвратно поступательное. Для проверки гипотезы демпфирования необходимо было отказаться от явных мертвых точек, для этого в качестве преобразователя движения была выбрана кулиса. И это оказалось самой большой конструкторской проблемой. Второй не меньшей проблемой была общая компоновка аппарата. В качестве силовой установки использовался ДВС, это и привело к проблемам с мягкой передачей вращающего момента, которую так же следовало реализовать. От изначальной концепции в проекте остались только шасси, силовой каркас привода, трансмиссия и оперение, все остальное было последовательно переделано. На текущий момент аппарат готов к очередным испытаниям, которые ему и предстоят весной. FlapFlyer пока даже не пытался летать (было совершено несколько пробежек), поэтому нас еще наверняка ждут сюрпризы с аэродинамикой и динамикой, потому как и это несколько отличается от Рарока. Главная проблема этого проекта слишком большая новизна при минимальном количестве ресурсов. Только благодаря всем сочувствующим, друзьям и спонсорам, которые оказывают значительную помощь в реализации проекта, мы просто обречены на успех!

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

В связи с нашими успехами мы не можем не почтить память Киселева Валентина Афанасьевича, нашего учителя. Несмотря на то, что именно разногласия в подходах и взглядах, как нужно строить махолеты сделали нас оппонентами (даже были обвинения в воровстве идей Профессора), мы с большим уважением относимся к Валентину Афанасьевичу. Иной взгляд позволил оттолкнутся и уйти значительно вперед от идей его группы, что в конечном счете принесло успех!
С весны мы продолжим работу над нашими аппаратами. Будем рады любой поддержке, кроме бесплатных советов (уж очень они утомляют).

Следите за нами на Youtube-канале.

Подробнее..

Летаем на дроне легально

16.03.2021 12:09:05 | Автор: admin

Зачем мне/вам это нужно?

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

Лет 5 назад мне подарили дрон, ноунейм дрон. Это была очень простая копия DJI Phantom 1, которая не умела держать высоту, летать против ветра и снимать лучше кнопочного телефона 2002 года. В общем, один раз запустили, у него сели батарейки, да и больше не было желания к нему прикасаться. Зато вновь появился интерес к радиоуправляемым моделям (дронам).

Дальше мне подарили DJI Spark - мой первый нормальный дрон, который умел снимать вот так

@WondeRu. Карелия, 2018. DJI Spark.@WondeRu. Карелия, 2018. DJI Spark.

В принципе, отличная модель, хорошо снимает, но для меня это не главное - хочется подольше полетать, а Spark не позволяет летать более 10 минут. Поэтому решил поменять на что-то посерьезнее, выбор пал на DJI Mavic Air 2.

Новый дрон материализовался в результате совместных просмотров обзоров с супругой. Она не выдержала информационного потока, поддалась рекламе (я же на неё не ведусь) и подарила Mavic Air 2 на день рождения.

Здорово, но теперь взлетная масса моего дрона превышает 250 грамм, а на это практически во всех странах существуют запреты. Я не проверял на себе, но насколько я понимаю, если на голову упадет дрон массой 0.5 кг то, в зависимости от скорости, он вполне может проломить череп. Отсюда и запреты. Есть вариант по-партизански взлетать из кустов, чтобы не нарваться на штраф, но проще зарегистрировать.

Внимание: учтите, что с зарегистрированным дроном снимать "острые" репортажи уже не получится - ибо застрявший или посаженный дрон тут же приведёт к владельцу. Также вы не избегаете ответственности, если кого-то покалечите или поцарапаете чужой Mercedes Gelndewagen.

Летаем легально в Европе (Европейском Союзе)

Мне нравилось (до пандемии) путешествовать по Европе и почти "заштриховал" её всю, есть что посмотреть и поснимать с воздуха.

Европейское агентство по безопасности полетов (EASA) делит дроны на 3 категории:

  1. OPEN - взлетная масса до 25 кг, высота не более 120м, можно использовать только, если дрон в прямой видимости, не летает над людьми и их не перевозит, также нельзя перевозить опасные грузы

  2. SPECIFIC - если взлетная масса более 25 кг или вы летаете выше 120м или не в прямой видимости.

  3. CERTIFIED - можно летать над людьми, можно перевозить людей, можно перевозить опасные грузы.

Существуют еще дроны, которые не поддаются категоризации EASA: например, полицейские или дроны для помещений.

Будем сдавать на OPEN категорию, хотя, DJI Mavic Air 2 и провоцирует летать выше 120 м и за горизонтом. Недолгий гуглёж показывает, что проще всего сдавать бесплатный онлайн экзамен на сайте. На подготовку мне потребовалось всего 2 часа и пару попыток на сдачу экзамена. Была одна загвоздка: сайт на немецком языке, который я не знаю совсем, но Google Translate сносно переводит на английский, поэтому проблем с подготовкой не возникло. На экзамене ожидал приятный сюрприз: можно сдавать не только на немецком, но и на английском. На выходе вы получаете такой сертификат.

Насколько я понял немецкий: сертификат действует на территории всего Европейского союза и даже Великобритании. На всякий случай, распечатайте его и положите рядом с дроном, а также сохраните PDF во все возможные дропбоксы. Главное требование: QR код должен четко читаться на случай проверки.

Летаем легально в России

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

И так, с 2021 года зарегистрировать дрон можно за 10 дней через Госуслуги, приложив лишь его фотографию. На портале услуга называется "Внесение информации о беспилотном воздушном судне в базу данных и формирование учетной записи и учетного номера". В прошлом вам нужно было фотографировать, проявлять печатать фотографии и отправлять в аналоговом конверте.

В заявке нужно будет указать серийный номер и модель устройства. Я под батарейкой насчитал 4 различных номера, которые могли бы быть серийниками, но гугл спас и в этом случае (на всякий случай: на DJI Mavic Air 2 серийный номер указан в батарейном отсеке справа от штрихкода в две строчки).

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

Всё, поздравляю, теперь вы легальный водитель/лётчик/оператор дрона на территории РФ!

Страхуем дрон?

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

ОСАГО для дрона я нашел в нескольких местных крупных страховых компаниях. Уверен, вы их сами найдете в поисковике. Годовая стоимость страховки варьируется от 2 до 10 тысяч рублей, в ней вы должны указать устройство, его серийный номер, а также всех "пилотов" дрона.

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

Заключение

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

Подробнее..

Экстрасенсорные шпионы из Китая пытаются украсть восторг вашего разума дроны в кино

08.03.2021 04:13:19 | Автор: admin
Dream of Californication Dream of Californication

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

It's understood that Hollywood

sells Californication

Как мне кажется, у меня необычный творческий путь. Знакомство с Unix-системами я начал с QNX, микроядерной системы реального времени с красивой правильной архитектурой, работу с БПЛА с дирижаблей, которые используют аэростатическую подъемную силу и больше похожи на подводную лодку, чем на обычный дрон-коптер. Работу же с мультикоптерами я начал уже позже с первого самостоятельного проекта нашей команды RaccoonLab, состоящего в создании системы автоматизированной художественной кино-съемки с дрона. Необычность этого проекта состояла еще и в том, что он делался удаленно, во взаимодействии с командой в долине, что для робототехники даже в текущие времена общепризнанной дистанционки остается необычным.

Этот проект стал важным в нашей судьбе, мы о нем часто вспоминаем и возвращаемся к нему (либо его составляющим). Например, к нам заезжал Фёдор Бондарчук, который сказал, что такие штуки ох как нужны. Или когда презентовали первый художественный фильм снятый в Иннополисе (Он, она и робот), была сессия общения с командой FILM24.PRO. Там вживую можно было посмотреть на RED камеру, о которой было так много разговоров в нашем проекте (похоже, она действительно классная).

А недавно в нашем пространстве Арт Спейс состоялась встреча о взаимном сотрудничестве по вопросам технологического развития IT-отрасли и киноиндустрии.

Многие технологии, которые мы используем для других задач, отсюда тоже гладкие кривые, параллельное управление дроном и камерой на подвесе, MPC, фотограмметрия, DJI SDK, аппаратные средства (дроны DJI, компьютеры Nvidia, RTK, радиолинки и т.п.).

шпион из Китая :)шпион из Китая :)

Еще нельзя не вспомнить про волшебное знакомство с работой бизнес-ангелов и с невероятным человеком Botao (Amber) Hu. Он разработчик и предприниматель китайского происхождения из Калифорнии, делал первую версию DJI ROS SDK, стажировался и работал в HKUST, Google, Microsoft, Pinterest, Twitter, DJI, оттачивал мастерство программирования на русских онлайн-олимпиадах, запустил несколько проектов, занимался профессиональной фотографией (здесь его спич с TEDx о том как это связано с дронами) и оплатил наш заказ на коптеры для работы два раза, не сразу заметив это :)

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

Про роботов в кино

Кинематограф будущего стоит на IT-технологиях, цифровых хранилищах, компьютерной графике, виртуальной, дополненной и смешанной реальности, искусственном интеллекте, нейросетях.

Не будем рассматривать всё IT, пощупаем хотябы области пересечения кино и роботов (и прежде всего рассмотрим роботов, использующихся в процессе съемки за кадром, а не в качестве героев фильмов).

Л: Именно. Технологии всегда просто облегчали жизнь. Быстрее доехать, дешевле купить, жить в лучшем доме и прочее. То же самое и с информационными технологиями. Вот предположим, все соединены со всеми. Что дальше? Что тут еще можно сделать? Конечно, можно улучшить качество связи, но это не принципиальная разница. Значит, куда нас ведут технологии? На мой взгляд, следующий серьезный шаг это развлечения.

Д: Развлечения как венец развития

Линус Торвальдс, Дэвид Даймонд Just for Fun. Рассказ нечаянного революционера

Роботы для кино это целая индустрия со своими звездами и серьезными бюджетами. В целом, роботы используются в кино как:

  • интерактивные объекты в кадре (зачастую под проект);

  • инструменты 3d моделирования;

  • инструменты съемки (летающие камеры).

Motion capture

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

Motion captureMotion capture

Здесь пересечение в том, что технология, широко применяемая в кино, известна и робототехникам. В робототехнике используется как локальная навигационная система для определения положения и ориентации робота для управления и ground truth. Прежде всего используется в ресерче. Так, мы используем решение от Optitrack, чтобы анализировать движение нашего Тенсодрона.

Фотограмметрия

Вместо хромакея

(немного оффтоп но к месту)

Недавно я узнал про новую тенденцию в кинопроизводстве: круговые дисплеи, LED-панели, которые с использованием технологий видеоигр создают реалистичный мир вокруг актеров. Эта штука выводит на первый план VFX (создание визуальных эффектов), которое делается не на этапе постпроизводства, а до съемки с актерами (virtual production workflow).

Ещё материал по теме: как реальные камеры снимают виртуальный мир

Про технологию:

Как снимали Короля льва:

Собственно фотограмметрия

Для создания этого фонового мира в virtual production workflows вместо ручной прорисовки 3d-художниками все чаще используется технология фотограмметрии. Фотограмметрия это процесс создания 3D-моделей из нескольких фотографий одного объекта, сделанных с разных углов.

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

Мы использовали DroneDeploy, есть Pix4D и ряд опенсорс решений (Colmap и др.). Есть также Metashape от российской Геоскан, которая, кстати, используется в Голливуде.

Мержаново 3dМержаново 3d

Летающие камеры

Ассоциация с беспилотной летающей кинокамерой из S.N.U.F.F.. Ассоциация с беспилотной летающей кинокамерой из S.N.U.F.F..

Мы постепенно подбираемся все ближе к дронам. Но пока сфокусируемся на одной особенности камер (точнее даже не их самих), которые используются как на дронах, так и в целом для киносъемки: наличие стабилизаторов (или подвесов gimbal).

Подвес MVI Pro от Freefly SystemsПодвес MVI Pro от Freefly Systems

Недавно благодаря DJI Osmo стабилизированные камеры получили уже совсем широкое распространение. Немногим ранее подвесы в основном использовались профессиональными операторами для получения гладкого видео без скачков при движении оператора.

Среди производителей профессиональных решений в этой области можно назвать Freefly Systems, DJI. В России, похоже, тоже есть интересная история на эту тему (см. Forbes).

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

RobycamRobycam

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

Что заменяет дрон в кино:

  • вертолёты;

  • операторский кран.

Вертолет с philpastuhov.com, кран с freeflysystems.com Вертолет с philpastuhov.com, кран с freeflysystems.com

Не нужно рассказывать, что любительская фото-видеосъемка основное применение дронов, и что лидером в области дронов является компания DJI (про одну новую компанию-единорога, которая круче, в следующей части). У DJI есть как любительские так и профессиональные решения для киносъемки (см. Ronin и M600). Другая компания, Freefly, специализируется именно на направлении кинодронов целиком. Совсем недавно компания Sony тоже представила высокотехнологичный кинематографический дрон.

Выход Sony на рынок произошел после того, как DJI, ведущий производитель дронов в мире, был добавлен в черный список в США вместе с другими китайскими технологическими компаниями, такими как Semiconductor Manufacturing International Corp.

Нехорошие ребята, выгнали DJI с рынка :) Тема дронов становится еще горячее.

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

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

Еще про роботов в кино (и в том числе про российские компании) здесь:

Запись эфира youtube-канала PRO Роботов

Гладкость, плавность и повторяемость

Зачем нужно автоматизировать киносъемку с дронов?

Фото эпичных чуваков из презентации DJIФото эпичных чуваков из презентации DJI

Обычно профессиональная съемка с БПЛА выполняется двумя операторами. Это связано с тем, что нужно одновременно управлять движением дрона в пространстве и камерой её ориентацией, зумом, фокусом (или, в общем, тем, какой получается кадр). Соответственно, степеней свободы 6 + 3 минимум, одному справиться сложновато.

9 DOF9 DOF

Особенности (и боли) этой работы следующие:

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

  • Невозможность предпросмотра: нужно множество репетиций.

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

  • Проблема масштабирования: длительное время обучения (и сработки) операторов.

Итого, основные требования к системе/процессу съемки с БПЛА, которые я прочувствовал, погружаясь в тематику:

  • плавность кадра;

  • повторяемость;

  • предпросмотр.

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

Клип Radiohead Man Of War (явная игра с переключением времени суток):

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

Выводы в конце статьи

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

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

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

Наша команда: instagram.com/raccoon.lab

Саундтрек к статье (и объяснение странного заголовка):

And tidal waves couldn't save the world

From Californication

Подробнее..

ARDU Remote очень простая и дешёвая аппаратура управления своими руками

18.08.2020 04:18:22 | Автор: admin

Всем привет.
Захотелось мне однажды: маленькую удобную аппаратуру для дрона/крыла; usb-джойстик для симуляторов и Open.HD; найти оправдание построенной дельте (3d-принтеру) и пострадать ардуино. Сразу фото итога:


Размышления и гуглеж привели к выбору BetaFPV Lite radio как образца для внешнего вида. Хотелось, конечно, Taranis X-Lite, но стики были только крупные, от подаренной товарищем бесполезной ввиду древности аппаратуры. Переключатели на 60% были использованы от неё же.
Изначально делал только USB-версию. Оно отлично работало в симуляторе FPV Freerider и как управление в Open.HD линке, но мысль прилепить QCZEK и автономное питание уже овладела мной бесповоротно.
В итоге вышло что вышло..


Гитхаб: https://github.com/whoim2/arduremote
Видео:



На гитхабе скетч, схема, используемые библиотеки и всякое полезное, включая 3d-модели и исходники для solid.


Схема относительно проста и требует только пайки проводов за исключением резистивного делителя и светодиодов. Работу с qczek lrs я обойду стороной, для этого есть сайт разработчика и неплохие видеотуториалы в ютубе от Юлиана и Сани areyouroo.



Можно ограничиться только usb-версией без питания и lrs, в качестве lrs можно использовать другие проекты, где принимают на вход CPPM 8/10ch сигнал. При выборе QCZEK появляется выбор между 0.1 и 1вт модулями и частотами 433/868/915 МГц. Я не рекомендую 433, наводки от них дикие. Также не увидел смысла в 1вт, при 100мвт вполне реально пульнуть на 10км. Если планируете покупать антенны смотрите на версии 915мгц и готовые антенны для популярных дальнобоек frsky. Недорого и какая-то гарантия попадания в приемлемый КСВ. Я же просто подпаял к хвосту с ipex два отрезка медной проволоки D0.4mm, длиной 8.21см и заложил это всё в корпус антенны прямо в середине печати на 3д-принтере. Побегал с аппаратурой по этажам многоквартирного дома обрыва или падения rssi на модели в квартире не добился, устроило.


Для Open.HD (usb-версия) пока нет смысла в свичах sw4 и sw5, так как число каналов ограничено 8-ю. Возможно, в дальнейшем это ограничение будет снято. Имейте ввиду, что подключение к Open.HD с модулем зарядки даёт дополнительную нагрузку на usb-порт наземной raspberry по питанию. Имеет смысл заюзать хаб с внешним питанием.


Калибровка аппаратуры: подаём питание с зажатой SW_CALIBRATE при средних положениях yaw/roll/pitch и минимальных throttle/aux1; ждём гудка; двигаем всё с осями от минимума до максимума, пока есть пищание. Когда пищать уже не может выключаем, калибровка завершена.


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


В общем, заготовка для творчества вполне себе ничего. Нет триммирования, но оно и не нужно для полетов с полётным контроллером, а без него эта аппаратура врядли может пригодится.
Также я прилепил блютус-модуль jdy-30 к qczek и гоню в него мавлинк телеметрию, которую принимает DroidPlanner 2.8 или Telemetry Viewaver на андроид-смартфоне. Наверное, также засуну и mavlink-display. Пусть будет красиво, как у дорогих crossfire xD


Спасибо за внимание, жду вопросов и повторений / развитий сего рукожопства.

Подробнее..

Перевод Как найти мелкие потерявшиеся квадрокоптеры

22.05.2021 22:20:06 | Автор: admin


Обычно у дронов есть GPS-датчик, и они могут сообщить пилоту о том, где упали. Но что, если ваш квадрик весит 25 грамм с батареей, и у него просто нет GPS? У любителей этого хобби есть множество способов отыскать свою любимую игрушку. Вот список таких методов и разных советов.

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

Делайте шасси и пропеллеры яркими, используйте цвета, не часто встречающиеся в природе, и хорошо видимые для глаза: белый, оранжевый, красный. А такие цвета, как фиолетовый, синий и голубой, хотя и кажутся на первый взгляд яркими, но теряются в густой растительности. Кроме того, в человеческом глазе ближе к центру расположено совсем немного колбочек, распознающих синий цвет, поэтому издалека его увидеть сложно. Жёлтый и зелёный слишком часто встречаются в природе (при этом цвета для светодиодов для ночных полётов лучше выбирать белый, оранжевый и красный). Если вы хотите сделать неяркую ночную подсветку для квадрика, выбирайте сине-зелёный светодиод с длиной волны порядка 498 нм к этому диапазону наиболее чувствительны палочки. Также можно обмотать батарейки оранжевой плёнкой, а на антенне сделать небольшой флажок на случай, если эти детали отвалятся при падении.

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

Используйте очки в качестве гониометра. Один из простейших вариантов использования очков проверка силы сигнала. Чем сильнее сигнал, тем вы ближе. Но очки также дают и направление. Прислоните их к животу и медленно поворачивайтесь. Когда сигнал окажется на минимуме, квадрик будет у вас за спиной. Когда сигнал на 100%, а вы не видите дрон значит, он застрял где-то над землёй, где антенну ничто не заслоняет. Чувствительность очков можно уменьшить, вывинтив антенны. Наоборот, когда сигнал слабый, прикрутите направленную антенную и водите ею из стороны в сторону. Учтите, что сигнал через несколько минут пропадёт, вам нужно действовать быстро.

Наклейте на дрон флуоресцентную ленту. Можно будет вернуться ночью и посветить везде ультрафиолетовым фонариком. Наклейка будет видна с нескольких десятков метров.



Некоторые рекомендуют использовать светоотражающую плёнку вместо флуоресцентной. Если вы будете держать фонарик рядом с головой на уровне глаз, вы увидите отражённый свет издалека. Также можно использовать светоотражающие стеклянные шарики.

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

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



Один из пользователей предложил повесить на коптер пищалку для поиска ключей. Можно снять её пластиковый корпус, и примотать ниткой к квадрику, заодно закрепив аккумулятор. Если дрон упадёт не очень далеко от вас, это может помочь. Также один из вариантов пищалка для ключей на Bluetooth. Их нужно привязывать к смартфону. Когда она попадает в радиус действия, со смартфона можно подать команду на писк. Некоторые приложения даже измеряют силу сигнала, чтобы помочь навестись на брелок. Но даже если смартфон не привязан к нему, на телефоне можно посмотреть список ближайших Bluetooth-устройств и силу их сигнала. ID брелока нужно записать заранее он выглядит как-то так: 14:BB:6E:61:0A:6F.

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

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



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

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

Найдя, сразу проверьте на отсутствие компонентов. Пропеллеры, антенны, батарея, линзы. Если что-то отвалилось, скорее всего, оно где-то рядом с местом падения.

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

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

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

Уподобьтесь Макгайверу, и носите с собой клейкую ленту. Я использую узкую ленту 3M 550 Scotch. Её, например, можно использовать, удлинив удочку при помощи веток. Швейцарский нож Макгайвера тоже обязательно нужно носить с собой чтобы не возбуждать полицию, я ношу самый мелкий.

Бывают очень прочные деревья, которые невозможно потрясти. Используйте верёвку, протянув её посередине высоты дерева или посередине ветки. Тогда вы сможете тянуть верёвку с земли и трясти часть дерева. Чтобы закинуть туда верёвку, сначала закиньте туда камень с привязанной леской, за которую потом затяните верёвку. Однажды я с помощью коптера H8 Mini поднял леску наверх, обогнул ветку, и дал ему упасть.

Прикрепите к нижней части коптера резинку в идеале оранжевую, для упаковки подарков. Двух метров будет достаточно. Такую резинку сможет поднять даже Cheerson CX-10. Если дрон упадёт в высокую траву или застрянет в кустах, резинка будет видна с большого расстояния. Проблема только в том, что коптер может упасть из-за резинки. Если вы исполняете сложные фигуры, или день ветреный, резинка может попасть в пропеллер поэтому этот совет подходит только новичкам. Также резинку можно использовать для демонстрации: когда коптер летает невысоко над землёй, таща за собой резинку, он становится похож на змею.
Подробнее..

Категории

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

  • Имя: Макс
    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