Научная статья на тему 'МОДЕЛИРОВАНИЕ ДВИЖЕНИЯ ПОДВИЖНОГО СОСТАВА В СРЕДЕ UNITY'

МОДЕЛИРОВАНИЕ ДВИЖЕНИЯ ПОДВИЖНОГО СОСТАВА В СРЕДЕ UNITY Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
192
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛИРОВАНИЕ / ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ / ТРАНСПОРТНАЯ МОДЕЛЬ / UNITY / UNITY3D / ЖЕЛЕЗНОДОРОЖНЫЙ ТРАНСПОРТ / МОСКОВСКИЙ ЖЕЛЕЗНОДОРОЖНЫЙ УЗЕЛ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Адаев Р.Б.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MODELING THE MOVEMENT OF ROLLING STOCK IN THE UNITY ENVIRONMENT

The article is devoted to the application of the Unity environment for geometric modeling of train traffic in existing directions in accordance with a given route according to a known schedule. The routes of the Moscow railway junction are considered as an object of modeling. The obtained results are supposed to be used to study the capacity of railway sections and optimize the schedules of rolling stock.

Текст научной работы на тему «МОДЕЛИРОВАНИЕ ДВИЖЕНИЯ ПОДВИЖНОГО СОСТАВА В СРЕДЕ UNITY»

Моделирование движения подвижного состава в среде Unity

Р.Б. Адаев

Российский государственный университет им. А.Н. Косыгина, Москва

Аннотация: Статья посвящена применению среды Unity для геометрического моделирования движения поездов по существующим направлениям в соответствии с заданным маршрутом по известному расписанию. В качестве объекта моделирования рассматриваются маршруты Московского железнодорожного узла. Полученные результаты предполагается использовать для исследования пропускной способности участков железных дорог и оптимизации расписаний движения подвижного состава. Ключевые слова: моделирование, геометрическое моделирование, транспортная модель, Unity, Unity3D, железнодорожный транспорт, Московский железнодорожный узел.

В работе рассказывается о результатах создания геометрической модели движения транспортных единиц Московского железнодорожного узла по заданному расписанию. Зачастую для решения практических задач строятся имитационные модели [1,2]. Разработка подобной модели обусловлена необходимостью повышения наглядности отображения текущего состояния движущегося подвижного состава в процессе прохождения индивидуального маршрута. Для создания требуемой модели оказалось целесообразным применить известную среду Unity, традиционно используемую для автоматизированного геометрического моделирования графических сцен в игровых программных приложениях и образовательных тренажерах.

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

Для моделирования движения поездов выбран Московский железнодорожный узел — железнодорожный комплекс, сложившийся и функционирующий в масштабах Московского региона. До настоящего времени сохраняет основной объём пассажирских и грузовых перевозок. Московский узел — крупнейший железнодорожный узел в СНГ и один из крупнейших в мире.

В состав московского железнодорожного узла входят:

-радиальные направления от вокзалов Москвы;

-Малое кольцо Московской железной дороги (МЖД);

- Большое кольцо МЖД;

- соединительные линии и ветви между упомянутыми направлениями и кольцами [4,5].

Для моделирования объектов использована Unity — межплатформенная среда разработки компьютерных игр. Unity позволяет создавать приложения, работающие на различных операционных системах. На Unity написано множество игр и приложений, эта программа широко используется в приложениях с BD-графикой в реальном времени. Благодаря функциям, определенным с использованием языков программирования, можно выполнять большую работу, написав меньше кода [6].

Среда разработки Unity обладает понятным интерфейсом, возможно производить отладку модели в редакторе. Объекты подчинены системе наследования. Скрипты в редакторе присоединяются к объектам в виде отдельных компонентов [7].

Unity делает процесс производства приложения простым, предоставляя ряд возможностей для различных сценариев. Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки, возможность замедлять или ускорять время анимации [7,8].

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

В статье [10] описывается BD-объект, движущийся по определенной траектории. Для реализации движения автор создал несколько скриптов на языке С#, в том числе программно реализуется метод решения системы дифференциальных уравнений.

В Unity была загружена схема Московского железнодорожного узла. Именно по этой карте должны передвигаться поезда (рис. 3).

Поезда отображаются в виде сфер, такая форма помогает избежать загруженности центральной области, где расположены вокзалы. Сферы были добавлены в Unity с помощью пункта меню «Game Object - 2D Object -Sphere». Каждая сфера показывает один поезд. Все сферы имеют одинаковые геометрические размеры.

Для окраски сфер в соответствии с маршрутом, созданы материалы с разными цветами (рис. 1), например, синий цвет выбран для поездов одного направления, фиолетовый цвет выбран для поездов другого направления и т. д.

и J •J и И А И J

Р1 Р2 РЗ Р4 Р5 Р6 Р7 Р8 Р9

Рис. 1. - Материалы

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

Пример расписания из текстового файла: 06:20 Фрязино Москва 07:50 Москва Фрязино

09:30 Фрязино Москва 11:50 Москва Фрязино 12:50 Фрязино Москва

Свойства одного из поездов приведены на рис. 2. К поезду подключён скрипт-файл С#. Параметр step, отвечающий за скорость проезда равен 0,1.

В модели присутствует камера, позволяющая наблюдать за движением поездов. В режиме просмотра анимацию можно растянуть на весь экран.

Работа модели представлена на рис. 3.

Движение осуществляется в соответствии с программным кодом. Координаты точек остановки/поворота заданы как объекты класса Vector2 (в качестве точки с нулевыми координатами взят центр Москвы), например: t1=new Vector2 (-5.07F, -0.8F); t2=new Vector2 (-5.18F, -1.21F);

Создана переменная Timer, определяющая время от 00:00 до 23:59 в виде количества минут.

Для следования поездов по расписанию информация из текстового файла читается с помощью функции ReadAllLines и помещается в двумерный массив с использованием разделителя Split.

По мере возрастания переменной Timer поезд движется. Следующий код отвечает за движение: Timer++;

if ((Timer>nachdv) && (Timer<=nachdv+4)) {

transform.position=Vector2.Lerp (t1, t2, progress1); progress1 +=step*10/4;

}

else if ((Timer>nachdv+4) && (Timer<=nachdv+8)) {

transform.position=Vector2.Lerp(t2,t3,progress2);

progress2 +=step*10/4;

}

О Inspector |

Vi M-Fryazevo □ Static

Tag Untagged ! Layer Default H

' ^ч Transform У i

Position X 9.96 Y 0.38 Z -9.1791

Rotation X и Y 0 Z 0

Scale X 0.75 Y 0.75 Z 1

Sphere (Mesh Filter) У S

</Mesh Renderer У n! o.

Materials

Light Probes Blend Pili bes 0

Reflection Probes Blend Pili bes 0

Anchor Override None [Transform^ О

Cast Shadows L On 0

Receive Shadows 0

Motion Vectors Pel- Object Motion •J

Lightmap Static □

Lightnnapping jetting; are currently

Ф disabled. Enable Baked Global Illumination or Realtime Global Illumination to display these settings.

Dynamic Occluded l^t ^ ?Sphere Collider Q li!

| A | Edit Collider

Is Trigger

Material None (Physic Mati О

Center

X 0 Y 0 Z 0

Radius 0.5

▼ я pFrya zevo (Script) У ~t

Script Fryazevo О

Step 0.1

Рис. 2. Свойства поезда M-Fryazevo

Перемещение осуществляется с помощью функции Lerp, параметр progress меняется, чтобы поезд равномерно следовал по участку.

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

В качестве результатов работы стоит выделить изучение среды разработки Unity, инструментарий которой предоставляет широкие возможности для разработки графических приложений [11]. Была создана

М Инженерный вестник Дона, №11 (2022) ivdon.ru/ru/magazine/arcliive/nlly2022/8023

модель железнодорожного узла, включающая объекты, движущиеся по заданным траекториям. Эту модель можно дальше дополнять в среде разработки Unity.

Рис. 3. Скриншот анимации

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

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

Литература

1. Новрузова Г. С. Системный подход, моделирование и имитационное моделирование как основа образовательных технологий // Историческая и социально-образовательная мысль. 2020. Т. 12. № 3. С. 120-131.

2. Советов Б. Я., Яковлев С. А. Моделирование систем: Практикум. М.: Высшая школа, 1999. 224 с.

M Инженерный вестник Дона, №11 (2022) ivdon.ru/ru/magazine/arcliive/nlly2022/8023

3. Даниленко А. И. Моделирование задачи рациональной организации и технологии работ по восстановлению верхнего строения железнодорожного пути // Инженерный вестник Дона, 2016, № 4 URL: http : //ivdon.ru/ru/magazine/archive/n4y2016/3861

4. Бородина Е. В., Дмитриев Е. О., Горбунов Г. Г., Алексевнин Е. А. Организация местной работы в Московском железнодорожном узле в условиях организации диаметрального движения пригородно-городских поездов // Вестник транспорта Поволжья. 2021. №1. С. 33-44.

5. Дранченко Ю. Н. Перспективы развития Московского железнодорожного узла // Вестник транспорта. 2013. № 10. С. 20-26.

6. Boyraz G., Kirci P. Constructing A 3d Game With Unity 3d Game Engine // Conference of Open Innovations Association, FRUCT. 2021. №28. С. 554-557.

7. Mazlan N. A., Kassim M., Suliman S. I., Ya'acob N. Rehabilitation hand exercise system with video games // International Journal of Advanced Trends in Computer Science and Engineering. 2020. № 1. - С. 545-551.

8. Документация Unity. URL: docs.unity3d.com/2020.1/ Documentation/ Manual/UIE-Events-DragAndDr op. html

9. Рогачев В. А. Разработка компьютерных игр в среде Unity: основные приемы работы и примеры их применения: учебное пособие. Волгоград: Волгоградский государственный технический университет, 2016. 60 с.

10. Семушин И. В., Цыганов А. В., Цыганова Ю. В. [и др.] Моделирование и оценивание траектории движущегося объекта // Вестник Южно-Уральского государственного университета. Серия: Математическое моделирование и программирование. 2017. № 3. С. 108-119.

11. Трохова Т. А. Компьютерное моделирование динамических объектов с использованием среды разработки компьютерных игр Unity // Агротехника и энергообеспечение. 2018. № 1. С. 100-108.

References

1. Novruzova G. S. Istoricheskaya i sotsial'no-obrazovatel'naya mysl'. 2020. T. 12. № 3. pp. 120-131.

2. Sovetov B. Ya., Yakovlev S. A. Modelirovaniye sistem: Praktikum [Modeling of systems: Workshop]. M.: Vysshaya shkola, 1999. 224 p.

3. Danilenko A. I. Inzhenernyj vestnik Dona, 2016, № 4. URL: http : //ivdon.ru/ru/magazine/archive/n4y2016/3861

4. Borodina E. V., Dmitriyev E. O., Gorbunov G. G., Aleksevnin E. A. Vestnik transporta Povolzh'ya. 2021. №1. pp. 33-44.

5. Dranchenko Yu. N. Vestnik transporta. 2013. № 10. pp. 20-26.

6. Boyraz G., Kirci P. Conference of Open Innovations Association, FRUCT. 2021. №28. pp. 554-557.

7. Mazlan N. A., Kassim M., Suliman S. I., Ya'acob N. International Journal of Advanced Trends in Computer Science and Engineering. 2020. № 1. pp. 545551.

8. Dokumentatsiya Unity. [Documentation Unity]. URL: docs.unity3d.com/2020. Documentation /Manual/UIE-Events-DragAndDrop.html

9. Rogachev V. A. Razrabotka komp'yuternykh igr v srede Unity: osnovnyye priyemy raboty i primery ikh primeneniya: uchebnoye posobiye. [Development of computer games in the Unity environment: basic techniques and examples of their application: tutorial]. Volgograd: Volgogradskiy gosudarstvennyy tekhnicheskiy universitet, 2016. 60 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

10. Semushin I. V., Tsyganov A. V., Tsyganova Yu. V. [and others] Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Seriya: Matematicheskoye modelirovaniye i programmirovaniye. 2017. № 3. pp. 108-119.

11. Trokhova T. A. Agrotekhnika i energoobespecheniye. 2018. № 1. pp. 100108.

М Инженерный вестник Дона, №11 (2022) ivdon.ru/ru/magazine/arcliive/nlly2022/8023

i Надоели баннеры? Вы всегда можете отключить рекламу.