Познакомьтесь с основами применения технического зрения в наземных беспилотных транспортных средствах. Вы научитесь управлять движением беспилотника с помощью языка Python.
Нажимая на кнопку «Оставить заявку», вы соглашаетесь на обработку персональных данных.
В курсе рассматриваются основы построения систем управления беспилотным наземным техническим средством с помощью технологий технического зрения, а также программной обработки изображений, в том числе обработки потока изображений в режиме реального времени. Обучение проводится в онлайн-формате на цифровой платформе MyTrack.ru.
Для кого:
обучающихся 10-11 классов
интересующихся беспилотниками
интересующихся программированием
интересующихся робототехникой
Чему вы научитесь
познакомитесь c основами систем управления наземным беспилотным транспортом
планировать и выполнять проектную работу, последовательно следуя поставленным задачам
проектировать и программировать систему управления нижнего уровня на основе платы Arduino
проводить анализ потока изображений в реальном времени, определять значимые особенности кадра, достраивать вспомогательные элементы поверх изображения с помощью программных методов языка программирования Python
обрабатывать изображения с помощью программных методов языка программирования Python
при помощи алгоритмов технического зрения формировать управляющие сигналы для управления симулятором автомобиля с целью обеспечения его автономного движения по дорожному полотну с разметкой
Программа курса
35 недель (35 часов)
10.09.24 — 20.05.25
К обучению допускаются лица, владеющие базовыми знаниями языка программирования Python, сборки электронных схем на основе плат Arduino, основами программирования плат Arduino, а также навыками создания 3D-моделей в САПР «Компас-3D» или другом графическом редакторе. Курс рекомендуется для изучения лицам, освоившим ранее программу «Интеллектуальные беспилотные системы и робототехнические аппараты».
Практика: придумать и описать систему оповещения или предотвращения внештатных ситуаций, связанных с актом вандализма по отношению к беспилотнику.
2.1 Теория: знакомство с целями курса, с задачами, которые будут реализованы в результате его освоения, с форматом предстоящей работы. Уровни автоматизации беспилотных систем. Беспилотные автомобили в образовательном процессе. Состав системы управления беспилотным автомобилем. Системы управления верхнего и нижнего уровня.
2.2 Теория: взаимодействие одноплатных ПК с микроконтролерами. Принципы связи Raspberry Pi и Arduino. Коды и события. Практика: создание программных кодов для ситуации остановки беспилотного автомобиля и обработки кода события для Raspberry Pi с помощью языка программирования Python с использованием библиотеки PySerial и для Arduino.
2.3 Теория: управление на нижнем уровне. Отправка сообщений через последовательный порт. Практика: регистрация в онлайн-сервисе Tinkercad. Сборка в Tinkercad схемы управления двумя светодиодами. Программирование Arduino для реализации управления светодиодами в зависимости от считанного символа. Добавление условий отключения и включения обоих светодиодов одновременно в программный код.
2.4 Теория: управление рулевым механизмом малых наземных беспилотников. Функция map() для реализации пропорционального переноса диапазонов на Arduino. Практика: имитационное моделирование системы рулевого управления беспилотником на базе Arduino в Tinkercad. Программирование алгоритма для управления сервоприводом, позволяющего считывать значения с последовательного порта и переносить их в диапазон работы сервопривода. Добавление на схему сигнальных диодов для оповещения о превышении границ диапазона и программирование их управления.
2.5 Теория: передача кода события и параметров. Практика: имитационное моделирование и программирование в Tinkercad системы управления мотором беспилотного аппарата. Добавление на схему диодов, имитирующих сигнал светофора, и программирование их управления.
Практика: 3D-моделирование колесного диска для учебного наземного беспилотного аппарата с помощью САПР «Компас-3D» или любого другого 3D-редактора.
4.1 Теория: библиотеки в Python. Практика: установка Python и среды разработки PyCharm Community Edition. Установка библиотеки OpenCV. Установка и использование сторонних библиотек с помощью pip: Pillow, keyboard.
4.2 Теория: обработка исключений (try, exept) в Python. Основные элементы и функции библиотеки OpenCV. Практика: обработка исключений. Написание кода программы на языке программирования Python для вывода изображения на экран с помощью библиотеки OpenCV.
4.3 Теория: цветовые пространства и маски в библиотеке OpenCV (RGB, HSV, Grayscale, CMYK). Практика: создание заготовки программного кода на языке программирования Python для реализации функции обработки изображений. Кадрирование изображения. Изменение размера изображения. Получение информации об изображении. Поворот изображения.
4.4 Практика: перевод изображения в градации серого и бинаризация. Размытие изображения.
4.5 Теория: значение функции обработки изображений при работе с беспилотными аппаратами. Практика: создание фигур на изображении (линия, прямоугольник, окружность). Создание текста на изображении. Создание изображения поверх файла. Создание копии кадра.
5.1 Теория: подготовка к работе в симуляторе. Библиотеки Python: NumPy, Pillow, keyboard. Область интересов на изображении (ROI). Практика: создание программы на языке программирования Python для обработки изображения в области интереса.
5.2 Практика: создание программы на языке программирования Python для перевода изображения в градации серого и его бинаризация.
5.3 Теория: преобразование перспективы изображения в Python. Практика: создание программы на языке программирования Python для преобразования перспективы изображения с целью создания изображения, наиболее подходящего для определения местоположения автомобиля относительно полосы движения.
5.4 Теория: обнаружение полос на изображении. Определение центра полосы на изображении в Python с использованием гистограммы. Практика: создание программы на языке программирования Python для обнаружения полосы на изображении и нахождения ее центра.
5.5 Теория: обработка видеопотока. Практика: создание программы на языке программирования Python для обработки видеопотока.
(12 занятий, подробнее в программе)
Практика: Сборка в Tinkercad электронной схемы, имитирующей систему управления нижнего уровня. Заполнение таблицы событий, кодов и реакций. Создание программного кода, реализующего условия для движения беспилотного наземного транспортного средства с учетом сигналов светофорам, ограничений скорости движения и соблюдения траектории движения по центру проезжей части.
Программа курса
35 недель (35 часов)
10.09.24 — 20.05.25
К обучению допускаются лица, владеющие базовыми знаниями языка программирования Python, сборки электронных схем на основе плат Arduino, основами программирования плат Arduino, а также навыками создания 3D-моделей в САПР «Компас-3D» или другом графическом редакторе. Курс рекомендуется для изучения лицам, освоившим ранее программу «Интеллектуальные беспилотные системы и робототехнические аппараты».
Практика: придумать и описать систему оповещения или предотвращения внештатных ситуаций, связанных с актом вандализма по отношению к беспилотнику.
2.1 Теория: знакомство с целями курса, с задачами, которые будут реализованы в результате его освоения, с форматом предстоящей работы. Уровни автоматизации беспилотных систем. Беспилотные автомобили в образовательном процессе. Состав системы управления беспилотным автомобилем. Системы управления верхнего и нижнего уровня.
2.2 Теория: взаимодействие одноплатных ПК с микроконтролерами. Принципы связи Raspberry Pi и Arduino. Коды и события. Практика: создание программных кодов для ситуации остановки беспилотного автомобиля и обработки кода события для Raspberry Pi с помощью языка программирования Python с использованием библиотеки PySerial и для Arduino.
2.3 Теория: управление на нижнем уровне. Отправка сообщений через последовательный порт. Практика: регистрация в онлайн-сервисе Tinkercad. Сборка в Tinkercad схемы управления двумя светодиодами. Программирование Arduino для реализации управления светодиодами в зависимости от считанного символа. Добавление условий отключения и включения обоих светодиодов одновременно в программный код.
2.4 Теория: управление рулевым механизмом малых наземных беспилотников. Функция map() для реализации пропорционального переноса диапазонов на Arduino. Практика: имитационное моделирование системы рулевого управления беспилотником на базе Arduino в Tinkercad. Программирование алгоритма для управления сервоприводом, позволяющего считывать значения с последовательного порта и переносить их в диапазон работы сервопривода. Добавление на схему сигнальных диодов для оповещения о превышении границ диапазона и программирование их управления.
2.5 Теория: передача кода события и параметров. Практика: имитационное моделирование и программирование в Tinkercad системы управления мотором беспилотного аппарата. Добавление на схему диодов, имитирующих сигнал светофора, и программирование их управления.
Практика: 3D-моделирование колесного диска для учебного наземного беспилотного аппарата с помощью САПР «Компас-3D» или любого другого 3D-редактора.
4.1 Теория: библиотеки в Python. Практика: установка Python и среды разработки PyCharm Community Edition. Установка библиотеки OpenCV. Установка и использование сторонних библиотек с помощью pip: Pillow, keyboard.
4.2 Теория: обработка исключений (try, exept) в Python. Основные элементы и функции библиотеки OpenCV. Практика: обработка исключений. Написание кода программы на языке программирования Python для вывода изображения на экран с помощью библиотеки OpenCV.
4.3 Теория: цветовые пространства и маски в библиотеке OpenCV (RGB, HSV, Grayscale, CMYK). Практика: создание заготовки программного кода на языке программирования Python для реализации функции обработки изображений. Кадрирование изображения. Изменение размера изображения. Получение информации об изображении. Поворот изображения.
4.4 Практика: перевод изображения в градации серого и бинаризация. Размытие изображения.
4.5 Теория: значение функции обработки изображений при работе с беспилотными аппаратами. Практика: создание фигур на изображении (линия, прямоугольник, окружность). Создание текста на изображении. Создание изображения поверх файла. Создание копии кадра.
5.1 Теория: подготовка к работе в симуляторе. Библиотеки Python: NumPy, Pillow, keyboard. Область интересов на изображении (ROI). Практика: создание программы на языке программирования Python для обработки изображения в области интереса.
5.2 Практика: создание программы на языке программирования Python для перевода изображения в градации серого и его бинаризация.
5.3 Теория: преобразование перспективы изображения в Python. Практика: создание программы на языке программирования Python для преобразования перспективы изображения с целью создания изображения, наиболее подходящего для определения местоположения автомобиля относительно полосы движения.
5.4 Теория: обнаружение полос на изображении. Определение центра полосы на изображении в Python с использованием гистограммы. Практика: создание программы на языке программирования Python для обнаружения полосы на изображении и нахождения ее центра.
5.5 Теория: обработка видеопотока. Практика: создание программы на языке программирования Python для обработки видеопотока.
(12 занятий, подробнее в программе)
Практика: Сборка в Tinkercad электронной схемы, имитирующей систему управления нижнего уровня. Заполнение таблицы событий, кодов и реакций. Создание программного кода, реализующего условия для движения беспилотного наземного транспортного средства с учетом сигналов светофорам, ограничений скорости движения и соблюдения траектории движения по центру проезжей части.