УДК 004.94:519.876.5
1.В. СТЕЦЕНКО*, С.М. ЯЩУК*
1М1ТАЦ1ЙНЕ МОДЕЛЮВАННЯ ДОРОЖНЬОГО РУХУ З ВИКОРИСТАННЯМ UNITY3D
Нацiональний технiчний ушверситет Украти «Кшвський полiтехнiчний iнститут iMeHi 1горя Окорського», м. Кшв, Украша_
Анотаця. Моделювання трафгка е важливим аспектом при прийняттi нових стратегий керуван-ня дорожтм рухом, а також вдосконаленн вже iснуючих стратегт. У статтi наведено порiвня-льний аналiз програмних засобiв для моделювання транспортного руху. 1снують программ засоби, як дозволяють проводити моделювання дорожнього руху, проте на мiкрорiвнi вони недостатньо реалттично моделюють взаемодт транспортних засобiв та рельеф дороги. Бiльшiсть таких програмних продуктiв використовують математичн моделi, як описують рух транспортних засобiв. Ц моделi часто базуються на динамщ рiдини i е однаковими для кожного виду транспорту. Проте вони не задовольняють сучасним потребам моделювання дорожнього руху як складного комплексу засобiв управлтня та учасниюв дорожнього руху. Програмш засоби, як з'явились остантм часом, можуть вiдтворювати фiзичну взаемодт об'ектiв рiзного типу з урахуванням гх форми, ваги, якостi поверхт, що надзвичайно важливо при до^дженю транспортного руху на основi моделей. У датй статтi розглянуто використання Unity3D як нового засобу для моделювання дорожнього руху у тривимiрному представлент. Unity3D мае великий набiр вбудованих iн-струментiв для вiдтворення мехатки руху транспортних засобiв, навколишнього середовища, а також можливiсть розробки власних мехатк та скриптiв на основi мови C#. Розроблено алгоритм iмiтацiг керування транспортними засобами, який приймае ршення на основi iнформацiг про сигнали регулювання, вiдстань до найближчих транспортних засобiв та перешкод для руху, погодн умови, яюсть дорожнього покриття. Це надае можливiсть представити рух транспортного засобу найбтьш точно до реальнихумов.
Ключовi слова: iмiтацiйне моделювання, транспортний рух, Unity3D.
Аннотация. Моделирование трафика является важным аспектом при принятии новых стратегий управления дорожным движением, а также при совершенствовании уже существующих стратегий. В статье приведен сравнительный анализ программных средств для моделирования транспортного движения. Существуют программные средства, которые позволяют проводить моделирование дорожного движения, однако на микроуровне они недостаточно реалистично моделируют взаимодействие транспортных средств и рельеф дороги. Большинство таких программных продуктов используют математические модели, описывающие движение транспортных средств. Эти модели часто базируются на динамике жидкости и являются одинаковыми для каждого вида транспорта. Однако они не удовлетворяют современным потребностям моделирования дорожного движения как сложного комплекса средств управления и участников дорожного движения. Программные средства, которые появились в последнее время, могут воспроизводить физическое взаимодействие объектов различного типа с учетом их формы, веса, качества поверхности, что чрезвычайно важно при исследовании транспортного движения на основе моделей. В данной статье рассмотрено использование Unity3D как нового средства для моделирования дорожного движения в трехмерном представлении. Unity3D имеет большой набор встроенных инструментов для воспроизведения механики движения транспортных средств, окружающей среды, а также возможность разработки собственных механик и скриптов на основе языка C#. Разработан алгоритм имитации управления транспортными средствами, который принимает решения на основе информации о сигналах регулирования, расстояние до ближайших транспортных средств и препятствий для движения, погодные условия, качество дорожного покрытия. Это дает возможность представить движение транспортного средства наиболее точно к реальным условиям.
Ключевые слова: имитационное моделирование, транспортное движение, Unity3D.
© Стеценко 1.В., Ящук С.М., 2019
ISSN 1028-9763. Математичш машини i системи, 2019, № 1
Abstract. Traffic modeling is an important aspect when adopting new traffic management strategies, as well as improving existing strategies. The article presents a comparative analysis of software for modeling traffic. There are software tools that allow the simulation of traffic, however, at the micro level, they are not realistic enough to model the interaction of vehicles and road terrain. Most of these software products use mathematical models that describe the movement of vehicles. These models are often based on fluid dynamics and are the same for each type of transport. However, they do not satisfy the current needs of road modeling as a complex set of controls and road users. Software that has appeared recently can reproduce the physical interaction of objects of various types, taking into account their shape, weight, and surface quality, which is extremely important in the study of traffic based on models. This article discusses the use of Unity3D as a new tool for modeling traffic in a three-dimensional representation. Unity3D has a large set of built-in tools for reproducing vehicle mechanics, the environment, and the ability to develop your own mechanics and scripts based on the C # language. An algorithm for imitating the control of vehicles has been developed, which makes decisions based on information about control signals, the distance to the nearest vehicles and obstacles to traffic, weather conditions, and the quality of the road surface. This makes it possible to present the movement of the vehicle most accurately to actual conditions. Keywords: simulation modeling, traffic, Unity3D.
1. Вступ
Транспортна шфраструктура e одшею з найважливших шфраструктур у житп мюта, по-рушення в 11 робот призводять до суттевого попршення умов його життeдiяльностi. Зрос-тання кшькосп автомобшв на дорогах змушуе полшшувати транспорты системи для того, щоб задовольнити потреби мют. Для ефективного виршення проблем транспортних систем потрiбно використовувати моделювання транспортного руху для аналiзу впливу заван-таженост окремих дшянок транспортно! системи, структури дор^ та ш. Особливе значен-ня мае моделювання, яке надае можливють вщтворювати дорожнш рух як складний комплекс засобiв управлiння та учасниюв дорожнього руху.
Програмне забезпечення для симуляци дорожнього трафiка, яке використовуе мк-роскопiчну модель деталiзащi дорожнього руху, широко використовуеться для проекту-вання окремих дшянок транспортного руху i 1х дослщження, головним чином, через мож-ливiсть цих шструмешив враховувати стохастичнiсть транспортних потокiв. Моделювання дорожнього трафша використовують також для визначення ефективносп iнфраструктури та ii управлiння. Бiльшiсть програмних засобiв спрямоваш на реалiзацiю конкретного тд-ходу до моделювання трафша, поеднання 1х у одному програмному продуктi е проблема-тичним. Iмiтацiйнi моделi потенцшно спроможнi враховувати як деталi руху на мiкрорiвнi, так i транспортну дшянку в цiлому для досягнення високо! точностi моделювання. Проте тривимiрне моделювання транспортного руху на мiкрорiвнi потребуе великих обчислюва-льних потужностей.
Найбшьш вiдомими програмними продуктами моделювання транспортних систем е AIMSUN2, DRACULA, Paramics, CORSIM, VISSIM [1].
2. Анал1з 1снуючих програмних засоб1в
Програмний продукт AIMSUN2 [2] призначений для iмiтацii мережi мiських та мiжмiських транспортних систем, що надае користувачевi зручний iнтерфейс, який спрощуе побудову моделi та ii використання для iмiтацii. Даний програмний засiб базуеться на мшроскотч-ному пiдходi моделювання. Це означае, що поведшка кожного транспортного засобу пос-тiйно коригуеться згщно з декiлькома моделями поведшки водiя (слiдування за машинами, змша смуги руху) протягом усього перюду моделювання. AIMSUN2 використовуе дискре-тно-неперервний тдхщ. Це означае, що модель складаеться з елементiв (транспортнi засо-би, детектори), стан яких змшюеться неперервно. Стан iнших елементiв (сигнали св^ло-фору, вхiднi точки) змшюеться дискретно в задаш моменти часу. За рахунок такого тдхо-ду забезпечуеться високий рiвень деталiзацii моделювання трафша, надаеться можливiсть
po3pi3rara типи транспортних 3aco6ÏB та водпв, а також моделювати дорожньо-транспортш поди та маневри [3].
DRACULA представляв собою пакет для моделювання, який використовуе мшрос-котчну модель для симуляцп дорожнього трафiка, ÏM^ye процес руху транспортних засо-бiв та ïx взаeмодiю по транспортнш мережъ Важливою осо6ливiстю DRACULA е ашмащя транспортних потокiв, яка е безцшною для наочного розyмiння поведшки трафiка при рiз-них плануваннях транспортних мереж та стратепях управлшня ними. Важливою перевагою DRACULA е те, що транспорты засоби рухаються в режимi реального часу, а ïx трае-ктори визначаються з використанням моделей руху автомобшя та змiни смуги руху. Даний програмний зааб також враховуе даш про минулий досвiд водiя та його знання мереж^ що збер^аються в особистому файлi юторп. DRACULA дае можливють моделювати реакцiю водiя на затори чи змiнy смуги руху, що важливо тд час дослщження аваршних частин транспортно'1' мереж1 [4].
PARAMICS - програмний зааб для моделювання дорожнього трафiка на мiкрорiв-нi, що е повшстю масштабованим i призначений для iмiтацiï транспортних перехресть, розв'язок у населених пунктах, перевантажених автострад, а також оптимiзацiï руху та регулювання маршрутв громадського транспорту, роботи свiтлофорiв тощо. Даний програмний засi6 дае змогу враховувати у моделюванш мюький транспорт, такий, як автобуси та трамва'1, а також рух пiшоxодiв. Кожний транспортний засi6 моделюеться з урахуванням часу, необхщного для проходження шляху, та перевантаженосп дiлянок дорожньо'1 мере-жi, цим самим забезпечуючи дуже точний потш трафiка. Крiм заздалегiдь визначених кла-сiв транспортних засобiв, користувач може створювати свш власний транспортний засi6. Маршрyтизацiя транспортних засобiв задаеться певною мовою правил поведшки, яка ви-значена користувачем, що робить модель бшьш гнучкою та адаптивною. PARAMICS вирь зняеться серед аналопчних систем високопродуктивною вiзyалiзацieю процесу моделювання та масштабовашстю програмного забезпечення [5].
CORSIM - програма мшросимуляци транспортного руху, розроблена FHWA (Федеральна адмiнiстрацiя автомобшьних дорiг). Даний програмний продукт складаеться iз двох окремих програм. Перша програма - NETSIM - створена для моделювання мюьких транспортних мереж та тшохщних переxодiв. Друга програма - FRESIM - створена для моделювання та аналiзy автострад. У складi CORSIM було об'еднано дане програмне забезпечення, що дало можливють для CORSIM моделювати комплексы транспорты системи та проводити ïx аналiз. Програмне забезпечення CORSIM було вдосконалене на основi вщгу-кiв вiд користyвачiв. У результат чого було виявлено та виправлено ряд помилок. Дане програмне забезпечення використовуе мiкроiмiтацiйнy модель, що дозволяе оцшити вплив дш учасниюв транспортного руху один на одного. Програма дае змогу оцшювати процес накопичення трафша, що е причиною перевантаження транспортно'1' мереж1. Утворення заторiв е досить поширеною проблемою транспортних систем, а ïx аналiз можна провести лише за допомогою шструментв мшросимуляцп, таких, як CORSIM [6].
Пакет VISSIM також призначений для моделювання дорожньо! мереж1 та транспортного руху на мiкрорiвнi. VISSIM застосовуеться для аналiзy, переосмислення з подаль-шою оптимiзацieю та перепроектування мюьких i мiжмiськиx транспортних мереж. Результата роботи VISSIM використовуються для визначення оптимальних стратегш управлшня транспортними засобами, перевiрки ефективносп макетiв транспортних вyзлiв, роз-подшу смуг складних перехресть, мiсцезнаxодження автобусних зупинок та стоянок транспорту тощо. VISSIM також може бути використаний як корисний шструмент для рiзниx задач транспортування. Поведшка водiя за кермом у VISSIM описуеться за допомогою моделi Вiдеманна (R. Wiedemann) [7], яка дае змогу враховувати таю псиxофiзичнi власти-восп, як час для прийняття ршення та час реакцп водiя. VISSIM дозволяе збирати статис-
тичш даш на будь-якiй дiлянцi транспортно'1' мереж та формувати вiдповiднi зв^и, ство-рювати презентацп та вщеоролики [8].
Для порiвняння розглянутих вище програмних продуктiв видiлимо такi значущi для аналiзу транспортно'1' мережi параметри: погодш умови (1), розташування паркувальних мюць (2), неорганiзовано припаркованi автомобш (3), громадський транспорт (4), статич-не керування маршрутами (5), динамiчне керування маршрутами (6), автономнi транспорты засоби (7), адаптивна система регулювання швидкосп (8), пiшоходи (9). Функщональш можливостi програмних продуктiв вiдмiченi в табл. 1 знаком "+". Останнi три фактори не реалiзованi в iснуючих програмних продуктах, проте мають значний вплив на показники транспортного руху i пропонуються для реалiзацii в новому засобi iмiтацiйного моделю-вання, побудованому з використанням Unity3D.
Таблиця 1 - nopiB^HHH функцiональностi пакет1в моделювання
Програмне забезпечення 1 2 3 4 5 6 7 8 9
AIMSUN2 + - - + + + - - -
DRACULA - - - + - - - - -
PARAMICS + + - + + + - - -
CORSIM - + + + - - - - -
VISSIM - - + + - - - - -
3. Unity3D як альтернативний 1нструмент для в1зуал1зацн дорожнього руху
Тривимiрна вiзуалiзацiя е важливим аспектом при моделюваннi транспортного руху, так як дозволяе моделювати транспортний рух та елементи транспортно'1 системи максимально точно у вщповщносп з реальними умовами. Ще одним важливим аспектом тривимiрноi вiзуалiзащi е наглядна демонстращя результатiв моделювання. 1гровий рушiй Unity3D е потужним шструментом для тривимiрноi вiзуалiзащi, оскiльки дае змогу створювати об'екти моделювання максимально реалютично. Unity3D мае широкий функщонал для роботи i3 тривимiрною графшою, дозволяе iмпортувати тривимiрнi моделi, створеш у рiз-них 3D редакторах, та працювати з ними. За допомогою пiдготовлених моделей можна легко створити транспортну мережу, додати об'екти промисловосп, будинки, мюця для паркування, рiчки, дерева та iншi необхщш об'екти для моделювання. Для реалiзацii транспортних засобiв можна використати вбудоваш у Unity3D компоненти, таю як Rigidbody [9], що дае змогу контролювати позицiю об'екта, та Wheel Collider - спещальний колайдер для транспортних засобiв iз колесами [10]. Великою перевагою Unity3D е те, що вш тдт-римуе мову C# та дае змогу керувати об'ектами за допомогою створених на данш мовi скриптiв, що е зручним при реалiзацii власного функщоналу системи, наприклад, регулювання свiтлофорiв, керування транспортними засобами, погодш умови i т.д. Також до пе-реваг Unity3D можна вщнести пiдтримку високоякiсних вiзуальних ефектiв, високу швид-кодiю, пiдтримку багатопоточностi, мультиплатформшсть, наявнiсть власного редактора для роботи iз об'ектами вiзуалiзацii. Сукупнiсть даних можливостей Unity3D дае змогу створити максимально реалютичне тривимiрне моделювання транспортного руху.
Оскшьки тривимiрна вiзуалiзацiя транспортного руху потребуе використання великих обчислювальних потужностей, то у продемонстрованому нижче прикладi було задiяно багатопоточшсть, яка дае змогу збшьшити швидкодш програми та бiльш ефективно вико-ристовувати ресурси системи, що е дуже важливим особливо при моделюванш великих транспортних мереж. У продемонстрованому далi прикладi загальна кiлькiсть машин роз-
подшяеться мiж кiлькiстю доступних потокiв, де кожен потш керуе певною кшьюстю машин.
З використанням Unity3D було реалiзовано приклад транспортно'1 мереж^ який включае в себе таю елементи: дорожня частина iз перехрестями, яю регулюються за допо-могою засобiв регулювання (свiтлофорами), транспортнi засоби, яю керуються у процесi моделювання за допомогою створеного скрипта на мовi С#. Для зручностi спостереження за процесом iмiтащi дорожнього руху було додано керування камерою за допомогою скрипта, створеного мовою C#. Важливим функщоналом будь-якого програмного забезпе-чення для iмiтацii транспортного руху е збирання шформацп про стан на дорозi пiд час моделювання. Реалiзований приклад дозволяе збирати шформащю про найбiльшу довжи-ну черги на будь-якш дiлянцi транспортно'1 мережа
Для проводження експерименту було обрано транспортну мережу, яка представлена на рис. 1. Було проведено моделювання на транспортних мережах з одшею та двома сму-гами руху у кожному напрямку i рiзною кшьюстю машин, що дало змогу зiбрати данi про максимальну довжину черги у транспортнш мережа Результати цього зображенi на рис. 2. Зiбранi данi дають можливють дослiдити пропускну спроможнiсть дано'1 транспортно'1' ме-режi.
Рисунок 1 - Частина транспортно! мережi обрана для моделювання
Для демонстрацп зручносп використання Unity3D та мови програмування C# розг-лянемо, як вщбуваеться взаемод1я машини з об'ектами на дороз1 такими, як св1тлофори та шш1 учасники дорожнього руху. Використовуючи вбудований у Unity3D компонент Raycast, ми отримуемо шформащю про вс об'екти, як знаходяться у нас на шляху, ïx тип та вщстань м1ж ними. За допомогою наступного виклику функцп Raycast ми можемо отримати шформащю про об'ект, який знаходиться у нас на шляху:
Raycast(Vector3 origin, Vector3 direction,
out RaycastHit hitInfo, float maxDistance);
Проанал1зувавши об'ект hitInfo типу RaycastHit, ми можемо д1знатися тип об'екта на дороз1, викликавши наступну функщю hitInfo.collider.CompareTag
("Car") чи отримати вщстань до нього, викликавши властивють distance об'екта hitInfo. У випадку i3 свiтлофорами потрiбна додаткова iнформацiя про поточний стан свгглофора, яку машина отримуе вщ скрипта TrafficSystemIntersection. Коли авто-мобшь потрапляе у зону дп свгглофора, то спрацьовуе тригер OnTriggerEnter (Collider other), який вхщним параметром отримуе об'ект other типу Collider. Для того, щоб отримати сутшсть машини, потрiбно викликати функцiю other. gameObject.GetComponent<Car>() та модифiкувати поле currentTraffic Light. Скрипт TrafficSystemIntersection оновлюе iнформацiю про поточний сигнал св^-лофора протягом усього руху машини в межах дп даного свiтлофора. Для бшьш наглядно! демонстрацп на рис. 3 наведено спрощену схему алгоритму керування автомобшем, яка виконуеться на кожному ци^ оновлення, тобто 60 разiв у секунду.
12 10 8 6 4 2 0
10 15 20 25
Одна смуга руху Двi смуги руху
Рисунок 2 - Даш про максимальну довжину черги
30
Рисунок 3 - Схема алгоритму керування автомобшем
4. Висновок
Аналiз юнуючих програмних продукпв для моделювання транспортного руху та ix nopiB-няльний аналiз показують, що iснують пpoгpамнi продукти, яю дозволяють моделювати piзнi схеми транспортних систем та оцшювати поточну ситуащю дорожнього руху. Проте жоден i3 розглянутих програмних пpoдуктiв не включае у себе весь неoбxiдний функщо-нал для аналiзу транспортно'1' мережа
На даний момент вiдсутне програмне забезпечення, що може задовольнити ус су-часнi потреби у сфеpi моделювання транспортного руху та яке б поеднувало у ^6i функ-цioнал для oцiнки основних значущих паpаметpiв моделювання дорожнього руху, що були розглянут вище. Також жоден iз розглянутих iнстpументiв не pеалiзуе такi важливi функ-цп, як автономш тpанспopтнi засоби та адаптивна система регулювання швидкoстi.
Важливою перевагою вдосконаленого програмного продукту, яка здатна пщвищити ефективнють систем моделювання дорожнього руху, е об'еднання у одному шструмент вах розглянутих у пopiвняльнoму аналiзi функцiй, а також pеалiзацiя ще одше'1' важливо'1' функцп, як динамiчне керування дорогами (перекриття, обслуговування, ремонт) у реальному чаа, що дасть змогу оцшювати поводження трафша тд час piзнoгo роду роб^ на тpанспopтнiй мережъ Використання багатопоточносп у мoделюваннi транспортного руху дае можливють збiльшити швидкoдiю програмного продукту та моделювати транспорты системи великого poзмipу.
Для pеалiзацii нового шструменту моделювання тpивимipнoгo транспортного руху можна використати сучасний кросплатформний ^ровий рушш Unity3D, який надае весь необхщний функцioнал для pеалiзацiй високоякюного тpивимipнoгo моделювання транспортного руху. Вище на невеликому пpикладi було продемонстровано деяю дoступнi мож-ливост та oтpиманi результати моделювання з використанням цього програмного засобу, проте це лише незначна частина того, що може бути зроблено у сфеpi тpивимipнoгo моделювання руху з використанням Unity3D.
СПИСОК ДЖЕРЕЛ
1. Review of Micro-Simulation Models. URL: http://www.its.leeds.ac.uk/projects/smartest/append3d. html#a3.
2. Top Features in Aimsun. 2015. URL: https: //www .aimsun.com/aimsun/.
3. AIMSUN User Manual. TSS-Transport Simulation Systems, 2014. 372 p.
4. Barcelo J. Fundamentals of Traffic Simulation. Springer New York Dordrecht Heidelberg London, 2010.459 p.
5. Saidallah M., Fergougui El A., Elbelrhiti Elalaoui A. A Comparative Study of Urban Road Traffic Simulators. MATEC Web of Conferences. 2016. Vol. 81. 6 p.
6. Advanced CORSIM Training Manual. Minnesota Department of Transportation, 2008. 103 p.
7. Fellendorf M., Vortisch P. Microscopic Traffic Flow Simulator VISSIM / ed. J. Barcelo. Fundamentals of Traffic Simulation. International Series in Operations Research & Management Science. 2010. Vol. 145. P. 63-94.
8. VISSIM 5.30-05 User Manual. Planung Transport Verkehr AG, 2011. 680 p.
9. Документащя по компоненту Rigidbody. URL: https: //docs.unity3d.com/ScriptReference/ Rigidbody.html.
10. Unity3D документащя. URL: https://docs.unity3d .com/Manual/.
Стаття над1йшла до редакцп 14.11.2018