ВВЕДЕНИЕ 6
1 ОПИСАНИЕ МАТЕМАТИЧЕСКОЙ И ТРЕХМЕРНОЙ МОДЕЛИ ДОРОГИ 8
1.1 КОНЦЕПЦИЯ ПРОГРАММНОГО КОМПЛЕКСА «ВИРТУАЛЬНЫЙ ПОЛИГОН» 8
1.2 МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ДОРОГИ 9
1.3 СПЛАЙНЫ 12
1.4 ГЕОМЕТРИЧЕСКАЯ МОДЕЛЬ ДОРОГИ 16
1.5 ВИЗУАЛИЗАЦИЯ ПРИ ПОМОЩИ ИГРОВЫХ ДВИЖКОВ 18
2 РАЗРАБОТКА КОМПОНЕНТОВ ПРОГРАММНОГО МОДУЛЯ 20
2.1 ВЫБОР И ОБОСНОВАНИЕ ИГРОВОГО ДВИЖКА ДЛЯ ПОСТРОЕНИЯ И ВИЗУАЛИЗАЦИИ ТРЕХМЕРНОЙ МОДЕЛИ
ДОРОГИ 20
2.2 РЕАЛИЗАЦИЯ РЕДАКТОРА ДОРОГ СРЕДСТВАМИ UNREAL ENGINE 22
2.3 РЕАЛИЗАЦИЯ ОСНОВНОГО РЕДАКТОРА ДОРОГ СРЕДСТВАМИ QT НА ЯЗЫКЕ C++ 45
3 ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ РЕДАКТОРА ДОРОГ И РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ 53
3.1 ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 53
3.2 ТЕСТИРОВАНИЕ МОДЕЛЕЙ ДОРОГИ СОВМЕСТНО С КОМПЬЮТЕРНОЙ МОДЕЛЬЮ ДВИЖЕНИЯ АВТОМОБИЛЯ
КАМАЗ 5308 59
ЗАКЛЮЧЕНИЕ 64
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 66
ПРИЛОЖЕНИЕ
На сегодняшний день проектирование любого автомобиля не обходится без испытаний его тягово-скоростных качеств, топливной экономичности, тормозных качеств, управляемости и устойчивости, плавности хода, проходимости и надежности.
Проводятся такие испытания на специальных полигонах, где проводятся испытания автомобиля при разнообразных условиях, включая разнообразные дорожные покрытия, имитирующие реальные, например автополигон «НАМИ» - крупнейший в России автополигон для испытаний автомобилей. Поскольку создание инженерных (тестовых) версий проектируемого автомобиля, а так же тестирование на полигонах, подобных «НАМИ» - довольно затратное по средствам мероприятие, автомобильные компании стремятся использовать математические модели проектируемых транспортных средств и тестировать их на виртуальных полигонах, треках, заданных математически, с такими параметрами, как продольный угол наклона, поперечный угол наклона участка трассы, описанием микро профиля. Полная математическая модель автомобиля сложна для ее расчета человеком. Вследствие того применяется компьютерное моделирование. Компьютер, в силу конструкторских особенностей, оперирует числами, что не очень удобно для человека, которому легче оперировать визуальными данными, чем большим количеством цифр, например, при введении координат для построения трассы. В таком случае возникает необходимость разработки средства визуализации (программы) - конструктора трека, где пользователь сможет удобными для него визуальными инструментами буквально «нарисовать» трек, который ему необходим.
Написание с нуля подобных программ довольно трудозатратно по времени и сложности. Но существуют решения, позволяющие не тратить время на написание программного кода среды визуализации. Одним из таких решений являются игровые движки.
Результатом работы является комплексная (параметризированная математическая плюс трехмерная) модель дороги, используемая совместно с компьютерной моделью движения автомобиля при выполнении численных 6
экспериментов. Кроме того, трехмерная модель дороги используется непосредственно редактором для ее визуализации в процессе создания и настройки, и в модуле визуализации процесса движения автомобиля, который разрабатывается в другой дипломной работе А. Русиным.
Цель работы - разработка программного модуля «Редактор дорог», предназначенного для формирования комплексной параметризированной математической и трехмерной модели дорог, используемой в программном комплексе «Виртуальный полигон» совместно с компьютерными моделями движения автомобилей.
Задачи работы:
1. Разработать параметризированную модель дороги, предназначенную для описания желаемой траектории движения автомобиля, криволинейной поверхности дорожного полотна с учетом горизонтального и вертикального профилей, а также генерации трехмерной сетки для 3D - визуализации поверхности дороги средствами Unreal Engine 4 (UE 4);
2. Разработать «редактор дорог» средствами игрового движка UE 4;
3. Интегрировать математическую модель дороги в математическую модель криволинейного движения двухосного автомобиля;
4. Интегрировать «редактор дорог» в программный комплекс виртуальный полигон для визуализации движения автомобиля по дороге, созданной в редакторе.
В ходе выполнения выпускной квалификационной работы были решены все поставленные задачи:
1. Разработана параметризированная модель дороги, предназначенная для описания желаемой траектории движения автомобиля, криволинейной поверхности дорожного полотна с учетом горизонтального и вертикального профилей, а также генерации трехмерной сетки для 3D - визуализации поверхности дороги средствами UE 4;
2. Разработан «редактор дорог» средствами игрового движка UE 4;
3. Математическая модель дороги интегрирована в математическую модель криволинейного движения двухосного автомобиля;
4. «Редактор дорог» интегрирован в программный комплекс виртуальный полигон для визуализации движения автомобиля по дороге, созданной в редакторе;
Разработан программный компонент «Редактор дорог» и компонент визуализации, построенной в редакторе дороги средствами игрового движка Unreal Engine 4, а так же создана параметрическая модель дороги для интеграции созданной в редакторе дороги с моделью движения грузового автомобиля Камаз 5308, созданной в программе simulink.
Из встреченных проблем при реализации задуманного стоит отметить, что хоть движок и поставляется с открытым исходным кодом, но не все его компоненты доступны из-за авторских прав и внутренних разработок компании Epic Games, что на данный момент лишает Unreal Engine некоторой гибкости, необходимой для создания на его базе полноценного редактора.
Разработанный редактор в составе «виртуального полигона» может быть использован при проведении численных экспериментов в рамках тестирования алгоритмов работы различных систем управления автомобилем, проведении виртуальных испытаний на управляемость и т.д.
Ценность работы заключается в использовании средств визуализации построенных на основе средств игрового движка, а также в получении практического опыта интегрирования возможностей различных программных средств (MatLab, Unreal Editor, собственного приложения, разработанного в среде Qt creator) для разработки собственного программного продукта.
1. Советов Б. Я., Яковлев С. А., Моделирование систем: Ученик для вузов/Б.Я Советов — 3-е изд., перераб. и доп. — М.: Высш. шк., 2001. — 343 с.
2. СамарскийА. А., Михайлов А. П., Математическое моделирвание: Идеи. Методы. Примеры./А.А Самарский — 2-е изд., испр. и доп. — М.: Физматлит, 2001. — 320 с.
3. Стечкин С.Б., Субботин Ю.Н., Сплайны в вычислительной математике/С.Б. Стечкин — М.: Наука, 1976. — 248 с.
4. Кривые Безье. Применение [Электронный ресурса/URL: http://alex- black.ru/article.php?content=109 (дата обращения: 15.02.2016).
5. Голованов Н. Н., Геометрическое моделирование/Н. Н. Голованов — М.: Физматлит, 2002. — 472 с.
6. AActor[Электронный ресурс] // Unreal Engine 4 documentation
URL: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/GameFramework/A Actor/index.html (дата обращения: 16.05.2016).
7. (Перевод) Введение в разработку C++ в UE4[Электронный ресурс] // Хабрахабр URL: http://habrahabr.ru/post/254931/(дата обращения: 14.05.2016).
8. Functions[Электронный ресурс] // Unreal Engine 4 documentation
URL: https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/Referen ce/Functions/ (дата обращения: 16.05.2016).
9. Spline[Электронный ресурс] // Unreal Engine 4 documentation
URL: https://docs.unrealengine.com/latest/INT/BlueprintAPI/Spline/index.html (дата обращения: 16.05.2016).
10. Lerp[Электронный ресурс] // Unreal Engine 4 documentation
URL: https://docs.unrealengine.com/latest/INT/API/Runtime/Core/Math/FMath/Lerp/inde x.html (дата обращения: 18.05.2016).
11. Construction Script[Электронный ресурс] // Unreal Engine 4 documentation
URL: https://docs.unrealengine.com/latest/INT/API/Runtime/Core/Math/FMath/Lerp/inde x.html (дата обращения: 5.04.2016).
12. Бахвалов Н. С., Численные методы/Н. С. Бахвалов — М.: Наука, 1975. — 239 с.
13. Красильников Н. Н., Цифровая обработка 2D и 3D изображений: учеб.
пособие. — СПб.: БХВ-Петербург, 2011. — 608 с.: ил. - (Учебная литература для вузов)
14. Программирование на языке С++ в среде Qt Creator: Л47/Е.Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало - М.: Alt Linux, 2015. - 448c.: ил. - (Библиотека Alt Linux)