РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ ОПРЕДЕЛЕНИЯ ОПТИМАЛЬНОЙ ТРАЕКТОРИИ ОБЪЕЗДА ПРЕПЯТСТВИЙ АВТОМОБИЛЕМ
|
ВВЕДЕНИЕ 6
1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 8
1.1 АНАЛИЗ СОВРЕМЕННОГО СОСТОЯНИЯ ПРОБЛЕМЫ АВТОНОМНОГО УПРАВЛЕНИЯ АВТОМОБИЛЯМИ 8
1.2 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ АВТОНОМНЫХ АВТОМОБИЛЕЙ 9
1.3 ОПТИМАЛЬНАЯ ТРАЕКТОРИЯ 11
2 АВТОНОМНОЕ ТРАЕКТОРНОЕ УПРАВЛЕНИЕ 14
2.1 МОДЕЛЬ ДИНАМИКИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА 14
2.2 АРХИТЕКТУРА ПРОГРАММЫ УПРАВЛЕНИЯ АВТОМОБИЛЕМ 16
2.3 АЛГОРИТМЫ ПОСТРОЕНИЯ ТРАЕКТОРИИ 18
2.4 УЧЕТ ОГРАНИЧЕНИЙ ДВИЖЕНИЯ АВТОМОБИЛЯ 28
2.5 ВЫБОР АЛГОРИТМА ПЛАНИРОВАНИЯ ПУТИ 32
3 РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 34
3.1 ВЫБОР И ОБОСНОВАНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ И СРЕДЫ РАЗРАБОТКИ 34
3.2 РАЗРАБОТКА ИНТЕРФЕЙСА ПРОГРАММЫ 34
3.3 РАСПОЛОЖЕНИЕ ПРЕПЯТСТВИЙ 36
3.4 РЕАЛИЗАЦИЯ АЛГОРИТМА RRT 40
3.5 СГЛАЖИВАНИЕ ПУТИ 43
3.6 РЕАЛИЗАЦИЯ АЛГОРИТМА ДУБИНСА 45
3.7 ТЕСТИРОВАНИЕ 49
ЗАКЛЮЧЕНИЕ 55
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 57
ПРИЛОЖЕНИЕ
1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 8
1.1 АНАЛИЗ СОВРЕМЕННОГО СОСТОЯНИЯ ПРОБЛЕМЫ АВТОНОМНОГО УПРАВЛЕНИЯ АВТОМОБИЛЯМИ 8
1.2 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ АВТОНОМНЫХ АВТОМОБИЛЕЙ 9
1.3 ОПТИМАЛЬНАЯ ТРАЕКТОРИЯ 11
2 АВТОНОМНОЕ ТРАЕКТОРНОЕ УПРАВЛЕНИЕ 14
2.1 МОДЕЛЬ ДИНАМИКИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА 14
2.2 АРХИТЕКТУРА ПРОГРАММЫ УПРАВЛЕНИЯ АВТОМОБИЛЕМ 16
2.3 АЛГОРИТМЫ ПОСТРОЕНИЯ ТРАЕКТОРИИ 18
2.4 УЧЕТ ОГРАНИЧЕНИЙ ДВИЖЕНИЯ АВТОМОБИЛЯ 28
2.5 ВЫБОР АЛГОРИТМА ПЛАНИРОВАНИЯ ПУТИ 32
3 РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 34
3.1 ВЫБОР И ОБОСНОВАНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ И СРЕДЫ РАЗРАБОТКИ 34
3.2 РАЗРАБОТКА ИНТЕРФЕЙСА ПРОГРАММЫ 34
3.3 РАСПОЛОЖЕНИЕ ПРЕПЯТСТВИЙ 36
3.4 РЕАЛИЗАЦИЯ АЛГОРИТМА RRT 40
3.5 СГЛАЖИВАНИЕ ПУТИ 43
3.6 РЕАЛИЗАЦИЯ АЛГОРИТМА ДУБИНСА 45
3.7 ТЕСТИРОВАНИЕ 49
ЗАКЛЮЧЕНИЕ 55
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 57
ПРИЛОЖЕНИЕ
Многие годы люди мечтали о создании автомобилей, способных ездить без
вмешательства водителя. В настоящее время ведется множество разработок в сфере
автомобилестроения с целью создания полностью роботизированных автомобилей.
Уже сегодня существуют автомобили, которые могут передвигаться по дороге самостоятельно, но в критических ситуациях все же необходимо вмешательство человека.
Автономные транспортные средства весьма полезны для общества, так как в
перспективе их использование позволит снизить количество дорожно-транспортных
происшествий, снизить затраты в транспортной отрасли, уменьшить количество
пробок на дорогах, а также они позволят быть независимыми многим людям, которые не могут управлять транспортными средствами из-за возраста или ограничений
здоровья.
Автономия транспортного средства на дороге требует надежной системы планирования движения. Система планирования движения создает траекторию движения транспортного средства в течение нескольких секунд, используя информацию,
предоставленную системой восприятия о текущем состоянии автомобиля, состоянии
дороги впереди и местоположения других транспортных средств и объектов на дороге.
Важным условием планировщика является скорость предоставления данных
об изменениях на дороге. Это сложная задача для генерации траектории движения,
так как в сложных дорожных ситуациях необходима быстрая реакция системы, во
избежание аварийных ситуаций.
Планирование движения охватывает множество областей, например, вычисление белковых взаимодействий, человеческая походка, создание динамических траекторий для летательных аппаратов, вождение наземных транспортных средств по
пересеченной местности. Для решения этих разрозненных задач используется широкий спектр методов. Поэтому необходимо сузить нашу сферу задач до планирования
движения автономных транспортных средств на дороге.7
Для построения траекторий в различных дорожных ситуациях необходимо
осуществить алгоритмы для объезда препятствий, возникающих перед автономным
транспортным средством. Поэтому целью данной работы будет разработка программного модуля для построения квазиоптимальной траектории объезда препятствий, обеспечивающий безопасный объезд препятствий произвольной формы.
Для достижения данной цели необходимо решить ряд задач:
анализ математической модели движения транспортного средства;
анализ существующих алгоритмов построения траекторий;
реализация алгоритма построения траектории;
тестирование программной реализации алгоритма.
вмешательства водителя. В настоящее время ведется множество разработок в сфере
автомобилестроения с целью создания полностью роботизированных автомобилей.
Уже сегодня существуют автомобили, которые могут передвигаться по дороге самостоятельно, но в критических ситуациях все же необходимо вмешательство человека.
Автономные транспортные средства весьма полезны для общества, так как в
перспективе их использование позволит снизить количество дорожно-транспортных
происшествий, снизить затраты в транспортной отрасли, уменьшить количество
пробок на дорогах, а также они позволят быть независимыми многим людям, которые не могут управлять транспортными средствами из-за возраста или ограничений
здоровья.
Автономия транспортного средства на дороге требует надежной системы планирования движения. Система планирования движения создает траекторию движения транспортного средства в течение нескольких секунд, используя информацию,
предоставленную системой восприятия о текущем состоянии автомобиля, состоянии
дороги впереди и местоположения других транспортных средств и объектов на дороге.
Важным условием планировщика является скорость предоставления данных
об изменениях на дороге. Это сложная задача для генерации траектории движения,
так как в сложных дорожных ситуациях необходима быстрая реакция системы, во
избежание аварийных ситуаций.
Планирование движения охватывает множество областей, например, вычисление белковых взаимодействий, человеческая походка, создание динамических траекторий для летательных аппаратов, вождение наземных транспортных средств по
пересеченной местности. Для решения этих разрозненных задач используется широкий спектр методов. Поэтому необходимо сузить нашу сферу задач до планирования
движения автономных транспортных средств на дороге.7
Для построения траекторий в различных дорожных ситуациях необходимо
осуществить алгоритмы для объезда препятствий, возникающих перед автономным
транспортным средством. Поэтому целью данной работы будет разработка программного модуля для построения квазиоптимальной траектории объезда препятствий, обеспечивающий безопасный объезд препятствий произвольной формы.
Для достижения данной цели необходимо решить ряд задач:
анализ математической модели движения транспортного средства;
анализ существующих алгоритмов построения траекторий;
реализация алгоритма построения траектории;
тестирование программной реализации алгоритма.
В данной работе было произведено исследование предметной области поиска
траекторий движения робота. После проведения анализа существующих алгоритмов
поиска траекторий, был выбран и реализован алгоритм быстро разворачивающегося
случайного дерева. Использование этого алгоритма позволяет получать траектории
с высокой скоростью.
Траектория, получаемая алгоритмом RRT, в результате оказывалась слишком
извилистой, поэтому, чтобы исправить этот недостаток был разработан алгоритм
для сокращения траекторий. В итоге это позволило значительно уменьшить длину
получаемых траекторий, тем самым приблизить их к оптимальным.
Для того чтобы автомобиль мог двигаться по получаемым траекториям необходимо учитывать кинематические ограничения транспортного средства, которые
зависят от его маневренности и скорости. Для решения этой задачи был проанализирован алгоритм построения кривых Дубинса. Использование кривых Дубинса позволило получить траекторию, состоящую из кусочных дуг. Тем самым это позволило учитывать кинематические ограничения автомобиля, а именно минимальный
радиус поворота автомобиля.
Описанные алгоритмы были реализованы в программе, написанной на языке
MATLAB. Во время работы программы пользователь может осуществлять ввод
препятствий, располагать автомобиль в любой точке рабочей области, кроме мест
расположения препятствий, так же располагается и конечная точка траектории. После того, как построена карта препятствий и установлены начало и конец траектории, можно запустить поиск траектории. Построенную карту препятствий можно
сохранить в файл для дальнейшего его использования. Для создания новой карты
препятствий необходимо совершить сброс, для чего создана специальная клавиша.
При нажатии на нее совершается очистка рабочей области.
Скорость поиска траекторий зависит от загруженности участка препятствиями
и от дистанции между начальной и конечной вершиной.56
Был проведен ряд испытаний разработанной программы, проведен анализ полученных в ходе испытаний результатов и выявлены слабые стороны алгоритма.
Слабыми сторонами программы являются:
1. недостаточное быстродействие программы;
2. не учтена возможность движения автомобиля задом.
Оба этих недостатка решаемы. Для решения проблемы быстродействия необходимо совершить распараллеливание кода, для возможности работы программы с
использованием многоядерных ЦП ЭВМ. Модернизация алгоритма поиска траекторий, может так же позволить сократить время поиска траекторий движения. Для
учета движения автомобиля задом необходимо модифицировать построение кривых
Дубинса.
После адаптации программы для использования в параллельной архитектуре
и добавления учета движения автомобиля задним ходом результатом станет не
только значительное ускорение процесса построения траекторий, но так же это повлияет и на длину получаемых траекторий. Учет возможности движения автомобиля
задом позволит совершать развороты автомобиля на месте, что значительно сократит длину получаемых траекторий.
траекторий движения робота. После проведения анализа существующих алгоритмов
поиска траекторий, был выбран и реализован алгоритм быстро разворачивающегося
случайного дерева. Использование этого алгоритма позволяет получать траектории
с высокой скоростью.
Траектория, получаемая алгоритмом RRT, в результате оказывалась слишком
извилистой, поэтому, чтобы исправить этот недостаток был разработан алгоритм
для сокращения траекторий. В итоге это позволило значительно уменьшить длину
получаемых траекторий, тем самым приблизить их к оптимальным.
Для того чтобы автомобиль мог двигаться по получаемым траекториям необходимо учитывать кинематические ограничения транспортного средства, которые
зависят от его маневренности и скорости. Для решения этой задачи был проанализирован алгоритм построения кривых Дубинса. Использование кривых Дубинса позволило получить траекторию, состоящую из кусочных дуг. Тем самым это позволило учитывать кинематические ограничения автомобиля, а именно минимальный
радиус поворота автомобиля.
Описанные алгоритмы были реализованы в программе, написанной на языке
MATLAB. Во время работы программы пользователь может осуществлять ввод
препятствий, располагать автомобиль в любой точке рабочей области, кроме мест
расположения препятствий, так же располагается и конечная точка траектории. После того, как построена карта препятствий и установлены начало и конец траектории, можно запустить поиск траектории. Построенную карту препятствий можно
сохранить в файл для дальнейшего его использования. Для создания новой карты
препятствий необходимо совершить сброс, для чего создана специальная клавиша.
При нажатии на нее совершается очистка рабочей области.
Скорость поиска траекторий зависит от загруженности участка препятствиями
и от дистанции между начальной и конечной вершиной.56
Был проведен ряд испытаний разработанной программы, проведен анализ полученных в ходе испытаний результатов и выявлены слабые стороны алгоритма.
Слабыми сторонами программы являются:
1. недостаточное быстродействие программы;
2. не учтена возможность движения автомобиля задом.
Оба этих недостатка решаемы. Для решения проблемы быстродействия необходимо совершить распараллеливание кода, для возможности работы программы с
использованием многоядерных ЦП ЭВМ. Модернизация алгоритма поиска траекторий, может так же позволить сократить время поиска траекторий движения. Для
учета движения автомобиля задом необходимо модифицировать построение кривых
Дубинса.
После адаптации программы для использования в параллельной архитектуре
и добавления учета движения автомобиля задним ходом результатом станет не
только значительное ускорение процесса построения траекторий, но так же это повлияет и на длину получаемых траекторий. Учет возможности движения автомобиля
задом позволит совершать развороты автомобиля на месте, что значительно сократит длину получаемых траекторий.
Подобные работы
- РАЗРАБОТКА АЛГОРИТМА И ПРОГРАММНОГО МОДУЛЯ ДЛЯ ОПРЕДЕЛЕНИЯ ОПТИМАЛЬНОЙ ТРАЕКТОРИИ ОБЪЕЗДА ПРЕПЯТСТВИЙ ПРИ ДВИЖЕНИИ НА ДОРОГЕ
Магистерская диссертация, информатика. Язык работы: Русский. Цена: 5740 р. Год сдачи: 2018



