Летающая робототехника
Профиль Летающая робототехника Национальной технологической олимпиады посвящен практической деятельности в области автоматизации управления квадрокоптерами при помощи компьютерного зрения, включая автоматический сбор, обработку и анализ данных.
Работа с летающей робототехнической платформой с открытым исходным кодом позволяет решать задачи в областях создания методов управления, позиционирования, сбора и обработки информации при помощи технического зрения, а также затрагивает поиск новых конструктивных решений для летающих робототехнических систем, их подсистем и отдельных модулей.
Основное назначение летающих робототехнических платформ — выполнение полезной работы для людей и оборудования. Поэтому все наработки впоследствии могут тиражироваться на сервисные беспилотники и решать повседневные задачи.
Организаторы профиля: ФГАОУ ВО «Санкт-петербургский государственный университет аэрокосмического приборостроения» (ГУАП) и ГБНОУ «Академия цифровых технологий» Санкт-Петербурга.
Для погружения в тематику профиля организаторами профиля разработаны:
- «Урок НТО», который знакомит учащихся с понятием компьютерного зрения, библиотекой алгоритмов OpenCV и предлагает написать программу на языке Python для распознавания изображения с камеры персонального компьютера;
- видеокурс по сборке, настройке и программированию квадрокоптера.
На первом отборочном дистанционном этапе участники решают задачи инженерного и предметного туров.
Предметный тур знакомит их с тематикой профиля и вовлекают в изучение образовательной программы, поэтому задачи выявляют общий уровень подготовки по школьным предметам: информатика и физика. По информатике проверяются базовые основы программирования, логике и комбинаторике, по физике сделан упор на разделы: механика, оптика, электричество.
К участию во втором этапе допускаются все участники, набравшие в первом отборочном этапе баллы выше установленного организаторами порогового значения. Они объединяются в команды по три–четыре человека, согласно имеющимся компетенциям:
- Инженер-программист (Python, Front-end) — работа с визуализацией и автоматизированной отправкой результатов мониторинга, написание кода для автономного полета квадрокоптера, разработка алгоритма безопасного полета квадрокоптера.
- Инженер-программист (С++, Python) — алгоритмы компьютерного зрения для реализации автономных миссий квадрокоптера, работа с датчиками. Работа в связке с ролью 1.
- Инженер-техник — моделирование и изготовление автономного комплекса для безопасного взлета/посадки квадрокоптера и его подзарядки, работа с датчиками, тестирование, техобслуживание и пилотирование квадрокоптера.
- Капитан/лидер команды — организация работы команды в GitHub (или аналоге), осуществление общего руководства работой команды, распределение обязанностей и контроль соблюдения дедлайнов. Рекомендуется совмещение данной роли с другими ролями.
Для решения и автоматической проверки используется платформа Яндекс.""Контест. Задачи подразделяются на два блока.
Первый блок предназначается для проверки компетенций и определения роли в команде. Задания направлены на изучение строения и систем управления БПЛА, программирование на языке Python, работу с платформой ROS, сервером, компьютерным зрением (OpenCV), чтение чертежей и 3D-моделирование.
Второй блок состоит из комплексного задания, для решения которого необходимы навыки каждого члена команды. Здесь участники могут апробировать свои решения в симуляторе: инженеры — настроить квадрокоптер и подготовить виртуальный мир, а программисты — написать программный код для автономного полета квадрокоптера и визуализации данных. Чтобы успешно пройти второй блок, необходимо правильно распределить функции и наладить систему планирования и коммуникации внутри команды.
На втором этапе участники сталкиваются не только с отдельными элементами задачи предстоящего заключительного этапа, но заранее отрабатывают ее ключевые блоки — осознают свои сильные и слабые стороны и постепенно погружаются в формат командной работы.
Организаторами профиля предоставляется доступ к открытой документации платформы, видеолекциям и среде симуляции летающей робототехнической платформы «Клевер», где участники могут запускать и производить отладку своего программного кода, используя большинство функций, доступных на реальном квадрокоптере (https://clover.coex.tech/ru/programming.html).
Разработчиками профиля проводятся организационные вебинары и образовательные мастер-классы, направленные на подготовку ко второму и заключительному этапам. Получить помощь в решении текущих вопросов участники могут в онлайн-режиме в чате технической поддержки платформы «Клевер» и чате участников профиля в Telegram.
Заключительный этап посвящен разработке комплексной системы автоматизированного мониторинга объектов ТЭК при помощи квадрокоптера. Система состоит из трех частей:
- Разработка программного кода, позволяющего осуществлять мониторинг состояния и функционирования объектов ТЭК: нефтепроводов, систем теплоснабжения и т. д. Наблюдение за безопасностью нефтепровода (детектирование утечек и разливов нефти). Инспекция нефтепровода на предмет несанкционированных врезок. Определение тепловых потерь системы теплоснабжения.
- Написание программного кода для визуализации результатов мониторинга на карте и передачи на сервер в режиме реального времени.
- Создание автономного комплекса для безопасного взлета/посадки квадрокоптера и его подзарядки (дронопоинта и технической документации).
Эксплуатацию и техническое обслуживание оборудования (квадрокоптер и 3D-принтер) команды осуществляют самостоятельно. Для обеспечения равных условий командное задание направлено на решение одной задачи, разделенной на несколько подзадач (полетных миссий) с постепенным повышением уровня сложности. Таким образом, ежедневно участники получают новое, усложненное задание, включающее в себя неизвестный ранее элемент.
Каждая подзадача имеет отдельные критерии оценки успешности полетной миссии, публикуется и оценивается в день ее выполнения. Команда-победитель определяется по наибольшему количеству баллов за сумму трех зачетных попыток (наиболее успешной автономной миссии) и по результатам инженерного задания.
Важной частью заключительного этапа является индивидуальный предметный тур, в ходе которого участники решают задачи по физике и информатике, проявляя свои знания и уровень подготовки по этим предметам.
Навыки и знания, приобретенные в процессе участия в профиле Летающая робототехника, закладывают основу для дальнейшей инженерной, исследовательской и конструкторской деятельности в различных областях. Многие участники продолжают разрабатывать свои проекты, участвовать в конкурсах и соревнованиях. Решения, полученные командами в практическом туре заключительного этапа, перспективны для масштабирования на большие производственные дроны, поскольку применяемые технологии идентичны.
Выпускники НТО продолжают свою деятельность в качестве соавторов профиля, а также кураторов, преподавателей и разработчиков как для российских, так и для международных мероприятий в рамках направления «Летающая робототехника». Это позволяет формировать преемственность возрастных категорий и расширять Российское сообщество профессионалов в сфере робототехники и эксплуатации БПЛА.
