Профиль «Интеллектуальные робототехнические системы» посвящен разработке, программированию и управлению роботами.
Робототехника является одной из ключевых отраслей технологического развития. Интеллектуальные робототехнические системы могут выполнять сложные задачи, улучшать производительность, автоматизировать процессы и повышать эффективность работы в различных сферах: на производстве, в медицине, образовании. Интеллектуальные робототехнические системы используются для выполнения опасных и трудоемких задач — это помогает снизить риск в ежедневной деятельности людей. Они также могут быть использованы в области безопасности, например, в поиске и обезвреживании взрывоопасных устройств или в мониторинге и предотвращении аварийных ситуаций.
В рамках предметного тура участникам предстоит решать задачи по математике и информатике, а также освоить образовательный блок для получения или подтверждения основных требуемых компетенций.
В рамках инженерного тура участники будут индивидуально выполнять компетентностные задания профиля, связанные с программированием регуляторов и планированием пути.
Цель второго этапа — формирование команды. Чем лучше вы выстроите командную работу на втором этапе, тем больше шансов на победу у вас будет дальше. Не бойтесь общаться, учиться эффективно распределять задачи, искать сильные стороны каждого участника вашей команды, постарайтесь успеть за второй тур нарастить общекомандные навыки — и коммуникативные, и профессиональные.
В рамках этапа потребуется решать частные задачи, связанные с выполнением заданий группой мобильных роботов, в том числе будут задачи, связанные с техническим зрением. Сами роботы для выполнения задач не понадобятся, в симуляции будут использоваться их математические модели.
Для выполнения задачи потребуются знания как C/C++, так и Python.
Финальная задача по профилю «Интеллектуальные робототехнические системы» будет посвящена навигации и планированию движения робота в неизвестной среде. Робот должен самостоятельно определить свое текущее положение и ориентацию, построить карту окружающей среды и спланировать оптимальный маршрут для достижения заданной цели.
Задача подразумевает использование алгоритмов для планирования маршрута — выбора оптимального пути для достижения поставленной цели. В этом процессе робот должен учитывать информацию о своем положении, карту окружающей среды и другие ограничения, такие как препятствия или запретные зоны.
Математика:
Основы математического анализа (производная, интеграл).
Основы теории вероятностей. Комбинаторика.
Алгебра.
Геометрия.
Теория графов.
Информатика:
Основы программирования на языке C/C++ или Python.
Программирование систем управления (C/C++ или Python), в т. ч. систем с обратной связью (PID-регуляторов).
Протоколы передачи данных.
Манипуляции с битами и байтами (C/C++ или Python).
Работа с матрицами, обработка простых массивов данных, работа с массивами высоких размерностей.
Обработка изображений.
Навык программирования на Python и С++.
Знание алгоритмов обработки изображения, работа с OpenCV.
Знание алгоритмов поиска пути.
Знание алгоритмов планирования движения, расчета траектории.
Знание алгоритмов управления (П-, ПД-, ПИД-регуляторы).
Умение работы с датчиками робототехнических систем.
Умение организации беспроводного соединения по Bluetooth с робототехнической системой.
Для участия в отборочном и заключительном этапах вам понадобится команда из 2–3 человек.
Роль 1. Математик-алгоритмист — подбор и разработка алгоритмов управления, распределения заданий, поиска пути и т.д.
Роль 2. Программист С/C++ — программирование системы управления, функционирующей на роботе, для решения задач коммуникации, движения, навигации, работы с датчиками, одометрии и т.д.
Роль 3. Программист Python — программирование высокоуровневой системы управления (распределение задач, поиск пути и т.д.), обработки изображения, решения задач коммуникации.
Роль 4. Капитан команды — распределение задач, расстановка приоритетов, распределение ресурсов, разрешение споров.
Особенностью профиля является то, что потребуется программировать сразу несколько систем, причем на разных языках. Несмотря на то, что зачастую это все может делать один человек, намного эффективнее, если будут задействованы разные люди, чтобы работа могла вестись параллельно.
Если отдельного человека для разработки алгоритмов нет, то каждый из программистов должен взять на себя соответствующую часть. Важно учесть не только кто на каком языке лучше программирует, но и кто какие алгоритмы лучше сможет разработать.
Роль капитана команды обычно совмещается с какой-то другой ролью.
Основы робототехники под управлением Robot Operating System (ROS)
Базовый курс по Robot Operating System (ROS)
Программирование на Python
Сборник задач Олимпиады КД НТИ 2017-2018гг.
Компьютерное зрение. Базовый уровень
Сборник задач Олимпиады КД НТИ 2018-2019гг.
Сквозные технологии. Электроника
Сквозные компетенции OpenCV
Сборник задач Олимпиады КД НТИ 2019-2020гг.
Проектное лидерство
Командообразование и управление эффективностью проектных команд
Быстрый старт в спортивное программирование
Информатика. Подготовка к олимпиадам по информатике
Сборник задач Олимпиады КД НТИ 2020/2021 гг.
Онлайн курс "Основы управления и программирования промышленных роботов"
Программирование на языке С++ для решения олимпиадных задач
Интеллектыальные роботехнические системы. Этап 1. Инженерный тур
Введение в Robot Operating System
Подготовка к 1 отборочному этапу НТО по информатике
Подготовка к 1 отборочному этапу НТО по физике
Программируем Arduino
Введение в ROS
Сборник задач НТО 2021/2022 гг.
Разработка умных устройств на базе Arduino
Основы Git
Нейронные сети и компьютерное зрение