Тематический план
Введение
Общие сведения об автономных и интеллектуальных системах. Беспилотные автомобили. Задачи, решаемые беспилотными автомобилями. Уровни автоматизации беспилотных автомобилей. Датчики и сенсоры. Стек алгоритмов, выполняемых беспилотными автомобилямиВведение в Robot Operating System
Назначение ROS. Место ROS в беспилотных автомобилях. Программная единица в ROS. Методы взаимодействия между программными единицами. Разработка собственного приложения, использующего ROS.Программирование с использованием ROS
Подготовка CMake файлов, xml-файлов с параметрами. Запуск готовых приложений. Компиляция и сборка приложений ROS. Структура рабочего каталога. Разработка, запуск и логгирование собственных приложений.Использование пакетов, поставляемых с ROS
Визуализация графа взаимодействий программных модулей ROS. Назначение и применение пакетов ROS для упрощения разработки. Назначение и применение пакета TF. Использование сгенерированного исходного кода.Инструменты для визуализации и отладки приложений, использующих ROS
Пакет RVIZ, семейство пакетов rqt, пакет Rqt_graph, пакет Gazebo. Настройка файлов логов. Отладка средствами ROS. Многопоточность в ROS.Введение в машинное обучение
Обучение с учителем. Задача классификации и регрессии. Обучение без учителя. Кластеризация. Нейронные сети. Понятие нейрона, перцептрона и простейшая нейронная сеть. Слои в нейронных сетях.Применение нейронных сетей
Нейронные сети прямого распределения. Перцепторны. Полносвязные сети. Нейронная сеть Хопфилда. Свёрточные нейронные сети. Развёртывающие нейронные сети.Классификация и кластеризация изображений при помощи нейронных сетей
Нейросеть Кохонена. Функционирование сети. Современные модификации свёрточных нейросетей для задачи кластеризации. Недостатки. Ускорение работы. Синтетические данные для обучения.Задача фильтрации данных
Постановка задачи фильтрации. Рекурсивный фильтр. Модель. Комплексирование. Априорная и апостериорная оценка. Расширенный фильтр Калмана. Матричная линеаризация. Фильтр Калмана со старением.Задача одновременной локализации и построения карты SLAM
Постановка задачи SLAM. Решение на базе фильтра Калмана. Фильтр частиц. FastSLAM. Gmappnig. Scan matching. Графовые подходы. Методы оценки качества SLAM алгоритмов. Применение SLAM к задаче беспилотных автомобилей.Методы представления и хранения карты
Карта в EKF SLAM. Сетка занятости. Детали реализации графовых алгоритмов SLAM. Определение и замыкание циклов в графе. Методы визуализации карты в ROS. Методы оценки качества построенной карты.Задача построения пути
Задача поиска пути на графе. Алгоритм Дейкстры. А*. Методы построения пути на неизвестной карте. Локальный планировщик пути. PID-регулятор. Синергия глобального и локального планировщика.Duckietown как модель города с беспилотными автомобилями
Назначение Duckietown. Описание составных частей. Робот Duckiebot. Компоненты робота. Автомат состояний Ducketown. Применение Duckietown в качестве модели беспилотного транспорта.Автоматизация движения по проложенному маршруту в симуляторе Duckietown
Датчики Duckiebot. Применение алгоритмов SLAM к Duckietown. Построение маршрута в Duckietown. Симулятор Duckitown. Запуск всех компонентов беспилотного автомобиля в симуляторе.Заключение
Обсуждение состояния прикладной технологии автопилотируемых транспортных средств на ближайшие годы.