RU2789921C2 - Method and device for control of self-driving car - Google Patents
Method and device for control of self-driving car Download PDFInfo
- 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
Links
Images
Abstract
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
[00066] По меньшей мере в некоторых неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 связано с возможностью осуществления связи с системами управления транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью управления различными операционными системами транспортного средства 220, включая, помимо прочего: ECU (блок управления двигателем), системы рулевого управления, тормозные системы, а также системы сигнализации и освещения (т.е. фары, стоп-сигналы, и/или указатели поворота). В таком варианте осуществления транспортное средство 220 может быть беспилотным транспортным средством 220.[00066] In at least some non-limiting embodiments of the present technology, the
[00067] В некоторых неограничивающих вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может включать в себя спутник GPS (не показан), передающий и/или принимающий сигнал GPS на/от электронного устройства 210. Следует понимать, что настоящая технология не ограничивается GPS и может использовать технологию определения местоположения, отличную от GPS. Следует отметить, что спутник GPS можно вообще не использовать.[00067] In some non-limiting embodiments of the present technology,
[00068] Транспортное средство 220, с которым связано электронное устройство 210, может быть любым транспортным средством для отдыха или иного, например, частным или коммерческим автомобилем, грузовиком, мотоциклом и т.п. Хотя транспортное средство 220 изображено как наземное транспортное средство, это может быть не так во всех без исключения неограничивающих вариантах осуществления настоящей технологии. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии транспортное средство 220 может быть водным транспортным средством, таким как лодка, или летательным аппаратом, например летающим дроном.[00068] The
[00069] Транспортное средство 220 может управляться пользователем или может быть транспортным средством без водителя. В некоторых неограничивающих вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано как беспилотный автомобиль (SDC). Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, эти конкретные параметры включают в себя, например: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, размеры транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и объем двигателя.[00069]
[00070] Согласно настоящей технологии реализация электронного устройства 210 особо не ограничивается. Например, электронное устройство 210 может быть реализовано как блок управления двигателем транспортного средства, центральный процессор транспортного средства, навигационное устройство транспортного средства (например, TomTom™, Garmin™), планшет, персональный компьютер, встроенный в транспортное средство 220, и т.п. Таким образом, следует отметить, что электронное устройство 210 может быть или может не быть постоянно связано с транспортным средством 220. Дополнительно или альтернативно электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В определенных вариантах осуществления электронное устройство 210 имеет дисплей 270.[00070] According to the present technology, the implementation of the
[00071] Электронное устройство 210 может включать в себя некоторые или все компоненты компьютерной системы 100, изображенной на Фиг.1, в зависимости от конкретного варианта осуществления. В некоторых вариантах осуществления электронное устройство 210 представляет собой бортовое компьютерное устройство и включает в себя процессор 110, твердотельный накопитель 120 и память 130. Другими словами, электронное устройство 210 включает в себя аппаратное обеспечение, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для обработки данных, как будет более подробно описано ниже.[00071]
[00072] В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети 240 связи приведены только в целях иллюстрации. Между электронным устройством 210 и сетью 240 связи предоставляется линия связи (отдельно не пронумерована), реализация которой будет зависеть, среди прочего, от того, как реализовано электронное устройство 210. Просто в качестве примера, а не ограничения, в тех неограничивающих вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может быть реализована как линия беспроводной связи. Примеры линий беспроводной связи могут включать в себя, без ограничения, линию связи сети 3G, линию связи 4G и т.п. Сеть 240 связи также может использовать беспроводное соединение с сервером 235.[00072] In some non-limiting embodiments of the present technology,
[00073] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован как компьютерный сервер и может включать в себя некоторые или все компоненты компьютерной системы 100 на Фиг.1. В одном неограничивающем примере сервер 235 реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™, но также может быть реализован в любом другом подходящем аппаратном обеспечении, программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 235 является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 235 могут быть распределены и могут быть реализованы посредством нескольких серверов (не показаны). [00073] In some embodiments of the present technology,
[00074] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может поддерживать связь с сервером 235 для приема одного или нескольких обновлений. Такие обновления могут включать, помимо прочего, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погоды и т.п. В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 также может быть выполнен с возможностью передачи на сервер 235 некоторых рабочих данных, таких как пройденные маршруты, данные дорожного движения, данные производительности и т.п. Некоторые или все такие данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или анонимизированы.[00074] In some non-limiting embodiments of the present technology, the processor 110 of the
[00075] Следует отметить, что электронное устройство 210 может использовать различные датчики и системы для сбора информации об окружении 250 транспортного средства 220. Как видно на Фиг.2, транспортное средство 220 может быть оборудовано множеством систем 280 датчиков. Следует отметить, что различные системы датчиков из множества систем 280 датчиков могут использоваться для сбора различных типов данных, касающихся окружения 250 транспортного средства 220.[00075] It should be noted that
[00076] В одном примере множество систем 280 датчиков может включать в себя различные оптические системы, включая, среди прочего, одну или несколько систем датчиков типа камеры, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110 электронного устройства 210. Вообще говоря, одна или несколько систем датчиков типа камеры могут быть выполнены с возможностью сбора данных изображения о различных частях окружения 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или несколькими системами датчиков типа камеры, могут использоваться электронным устройством 210 для выполнения процедур обнаружения объекта. Например, электронное устройство 210 может быть выполнено с возможностью подачи данных изображения, предоставленных одной или несколькими системами датчиков типа камеры, в нейронную сеть обнаружения объектов (ODNN, Object Detection Neural Network), которая обучена локализовать и классифицировать потенциальные объекты в окружении 250 транспортного средства 220. [00076] In one example, the plurality of
[00077] В другом примере множество систем 280 датчиков может включать в себя одну или несколько систем датчиков радарного типа, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью использования радиоволн для сбора данных о различных частях окружения 250 транспортного средства 220. Например, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью сбора радиолокационных данных о потенциальных объектах в окружении 250 транспортного средства 220, такие данные потенциально представляют расстояние объектов от системы датчиков радарного типа, ориентацию объектов, быстроту и/или скорости объектов и т.п.[00077] In another example, the plurality of
[00078] В дополнительном примере множество систем 280 датчиков может включать в себя одну или несколько систем оптического обнаружения и определения дальности (LIDAR, лидар), которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, система лидара выполнена с возможностью сбора данных об окружении 250 транспортного средства 220, используемых, например, для построения многомерной карты объектов в окружении 250 транспортного средства 220. Система лидара может быть установлена или модифицирована на транспортном средстве 220 в различных местоположениях и/или в различных конфигурациях для сбора информации об окружении 250 транспортного средства 220.[00078] In a further example, the plurality of
[00079] Например, в зависимости от реализации транспортного средства 220 и системы лидара, система лидара может быть установлена на внутренней, верхней части лобового стекла транспортного средства 220. Тем не менее, другие места для установки системы лидара входят в объем настоящего раскрытия, в том числе на заднем окне, боковых окнах, переднем капоте, крыше, передней решетке, переднем бампере или сбоку транспортного средства 220.[00079] For example, depending on the implementation of the
[00080] В контексте настоящей технологии электронное устройство 210 выполнено с возможностью обнаружения одного или нескольких объектов в окружении 250 транспортного средства 220 на основе данных, полученных от одной или нескольких систем камер и одной или нескольких систем лидара. Например, электронное устройство 210, выполненное с возможностью обнаружения данного объекта в окружении 250 транспортного средства 220, может быть выполнено с возможностью идентифицировать данные лидара и данные камеры, связанные с данным объектом, генерировать «внедрение», представляющее особенности, связанные с данным объектом, и обнаружить объект, создав ограничивающую рамку для объекта.[00080] In the context of the present technology, the
[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
[00082] Электронное устройство 210 выполнено с возможностью генерирования «структуры графа» для управления транспортным средством 220 на участке дороги в заданный момент времени. Например, в данный момент времени электронное устройство 210 может быть выполнено с возможностью генерирования структуры графа, имеющей узлы и ребра, соединяющие соответствующие пары узлов. Узлы представляют соответствующие потенциальные положения транспортного средства 220 на участке 350 дороги, а ребра представляют переходы между соответствующими парами потенциальных положений. В этом случае электронное устройство 210 может определять заданную последовательность ребер в такой структуре графа, которая (i) связана с приемлемой общей стоимостью ребер в последовательности, и (ii) представляет потенциальный путь, по которому SDC должен следовать на участке дороги 350. Следует отметить, что электронное устройство 210 может использовать эту информацию для генерирования данных о траектории для транспортного средства 220, чтобы фактически следовать по этому пути на участке 350 дороги.[00082] The
[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
[00084] Следует отметить, что электронное устройство 210 может быть выполнено с возможностью хранения информации в ассоциации с соответствующим узлом и соответствующим ребром структуры 420 графа. Например, электронное устройство 210 может быть выполнено с возможностью хранения позиционных данных в ассоциации с данным узлом. В другом примере электронное устройство 210 может быть выполнено с возможностью хранения, в ассоциации с заданным ребром, позиционных данных соответствующей пары узлов.[00084] It should be noted that the
[00085] Кроме того, предполагается, что дополнительные данные могут храниться в ассоциации с соответствующим узлом структуры 420 графа. Можно сказать, что дополнительные данные могут храниться в ассоциации с соответствующим узлом структуры 420 графа и указывают по меньшей мере на некоторую информацию о потенциальном состоянии транспортного средства 220 на участке 350 дороги. [00085] In addition, it is contemplated that additional data may be stored in association with the corresponding node of
[00086] В контексте настоящей технологии при генерировании структуры 420 графа электронное устройство 210 выполнено с возможностью генерирования параметров для соответствующих ребер структуры 420 графа и сохранения этих параметров в ассоциации с соответствующими ребрами в кэш-памяти. По меньшей мер, в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью назначения уникального идентификатора (UID) соответствующему узлу структуры 420 графа. Таким образом, электронное устройство 210 может быть выполнено с возможностью хранения информации о данном ребре (включая его параметры) в ассоциации с соответствующей парой UID в кэш-памяти. Следовательно, когда информация о данном ребре должна быть извлечена для дальнейшей обработки, электронное устройство 210 может использовать пару UID соответствующей пары узлов в качестве «ключа» для доступа к информации о заданном ребре в кэш-памяти. Можно сказать, что электронное устройство 210 может быть выполнено с возможностью хранения «записи» для данного ребра с соответствующей парой UID в качестве ключа для этой записи в кэш-памяти.[00086] In the context of the present technology, when generating the
[00087] Электронное устройство 210 может использовать структуру 420 графа для управления транспортным средством 220 на участке 350 дороги. С этой целью электронное устройство 210 может генерировать «путь» для транспортного средства 220 на участке дороги, который представляет соответствующую последовательность ребер в структуре 420 графа. Вообще говоря, электронное устройство 210 может быть выполнено с возможностью генерирования одного или нескольких потенциальных путей, по которым транспортное средство 220 может следовать на участке 350 дороги. Эти пути также могут быть ранжированы между собой на основе общей стоимости, связанной с соответствующей последовательностью ребер.[00087]
[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.
[00089] Следует отметить, что генерирование структуры 420 графа - это затратная в вычислительном отношении операция, которая может занять значительное количество времени. Это связано с тем, что электронному устройству 210 необходимо вычислить множество параметров для соответствующих ребер структуры 420 графа. По меньшей мере в некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и электронные устройства для повышения эффективности процесса генерирования структуры графа.[00089] It should be noted that generating
[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
[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
[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
[00093] Как электронное устройство 210 выполнено с возможностью реализации пайплайна вспомогательной обработки и пайплайна основной обработки по меньшей мере в некоторых вариантах осуществления настоящей технологии, будет обсуждаться в свою очередь со ссылкой на Фиг.5.[00093] How the
Статический пайплайн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
[00095] Следует отметить, что электронное устройство 210 может генерировать первые статические данные 513 путем вычисления статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения. Например, данный статический параметр может представлять собой, но без ограничений:[00095] It should be noted that the
- расстояние между соответствующим потенциальным положением и положением дорожного конуса на участке 350 дороги;- the distance between the corresponding potential position and the position of the traffic cone on
- расстояние между соответствующим потенциальным положением и положением знака остановки на участке 350 дороги;- the distance between the corresponding potential position and the position of the stop sign on the
- расстояние между соответствующим потенциальным положением и положением полосы движения на участке 350 дороги; и- the distance between the corresponding potential position and the position of the lane on the
- расстояние между соответствующим потенциальным положением и положением центра полосы движения на участке 350 дороги.- the distance between the corresponding potential position and the position of the center of the lane on
[00096] Предполагается, что электронное устройство 210 может быть выполнено с возможностью вычисления статических параметров для большого количества потенциальных положений на участке 350 дороги. Например, электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для потенциальных положений соответствующих узлов данной структуры графа и для других потенциальных положений, которые являются промежуточными по отношению к соответствующим потенциальным положениям узлов данной структуры графа.[00096] It is contemplated that the
[00097] По меньшей мере, в некоторых вариантах осуществления настоящей технологии, из-за того, что электронное устройство 210 может идентифицировать большое количество потенциальных положений на участке 350 дороги, электронное устройство 210 может быть выполнено с возможностью применения логики «приоритета» для определения порядка потенциальных положений, для которых должны быть сгенерированы статические параметры. Например, электронное устройство 210 может быть выполнено с возможностью определения приоритета генерирования статических параметров для потенциальных положений, которые расположены ближе всего к центрам полос движения. В одном варианте осуществления электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для предварительно выбранного количества потенциальных положений с наивысшим приоритетом. В другом варианте осуществления электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для потенциальных положений, упорядоченных на основе их приоритета, и до тех пор, пока не будет достигнут предварительно выбранный предел времени.[00097] In at least some embodiments of the present technology, due to the fact that the
[00098] Как только электронное устройство 210 генерирует статические параметры для множества потенциальных положений на участке 350 дороги, электронное устройство 210 может сохранить первые статические данные 513 в кэш-памяти 550 в ассоциации с соответствующими потенциальными положениями.[00098] Once the
[00099] Электронное устройство 210 также может быть выполнено с возможностью периодического выполнения генерирования статических параметров для соответствующих потенциальных положений. Например, как только электронное устройство 210 выполняет первую операцию 511 SAC, электронное устройство 210 может начать новый цикл генерирования статических параметров. В некоторых вариантах осуществления можно сказать, что электронное устройство 210 может быть выполнено с возможностью повторного вычисления и/или обновления статических параметров по меньшей мере для некоторых потенциальных положений и/или вычисления статических параметров для других потенциальных положений. Этот процесс генерирования происходит в течение временного интервала 515 и заканчивается второй операцией 512 SAC, во время которой вторые статические данные 514 сохраняются в кэш-памяти 550.[00099] The
[000100] Можно сказать, что электронное устройство 210 может быть выполнено с возможностью сохранения статических данных в кэш-памяти 550 «пакетами», то есть во время соответствующего цикла статического генерирования электронное устройство 210 может быть выполнено с возможностью генерирования соответствующих статических данных и сохранения (и/или обновления) статических данных в кэш-памяти 550. Размер данного пакета, такой как размер вторых статических данных 514, например, может зависеть от длины временного интервала 515. Как определяется длительность временного интервала 515, будет более подробно описано ниже.[000100] We can say that the
Динамический пайплайнDynamic pipeline
[000101] На фиг.4 также изображен пайплайн 520 основной обработки, исполняемый электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Как часть пайплайна 520 основной обработки электронное устройство 210 выполнено с возможностью выполнения первой операции 521 генерирования структуры графа (GSG) в первый момент времени (не пронумеровано), второй операции 522 GSG во второй момент времени (не пронумеровано) и третьей операции 523 GSG в третий момент времени (не пронумеровано). [000101] FIG. 4 also depicts a
[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
[000103] Возвращаясь к описанию первой операции 521 GSG, электронное устройство 210 может генерировать динамические параметры для соответствующих ребер первой структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений, связанных с заданным ребром. Как упомянуто выше, данное ребро соединяет пару соответствующих узлов, связанных с соответствующей парой потенциальных положений транспортного средства 220 на участке 350 дороги. Однако можно также сказать, что данное ребро также связано с набором промежуточных потенциальных положений на участке 350 дороги между соответствующей парой потенциальных положений, и в каких промежуточных потенциальных положениях будет находиться транспортное средство 220, если транспортное средство 220 пытается перейти между соответствующей парой потенциальных положений (связанных с соответствующей парой узлов).[000103] Returning to the description of the
[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
- расстояние между соответствующим промежуточным потенциальным положением и положением движущегося пешехода на участке 350 дороги; и- the distance between the corresponding intermediate potential position and the position of a moving pedestrian on
- расстояние между соответствующим промежуточным потенциальным положением и положением движущегося велосипедиста на участке 350 дороги.- the distance between the corresponding intermediate potential position and the position of the moving cyclist on
[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
[000106] Запрос 526 может принимать разные формы. В одном варианте осуществления запрос 526 может указывать информацию, касающуюся пар соответствующих UID, связанных с соответствующими ребрами из первой структуры графа. В другом варианте осуществления запрос 526 также может указывать информацию, касающуюся соответствующих наборов промежуточных потенциальных положений, связанных с соответствующими ребрами из структуры графа. Независимо от конкретной информации, включенной в запрос 526, запрос 526 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с наборами промежуточных потенциальных положений соответствующих ребер первой структуры графа. По существу, электронное устройство 210 может получать третьи статические данные 516, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер первой структуры графа.[000106]
[000107] Можно сказать, что третьи статические данные 516 являются подмножеством первых статических данных 513, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки.[000107] It can be said that the third
[000108] Точно так же во время второй операции 522 GSG электронное устройство 210 может генерировать динамические параметры для соответствующих ребер второй структуры графа и извлекать статические параметры для соответствующих ребер второй структуры графа из кэш-памяти 550. С этой целью электронное устройство 210 может быть выполнено с возможностью отправки запроса 527 в кэш-память 550 для извлечения соответствующих статических данных. Запрос 527 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с потенциальными положениями соответствующих ребер второй структуры графа. По существу, электронное устройство 210 может получать четвертые статические данные 517, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер второй структуры графа.[000108] Similarly, during the
[000109] Можно сказать, что четвертые статические данные 517 являются подмножеством первых статических данных 513, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки. В некоторых вариантах осуществления настоящей технологии, если первая структура графа и вторая структура графа совместно используют по меньшей мере одно ребро, предполагается, что третьи статические данные 516 и четвертые статические данные 517 могут включать в себя статические параметры по меньшей мере для одного общего ребра.[000109] It can be said that the fourth
[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
[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
[000112] Можно сказать, что пятые статические данные 518 являются подмножеством вторых статических данных 514, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки, поскольку вторая операция 512 SAC произошла до третьей операции 523 GSG.[000112] It can be said that the fifth
[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
[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
[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
[000116] В первом примере предположим, что временной интервал 515 выбран значительно короче временного интервала 525, что означает, что операции SAC будут выполняться со значительно более высокой частотой, чем операции GSG. Такой выбор временного интервала 515 на основе временного интервала 525 может быть нежелательным, поскольку необходимо будет кэшировать большое количество пакетов. Следует отметить, что выполнение вызовов записи в кэш-память требует значительных ресурсов, и, следовательно, наличие большого количества пакетов увеличивает количество ресурсов, необходимых для их кэширования.[000116] In the first example, assume that
[000117] Во втором примере предположим, что временной интервал 515 выбран значительно длиннее временного интервала 525, что означает, что операции SAC будут выполняться с значительно меньшей частотой, чем операции GSG. Такой выбор временного интервала 515 на основе временного интервала 525 может быть нежелательным, поскольку очень большие пакеты необходимо кэшировать при каждой операции SAC. Следует отметить, что чем больше временной интервал 525, тем больше времени у электронного устройства 210 для генерирования статических данных, и тем больше статических данных потребуется кэшировать во второй операции 512 SAC. Однако чем больше пакет, тем больше времени требуется для его кэширования в кэш-памяти 550, и поэтому существует риск того, что статические данные, содержащиеся в нем, могут уже быть устаревшими к моменту завершения кэширования большого пакета.[000117] In the second example, assume that
[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
[000119] В одном примере временной интервал 515, связанный с операциями SAC, может составлять 400 миллисекунд. В другом примере временной интервал 515, связанный с операциями SAC, может составлять 450 миллисекунд. В дополнительных примерах временной интервал 515 может составлять от 400 до 450 миллисекунд. В других примерах временной интервал 515 может составлять около 420 миллисекунд.[000119] In one example, the
[000120] В одном примере временной интервал 525, связанный с операциями GSG, может составлять 300 миллисекунд. В другом примере временной интервал 525, связанный с операциями GSG, может составлять 350 миллисекунд. В дополнительных примерах временной интервал 525 может составлять от 300 до 350 миллисекунд. В других примерах временной интервал 525 может составлять около 320 миллисекунд.[000120] In one example, the
[000121] В дополнительных вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью дополнительного кэширования динамических параметров, сгенерированных во время данной операции GSG, и последующего извлечения по меньшей мере некоторых из них во время последующей операции GSG для сокращения количества требуемого времени для генерирования соответствующей структуры графа.[000121] In further embodiments of the present technology, it is contemplated that the
[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
[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
[000125] В этом варианте осуществления, показанном на фиг. 6, электронное устройство 210 может быть выполнено с возможностью кэширования первых динамических данных 610 в течение предварительно определенного лимита времени, соответствующего временному интервалу 630. Временное кэширование динамических параметров для ребер может снизить риск использования значений динамических параметров, которые больше не могут быть достаточно точными. В самом деле, поскольку динамические параметры имеют тенденцию меняться со временем, значения динамических параметров могут больше не иметь права на повторное использование по истечении предварительно определенного лимита времени.[000125] In this embodiment, shown in FIG. 6,
[000126] Со ссылкой на фиг. 7 изображен способ 700, который выполняется электронным устройством 210 по меньшей мере в некоторых вариантах осуществления настоящей технологии. Предполагается, что способ 700 может выполняться электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Также предполагается, что этапы способа 700 могут выполняться параллельно, что теперь будет обсуждаться более подробно.[000126] With reference to FIG. 7 depicts a
ЭТАП 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
[000128] Как часть первого пайплайна обработки, электронное устройство 210 выполнено с возможностью генерирования статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения, связанного с данным ребром. Как часть первого пайплайна обработки электронное устройство 210 выполнено с возможностью кэширования в кэш-памяти (кэш-память 550) статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Кэш-память 550 может быть имплантирована как аппаратный компонент, программный компонент и/или их комбинация для хранения данных, чтобы будущие запросы на эти данные могли обслуживаться быстрее. Например, данные, хранящиеся в кэш-памяти 550, могут быть результатом более раннего вычисления или копией данных, хранящихся в другом месте.[000128] As part of the first processing pipeline,
[000129] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки. Например, множество потенциальных положений, для которых генерируются статические параметры, может включать в себя предварительно выбранное количество потенциальных положений (имеющих наивысший рейтинг на основе логики приоритизации). Кэширование статических параметров может быть запущено после того, как статические параметры будут сгенерированы для предварительно выбранного количества потенциальных положений. В другом примере множество потенциальных положений, для которых генерируются статические параметры, может включать в себя потенциальные положения с наивысшим рейтингом из списка потенциальных положений, для которых электронное устройство 210 имеет достаточно времени, чтобы сгенерировать статические параметры, до истечения предварительно определенного лимита времени.[000129] In some embodiments of the present technology, it is contemplated that
[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
[000132] Также можно сказать, что этапы 710 и 720 способа 700 могут выполняться электронным устройством 210 параллельно. По меньшей мере в некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью выделения первых ресурсов обработки для выполнения этапа 710 и вторых ресурсов обработки для выполнения этапа 720. Предполагается, что первые ресурсы обработки могут отличаться от вторых ресурсов обработки.[000132] It can also be said that
[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
[000134] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью генерирования динамических параметров для данного ребра структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов).[000134] As part of the second processing pipeline, during graph structure generation,
[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
[000136] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений и/или потенциальных положений соответствующей пары узлов. Таким образом, данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.[000136] As part of the second processing pipeline, during graph structure generation,
[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
[000138] В некоторых вариантах осуществления генерирование статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги может выполняться в первый момент времени. В этих вариантах осуществления исполнение первого пайплайна обработки может дополнительно содержать электронное устройство 210, выполненное с возможностью генерирования обновленных статических параметров для множества потенциальных положений во второй момент времени, и при этом первый момент времени и второй момент времени определяют третий временной интервал. Следует отметить, что длина третьего временного интервала может быть предварительно выбрана на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки, как объяснено выше.[000138] In some embodiments, the generation of static parameters for a plurality of potential positions of
[000139] В других вариантах осуществления способ 700 может дополнительно содержать электронное устройство 210, предписывающее работу транспортного средства 220 на участке 350 дороги на основе структуры графа. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Электронное устройство 210 может использовать один или несколько критериев стоимости, известных в данной области техники, для определения стоимости. Электронное устройство 210 также выполнено с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для транспортного средства 220 на участке 350 дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Электронное устройство 210 также выполнено с возможностью генерировать заданную траекторию для транспортного средства 220 на участке 350 дороги на основе последовательности ребер. Например, электронное устройство 210 может быть выполнено с возможностью генерирования, среди прочего, профиля скорости для транспортного средства 220 для следования последовательности ребер на участке 350 дороги. Электронное устройство 210 также выполнено с возможностью предписывать работу транспортного средства 220 для движения по участку дороги в соответствии с заданной траекторией. [000139] In other embodiments,
[000140] Со ссылкой на фиг. 8 изображен способ 800, который выполняется электронным устройством 210 по меньшей мере в некоторых вариантах осуществления настоящей технологии. Предполагается, что способ 800 может выполняться электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Также предполагается, что этапы способа 800 могут выполняться параллельно, что теперь будет обсуждаться более подробно.[000140] With reference to FIG. 8 depicts a
ЭТАП 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]
[000142] Как часть первого пайплайна обработки, электронное устройство 210 выполнено с возможностью генерирования статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения, связанного с данным ребром. Как часть первого пайплайна обработки электронное устройство 210 выполнено с возможностью кэширования в кэш-памяти (кэш-память 550) статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Кэш-память 550 может быть имплантирована как аппаратный компонент, программный компонент и/или их комбинация для хранения данных, чтобы будущие запросы на эти данные могли обслуживаться быстрее. Например, данные, хранящиеся в кэш-памяти 550, могут быть результатом более раннего вычисления или копией данных, хранящихся в другом месте. Следует отметить, что генерирование статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги может выполняться для первого временного интервала.[000142] As part of the first processing pipeline,
[000143] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки. Например, множество потенциальных положений, для которых генерируются статические параметры, может включать в себя предварительно выбранное количество потенциальных положений (имеющих наивысший рейтинг на основе логики приоритизации). Кэширование статических параметров может быть запущено после того, как статические параметры будут сгенерированы для предварительно выбранного количества потенциальных положений. В другом примере множество потенциальных положений, для которых генерируются статические параметры, может включать в себя потенциальные положения с наивысшим рейтингом из списка потенциальных положений, для которых электронное устройство 210 имеет достаточно времени, чтобы сгенерировать статические параметры, до истечения предварительно определенного лимита времени.[000143] In some embodiments of the present technology, it is contemplated that
[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
[000146] Также можно сказать, что этапы 810 и 820 способа 800 могут выполняться электронным устройством 210 параллельно. По меньшей мере в некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью выделения первых ресурсов обработки для выполнения этапа 810 и вторых ресурсов обработки для выполнения этапа 820. Предполагается, что первые ресурсы обработки могут отличаться от вторых ресурсов обработки.[000146] It can also be said that
[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
[000148] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью генерирования динамических параметров для данного ребра структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов).[000148] As part of the second processing pipeline, during graph structure generation,
[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
[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
[000151] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений и/или потенциальных положений соответствующей пары узлов. Таким образом, данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.[000151] As part of the second processing pipeline, during graph structure generation,
[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
[000153] В других вариантах осуществления способ 700 может дополнительно содержать электронное устройство 210, предписывающее работу транспортного средства 220 на участке 350 дороги на основе структуры графа. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Электронное устройство 210 может использовать один или несколько критериев стоимости, известных в данной области техники, для определения стоимости. Электронное устройство 210 также выполнено с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для транспортного средства 220 на участке 350 дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Электронное устройство 210 также выполнено с возможностью генерировать заданную траекторию для транспортного средства 220 на участке 350 дороги на основе последовательности ребер. Например, электронное устройство 210 может быть выполнено с возможностью генерирования, среди прочего, профиля скорости для транспортного средства 220 для следования по последовательности ребер на участке 350 дороги. Электронное устройство 210 также выполнено с возможностью предписывать работу транспортного средства 220 для движения по участку дороги в соответствии с заданной траекторией. [000153] In other embodiments,
[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)
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)
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)
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 |