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

Реферат по теме выпускной работы

Введение

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

Однако, согласно выводам отчета [1], выпущенного корпорацией Рэнд, прототипы автомобилей без водителей должны проехать сотни миллионов миль, а в некоторых случаях сотни миллиардов миль в течение нескольких десятилетий, чтобы продемонстрировать их надежность и безопасность. Такой результат авторы отчета посчитали несовместимым с ближайшей коммерческой жизнеспособностью самоходных автомобилей. Для сравнения, это примерно половина расстояния, пройденного космическим зондом Voyager 2 за последние 40 лет. Чтобы решить эту проблему, исследователи указали на инновационные методы тестирования, такие как передовые технологии моделирования.

1. Актуальность темы

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

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

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

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

ИНС могут применяться для различных задач: аппроксимация функций, идентификация, прогнозирование, управление, классификация образов, категоризация, оптимизация.

2. Цель и задачи исследования, планируемые результаты

Целью данной магистерской диссертации является исследование и разработка методов, алгоритмов и программного обеспечения для имитационного моделирования движения автономного автомобиля. Для решения поставленной цели, необходимо решить ряд задач:

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

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

3. Обзор исследований и разработок

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

3.1 Обзор международных источников

В статье Система управления самоуправляемым гоночным автомобилем на основе нечеткой логики [2] магистров Стамбульского технического университета приведено описание системы управления беспилотным автомобилем на основе нечеткой логики и ее развертывание в игре JavaScript Racer. При разработке интеллектуальной системы управления транспортным средством была поставлена цель завершения гонки автомобилем в кратчайшие сроки, не выезжая за пределы дороги. Для достижения этой цели предлагаемая интеллектуальная система вождения объединяет основы теории управления, нечеткой логики и компьютерного зрения. В этой структуре компьютерное зрение используется для обнаружения полосы движения, а управление нечеткой логикой используется для позиционирования и регулирования скорости гоночного автомобиля.

В статье Управление транспортным средством с помощью нейронной сети [3] Филиппом Кунцле была рассмотрена возможность использования нейронной сети для симуляции движения автомобиля, избегающего препятствия. Он добился этого путем выбора соответствующих входов/выходов и тщательного обучения нейронной сети. При скармливании сети расстояния до ближайших препятствий вокруг автомобиля, имитируется зрение водителя–человека. На выходе получаем ускорение и поворот руля транспортного средства. Также необходимо обучить сеть на множестве стратегий ввода–вывода. Результат впечатляющий даже с использованием всего лишь нескольких нейронов! Автомобиль ездит, обходя препятствия, но возможно сделать некоторые модификации, чтобы это программное средство справлялось с более специфическими задачами.

3.2 Обзор национальных источников

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

3.3 Обзор локальных источников

В работе магистра Фоменко А.Д. «Разработка и исследование модуля управления движением в системе интеллектуальных дорог» [5] рассмотрены инновационных решений технологии интеллектуального автомобильного транспорта. Перечислены недостатки современных транспортных систем, которые влекут за собой увеличение дорожно–транспортных происшествий, а так же приостановление дальнейшего развития данных технологий. Предложены варианты усовершенствования уже имеющихся разработок в области интеллектуальных транспортных систем.

В работе магистра Афенченко В.С. «Исследование характеристик системы управления движением автономного объекта» [6] описана возможность разработки мобильной системы, которая работает на основе видеоинформации, а именно управляет мобильным колесным роботом чтобы тот избегал препятствия на своем пути и двигался на источник света.

4. Нечеткая логика

Нечеткая логика [7] – это форма многозначной логики, в которой истинные значения переменных могут быть любыми действительными числами от 0 до 1, включая оба. Он используется для обработки концепции частичной истины, где значение истины может варьироваться между полностью истинным и полностью ложным. Напротив, в булевой (двоичной) логике истинными значениями переменных могут быть только целые значения 0 или 1.

Например, в двоичной логике, мы можем сказать, что мы имеем стакан горячей воды (то есть 1 или высокий логический уровень) или стакан холодной воды (см. рис. 4.1), то есть (0 или низкий логический уровень), но в нечеткой логике, мы можем сказать, что мы имеем стакан теплой воды (ни горячий, ни холодный, то есть где–то между этими двумя крайними состояниями).

Нечеткая и булева логика


Рисунок 4.1 – Нечеткая и булева логика

Основными преимуществами систем нечеткой логики являются:

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

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

Базовая архитектура нечеткой логической системы состоит из следующих модулей и приведена на рисунке 4.2.

Базовая архитектура нечеткой логической системы


Рисунок 4.2 – Базовая архитектура нечеткой логической системы

Фазифаер (Fuzzifier или оператор размытия). Он принимает измеренные переменные в качестве входных данных и преобразует числовые значения в лингвистические переменные. Он преобразует физические значения, а также сигналы ошибок в нормализованное нечеткое подмножество, которое состоит из интервала для диапазона входных значений и функций принадлежности, которые описывают вероятность состояния входных переменных. Входной сигнал в основном разделен на пять состояний, таких как: большой положительный, средний положительный, малый, средний отрицательный и большой отрицательный.

Контроллер. Он состоит из базы знаний и механизма вывода. База знаний хранит функции принадлежности и нечеткие правила, полученные путем знания работы системы в среде. Механизм вывода выполняет обработку полученных функций принадлежности и нечетких правил. Другими словами, механизм вывода формирует выходные данные на основе лингвистической информации.

Дефазифаер (Defuzzifier или оператор восстановления чёткости). Он выполняет обратный процесс фазифаера. Другими словами, он преобразует нечеткие значения в нормальные числовые или физические сигналы и отправляет их в физическую систему для управления работой системы.

4.1 Применение нечеткой логики для имитации движения автономного автомобиля

Цель моделируемого автомобиля состоит в том, чтобы достичь конечной линии, не сталкиваясь со стенами, и вывести траекторию движения (включая положение автомобиля для каждого момента времени, значение датчика и угол поворота руля) в виде текстового файла, а затем отобразить на графическом интерфейсе.

Разрабатываемый автомобильный симулятор использует нечеткую систему управления, чтобы имитировать движение автономного автомобиля на карте (см. рис. 4.3).

Имитации движения автономного объекта


Рисунок 4.3 – Имитации движения автономного объекта

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

Уравнения движения моделируемого автомобиля выглядят следующим образом:

где:

  • Φ(t) – угол между автомобилем и горизонтальной осью;
  • b – длина моделируемой машины;
  • x и y – координаты машины;
  • θ – угол поворота руля.

5. Сеть радиально–базисных функций

Сеть радиально–базисных функций [8] в математическом моделировании – это искусственная нейронная сеть, которая использует радиально–базисные функции в качестве функции активации. Выходом сети является линейная комбинация радиально–базисных функций входа и параметров нейрона. Сети радиально–базисных функций имеют много применений, в частности, такие как аппроксимацию функции, прогнозирования временных рядов, задачи классификации и управления системой. Они были впервые сформулированы в статье 1988 Брумхед и Лоу, оба исследователи из Royal Signals and Radar Establishment.

Сети радиально–базисных функций (СРБФ) обычно имеют три слоя (см. рис. 5.1): входной слой, скрытый слой с нелинейной РБФ функцией активации и линейный выходной уровень.

Архитектура сети радиально-базисных функций


Рисунок 5.1 – Архитектура сети радиально–базисных функций

5.1 Обучение сети РБФ

Автомобильный симулятор использует генетический алгоритм (ГА) и оптимизацию роя частиц (ОРЧ) для обучения сети радиально–базисных функций которая будет управлять автомобилем.

Генетический алгоритм [9] – это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, аналогичных естественному отбору в природе. Является разновидностью эволюционных вычислений, с помощью которых решаются оптимизационные задачи с использованием методов естественной эволюции, таких как наследование, мутации, отбор и кроссинговер. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений–кандидатов, роль которой аналогична роли скрещивания в живой природе.

Оптимизация роя частиц [10] – метод численной оптимизации, для использования которого не требуется знать точного градиента оптимизируемой функции.

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

Ген/координата ОРЧ определяется как три параметра СРБФ (w, m, σ) вектора смешанных измерений. Функция пригодности – это средняя дисперсия ожидаемого результата набора данных и результата СРБФ в конкретном входном случае. Наименьшее значение пригодности – лучший параметр СРБФ.

Структура сети радиально–базисных функций приведена на рисунке 5.2.

Структура сети радиально-базисных функций


Рисунок 5.2 – Структура сети радиально–базисных функций

Где х представляет собой набор входных данных, а φj (x) это функция Гаусса:

где w, m и σ параметры оптимизации алгоритма. Функция пригодности имеет следующий вид:

где y это ожидаемый результат, а F(x) это результат СРБФ. На рисунке 5.3 приведен алгоритм обучения сети радиально–базисных функций [11] с помощью генетических алгоритмов/оптимизации роя частиц.

Алгоритм обучения РБФ сети с помощью генетических алгоритмов/оптимизации роя частиц


Рисунок 5.3 – Алгоритм обучения РБФ сети с помощью генетических алгоритмов/оптимизации роя частиц

Выводы

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

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

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

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

Список источников

  1. Driving to Safety. How Many Miles of Driving Would It Take to Demonstrate Autonomous Vehicle Reliability? [Электронный ресурс]. – Режим доступа: https://www.rand.org/pubs/research_reports/RR1478
  2. Korkmaz B. Fuzzy Logic Based Self–Driving Racing Car Control System / B. Korkmaz, B. Etlik, A. Beke, T. Kumbasar // 2018 6th International Conference on Control Engineering & Information Technology (CEIT 2018). – IEEE, 2018. – pp. 343–348. – Режим доступа: https://www.researchgate.net/publication/332571910...
  3. Vehicle Control with Neural Networks [Электронный ресурс]. – Режим доступа: https://www.gamedev.net/reference/articles/article1988
  4. В. С. Величко, Применение нечеткой логики для создания системы управления устойчивостью двухколесного мотоцикла, Вестн. ЮУрГУ. Сер. Матем. моделирование и программирование, 2011, № 8, 20–28ы. – Режим доступа: https://mmp.susu.ru/article/ru/222
  5. Фоменко А. Разработка и исследование модуля управления движением в системе интеллектуальных дорог [Электронный ресурс]. – Режим доступа: http://masters.donntu.ru/2017/fknt/fomenko
  6. Афенченко В. Исследование характеристик системы управления движением автономного объекта [Электронный ресурс]. – Режим доступа: http://masters.donntu.ru/2014/etf/afenchenko
  7. Что такое нечеткая логика (fuzzy logic): принцип работы, примеры, применение [Электронный ресурс]. – Режим доступа: http://digitrode.ru/articles/1242
  8. Сеть радиально-базисных функций [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Сеть_радиально-базисных_функций
  9. Генетический алгоритм [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Генетический_алгоритм
  10. Метод роя частиц [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Метод_роя_частиц
  11. Введение в RBF сети [Электронный ресурс]. – Режим доступа: https://basegroup.ru/community/articles/rbf