Введение
О курсе
Работа студенческого конструкторского бюро (СКБ), на базе которого создавался данный курс, изначально была ориентирована на формирование у обучающихся не отвлечённых теоретических знаний, а конкретных инженерных умений, применимых в реальной практике. Мы всегда исходили из того, что обучение должно быть максимально приближено к действительности: ученик должен понимать, как получаемые знания и навыки реализуются в конкретных технических задачах.
Опыт показал, что между стандартными робототехническими учебными наборами, широко применяемыми в образовательной среде, и реальными инженерными задачами существует ощутимый разрыв. Наборы, предназначенные для обучения, часто ограничены по возможностям и не позволяют в полной мере осознать сложность и многогранность практических проектов. Поэтому в нашем СКБ обучение строится вокруг аппаратов, которые либо максимально приближены к промышленным образцам, либо представляют собой реальные технические системы, не выполняющие производственных задач, но полностью соответствующие по структуре и функционалу действующим инженерным решениям.
Именно эта идея — обучение через работу с реальными системами — легла в основу данного курса. Его предыдущая версия создавалась по тем же принципам и стала важной ступенью профессионального становления многих студентов. Авторы настоящего издания, мои коллеги и соавторы, сами прошли обучение по ранней версии курса, что, на мой взгляд, является лучшим подтверждением его эффективности. Сегодня они — специалисты, которые во многом превзошли своих наставников и теперь делятся накопленным опытом с новыми участниками.
Курс, представленный в этом методическом пособии, является не только учебной программой, но и своеобразным мостом между образовательной и инженерной средой. Он призван показать, что освоение технического зрения и связанных с ним технологий — это не отвлечённая теоретическая дисциплина, а практическое искусство наблюдать, анализировать и действовать, применяя методы компьютерного восприятия в реальных инженерных задачах.
Навыки, формируемые в ходе курса
В ходе прохождения курса обучающиеся осваивают широкий спектр практических навыков, связанных с программированием, управлением и техническим зрением роботов. Основное внимание уделяется не изолированному изучению отдельных технологий, а их комплексному применению в инженерных задачах.
Курс охватывает следующие ключевые направления:
-
Программирование роботов — изучение базовых принципов управления исполнительными системами, работы с датчиками и интеграции модулей в единую систему управления.
-
Фреймворк ROS (Robot Operating System) — освоение архитектуры ROS, создание и использование узлов (nodes), обмен сообщений (topics), взаимодействие между модулями робота в реальном времени.
-
Техническое зрение роботов — знакомство с основами работы камер, сенсоров и систем восприятия окружающей среды.
-
Цветовая сегментация — методы выделения объектов по цветовым признакам и построение алгоритмов распознавания.
-
Нейронные сети и машинное обучение — введение в базовые архитектуры нейросетей и их применение для задач анализа изображений и распознавания объектов.
-
Соединение технологий для решения единой задачи — в конце курса мы "замкнем" все технологии и сможем выполнить единое, комплексное задание.
Полученные знания и умения позволяют студентам не только выполнять лабораторные и проектные задания в рамках курса, но и закладывают фундамент для дальнейшего профессионального роста в области робототехники, компьютерного зрения и интеллектуальных систем управления.
Целевая аудитория курса
Данный курс ориентирован на широкий круг обучающихся, интересующихся современными технологиями робототехники и системами технического зрения.
Он будет полезен:
-
Преподавателям, которые используют курс как методическую основу для проведения занятий по робототехнике и программированию;
-
Студентам младших курсов технических направлений, осваивающим базовые навыки работы с аппаратно-программными комплексами;
-
Школьникам средних и старших классов, занимающимся под руководством педагогов в инженерных кружках и конструкторских бюро.
Следует отметить, что самостоятельное освоение курса без сопровождения наставника может оказаться затруднительным для начинающих школьников, так как отдельные темы требуют предварительных знаний по программированию, информатике и математике. Однако при систематической работе с преподавателем или в составе студенческого конструкторского бюро курс становится доступным и эффективным даже для тех, кто делает первые шаги в инженерной деятельности.
Учебный объект курса
Рисунок 1. Базовая версия катамарана
|
Рисунок 2. Версия, доработанная учениками
|
Основным учебным объектом, используемым в рамках данного курса, является разработанный в студенческом конструкторском бюро катамаран «Водомерка». Этот аппарат представляет собой компактное и технологически гибкое средство, предназначенное как для образовательных целей, так и для выполнения исследовательских и вспомогательных инженерных задач на закрытых акваториях.
Катамаран «Водомерка» может использоваться для:
-
картографирования дна с применением эхолотов;
-
проведения видеонаблюдения и визуальных обследований подводных и прибрежных объектов;
-
мониторинга состояния поверхностных вод;
-
выполнения учебных экспериментов по техническому зрению и автоматизации управления.
Аппарат оснащён современным одноплатным компьютером, который обеспечивает возможность реализации алгоритмов компьютерного зрения и обработки данных в реальном времени. Это позволяет применять такие технологии, как распознавание объектов и препятствий с помощью нейросетевых моделей, анализ подводного изображения и контроль навигации на основе визуальных данных.
В конструкцию катамарана также входит плата нижнего уровня с микроконтроллером, управляющим движителями и исполнительными механизмами. Хотя её программирование возможно, эта задача выходит за рамки текущего курса, но служит основой для дальнейших инженерных исследований и индивидуальных проектов.
Аппарат оборудован двумя видеокамерами:
-
одна направлена вниз, обеспечивая визуальное наблюдение подводного пространства,
-
вторая установлена в носовой части и используется для анализа обстановки по курсу движения.
Пропульсивная система катамарана включает два независимых двигателя, что позволяет осуществлять дифференциальное управление движением и маневрирование с высокой точностью. Конструкция предусматривает возможность подключения дополнительных модулей — например, приёмников глобальных навигационных спутниковых систем (GNSS), дополнительных датчиков и навесного оборудования, что расширяет диапазон задач, решаемых аппаратом.
Катамаран отличается компактностью и мобильностью: его можно переносить и спускать на воду силами одного человека. Это делает его удобным для использования в учебных целях и при проведении практических занятий вне лаборатории.
Для обучающихся, не имеющих физического доступа к аппарату, разработан симулятор катамарана «Водомерка», созданный также силами студенческого конструкторского бюро. Симулятор воспроизводит основные функции аппарата и позволяет выполнять все этапы учебных заданий в виртуальной среде. Это особенно важно в тех случаях, когда нет возможности проводить занятия на воде. Работа в симуляторе обеспечивает понимание принципов навигации, восприятия и обработки данных, а также даёт возможность предварительной отладки программного обеспечения до выхода в реальные условия.
Таким образом, катамаран «Водомерка» и его симулятор образуют единую учебную платформу, позволяющую сочетать теоретическое изучение технологий технического зрения с практической деятельностью в максимально приближённых к реальности условиях.
Требования к оборудованию
Основным инструментом работы является персональный компьютер. Рекомендуемые характеристики:
-
Процессор: Intel Core i3 или более производительный аналог;
-
Оперативная память: не менее 16 ГБ (для комфортной работы с симулятором и системами компьютерного зрения);
-
Операционная система: настоятельно рекомендуется использование Linux Ubuntu 24.04 LTS.
Курс можно проходить, установив Ubuntu Linux на виртуальную машину, однако такой способ имеет ограниченную производительность. Для полноценного освоения материала предпочтительно установить Ubuntu в качестве второй операционной системы (dual boot). Это обеспечит более глубокое погружение в рабочую среду и позволит без ограничений использовать все инструменты, применяемые в курсе.
Навыки и предварительная подготовка
От обучающихся ожидаются:
-
базовые навыки работы с компьютером и операционной системой;
-
начальное понимание принципов программирования;
-
желательно — знание основ языка Python, который используется для написания и запуска простых скриптов в среде ROS и при работе с обработкой изображений.
При этом курс не требует глубоких знаний программирования — все примеры и задания сопровождаются подробными объяснениями, а ключевые приёмы работы осваиваются постепенно, в процессе выполнения упражнений.
Временные затраты и последовательность обучения
Для полноценного усвоения материала рекомендуется выделять от 4 до 8 часов в неделю, включая прослушивание лекционных занятий и самостоятельное выполнение заданий.
Каждое занятие курса строится на основе ранее изученного материала. Новые темы дополняют и развивают уже сформированные навыки, обеспечивая постепенное наращивание сложности.
Такой подход позволяет:
-
с одной стороны — систематически закреплять ранее изученные приёмы и методы;
-
с другой — формировать целостное понимание взаимодействия всех компонентов системы технического зрения.
Важно отметить, что пропуск одного занятия может затруднить понимание последующих тем, поскольку все модули курса логически взаимосвязаны. Регулярная работа и последовательное выполнение заданий являются ключом к успешному прохождению курса и формированию прочных практических навыков.