Abstract
When writing this abstract, the master's work has not yet been completed. Final completion: May 2021. The full text of the work and materials on the topic can be obtained from the author or his leader after the specified date.
- Introduction
- 1. Relevance of the topic
- 2. The purpose and objectives of the study
- 3. Research and development overview
- 4. Overview of traffic management systems and technologies Vehicle-to-vehicle (V2V), Vehicle-to-infrastructure (V2I), Invisible-to-Visible (I2V) in the concept of Smart City development
- 4.1 Traffic Management System
- 4.2 Vehicle-to-vehicle (V2V) technology
- 4.3 Vehicle-to-infrastructure (V2I) technology
- 4.4 Invisible-to-Visible (I2V) technology
- 5. Mathematical model of vehicle motion dynamics
- 6. Overview of APIs for parallel execution of algorithms on GPU
- 6.1 CUDA API
- 6.2 OpenCL API
- 6.3 Direct compute API
- 6.4 Choosing a software interface for parallel execution of an algorithm on a GPU
- Conclusions
- References
- develop a subsystem for calculating the motion parameters of an autonomous vehicle based on a mathematical model using a parallel architecture;
- analyze the efficiency of using a parallel architecture for a different number of moving objects.
- monitoring of traffic flow and traffic events;
- redirecting traffic flows, depending on the traffic situation;
- movement speed control;
- - definition of difficult traffic zones (traffic compaction).
- device - the video card itself, graphics processing unit (GPU) - executes commands from the central processor;
- host - central processing unit (CPU) - starts various tasks, allocates memory;
- kernel is a function (task) that will be executed on the GPU [ 8 ].
- platform model (platfor mmodel);
- memory model (memory model);
- execution model;
- programming model (programming model).
- DirectCompute 10 for GPUs that support Direct3D 10;
- DirectCompute 10.1 for GPUs that support Direct3D 10.1;
- DirectCompute 11 for GPUs that support Direct3D 11 [ 12 ].
- overview of research and development;
- an overview of the traffic management system and technologies Vehicle-to-vehicle (V2V), Vehicle-to-infrastructure (V2I), Invisible-to-Visible (I2V) in the concept of Smart City development;
- overview of programming interfaces for parallel execution of algorithms on a GPU.
- implement a subsystem for calculating the motion parameters of an autonomous vehicle on the selected parallel architecture;
- analyze the efficiency of the subsystem for calculating the motion parameters of an autonomous vehicle when implemented on a parallel architecture.
- Кривошеев С.В. Исследование эффективности параллельных архитектур вычислительных систем для расчета параметров движения транспортного средства // Научные труды Донецкого национального технического университета. Выпуск № 1(10)-2(11). Серия
Проблемы моделирования и автоматизации проектирования
. – Донецк, ДонНТУ, 2012. С. 207-214. - Хайдуков А.В., Кривошеев С.В., Штепа В.Н. МОДЕЛИРОВАНИЕ СИСТЕМ УРАВНЕНИЙ ДИНАМИКИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА НА ПАРАЛЛЕЛЬНОЙ АРХИТЕКТУРЕ // Материалы IX Международной научно-технической конференции
Информатика, управляющие системы, математическое и компьютерное моделирование
(ИУСМКМ-2018). Донецк, ДонНТУ, 2018. С. 99-103. - Кривошеев С.В. Модель динамики речного судна и ее реализация в среде SIMULINK // Научные труды Донецкого национального технического университета. Выпуск № 10. Донецк, ДонНТУ, 1999. С. 177-182.
- Аноприенко А.Я., Кривошеев С.В. Разработка подсистемы моделирования движения судна по заданной траектории // Научные труды Донецкого национального технического университета. Выпуск 12. Серия
Вычислительная техника и автоматизация
. –Донецк, ДонГТУ, ОООЛебедь
, 1999.С.197-202. - Аноприенко А.Я., Кривошеев С.В., Потапенко В.А. Моделирование процесса обработки информации в интегрированной навигационной системе // Тези доповідей міждержавної науково-методичної конференції
Комп'ютерне моделювання
30 червня–2 липня 1999 р., м. Дніпродзержинськ.–Дніпродзержинськ.–1999.С.114-115. - Интеллектуальная система управления сигнальным трафиком. [Электронный ресурс]. – Режим доступа: http://zte.ru/enterprise/solutions/urban-transportation/traffic-signal/. Дата обращения: 24.11.2020.
- Connected Car: V2V, V2I, V2X, V2P, V2G, V2D. Стандартизация, возможности и темпы развития умных автомобилей в России и в мире. [Электронный ресурс]. – Режим доступа: http://1234g.ru/novosti/v2v-v2i-v2x-v2p-v2g-v2d-connected-car. Дата обращения: 24.11.2020.
- Sensor Fusion in Autonomous Vehicles. [Электронный ресурс]. – Режим доступа: https://qulsar.com/Applications/Vehicular_Sync/Autonomous_vehicles.html. Дата обращения: 24.11.2020.
- Технология
Invisible to visible
: интервью с Тецуро Уеда, экспертом Nissan по информационным технологиям. [Электронный ресурс]. – Режим доступа: https://russia.nissannews.com/ru-RU/releases/release-1e53f40ea0f19d9ed6486f7ccd00a7e0-invisible-to-visible_tetsuro-ueda. Дата обращения: 24.11.2020. - Nvidia Developer. [Электронный ресурс]. – Режим доступа: https://developer.nvidia.com/cuda-zone. Дата обращения: 24.11.2020.
- Знакомство с программно-аппаратной архитектурой CUDA. [Электронный ресурс]. – Режим доступа: https://proglib.io/p/cuda. Дата обращения: 24.11.2020.
- DirectCompute. [Электронный ресурс]. – Режим доступа: https://amp.google-info.org/2815731/1/directcompute.html. Дата обращения: 24.11.2020.
Content
Introduction
Currently, a significant problem is to ensure the safety of vehicles in urban and highway conditions due to the increase in traffic flows. The problem of ensuring safe movement is especially acute for megacities. Considering this, systems whose task is to build, control and correct the trajectories of an autonomous vehicle are widely used to solve the problem of constructing the trajectory of an autonomous vehicle, the result of the operation of such systems is to increase the safety of an autonomous vehicle in various areas. In the master's work, the subsystem for calculating the parameters of the movement of an autonomous vehicle is studied, which calculates the coordinates of the trajectory of an autonomous vehicle based on its mathematical model of course movement, as well as various external factors that affect the movement of the vehicle. Taking into account that the subsystem for calculating the parameters of the movement of an autonomous vehicle requires large computing power (since it is performed in real time), then for its effective operation, high-performance parallel computing on a GPU should be used.
In the master's work, a review of the Smart City infrastructure is carried out, the calculation of the trajectory based on a mathematical model using the fourth-order numerical Runge-Kutta method, software interfaces for parallel execution of algorithms on a GPU, as well as the choice of a software interface for parallel execution of an algorithm on a GPU.
1. Relevance of the topic
The main criterion for increasing the speed of the functioning of the subsystem for calculating the parameters of the movement of the vehicle is a decrease in the time for calculating the trajectory of movement, as well as the introduction of the possibility of calculating several trajectories of movement for one object. In this regard, the use of a parallel architecture for this subsystem is an urgent task. Low performance of the subsystem can significantly slow down the operation of the entire transport control system and lead to negative consequences.
The problem with the speed of calculations is especially pronounced when calculating the trajectory of movement for a group of objects. The master's work examines the use of parallel computing to achieve the required performance of the subsystem for calculating the motion parameters of an autonomous vehicle as part of a transport control system.
2. The purpose and objectives of the study
The aim of the master's work is to analyze the efficiency of the subsystem for calculating the parameters of the movement of an autonomous vehicle, implemented using a parallel architecture.
Within the framework of the master's work, it is necessary to solve the following tasks:
3. Research & Development Overview
At the global level, Tesla, Yandex, Waymo, Volvo, BMW and others are actively involved in the development of autonomous vehicles and simulation of vehicle movement and their active implementation in everyday life. At the Donetsk National Technical University, the employees of the Department of Computer Engineering of FCNT are engaged in research and modeling of the movement of vehicles: Sergey Krivosheev, Professor Alexander Anoprienko [ 1 , 2 , 3 , 4 , 5 ]
4. An overview of the traffic management system and technologies Vehicle-to-vehicle (V2V), Vehicle-to-infrastructure (V2I), Invisible-to-Visible (I2V) in the concept of Smart City development
In modern society, ensuring acceptable living conditions in a rapidly growing urban population requires a deep understanding of the concept of a smart city. This concept of modern development includes the collective Vehicle-to-Everything technology (V2V, V2I, I2V, V2P, etc.) as well as a traffic management system.
4.1 Traffic Management System
The problem of road congestion is one of the most urgent in the modern world. From a safety point of view, the city requires traffic speed limitation, but modern control methods are either ineffective or lead to traffic jams. One of the proposed solutions to this problem is a traffic management system.
Traffic control system (traffic signals) is a subsystem of the city traffic control system, the main function is automatic adjustment of the synchronization scheme. In a traffic signal management system, the command center controls the signal controllers at intersections through a central computer, a regional control computer, and a local signal control computer. The system can select the appropriate cycle combination, split and offset a predefined set of parameters, which gives the local controller complete freedom to perform the function of responding to the traffic stream. This optimizes the real-time control scheme according to the received traffic information. Solving the traffic problem by controlling the regulation of traffic flows both at a separate intersection and within the entire metropolis.
The main features of the system are:
The system can achieve different management goals according to different traffic conditions. During peak hours, the goal is to increase road capacity and drive as many vehicles as possible through the intersection, while at other times, the goal is to increase average speed, stop times, average travel times and delays [ 5 ].
Through intelligent design of traffic signal control and timing circuits using scientific and engineering road traffic technology, this system significantly increases capacity and provides a foundation for road safety [ 6 ].
4.2 Vehicle-to-vehicle (V2V) Technology
Car manufacturers are developing technologies that will allow cars in the future to "communicate" with each other - transmit and receive information about location, speed and direction in order to maintain a safe distance. The main elements of V2V, thanks to which cars can maintain mutual communication, are a microprocessor, a module for transmitting information via mobile or wireless networks and a GPS satellite navigation system [ 7 ]. Figure 4.1 shows the Vehicle-to-Vehicle, Vehicle-to-Infrastructure, Invisible-to-Visible technologies.
4.3 Vehicle-to-infrastructure (V2I) technology
The technology allows vehicles "by air" to exchange information with infrastructure objects: traffic lights, road signs, etc. Figure 4.1 shows the Vehicle-to-Vehicle, Vehicle-to-Infrastructure, Invisible-to-Visible technologies.
4.4 Invisible-to-Visible (I2V) Technology
The purpose of this system is to increase human awareness and increase the driving experience. While driving, the system, using data from sensors, collects data about the space within a radius of the car and supplements them with information from the virtual world [9]. Figure 4.1 shows the Vehicle-to-Vehicle, Vehicle-to-Infrastructure, Invisible-to-Visible technologies.
Mathematical model of vehicle motion dynamics
One of the ways to ensure the autonomy of the vehicle is to calculate the trajectory of movement based on the available measurement results, or to calculate the trajectory of the further movement of the mobile model, which is performed on the basis of the mathematical model of the vehicle. The trajectory of motion is described by a system of differential equations. Regardless of the movement environment, the mathematical model generally contains 6 degrees of freedom and coefficients (depending on the environment where the object is moving).
Differential equations can be solved using the fourth-order numerical Runge-Kutta method. To model a large number of objects with a different number of trajectory constructions, it is advisable to use parallel computations.
Overview of APIs for parallel execution of algorithms on GPU
GPGPU (General-purpose computing on graphics processing units) is a technique for using a graphics processing unit (GPU) to process computer graphics in order to perform mathematical calculations that are usually performed by a central processing unit (CPU ). This allows software developers to harness the potential of the GPU to perform non-graphical computing. GPGPU technology is implemented by programming interfaces CUDA, OpenCL, Direct Compute and others.
6.1 CUDA programming interface
CUDA is NVIDIA's parallel computing architecture that dramatically improves computing performance by using the GPU. To date, sales of CUDA processors have reached millions, and software developers, scientists and researchers use CUDA extensively in various fields, including video and image processing, computational biology and chemistry, fluid dynamics modeling, computed tomography image recovery, seismic analysis, ray tracing and more [ 10 ]. The stages of running a program on a GPU are shown in Figure 6.1.
When using this technology, you need to know the following concepts:
CUDA allows programmers to implement algorithms that are used in NVIDIA GPUs in a special simplified dialect of C and include special functions in the text of a C program. “The CUDA architecture allows the developer to organize access to the GPU instruction set and manage its memory at his discretion . " [ 11 ]
When using CUDA, you need to write code in a programming language, after which the CUDA compiler will generate code separately for the host and separately for the device. A small caveat: the device code must be written only in C with some "CUDA extensions".
6.2 OpenCL API
The OpenCL architecture is described through a hierarchy of models with which an arbitrary computing system can be represented:
The OpenCL standard allows developers to create cross-platform code that can be compiled and executed on any system with one or more OpenCL devices. To provide this capability, the OpenCL toolkit includes an OpenCL C compiler and linker. At the same time, the programmer is provided with a programming interface that contains functions for defining OpenCL devices, compiling and building OpenCL C programs, as well as for running kernels and getting results. calculations.
6.3 Direct compute API
DirectCompute is an application programming interface (API) that is part of DirectX (a set of APIs from Microsoft), which is designed to run on IBM PC-compatible computers running Microsoft Windows operating systems. DirectCompute is designed to perform general-purpose computing on GPUs, being one of the GPGPU implementation [ 12 ].
DirectCompute, first introduced with DirectX 11, is one of its most important innovations, the first technology in DirectX to provide access to general-purpose computing on GPUs.
DirectCompute is available in three versions:
6.4 Choosing a software interface for parallel execution of an algorithm on a GPU
After a comparative analysis of the programming interfaces, the CUDA interface was chosen as the one used in this work. CUDA is a stable developing toolkit for developers with a large set of different libraries, the CUDA application programming interface is based on the standard C programming language with extensions, which simplifies the process of learning and implementing the CUDA architecture, also based on Figure 6.2, CUDA provides access to shared memory between threads on a multiprocessor that can be used to organize a cache with a wide bandwidth and more efficient data transfer between system and video memory, linear memory addressing, the ability to write to arbitrary addresses, hardware support for integer and bit operations.
Conclusions
At the time of this writing, within the framework of the research carried out:
Further research is planned to focus on the following aspects: