Профиль «Автономные транспортные системы» посвящен применению технологий искусственного интеллекта в задачах беспилотного транспорта. Финалистам предстоит создать и запустить полностью автономную мультимодальную транспортную систему для доставки груза с фабрики производителя до конечного адресата без вмешательства человека. Беспилотный автомобиль везет груз на склад через весь город, соблюдая правила дорожного движения. На складе товар проходит автоматизированную сортировку, подается на квадрокоптер и доставляется до конечного покупателя дроном в режиме автономного полета.
Сквозная технология профиля — компьютерное зрение. В течение всего года участники учатся применять его в различных отраслях:
На первом отборочном дистанционном этапе участники решают задачи инженерного и предметного туров. Задачи первого тура знакомят с тематикой профиля и вовлекают в изучение образовательной программы. Задачи предметного тура определяют общий уровень подготовки участников по школьным предметам: информатике и физике. Задачи по информатике оценивают знания участников по комбинаторике, теории вероятностей, алгоритмизации, теории игр и программированию. Задачи по физике относятся к разделам механики, оптики и электричества.
В ходе решения задач инженерного тура необходимо продемонстрировать понимание принципов работы с изображением, умение детектировать и распознавать объекты без использования методов машинного обучения. Количество попыток сдачи решения задач не ограничено.
Таким образом, в ходе первого отборочного этапа участники профиля «Автономные транспортные системы» получают основополагающее понимание тематик и технологий профиля, а также готовятся к решению задач следующего этапа.
Второй отборочный этап посвящен отработке навыков программирования, работе с нейронными сетями для детектирования объектов и распознавания образов. В ходе решения задач участники сталкиваются с отдельными элементами комплексной задачи финального этапа олимпиады и, таким образом, могут освоить умения, необходимые для ее решения.
Работа на втором этапе помогает участникам лучше понять сильные стороны каждого члена команды, а также наиболее эффективно распределять обязанности и зоны ответственности на заключительном этапе.
Финалисты разрабатывают автономную транспортную систему для доставки груза от фабрики до конечного адресата без вмешательства человека. Работа участников заключается в разработке алгоритмов компьютерного зрения для транспортных систем: беспилотный автомобиль, сортировочный хаб, квадрокоптер.
Задача разработки автономной транспортной системы разбита на несколько простых подзадач. Первые три дня финала участники решают подзадачи и получают за них баллы. Количество одновременно решаемых задач определяет слаженность командной работы.
В последний день заключительного этапа участники демонстрируют итоговую работу всей транспортной системы. Если транспортная система работает без сбоев, то участники получают дополнительные баллы, которые суммируются с баллами за подзадачи. Чем совершеннее продемонстрированная транспортная система, тем больше баллов получает команда. Совершенность автономной транспортной системы зависит от количества объектов городской среды, с которыми система может корректно взаимодействовать.
Для получения максимального балла команды должны оценить собственные силы, найти баланс между решением подзадач и отладкой всей транспортной системы.
Физика
Законы постоянного электрического тока. При отладке программы ошибки могут быть не только в коде, но и в подключении датчиков, неправильном обеспечении электропитания. Чтобы успешно находить такие ошибки необходимо понимать, что такое электрический ток, сопротивление, напряжение, и как они связаны между собой.
Физические, математические, идеальные модели и их соответствие реальности. При запуске одной и той же программы два раза обычно предполагается, что ее результат будет одинаковый. Если запускать робота с одной и той же программой, то каждый запуск будет отличаться от предыдущего, — робот будет двигаться по-разному. Чтобы создавать стабильно работающие программы для беспилотников необходимо понимать, какие условия запуска вы можете контролировать, а какие — нет.
Оптика, формирование изображения в камере. Камера — основной сенсор беспилотников, с которыми вы будете работать. Некоторые алгоритмы компьютерного зрения требуют понимания того, какие искажения вызывает объектив камеры, и как трехмерное пространство проецируется на плоское изображение.
Математика
Декартова система координат. Уравнения прямой и окружности на плоскости. Уравнение прямой в трехмерном пространстве. Координаты используются для описания положения беспилотников в пространстве и для работы с изображениями, пиксели — это точки на плоскости.
Математическая логика. Без знания логики не получится писать программы. Логические выражения, условные операторы, циклы с условиями — обязательные знания для программиста.
Комбинаторика. Для понимания некоторых алгоритмов компьютерного зрения, необходимо знать, чем перечисления отличаются от сочетаний. Тяжело отладить работу алгоритма, если вы не понимаете, как он работает.
ИнформатикаПротоколы передачи данных. Модули устройств общаются друг с другом, используя различные протоколы передачи данных. При отладке программы полезно знать, чем один протокол отличается от другого и какие ограничения имеет.
Типы данных, структуры и базовые алгоритмы. Представление одних и тех же данных в памяти компьютера не одинаково для разных языков программирования. Без понимания того, что «лежит в переменной», тяжело писать и отлаживать программы. Скорость работы кода зависит от типа данных и от алгоритмов для его обработки. Быстродействие программ критично для беспилотных устройств.
Программирование на Python, чтение документации, обучение по видеороликам.
Работа с OpenCV, TensorFlow, Keras, Pandas, dlib.
Для участия во втором и заключительном этапах вам понадобится команда из 3-4 человек.
Роль 1. Программист беспилотного автомобиля – работа с компьютерным зрением и нейронными сетями в задачах беспилотных автомобилей. На финале предстоит работать с моделью учебного беспилотного автомобиля АЙКАР.
Роль 2. Программист квадрокоптера – работа с компьютерным зрением и нейронными сетями в задачах квадрокоптера. На финале предстоит работать с квадрокоптером Пионер Макс.
Роль 3. Программист ленты конвейера – работа с компьютерным зрением и нейронными сетями в задачах сервисной и складской робототехники. На финале предстоит работать с автоматизированным конвейером.
Роль 4. Программист и капитан команды – необходимо владеть общим инструментарием компьютерного зрения и применения нейронных сетей, чтобы грамотно распределять задачи между участниками команды и усилять наиболее уязвимые позиции.