RU2789921C2 - Method and device for control of self-driving car - Google Patents

Method and device for control of self-driving car Download PDF

Info

Publication number
RU2789921C2
RU2789921C2 RU2021116607A RU2021116607A RU2789921C2 RU 2789921 C2 RU2789921 C2 RU 2789921C2 RU 2021116607 A RU2021116607 A RU 2021116607A RU 2021116607 A RU2021116607 A RU 2021116607A RU 2789921 C2 RU2789921 C2 RU 2789921C2
Authority
RU
Russia
Prior art keywords
electronic device
road section
graph structure
sdc
given
Prior art date
Application number
RU2021116607A
Other languages
Russian (ru)
Other versions
RU2021116607A (en
Inventor
Александр Усиков
Андрей Волчек
Original Assignee
Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии»
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии» filed Critical Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии»
Priority to US17/578,654 priority Critical patent/US20220388531A1/en
Priority to EP22155068.4A priority patent/EP4102473A1/en
Publication of RU2021116607A publication Critical patent/RU2021116607A/en
Application granted granted Critical
Publication of RU2789921C2 publication Critical patent/RU2789921C2/en

Links

Images

Abstract

FIELD: car industry.
SUBSTANCE: invention relates to self-driving cars (hereinafter – SDC), in particular to an electronic device and a method for control of SDC. The device for control of SDC implements in real time the first processing pipeline, including generation of static parameters for a set of potential SDC positions on a road section and caching of static parameters in association with corresponding ones of the set of potential positions. The device implements in real time the second processing pipeline in parallel with the first processing pipeline, including generation of a graph structure for control of SDC on the road section. Generation of the graph structure includes generation of dynamic parameters for this rib of the graph structure, obtainment from cache memory of static parameters for this rib of the graph structure, so that this rib in the graph structure is related to dynamic parameters generated with the first processing pipeline and to dynamic parameters generated with the second processing pipeline.
EFFECT: obtainment of a device and a method for control of self-driving cars.
21 cl, 8 dwg

Description

Область техникиTechnical field

[0001] Настоящая технология в основном относится к беспилотным автомобилям (SDC); и, в частности, к электронному устройству и способу управления SDC.[0001] The present technology mainly relates to unmanned vehicles (SDC); and, in particular, to the electronic device and method of controlling the SDC.

Уровень техникиState of the art

[0002] Беспилотные автомобили (SDC) - это транспортные средства, которые могут автономно перемещаться через частные и/или общественные места. Используя систему датчиков, которые определяют местоположение и/или окружение SDC, логическая схема внутри или связанная с SDC управляет скоростью, движением, торможением и рулевым управлением SDC на основе обнаруженного датчиком местоположения и окружения SDC. Например, компьютерная система может использовать данные датчиков для генерирования будущих траекторий для SDC на участке дороги и может управлять работой SDC, чтобы он следовал выбранной траектории на этом участке дороги.[0002] Unmanned vehicles (SDCs) are vehicles that can autonomously navigate through private and/or public spaces. Using a system of sensors that determine the location and/or surroundings of the SDC, logic within or associated with the SDC controls the speed, movement, braking, and steering of the SDC based on the sensor's detected location and surroundings of the SDC. For example, the computer system may use sensor data to generate future trajectories for the SDC on a road segment and may direct the operation of the SDC to follow a selected trajectory on that road segment.

[0003] Одной из основных технических проблем при реализации вышеупомянутых систем является способность компьютерной системы обнаруживать объект, потенциально присутствующий вокруг транспортного средства, например, транспортное средство впереди текущего транспортного средства (текущее транспортное средство является SDC, имеющим компьютерную систему на борту), какое транспортное средство впереди может представлять риск/опасность для текущего транспортного средства и может потребовать от компьютерной системы принятия корректирующих мер, будь то торможение или иное изменение скорости, остановка или смена полосы движения. На более детальном уровне проблема обнаружения объекта заключается не только в двоичном обнаружении (наличие или отсутствие объекта), но и в скорости и точности, связанных с таким анализом и определением (особенно во избежание «ложноотрицательных результатов», в результате чего система не идентифицирует объект, который действительно присутствует перед транспортным средством или около него).[0003] One of the main technical problems in implementing the above systems is the ability of the computer system to detect an object potentially present around the vehicle, for example, the vehicle in front of the current vehicle (the current vehicle is an SDC having a computer system on board), which vehicle ahead may pose a risk/danger to the current vehicle and may require the computer system to take corrective action, whether it be braking or otherwise changing speed, stopping or changing lanes. At a more detailed level, the object detection problem lies not only in binary detection (presence or absence of an object), but also in the speed and accuracy associated with such analysis and determination (especially to avoid "false negatives", resulting in the system not identifying an object, actually present in front of or near the vehicle).

[0004] Острота этой проблемы иллюстрируется следующим гипотетическим сценарием. Представьте себе, что по маршруту едет беспилотное или частично автономное транспортное средство. Ребенок (или взрослый, домашнее животное и т.п.) бежит впереди транспортного средства. Крайне важно, чтобы компьютерная система, управляющая транспортным средством, быстро обнаруживала присутствие объекта и предпринимала корректирующие действия, чтобы избежать столкновения. Естественно, чем быстрее компьютерная система обнаруживает присутствие объекта, тем больше времени у компьютерной системы будет для определения корректирующего действия и выдачи команды транспортному средству на выполнение корректирующего действия.[0004] The severity of this problem is illustrated by the following hypothetical scenario. Imagine that an unmanned or semi-autonomous vehicle is driving along the route. A child (or adult, pet, etc.) is running in front of the vehicle. It is imperative that the computer system that controls the vehicle quickly detects the presence of an object and takes corrective action to avoid a collision. Naturally, the faster the computer system detects the presence of an object, the more time the computer system will have to determine corrective action and instruct the vehicle to take corrective action.

[0005] Как правило, SDC имеет множество датчиков, позволяющих SDC фиксировать и «понимать» окружающую его территорию. SDC может использовать различные системы датчиков, такие как, но без ограничений, системы камер, радарные системы и системы лидара. Различные системы датчиков могут использоваться для сбора различной информации и/или в другом формате о местоположении и окружении SDC. Например, системы камер могут использоваться для захвата данных изображения окружения SDC. В другом примере системы лидара могут использоваться для сбора данных облака точек для построения трехмерных картографических представлений окружения и других потенциальных объектов, расположенных поблизости от SDC.[0005] As a rule, the SDC has a variety of sensors that allow the SDC to capture and "understand" the territory around it. The SDC may use various sensor systems such as, but not limited to, camera systems, radar systems, and lidar systems. Different sensor systems may be used to collect different information and/or in a different format about the location and environment of the SDC. For example, camera systems may be used to capture image data of the SDC environment. In another example, lidar systems can be used to collect point cloud data to build 3D mapping representations of the environment and other potential features in the vicinity of the SDC.

[0006] Как правило, SDC обрабатывает данные, захваченные таким множеством датчиков, для генерирования прогноза, обычно с использованием алгоритма машинного обучения (MLA), в отношении присутствия одного или нескольких объектов поблизости от SDC. Такое прогнозирование затем может использоваться SDC для определения наиболее оптимального текущего маневра, будь то продолжение движения, остановка, изменение направления, ускорение или тому подобное.[0006] Typically, the SDC processes the data captured by such a plurality of sensors to generate a prediction, typically using a machine learning algorithm (MLA), regarding the presence of one or more objects in the vicinity of the SDC. This prediction can then be used by the SDC to determine the most optimal current maneuver, whether it be continuing, stopping, changing direction, accelerating, or the like.

[0007] Патент США № 8,121,749 раскрывает способы и системы управления автономным транспортным средством. Способ включает в себя управление операциями транспортного средства, основанное по меньшей мере частично на стоимости ребер. Ребро - это представление пути, по которому может перемещаться транспортное средство. Стоимости ребер определяются системой оценки и основаны по меньшей мере на одном из оценочного времени прохождения ребра и возможности перемещения по ребру. Способ дополнительно включает определение условий ребер, по которым перемещается транспортное средство, и динамическое обновление стоимости ребер на основе обнаруженных условий.[0007] US Patent No. 8,121,749 discloses methods and systems for controlling an autonomous vehicle. The method includes controlling vehicle operations based at least in part on the cost of the ribs. An edge is a representation of a path along which a vehicle can travel. The cost of the ribs is determined by the scoring system and is based on at least one of the estimated traversal time of the rib and the ability to move along the rib. The method further includes determining the conditions of the edges on which the vehicle travels and dynamically updating the cost of the edges based on the detected conditions.

Сущность изобретенияThe essence of the invention

[0008] Существует потребность в системах и способах, которые позволяют избежать, уменьшить или преодолеть ограничения предшествующего уровня техники. Следует отметить, что для генерирования данных для управления работой беспилотного автомобиля (SDC), таких как, например, данные о траектории, может потребоваться структура графа участка дороги, на котором в настоящее время функционирует SDC. Например, электронное устройство может быть выполнено с возможностью генерирования структуры графа, представляющей соответствующие потенциальные положения и потенциальные переходы для SDC на участке дороги. Электронное устройство может определять заданную последовательность ребер в структуре графа, которая (i) связана с приемлемой общей стоимостью ребер в последовательности, и (ii) представляет потенциальный путь, по которому SDC должен следовать на участке дороги. Затем электронное устройство может генерировать данные о траектории для SDC, чтобы фактически следовать по этому пути на участке дороги.[0008] There is a need for systems and methods that avoid, reduce, or overcome the limitations of the prior art. It should be noted that in order to generate data for controlling the operation of an unmanned vehicle (SDC), such as, for example, trajectory data, a graph structure of the road section on which the SDC is currently operating may be required. For example, the electronic device may be configured to generate a graph structure representing the respective potential positions and potential transitions for SDCs on a road segment. The electronic device may determine a predetermined sequence of edges in the graph structure that (i) is related to an acceptable total cost of the edges in the sequence, and (ii) represents a potential path that the SDC should follow on the road segment. The electronic device may then generate trajectory data for the SDC to actually follow that path on the road section.

[0009] Создание структуры графа для участка дороги - это затратная с вычислительной точки зрения операция, которая может занять значительное количество времени. Это связано с тем, что электронному устройству необходимо вычислить множество параметров для соответствующих ребер структуры графа. [0009] Creating a graph structure for a road section is a computationally expensive operation that can take a significant amount of time. This is due to the fact that the electronic device needs to calculate a set of parameters for the corresponding edges of the graph structure.

[00010] В контексте настоящей технологии электронное устройство выполнено с возможностью вычисления по меньшей мере двух типов параметров для ребер структуры графа, а именно «статических» и «динамических» параметров. Вообще говоря, данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего ребра (и/или одного или нескольких потенциальных положений, связанных с ребром), в то время как данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего ребра (и/или одного или нескольких потенциальных положений, связанных с ребром).[00010] In the context of the present technology, an electronic device is configured to calculate at least two types of parameters for the edges of the graph structure, namely "static" and "dynamic" parameters. Generally speaking, this static parameter indicates information about a static object on a road section relative to the corresponding edge (and/or one or more potential positions associated with the edge), while this dynamic parameter indicates information about a moving object on the road section relative to the corresponding edge. edge (and/or one or more potential positions associated with the edge).

[00011] Следует отметить, что статические параметры данного ребра с меньшей вероятностью изменятся во времени по сравнению с динамическими параметрами данного ребра. Например, расстояние между потенциальным положением на участке дороги и статическим объектом, вероятно, останется неизменным, тогда как расстояние между этим потенциальным положением и движущимся объектом, вероятно, изменится.[00011] It should be noted that the static parameters of a given edge are less likely to change over time compared to the dynamic parameters of a given edge. For example, the distance between a potential position on a road segment and a static object is likely to remain the same, while the distance between that potential position and a moving object is likely to change.

[00012] Разработчики настоящей технологии разработали электронное устройство, которое выполнено с возможностью распараллеливания процессов генерирования статических и динамических параметров. Другими словами, предполагается, что электронное устройство может быть выполнено с возможностью выполнения, с одной стороны, пайплайна (конвейера) основной обработки для генерирования динамических параметров для ребер структуры графа, а с другой стороны, пайплайна (конвейера) вспомогательной (параллельной) обработки для генерирования статических параметров для ребер структуры графа.[00012] The developers of the present technology have developed an electronic device that is configured to parallelize the processes of generating static and dynamic parameters. In other words, it is assumed that the electronic device can be configured to perform, on the one hand, a main processing pipeline (pipeline) for generating dynamic parameters for the edges of the graph structure, and, on the other hand, an auxiliary (parallel) processing pipeline (pipeline) for generating static parameters for the edges of the graph structure.

[00013] Разработчики настоящей технологии осознали, что такое исключение вычисления статических параметров из пайплайна основной обработки и, в некотором смысле, «выгрузка» этого вычисления в пайплайн параллельной вспомогательной обработки, позволяет сократить время вычислений, необходимое для генерирования структур графов во время соответствующих планирование циклов беспилотного транспортного средства. Увеличение скорости вычислений структуры графа приводит к более быстрому принятию решений во время работы беспилотного транспортного средства. [00013] The developers of the present technology have realized that by removing the calculation of static parameters from the main processing pipeline and, in a sense, "offloading" this calculation to the parallel auxiliary processing pipeline, it is possible to reduce the computation time required to generate graph structures during the corresponding planning cycles. unmanned vehicle. Increasing the speed of calculating the graph structure leads to faster decision making during the operation of an unmanned vehicle.

[00014] В первом широком аспекте настоящей технологии предоставляется способ управления беспилотным автомобилем (SDC) на участке дороги. SDC движется по участку дороги. SDC управляется электронным устройством. Способ выполняется электронным устройством. Способ включает в себя исполнение в реальном времени электронным устройством первого пайплайна обработки. Исполнение первого пайплайна обработки содержит генерирование посредством электронного устройства статических параметров для множества потенциальных положений SDC на участке дороги. Данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения. Исполнение первого пайплайна обработки включает в себя кэширование посредством электронного устройства в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Способ включает в себя исполнение в реальном времени электронным устройством второго пайплайна обработки параллельно первому пайплайну обработки. Исполнение второго пайплайна обработки данных включает в себя генерирование посредством электронного устройства структуры графа для управления SDC на участке дороги. Структура графа имеет узлы и ребра. Данный узел связан с соответствующим потенциальным положением SDC на участке дороги. Данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связан с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. Генерирование структуры графа включает в себя генерирование посредством электронного устройства динамических параметров для данного ребра структуры графа. Данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Генерирование структуры графа включает в себя получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений, и такие, что данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки. [00014] In a first broad aspect of the present technology, a method for driving an unmanned vehicle (SDC) on a road section is provided. SDC is moving on a section of road. The SDC is controlled by an electronic device. The method is performed by an electronic device. The method includes real-time execution by the electronic device of the first processing pipeline. Execution of the first processing pipeline comprises electronically generating static parameters for a plurality of potential SDC positions on a road section. This static parameter indicates information about the static object on the road section with respect to the corresponding potential position. Execution of the first processing pipeline includes electronically caching the static parameters in the cache memory in association with the respective one of the plurality of candidate positions. The method includes real-time execution by the electronic device of the second processing pipeline in parallel with the first processing pipeline. The execution of the second data processing pipeline includes generating, by means of an electronic device, a graph structure for controlling the SDC on the road section. The graph structure has nodes and edges. This node is associated with the corresponding potential position of the SDC on the road section. This edge represents the SDC transition between the potential positions of the corresponding pair of nodes and is associated with the corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes. Generating a graph structure includes electronically generating dynamic parameters for a given edge of the graph structure. This dynamic parameter indicates information about a moving object on a road section with respect to a corresponding one of a corresponding set of intermediate potential positions. Generating a graph structure includes obtaining, by means of an electronic device, static parameters for a given edge of the graph structure from a cache memory. Static parameters for a given edge include static parameters cached in association with a corresponding set of intermediate candidate positions, and such that the given edge in the graph structure is associated with dynamic parameters generated by the first processing pipeline and dynamic parameters generated by the second processing pipeline.

[00015] В некоторых вариантах осуществления способа структура графа является первой структурой графа, и генерирование первой структуры графа предназначено для управления SDC на участке дороги в течение первого временного интервала, а исполнение второго пайплайна обработки дополнительно включает в себя генерирование посредством электронного устройства второй структуры графа для управления SDC на участке дороги в течение второго временного интервала. Вторая структура графа имеет данное ребро первой структуры графа. Генерирование второй структуры графа включает в себя генерирование посредством электронного устройства обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр указывает обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Генерирование второй структуры графа включает в себя получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки. [00015] In some embodiments of the method, the graph structure is a first graph structure, and generating the first graph structure is for managing SDC on the road section during the first time interval, and executing the second processing pipeline further includes generating, by means of the electronic device, a second graph structure for SDC control on the road section during the second time interval. The second graph structure has a given edge of the first graph structure. Generating the second graph structure includes electronically generating updated dynamic parameters for a given edge. This updated dynamic parameter indicates updated information about the moving object on the road section relative to the corresponding one of the corresponding set of intermediate potential positions. Generating the second graph structure includes electronically acquiring static parameters for a given edge from a cache so that the given edge in the second graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the updated dynamic parameters generated by the second processing pipeline.

[00016] В некоторых вариантах осуществления способа генерирование статических параметров для множества потенциальных положений SDC на участке дороги выполняется в первый момент времени, и при этом исполнение первого пайплайна обработки дополнительно включает в себя генерирование посредством электронного устройства обновленных статических параметров для множества потенциальных положений во второй момент времени, причем первый момент времени и второй момент времени определяют третий временной интервал. Длина третьего временного интервала предварительно выбирается на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки. [00016] In some embodiments of the method, generating static parameters for a plurality of potential SDC positions on a road section is performed at a first time point, and wherein executing the first processing pipeline further includes generating, by the electronic device, updated static parameters for a plurality of potential positions at a second time point. time, and the first time and the second time define the third time interval. The length of the third time slot is preselected based on the length of at least one of the first time slot and the second time slot to reduce the processing resources of the electronic device required to execute the first processing pipeline.

[00017] В некоторых вариантах осуществления способа генерирование статических параметров для множества потенциальных положений включает в себя применение посредством электронного устройства логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки.[00017] In some embodiments of the method, generating static parameters for a plurality of candidate positions includes electronically applying prioritization logic to determine the order of candidate positions for which the static parameters should be generated in the first processing pipeline.

[00018] В некоторых вариантах осуществления способа множество потенциальных положений включает в себя предварительно выбранное количество потенциальных положений, и кэширование статических параметров запускается после того, как статические параметры сгенерированы для предварительно выбранного количества потенциальных положений.[00018] In some embodiments of the method, the set of candidate positions includes a preselected number of candidate positions, and static parameter caching is started after the static parameters are generated for the preselected number of candidate positions.

[00019] В некоторых вариантах осуществления способа генерирование статических параметров для множества потенциальных положений SDC на участке дороги первого пайплайна обработки исполняется асинхронно с генерированием динамических параметров для данного ребра структуры графа второго пайплайна обработки.[00019] In some embodiments of the method, the generation of static parameters for a plurality of potential SDC locations along the road section of the first processing pipeline is executed asynchronously with the generation of dynamic parameters for a given edge of the second processing pipeline graph structure.

[00020] В некоторых вариантах осуществления способа данный динамический параметр соответствующего ребра представляет собой одно из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого движущегося транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося пешехода на участке дороги, а также расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося велосипедиста на участке дороги.[00020] In some embodiments of the method, a given dynamic parameter of the corresponding edge is one of the following: the distance between a given one of the corresponding set of intermediate candidate positions and the position of another moving vehicle on the road section, the distance between a given one of the corresponding set of intermediate candidate positions, and the position of the moving pedestrian on the road segment, as well as the distance between this one of the corresponding set of intermediate potential positions and the position of the moving cyclist on the road segment.

[00021] В некоторых вариантах осуществления способа данный статический параметр соответствующего ребра является одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.[00021] In some embodiments of the method, a given static parameter of the corresponding edge is one of the following: the distance between a given one of the corresponding set of intermediate candidate positions and the position of a traffic cone on a road section, the distance between a given one of the corresponding set of intermediate candidate positions and the stop sign position on the road section, the distance between a given one of the corresponding set of intermediate candidate positions and the position of the lane on the road section, and the distance between the given one of the corresponding set of intermediate potential positions and the position of the center of the lane on the road section.

[00022] В некоторых вариантах осуществления способа способ дополнительно включает в себя предписывание посредством электронного устройства работы SDC на участке дороги на основе структуры графа. Предписывание включает в себя определение посредством электронного устройства стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Предписывание включает в себя определение посредством электронного устройства последовательности ребер в структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя генерирование посредством электронного устройства данной траектории для SDC на участке дороги на основе последовательности ребер. Предписывание включает в себя предписывание посредством электронного устройства работы SDC для движения по участку дороги в соответствии с заданной траекторией. [00022] In some embodiments of the method, the method further includes directing, by means of the electronic device, the operation of the SDC on the road section based on the graph structure. The prescription includes determining, by means of an electronic device, the cost of a given edge in the graph structure based on the corresponding static and dynamic parameters. The prescription includes electronically determining a sequence of edges in a graph structure representing a potential path for an SDC on a road section. The sequence of edges includes a given edge and is related to the acceptable total cost of the edges in the sequence. The prescription includes electronically generating a given trajectory for the SDC on the road section based on the sequence of ribs. The instruction includes the instruction, by means of the electronic device, of the operation of the SDC to travel along the road section in accordance with the predetermined trajectory.

[00023] В некоторых вариантах осуществления способа способ дополнительно включает в себя предписывание посредством электронного устройства работы SDC на участке дороги в течение второго временного интервала на основе второй структуры графа. Предписывание включает в себя определение посредством электронного устройства стоимости данного ребра во второй структуре графа на основе соответствующих статических и обновленных динамических параметров. Предписывание включает в себя определение посредством электронного устройства последовательности ребер во второй структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя генерирование посредством электронного устройства данной траектории для SDC на участке дороги на основе последовательности ребер. Предписывание включает в себя предписывание посредством электронного устройства работы SDC для движения по участку дороги в течение второго временного интервала в соответствии с заданной траекторией. [00023] In some embodiments of the method, the method further includes electronically directing the operation of the SDC on the road section during the second time interval based on the second graph structure. The prescription includes electronically determining the cost of a given edge in the second graph structure based on the corresponding static and updated dynamic parameters. The prescription includes electronically determining a sequence of edges in a second graph structure representing a potential path for the SDC on the road section. An edge sequence includes a given edge and is related to the acceptable total cost of the edges in the sequence. The prescription includes electronically generating a given trajectory for the SDC on the road section based on the sequence of ribs. The instruction includes the instruction, by means of the electronic device, of the operation of the SDC to travel on the road section during the second time interval in accordance with the predetermined trajectory.

[00024] Во втором широком аспекте настоящей технологии предоставляется способ управления беспилотным автомобилем (SDC) на участке дороги. SDC движется по участку дороги. SDC управляется электронным устройством. Упомянутый способ может исполняться электронным устройством. Способ включает в себя исполнение в реальном времени электронным устройством первого пайплайна обработки. Исполнение первого пайплайна обработки содержит генерирование посредством электронного устройства статических параметров для множества потенциальных положений SDC на участке дороги для первого временного интервала. Данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения. Исполнение первого пайплайна обработки включает в себя кэширование посредством электронного устройства в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Способ включает в себя исполнение в реальном времени электронным устройством второго пайплайна обработки параллельно первому пайплайну обработки. Исполнение второго пайплайна обработки включает в себя генерирование посредством электронного устройства структуры графа для управления SDC на участке дороги в течение второго временного интервала. Структура графа имеет узлы и ребра. Данный узел связан с соответствующим потенциальным положением SDC на участке дороги. Данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связан с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. Генерирование структуры графа включает в себя генерирование посредством электронного устройства динамических параметров для заданного ребра структуры графа. Данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Генерирование структуры графа включает в себя получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений. Длина первого временного интервала предварительно выбирается на основе длины второго временного интервала для уменьшения ресурсов обработки электронного устройства для исполнения первого пайплайна обработки. [00024] In a second broad aspect of the present technology, a method for controlling an unmanned vehicle (SDC) on a road section is provided. SDC is moving on a section of road. The SDC is controlled by an electronic device. Said method may be executed by an electronic device. The method includes real-time execution by the electronic device of the first processing pipeline. Executing the first processing pipeline comprises electronically generating static parameters for a plurality of potential SDC positions on the road section for the first time interval. This static parameter indicates information about the static object on the road section with respect to the corresponding potential position. Execution of the first processing pipeline includes electronically caching the static parameters in the cache memory in association with the respective one of the plurality of candidate positions. The method includes real-time execution by the electronic device of the second processing pipeline in parallel with the first processing pipeline. Execution of the second processing pipeline includes electronically generating a graph structure for managing SDC on a road section during the second time interval. The graph structure has nodes and edges. This node is associated with the corresponding potential position of the SDC on the road section. This edge represents the SDC transition between the potential positions of the corresponding pair of nodes and is associated with the corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes. Generating a graph structure includes electronically generating dynamic parameters for a given edge of the graph structure. This dynamic parameter indicates information about a moving object on a road section with respect to a corresponding one of a corresponding set of intermediate potential positions. Generating a graph structure includes obtaining, by means of an electronic device, static parameters for a given edge of the graph structure from a cache memory. The static parameters for a given edge include static parameters cached in association with a corresponding set of intermediate candidate positions. The length of the first time slot is preselected based on the length of the second time slot to reduce the processing resources of the electronic device for executing the first processing pipeline.

[00025] В третьем широком аспекте настоящей технологии предоставляется электронное устройство для управления беспилотным автомобилем (SDC) на участке дороги. SDC движется по участку дороги. Электронное устройство выполнено с возможностью исполнения в реальном времени первого пайплайна обработки. Для исполнения первого пайплайна обработки электронное устройство выполнено с возможностью генерирования статических параметров для множества потенциальных положений SDC на участке дороги. Данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения. Для исполнения первого пайплайна обработки электронное устройство выполнено с возможностью кэширования в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Электронное устройство выполнено с возможностью исполнения в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки. Для исполнения второго пайплайна обработки электронное устройство выполнено с возможностью генерирования структуры графа для управления SDC на участке дороги. Структура графа имеет узлы и ребра. Данный узел связан с соответствующим потенциальным положением SDC на участке дороги. Данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связан с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. Для генерирования структуры графа электронное устройство выполнено с возможностью генерирования динамических параметров для заданного ребра структуры графа. Данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Для генерирования структуры графа электронное устройство выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений, так что данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки. [00025] In a third broad aspect of the present technology, an electronic device is provided for controlling an unmanned vehicle (SDC) on a road section. SDC is moving on a section of road. The electronic device is configured to execute the first processing pipeline in real time. To execute the first processing pipeline, the electronic device is configured to generate static parameters for a plurality of potential SDC positions on a road section. This static parameter indicates information about the static object on the road section with respect to the corresponding potential position. For executing the first processing pipeline, the electronic device is configured to cache static parameters in a cache memory in association with corresponding one of the plurality of candidate positions. The electronic device is configured to execute in real time the second processing pipeline in parallel with the first processing pipeline. To execute the second processing pipeline, the electronic device is configured to generate a graph structure for managing SDC on a road section. The graph structure has nodes and edges. This node is associated with the corresponding potential position of the SDC on the road section. This edge represents the SDC transition between the potential positions of the corresponding pair of nodes and is associated with the corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes. To generate the graph structure, the electronic device is configured to generate dynamic parameters for a given edge of the graph structure. This dynamic parameter indicates information about a moving object on a road section with respect to a corresponding one of a corresponding set of intermediate potential positions. To generate the graph structure, the electronic device is configured to obtain static parameters from the cache memory for a given edge of the graph structure. The static parameters for a given edge include the static parameters cached in association with a corresponding set of intermediate candidate positions such that the given edge in the graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the dynamic parameters generated by the second processing pipeline.

[00026] В некоторых вариантах осуществления электронного устройства структура графа является первой структурой графа, а электронное устройство, выполненное с возможностью генерирования первой структуры графа, предназначено для управления SDC на участке дороги в течение первого временного интервала и для исполнения второго пайплайна обработки содержит электронное устройство, выполненное с возможностью генерирования второй структуры графа для управления SDC на участке дороги в течение второго временного интервала. Вторая структура графа имеет данное ребро первой структуры графа. Для генерирования второй структуры графа содержится электронное устройство, выполненное с возможностью генерирования обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр указывает обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Для генерирования второй структуры графа электронное устройство, выполненное с возможностью получения из кэш-памяти, статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки.[00026] In some embodiments of the electronic device, the graph structure is the first graph structure, and the electronic device configured to generate the first graph structure is designed to control the SDC on the road section during the first time interval and to execute the second processing pipeline comprises an electronic device, configured to generate a second graph structure for controlling the SDC on the road section during the second time interval. The second graph structure has a given edge of the first graph structure. To generate the second graph structure, an electronic device is provided that is configured to generate updated dynamic parameters for a given edge. This updated dynamic parameter indicates updated information about the moving object on the road section relative to the corresponding one of the corresponding set of intermediate potential positions. To generate the second graph structure, an electronic device configured to obtain from the cache the static parameters for a given edge, so that the given edge in the second graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the updated dynamic parameters generated by the second pipeline processing.

[00027] В некоторых вариантах осуществления электронного устройства генерирование статических параметров для множества потенциальных положений SDC на участке дороги выполняется в первый момент времени, и для исполнения первого пайплайна обработки данных электронное устройство выполнено с возможностью генерирования обновленных статических параметров для множества потенциальных положений во второй момент времени, первый момент времени и второй момент времени определяют третий временной интервал. Длина третьего временного интервала предварительно выбирается на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки.[00027] In some embodiments of the electronic device, the generation of static parameters for a plurality of potential SDC positions on a road segment is performed at a first time, and to execute the first data processing pipeline, the electronic device is configured to generate updated static parameters for a plurality of potential positions at a second time , the first time point and the second time point define the third time interval. The length of the third time slot is preselected based on the length of at least one of the first time slot and the second time slot to reduce the processing resources of the electronic device required to execute the first processing pipeline.

[00028] В некоторых вариантах осуществления электронное устройство для генерирования статических параметров для множества потенциальных положений содержит электронное устройство, выполненное с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки. [00028] In some embodiments, the electronic device for generating static parameters for a plurality of candidate positions comprises an electronic device configured to apply prioritization logic to determine the order of candidate positions for which the static parameters should be generated in the first processing pipeline.

[00029] В некоторых вариантах осуществления электронного устройства множество потенциальных положений включает в себя предварительно выбранное количество потенциальных положений, и электронное устройство запускает кэширование статических параметров после того, как статические параметры сгенерированы для предварительно выбранного количества потенциальных положений.[00029] In some embodiments of the electronic device, the plurality of candidate positions includes a preselected number of candidate positions, and the electronic device initiates static parameter caching after the static parameters have been generated for the preselected number of candidate positions.

[00030] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью генерирования статических параметров для множества потенциальных положений SDC на участке дороги первого пайплайна обработки асинхронно из электронного устройства, выполненного с возможностью генерирования динамических параметров для данного ребра структуры графа второго пайплайна обработки.[00030] In some embodiments of an electronic device, an electronic device configured to generate static parameters for a plurality of potential SDC locations along a road section of a first processing pipeline asynchronously from an electronic device configured to generate dynamic parameters for a given edge of the second processing pipeline graph structure.

[00031] В некоторых вариантах осуществления электронного устройства данный динамический параметр соответствующего ребра является одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого движущегося транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося пешехода на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося велосипедиста на участке дороги.[00031] In some embodiments of the electronic device, a given dynamic parameter of the corresponding edge is one of the following: the distance between a given one of the corresponding set of intermediate candidate positions and the position of another moving vehicle on the road section, the distance between a given one of the corresponding set of intermediate candidate positions, and the position of the moving pedestrian on the road segment, and the distance between a given one of the corresponding set of intermediate potential positions and the position of the moving cyclist on the road segment.

[00032] В некоторых вариантах осуществления электронного устройства данный статический параметр соответствующего ребра является одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.[00032] In some embodiments of an electronic device, a given static parameter of the corresponding edge is one of the following: the distance between a given one of the corresponding set of intermediate candidate positions and the position of a traffic cone on a road section, the distance between a given one of the corresponding set of intermediate candidate positions and the sign position stops on a road section, the distance between a given one of the corresponding set of intermediate candidate positions and the position of the lane on the road section, and the distance between this one of the corresponding set of intermediate potential positions and the position of the center of the lane on the road section.

[00033] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно выполнено с возможностью предписывать работу SDC на участке дороги на основе структуры графа. Предписывание включает в себя электронное устройство, выполненное с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Предписывание включает в себя электронное устройство, выполненное с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя электронное устройство, выполненное с возможностью генерирования данной траектории для SDC на участке дороги на основе последовательности ребер. Предписывание содержит электронное устройство, выполненное с возможностью предписывать работу SDC для движения по участку дороги в соответствии с данной траекторией. [00033] In some embodiments of the electronic device, the electronic device is further configured to prescribe the operation of the SDC on the road section based on the graph structure. The prescription includes an electronic device configured to determine the cost of a given edge in the graph structure based on appropriate static and dynamic parameters. The prescription includes an electronic device configured to determine a sequence of edges in a graph structure representing a potential path for an SDC on a road segment. An edge sequence includes a given edge and is related to the acceptable total cost of the edges in the sequence. The prescription includes an electronic device configured to generate a given trajectory for the SDC on the road section based on the sequence of ribs. Prescribing contains an electronic device configured to prescribe the operation of the SDC for movement along a road section in accordance with a given trajectory.

[00034] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно выполнено с возможностью предписывать работу SDC на участке дороги в течение второго временного интервала на основе второй структуры графа. Предписывание включает в себя электронное устройство, выполненное с возможностью определения стоимости данного ребра во второй структуре графа на основе соответствующих статических и обновленных динамических параметров. Предписывание включает в себя электронное устройство, выполненное с возможностью определения последовательности ребер во второй структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя электронное устройство, выполненное с возможностью генерирования заданной траектории для SDC на участке дороги на основе последовательности ребер. Предписывание содержит электронное устройство, выполненное с возможностью предписывать работу SDC для движения по участку дороги в течение второго временного интервала в соответствии с данной траекторией. [00034] In some embodiments of the electronic device, the electronic device is further configured to direct the operation of the SDC on the road section during the second time interval based on the second graph structure. The prescription includes an electronic device configured to determine the cost of a given edge in the second graph structure based on the corresponding static and updated dynamic parameters. The prescription includes an electronic device configured to determine a sequence of edges in a second graph structure representing a potential path for an SDC on a road section. The sequence of edges includes a given edge and is related to the acceptable total cost of the edges in the sequence. The prescription includes an electronic device configured to generate a predetermined trajectory for the SDC on a road section based on a sequence of ribs. Prescribing contains an electronic device configured to prescribe the operation of the SDC for movement on a road section during a second time interval in accordance with a given trajectory.

[00035] В контексте настоящего описания термин «окружение» данного транспортного средства относится к области или объему вокруг данного транспортного средства, включая часть его текущей окружающей среды, доступную для сканирования с использованием одного или нескольких датчиков, установленных на данном транспортном средстве, например, для генерирования трехмерной карты такого окружения или обнаружения в нем объектов.[00035] As used herein, the term "environment" of a given vehicle refers to the area or volume around a given vehicle, including the portion of its current environment, available for scanning using one or more sensors mounted on a given vehicle, for example, for generating a three-dimensional map of such an environment or detecting objects in it.

[00036] В контексте настоящего описания «интересующая область» может в широком смысле включать в себя часть наблюдаемой среды системы лидара, в которой один или несколько объектов могут быть обнаружены. Следует отметить, что на интересующую область системы лидара могут влиять различные условия, такие как, но не ограничиваясь ими: ориентация системы лидара (например, направление оптической оси системы лидара); положение системы лидара по отношению к окружающей среде (например, расстояние над землей и прилегающий рельеф местности и препятствия); рабочие параметры системы лидара (например, мощность излучения, вычислительные настройки, заданные углы работы) и т.д. ROI системы лидара может быть определен, например, плоским углом или телесным углом. В одном примере ROI также может быть определена в пределах определенного диапазона расстояний (например, до 200 м или около того).[00036] As used herein, a "region of interest" may broadly include a portion of the observed environment of a lidar system in which one or more objects may be detected. It should be noted that the region of interest of the lidar system can be affected by various conditions such as, but not limited to: the orientation of the lidar system (eg, the direction of the optical axis of the lidar system); position of the lidar system in relation to the environment (for example, distance above the ground and adjacent terrain and obstacles); operating parameters of the lidar system (for example, radiation power, computational settings, specified operating angles), etc. The ROI of a lidar system can be defined, for example, as a planar angle or a solid angle. In one example, the ROI may also be determined within a certain range of distances (eg, up to 200 m or so).

[00037] В контексте настоящего описания «сервер» - это компьютерная программа, которая выполняется на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В данном контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принятые инструкции или запросы) или любая конкретная задача была принята, выполнена или вызвана к выполнению одним и тем же сервером (то есть тем же программным и/или аппаратным обеспечением); это означает, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или обеспечение выполнения любой задачи или запроса или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба случая из которых включены в выражение «по меньшей мере один сервер».[00037] As used herein, a "server" is a computer program that runs on appropriate hardware and is capable of receiving requests (eg, from client devices) over a network and fulfilling or causing those requests to be executed. The hardware may be implemented as one physical computer or one physical computer system, but neither is required with respect to the present technology. In this context, the use of the term "server" is not intended to imply that every task (e.g. received instructions or requests) or any particular task was accepted, executed or called to be executed by the same server (i.e. the same software and/or or hardware) this means that any number of software elements or hardware devices may be involved in receiving/sending, executing or facilitating any task or request or the consequences of any task or request; and all such software and hardware may be a single server or multiple servers, both of which are included in the expression "at least one server".

[00038] В контексте настоящего описания «электронное устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.[00038] As used herein, an "electronic device" is any computer hardware that is capable of running software appropriate to the task at hand. In the context of the present description, the term "electronic device" implies that the device can function as a server for other electronic devices and client devices, however, this is not necessary in relation to the present technology. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches, and gateways. It should be understood that in this context, the fact that a device functions as an electronic device does not mean that it cannot function as a server for other electronic devices. The use of the term "electronic device" does not preclude the use of multiple client devices to receive/send, perform or enable any task or request, or the consequences of any task or request, or the steps of any method described herein.

[00039] В контексте настоящего описания «клиентское устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «клиентское устройство» обычно ассоциируется с пользователем клиентского устройства. Таким образом, некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему как клиентское устройство в данном контексте, не запрещается действовать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.[00039] As used herein, a "client device" is any computer hardware that is capable of running software appropriate for the task at hand. In the context of the present description, the term "client device" is usually associated with the user of the client device. Thus, some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches, and gateways. It should be noted that a device acting as a client device in this context is not prohibited from acting as a server for other client devices. The use of the term "client device" does not preclude the use of multiple client devices to receive/send, perform, or enable any task or request, or the consequences of any task or request, or the steps of any method described herein.

[00040] В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая может быть сохранена в базе данных. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.[00040] In the context of the present description, the expression "information" includes information of any nature or kind that can be stored in a database. Thus, information includes, but is not limited to, audiovisual works (images, films, sound recordings, presentations, etc.), data (location data, numerical data, etc.), text (opinions, comments , questions, messages, etc.), documents, spreadsheets, etc.

[00041] В контексте настоящего описания выражение «программный компонент» подразумевает включение программного обеспечения (подходящего для конкретного аппаратного контекста), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.[00041] In the context of the present description, the expression "software component" means the inclusion of software (suitable for a particular hardware context) that is both necessary and sufficient to perform the particular function(s) referred to.

[00042] В контексте настоящего описания выражение «компьютерный носитель информации» (также называемый «носитель информации») предназначен для включения носителей любого характера и типа, включая, без ограничения, RAM, ROM, диски (CD-ROM), DVD, дискеты, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования компьютерных носителей информации, включая два или более компонентов носителей одного типа и/или два или более компонентов носителей разных типов.[00042] As used herein, the term "computer storage medium" (also referred to as "media") is intended to include media of any kind and type, including, without limitation, RAM, ROM, discs (CD-ROMs), DVDs, floppy disks, hard drives, etc.), USB keys, solid state drives, tape drives, etc. A plurality of components may be combined to form computer storage media, including two or more media components of the same type and/or two or more media components of different types.

[00043] В контексте настоящего описания «база данных» представляет собой любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного оборудования, на котором данные хранятся, реализуются или иным образом предоставляются для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например на выделенном сервере или множестве серверов.[00043] As used herein, a "database" is any structured set of data, regardless of its specific structure, database management software, or computer hardware on which the data is stored, implemented, or otherwise made available for use. The database may reside on the same hardware as the process that stores or uses the information stored in the database, or it may reside on separate hardware such as a dedicated server or multiple servers.

[00044] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют относительно друг от друга, а не для цели описания каких-либо конкретных отношений между этими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами и их использование (само по себе) не подразумевает, что любой «второй сервер» обязательно должен существовать в любой данной ситуации. Кроме того, как обсуждается здесь в других контекстах, ссылка на «первый» элемент и «второй» элемент не препятствует тому, чтобы эти два элемента были одним и тем же фактическим элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут быть одним и тем же программным и/или аппаратным компонентами, в других случаях они могут быть разными программными и/или аппаратными компонентами.[00044] In the context of this description, the words "first", "second", "third", etc. were used as adjectives only for the purpose of providing a distinction between the nouns they modify relative to one another, and not for the purpose of describing any specific relationship between those nouns. Thus, for example, it should be understood that the use of the terms "first database" and "third server" is not intended to imply any particular order, type, chronology, hierarchy or ranking (for example) of/between servers and their use (itself by itself) does not imply that any "second server" must necessarily exist in any given situation. Also, as discussed here in other contexts, referring to a "first" element and a "second" element does not prevent the two elements from being the same actual real world element. Thus, for example, in some cases the "first" server and the "second" server may be the same software and/or hardware components, in other cases they may be different software and/or hardware components.

[00045] Каждая из реализаций настоящей технологии имеет по меньшей мере один из вышеупомянутых объектов и/или аспектов, но не обязательно имеет все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.[00045] Each of the implementations of the present technology has at least one of the above objects and/or aspects, but does not necessarily have all of them. It should be understood that some aspects of the present technology that have arisen in an attempt to achieve the aforementioned goal may not satisfy this goal and/or satisfy other goals that are not explicitly described in this document.

[00046] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.[00046] Additional and/or alternative features, aspects, and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings, and the appended claims.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[00047] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:[00047] These and other features, aspects, and advantages of the present technology will become more apparent from the following description, the appended claims, and the accompanying drawings, in which:

[00048] Фиг.1 изображает принципиальную схему примерной компьютерной системы, конфигурируемой для реализации некоторых неограничивающих вариантов осуществления настоящей технологии.[00048] Figure 1 depicts a schematic diagram of an exemplary computer system configured to implement some non-limiting embodiments of the present technology.

[00049] Фиг.2 изображает принципиальную схему сетевой вычислительной среды, подходящей для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии.[00049] FIG. 2 is a schematic diagram of a networked computing environment suitable for use with certain non-limiting embodiments of the present technology.

[00050] Фиг. 3 изображает представление транспортного средства, движущегося по участку дороги, в соответствии с некоторыми вариантами осуществления настоящей технологии.[00050] FIG. 3 depicts a representation of a vehicle moving on a stretch of road, in accordance with some embodiments of the present technology.

[00051] Фиг.4 изображает представление первой структуры графа, сгенерированной электронным устройством по фиг.2, для участка дороги в соответствии с некоторыми вариантами осуществления настоящей технологии.[00051] FIG. 4 depicts a representation of a first graph structure generated by the electronic device of FIG. 2 for a road segment, in accordance with some embodiments of the present technology.

[00052] Фиг.5 изображает представление того, как данные генерируются в пайплайне параллельной вспомогательной обработки электронного устройства, сохраняются в кэш-памяти электронного устройства и извлекаются из нее для пайплайна основной обработки электронного устройства в соответствии с некоторыми вариантами осуществления настоящей технологии.[00052] FIG. 5 is a representation of how data is generated in an electronic device parallel auxiliary processing pipeline, stored in, and retrieved from an electronic device cache for an electronic device main processing pipeline, in accordance with some embodiments of the present technology.

[00053] Фиг.6 изображает представление того, как данные генерируются в пайплайне основной обработки, сохраняются в кэш-памяти электронного устройства и извлекаются из нее для пайплайна основной обработки в соответствии с некоторыми вариантами осуществления настоящей технологии.[00053] FIG. 6 is a representation of how data is generated in the main processing pipeline, stored in, and retrieved from the cache of an electronic device for the main processing pipeline in accordance with some embodiments of the present technology.

[00054] Фиг.7 - схематическое представление способа, выполняемого электронным устройством в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.[00054] FIG. 7 is a schematic representation of a method performed by an electronic device in accordance with at least some non-limiting embodiments of the present technology.

[00055] Фиг. 8 - схематическое представление другого способа, выполняемого электронным устройством в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.[00055] FIG. 8 is a schematic representation of another method performed by an electronic device in accordance with at least some non-limiting embodiments of the present technology.

Подробное описаниеDetailed description

[00056] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем[00056] The examples and conventions provided herein are intended primarily to help the reader understand the principles of the present technology, and not to limit its scope to such specific examples and terms. It should be understood that those skilled in the art will be able to develop various mechanisms that, although not explicitly described in this document, nevertheless embody the principles of the present technology and are included in its essence and scope.

[00057] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.[00057] In addition, the following description may describe implementations of the present technology in a relatively simplified manner for purposes of ease of understanding. Those skilled in the art will appreciate that various implementations of the present technology may be more complex.

[00058] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия пониманию и опять же не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.[00058] In some cases, examples of modifications to the present technology that are considered useful may also be set forth. This is done only to promote understanding and again not to rigorously define the scope or delineate the boundaries of the present technology. These modifications are not an exhaustive list, and other modifications may be made by one skilled in the art while still remaining within the scope of the present technology. In addition, cases where examples of modifications are not given should not be interpreted to mean that no modifications can be made and/or that what is described is the only way to implement such an element of the present technology.

[00059] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.[00059] Moreover, all statements in this document that set forth the principles, aspects, and implementations of technology, as well as their specific examples, are intended to cover both their structural and functional equivalents, whether they are currently known or are being developed in the future. Thus, for example, those skilled in the art will appreciate that any block diagrams herein represent conceptual views of an illustrative circuit embodying the principles of the present technology. Likewise, it will be understood that any and all flowcharts, flow charts, state transition diagrams, pseudo-codes, and the like represent various processes that can be as such represented on computer-readable media and executed by a computer or processor, whether or not shown. such a computer or processor explicitly or not.

[00060] Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.[00060] The functions of the various elements shown in the figures, including any functional unit labeled "processor", may be provided through the use of dedicated hardware, as well as hardware capable of executing software in conjunction with appropriate software. When provided by a processor, the functions may be provided by one dedicated processor, one shared processor, or multiple individual processors, some of which may be shared. In addition, explicit use of the term "processor" or "controller" should not be construed as referring solely to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), read-only memory (ROM) for software storage, random access memory (RAM), and non-volatile storage. Other hardware, traditional and/or specialized, may also be included.

[00061] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.[00061] Software modules, or simply modules, which may be referred to as software, may be represented herein as any combination of flowchart elements or other elements indicating the execution of process steps and/or textual description. Such modules may be executed by hardware that is explicitly or implicitly shown.

[00062] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.[00062] Given these fundamentals, consider some non-limiting examples to illustrate various implementations of aspects of the present technology.

Компьютерная системаcomputer system

[00063] Ссылаясь сначала на фиг.1, на ней изображена принципиальная схема компьютерной системы 100, подходящей для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 включает в себя различные аппаратные компоненты, включая один или несколько одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельным накопителем 120 и памятью 130, которая может быть оперативной памятью или любым другим типом памяти.[00063] Referring first to Figure 1, there is shown a schematic diagram of a computer system 100 suitable for use with some implementations of the present technology. Computer system 100 includes various hardware components including one or more single or multi-core processors collectively represented by processor 110, solid state drive 120, and memory 130, which may be RAM or any other type of memory.

[00064] Связь между различными компонентами компьютерной системы 100 может быть обеспечена одной или несколькими внутренними и/или внешними шинами (не показаны) (например, шиной PCI, универсальной последовательной шиной, шиной Firewire IEEE 1394, шиной SCSI, шиной Serial-ATA и т.д.), с которыми различные аппаратные компоненты электронно связаны. Согласно вариантам осуществления настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в память 130 и выполнения процессором 110 для определения присутствия объекта. Например, программные инструкции могут быть частью приложения управления транспортным средством, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может иметь дополнительные и/или опциональные компоненты (не показаны), такие как модули сетевой связи, модули локализации и т.п.[00064] Communication between various components of computer system 100 may be provided by one or more internal and/or external buses (not shown) (e.g., PCI bus, Universal Serial Bus, Firewire IEEE 1394 bus, SCSI bus, Serial-ATA bus, etc. .d.) with which various hardware components are electronically coupled. In accordance with embodiments of the present technology, the solid state drive 120 stores program instructions suitable for loading into memory 130 and execution by processor 110 to determine the presence of an object. For example, the program instructions may be part of a vehicle control application executed by processor 110. It should be noted that computer system 100 may have additional and/or optional components (not shown), such as network communication modules, localization modules, and the like.

Сетевая вычислительная средаNetwork computing environment

[00065] Со ссылкой на фиг.2 изображена сетевая вычислительная среда 200, подходящая для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 включает в себя электронное устройство 210, связанное с транспортным средством 220 и/или связанное с пользователем (не изображен), который связан с транспортным средством 220 (например, в качестве оператора транспортного средства 220). Среда 200 также включает в себя сервер 235, поддерживающий связь с электронным устройством 210 через сеть 240 связи (например, Интернет и т.п., как будет более подробно описано ниже).[00065] With reference to FIG. 2, a networked computing environment 200 is depicted suitable for use with certain non-limiting embodiments of the present technology. Networked computing environment 200 includes an electronic device 210 associated with vehicle 220 and/or associated with a user (not shown) who is associated with vehicle 220 (eg, as an operator of vehicle 220). The environment 200 also includes a server 235 communicating with the electronic device 210 via a communications network 240 (eg, the Internet, etc., as will be described in more detail below).

[00066] По меньшей мере в некоторых неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 связано с возможностью осуществления связи с системами управления транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью управления различными операционными системами транспортного средства 220, включая, помимо прочего: ECU (блок управления двигателем), системы рулевого управления, тормозные системы, а также системы сигнализации и освещения (т.е. фары, стоп-сигналы, и/или указатели поворота). В таком варианте осуществления транспортное средство 220 может быть беспилотным транспортным средством 220.[00066] In at least some non-limiting embodiments of the present technology, the electronic device 210 is associated with the ability to communicate with the control systems of the vehicle 220. The electronic device 210 can be configured to control various operating systems of the vehicle 220, including, but not limited to: ECU (engine control unit), steering systems, braking systems, and signaling and lighting systems (i.e. headlights, brake lights, and/or direction indicators). In such an embodiment, vehicle 220 may be an unmanned vehicle 220.

[00067] В некоторых неограничивающих вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может включать в себя спутник GPS (не показан), передающий и/или принимающий сигнал GPS на/от электронного устройства 210. Следует понимать, что настоящая технология не ограничивается GPS и может использовать технологию определения местоположения, отличную от GPS. Следует отметить, что спутник GPS можно вообще не использовать.[00067] In some non-limiting embodiments of the present technology, networked computing environment 200 may include a GPS satellite (not shown) transmitting and/or receiving a GPS signal to/from electronic device 210. It should be understood that the present technology is not limited to GPS and may use a location technology other than GPS. It should be noted that the GPS satellite may not be used at all.

[00068] Транспортное средство 220, с которым связано электронное устройство 210, может быть любым транспортным средством для отдыха или иного, например, частным или коммерческим автомобилем, грузовиком, мотоциклом и т.п. Хотя транспортное средство 220 изображено как наземное транспортное средство, это может быть не так во всех без исключения неограничивающих вариантах осуществления настоящей технологии. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии транспортное средство 220 может быть водным транспортным средством, таким как лодка, или летательным аппаратом, например летающим дроном.[00068] The vehicle 220 with which the electronic device 210 is associated may be any vehicle for recreation or otherwise, such as a private or commercial car, truck, motorcycle, or the like. Although vehicle 220 is depicted as a ground vehicle, this may not be the case in all non-limiting embodiments of the present technology. For example, in some non-limiting embodiments of the present technology, vehicle 220 may be a waterborne vehicle, such as a boat, or an aircraft, such as a flying drone.

[00069] Транспортное средство 220 может управляться пользователем или может быть транспортным средством без водителя. В некоторых неограничивающих вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано как беспилотный автомобиль (SDC). Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, эти конкретные параметры включают в себя, например: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, размеры транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и объем двигателя.[00069] Vehicle 220 may be driven by a user or may be a driverless vehicle. In some non-limiting embodiments of the present technology, it is contemplated that vehicle 220 may be implemented as an unmanned vehicle (SDC). It should be noted that the specific parameters of the vehicle 220 are not limiting, these specific parameters include, for example: vehicle manufacturer, vehicle model, vehicle year, vehicle weight, vehicle dimensions, vehicle weight distribution, surface area vehicle, vehicle height, transmission type (eg 2x or 4x), tire type, brake system, fuel system, mileage, vehicle identification number and engine size.

[00070] Согласно настоящей технологии реализация электронного устройства 210 особо не ограничивается. Например, электронное устройство 210 может быть реализовано как блок управления двигателем транспортного средства, центральный процессор транспортного средства, навигационное устройство транспортного средства (например, TomTom™, Garmin™), планшет, персональный компьютер, встроенный в транспортное средство 220, и т.п. Таким образом, следует отметить, что электронное устройство 210 может быть или может не быть постоянно связано с транспортным средством 220. Дополнительно или альтернативно электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В определенных вариантах осуществления электронное устройство 210 имеет дисплей 270.[00070] According to the present technology, the implementation of the electronic device 210 is not particularly limited. For example, the electronic device 210 may be implemented as a vehicle engine control unit, a vehicle central processing unit, a vehicle navigation device (e.g., TomTom™, Garmin™), a tablet, a personal computer built into the vehicle 220, or the like. Thus, it should be noted that electronic device 210 may or may not be permanently associated with vehicle 220. Additionally or alternatively, electronic device 210 may be implemented in a wireless communication device such as a mobile phone (eg, smartphone or cordless phone). In certain embodiments, the electronic device 210 has a display 270.

[00071] Электронное устройство 210 может включать в себя некоторые или все компоненты компьютерной системы 100, изображенной на Фиг.1, в зависимости от конкретного варианта осуществления. В некоторых вариантах осуществления электронное устройство 210 представляет собой бортовое компьютерное устройство и включает в себя процессор 110, твердотельный накопитель 120 и память 130. Другими словами, электронное устройство 210 включает в себя аппаратное обеспечение, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для обработки данных, как будет более подробно описано ниже.[00071] Electronic device 210 may include some or all of the components of computer system 100 depicted in FIG. 1, depending on the particular embodiment. In some embodiments, electronic device 210 is an on-board computing device and includes a processor 110, a solid state drive 120, and memory 130. In other words, electronic device 210 includes hardware and/or software and/or firmware, or a combination thereof for data processing, as will be described in more detail below.

[00072] В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети 240 связи приведены только в целях иллюстрации. Между электронным устройством 210 и сетью 240 связи предоставляется линия связи (отдельно не пронумерована), реализация которой будет зависеть, среди прочего, от того, как реализовано электронное устройство 210. Просто в качестве примера, а не ограничения, в тех неограничивающих вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может быть реализована как линия беспроводной связи. Примеры линий беспроводной связи могут включать в себя, без ограничения, линию связи сети 3G, линию связи 4G и т.п. Сеть 240 связи также может использовать беспроводное соединение с сервером 235.[00072] In some non-limiting embodiments of the present technology, communication network 240 is the Internet. In alternative non-limiting embodiments of the present technology, communications network 240 may be implemented as any suitable local area network (LAN), wide area network (WAN), private communications network, and the like. It should be clearly understood that the implementations for the communications network 240 are provided for purposes of illustration only. A communication link (not individually numbered) is provided between electronic device 210 and communication network 240, the implementation of which will depend on, among other things, how electronic device 210 is implemented. By way of example only, and not limitation, in those non-limiting embodiments of the present technology where the electronic device 210 is implemented as a wireless communication device such as a smartphone or navigation device, the communication link may be implemented as a wireless communication link. Examples of wireless links may include, without limitation, a 3G network link, a 4G link, and the like. Communication network 240 may also use a wireless connection to server 235.

[00073] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован как компьютерный сервер и может включать в себя некоторые или все компоненты компьютерной системы 100 на Фиг.1. В одном неограничивающем примере сервер 235 реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™, но также может быть реализован в любом другом подходящем аппаратном обеспечении, программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 235 является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 235 могут быть распределены и могут быть реализованы посредством нескольких серверов (не показаны). [00073] In some embodiments of the present technology, server 235 is implemented as a computer server and may include some or all of the components of computer system 100 in FIG. In one non-limiting example, server 235 is implemented as a Dell™ PowerEdge™ server running the Microsoft™ Windows Server™ operating system, but may also be implemented in any other suitable hardware, software and/or firmware, or combinations thereof. In the illustrated non-limiting embodiment of the present technology, server 235 is the only server. In alternative non-limiting embodiments of the present technology, the functionality of the server 235 may be distributed and may be implemented by multiple servers (not shown).

[00074] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может поддерживать связь с сервером 235 для приема одного или нескольких обновлений. Такие обновления могут включать, помимо прочего, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погоды и т.п. В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 также может быть выполнен с возможностью передачи на сервер 235 некоторых рабочих данных, таких как пройденные маршруты, данные дорожного движения, данные производительности и т.п. Некоторые или все такие данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или анонимизированы.[00074] In some non-limiting embodiments of the present technology, the processor 110 of the electronic device 210 may communicate with the server 235 to receive one or more updates. Such updates may include, but are not limited to, software updates, map updates, route updates, weather updates, and the like. In some non-limiting embodiments of the present technology, processor 110 may also be configured to send some operational data, such as routes traveled, traffic data, performance data, and the like, to server 235. Some or all of such data transmitted between vehicle 220 and server 235 may be encrypted and/or anonymized.

[00075] Следует отметить, что электронное устройство 210 может использовать различные датчики и системы для сбора информации об окружении 250 транспортного средства 220. Как видно на Фиг.2, транспортное средство 220 может быть оборудовано множеством систем 280 датчиков. Следует отметить, что различные системы датчиков из множества систем 280 датчиков могут использоваться для сбора различных типов данных, касающихся окружения 250 транспортного средства 220.[00075] It should be noted that electronic device 210 may use a variety of sensors and systems to collect information about the environment 250 of vehicle 220. As seen in FIG. 2, vehicle 220 may be equipped with multiple sensor systems 280. It should be noted that different sensor systems from the plurality of sensor systems 280 may be used to collect different types of data regarding the environment 250 of the vehicle 220.

[00076] В одном примере множество систем 280 датчиков может включать в себя различные оптические системы, включая, среди прочего, одну или несколько систем датчиков типа камеры, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110 электронного устройства 210. Вообще говоря, одна или несколько систем датчиков типа камеры могут быть выполнены с возможностью сбора данных изображения о различных частях окружения 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или несколькими системами датчиков типа камеры, могут использоваться электронным устройством 210 для выполнения процедур обнаружения объекта. Например, электронное устройство 210 может быть выполнено с возможностью подачи данных изображения, предоставленных одной или несколькими системами датчиков типа камеры, в нейронную сеть обнаружения объектов (ODNN, Object Detection Neural Network), которая обучена локализовать и классифицировать потенциальные объекты в окружении 250 транспортного средства 220. [00076] In one example, the plurality of sensor systems 280 may include various optical systems, including, but not limited to, one or more camera-type sensor systems that are mounted on vehicle 220 and are in communication with processor 110 of electronic device 210. Generally speaking, one or more camera-type sensor systems may be configured to collect image data about various parts of the environment 250 of vehicle 220. In some cases, image data provided by one or more camera-type sensor systems may be used by electronic device 210 to perform procedures. object detection. For example, electronic device 210 may be configured to feed image data provided by one or more camera-type sensor systems to an Object Detection Neural Network (ODNN) that is trained to locate and classify potential objects in the environment 250 of vehicle 220. .

[00077] В другом примере множество систем 280 датчиков может включать в себя одну или несколько систем датчиков радарного типа, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью использования радиоволн для сбора данных о различных частях окружения 250 транспортного средства 220. Например, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью сбора радиолокационных данных о потенциальных объектах в окружении 250 транспортного средства 220, такие данные потенциально представляют расстояние объектов от системы датчиков радарного типа, ориентацию объектов, быстроту и/или скорости объектов и т.п.[00077] In another example, the plurality of sensor systems 280 may include one or more radar-type sensor systems that are mounted on vehicle 220 and in communication with processor 110. Generally speaking, one or more radar-type sensor systems may be configured to use radio waves to collect data about various parts of the environment 250 of the vehicle 220. For example, one or more radar-type sensor systems can be configured to collect radar data about potential objects in the environment 250 of the vehicle 220, such data potentially representing the distance of the objects from a system of radar-type sensors, the orientation of objects, the speed and / or speed of objects, etc.

[00078] В дополнительном примере множество систем 280 датчиков может включать в себя одну или несколько систем оптического обнаружения и определения дальности (LIDAR, лидар), которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, система лидара выполнена с возможностью сбора данных об окружении 250 транспортного средства 220, используемых, например, для построения многомерной карты объектов в окружении 250 транспортного средства 220. Система лидара может быть установлена или модифицирована на транспортном средстве 220 в различных местоположениях и/или в различных конфигурациях для сбора информации об окружении 250 транспортного средства 220.[00078] In a further example, the plurality of sensor systems 280 may include one or more optical detection and ranging (LIDAR) systems that are mounted on vehicle 220 and are in communication with processor 110. Generally speaking, a lidar system configured to collect data about the environment 250 of the vehicle 220, used, for example, to build a multidimensional map of objects in the environment 250 of the vehicle 220. The lidar system can be installed or modified on the vehicle 220 at various locations and/or in various configurations to collect information about the environment 250 of the vehicle 220.

[00079] Например, в зависимости от реализации транспортного средства 220 и системы лидара, система лидара может быть установлена на внутренней, верхней части лобового стекла транспортного средства 220. Тем не менее, другие места для установки системы лидара входят в объем настоящего раскрытия, в том числе на заднем окне, боковых окнах, переднем капоте, крыше, передней решетке, переднем бампере или сбоку транспортного средства 220.[00079] For example, depending on the implementation of the vehicle 220 and the lidar system, the lidar system may be mounted on the inside, top of the windshield of the vehicle 220. However, other mounting locations for the lidar system are within the scope of this disclosure, including including on the rear window, side windows, front hood, roof, front grille, front bumper, or side of the vehicle 220.

[00080] В контексте настоящей технологии электронное устройство 210 выполнено с возможностью обнаружения одного или нескольких объектов в окружении 250 транспортного средства 220 на основе данных, полученных от одной или нескольких систем камер и одной или нескольких систем лидара. Например, электронное устройство 210, выполненное с возможностью обнаружения данного объекта в окружении 250 транспортного средства 220, может быть выполнено с возможностью идентифицировать данные лидара и данные камеры, связанные с данным объектом, генерировать «внедрение», представляющее особенности, связанные с данным объектом, и обнаружить объект, создав ограничивающую рамку для объекта.[00080] In the context of the present technology, the electronic device 210 is configured to detect one or more objects in the environment 250 of the vehicle 220 based on data received from one or more camera systems and one or more lidar systems. For example, electronic device 210 configured to detect a given object in environment 250 of vehicle 220 may be configured to identify lidar data and camera data associated with a given object, generate a "embedding" representing features associated with a given object, and detect an object by creating a bounding box for the object.

[00081] Со ссылкой на Фиг.3, есть иллюстративный пример 300 транспортного средства 220 в окружении 250. Предположим, что транспортное средство 220 движется по участку 350 дороги. Электронное устройство 210 может принимать от системы 280 датчиков информацию об окружении 250 транспортного средства 220 и, в частности, об участке 350 дороги и об одном или нескольких «действующих лицах» (также иногда называемых «агентами») на участке 350 дороге, например, соседние объекты в окружении транспортного средства 220.[00081] Referring to Figure 3, there is an illustrative example 300 of a vehicle 220 in an environment 250. Assume that the vehicle 220 is moving along a section 350 of the road. The electronic device 210 may receive from the sensor system 280 information about the surroundings 250 of the vehicle 220 and, in particular, about the section 350 of the road and about one or more "actors" (also sometimes called "agents") on the section 350 of the road, for example, neighboring objects in the environment of the vehicle 220.

[00082] Электронное устройство 210 выполнено с возможностью генерирования «структуры графа» для управления транспортным средством 220 на участке дороги в заданный момент времени. Например, в данный момент времени электронное устройство 210 может быть выполнено с возможностью генерирования структуры графа, имеющей узлы и ребра, соединяющие соответствующие пары узлов. Узлы представляют соответствующие потенциальные положения транспортного средства 220 на участке 350 дороги, а ребра представляют переходы между соответствующими парами потенциальных положений. В этом случае электронное устройство 210 может определять заданную последовательность ребер в такой структуре графа, которая (i) связана с приемлемой общей стоимостью ребер в последовательности, и (ii) представляет потенциальный путь, по которому SDC должен следовать на участке дороги 350. Следует отметить, что электронное устройство 210 может использовать эту информацию для генерирования данных о траектории для транспортного средства 220, чтобы фактически следовать по этому пути на участке 350 дороги.[00082] The electronic device 210 is configured to generate a "graph structure" for driving the vehicle 220 on a road section at a given point in time. For example, at a given time, electronic device 210 may be configured to generate a graph structure having nodes and edges connecting respective pairs of nodes. The nodes represent the respective potential positions of the vehicle 220 on the road section 350, and the edges represent the transitions between the respective pairs of potential positions. In this case, the electronic device 210 may determine a predetermined sequence of edges in such a graph structure that (i) is related to the acceptable total cost of the edges in the sequence, and (ii) represents the potential path that the SDC should take on the road segment 350. Note, that the electronic device 210 can use this information to generate trajectory data for the vehicle 220 to actually follow that path on the road section 350.

[00083] Чтобы лучше проиллюстрировать это, теперь будет сделана ссылка на фиг. 4, на которой показан неограничивающий пример структуры 420 графа, которую электронное устройство 210 может быть выполнено с возможностью генерировать для участка 350 дороги в данный момент времени. Структура 420 графа имеет множество узлов (не пронумерованных) и множество ребер (не пронумерованных), соединяющих соответствующие узлы из множества узлов. Например, ребро 450 структуры 420 графа соединяет первый узел 451 и второй узел 452. Данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги. Данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Например, ребро 450 представляет переход транспортного средства 220 между его потенциальными положениями первого узла 451 и второго узла 452.[00083] To better illustrate this, reference will now be made to FIG. 4, which shows a non-limiting example of a graph structure 420 that electronic device 210 may be configured to generate for road segment 350 at a given time. The graph structure 420 has a plurality of nodes (not numbered) and a plurality of edges (not numbered) connecting respective nodes of the node set. For example, edge 450 of graph structure 420 connects first node 451 and second node 452. This node is associated with the respective potential position of vehicle 220 on road section 350. This edge represents the transition of the vehicle 220 between the potential positions of the corresponding pair of nodes. For example, edge 450 represents the transition of vehicle 220 between its potential positions of first node 451 and second node 452.

[00084] Следует отметить, что электронное устройство 210 может быть выполнено с возможностью хранения информации в ассоциации с соответствующим узлом и соответствующим ребром структуры 420 графа. Например, электронное устройство 210 может быть выполнено с возможностью хранения позиционных данных в ассоциации с данным узлом. В другом примере электронное устройство 210 может быть выполнено с возможностью хранения, в ассоциации с заданным ребром, позиционных данных соответствующей пары узлов.[00084] It should be noted that the electronic device 210 may be configured to store information in association with a respective node and a respective edge of the graph structure 420. For example, electronic device 210 may be configured to store positional data in association with a given node. In another example, electronic device 210 may be configured to store, in association with a given edge, the positional data of a respective pair of nodes.

[00085] Кроме того, предполагается, что дополнительные данные могут храниться в ассоциации с соответствующим узлом структуры 420 графа. Можно сказать, что дополнительные данные могут храниться в ассоциации с соответствующим узлом структуры 420 графа и указывают по меньшей мере на некоторую информацию о потенциальном состоянии транспортного средства 220 на участке 350 дороги. [00085] In addition, it is contemplated that additional data may be stored in association with the corresponding node of graph structure 420. We can say that additional data can be stored in association with the appropriate node of the graph structure 420 and indicate at least some information about the potential state of the vehicle 220 on the section 350 of the road.

[00086] В контексте настоящей технологии при генерировании структуры 420 графа электронное устройство 210 выполнено с возможностью генерирования параметров для соответствующих ребер структуры 420 графа и сохранения этих параметров в ассоциации с соответствующими ребрами в кэш-памяти. По меньшей мер, в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью назначения уникального идентификатора (UID) соответствующему узлу структуры 420 графа. Таким образом, электронное устройство 210 может быть выполнено с возможностью хранения информации о данном ребре (включая его параметры) в ассоциации с соответствующей парой UID в кэш-памяти. Следовательно, когда информация о данном ребре должна быть извлечена для дальнейшей обработки, электронное устройство 210 может использовать пару UID соответствующей пары узлов в качестве «ключа» для доступа к информации о заданном ребре в кэш-памяти. Можно сказать, что электронное устройство 210 может быть выполнено с возможностью хранения «записи» для данного ребра с соответствующей парой UID в качестве ключа для этой записи в кэш-памяти.[00086] In the context of the present technology, when generating the graph structure 420, the electronic device 210 is configured to generate parameters for the corresponding edges of the graph structure 420 and store those parameters in association with the corresponding edges in a cache. In at least some embodiments of the present technology, electronic device 210 may be configured to assign a unique identifier (UID) to a corresponding node of graph structure 420. Thus, electronic device 210 may be configured to store information about a given edge (including its parameters) in association with a corresponding pair of UIDs in a cache. Therefore, when information about a given edge is to be retrieved for further processing, electronic device 210 can use the UID pair of the corresponding pair of nodes as a "key" to access information about a given edge in the cache. It can be said that the electronic device 210 can be configured to store an "entry" for a given edge with the corresponding UID pair as the key for that entry in the cache.

[00087] Электронное устройство 210 может использовать структуру 420 графа для управления транспортным средством 220 на участке 350 дороги. С этой целью электронное устройство 210 может генерировать «путь» для транспортного средства 220 на участке дороги, который представляет соответствующую последовательность ребер в структуре 420 графа. Вообще говоря, электронное устройство 210 может быть выполнено с возможностью генерирования одного или нескольких потенциальных путей, по которым транспортное средство 220 может следовать на участке 350 дороги. Эти пути также могут быть ранжированы между собой на основе общей стоимости, связанной с соответствующей последовательностью ребер.[00087] Electronic device 210 may use graph structure 420 to control vehicle 220 on road section 350. To this end, the electronic device 210 may generate a "path" for the vehicle 220 on the road section that represents the corresponding sequence of edges in the graph structure 420. Generally speaking, the electronic device 210 may be configured to generate one or more potential paths that the vehicle 220 may follow on the road section 350. These paths can also be ranked among themselves based on the total cost associated with the corresponding sequence of edges.

[00088] Например, критерии стоимости ребер могут применяться к параметрам соответствующих ребер в заданной последовательности для определения «общей стоимости» для последовательности ребер. Электронное устройство 210 может ранжировать пути на основе того, насколько дорогостоящей является соответствующая последовательность ребер. Электронное устройство 210 может также использовать параметры соответствующей последовательности ребер для генерирования траектории для транспортного средства 220 для следования заданному пути. Это означает, что электронное устройство 210 может быть выполнено с возможностью генерировать данные о траектории для управления транспортным средством 220 на участке 350 дороги на основе данных о ребрах, связанных с последовательностью ребер. Электронное устройство 210 также может предписывать работу транспортного средства 220 в соответствии с определенной таким образом траекторией на участке 350 дороги. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью периодического генерирования структур графов в соответствующие моменты времени во время работы транспортного средства 220 аналогично тому, как электронное устройство 210 генерирует структуру 420 графа. [00088] For example, rib cost criteria may be applied to parameters of corresponding ribs in a given sequence to determine a "total cost" for the rib sequence. Electronic device 210 may rank the paths based on how expensive the corresponding sequence of edges is. The electronic device 210 may also use the parameters of the corresponding rib sequence to generate a trajectory for the vehicle 220 to follow the given path. This means that the electronic device 210 may be configured to generate trajectory data for steering the vehicle 220 on the road section 350 based on the rib data associated with the rib sequence. The electronic device 210 may also prescribe the operation of the vehicle 220 in accordance with the trajectory thus determined along the section 350 of the road. It should be noted that the electronic device 210 may be configured to periodically generate graph structures at appropriate times during operation of the vehicle 220, similar to how the electronic device 210 generates the graph structure 420.

[00089] Следует отметить, что генерирование структуры 420 графа - это затратная в вычислительном отношении операция, которая может занять значительное количество времени. Это связано с тем, что электронному устройству 210 необходимо вычислить множество параметров для соответствующих ребер структуры 420 графа. По меньшей мере в некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и электронные устройства для повышения эффективности процесса генерирования структуры графа.[00089] It should be noted that generating graph structure 420 is a computationally expensive operation that can take a significant amount of time. This is because the electronic device 210 needs to calculate a set of parameters for the corresponding edges of the graph structure 420. In at least some embodiments of the present technology, the developers of the present technology have developed methods and electronic devices to improve the efficiency of the graph structure generation process.

[00090] Следует отметить, что данное ребро может быть связано по меньшей мере с двумя типами параметров, а именно «динамическими параметрами» и «динамическими параметрами». Как создаются статические параметры и динамические параметры, будет более подробно описано ниже. Однако следует отметить, что разработчики настоящей технологии осознали, что электронное устройство 210 может быть выполнено с возможностью распараллеливать процессы генерирования статических и динамических параметров. Другими словами, предполагается, что электронное устройство 210 может быть выполнено с возможностью исполнения первого пайплайна обработки для генерирования динамических параметров для ребер структуры 420 графа и второго (параллельного) пайплайна обработки для генерирования статических параметров для ребер структуры 420 графа. [00090] It should be noted that a given edge can be associated with at least two types of parameters, namely "dynamic parameters" and "dynamic parameters". How static parameters and dynamic parameters are created will be described in more detail below. However, it should be noted that the developers of the present technology have realized that the electronic device 210 can be configured to parallelize the processes of generating static and dynamic parameters. In other words, it is contemplated that the electronic device 210 can be configured to execute a first processing pipeline to generate dynamic parameters for the edges of the graph structure 420 and a second (parallel) processing pipeline to generate static parameters for the edges of the graph structure 420.

[00091] В контексте настоящей технологии первый данный пайплайн обработки может упоминаться как «пайплайн основной обработки» или «пайплайн динамической обработки», который используется электронным устройством 210 для (i) генерирования динамических параметров для соответствующих ребер данной структуры графа и (ii) извлечения из кэш-памяти статических параметров для соответствующих ребер данной структуры графа. Второй данный пайплайн обработки может упоминаться как «пайплайн вспомогательной обработки» или «пайплайн статической обработки», который используется электронным устройством для (i) генерирования статических параметров для потенциальных положений на участке 350 дороги и (ii) кэширования статических параметров соответствующих потенциальных положений на участке 350 дороги в кэш-памяти.[00091] In the context of the present technology, the first given processing pipeline may be referred to as the "main processing pipeline" or "dynamic processing pipeline", which is used by electronic device 210 to (i) generate dynamic parameters for the corresponding edges of a given graph structure and (ii) extract from static parameter caches for the corresponding edges of the given graph structure. The second given processing pipeline may be referred to as the "auxiliary processing pipeline" or "static processing pipeline", which is used by the electronic device to (i) generate static parameters for the potential positions in road section 350 and (ii) cache the static parameters of the corresponding potential positions in section 350 roads in cache.

[00092] Разработчики настоящей технологии осознали, что параллельное исполнение двух пайплайнов обработки (например, вычисление динамических параметров и статических параметров параллельным способом) может уменьшить количество времени, необходимое для создания структуры графа, и, в свою очередь, может уменьшить общее количество времени, необходимое для генерирования данных о траектории движения транспортного средства 220 на участке 350 дороги. Увеличение вычислительной скорости процесса генерирования структуры графа во время работы транспортного средства 220 полезно для работы транспортного средства 220.[00092] The developers of the present technology have realized that executing two processing pipelines in parallel (e.g., calculating dynamic parameters and static parameters in a parallel manner) can reduce the amount of time required to create a graph structure and, in turn, can reduce the total amount of time required to generate data about the trajectory of the vehicle 220 on the section 350 of the road. Increasing the computational speed of the graph structure generation process while the vehicle 220 is running is beneficial to the operation of the vehicle 220.

[00093] Как электронное устройство 210 выполнено с возможностью реализации пайплайна вспомогательной обработки и пайплайна основной обработки по меньшей мере в некоторых вариантах осуществления настоящей технологии, будет обсуждаться в свою очередь со ссылкой на Фиг.5.[00093] How the electronic device 210 is configured to implement the auxiliary processing pipeline and the main processing pipeline in at least some embodiments of the present technology will be discussed in turn with reference to FIG.

Статический пайплайнStatic pipeline

[00094] На фиг.5 изображено представление пайплайна 510 вспомогательной обработки, исполняемого электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Как часть пайплайна 510 вспомогательной обработки, электронное устройство 210 выполнено с возможностью выполнения первой операции 511 кэширования статических параметров (SAC) в первый момент времени (не пронумеровано) и второй операции 512 SAC во второй момент времени (не пронумеровано). Во время первой операции 511 SAC электронное устройство 210 выполнено с возможностью кэширования первых статических данных 513 в кэш-памяти 550. Во время второй операции 512 SAC электронное устройство 210 выполнено с возможностью кэширования вторых статических данных 514 в кэш-памяти 550.[00094] Figure 5 depicts a representation of an auxiliary processing pipeline 510 executed by an electronic device 210 in real time during operation of the vehicle 220. SAC) at a first time (not numbered) and a second SAC operation 512 at a second time (not numbered). During the first SAC operation 511, the electronic device 210 is configured to cache the first static data 513 in the cache 550. During the second SAC operation 512, the electronic device 210 is configured to cache the second static data 514 in the cache 550.

[00095] Следует отметить, что электронное устройство 210 может генерировать первые статические данные 513 путем вычисления статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения. Например, данный статический параметр может представлять собой, но без ограничений:[00095] It should be noted that the electronic device 210 may generate the first static data 513 by calculating static parameters for a plurality of potential positions of the vehicle 220 on the section 350 of the road. Generally speaking, this static parameter indicates information about the static object on the section 350 of the road relative to the corresponding potential position. For example, a given static parameter may be, but is not limited to:

- расстояние между соответствующим потенциальным положением и положением дорожного конуса на участке 350 дороги;- the distance between the corresponding potential position and the position of the traffic cone on section 350 of the road;

- расстояние между соответствующим потенциальным положением и положением знака остановки на участке 350 дороги;- the distance between the corresponding potential position and the position of the stop sign on the section 350 of the road;

- расстояние между соответствующим потенциальным положением и положением полосы движения на участке 350 дороги; и- the distance between the corresponding potential position and the position of the lane on the section 350 of the road; And

- расстояние между соответствующим потенциальным положением и положением центра полосы движения на участке 350 дороги.- the distance between the corresponding potential position and the position of the center of the lane on section 350 of the road.

[00096] Предполагается, что электронное устройство 210 может быть выполнено с возможностью вычисления статических параметров для большого количества потенциальных положений на участке 350 дороги. Например, электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для потенциальных положений соответствующих узлов данной структуры графа и для других потенциальных положений, которые являются промежуточными по отношению к соответствующим потенциальным положениям узлов данной структуры графа.[00096] It is contemplated that the electronic device 210 may be configured to calculate static parameters for a large number of potential positions on the road section 350. For example, the electronic device 210 may be configured to generate static parameters for the candidate locations of the respective nodes of a given graph structure, and for other candidate locations that are intermediate to the respective potential node locations of a given graph structure.

[00097] По меньшей мере, в некоторых вариантах осуществления настоящей технологии, из-за того, что электронное устройство 210 может идентифицировать большое количество потенциальных положений на участке 350 дороги, электронное устройство 210 может быть выполнено с возможностью применения логики «приоритета» для определения порядка потенциальных положений, для которых должны быть сгенерированы статические параметры. Например, электронное устройство 210 может быть выполнено с возможностью определения приоритета генерирования статических параметров для потенциальных положений, которые расположены ближе всего к центрам полос движения. В одном варианте осуществления электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для предварительно выбранного количества потенциальных положений с наивысшим приоритетом. В другом варианте осуществления электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для потенциальных положений, упорядоченных на основе их приоритета, и до тех пор, пока не будет достигнут предварительно выбранный предел времени.[00097] In at least some embodiments of the present technology, due to the fact that the electronic device 210 can identify a large number of potential positions on the road section 350, the electronic device 210 can be configured to apply "priority" logic to determine the order potential positions for which static parameters should be generated. For example, electronic device 210 may be configured to prioritize the generation of static parameters for potential positions that are closest to lane centers. In one embodiment, the electronic device 210 may be configured to generate static parameters for a preselected number of highest priority potential positions. In another embodiment, electronic device 210 may be configured to generate static parameters for potential positions, ordered based on their priority, and until a preselected time limit is reached.

[00098] Как только электронное устройство 210 генерирует статические параметры для множества потенциальных положений на участке 350 дороги, электронное устройство 210 может сохранить первые статические данные 513 в кэш-памяти 550 в ассоциации с соответствующими потенциальными положениями.[00098] Once the electronic device 210 generates static parameters for a plurality of potential positions on the road section 350, the electronic device 210 may store the first static data 513 in the cache 550 in association with the corresponding candidate positions.

[00099] Электронное устройство 210 также может быть выполнено с возможностью периодического выполнения генерирования статических параметров для соответствующих потенциальных положений. Например, как только электронное устройство 210 выполняет первую операцию 511 SAC, электронное устройство 210 может начать новый цикл генерирования статических параметров. В некоторых вариантах осуществления можно сказать, что электронное устройство 210 может быть выполнено с возможностью повторного вычисления и/или обновления статических параметров по меньшей мере для некоторых потенциальных положений и/или вычисления статических параметров для других потенциальных положений. Этот процесс генерирования происходит в течение временного интервала 515 и заканчивается второй операцией 512 SAC, во время которой вторые статические данные 514 сохраняются в кэш-памяти 550.[00099] The electronic device 210 can also be configured to periodically perform the generation of static parameters for the respective potential positions. For example, once the electronic device 210 performs the first SAC operation 511, the electronic device 210 may begin a new cycle of generating static parameters. In some embodiments, it can be said that the electronic device 210 can be configured to recalculate and/or update the static parameters for at least some candidate positions and/or calculate the static parameters for other candidate positions. This generation process occurs during time slot 515 and ends with a second SAC operation 512 during which second static data 514 is stored in cache 550.

[000100] Можно сказать, что электронное устройство 210 может быть выполнено с возможностью сохранения статических данных в кэш-памяти 550 «пакетами», то есть во время соответствующего цикла статического генерирования электронное устройство 210 может быть выполнено с возможностью генерирования соответствующих статических данных и сохранения (и/или обновления) статических данных в кэш-памяти 550. Размер данного пакета, такой как размер вторых статических данных 514, например, может зависеть от длины временного интервала 515. Как определяется длительность временного интервала 515, будет более подробно описано ниже.[000100] We can say that the electronic device 210 can be configured to store static data in the cache memory 550 "packets", that is, during the appropriate static generation cycle, the electronic device 210 can be configured to generate the corresponding static data and store ( and/or updates) of static data in cache 550. The size of a given packet, such as the size of second static data 514, for example, may depend on the length of time slot 515. How the length of time slot 515 is determined will be described in more detail below.

Динамический пайплайнDynamic pipeline

[000101] На фиг.4 также изображен пайплайн 520 основной обработки, исполняемый электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Как часть пайплайна 520 основной обработки электронное устройство 210 выполнено с возможностью выполнения первой операции 521 генерирования структуры графа (GSG) в первый момент времени (не пронумеровано), второй операции 522 GSG во второй момент времени (не пронумеровано) и третьей операции 523 GSG в третий момент времени (не пронумеровано). [000101] FIG. 4 also depicts a main processing pipeline 520 executed by the electronic device 210 in real time during operation of the vehicle 220. As part of the main processing pipeline 520, the electronic device 210 is configured to perform a first graph structure generation (GSG) operation 521 ) at the first time (not numbered), the second GSG operation 522 at the second time (not numbered), and the third GSG operation 523 at the third time (not numbered).

[000102] Во время первой операции 521 GSG электронное устройство 210 выполнено с возможностью генерировать динамические параметры для соответствующих ребер первой структуры графа и извлекать статические параметры для соответствующих ребер первой структуры графа. Электронное устройство 210 может быть выполнено с возможностью использования сгенерированной таким образом первой структуры графа для управления транспортным средством 220 в течение временного интервала 525 и/или до второй операции 522 GSG во второй момент времени. Во время второй операции 522 GSG электронное устройство 210 выполнено с возможностью генерирования динамических параметров для соответствующих ребер второй структуры графа и извлечения статических параметров для соответствующих ребер второй структуры графа. Предполагается, что первая структура графа и вторая структура графа могут совместно использовать по меньшей мере некоторые ребра, или, другими словами, по меньшей мере некоторые ребра второй структуры графа могут соответствовать ребрам первой структуры графа, не отходя от объема настоящей технологии. Электронное устройство 210 может быть выполнено с возможностью использования сгенерированной таким образом второй структуры графа для управления транспортным средством 220 до третьей операции 523 GSG в третий момент времени. Во время третьей операции 523 GSG электронное устройство 210 выполнено с возможностью генерирования динамических параметров для соответствующих ребер третьей структуры графа и извлечения (последних/обновленных) статических параметров для соответствующих ребер третьей структуры графа. Предполагается, что вторая структура графа и третья структура графа могут совместно использовать по меньшей мере некоторые ребра, или, другими словами, по меньшей мере некоторые ребра третьей структуры графа могут соответствовать ребрам второй структуры-графа, не отходя от объема настоящей технологии. Электронное устройство 210 может быть выполнено с возможностью использования сгенерированной таким образом третьей структуры графа для управления транспортным средством 220 до следующей операции GSG.[000102] During the first GSG operation 521, the electronic device 210 is configured to generate dynamic parameters for the corresponding edges of the first graph structure and extract static parameters for the corresponding edges of the first graph structure. Electronic device 210 may be configured to use the first graph structure thus generated to control vehicle 220 during time interval 525 and/or prior to second GSG operation 522 at a second time. During the second GSG operation 522, the electronic device 210 is configured to generate dynamic parameters for the corresponding edges of the second graph structure and extract static parameters for the corresponding edges of the second graph structure. It is contemplated that the first graph structure and the second graph structure may share at least some of the edges, or, in other words, at least some of the edges of the second graph structure may correspond to the edges of the first graph structure, without departing from the scope of the present technology. The electronic device 210 may be configured to use the second graph structure thus generated to control the vehicle 220 until the third GSG operation 523 at the third time. During the third GSG operation 523, the electronic device 210 is configured to generate dynamic parameters for the corresponding edges of the third graph structure and retrieve (latest/updated) static parameters for the corresponding edges of the third graph structure. It is contemplated that the second graph structure and the third graph structure may share at least some of the edges, or, in other words, at least some of the edges of the third graph structure may correspond to the edges of the second graph structure, without departing from the scope of the present technology. The electronic device 210 may be configured to use the third graph structure thus generated to control the vehicle 220 until the next GSG operation.

[000103] Возвращаясь к описанию первой операции 521 GSG, электронное устройство 210 может генерировать динамические параметры для соответствующих ребер первой структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений, связанных с заданным ребром. Как упомянуто выше, данное ребро соединяет пару соответствующих узлов, связанных с соответствующей парой потенциальных положений транспортного средства 220 на участке 350 дороги. Однако можно также сказать, что данное ребро также связано с набором промежуточных потенциальных положений на участке 350 дороги между соответствующей парой потенциальных положений, и в каких промежуточных потенциальных положениях будет находиться транспортное средство 220, если транспортное средство 220 пытается перейти между соответствующей парой потенциальных положений (связанных с соответствующей парой узлов).[000103] Returning to the description of the first GSG operation 521, the electronic device 210 may generate dynamic parameters for the corresponding edges of the first graph structure. Generally speaking, a given dynamic parameter indicates information about a moving object in road section 350 relative to a corresponding one of a corresponding set of intermediate potential positions associated with a given edge. As mentioned above, this edge connects a pair of respective nodes associated with a respective pair of potential vehicle 220 positions on road section 350. However, it can also be said that this edge is also associated with a set of intermediate candidate positions in the road section 350 between the corresponding pair of potential positions, and what intermediate potential positions the vehicle 220 will be in if the vehicle 220 tries to move between the corresponding pair of potential positions (associated with the corresponding pair of nodes).

[000104] Например, данный динамический параметр может представлять собой, но без ограничений:[000104] For example, a given dynamic parameter may be, but is not limited to:

- расстояние между соответствующим промежуточным потенциальным положением и положением другого движущегося транспортного средства на участке 350 дороги;- the distance between the corresponding intermediate potential position and the position of another moving vehicle on the section 350 of the road;

- расстояние между соответствующим промежуточным потенциальным положением и положением движущегося пешехода на участке 350 дороги; и- the distance between the corresponding intermediate potential position and the position of a moving pedestrian on section 350 of the road; And

- расстояние между соответствующим промежуточным потенциальным положением и положением движущегося велосипедиста на участке 350 дороги.- the distance between the corresponding intermediate potential position and the position of the moving cyclist on section 350 of the road.

[000105] Помимо генерирования динамических параметров для соответствующих ребер первой структуры графа, электронное устройство 210 дополнительно конфигурируется во время первой операции 521 GSG для извлечения статических параметров для соответствующих ребер первой структуры графа из кэш-памяти 550. С этой целью электронное устройство 210 может быть выполнено с возможностью отправки запроса 526 в кэш-память 550 для извлечения соответствующих статических данных.[000105] In addition to generating dynamic parameters for the respective edges of the first graph structure, the electronic device 210 is further configured during the first GSG operation 521 to retrieve the static parameters for the corresponding edges of the first graph structure from the cache 550. To this end, the electronic device 210 may be configured with the ability to send a request 526 to the cache 550 to retrieve the relevant static data.

[000106] Запрос 526 может принимать разные формы. В одном варианте осуществления запрос 526 может указывать информацию, касающуюся пар соответствующих UID, связанных с соответствующими ребрами из первой структуры графа. В другом варианте осуществления запрос 526 также может указывать информацию, касающуюся соответствующих наборов промежуточных потенциальных положений, связанных с соответствующими ребрами из структуры графа. Независимо от конкретной информации, включенной в запрос 526, запрос 526 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с наборами промежуточных потенциальных положений соответствующих ребер первой структуры графа. По существу, электронное устройство 210 может получать третьи статические данные 516, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер первой структуры графа.[000106] Request 526 can take many forms. In one embodiment, query 526 may indicate information regarding pairs of respective UIDs associated with respective edges from the first graph structure. In another embodiment, query 526 may also indicate information regarding respective sets of intermediate candidate positions associated with respective edges from the graph structure. Regardless of the specific information included in query 526, query 526 contains information that allows the identification and retrieval of static parameters stored in cache 550 and associated with sets of intermediate candidate positions of corresponding edges of the first graph structure. As such, electronic device 210 may receive third static data 516 containing static parameters associated with sets of potential positions of respective edges of the first graph structure.

[000107] Можно сказать, что третьи статические данные 516 являются подмножеством первых статических данных 513, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки.[000107] It can be said that the third static data 516 is a subset of the first static data 513 stored by the electronic device 210 during the execution of the auxiliary processing pipeline 510.

[000108] Точно так же во время второй операции 522 GSG электронное устройство 210 может генерировать динамические параметры для соответствующих ребер второй структуры графа и извлекать статические параметры для соответствующих ребер второй структуры графа из кэш-памяти 550. С этой целью электронное устройство 210 может быть выполнено с возможностью отправки запроса 527 в кэш-память 550 для извлечения соответствующих статических данных. Запрос 527 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с потенциальными положениями соответствующих ребер второй структуры графа. По существу, электронное устройство 210 может получать четвертые статические данные 517, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер второй структуры графа.[000108] Similarly, during the second GSG operation 522, the electronic device 210 may generate dynamic parameters for the respective edges of the second graph structure and retrieve the static parameters for the corresponding edges of the second graph structure from the cache 550. To this end, the electronic device 210 may be configured with the ability to send a request 527 to the cache 550 to retrieve the relevant static data. Query 527 contains information that allows the identification and retrieval of static parameters stored in cache 550 and associated with the potential positions of the respective edges of the second graph structure. As such, electronic device 210 may receive fourth static data 517 containing static parameters associated with sets of potential positions of respective edges of the second graph structure.

[000109] Можно сказать, что четвертые статические данные 517 являются подмножеством первых статических данных 513, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки. В некоторых вариантах осуществления настоящей технологии, если первая структура графа и вторая структура графа совместно используют по меньшей мере одно ребро, предполагается, что третьи статические данные 516 и четвертые статические данные 517 могут включать в себя статические параметры по меньшей мере для одного общего ребра.[000109] It can be said that the fourth static data 517 is a subset of the first static data 513 stored by the electronic device 210 during the execution of the auxiliary processing pipeline 510. In some embodiments of the present technology, if the first graph structure and the second graph structure share at least one edge, it is contemplated that the third static data 516 and fourth static data 517 may include static parameters for at least one common edge.

[000110] Следует отметить, что статические параметры данного ребра с меньшей вероятностью изменятся во времени по сравнению с динамическими параметрами данного ребра. Например, расстояние между потенциальным положением на участке 350 дороги и статическим объектом, вероятно, останется неизменным, тогда как расстояние между этим потенциальным положением и движущимся объектом, вероятно, изменится. По этой причине полезно выполнять операции GSG чаще, чем операции SAC, чтобы иметь точные атрибуты, связанные с ребрами структур графов.[000110] It should be noted that the static parameters of a given edge are less likely to change over time compared to the dynamic parameters of a given edge. For example, the distance between a potential position on road section 350 and a static object is likely to remain the same, while the distance between that potential position and a moving object is likely to change. For this reason, it is useful to perform GSG operations more frequently than SAC operations in order to have accurate attributes associated with graph structure edges.

[000111] Подобно тому, что было описано выше для первой и второй операций 521 и 522 GSG, во время третьей операции 523 GSG электронное устройство 210 может генерировать динамические параметры для соответствующих ребер третьей структуры графа и извлекать статические параметры для соответствующих ребер третьей структуры графа из кэш-памяти 550. С этой целью электронное устройство 210 может быть выполнено с возможностью отправки запроса 528 в кэш-память 550 для извлечения соответствующих статических данных. Запрос 528 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с потенциальными положениями соответствующих ребер третьей структуры графа. По существу, электронное устройство 210 может получать пятые статические данные 518, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер третьей структуры графа.[000111] Similar to what was described above for the first and second GSG operations 521 and 522, during the third GSG operation 523, the electronic device 210 may generate dynamic parameters for the corresponding edges of the third graph structure and extract static parameters for the corresponding edges of the third graph structure from cache memory 550. To this end, the electronic device 210 may be configured to send a request 528 to the cache memory 550 to retrieve the relevant static data. Query 528 contains information that allows the identification and retrieval of static parameters stored in cache 550 and associated with the potential positions of the respective edges of the third graph structure. As such, the electronic device 210 may receive fifth static data 518 containing static parameters associated with sets of potential positions of respective edges of the third graph structure.

[000112] Можно сказать, что пятые статические данные 518 являются подмножеством вторых статических данных 514, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки, поскольку вторая операция 512 SAC произошла до третьей операции 523 GSG.[000112] It can be said that the fifth static data 518 is a subset of the second static data 514 stored by the electronic device 210 during the execution of the auxiliary processing pipeline 510, since the second SAC operation 512 occurred before the third GSG operation 523.

[000113] Разработчики настоящей технологии осознали, что исключение таким образом вычисления статических параметров из пайплайна 520 основной обработки и в некотором смысле «выгрузка» этого вычисления в пайплайн 510 параллельной вспомогательной обработки позволяет сократить время, необходимое электронному устройству 210 для выполнения операций 521, 522 и 523 GSG по сравнению с заданной операцией GSG, во время которой как динамические, так и статические параметры должны вычисляться в одном пайплайне обработки. Действительно, в отличие от операции GSG, во время которой как динамические, так и статические параметры вычисляются в одном пайплайне обработки, некоторые варианты осуществления настоящей технологии позволяют параллельное вычисление и кэширование статических параметров, чтобы их можно было извлечь из кэш-памяти во время операции 521, 522 и 523 GSG, оставляя вычисление только динамических параметров в пайплайне 520 основной обработки. [000113] The developers of the present technology have realized that thus eliminating the calculation of static parameters from the main processing pipeline 520 and in a sense "offloading" this calculation to the parallel auxiliary processing pipeline 510 can reduce the time required for the electronic device 210 to perform operations 521, 522 and 523 GSG compared to a given GSG operation, during which both dynamic and static parameters must be calculated in the same processing pipeline. Indeed, unlike the GSG operation, during which both dynamic and static parameters are computed in the same processing pipeline, some embodiments of the present technology allow parallel computation and caching of static parameters so that they can be retrieved from the cache during operation 521 , 522 and 523 GSG, leaving only the calculation of the dynamic parameters in the main processing pipeline 520.

[000114] Следует также отметить, что в неограничивающем примере, показанном на фиг. 5, операции GSG и операции SAC не происходят в одни и те же моменты времени. Таким образом, можно сказать, что в некоторых вариантах осуществления настоящей технологии генерирование статических параметров для множества потенциальных положений (операции SAC) электронным устройством 210 может выполняться асинхронно от генерирования динамических параметров (операций GSG) электронным устройством 210. Фактически, как упоминалось ранее, периодичность операций GSG может отличаться от периодичности операций SAC, что означает, что операции GSG могут происходить с другой частотой, чем операции SAC.[000114] It should also be noted that in the non-limiting example shown in FIG. 5, GSG operations and SAC operations do not occur at the same times. Thus, it can be said that in some embodiments of the present technology, the generation of static parameters for multiple potential positions (SAC operations) by electronic device 210 can be performed asynchronously from the generation of dynamic parameters (GSG operations) by electronic device 210. In fact, as mentioned earlier, the frequency of operations The GSG may differ from the frequency of SAC operations, which means that GSG operations may occur at a different frequency than SAC operations.

[000115] По меньшей мере, в некоторых вариантах осуществления настоящей технологии предполагается, что частота операций SAC может быть предварительно выбрана оператором электронного устройства 210 на основе частоты операций GSG.[000115] In at least some embodiments of the present technology, it is contemplated that the frequency of SAC operations may be pre-selected by the operator of the electronic device 210 based on the frequency of GSG operations.

[000116] В первом примере предположим, что временной интервал 515 выбран значительно короче временного интервала 525, что означает, что операции SAC будут выполняться со значительно более высокой частотой, чем операции GSG. Такой выбор временного интервала 515 на основе временного интервала 525 может быть нежелательным, поскольку необходимо будет кэшировать большое количество пакетов. Следует отметить, что выполнение вызовов записи в кэш-память требует значительных ресурсов, и, следовательно, наличие большого количества пакетов увеличивает количество ресурсов, необходимых для их кэширования.[000116] In the first example, assume that time slot 515 is chosen to be significantly shorter than time slot 525, which means that SAC operations will be performed at a significantly higher frequency than GSG operations. This choice of timeslot 515 based on timeslot 525 may be undesirable because a large number of packets would need to be cached. It should be noted that making cache write calls is resource intensive, and therefore having a large number of packets increases the amount of resources needed to cache them.

[000117] Во втором примере предположим, что временной интервал 515 выбран значительно длиннее временного интервала 525, что означает, что операции SAC будут выполняться с значительно меньшей частотой, чем операции GSG. Такой выбор временного интервала 515 на основе временного интервала 525 может быть нежелательным, поскольку очень большие пакеты необходимо кэшировать при каждой операции SAC. Следует отметить, что чем больше временной интервал 525, тем больше времени у электронного устройства 210 для генерирования статических данных, и тем больше статических данных потребуется кэшировать во второй операции 512 SAC. Однако чем больше пакет, тем больше времени требуется для его кэширования в кэш-памяти 550, и поэтому существует риск того, что статические данные, содержащиеся в нем, могут уже быть устаревшими к моменту завершения кэширования большого пакета.[000117] In the second example, assume that time slot 515 is chosen to be significantly longer than time slot 525, which means that SAC operations will be performed at a significantly lower frequency than GSG operations. This choice of timeslot 515 based on timeslot 525 may be undesirable because very large packets need to be cached on each SAC operation. It should be noted that the longer the time interval 525, the more time the electronic device 210 has to generate static data, and the more static data will need to be cached in the second SAC operation 512. However, the larger the packet, the longer it takes to cache it in the cache 550, and therefore there is a risk that the static data it contains may already be out of date by the time the large packet is cached.

[000118] Таким образом, разработчики настоящей технологии поняли, что оператор электронного устройства 210 может выбрать длину временного интервала 515 на основе длины временного интервала 525 для смягчения компромисса, вызванного размером пакетов, генерируемых пайплайном 510 вспомогательной обработки. По меньшей мере в некоторых вариантах осуществления настоящей технологии оператор электронного устройства 210 может предварительно выбрать длину временного интервала 515 на основе длины временного интервала 525, так что временной интервал 515 не короче временного интервала 525, и таким образом, чтобы результирующие пакеты, генерируемые пайплайном 510 вспомогательной обработки, не были ни слишком большими, ни слишком многочисленными.[000118] Thus, the developers of the present technology realized that the operator of the electronic device 210 can choose the length of the time slot 515 based on the length of the time slot 525 to mitigate the trade-off caused by the size of the packets generated by the auxiliary processing pipeline 510. In at least some embodiments of the present technology, the operator of the electronic device 210 may preselect the length of the slot 515 based on the length of the slot 525 such that the slot 515 is no shorter than the slot 525, and such that the resulting packets generated by the auxiliary pipeline 510 cultivations were neither too large nor too numerous.

[000119] В одном примере временной интервал 515, связанный с операциями SAC, может составлять 400 миллисекунд. В другом примере временной интервал 515, связанный с операциями SAC, может составлять 450 миллисекунд. В дополнительных примерах временной интервал 515 может составлять от 400 до 450 миллисекунд. В других примерах временной интервал 515 может составлять около 420 миллисекунд.[000119] In one example, the time interval 515 associated with SAC operations may be 400 milliseconds. In another example, the time interval 515 associated with SAC operations may be 450 milliseconds. In additional examples, the time interval 515 may be from 400 to 450 milliseconds. In other examples, time interval 515 may be about 420 milliseconds.

[000120] В одном примере временной интервал 525, связанный с операциями GSG, может составлять 300 миллисекунд. В другом примере временной интервал 525, связанный с операциями GSG, может составлять 350 миллисекунд. В дополнительных примерах временной интервал 525 может составлять от 300 до 350 миллисекунд. В других примерах временной интервал 525 может составлять около 320 миллисекунд.[000120] In one example, the time interval 525 associated with GSG operations may be 300 milliseconds. In another example, the time interval 525 associated with GSG operations may be 350 milliseconds. In additional examples, the time interval 525 may be from 300 to 350 milliseconds. In other examples, time interval 525 may be about 320 milliseconds.

[000121] В дополнительных вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью дополнительного кэширования динамических параметров, сгенерированных во время данной операции GSG, и последующего извлечения по меньшей мере некоторых из них во время последующей операции GSG для сокращения количества требуемого времени для генерирования соответствующей структуры графа.[000121] In further embodiments of the present technology, it is contemplated that the electronic device 210 may be configured to further cache the dynamic parameters generated during a given GSG operation and then retrieve at least some of them during a subsequent GSG operation to reduce the number of time to generate the corresponding graph structure.

[000122] Чтобы лучше проиллюстрировать это, теперь будет сделана ссылка на фиг. 6, на которой показано представление 600 того, как некоторые динамические параметры могут кэшироваться в кэш-памяти 550 в дополнение к статическим параметрам. В дополнение к тому, что было описано со ссылкой на фиг.5 выше, в варианте осуществления, показанном на фиг.6, электронное устройство 210 может быть выполнено с возможностью дополнительного сохранения первых динамических данных 610, сгенерированных во время первой операции 521 GSG, в кэш-памяти 550. Например, первые динамические данные 610 могут включать в себя динамические параметры, сгенерированные для соответствующих ребер первой структуры графа, которая генерируется во время первой операции 521 GSG. Во время второй операции 522 GSG электронное устройство 210 выполнено с возможностью генерирования второй структуры графа. В этом варианте осуществления, если вторая структура графа совместно использует по меньшей мере одно ребро с первой структурой графа, сгенерированной во время первой операции 521 GSG, электронное устройство 210 может быть выполнено с возможностью отправки запроса 640 в кэш-память 550 для извлечения релевантных статических параметров (аналогично тому, что было описано выше), а также динамических параметров, связанных по меньшей мере с одним ребром, которое совместно используется первой и второй структурами графов. Таким образом, электронное устройство 210 может получать четвертые статические данные 517, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер второй структуры графа (аналогично тому, что было описано выше), а также вторые динамические данные 620, содержащие динамические параметры, связанные с общими ребрами между первой и второй структурами графов.[000122] To better illustrate this, reference will now be made to FIG. 6, which shows a representation 600 of how certain dynamic parameters may be cached in cache 550 in addition to static parameters. In addition to what has been described with reference to FIG. 5 above, in the embodiment shown in FIG. 6, the electronic device 210 may be configured to further store the first dynamic data 610 generated during the first GSG operation 521 in cache memory 550. For example, the first dynamic data 610 may include dynamic parameters generated for the corresponding edges of the first graph structure that is generated during the first GSG operation 521. During the second GSG operation 522, the electronic device 210 is configured to generate a second graph structure. In this embodiment, if the second graph structure shares at least one edge with the first graph structure generated during the first GSG operation 521, the electronic device 210 may be configured to send a query 640 to the cache 550 to retrieve the relevant static parameters. (similar to what was described above), as well as dynamic parameters associated with at least one edge that is shared by the first and second graph structures. Thus, the electronic device 210 can receive a fourth static data 517 containing static parameters associated with sets of potential positions of the corresponding edges of the second graph structure (similar to that described above), as well as a second dynamic data 620 containing dynamic parameters associated with common edges between the first and second graph structures.

[000123] Разработчики настоящей технологии поняли, что кэширование динамических параметров, сгенерированных во время текущей операции GSG, в дополнение к статическим параметрам, может дополнительно сократить количество времени, требуемое для выполнения последующей операции GSG, если последующая структура графа совместно использует ребра с текущей структурой графа.[000123] The developers of the present technology have realized that caching the dynamic parameters generated during the current GSG operation, in addition to the static parameters, can further reduce the amount of time required to perform a subsequent GSG operation if the subsequent graph structure shares edges with the current graph structure .

[000124] Например, если значение динамического параметра было вычислено во время первой операции 521 GSG для ребра, которое относительно далеко от текущего положения транспортного средства 220 на участке 350 дороги, точность значения может быть менее важной для немедленной работы транспортного средства 220. Следовательно, вместо повторного вычисления значения этого динамического параметра дальнего ребра во время второй операции 522 GSG, электронное устройство 210 может повторно использовать значение динамического параметра, вычисленное во время первой операции 521 GSG.[000124] For example, if a dynamic parameter value was calculated during the first GSG operation 521 for an edge that is relatively far from the current position of the vehicle 220 on the road section 350, the accuracy of the value may be less important for the immediate operation of the vehicle 220. Therefore, instead of After recalculating the value of this far edge dynamic parameter during the second GSG operation 522, the electronic device 210 may reuse the dynamic parameter value calculated during the first GSG operation 521.

[000125] В этом варианте осуществления, показанном на фиг. 6, электронное устройство 210 может быть выполнено с возможностью кэширования первых динамических данных 610 в течение предварительно определенного лимита времени, соответствующего временному интервалу 630. Временное кэширование динамических параметров для ребер может снизить риск использования значений динамических параметров, которые больше не могут быть достаточно точными. В самом деле, поскольку динамические параметры имеют тенденцию меняться со временем, значения динамических параметров могут больше не иметь права на повторное использование по истечении предварительно определенного лимита времени.[000125] In this embodiment, shown in FIG. 6, electronic device 210 may be configured to cache first dynamic data 610 for a predetermined time limit corresponding to time slot 630. Temporary caching of dynamic parameters for edges may reduce the risk of using dynamic parameter values that may no longer be accurate enough. Indeed, since dynamic parameters tend to change over time, dynamic parameter values may no longer be eligible for reuse after a predetermined time limit has elapsed.

[000126] Со ссылкой на фиг. 7 изображен способ 700, который выполняется электронным устройством 210 по меньшей мере в некоторых вариантах осуществления настоящей технологии. Предполагается, что способ 700 может выполняться электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Также предполагается, что этапы способа 700 могут выполняться параллельно, что теперь будет обсуждаться более подробно.[000126] With reference to FIG. 7 depicts a method 700 that is performed by electronic device 210 in at least some embodiments of the present technology. It is contemplated that method 700 may be performed by electronic device 210 in real time while vehicle 220 is operating. It is also contemplated that the steps of method 700 may be performed in parallel, which will now be discussed in more detail.

ЭТАП 710: исполнение в реальном времени первого пайплайна обработки, включающее в себя генерирование статических параметров для множества потенциальных положений SDC на участке дороги и кэширование статических параметров в ассоциации с соответствующими одними из множества потенциальных положений.STEP 710: real-time execution of the first processing pipeline, including generating static parameters for a plurality of potential SDC positions on a road segment and caching the static parameters in association with the corresponding one of the plurality of candidate positions.

[000127] Способ 700 имеет этап 710, на котором электронное устройство 210 исполняет в реальном времени первый пайплайн обработки. По меньшей мере в некоторых вариантах осуществления можно сказать, что первый пайплайн обработки представляет собой пайплайн вспомогательной/статической обработки, описанный выше.[000127] The method 700 has a block 710 where the electronic device 210 executes the first processing pipeline in real time. In at least some embodiments, the first processing pipeline can be said to be the auxiliary/static processing pipeline described above.

[000128] Как часть первого пайплайна обработки, электронное устройство 210 выполнено с возможностью генерирования статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения, связанного с данным ребром. Как часть первого пайплайна обработки электронное устройство 210 выполнено с возможностью кэширования в кэш-памяти (кэш-память 550) статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Кэш-память 550 может быть имплантирована как аппаратный компонент, программный компонент и/или их комбинация для хранения данных, чтобы будущие запросы на эти данные могли обслуживаться быстрее. Например, данные, хранящиеся в кэш-памяти 550, могут быть результатом более раннего вычисления или копией данных, хранящихся в другом месте.[000128] As part of the first processing pipeline, electronic device 210 is configured to generate static parameters for a plurality of potential vehicle 220 positions along road section 350. Generally speaking, a given static parameter indicates information about a static object in road section 350 with respect to the corresponding potential position associated with a given edge. As part of the first processing pipeline, the electronic device 210 is configured to cache in a cache memory (cache memory 550) static parameters in association with corresponding one of a plurality of candidate positions. Cache memory 550 may be implanted as a hardware component, a software component, and/or a combination of the two to store data so that future requests for that data can be served more quickly. For example, data stored in cache 550 may be the result of an earlier calculation or a copy of data stored elsewhere.

[000129] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки. Например, множество потенциальных положений, для которых генерируются статические параметры, может включать в себя предварительно выбранное количество потенциальных положений (имеющих наивысший рейтинг на основе логики приоритизации). Кэширование статических параметров может быть запущено после того, как статические параметры будут сгенерированы для предварительно выбранного количества потенциальных положений. В другом примере множество потенциальных положений, для которых генерируются статические параметры, может включать в себя потенциальные положения с наивысшим рейтингом из списка потенциальных положений, для которых электронное устройство 210 имеет достаточно времени, чтобы сгенерировать статические параметры, до истечения предварительно определенного лимита времени.[000129] In some embodiments of the present technology, it is contemplated that electronic device 210 may be configured to apply prioritization logic to determine the order of candidate positions for which static parameters should be generated in the first processing pipeline. For example, the set of candidate positions for which the static parameters are generated may include a pre-selected number of candidate positions (having the highest ranking based on the prioritization logic). Static parameter caching can be started after static parameters have been generated for a preselected number of candidate positions. In another example, the set of candidate positions for which static parameters are generated may include the highest-ranked candidate positions from a list of candidate positions for which electronic device 210 has sufficient time to generate static parameters before a predetermined time limit expires.

[000130] В некоторых вариантах осуществления заданный статический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.[000130] In some embodiments, the given static parameter of the respective edge may be one of the following: the distance between a given one of the respective set of intermediate candidate positions and the position of the traffic cone on the road section, the distance between the given one of the respective set of intermediate candidate positions and the position of the stop sign on the road section, the distance between a given one of the corresponding set of intermediate candidate positions and the position of the lane on the road section, and the distance between the given one of the corresponding set of intermediate potential positions and the position of the center of the lane on the road section.

ЭТАП 720: исполнение в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки, содержащее генерирование структуры графа для управления SDC на участке дороги.STEP 720: real-time execution of the second processing pipeline in parallel with the first processing pipeline, comprising generating a graph structure for managing SDC on the road section.

[000131] Способ имеет этап 720, во время которого электронное устройство 210 выполнено с возможностью исполнения в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки этапа 710. По меньшей мере в некоторых вариантах осуществления можно сказать, что второй пайплайн обработки является пайплайном основной/динамической обработки, описанным выше.[000131] The method has a step 720 during which the electronic device 210 is configured to execute in real time the second processing pipeline in parallel with the first processing pipeline of step 710. In at least some embodiments, the second processing pipeline can be said to be the main/ dynamic processing described above.

[000132] Также можно сказать, что этапы 710 и 720 способа 700 могут выполняться электронным устройством 210 параллельно. По меньшей мере в некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью выделения первых ресурсов обработки для выполнения этапа 710 и вторых ресурсов обработки для выполнения этапа 720. Предполагается, что первые ресурсы обработки могут отличаться от вторых ресурсов обработки.[000132] It can also be said that steps 710 and 720 of method 700 can be performed by electronic device 210 in parallel. In at least some embodiments, electronic device 210 may be configured to allocate first processing resources to perform step 710 and second processing resources to perform step 720. It is contemplated that the first processing resources may be different from the second processing resources.

[000133] Как часть второго пайплайна обработки, электронное устройство выполнено с возможностью генерирования структуры графа для управления транспортным средством 220 на участке 350 дороги. Структура графа имеет узлы и ребра, и при этом данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги, и при этом данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Данное ребро связано с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. [000133] As part of the second processing pipeline, the electronic device is configured to generate a graph structure for driving vehicle 220 on road section 350. The graph structure has nodes and edges, whereby a given node is associated with a respective potential position of vehicle 220 on road section 350, whereby this edge represents the transition of vehicle 220 between the potential positions of the corresponding pair of nodes. This edge is associated with a corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes.

[000134] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью генерирования динамических параметров для данного ребра структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов).[000134] As part of the second processing pipeline, during graph structure generation, electronic device 210 is configured to generate dynamic parameters for a given graph structure edge. Generally speaking, a given dynamic parameter indicates information about a moving object on road section 350 relative to a respective one of a respective set of intermediate candidate positions (and/or candidate positions of a respective pair of nodes).

[000135] В некоторых вариантах осуществления данный динамический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением пешехода на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением велосипедиста на участке дороги. Предполагается, что генерирование статических параметров может выполняться электронным устройством 210 асинхронно от генерирования динамических параметров.[000135] In some embodiments, a given dynamic parameter of the corresponding edge may be one of the following: the distance between a given one of the corresponding set of intermediate candidate positions and the position of another vehicle on the road section, the distance between a given one of the corresponding set of intermediate candidate positions and the position of a pedestrian on the road segment, and the distance between a given one of the corresponding set of intermediate potential positions and the position of the cyclist on the road segment. It is contemplated that the generation of static parameters may be performed by the electronic device 210 asynchronously from the generation of dynamic parameters.

[000136] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений и/или потенциальных положений соответствующей пары узлов. Таким образом, данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.[000136] As part of the second processing pipeline, during graph structure generation, electronic device 210 is configured to retrieve static parameters for a given graph structure edge from a cache. Static parameters for a given edge include static parameters cached in association with a corresponding set of intermediate candidate positions and/or candidate positions of a corresponding pair of nodes. Thus, this edge in the graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the dynamic parameters generated by the second processing pipeline.

[000137] В дополнительных вариантах осуществления настоящей технологии структура графа может быть первой структурой графа среди множества структур графов, которые должны генерироваться периодически во время работы транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью использования первой структуры графа для работы транспортного средства 220 в течение первого временного интервала на участке 350 дороги. В этих вариантах осуществления, как часть второго пайплайна обработки, электронное устройство 210 может быть выполнено с возможностью генерирования второй структуры графа для управления транспортным средством 220 на участке 350 дороги в течение второго временного интервала. Вторая структура графа может совместно использовать данное ребро с первой структурой графа. Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью генерирования обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр может указывать на обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов). Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью получения из кэш-памяти статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки. [000137] In additional embodiments of the present technology, the graph structure may be the first graph structure among a plurality of graph structures to be generated periodically during vehicle 220 operation. Electronic device 210 may be configured to use the first graph structure for vehicle 220 operation. during the first time interval on the section 350 of the road. In these embodiments, as part of the second processing pipeline, electronic device 210 may be configured to generate a second graph structure for driving vehicle 220 on road section 350 during the second time interval. The second graph structure may share this edge with the first graph structure. The generation of the second graph structure comprises an electronic device 210 configured to generate updated dynamic parameters for a given edge. This updated dynamic parameter may indicate updated information about a moving object on a road section with respect to a respective one of a respective set of intermediate candidate positions (and/or candidate positions of a respective pair of nodes). The generation of the second graph structure comprises an electronic device 210 configured to obtain from the cache the static parameters for a given edge, so that the given edge in the second graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the updated dynamic parameters generated by the second pipeline processing.

[000138] В некоторых вариантах осуществления генерирование статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги может выполняться в первый момент времени. В этих вариантах осуществления исполнение первого пайплайна обработки может дополнительно содержать электронное устройство 210, выполненное с возможностью генерирования обновленных статических параметров для множества потенциальных положений во второй момент времени, и при этом первый момент времени и второй момент времени определяют третий временной интервал. Следует отметить, что длина третьего временного интервала может быть предварительно выбрана на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки, как объяснено выше.[000138] In some embodiments, the generation of static parameters for a plurality of potential positions of vehicle 220 on road section 350 may be performed at a first time. In these embodiments, the execution of the first processing pipeline may further comprise an electronic device 210 configured to generate updated static parameters for a plurality of potential positions at a second time point, wherein the first time point and the second time point define a third time interval. It should be noted that the length of the third time slot may be preselected based on the length of at least one of the first time slot and the second time slot to reduce the processing resources of the electronic device required to execute the first processing pipeline as explained above.

[000139] В других вариантах осуществления способ 700 может дополнительно содержать электронное устройство 210, предписывающее работу транспортного средства 220 на участке 350 дороги на основе структуры графа. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Электронное устройство 210 может использовать один или несколько критериев стоимости, известных в данной области техники, для определения стоимости. Электронное устройство 210 также выполнено с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для транспортного средства 220 на участке 350 дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Электронное устройство 210 также выполнено с возможностью генерировать заданную траекторию для транспортного средства 220 на участке 350 дороги на основе последовательности ребер. Например, электронное устройство 210 может быть выполнено с возможностью генерирования, среди прочего, профиля скорости для транспортного средства 220 для следования последовательности ребер на участке 350 дороги. Электронное устройство 210 также выполнено с возможностью предписывать работу транспортного средства 220 для движения по участку дороги в соответствии с заданной траекторией. [000139] In other embodiments, method 700 may further comprise an electronic device 210 that directs vehicle 220 to operate on road section 350 based on a graph structure. For example, electronic device 210 may be configured to determine the cost of a given edge in the graph structure based on appropriate static and dynamic parameters. Electronic device 210 may use one or more cost criteria known in the art to determine cost. The electronic device 210 is also configured to determine a sequence of edges in the graph structure representing a potential path for the vehicle 220 on the road section 350 . The sequence of edges includes a given edge and is related to the acceptable total cost of the edges in the sequence. The electronic device 210 is also configured to generate a predetermined path for the vehicle 220 on the road section 350 based on the sequence of ribs. For example, electronic device 210 may be configured to generate , among other things, a speed profile for vehicle 220 to follow a sequence of ribs on road section 350. The electronic device 210 is also configured to direct the operation of the vehicle 220 to move along the road section in accordance with a predetermined trajectory.

[000140] Со ссылкой на фиг. 8 изображен способ 800, который выполняется электронным устройством 210 по меньшей мере в некоторых вариантах осуществления настоящей технологии. Предполагается, что способ 800 может выполняться электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Также предполагается, что этапы способа 800 могут выполняться параллельно, что теперь будет обсуждаться более подробно.[000140] With reference to FIG. 8 depicts a method 800 that is performed by electronic device 210 in at least some embodiments of the present technology. It is contemplated that method 800 may be performed by electronic device 210 in real time while vehicle 220 is operating. It is also contemplated that the steps of method 800 may be performed in parallel, which will now be discussed in more detail.

ЭТАП 810: исполнение в реальном времени первого пайплайна обработки, включающее в себя генерирование статических параметров для множества потенциальных положений SDC на участке дороги в течение первого временного интервала и кэширование статических параметров в ассоциации с соответствующими одними из множества потенциальных положенийSTEP 810: real-time execution of the first processing pipeline, including generating static parameters for a plurality of potential SDC positions on a road segment during the first time interval, and caching the static parameters in association with the respective one of the plurality of candidate positions

[000141] Способ 800 имеет этап 810, на котором электронное устройство 210 исполняет в реальном времени первый пайплайн обработки. По меньшей мере в некоторых вариантах осуществления можно сказать, что первый пайплайн обработки представляет собой пайплайн вспомогательной/статической обработки, описанный выше.[000141] Method 800 has step 810, in which the electronic device 210 executes in real time the first processing pipeline. In at least some embodiments, the first processing pipeline can be said to be the auxiliary/static processing pipeline described above.

[000142] Как часть первого пайплайна обработки, электронное устройство 210 выполнено с возможностью генерирования статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения, связанного с данным ребром. Как часть первого пайплайна обработки электронное устройство 210 выполнено с возможностью кэширования в кэш-памяти (кэш-память 550) статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Кэш-память 550 может быть имплантирована как аппаратный компонент, программный компонент и/или их комбинация для хранения данных, чтобы будущие запросы на эти данные могли обслуживаться быстрее. Например, данные, хранящиеся в кэш-памяти 550, могут быть результатом более раннего вычисления или копией данных, хранящихся в другом месте. Следует отметить, что генерирование статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги может выполняться для первого временного интервала.[000142] As part of the first processing pipeline, electronic device 210 is configured to generate static parameters for a plurality of potential vehicle 220 positions along road section 350. Generally speaking, a given static parameter indicates information about a static object in road section 350 with respect to the corresponding potential position associated with a given edge. As part of the first processing pipeline, the electronic device 210 is configured to cache in a cache memory (cache memory 550) static parameters in association with corresponding one of a plurality of candidate positions. Cache memory 550 may be implanted as a hardware component, a software component, and/or a combination of the two to store data so that future requests for that data can be served more quickly. For example, data stored in cache 550 may be the result of an earlier calculation or a copy of data stored elsewhere. It should be noted that the generation of static parameters for a plurality of potential positions of the vehicle 220 on the section 350 of the road can be performed for the first time interval.

[000143] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки. Например, множество потенциальных положений, для которых генерируются статические параметры, может включать в себя предварительно выбранное количество потенциальных положений (имеющих наивысший рейтинг на основе логики приоритизации). Кэширование статических параметров может быть запущено после того, как статические параметры будут сгенерированы для предварительно выбранного количества потенциальных положений. В другом примере множество потенциальных положений, для которых генерируются статические параметры, может включать в себя потенциальные положения с наивысшим рейтингом из списка потенциальных положений, для которых электронное устройство 210 имеет достаточно времени, чтобы сгенерировать статические параметры, до истечения предварительно определенного лимита времени.[000143] In some embodiments of the present technology, it is contemplated that electronic device 210 may be configured to apply prioritization logic to determine the order of candidate positions for which static parameters should be generated in the first processing pipeline. For example, the set of candidate positions for which the static parameters are generated may include a pre-selected number of candidate positions (having the highest ranking based on the prioritization logic). Static parameter caching can be started after static parameters have been generated for a preselected number of candidate positions. In another example, the set of candidate positions for which static parameters are generated may include the highest-ranked candidate positions from a list of candidate positions for which electronic device 210 has sufficient time to generate static parameters before a predetermined time limit expires.

[000144] В некоторых вариантах осуществления заданный статический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.[000144] In some embodiments, the given static parameter of the corresponding edge may be one of the following: the distance between a given one of the corresponding set of intermediate candidate positions and the position of the traffic cone on the road section, the distance between the given one of the corresponding set of intermediate candidate positions and the position of the stop sign on the road section, the distance between a given one of the corresponding set of intermediate candidate positions and the position of the lane on the road section, and the distance between the given one of the corresponding set of intermediate potential positions and the position of the center of the lane on the road section.

ЭТАП 820: исполнение в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки, содержащее генерирование структуры графа для управления SDC на участке дороги в течение второго временного интервала, причем длина первого временного интервала предварительно выбрана на основе длины второго временного интервала для уменьшения ресурсов обработки электронного устройства для исполнения первого пайплайна обработкиSTEP 820: real-time execution of the second processing pipeline in parallel with the first processing pipeline, comprising generating a graph structure for managing SDC on a road section during a second time slot, wherein the length of the first time slot is preselected based on the length of the second time slot to reduce electronic processing resources. devices for executing the first processing pipeline

[000145] Способ имеет этап 820, во время которого электронное устройство 210 выполнено с возможностью исполнения в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки этапа 810. По меньшей мере в некоторых вариантах осуществления можно сказать, что второй пайплайн обработки является основным/динамическим пайплайном обработки, описанным выше.[000145] The method has a step 820 during which the electronic device 210 is configured to execute in real time the second processing pipeline in parallel with the first processing pipeline of step 810. In at least some embodiments, the second processing pipeline can be said to be primary/dynamic processing pipeline described above.

[000146] Также можно сказать, что этапы 810 и 820 способа 800 могут выполняться электронным устройством 210 параллельно. По меньшей мере в некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью выделения первых ресурсов обработки для выполнения этапа 810 и вторых ресурсов обработки для выполнения этапа 820. Предполагается, что первые ресурсы обработки могут отличаться от вторых ресурсов обработки.[000146] It can also be said that steps 810 and 820 of method 800 can be performed by electronic device 210 in parallel. In at least some embodiments, electronic device 210 may be configured to allocate first processing resources to perform step 810 and second processing resources to perform step 820. It is contemplated that the first processing resources may be different from the second processing resources.

[000147] Как часть второго пайплайна обработки, электронное устройство выполнено с возможностью генерирования структуры графа для управления транспортным средством 220 на участке 350 дороги. Структура графа имеет узлы и ребра, и при этом данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги, и при этом данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Данное ребро связано с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. [000147] As part of the second processing pipeline, the electronic device is configured to generate a graph structure for driving vehicle 220 on road section 350. The graph structure has nodes and edges, whereby a given node is associated with a respective potential position of vehicle 220 on road section 350, whereby this edge represents the transition of vehicle 220 between the potential positions of the corresponding pair of nodes. This edge is associated with a corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes.

[000148] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью генерирования динамических параметров для данного ребра структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов).[000148] As part of the second processing pipeline, during graph structure generation, electronic device 210 is configured to generate dynamic parameters for a given graph structure edge. Generally speaking, a given dynamic parameter indicates information about a moving object on road section 350 relative to a respective one of a respective set of intermediate candidate positions (and/or candidate positions of a respective pair of nodes).

[000149] Структура графа может быть сгенерирована для управления транспортным средством в течение второго временного интервала. Можно сказать, что второй временной интервал определяет частоту вычисления динамических параметров, тогда как первый временной интервал из этапа 810 определяет частоту вычисления статических параметров. Следует отметить, что длина первого временного интервала может быть предварительно выбрана на основе длины второго временного интервала (например, оператором электронного устройства 210) для сокращения ресурсов обработки электронного устройства для исполнения первого пайплайна обработки.[000149] The graph structure may be generated to control the vehicle during the second time interval. It can be said that the second time interval determines the frequency of calculation of dynamic parameters, while the first time interval from step 810 determines the frequency of calculation of static parameters. It should be noted that the length of the first slot may be preselected based on the length of the second slot (eg, by an operator of the electronic device 210) to reduce the processing resources of the electronic device to execute the first processing pipeline.

[000150] В некоторых вариантах осуществления данный динамический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением пешехода на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением велосипедиста на участке дороги. Предполагается, что генерирование статических параметров может выполняться электронным устройством 210 асинхронно от генерирования динамических параметров.[000150] In some embodiments, a given dynamic parameter of the corresponding edge may be one of the following: the distance between a given one of the corresponding set of intermediate candidate positions and the position of another vehicle on the road section, the distance between a given one of the corresponding set of intermediate candidate positions and the position of a pedestrian on the road segment, and the distance between a given one of the corresponding set of intermediate potential positions and the position of the cyclist on the road segment. It is contemplated that the generation of static parameters may be performed by the electronic device 210 asynchronously from the generation of dynamic parameters.

[000151] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений и/или потенциальных положений соответствующей пары узлов. Таким образом, данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.[000151] As part of the second processing pipeline, during graph structure generation, electronic device 210 is configured to retrieve static parameters from a cache for a given graph structure edge. Static parameters for a given edge include static parameters cached in association with a corresponding set of intermediate candidate positions and/or candidate positions of a corresponding pair of nodes. Thus, this edge in the graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the dynamic parameters generated by the second processing pipeline.

[000152] В дополнительных вариантах осуществления настоящей технологии структура графа может быть первой структурой графа среди множества структур графов, которые должны генерироваться периодически во время работы транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью использования первой структуры графа для управления транспортным средством 220 в течение первого временного интервала на участке 350 дороги. В этих вариантах осуществления, как часть второго пайплайна обработки, электронное устройство 210 может быть выполнено с возможностью генерирования второй структуры графа для управления транспортным средством 220 на участке 350 дороги в течение второго временного интервала. Вторая структура графа может совместно использовать данное ребро с первой структурой графа. Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью генерирования обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр может указывать на обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов). Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью получения из кэш-памяти статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки. [000152] In additional embodiments of the present technology, the graph structure may be the first graph structure among a plurality of graph structures to be generated periodically during operation of the vehicle 220. The electronic device 210 may be configured to use the first graph structure to control the vehicle 220 in during the first time interval on the section 350 of the road. In these embodiments, as part of the second processing pipeline, electronic device 210 may be configured to generate a second graph structure for driving vehicle 220 on road section 350 during the second time interval. The second graph structure may share this edge with the first graph structure. The generation of the second graph structure comprises an electronic device 210 configured to generate updated dynamic parameters for a given edge. This updated dynamic parameter may indicate updated information about a moving object on a road section with respect to a respective one of a respective set of intermediate candidate positions (and/or candidate positions of a respective pair of nodes). The generation of the second graph structure comprises an electronic device 210 configured to obtain from the cache the static parameters for a given edge, so that the given edge in the second graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the updated dynamic parameters generated by the second pipeline processing.

[000153] В других вариантах осуществления способ 700 может дополнительно содержать электронное устройство 210, предписывающее работу транспортного средства 220 на участке 350 дороги на основе структуры графа. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Электронное устройство 210 может использовать один или несколько критериев стоимости, известных в данной области техники, для определения стоимости. Электронное устройство 210 также выполнено с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для транспортного средства 220 на участке 350 дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Электронное устройство 210 также выполнено с возможностью генерировать заданную траекторию для транспортного средства 220 на участке 350 дороги на основе последовательности ребер. Например, электронное устройство 210 может быть выполнено с возможностью генерирования, среди прочего, профиля скорости для транспортного средства 220 для следования по последовательности ребер на участке 350 дороги. Электронное устройство 210 также выполнено с возможностью предписывать работу транспортного средства 220 для движения по участку дороги в соответствии с заданной траекторией. [000153] In other embodiments, method 700 may further comprise an electronic device 210 instructing vehicle 220 to operate on road section 350 based on a graph structure. For example, electronic device 210 may be configured to determine the cost of a given edge in the graph structure based on appropriate static and dynamic parameters. Electronic device 210 may use one or more cost criteria known in the art to determine cost. The electronic device 210 is also configured to determine a sequence of edges in the graph structure representing a potential path for the vehicle 220 on the road section 350 . An edge sequence includes a given edge and is related to the acceptable total cost of the edges in the sequence. Electronic device 210 is also configured to generate a predetermined trajectory for vehicle 220 on road section 350 based on the sequence of ribs. For example, electronic device 210 may be configured to generate , among other things, a speed profile for vehicle 220 to follow a sequence of ribs in road section 350. The electronic device 210 is also configured to direct the operation of the vehicle 220 to move along the road section in accordance with a given trajectory.

[000154] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.[000154] Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The preceding description is intended to be exemplary and not limiting. Therefore, it is intended that the scope of the present technology be limited only by the scope of the appended claims.

[000155] Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в определенном порядке, следует понимать, что некоторые из этих этапов могут быть объединены, разделены на части или переупорядочены без отклонения от принципов настоящая технология. Соответственно, порядок и группировка упомянутых этапов ограничениями настоящей технологии не являются.[000155] While the implementations described above have been described and shown with reference to specific steps performed in a particular order, it should be understood that some of these steps may be combined, subdivided, or reordered without deviating from the principles of the present technology. Accordingly, the order and grouping of said steps is not a limitation of the present technology.

Claims (119)

1. Способ управления беспилотным автомобилем (SDC) на участке дороги, причем SDC движется по участку дороги, SDC управляется посредством электронного устройства, способ выполняется электронным устройством, причем способ включает в себя этапы, на которых:1. A method for controlling an unmanned vehicle (SDC) on a road section, wherein the SDC moves along a road section, the SDC is controlled by an electronic device, the method is performed by the electronic device, and the method includes the steps of: исполняют в реальном времени посредством электронного устройства первый пайплайн обработки, причем исполнение первого пайплайна обработки содержит:executing in real time by means of an electronic device the first processing pipeline, wherein the execution of the first processing pipeline comprises: генерирование посредством электронного устройства статических параметров для множества потенциальных положений SDC на участке дороги,generating, by means of an electronic device, static parameters for a plurality of potential SDC positions on a road section, причем данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения;moreover, this static parameter indicates information about the static object on the road section with respect to the corresponding potential position; кэширование посредством электронного устройства в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений;caching by an electronic device in the cache memory of static parameters in association with the respective ones of the plurality of candidate positions; исполняют в реальном времени посредством электронного устройства второй пайплайн обработки параллельно с первым пайплайном обработки, причем исполнение второго пайплайна обработки содержит:the second processing pipeline is executed in real time by the electronic device in parallel with the first processing pipeline, the execution of the second processing pipeline comprising: генерирование посредством электронного устройства структуры графа для управления SDC на участке дороги, причем структура графа имеет узлы и ребра,generating, by means of an electronic device, a graph structure for SDC control on a road section, the graph structure having nodes and edges, причем данный узел связан с соответствующим потенциальным положением SDC на участке дороги,moreover, this node is associated with the corresponding potential position of the SDC on the road section, данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связано с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов,this edge represents the SDC transition between the potential positions of the corresponding pair of nodes and is associated with the corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes, причем генерирование структуры графа содержит:where the generation of the graph structure contains: генерирование посредством электронного устройства динамических параметров для данного ребра структуры графа,generation by means of an electronic device of dynamic parameters for a given edge of the graph structure, причем данный динамический параметр указывает на информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений;moreover, this dynamic parameter indicates information about the moving object on the road section relative to the corresponding one of the corresponding set of intermediate potential positions; получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра структуры графа,obtaining by means of an electronic device from the cache memory of static parameters for a given edge of the graph structure, причем статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений;wherein the static parameters for a given edge include static parameters cached in association with a corresponding set of intermediate candidate positions; таким образом, что данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.in such a way that a given edge in the graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the dynamic parameters generated by the second processing pipeline. 2. Способ по п. 1, в котором структура графа является первой структурой графа, и в котором генерирование первой структуры графа предназначено для управления SDC на участке дороги в течение первого временного интервала, и при этом исполнение второго пайплайна обработки дополнительно включает в себя:2. The method of claim 1, wherein the graph structure is the first graph structure, and wherein generating the first graph structure is for controlling SDC on the road section during the first time interval, and wherein executing the second processing pipeline further includes: генерирование посредством электронного устройства второй структуры графа для управления SDC на участке дороги в течение второго временного интервала, причем вторая структура графа имеет данное ребро первой структуры графа,generating, by means of the electronic device, a second graph structure for controlling SDC on a road section during a second time interval, the second graph structure having a given edge of the first graph structure, причем генерирование второй структуры графа содержит:where the generation of the second graph structure contains: генерирование посредством электронного устройства обновленных динамических параметров для данного ребра,generating, by means of an electronic device, updated dynamic parameters for a given rib, причем данный обновленный динамический параметр указывает на обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений;moreover, this updated dynamic parameter indicates updated information about a moving object on a road section relative to the corresponding one of the corresponding set of intermediate potential positions; получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра,obtaining by means of an electronic device from the cache memory of static parameters for a given edge, таким образом, что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки.such that a given edge in the second graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the updated dynamic parameters generated by the second processing pipeline. 3. Способ по п. 2, в котором генерирование статических параметров для множества потенциальных положений SDC на участке дороги выполняется в первый момент времени, и при этом исполнение первого пайплайна обработки дополнительно включает в себя: 3. The method of claim 2, wherein the generation of static parameters for a plurality of potential SDC positions on the road section is performed at a first point in time, and wherein the execution of the first processing pipeline further includes: генерирование посредством электронного устройства обновленных статических параметров для множества потенциальных положений во второй момент времени, причем первый момент времени и второй момент времени определяют третий временной интервал,generating, by means of the electronic device, updated static parameters for a plurality of potential positions at a second point in time, wherein the first point in time and the second point in time define a third time interval, причем длина третьего временного интервала предварительно выбирается на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки.wherein the length of the third time slot is preselected based on the length of at least one of the first time slot and the second time slot to reduce the processing resources of the electronic device required to execute the first processing pipeline. 4. Способ по п. 1, в котором генерирование статических параметров для множества потенциальных положений включает в себя: 4. The method of claim 1, wherein generating static parameters for a plurality of potential positions includes: применение посредством электронного устройства логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки.application by the electronic device of prioritization logic to determine the order of candidate positions for which the static parameters are to be generated in the first processing pipeline. 5. Способ по п. 1, в котором множество потенциальных положений включает в себя предварительно выбранное количество потенциальных положений, и в котором кэширование статических параметров запускается после того, как статические параметры сгенерированы для предварительно выбранного количества потенциальных положений.5. The method of claim 1, wherein the set of candidate positions includes a preselected number of candidate positions, and wherein caching of the static parameters is started after the static parameters have been generated for the preselected number of candidate positions. 6. Способ по п. 1, в котором генерирование статических параметров для множества потенциальных положений SDC на участке дороги первого пайплайна обработки выполняется асинхронно с генерированием динамических параметров для данного ребра структуры графа второго пайплайна обработки.6. The method of claim 1, wherein the generation of static parameters for a plurality of potential SDC locations on a road section of the first processing pipeline is performed asynchronously with the generation of dynamic parameters for a given edge of the second processing pipeline graph structure. 7. Способ по п. 1, в котором данный динамический параметр соответствующего ребра является одним из следующего:7. The method of claim 1, wherein the given dynamic parameter of the corresponding edge is one of the following: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого движущегося транспортного средства на участке дороги;the distance between a given one of the corresponding set of intermediate potential positions and the position of another moving vehicle on the road section; расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося пешехода на участке дороги; иthe distance between a given one of the corresponding set of intermediate potential positions and the position of a moving pedestrian on the road section; And расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося велосипедиста на участке дороги.the distance between a given one of the corresponding set of intermediate potential positions and the position of a moving cyclist on the road segment. 8. Способ по п. 1, в котором данный статический параметр соответствующего ребра является одним из следующего:8. The method of claim. 1, in which the given static parameter of the corresponding edge is one of the following: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги;the distance between a given one of the corresponding set of intermediate potential positions and the position of the traffic cone on the road section; расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги;the distance between a given one of the corresponding set of intermediate potential positions and the stop sign position on the road section; расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги; иthe distance between a given one of the corresponding set of intermediate potential positions and the lane position on the road section; And расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.the distance between a given one of the corresponding set of intermediate potential positions and the position of the center of the lane on the road segment. 9. Способ по п. 1, при этом способ дополнительно содержит:9. The method according to p. 1, while the method further comprises: предписывание посредством электронного устройства работы SDC на участке дороги на основе структуры графа, причем предписывание содержит:prescribing by means of an electronic device the operation of the SDC on the road section based on the graph structure, the prescribing comprising: определение посредством электронного устройства стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров;determining by means of an electronic device the cost of a given edge in the graph structure based on the respective static and dynamic parameters; определение посредством электронного устройства последовательности ребер в структуре графа, представляющей потенциальный путь для SDC на участке дороги,determining by means of an electronic device a sequence of edges in a graph structure representing a potential path for SDC on a road section, причем последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности;moreover, the sequence of edges includes a given edge and is associated with an acceptable total cost of edges in the sequence; генерирование посредством электронного устройства данной траектории для SDC на участке дороги на основе последовательности ребер; иelectronically generating a given trajectory for the SDC on the road section based on the rib sequence; And предписывание посредством электронного устройства работы SDC для движения по участку дороги в соответствии с данной траекторией.prescribing, via the electronic device, the operation of the SDC for driving on the road section in accordance with the given trajectory. 10. Способ по п. 2, при этом способ дополнительно содержит:10. The method of claim 2, wherein the method further comprises: предписывание посредством электронного устройства работы SDC на участке дороги в течение второго временного интервала на основе второй структуры графа, причем предписывание содержит:prescribing by means of an electronic device the operation of the SDC on the road section during the second time interval based on the second graph structure, the prescribing comprising: определение посредством электронного устройства стоимости данного ребра во второй структуре графа на основе соответствующих статических и обновленных динамических параметров;determining by the electronic device the cost of a given edge in the second graph structure based on the corresponding static and updated dynamic parameters; определение посредством электронного устройства последовательности ребер во второй структуре графа, представляющей потенциальный путь для SDC на участке дороги,determining by means of an electronic device a sequence of edges in the second graph structure representing a potential path for SDC on a road section, причем последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности;moreover, the sequence of edges includes a given edge and is associated with an acceptable total cost of edges in the sequence; генерирование посредством электронного устройства заданной траектории для SDC на участке дороги на основе последовательности ребер; иgenerating, by means of the electronic device, a predetermined path for the SDC on the road section based on the sequence of ribs; And предписывание посредством электронного устройства работы SDC для движения по участку дороги во втором временном интервале в соответствии с заданной траекторией.prescribing by means of the electronic device the operation of the SDC to travel on the road section in the second time interval in accordance with the predetermined trajectory. 11. Способ управления беспилотным автомобилем (SDC) на участке дороги, причем SDC движется по участку дороги, SDC управляется электронным устройством, причем способ выполняется электронным устройством, причем способ включает в себя этапы, на которых:11. A method for controlling an unmanned vehicle (SDC) on a road section, wherein the SDC moves along a road section, the SDC is controlled by an electronic device, the method being performed by the electronic device, the method including the steps of: исполняют в реальном времени посредством электронного устройства первый пайплайн обработки, причем исполнение первого пайплайна обработки содержит:executing in real time by means of an electronic device the first processing pipeline, wherein the execution of the first processing pipeline comprises: генерирование посредством электронного устройства статических параметров для множества потенциальных положений SDC на участке дороги для первого временного интервала,generating, by means of an electronic device, static parameters for a plurality of potential SDC positions on the road section for the first time interval, причем данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения;moreover, this static parameter indicates information about the static object on the road section with respect to the corresponding potential position; кэширование посредством электронного устройства в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений;caching by an electronic device in the cache memory of static parameters in association with the respective ones of the plurality of candidate positions; исполняют в реальном времени посредством электронного устройства второй пайплайн обработки параллельно с первым пайплайном обработки, причем исполнение второго пайплайна обработки включает в себя:executing in real time by means of an electronic device the second processing pipeline in parallel with the first processing pipeline, wherein the execution of the second processing pipeline includes: генерирование посредством электронного устройства структуры графа для управления SDC на участке дороги в течение второго временного интервала, причем структура графа имеет узлы и ребра, generating, by means of an electronic device, a graph structure for managing SDC on a road section during a second time interval, the graph structure having nodes and edges, причем данный узел связан с соответствующим потенциальным положением SDC на участке дороги,moreover, this node is associated with the corresponding potential position of the SDC on the road section, данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связано с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов,this edge represents the SDC transition between the potential positions of the corresponding pair of nodes and is associated with the corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes, причем генерирование структуры графа содержит:where the generation of the graph structure contains: генерирование посредством электронного устройства динамических параметров для данного ребра структуры графа,generation by means of an electronic device of dynamic parameters for a given edge of the graph structure, причем данный динамический параметр указывает на информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений;moreover, this dynamic parameter indicates information about the moving object on the road section relative to the corresponding one of the corresponding set of intermediate potential positions; получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра структуры графа,obtaining by means of an electronic device from the cache memory of static parameters for a given edge of the graph structure, причем статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений;wherein the static parameters for a given edge include static parameters cached in association with a corresponding set of intermediate candidate positions; причем длина первого временного интервала предварительно выбирается на основе длины второго временного интервала для сокращения ресурсов обработки электронного устройства для исполнения первого пайплайна обработки.wherein the length of the first slot is preselected based on the length of the second slot to reduce the processing resources of the electronic device for executing the first processing pipeline. 12. Электронное устройство для управления беспилотным автомобилем (SDC) на участке дороги, причем SDC движется на участке дороги, причем электронное устройство выполнено с возможностью: 12. An electronic device for controlling an unmanned vehicle (SDC) on a road section, the SDC moving on a road section, the electronic device being configured to: исполнять в реальном времени первый пайплайн обработки, причем для исполнения первого пайплайна обработки электронное устройство выполнено с возможностью:execute in real time the first processing pipeline, wherein, in order to execute the first processing pipeline, the electronic device is configured to: генерировать статические параметры для множества потенциальных положений SDC на участке дороги,generate static parameters for a set of potential SDC positions on a road section, причем данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения;moreover, this static parameter indicates information about the static object on the road section with respect to the corresponding potential position; кэшировать в кэш-памяти статические параметры в ассоциации с соответствующими одними из множества потенциальных положений;cache in the cache the static parameters in association with the corresponding one of the plurality of candidate positions; исполнять в реальном времени второй пайплайн обработки параллельно с первым пайплайном обработки, причем для исполнения второго пайплайна обработки электронное устройство выполнено с возможностью:execute in real time the second processing pipeline in parallel with the first processing pipeline, and for executing the second processing pipeline, the electronic device is configured to: генерировать структуру графа для управления SDC на участке дороги, причем структура графа имеет узлы и ребра,generate a graph structure for SDC control on a road section, and the graph structure has nodes and edges, причем данный узел связан с соответствующим потенциальным положением SDC на участке дороги,moreover, this node is associated with the corresponding potential position of the SDC on the road section, данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связано с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов,this edge represents the SDC transition between the potential positions of the corresponding pair of nodes and is associated with the corresponding set of intermediate potential positions between the potential positions of the corresponding pair of nodes, для генерирования структуры графа электронное устройство выполнено с возможностью:to generate the graph structure, the electronic device is configured to: генерировать динамические параметры для данного ребра структуры графа,generate dynamic parameters for a given edge of the graph structure, причем данный динамический параметр указывает на информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений;moreover, this dynamic parameter indicates information about the moving object on the road section relative to the corresponding one of the corresponding set of intermediate potential positions; получать из кэш-памяти статические параметры для данного ребра структуры графа,get static parameters from the cache for a given edge of the graph structure, причем статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений;wherein the static parameters for a given edge include static parameters cached in association with a corresponding set of intermediate candidate positions; таким образом, что данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.in such a way that a given edge in the graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the dynamic parameters generated by the second processing pipeline. 13. Электронное устройство по п. 12, в котором структура графа является первой структурой графа, и в котором электронное устройство, выполненное с возможностью генерирования первой структуры графа, предназначено для управления SDC на участке дороги в течение первого временного интервала, и в котором для исполнения второго пайплайна обработки электронное устройство выполнено с возможностью:13. The electronic device according to claim. 12, in which the graph structure is the first graph structure, and in which the electronic device, configured to generate the first graph structure, is designed to control the SDC on the road section during the first time interval, and in which to execute of the second processing pipeline, the electronic device is configured to: генерировать вторую структуру графа для управления SDC на участке дороги в течение второго временного интервала, причем вторая структура графа имеет данное ребро первой структуры графа,generate a second graph structure to control the SDC on the road section during the second time interval, wherein the second graph structure has a given edge of the first graph structure, для генерирования второй структуры графа электронное устройство выполнено с возможностью:to generate the second graph structure, the electronic device is configured to: генерировать обновленные динамические параметры для данного ребра,generate updated dynamic parameters for the given edge, причем данный обновленный динамический параметр указывает на обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений;moreover, this updated dynamic parameter indicates updated information about a moving object on a road section relative to the corresponding one of the corresponding set of intermediate potential positions; получить из кэш-памяти статические параметры для данного ребра,get static parameters for the given edge from the cache, таким образом, что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки.such that a given edge in the second graph structure is associated with the dynamic parameters generated by the first processing pipeline and with the updated dynamic parameters generated by the second processing pipeline. 14. Электронное устройство по п. 13, в котором генерирование статических параметров для множества потенциальных положений SDC на участке дороги выполняется в первый момент времени, и в котором для исполнения первого пайплайна обработки электронное устройство выполнено с возможностью: 14. The electronic device according to claim 13, wherein the generation of static parameters for a plurality of potential SDC positions on the road section is performed at a first time point, and in which, in order to execute the first processing pipeline, the electronic device is configured to: генерировать обновленные статические параметры для множества потенциальных положений во второй момент времени, причем первый момент времени и второй момент времени определяют третий временной интервал,generate updated static parameters for a plurality of potential positions at a second time point, wherein the first time point and the second time point define a third time interval, длина третьего временного интервала предварительно выбирается на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки.the length of the third time slot is preselected based on the length of at least one of the first time slot and the second time slot to reduce the processing resources of the electronic device required to execute the first processing pipeline. 15. Электронное устройство по п. 12, в котором для генерирования статических параметров для множества потенциальных положений электронное устройство выполнено с возможностью: 15. The electronic device of claim 12, wherein, in order to generate static parameters for a plurality of potential positions, the electronic device is configured to: применять логику приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки.apply prioritization logic to determine the order of potential positions for which static parameters should be generated in the first processing pipeline. 16. Электронное устройство по п. 12, в котором множество потенциальных положений включает в себя предварительно выбранное количество потенциальных положений, и в котором электронное устройство запускает кэширование статических параметров после того, как статические параметры сгенерированы для предварительно выбранного количества потенциальных положений.16. The electronic device of claim 12, wherein the set of candidate positions includes a preselected number of candidate positions, and wherein the electronic device starts caching the static parameters after the static parameters are generated for the preselected number of candidate positions. 17. Электронное устройство по п. 12, в котором электронное устройство выполнено с возможностью генерирования статических параметров для множества потенциальных положений SDC на участке дороги первого пайплайна обработки асинхронно от электронного устройства, выполненного с возможностью генерирования динамических параметров для данного ребра структуры графа второго пайплайна обработки.17. The electronic device of claim 12, wherein the electronic device is configured to generate static parameters for a plurality of potential SDC positions on the road section of the first processing pipeline asynchronously from the electronic device, configured to generate dynamic parameters for a given edge of the second processing pipeline graph structure. 18. Электронное устройство по п. 12, в котором заданный динамический параметр соответствующего ребра является одним из следующего:18. The electronic device of claim 12, wherein the predetermined dynamic parameter of the corresponding rib is one of the following: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого движущегося транспортного средства на участке дороги;the distance between a given one of the corresponding set of intermediate potential positions and the position of another moving vehicle on the road section; расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося пешехода на участке дороги; иthe distance between a given one of the corresponding set of intermediate potential positions and the position of a moving pedestrian on the road section; And расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося велосипедиста на участке дороги.the distance between a given one of the corresponding set of intermediate potential positions and the position of a moving cyclist on the road segment. 19. Электронное устройство по п. 12, в котором заданный статический параметр соответствующего ребра является одним из следующего:19. The electronic device of claim 12, wherein the predetermined static parameter of the corresponding edge is one of the following: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги;the distance between a given one of the corresponding set of intermediate potential positions and the position of the traffic cone on the road section; расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги;the distance between a given one of the corresponding set of intermediate potential positions and the stop sign position on the road section; расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги; иthe distance between a given one of the corresponding set of intermediate potential positions and the lane position on the road section; And расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.the distance between a given one of the corresponding set of intermediate potential positions and the position of the center of the lane on the road segment. 20. Электронное устройство по п. 12, при этом электронное устройство дополнительно выполнено с возможностью:20. An electronic device according to claim 12, wherein the electronic device is additionally configured to: предписывать работу SDC на участке дороги на основе структуры графа, причем предписывание включает в себя электронное устройство, выполненное с возможностью:prescribe the operation of the SDC on the road section based on the graph structure, and the instruction includes an electronic device configured to: определить стоимость данного ребра в структуре графа на основе соответствующих статических и динамических параметров;determine the cost of a given edge in the graph structure based on the corresponding static and dynamic parameters; определить последовательность ребер в структуре графа, представляющую потенциальный путь для SDC на участке дороги,define a sequence of edges in the graph structure representing a potential path for SDC on a road section, причем последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности;moreover, the sequence of edges includes a given edge and is associated with an acceptable total cost of edges in the sequence; генерировать данную траекторию для SDC на участке дороги на основе последовательности ребер; иgenerate a given trajectory for the SDC on the road section based on the sequence of edges; And предписывать работу SDC для движения по участку дороги согласно данной траектории.prescribe the operation of the SDC for movement along the road section according to the given trajectory. 21. Электронное устройство по п. 13, при этом электронное устройство дополнительно выполнено с возможностью:21. An electronic device according to claim 13, wherein the electronic device is additionally configured to: предписывать работу SDC на участке дороги в течение второго временного интервала на основе второй структуры графа, причем предписывание включает в себя электронное устройство, выполненное с возможностью:instruct the operation of the SDC on the road section during the second time interval based on the second graph structure, and the instruction includes an electronic device configured to: определять стоимость данного ребра во второй структуре графа на основе соответствующих статических и обновленных динамических параметров;determine the cost of a given edge in the second graph structure based on the respective static and updated dynamic parameters; определять последовательность ребер во второй структуре графа, представляющую потенциальный путь для SDC на участке дороги,determine the sequence of edges in the second graph structure representing the potential path for SDC on the road section, причем последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности;moreover, the sequence of edges includes a given edge and is associated with an acceptable total cost of edges in the sequence; генерировать данную траекторию для SDC на участке дороги на основе последовательности ребер; иgenerate a given trajectory for the SDC on the road section based on the sequence of edges; And предписывать работу SDC для движения по участку дороги во втором временном интервале в соответствии с заданной траекторией.to prescribe the operation of the SDC for movement along the road section in the second time interval in accordance with the given trajectory.
RU2021116607A 2021-06-08 2021-06-08 Method and device for control of self-driving car RU2789921C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/578,654 US20220388531A1 (en) 2021-06-08 2022-01-19 Method and device for operating a self-driving car
EP22155068.4A EP4102473A1 (en) 2021-06-08 2022-02-03 Method and device for operating a self-driving car

Publications (2)

Publication Number Publication Date
RU2021116607A RU2021116607A (en) 2022-12-08
RU2789921C2 true RU2789921C2 (en) 2023-02-14

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639159B2 (en) * 2007-10-29 2009-12-29 Kapsch Trafficcom Ag System and method for determining intersection right-of-way for vehicles
RU2479015C1 (en) * 2012-01-11 2013-04-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" Method of defining motion path of self-contained vehicle in dynamic medium
RU2551294C1 (en) * 2014-01-09 2015-05-20 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Generation of vehicle route in road network
RU2589869C2 (en) * 2011-04-11 2016-07-10 Краун Эквипмент Корпорейшен Method and system for efficient scheduling for plurality of automated nonholonomic vehicles using scheduler of coordinated routes
US10990099B2 (en) * 2018-11-16 2021-04-27 Great Wall Motor Company Limited Motion planning methods and systems for autonomous vehicle

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639159B2 (en) * 2007-10-29 2009-12-29 Kapsch Trafficcom Ag System and method for determining intersection right-of-way for vehicles
RU2589869C2 (en) * 2011-04-11 2016-07-10 Краун Эквипмент Корпорейшен Method and system for efficient scheduling for plurality of automated nonholonomic vehicles using scheduler of coordinated routes
RU2479015C1 (en) * 2012-01-11 2013-04-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" Method of defining motion path of self-contained vehicle in dynamic medium
RU2551294C1 (en) * 2014-01-09 2015-05-20 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Generation of vehicle route in road network
US10990099B2 (en) * 2018-11-16 2021-04-27 Great Wall Motor Company Limited Motion planning methods and systems for autonomous vehicle

Similar Documents

Publication Publication Date Title
US20200265710A1 (en) Travelling track prediction method and device for vehicle
US20200239024A1 (en) Autonomous vehicle routing with roadway element impact
EP3517893A1 (en) Path and speed optimization fallback mechanism for autonomous vehicles
US11346682B2 (en) Augmented 3D map
US20190354782A1 (en) Object Detection and Property Determination for Autonomous Vehicles
JP2023514905A (en) Behavior planning for autonomous vehicles
US10814871B2 (en) Computing system for assigning maneuver labels to autonomous vehicle sensor data
JP2023510136A (en) Geolocation models for perception, prediction or planning
US20200034351A1 (en) Source Authentication And Changed Primitive Verification Systems And Methods For Real Time Updating Of Cloud-Based HD 3-D Map
CN111750886A (en) Local path planning method and device
JP7149288B2 (en) Vertical Parking Planning System Based on Spiral Curves for Autonomous Vehicles
RU2757234C2 (en) Method and system for calculating data for controlling the operation of a self-driving car
RU2764479C2 (en) Method and system for controlling the operation of a self-propelled car
JP6574224B2 (en) Vehicle control apparatus, vehicle, vehicle control method, and program
RU2750243C2 (en) Method and system for generating a trajectory for a self-driving car (sdc)
US20220412755A1 (en) Autonomous vehicle routing with local and general routes
US11913791B2 (en) Crosswalk detection
US20220155082A1 (en) Route comparison for vehicle routing
RU2767831C1 (en) Methods and electronic devices for detecting objects in the environment of an unmanned vehicle
US11760384B2 (en) Methods and systems for determining trajectory estimation order for vehicles
RU2751734C2 (en) Methods and processors for steering control of self-driving car
RU2789921C2 (en) Method and device for control of self-driving car
US20220065647A1 (en) Autonomous vehicle planned route prediction
US20220388531A1 (en) Method and device for operating a self-driving car
RU2767826C1 (en) Method and device for vehicle control