Курс: разработка робота с системой компьютерного зрения «Duckietown»

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

Цель курса: принять участие в соревнованиях организованных на базе СБПГЭТУ «ЛЭТИ», кафедры МОЭВМ.

Курс основан на открытом проекте «Duckietown», разработанном в Массачусетском Технологическом Институте (MIT) в 2016 году.

Видео №1 Демонстрация проекта

Оборудование:

НаименованиеКол-во
Одноплатный компьютер Raspberry Pi 3b+ 1
Драйвер двигателей Adafruit Motor Shield1
Портативный аккумулятор Xiaomi Powerbank1
Видеокамера 5Мп Fisheye1
DC Моторы с пластковым редуктором 3-12В с колесами 2
Шаровая опора1
RGB светодиоды 4
Таблица 1. Список оборудования на одного ученика

План курса:

  1. Основы программирования Python
    1.1 Типы данных , переменные, арифметические операции
    1.2 Условия if, elif, else
    1.3 Циклы for, while
    1.4 Функции
    1.5 Списки и операции с ними
  2. Основы Linux
    2.1 Работа в терминале: простые приложения man, ls, cd, mkdir, touch, mv, rm и т.п.
    2.2 Тестовые редакторы nano, vim
    2.3 Подключение к удаленному сервену через SSH
  3. Система учета версий Git
    3.1 Принцип работы Git
    3.2 Сервис github (clone, commit, add, push, branch, merge)
  4. Приложение DTS и Docker
    4.1 Duckietown Shell, регистрация на сервисе, встроенные команды dts devel, fleet discover и т.п.
    4.2 Принцип работы, создание и запуск docker контейнеров на основе шаблона
  5. Библиотека компьютерного зрения OpenCV
    5.1 Открытие и отображение изображения, преобразование изображения в числовой массив
    5.2 Обрезка изображения, понимание координатной плоскости, рисование простых фигур, отображение текста
    5.3 Обработка изображения с помощью фильтров Gaussian Blur, cvtColor, Threshold и др.
    5.4 Поиск линии на изображении
    5.5 Нахождения ценра объекта (линии) с помощью функции moments
    5.5 Распознавание дорожных знаков
    5.6 Распознавание цветов и сигналов от других роботов
  6. … В разработке: ROS , встроенные инструменты DTS, работа в эмуляторе «gym-duckietown»
Рис. 1 Соревновательный полигон. Город уточек «Duckie» с дорожной разметкой и дорожными знаками.

Полезные ссылки

  1. Сайт проекта duckietown https://www.duckietown.org/
  2. Команда проекта в ЛЭТИ под руководством заведующего кафедрой МОЭВМ Кринкина Кирилла Александровича https://research.jetbrains.org/ru/groups/robolab/projects?project_id=11
  3. Статья о проекте в издании «Бумага» https://paperpaper.ru/campus/duckietown/
  4. Инструкции для обучающихся https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html