Введение

О курсе

Работа студенческого конструкторского бюро (СКБ), на базе которого создавался данный курс, изначально была ориентирована на формирование у обучающихся не отвлечённых теоретических знаний, а конкретных инженерных умений, применимых в реальной практике. Мы всегда исходили из того, что обучение должно быть максимально приближено к действительности: ученик должен понимать, как получаемые знания и навыки реализуются в конкретных технических задачах.

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

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

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

Навыки, формируемые в ходе курса

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

Курс охватывает следующие ключевые направления:

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

  • Фреймворк ROS (Robot Operating System) — освоение архитектуры ROS, создание и использование узлов (nodes), обмен сообщений (topics), взаимодействие между модулями робота в реальном времени.

  • Техническое зрение роботов — знакомство с основами работы камер, сенсоров и систем восприятия окружающей среды.

  • Цветовая сегментация — методы выделения объектов по цветовым признакам и построение алгоритмов распознавания.

  • Нейронные сети и машинное обучение — введение в базовые архитектуры нейросетей и их применение для задач анализа изображений и распознавания объектов.

  • Соединение технологий для решения единой задачи — в конце курса мы "замкнем" все технологии и сможем выполнить единое, комплексное задание.

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

Целевая аудитория курса

Данный курс ориентирован на широкий круг обучающихся, интересующихся современными технологиями робототехники и системами технического зрения.

Он будет полезен:

  • Преподавателям, которые используют курс как методическую основу для проведения занятий по робототехнике и программированию;

  • Студентам младших курсов технических направлений, осваивающим базовые навыки работы с аппаратно-программными комплексами;

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

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

Учебный объект курса

base
Рисунок 1. Базовая версия катамарана
general view
Рисунок 2. Версия, доработанная учениками

Основным учебным объектом, используемым в рамках данного курса, является разработанный в студенческом конструкторском бюро катамаран «Водомерка». Этот аппарат представляет собой компактное и технологически гибкое средство, предназначенное как для образовательных целей, так и для выполнения исследовательских и вспомогательных инженерных задач на закрытых акваториях.

Катамаран «Водомерка» может использоваться для:

  • картографирования дна с применением эхолотов;

  • проведения видеонаблюдения и визуальных обследований подводных и прибрежных объектов;

  • мониторинга состояния поверхностных вод;

  • выполнения учебных экспериментов по техническому зрению и автоматизации управления.

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

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

Аппарат оборудован двумя видеокамерами:

  • одна направлена вниз, обеспечивая визуальное наблюдение подводного пространства,

  • вторая установлена в носовой части и используется для анализа обстановки по курсу движения.

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

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

Симулятор "Водомерки"
Рисунок 3. Симулятор катамарна

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

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

Требования к оборудованию

Основным инструментом работы является персональный компьютер. Рекомендуемые характеристики:

  • Процессор: Intel Core i3 или более производительный аналог;

  • Оперативная память: не менее 16 ГБ (для комфортной работы с симулятором и системами компьютерного зрения);

  • Операционная система: настоятельно рекомендуется использование Linux Ubuntu 24.04 LTS.

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

Навыки и предварительная подготовка

От обучающихся ожидаются:

  • базовые навыки работы с компьютером и операционной системой;

  • начальное понимание принципов программирования;

  • желательно — знание основ языка Python, который используется для написания и запуска простых скриптов в среде ROS и при работе с обработкой изображений.

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

Временные затраты и последовательность обучения

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

Каждое занятие курса строится на основе ранее изученного материала. Новые темы дополняют и развивают уже сформированные навыки, обеспечивая постепенное наращивание сложности.

Такой подход позволяет:

  • с одной стороны — систематически закреплять ранее изученные приёмы и методы;

  • с другой — формировать целостное понимание взаимодействия всех компонентов системы технического зрения.

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