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

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

Info

Publication number
RU2790105C2
RU2790105C2 RU2021116612A RU2021116612A RU2790105C2 RU 2790105 C2 RU2790105 C2 RU 2790105C2 RU 2021116612 A RU2021116612 A RU 2021116612A RU 2021116612 A RU2021116612 A RU 2021116612A RU 2790105 C2 RU2790105 C2 RU 2790105C2
Authority
RU
Russia
Prior art keywords
sdc
electronic device
potential
moving object
time
Prior art date
Application number
RU2021116612A
Other languages
Russian (ru)
Other versions
RU2021116612A (en
Inventor
Владислав Труханович
Антон Козловский
Original Assignee
Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии»
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии» filed Critical Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии»
Publication of RU2021116612A publication Critical patent/RU2021116612A/en
Application granted granted Critical
Publication of RU2790105C2 publication Critical patent/RU2790105C2/en

Links

Images

Abstract

FIELD: car industry.
SUBSTANCE: invention relates to self-driving cars (hereinafter – SDC), in particular to an electronic device and a method for control of SDC. The method for control of SDC includes generation of a path including a sequence of potential positions, generation of indications of planned speeds for SDC, when following the sequence of potential positions, and inducement of control of SDC along the path in accordance with planned speeds. Generation of planned speeds includes generation of a speed graph having nodes and ribs, generation of time assessment for the node, indicating amount of time, which the device has before launch of an emergency maneuver for prevention of collision with a moving object, if SDC is in a potential state, and the moving object performs an unexpected maneuver in a potential future moment of time, generation of cost for this rib, using time assessment, determination of a sequence of ribs, using cost, and generation of indications of planned speeds, using the sequence of ribs.
EFFECT: safety in operation of a self-driving car is increased.
24 cl, 9 dwg

Description

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

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

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

[0002] Беспилотные автомобили (SDC) - это транспортные средства, которые могут автономно перемещаться по местности через частные и/или общественные места. Используя систему датчиков, которые определяют местоположение и/или окружение SDC, логическая схема внутри или связанная с SDC управляет скоростью, движением, торможением и рулевым управлением SDC на основе обнаруженного датчиком местоположения и окружения SDC. Например, компьютерная система может использовать данные датчиков для генерирования будущих траекторий для SDC на участке дороги и может управлять работой SDC, чтобы он следовал выбранной траектории на этом участке дороги.[0002] Self-driving vehicles (SDCs) are vehicles that can autonomously navigate terrain 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 path on that road segment.

[0003] Как правило, SDC имеет множество датчиков, позволяющих SDC фиксировать и «понимать» окружающую его территорию. SDC может использовать различные системы датчиков, такие как, но без ограничений, системы камер, радарные системы и системы лидара. Различные системы датчиков могут использоваться для сбора различной информации и/или в другом формате о местоположении и окружении SDC. Например, системы камер могут использоваться для захвата данных изображения окружения SDC. В другом примере системы лидара могут использоваться для сбора данных облака точек для построения трехмерных картографических представлений окружения и других потенциальных объектов, расположенных поблизости от SDC. SDC может обрабатывать захваченные данные датчиков для генерирования прогнозов с использованием алгоритмов машинного обучения, например, в отношении присутствия и/или поведения объектов поблизости от SDC. Такие прогнозы затем могут использоваться SDC для планирования перемещения SDC в автономном режиме.[0003] Typically, the SDC has a variety of sensors that allow the SDC to capture and "understand" its surroundings. 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. The SDC may process the captured sensor data to generate predictions using machine learning algorithms, for example, regarding the presence and/or behavior of objects in the vicinity of the SDC. Such predictions can then be used by the SDC to plan the SDC's offline move.

[0004] Планирование движения для автономного вождения - это задача планирования желаемого движения SDC в динамической среде. Например, план может быть сохранен как траектория и включает в себя пространственную и временную информацию о будущем движении SDC (как запланировано). Генерирование траекторий без столкновений и с малым рывком для различных сценариев городского движения - сложная задача.[0004] Motion planning for autonomous driving is the task of planning the desired motion of the SDC in a dynamic environment. For example, the plan may be saved as a trajectory and includes spatial and temporal information about the future movement of the SDC (as planned). Generating collision-free and low-bump trajectories for various urban traffic scenarios is a difficult task.

[0005] Публикация патента США № 2020/0086855 раскрывает вычислительную систему транспортного средства, которая управляет транспортным средством, чтобы избежать столкновений между транспортным средством и агентами в окружающей среде.[0005] US Patent Publication No. 2020/0086855 discloses a vehicle computing system that controls the vehicle to avoid collisions between the vehicle and agents in the environment.

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

[0006] Существует потребность в системах и способах, которые позволяют избежать, уменьшить или преодолеть ограничения предшествующего уровня техники.[0006] There is a need for systems and methods that avoid, reduce, or overcome the limitations of the prior art.

[0007] Следует отметить, что беспилотный автомобиль (SDC) должен справляться со сложными сценариями дорожного движения. Например, необходимо учитывать динамические факторы, а также правила дорожного движения. Траектория, состоящая из информации о времени и пространстве, указывает на желаемое движение SDC в динамической среде. Планирование движения отвечает за поиск такой траектории, которая возможна для SDC, удобна для пассажиров и/или позволяет избежать столкновений с другими участниками движения.[0007] It should be noted that an unmanned vehicle (SDC) must cope with complex traffic scenarios. For example, dynamic factors must be taken into account, as well as traffic rules. The trajectory, consisting of information about time and space, indicates the desired movement of the SDC in a dynamic environment. Traffic planning is responsible for finding a trajectory that is possible for the SDC, comfortable for passengers, and/or avoids collisions with other traffic participants.

[0008] Разработчики настоящей технологии осознали, что планирование движения SDC можно разделить на два этапа. Путь для SDC можно спланировать на первом этапе, и он в некотором смысле представляет, «где» SDC будет двигаться по местности. На этом первом этапе, например, можно учесть геометрию дороги и стационарные препятствия. На втором этапе SDC может в некотором смысле определить, «когда» SDC будет расположен в соответствующих точках на этом пути. Например, такая информация может быть представлена меткой времени, связанной с каждой точкой на пути, и, следовательно, скоростью, с которой SDC должен двигаться, чтобы достичь этой точки в данный момент времени. Разработчики настоящей технологии разработали способы и электронные устройства для выполнения временного планирования скорости для заданного пути SDC.[0008] The developers of the present technology have realized that SDC motion planning can be divided into two steps. The path for the SDC can be planned in the first step, and in a sense represents "where" the SDC will move through the terrain. In this first step, for example, the geometry of the road and stationary obstacles can be taken into account. In the second step, the SDC can, in a sense, determine "when" the SDC will be located at appropriate points along the path. For example, such information may be represented by a timestamp associated with each point along the path, and hence the speed at which the SDC must move to reach that point at a given time. Developers of the present technology have developed methods and electronics for performing temporal rate planning for a given SDC path.

[0009] Следует отметить, что электронное устройство может включать в себя ряд различных модулей для выполнения планирования движения для SDC. Например, электронное устройство может включать в себя первый модуль для выполнения высокоуровневого планирования маршрута, который выбирает предпочтительный маршрут через сеть дорог, организованную в виде карты. Можно сказать, что маршрут определяет «глобальный план» для SDC как последовательность дорог для прибытия в пункт назначения. Поскольку при планировании маршрута не учитывается местная среда, затем выполняется планирование более низкого уровня. Таким образом, второй модуль может отвечать за принятие решений относительно маневров, которые SDC должен выполнять в данной ситуации. Например, электронное устройство может принять решение о том, следует ли SDC сохранить свою полосу движения или сменить полосу движения. Для выполнения этого маневра можно использовать третий модуль для определения траектории на участке дороги. Затем траектория преобразуется в команды транспортного средства четвертым модулем для управления работой SDC в соответствии с траекторией для выполнения маневра.[0009] It should be noted that the electronic device may include a number of different modules for performing motion planning for the SDC. For example, the electronic device may include a first module for performing high-level route planning that selects a preferred route through a road network organized as a map. A route can be said to define a "global plan" for the SDC as a sequence of roads to arrive at a destination. Since route planning does not take into account the local environment, then lower level planning is carried out. Thus, the second module may be responsible for making decisions about the maneuvers that the SDC should perform in a given situation. For example, the electronic device may decide whether the SDC should keep its lane or change lanes. To perform this maneuver, you can use the third module to determine the trajectory on the road section. The trajectory is then converted into vehicle commands by the fourth module to control the operation of the SDC according to the trajectory to perform the maneuver.

[00010] По меньшей мере в некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и электронные устройства, в которых третий модуль применяет двухэтапный процесс для определения траектории на местности и/или на участке дороги. Также можно сказать, что третий модуль выполняет «независимое планирование» (“decoupled planning”) траекторий, где путь определяется на первом этапе, а профиль скорости определяется на втором этапе. По меньшей мере, в некоторых вариантах осуществления настоящей технологии электронное устройство может выполнять независимое планирование траекторий итеративным способом. Другими словами, в рамках каждого цикла планирования электронное устройство повторяет планирование пути и скорости, чтобы учесть самую свежую информацию о динамической среде SDC.[00010] In at least some embodiments of the present technology, the developers of the present technology have developed methods and electronic devices in which the third module uses a two-stage process to determine a trajectory on the ground and/or on a road section. It can also be said that the third module performs “decoupled planning” of trajectories, where the path is determined in the first stage, and the velocity profile is determined in the second stage. In at least some embodiments of the present technology, the electronic device can perform independent path planning in an iterative manner. In other words, within each scheduling cycle, the electronic device repeats path and velocity scheduling to take into account the latest information about the SDC dynamic environment.

[00011] Разработчики настоящей технологии разработали способы и системы для оптимизации процесса построения профиля скорости для заданного пути. В некоторых вариантах осуществления профиль скорости, сгенерированный для данного пути, как раскрыто в данном документе, может гарантировать, что SDC не окажется в будущем состоянии, в котором столкновение с движущимся объектом неизбежно. Например, профиль скорости может быть сгенерирован таким образом, что, когда SDC следует по пути в соответствии с этим профилем скорости, SDC не обнаружит себя в будущий момент времени в заданном положении и скорости, которые подвергнут SDC риску столкновения с движущимся объектом и лишит возможности реагировать на неожиданный маневр движущегося объекта.[00011] The developers of the present technology have developed methods and systems for optimizing the process of building a velocity profile for a given path. In some embodiments, the speed profile generated for a given path, as disclosed herein, can ensure that the SDC does not end up in a future state in which a collision with a moving object is imminent. For example, a speed profile can be generated such that when an SDC follows a path according to that speed profile, the SDC will not find itself at a future time at a given position and speed, which would put the SDC at risk of colliding with a moving object and making it unable to respond. to an unexpected maneuver of a moving object.

[00012] В контексте настоящей технологии во время заданного цикла планирования движения электронное устройство выполнено с возможностью генерирования «структуры графа», имеющей узлы и ребра, где узлы представляют соответствующие потенциальные состояния SDC на участке дороги и где ребра представляют собой переходы между потенциальными состояниями узлов, соединенных ими. Заданные потенциальные состояния узла могут представлять положение, момент времени, а также скорость, с которой SDC потенциально может оказаться в будущем на пути. Для каждого узла электронное устройство выполнено с возможностью определения «оценки времени», указывающей количество времени, которое электронное устройство могло бы иметь до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии и движущийся объект выполняет неожиданный маневр в момент времени соответствующего потенциального состояния.[00012] In the context of the present technology, during a given traffic scheduling cycle, an electronic device is configured to generate a "graph structure" having nodes and edges, where the nodes represent the respective potential SDC states on a road section, and where the edges represent transitions between potential node states, connected by them. The given potential states of a node may represent the position, time, and speed at which the SDC could potentially be on the path in the future. For each node, the electronic device is configured to determine a "time estimate" indicating the amount of time that the electronic device could have before initiating an emergency maneuver to avoid collision with a moving object if the SDC is in the appropriate potential state and the moving object performs an unexpected maneuver at the time the time of the corresponding potential state.

[00013] Разработчики настоящей технологии осознали, что текущая впоследствии (потенциальная) скорость SDC, связанного с данным узлом, важна для определения этого количества времени, иногда называемого «временем реакции» (TTR, Time-To-React). Например, для одной и той же пары «положение-время» SDC имеет меньшее TTR при сравнительно более высокой скорости, чем при сравнительно более низкой скорости. В результате электронное устройство сконфигурировано так, чтобы не только учитывать позиционные и временные данные при определении оценки времени для данного узла, но также связанную потенциальную скорость SDC, связанную с этим узлом.[00013] The developers of the present technology have realized that the subsequent (potential) rate of the SDC associated with a given node is important in determining this amount of time, sometimes referred to as Time-To-React (TTR). For example, for the same position-time pair, the SDC has a lower TTR at a comparatively higher speed than at a comparatively lower speed. As a result, the electronic device is configured to take into account not only the positional and timing data when determining the time estimate for a given node, but also the associated potential SDC speed associated with that node.

[00014] Как только оценка времени определена для данного узла в структуре графа, электронное устройство может использовать оценку времени для присвоения стоимости ребру, соединяющему этот узел с предыдущим узлом в структуре графа. Можно сказать, что эта стоимость представляет безопасность перехода из потенциального состояния, связанного с предыдущим узлом, в потенциальное состояние, связанное с данным узлом. Затем можно использовать один или несколько алгоритмов для определения последовательности ребер в структуре графа на основе соответствующих стоимостей. Одна или несколько последовательностей могут использоваться для построения соответствующих профилей скорости для SDC при следовании по маршруту.[00014] Once a time estimate is determined for a given node in the graph structure, the electronic device may use the time estimate to assign a cost to an edge connecting that node to a previous node in the graph structure. We can say that this cost represents the security of transition from the potential state associated with the previous node to the potential state associated with this node. One or more algorithms can then be used to determine the sequence of edges in the graph structure based on the corresponding costs. One or more of the sequences may be used to build the corresponding speed profiles for the SDC while following the route.

[00015] Разработчики настоящей технологии осознали, что такой выбор последовательности ребер для построения профиля скорости позволяет учесть «непредсказуемость» поведения движущегося объекта. Как станет очевидно из приведенного ниже описания, хотя ряд прогнозируемых траекторий может быть вычислен для движущегося объекта, такие прогнозы могут оказаться неверными в ближайшем будущем, если движущийся объект резко изменит свое поведение. Например, хотя текущее поведение движущегося объекта указывает на то, что движущийся объект устойчиво движется перед SDC с постоянной скоростью, всегда существует риск того, что движущийся объект изменит свое текущее поведение и выполнит неожиданный маневр, например, резкий маневр при торможении.[00015] The developers of the present technology realized that such a choice of a sequence of edges for constructing a velocity profile allows you to take into account the "unpredictability" of the behavior of a moving object. As will become apparent from the description below, although a number of predicted trajectories can be calculated for a moving object, such predictions may not be correct in the near future if the moving object changes its behavior abruptly. For example, although the current behavior of the moving object indicates that the moving object is moving steadily ahead of the SDC at a constant speed, there is always a risk that the moving object will change its current behavior and perform an unexpected maneuver, such as a sudden braking maneuver.

[00016] В некоторых вариантах осуществления настоящей технологии разработчики разработали способы и электронные устройства, которые можно использовать для генерирования профиля скорости, который гарантирует, что столкновение не может произойти, если движущийся объект изменит свое текущее поведение (больше не следует по наилучшей прогнозируемой траектории) и, скорее, выполняет другую, заранее определенную, неожиданную траекторию. В некоторых вариантах осуществления профиль скорости может быть построен во время заданного цикла планирования, так что, если SDC следует по пути в соответствии с этим профилем скорости, никакое столкновение не будет возможным по меньшей мере до следующего цикла планирования. Новый профиль скорости может быть сгенерирован в следующем цикле планирования и может отличаться от профиля скорости, сгенерированного в течение данного цикла планирования, однако он по-прежнему будет гарантировать, что «решение без столкновений» существует в последующем цикле планирования.[00016] In some embodiments of the present technology, developers have developed methods and electronic devices that can be used to generate a velocity profile that ensures that a collision cannot occur if the moving object changes its current behavior (no longer follows the best predicted trajectory) and , rather, performs a different, predetermined, unexpected trajectory. In some embodiments, a speed profile may be built during a given scheduling cycle such that if the SDC follows the path according to that speed profile, no collision is possible until at least the next scheduling cycle. A new velocity profile may be generated in the next scheduling cycle and may be different from the velocity profile generated during this scheduling cycle, however it will still ensure that a "collision free solution" exists in the subsequent scheduling cycle.

[00017] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство может строить профиль скорости, части которого адаптированы для обеспечения возможности маневра для предотвращения столкновения для SDC. Например, структура графа может включать в себя ряд узлов, представляющих потенциальные состояния, имеющие одинаковое положение, но разные моменты времени и/или скорости. По существу, в зависимости от их соответствующих потенциальных состояний, этим узлам могут быть назначены разные оценки времени, и, следовательно, для соответствующих ребер могут быть назначены разные стоимости. Таким образом, алгоритм выбора ребер может определять последовательность ребер, которая приведет к тому, что SDC окажется в «лучшем» из ряда узлов, связанных с одним и тем же положением. Другими словами, построение таким образом профиля скорости может позволить SDC оказаться в заданном положении на пути в «правильный» момент времени, а также с «правильной» скоростью для обеспечения существования решения без столкновений.[00017] In some embodiments of the present technology, it is contemplated that the electronic device can build a speed profile, portions of which are adapted to provide anti-collision maneuver capability for the SDC. For example, the graph structure may include a number of nodes representing potential states having the same position but different times and/or speeds. As such, depending on their respective potential states, these nodes may be assigned different time estimates, and hence different costs may be assigned to the respective edges. Thus, the edge selection algorithm can determine the sequence of edges that will result in the SDC being at the "best" of a number of nodes associated with the same location. In other words, building a velocity profile in this way can allow the SDC to be at a given position along the path at the "correct" time, and also at the "correct" speed to ensure the existence of a collision-free solution.

[00018] В первом широком аспекте настоящей технологии предоставляется способ управления беспилотным автомобилем (SDC) на местности. Движущийся объект находится в окружении SDC. SDC управляется электронным устройством. Упомянутый способ может исполняться электронным устройством. Способ включает в себя в данный момент времени во время работы SDC, генерирование посредством электронного устройства пути для SDC на местности, где этот путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC. Способ включает в себя в заданный момент времени во время работы SDC генерирование посредством электронного устройства указаний запланированных скоростей для SDC при следовании по последовательности потенциальных положений. Генерирование указаний включает в себя генерирование посредством электронного устройства структуры графа, имеющей узлы и ребра. Данный узел представляет первое потенциальное состояние SDC на местности, а первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость SDC в первый потенциальный будущий момент времени. Данное ребро соединяет данный узел с предыдущим узлом в структуре графа и представляет соответствующий потенциальный переход от предыдущего потенциального состояния к первому потенциальному состоянию. Генерирование указаний включает в себя генерирование посредством электронного устройства оценки времени для данного узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в первом потенциальном состоянии и объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Генерирование указаний включает в себя генерирование посредством электронного устройства стоимости для данного ребра с использованием оценки времени данного узла, где стоимость указывает на безопасность соответствующего потенциального перехода. Генерирование указаний включает в себя определение посредством электронного устройства последовательности ребер с использованием стоимости данного ребра, последовательности ребер, имеющих допустимую общую стоимость ребер. Генерирование указаний включает в себя генерирование посредством электронного устройства указаний запланированных скоростей с использованием потенциальных состояний узлов, соединенных последовательностью ребер. Способ включает в себя в данный момент времени во время работы SDC побуждение посредством электронного устройства управления SDC вдоль пути в соответствии с запланированными скоростями.[00018] In a first broad aspect of the present technology, a method for controlling an unmanned vehicle (SDC) on the ground is provided. The moving object is in the SDC environment. The SDC is controlled by an electronic device. Said method may be executed by an electronic device. The method includes, at a given time during operation of the SDC, electronically generating a path for the SDC on the ground, where the path includes a sequence of potential positions on the ground to be followed by the SDC. The method includes, at a predetermined point in time during operation of the SDC, electronically generating indications of planned speeds for the SDC while following a sequence of potential positions. The generation of indications includes the generation by an electronic device of a graph structure having nodes and edges. This node represents the first potential state of the SDC on the ground, and the first potential state indicates the first potential position and the first potential speed of the SDC at the first potential future time. This edge connects this node to the previous node in the graph structure and represents the corresponding potential transition from the previous potential state to the first potential state. The generation of indications includes generating by the electronic device a time estimate for a given node indicating the amount of time the electronic device has before initiating an emergency maneuver to avoid collision with a moving object if the SDC is in a first potential state and the object performs a predetermined unexpected maneuver in the first potential future point in time. The generation of indications includes electronically generating a cost for a given edge using a given node's time estimate, where the cost indicates the safety of the corresponding potential transition. The generation of indications includes determining, by means of the electronic device, a sequence of ribs using the cost of a given rib, a sequence of ribs having a valid total rib cost. The generation of indications includes the generation by the electronic device of indications of planned speeds using potential states of nodes connected by a series of edges. The method includes, at a given point in time during operation of the SDC, driving the SDC electronically along the track in accordance with the planned speeds.

[00019] В некоторых вариантах осуществления способа генерирование оценки времени включает в себя: генерирование посредством электронного устройства экстренной траектории SDC, если SDC выполняет экстренный маневр, когда SDC находится в первом потенциальном состоянии; генерирование посредством электронного устройства неожиданной траектории объекта, если объект выполняет заранее определенный неожиданный маневр, когда объект находится в третьем потенциальном состоянии в первый потенциальный будущий момент времени; проецирование посредством электронного устройства момента времени и конечного положения неожиданной траектории объекта на момент времени и конечное положение экстренной траектории SDC для определения расстояния между SDC и объектом после завершения экстренного маневра и заранее определенного неожиданного маневра; и генерирование посредством электронного устройства оценки времени на основе оценки расстояния и первой потенциальной скорости первого потенциального состояния SDC.[00019] In some embodiments of the method, generating a time estimate includes: electronically generating an SDC emergency trajectory if the SDC performs an emergency maneuver while the SDC is in a first potential state; generating, by means of the electronic device, an unexpected trajectory of the object if the object performs a predetermined unexpected maneuver when the object is in a third potential state at a first potential future time; projecting by the electronic device a time point and an end position of the unexpected object trajectory to the time point and end position of the SDC emergency trajectory to determine the distance between the SDC and the object after completion of the emergency maneuver and the predetermined unexpected maneuver; and generating, by the electronic device, a time estimate based on the distance estimate and the first potential speed of the first potential SDC state.

[00020] В некоторых вариантах осуществления способа способ дополнительно включает в себя: генерирование посредством электронного устройства множества прогнозируемых траекторий для объекта на местности; определение посредством электронного устройства наиболее вероятной прогнозируемой траектории среди множества прогнозируемых траекторий; и выбор посредством электронного устройства третьего потенциального состояния объекта как потенциального состояния объекта в первый потенциальный будущий момент времени в соответствии с наиболее вероятной прогнозируемой траекторией.[00020] In some embodiments of the method, the method further includes: electronically generating a plurality of predicted trajectories for an object on the ground; determining by the electronic device the most likely predicted trajectory among the plurality of predicted trajectories; and selecting by the electronic device the third potential state of the object as the potential state of the object at the first potential future point in time in accordance with the most likely predicted trajectory.

[00021] В некоторых вариантах осуществления способа движущийся объект содержит первый движущийся объект, а второй движущийся объект находится в окружении SDC, и оценка времени является первой оценкой времени, связанной с первым объектом. Генерирование указаний дополнительно включает в себя генерирование посредством электронного устройства второй оценки времени для данного узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения со вторым объектом, если SDC находится в первом потенциальном состоянии, а второй движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Генерирование стоимости включает в себя генерирование посредством электронного устройства стоимости для данного ребра с использованием первой оценки времени и второй оценки времени данного узла.[00021] In some embodiments of the method, the moving object comprises the first moving object, and the second moving object is in the SDC environment, and the time estimate is the first time estimate associated with the first object. Generating the indications further includes generating, by the electronic device, a second time estimate for a given node indicating the amount of time the electronic device has before initiating an emergency maneuver to avoid collision with the second object if the SDC is in the first potential state and the second moving object is performing in advance a certain unexpected maneuver at the first potential future point in time. Cost generation includes electronically generating a cost for a given edge using a first time estimate and a second time estimate of a given node.

[00022] В некоторых вариантах осуществления способа генерирование стоимости для данного ребра с использованием первой оценки времени и второй оценки времени включает в себя вычисление посредством электронного устройства взвешенной суммы первой оценки времени и второй оценки времени.[00022] In some method embodiments, generating a cost for a given edge using a first time estimate and a second time estimate includes electronically calculating a weighted sum of the first time estimate and the second time estimate.

[00023] В некоторых вариантах осуществления способа стоимость генерируется в ответ на то, что оценка времени ниже заранее определенного порога.[00023] In some embodiments of the method, a cost is generated in response to a time estimate being below a predetermined threshold.

[00024] В некоторых вариантах осуществления способа стоимость пропорциональна квадрату разности между заранее определенным порогом и оценкой времени.[00024] In some embodiments of the method, the cost is proportional to the square of the difference between the predetermined threshold and the time estimate.

[00025] В некоторых вариантах осуществления способа соответствующий потенциальный переход представляет собой переход от предыдущего потенциального состояния к первому потенциальному состоянию при постоянном ускорении.[00025] In some embodiments of the method, the corresponding potential transition is a transition from a previous potential state to a first potential state at constant acceleration.

[00026] В некоторых вариантах осуществления способа генерирование пути включает в себя генерирование посредством электронного устройства другой структуры графы для местности на основе геометрии местности. Другая структура графа имеет другие узлы и другие ребра, где данный другой узел представляет соответствующее потенциальное положение SDC на местности, а данное другое ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений. Генерирование пути включает в себя определение посредством электронного устройства последовательности потенциальных положений из другой структуры графа.[00026] In some embodiments of the method, generating the path includes electronically generating another graph structure for the terrain based on the geometry of the terrain. Another graph structure has other nodes and other edges, where this other node represents the corresponding potential location of the SDC on the ground, and this other edge represents the corresponding potential transition between the corresponding pair of potential positions. Path generation involves electronically determining a sequence of potential positions from another graph structure.

[00027] В некоторых вариантах осуществления способа способ дополнительно включает в себя в другой заданный момент времени во время работы SDC после заданного момента времени: генерирование посредством электронного устройства другого пути для SDC на местности, причем путь включает в себя другую последовательность потенциальных положений на местности, по которой должно следовать SDC; генерирование посредством электронного устройства другой структуры графа, имеющей другие узлы и другие ребра, генерирование посредством электронного устройства другой оценки времени для данного другого узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии заданного другого узла, и объект выполняет заранее определенный неожиданный маневр в соответствующий потенциальный момент времени; выбор посредством электронного устройства другой последовательности ребер в структуре графа на основе другой оценки времени другого заданного узла; генерирование посредством электронного устройства указаний других запланированных скоростей для SDC при следовании по другой последовательности потенциальных положений на основе другой последовательности ребер; и побуждение посредством электронного устройства управления SDC вдоль пути в соответствии с другими запланированными скоростями.[00027] In some embodiments of the method, the method further includes, at another predetermined point in time during operation of the SDC after the predetermined point in time: electronically generating a different path for the SDC on the ground, wherein the path includes a different sequence of potential positions on the ground, which the SDC must follow; generating by the electronic device a different graph structure having different nodes and different edges, generating by the electronic device a different time estimate for that other node indicating the amount of time the electronic device has before initiating an emergency maneuver to avoid a collision with a moving object if the SDC is in the corresponding potential state of a given other node, and the object performs a predetermined unexpected maneuver at the corresponding potential time; selecting by the electronic device a different sequence of edges in the graph structure based on a different time estimate of another given node; electronically generating indications of other planned speeds for the SDC while following a different sequence of potential positions based on a different sequence of fins; and prompting by the electronic control device SDC along the path in accordance with other planned speeds.

[00028] В некоторых вариантах осуществления способа местность представляет собой участок дороги с полосой движения, и SDC следует за движущимся объектом в полосе движения, а заранее определенный неожиданный маневр движущегося объекта представляет собой маневр быстрого торможения, и экстренный маневр SDC представляет собой маневр быстрого торможения.[00028] In some embodiments of the method, the terrain is a section of road with a lane, and the SDC follows the moving object in the lane, and the predetermined unexpected maneuver of the moving object is a quick braking maneuver, and the emergency SDC maneuver is a quick braking maneuver.

[00029] В некоторых вариантах осуществления способа местность представляет собой участок дороги, имеющий первую полосу движения и вторую полосу движения. SDC движется по первой полосе движения. Объект движется по второй полосе движения. Заранее определенный неожиданный маневр движущегося объекта представляет собой маневр с изменением полосы движения на первую полосу движения, а экстренный маневр SDC представляет собой маневр быстрого торможения.[00029] In some embodiments of the method, the terrain is a section of road having a first lane and a second lane. SDC is moving in the first lane. The object is moving in the second lane. The predetermined unexpected maneuver of the moving object is a lane change maneuver to the first lane, and the emergency SDC maneuver is a quick braking maneuver.

[00030] Во втором широком аспекте настоящей технологии предоставляется электронное устройство для управления беспилотным автомобилем (SDC) на местности. Движущийся объект находится в окружении SDC. Электронное устройство сконфигурировано так, чтобы в заданный момент времени во время работы SDC генерировать путь для SDC на местности, где путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC. Электронное устройство сконфигурировано так, чтобы в данный момент времени во время работы SDC генерировать указания запланированных скоростей для SDC при следовании по последовательности потенциальных положений. Для генерирования указаний электронное устройство выполнено с возможностью генерирования структуры графа, имеющей узлы и ребра. Данный узел представляет первое потенциальное состояние SDC на местности, а первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость SDC в первый потенциальный будущий момент времени. Данное ребро соединяет данный узел с предыдущим узлом в структуре графа и представляет соответствующий потенциальный переход от предыдущего потенциального состояния к первому потенциальному состоянию. Для генерирования указаний электронное устройство выполнено с возможностью генерировать оценку времени для данного узла, указывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в первом потенциальном состоянии и объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Для генерирования указаний электронное устройство выполнено с возможностью генерирования стоимости для данного ребра с использованием оценки времени данного узла, где стоимость указывает на безопасность соответствующего потенциального перехода. Для генерирования указаний электронное устройство выполнено с возможностью определения последовательности ребер с использованием стоимости данного ребра, где последовательность ребер имеет допустимую общую стоимость ребер. Для генерирования указаний электронное устройство выполнено с возможностью генерирования указаний запланированных скоростей с использованием потенциальных состояний узлов, соединенных последовательностью ребер. Электронное устройство сконфигурировано так, чтобы в данный момент времени во время работы SDC предписывать работу SDC вдоль пути в соответствии с запланированными скоростями.[00030] In a second broad aspect of the present technology, an electronic device is provided for controlling an unmanned vehicle (SDC) on the ground. The moving object is in the SDC environment. The electronic device is configured to, at a given point in time during operation of the SDC, generate a path for the SDC on the ground, where the path includes a sequence of potential positions on the ground to be followed by the SDC. The electronic device is configured to generate indications of planned speeds for the SDC at a given point in time during operation of the SDC while following the sequence of potential positions. To generate indications, the electronic device is configured to generate a graph structure having nodes and edges. This node represents the first potential state of the SDC on the ground, and the first potential state indicates the first potential position and the first potential speed of the SDC at the first potential future time. This edge connects this node to the previous node in the graph structure and represents the corresponding potential transition from the previous potential state to the first potential state. To generate indications, the electronic device is configured to generate a time estimate for a given node indicating the amount of time that the electronic device has before initiating an emergency maneuver to avoid a collision with a moving object if the SDC is in the first potential state and the object performs a predetermined unexpected maneuver in the first potential future point in time. To generate indications, the electronic device is configured to generate a cost for a given edge using a given node's time estimate, where the cost indicates the safety of the corresponding potential transition. To generate indications, the electronic device is configured to determine a sequence of ribs using the cost of a given rib, where the sequence of ribs has a valid total cost of ribs. To generate indications, the electronic device is configured to generate indications of planned speeds using potential states of nodes connected by a sequence of edges. The electronic device is configured to, at a given time during SDC operation, instruct the SDC to operate along the path in accordance with the planned speeds.

[00031] В некоторых вариантах осуществления электронного устройства для генерирования оценки времени электронное устройство выполнено с возможностью: генерировать экстренную траекторию SDC, если SDC выполняет экстренный маневр, когда SDC находится в первом потенциальном состоянии; генерировать неожиданную траекторию объекта, если объект выполняет заранее определенный неожиданный маневр, когда объект находится в третьем потенциальном состоянии в первый потенциальный будущий момент времени; проецировать момент времени и конечное положение неожиданной траектории объекта на момент времени и конечное положение экстренной траектории SDC для определения расстояния между SDC и объектом после завершения экстренного маневра и заранее определенного неожиданного маневра; и генерировать оценку времени на основе оценки расстояния и первой потенциальной скорости первого потенциального состояния SDC.[00031] In some embodiments of an electronic device for generating a time estimate, the electronic device is configured to: generate an emergency SDC trajectory if the SDC performs an emergency maneuver when the SDC is in a first potential state; generate an unexpected trajectory of the object if the object performs a predetermined unexpected maneuver when the object is in the third potential state at the first potential future time; projecting a point in time and an end position of the unexpected object trajectory to a point in time and an end position of the SDC emergency trajectory to determine the distance between the SDC and the object after completing the emergency maneuver and the predetermined unexpected maneuver; and generate a time estimate based on the distance estimate and the first potential velocity of the first SDC potential state.

[00032] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно выполнено с возможностью: генерировать множество прогнозируемых траекторий для объекта на местности; определять наиболее вероятную прогнозируемую траекторию среди множества прогнозируемых траекторий; и выбирать третье потенциальное состояние объекта как потенциальное состояние объекта в первый потенциальный будущий момент времени в соответствии с наиболее вероятной прогнозируемой траекторией.[00032] In some embodiments of the electronic device, the electronic device is further configured to: generate a plurality of predicted trajectories for an object on the ground; determine the most likely predicted trajectory among the plurality of predicted trajectories; and selecting the third potential state of the object as the potential state of the object at the first potential future point in time according to the most likely predicted trajectory.

[00033] В некоторых вариантах осуществления электронного устройства движущийся объект содержит первый движущийся объект, а второй движущийся объект находится в окружении SDC, где оценка времени является первой оценкой времени, связанной с первым объектом, и для генерирования указаний электронное устройство дополнительно выполнено с возможностью: генерирования второй оценки времени для данного узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения со вторым объектом, если SDC находится в первом потенциальном состоянии, а второй движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Для генерирования стоимости электронное устройство выполнено с возможностью генерировать стоимость для данного ребра с использованием первой оценки времени и второй оценки времени данного узла.[00033] In some embodiments of the electronic device, the moving object comprises a first moving object, and the second moving object is in an SDC environment, where the time estimate is the first time estimate associated with the first object, and in order to generate indications, the electronic device is further configured to: generate a second time estimate for a given node indicating the amount of time the electronic device has before triggering an emergency maneuver to avoid collision with the second object if the SDC is in the first potential state and the second moving object performs a predetermined unexpected maneuver at the first potential future time. To generate the cost, the electronic device is configured to generate a cost for a given edge using the first time estimate and the second time estimate of the given node.

[00034] В некоторых вариантах осуществления электронного устройства, чтобы генерировать стоимость для данного ребра с использованием первой оценки времени и второй оценки времени, электронное устройство выполнено с возможностью вычисления взвешенной суммы первой оценки времени и второй оценки времени.[00034] In some embodiments of the electronic device, in order to generate a cost for a given edge using the first time estimate and the second time estimate, the electronic device is configured to calculate a weighted sum of the first time estimate and the second time estimate.

[00035] В некоторых вариантах осуществления электронного устройства стоимость генерируется в ответ на то, что оценка времени ниже заранее определенного порога.[00035] In some embodiments of an electronic device, a cost is generated in response to a time estimate being below a predetermined threshold.

[00036] В некоторых вариантах осуществления электронного устройства стоимость пропорциональна квадрату разности между заранее определенным порогом и оценкой времени.[00036] In some embodiments of an electronic device, the cost is proportional to the square of the difference between a predetermined threshold and a time estimate.

[00037] В некоторых вариантах осуществления электронного устройства соответствующий потенциальный переход представляет собой переход от предыдущего потенциального состояния к первому потенциальному состоянию при постоянном ускорении.[00037] In some embodiments of the electronic device, the corresponding potential transition is a transition from a previous potential state to a first potential state at constant acceleration.

[00038] В некоторых вариантах осуществления электронного устройства для генерирования пути электронное устройство выполнено с возможностью: генерировать другую структуру графа для местности на основе геометрии местности. Другая структура графа имеет другие узлы и другие ребра, и данный другой узел представляет соответствующее потенциальное положение SDC на местности, а данное другое ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений. Для генерирования пути электронное устройство выполнено с возможностью определения последовательности потенциальных положений из другой структуры графа.[00038] In some embodiments of the path generating electronic device, the electronic device is configured to: generate a different graph structure for the terrain based on the geometry of the terrain. Another graph structure has other nodes and other edges, and this other node represents the corresponding potential location of the SDC on the ground, and this other edge represents the corresponding potential transition between the corresponding pair of potential positions. To generate the path, the electronic device is configured to determine a sequence of potential positions from another graph structure.

[00039] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно сконфигурировано для того, чтобы в другой заданный момент времени во время работы SDC после заданного момента времени: генерировать другой путь для SDC на местности, причем путь включает в себя другую последовательность потенциальных положений на местности, по которым должен следовать SDC; генерировать другую структуру графа, имеющую другие узлы и другие ребра, генерировать другую оценку времени для данного другого узла, показывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии данного другого узла и объект выполняет заранее определенный неожиданный маневр в соответствующий потенциальный момент времени; выбрать другую последовательность ребер в структуре графа на основе другой оценки времени другого заданного узла; генерировать указания других запланированных скоростей для SDC при следовании по другой последовательности потенциальных положений на основе другой последовательности ребер; и предписывать работу SDC вдоль пути в соответствии с другими запланированными скоростями.[00039] In some embodiments of the electronic device, the electronic device is further configured to, at a different predetermined point in time during SDC operation after a predetermined point in time: generate a different path for the SDC on the ground, wherein the path includes a different sequence of potential ground positions , which the SDC should follow; generate a different graph structure having different nodes and different edges, generate a different time estimate for this other node, indicating the amount of time the electronic device has before triggering an emergency maneuver to avoid a collision with a moving object, if the SDC is in the corresponding potential state of this other node and the object performs a predetermined unexpected maneuver at the appropriate potential time; select a different sequence of edges in the graph structure based on a different time estimate of another given node; generate indications of other planned speeds for the SDC while following a different sequence of potential positions based on a different sequence of edges; and instruct the SDC to operate along the path in accordance with other planned speeds.

[00040] В некоторых вариантах осуществления электронного устройства местность представляет собой участок дороги, имеющий полосу движения, и SDC следует за движущимся объектом в полосе движения, где заранее определенный неожиданный маневр движущегося объекта представляет собой маневр быстрого торможения и экстренный маневр SDC представляет собой маневр быстрого торможения.[00040] In some embodiments of the electronic device, the terrain is a section of road having a lane, and the SDC follows a moving object in a lane where the predetermined unexpected maneuver of the moving object is a quick braking maneuver and the emergency SDC maneuver is a quick braking maneuver .

[00041] В некоторых вариантах осуществления электронного устройства местность представляет собой участок дороги, имеющий первую полосу движения и вторую полосу движения, и SDC движется по первой полосе движения, а объект движется по второй полосе движения, и заранее определенный неожиданный маневр движущегося объекта представляет собой маневр с изменением полосы движения на первую полосу движения, а экстренный маневр SDC представляет собой маневр быстрого торможения.[00041] In some embodiments of the electronic device, the terrain is a section of road having a first lane and a second lane, and the SDC is moving in the first lane and the object is moving in the second lane, and the predetermined unexpected maneuver of the moving object is the maneuver with a lane change to the first lane, and the SDC emergency maneuver is a quick braking maneuver.

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

[00043] В контексте настоящего описания «интересующая область» может в широком смысле включать в себя часть наблюдаемой среды системы лидара, в которой один или несколько объектов могут быть обнаружены. Следует отметить, что на интересующую область системы лидара могут влиять различные условия, такие как, но не ограничиваясь ими: ориентация системы лидара (например, направление оптической оси системы лидара); положение системы лидара по отношению к окружающей среде (например, расстояние над землей и прилегающий рельеф местности и препятствия); рабочие параметры системы лидара (например, мощность излучения, вычислительные настройки, заданные углы работы) и т.д. ROI системы лидара может быть определен, например, плоским углом или телесным углом. В одном примере ROI также может быть определена в пределах определенного диапазона расстояний (например, до 200 м или около того).[00043] 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 area 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).

[00044] В контексте настоящего описания «сервер» - это компьютерная программа, которая выполняется на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В данном контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принятые инструкции или запросы) или любая конкретная задача была принята, выполнена или вызвана к выполнению одним и тем же сервером (то есть тем же программным и/или аппаратным обеспечением); это означает, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или обеспечение выполнения любой задачи или запроса или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба случая из которых включены в выражение «по меньшей мере один сервер».[00044] 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".

[00045] В контексте настоящего описания «электронное устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.[00045] As used herein, an "electronic 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 "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.

[00046] В контексте настоящего описания «клиентское устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «клиентское устройство» обычно ассоциируется с пользователем клиентского устройства. Таким образом, некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему как клиентское устройство в данном контексте, не запрещается действовать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.[00046] 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.

[00047] В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая может быть сохранена в базе данных. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.[00047] 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.

[00048] В контексте настоящего описания выражение «программный компонент» подразумевает включение программного обеспечения (подходящего для конкретного аппаратного контекста), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.[00048] 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.

[00049] В контексте настоящего описания выражение «компьютерный носитель информации» (также называемый «носитель информации») предназначен для включения носителей любого характера и типа, включая, без ограничения, RAM, ROM, диски (CD-ROM), DVD, дискеты, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования компьютерных носителей информации, включая два или более компонентов носителей одного типа и/или два или более компонентов носителей разных типов.[00049] 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, disks (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.

[00050] В контексте настоящего описания «база данных» представляет собой любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного оборудования, на котором данные хранятся, реализуются или иным образом предоставляются для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например на выделенном сервере или множестве серверов.[00050] 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.

[00051] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют относительно друг от друга, а не для цели описания каких-либо конкретных отношений между этими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами и их использование (само по себе) не подразумевает, что любой «второй сервер» обязательно должен существовать в любой данной ситуации. Кроме того, как обсуждается здесь в других контекстах, ссылка на «первый» элемент и «второй» элемент не препятствует тому, чтобы эти два элемента были одним и тем же фактическим элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут быть одним и тем же программным и/или аппаратным компонентами, в других случаях они могут быть разными программными и/или аппаратными компонентами.[00051] In the context of the present 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.

[00052] Каждая из реализаций настоящей технологии имеет по меньшей мере один из вышеупомянутых объектов и/или аспектов, но не обязательно имеет все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.[00052] 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.

[00053] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.[00053] 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

[00054] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:[00054] 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:

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

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

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

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

[00059] Фиг. 5 изображает представление структуры графа скорости, сгенерированной для транспортного средства по фиг. 3, в соответствии с некоторыми вариантами осуществления настоящей технологии.[00059] FIG. 5 is a representation of the speed graph structure generated for the vehicle of FIG. 3 in accordance with some embodiments of the present technology.

[00060] Фиг.6 изображает представление последовательностей ребер, определенных из структуры графа скорости по Фиг.5, в соответствии с некоторыми вариантами осуществления настоящей технологии.[00060] FIG. 6 depicts a representation of edge sequences determined from the rate graph structure of FIG. 5, in accordance with some embodiments of the present technology.

[00061] Фиг.7 изображает представление потенциальных будущих состояний транспортного средства и объекта по фиг.3 в соответствии с некоторыми вариантами осуществления настоящей технологии.[00061] FIG. 7 depicts a representation of potential future states of the vehicle and object of FIG. 3, in accordance with some embodiments of the present technology.

[00062] Фиг. 8 изображает представление потенциальных будущих состояний транспортного средства и объекта в другом сценарии в соответствии с некоторыми вариантами осуществления настоящей технологии.[00062] FIG. 8 depicts a representation of potential future states of a vehicle and an object in another scenario, in accordance with some embodiments of the present technology.

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

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

[00064] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.[00064] 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.

[00065] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.[00065] 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.

[00066] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия пониманию и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.[00066] In some cases, examples of modifications to the present technology that are considered useful may also be set forth. This is 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.

[00067] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.[00067] 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.

[00068] Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.[00068] The functions of the various elements shown in the figures, including any functional unit labeled "processor", can be provided through the use of specialized hardware, as well as hardware capable of executing software in combination 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.

[00069] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.[00069] 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.

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

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

[00071] Ссылаясь сначала на фиг.1, на ней изображена принципиальная схема компьютерной системы 100, подходящей для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 включает в себя различные аппаратные компоненты, включая один или несколько одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельным накопителем 120 и памятью 130, которая может быть оперативной памятью или любым другим типом памяти.[00071] 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.

[00072] Связь между различными компонентами компьютерной системы 100 может быть обеспечена одной или несколькими внутренними и/или внешними шинами (не показаны) (например, шиной PCI, универсальной последовательной шиной, шиной Firewire IEEE 1394, шиной SCSI, шиной Serial-ATA и т.д.), с которыми различные аппаратные компоненты электронно связаны. Согласно вариантам осуществления настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в память 130 и выполнения процессором 110 для определения присутствия объекта. Например, программные инструкции могут быть частью приложения управления транспортным средством, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может иметь дополнительные и/или опциональные компоненты (не показаны), такие как модули сетевой связи, модули локализации и т.п.[00072] 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.

Сетевая вычислительная средаNetworked Computing Environment

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сценарий 1Scenario 1

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

[00090] Следует отметить, что транспортное средство 220, работающее на участке 350 дороги и поблизости от объекта 310, является только одним неограничивающим примером настоящей технологии. В другом примере транспортное средство 220 может работать на другом участке и вблизи движущегося объекта 310. В этом другом примере транспортное средство 220 и движущийся объект 310 могут двигаться по соответствующим полосам движения, которые вот-вот сойдутся. В некоторых вариантах осуществления настоящей технологии транспортное средство 220 может работать на местности, которая отличается от участка дороги, такого как, например, участок тротуара и/или участок бездорожья. В контексте настоящей технологии электронное устройство 210 выполнено с возможностью выполнения планирования движения транспортного средства 220 на участке 350 дороги. Как станет очевидно из приведенного ниже описания, планирование движения транспортного средства 220 может выполняться посредством двухэтапного процесса, то есть этапа планирования пути и этапа планирования скорости.[00090] It should be noted that vehicle 220 operating on road section 350 and in the vicinity of object 310 is only one non-limiting example of the present technology. In another example, vehicle 220 may be operating in a different area and near moving object 310. In this other example, vehicle 220 and moving object 310 may be moving in respective lanes that are about to converge. In some embodiments of the present technology, the vehicle 220 may operate on terrain other than a road section, such as, for example, a sidewalk section and/or an off-road section. In the context of the present technology, the electronic device 210 is configured to perform traffic planning for the vehicle 220 on the road section 350 . As will become apparent from the description below, vehicle 220 motion planning may be performed through a two-step process, ie, a path planning step and a speed planning step.

[00091] Электронное устройство 210 выполнено с возможностью генерировать в данный момент времени «дорожный граф» для участка 350 дороги для управления транспортным средством 220. Чтобы лучше проиллюстрировать это, теперь обратимся к Фиг.4, где в данный момент времени электронное устройство 210 выполнено с возможностью генерирования дорожного графа 420 для участка 350 дороги. Дорожный граф 420 имеет множество узлов (не пронумерованных) и множество ребер (не пронумерованных), соединяющих соответствующие узлы из множества узлов. Например, ребро 450 дорожного графа 420 соединяет первый узел 451 и второй узел 452. Данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги. Данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Например, ребро 450 представляет переход транспортного средства 220 между его потенциальными положениями первого узла 451 и второго узла 452. Следует отметить, что размер и форма дорожного графа 420 могут зависеть, среди прочего, от размера и формы участка 350 дороги, а также от других геометрических характеристик участка 350 дороги и/или окружения 250.[00091] The electronic device 210 is configured to generate at a given time a "road graph" for the section 350 of the road to control the vehicle 220. To better illustrate this, we now turn to Fig.4, where at a given time the electronic device 210 is made with the ability to generate a road graph 420 for a section 350 of the road. The road graph 420 has a plurality of nodes (not numbered) and a plurality of edges (not numbered) connecting respective nodes from the plurality of nodes. For example, an edge 450 of the road graph 420 connects the first node 451 and the second node 452. This node is associated with the respective potential position of the vehicle 220 on the section 350 of the road. This edge represents the transition of the vehicle 220 between the potential positions of the corresponding pair of nodes. For example, edge 450 represents the transition of vehicle 220 between its potential positions of first node 451 and second node 452. It should be noted that the size and shape of the road graph 420 may depend on, among other things, the size and shape of the road section 350, as well as other geometries. characteristics of road section 350 and/or environment 250.

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

[00093] Предполагается, что дополнительные данные к данным, не исчерпывающе упомянутым выше, могут храниться в ассоциации с соответствующим узлом и/или ребром дорожного графа 420. Например, во время генерирования дорожного графа 420 электронное устройство 210 может быть выполнено с возможностью генерировать атрибуты для соответствующих узлов и/или ребер дорожного графа 420 и сохранять эти атрибуты вместе с соответствующими узлами и/или ребрами. Тип атрибутов, которые могут храниться в связанных с соответствующими узлами и/или ребрами, особо не ограничивается. Следует отметить, что электронное устройство 210 может использовать эти атрибуты при оценке последовательностей узлов и/или ребер в дорожном графе 420.[00093] It is contemplated that additional data to data not exhaustively mentioned above may be stored in association with a corresponding node and/or edge of road graph 420. For example, during road graph 420 generation, electronic device 210 may be configured to generate attributes for corresponding nodes and/or edges of the road graph 420 and store these attributes along with the corresponding nodes and/or edges. The type of attributes that can be stored in associated with the respective nodes and/or edges is not particularly limited. It should be noted that electronic device 210 may use these attributes when evaluating sequences of nodes and/or edges in road graph 420.

[00094] Назначение дорожного графика 420 (и анализ содержащихся в нем данных) состоит в том, чтобы создать «путь», по которому транспортное средство 220 должно следовать на участке 350 дороги. Вообще говоря, данный путь для данного участка дороги представлен соответствующей последовательностью узлов/ребер соответствующего дорожного графа и содержит информацию о последовательности положений, иногда называемых «станциями», на данном участке дороги, по которому транспортное средство 220 потенциально может следовать во время работы.[00094] The purpose of the road schedule 420 (and the analysis of the data contained therein) is to create a "path" that the vehicle 220 must follow on the section 350 of the road. Generally speaking, a given path for a given road section is represented by a corresponding sequence of nodes/edges of the corresponding road graph and contains information about a sequence of positions, sometimes referred to as "stations", on a given road section that the vehicle 220 could potentially follow during operation.

[00095] В некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерирования множества потенциальных путей на основе дорожного графа 420 и выполнения процесса оценки пути для выбора целевого пути (среди множества потенциальных путей), по которому должно следовать транспортное средство 220. В одном неограничивающем примере во время процесса оценки пути электронное устройство 210 может быть выполнено с возможностью применения «критериев стоимости» к атрибутам узлов и/или ребер. Электронное устройство 210 может также определять «общую стоимость» для различных последовательностей ребер, соответствующих соответствующим потенциальным путям. Электронное устройство 210 может также ранжировать соответствующие потенциальные пути на основе того, какую стоимость имеют соответствующие последовательности ребер.[00095] In some embodiments, the electronic device 210 may be configured to generate a plurality of potential paths based on the road graph 420 and perform a path evaluation process to select a target path (among the plurality of potential paths) that the vehicle 220 should follow. In one In a non-limiting example, during the path estimation process, electronic device 210 may be configured to apply "cost criteria" to attributes of nodes and/or edges. The electronic device 210 may also determine the "total cost" for the various sequences of edges corresponding to the respective candidate paths. The electronic device 210 may also rank the respective candidate paths based on how much the respective edge sequences cost.

[00096] Возвращаясь к описанию фиг. 4, предположим, что электронное устройство 210 генерирует путь 480, по которому транспортное средство 220 должно следовать на участке 350 дороги. Путь 480 соответствует соответствующей последовательности узлов/ребер из дорожного графа 420. Таким образом, можно сказать, что путь 480 включает в себя последовательность потенциальных положений на участке 350 дороги, по которым должно следовать транспортное средство 220. Например, последовательность потенциальных положений включает в себя потенциальные положения, связанные с первым узлом 451, вторым узлом 452 и другими узлами (не пронумерованы) пути 480.[00096] Returning to the description of FIG. 4, suppose that the electronic device 210 generates a path 480 that the vehicle 220 is to follow on the road section 350. Path 480 corresponds to a corresponding sequence of nodes/edges from road graph 420. Thus, path 480 can be said to include a sequence of potential positions on road segment 350 that vehicle 220 is to follow. For example, a sequence of potential positions includes potential positions associated with the first node 451, the second node 452, and other nodes (not numbered) of the path 480.

[00097] Как упомянуто выше, последовательность потенциальных положений, соответствующих пути 480, иногда называют станциями, по которым транспортное средство 220 должно двигаться на участке 350 дороги. Электронное устройство 210 выполнено с возможностью использования пути 480 для управления транспортным средством 220 на участке 350 дороги в данный момент времени. Более конкретно, электронное устройство 210 выполнено с возможностью генерировать данные о траектории для транспортного средства 220, чтобы фактически следовать по положениям (станциям) на участке 350 дороги, соответствующем пути 480.[00097] As mentioned above, the sequence of potential positions corresponding to the path 480 is sometimes referred to as the stations where the vehicle 220 should move on the section 350 of the road. Electronic device 210 is configured to use path 480 to steer vehicle 220 on road section 350 at a given time. More specifically, the electronic device 210 is configured to generate trajectory data for the vehicle 220 to actually follow the positions (stations) on the road section 350 corresponding to the path 480.

[00098] В качестве части данных о траектории, электронное устройство 210 выполнено с возможностью построения «профиля скорости» для транспортного средства 220 при следовании по пути 480 на участке 350 дороги. Вообще говоря, профиль скорости содержит указания запланированных скоростей для транспортного средства 220 при следовании по последовательности потенциальных положений, соответствующих пути 480. Целью построения профиля скорости является планирование в данный момент времени будущих скоростей, с которыми транспортное средство 220 должно работать, следуя по последовательности потенциальных положений пути 480 (станции на участке 350 дороги).[00098] As part of the trajectory data, electronic device 210 is configured to construct a "speed profile" for vehicle 220 as it follows path 480 on road section 350. Generally speaking, a speed profile contains indications of the planned speeds for vehicle 220 as it follows the sequence of potential positions corresponding to path 480. The purpose of building a speed profile is to plan, at a given time, the future speeds at which vehicle 220 should operate following the sequence of potential positions. track 480 (station on section 350 of the road).

[00099] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью выполнения в данный момент времени соответствующей итерации планирования, во время которой электронное устройство 210 использует информацию о заданном пути для генерирования данных траектории, включая профиль скорости, для транспортного средства 220. Электронное устройство 210 выполнено с возможностью использования сгенерированных таким образом данных о траектории для планирования автономной работы транспортного средства 220 на участке 350 дороги по этому пути до следующего момента времени (соответствующего следующему циклу планирования). Последующая итерация планирования может выполняться электронным устройством 210 в следующий момент времени аналогично тому, как электронное устройство 210 выполнено с возможностью выполнения соответствующей итерации планирования в данный момент времени, принимая во внимание новую и/или обновленную информацию об окружении 250 транспортного средства 220. Следует отметить, что как только транспортное средство 220 фактически эксплуатируется в соответствии с планом с использованием данных о траектории, дополнительное управление безопасностью может быть обеспечено с помощью вспомогательных систем безопасности транспортного средства 220. Например, как только транспортное средство 220 фактически управляется электронным устройством 210 на пути, как запланировано, с использованием данных о траектории, можно использовать одну или несколько систем обнаружения и предотвращения столкновений для дальнейшего снижения риска столкновений на участке 350 дороги. Тип систем обнаружения и предотвращения столкновений, которые могут использоваться, особо не ограничивается.[00099] In some embodiments of the present technology, electronic device 210 may be configured to currently perform an appropriate scheduling iteration during which electronic device 210 uses predetermined path information to generate trajectory data, including a speed profile, for vehicle 220 The electronic device 210 is configured to use the trajectory data thus generated to plan the autonomous operation of the vehicle 220 on the road section 350 along this path until the next point in time (corresponding to the next scheduling cycle). A subsequent scheduling iteration may be performed by electronic device 210 at the next point in time in a manner similar to how electronic device 210 is configured to perform a corresponding scheduling iteration at a given point in time, taking into account new and/or updated information about the environment 250 of vehicle 220. Note, that once vehicle 220 is actually operating as planned using trajectory data, additional safety control can be provided by vehicle 220's auxiliary safety systems. For example, once vehicle 220 is actually being controlled by electronic device 210 on track as planned , using the trajectory data, one or more collision detection and avoidance systems can be used to further reduce the risk of collisions on road section 350. The type of collision detection and avoidance systems that can be used is not particularly limited.

[000100] В некоторых вариантах осуществления настоящей технологии разработчики разработали способы и электронные устройства для генерирования профилей скорости для данного транспортного средства, чтобы снизить риск столкновения с движущимся объектом. В частности, разработчики настоящей технологии разработали способы и электронные устройства для планирования скоростей для работы транспортного средства 220 таким образом, чтобы, если транспортное средство 220 работает в соответствии с запланированными скоростями, транспортное средство 220 имело бы достаточно «времени реакции» на неожиданный маневр движущегося объекта 310, то есть транспортное средство 220, работающее в соответствии с запланированными скоростями, будет иметь время для запуска и выполнения экстренного маневра в ответ на неожиданный маневр движущегося объекта 310.[000100] In some embodiments of the present technology, developers have developed methods and electronics for generating speed profiles for a given vehicle in order to reduce the risk of collision with a moving object. In particular, the developers of the present technology have developed methods and electronic devices for planning speeds for the operation of the vehicle 220 so that if the vehicle 220 operates in accordance with the planned speeds, the vehicle 220 would have enough "reaction time" to an unexpected maneuver of a moving object. 310, that is, the vehicle 220 operating at the planned speeds will have time to start and perform an emergency maneuver in response to the unexpected maneuver of the moving object 310.

[000101] Разработчики настоящей технологии осознали, что планирование скоростей для транспортного средства 220, как раскрыто в данном документе, может снизить риск того, что транспортное средство 220 окажется в будущем состоянии на участке 250 дороги, что приведет к неизбежному столкновению. В отличие от систем обнаружения и предотвращения столкновений, которые выполнены с возможностью «обнаружения» и «реагирования» на риск столкновения, возможность «планировать» будущие скорости для транспортного средства 220, как раскрыто в данном документе для автономной работы транспортного средства 220, может предотвратить, чтобы транспортное средство 220 вообще оказалось в безвыходных ситуациях.[000101] The developers of the present technology have realized that scheduling vehicle 220 speeds as disclosed herein can reduce the risk of vehicle 220 being in a future state on road section 250 resulting in an unavoidable collision. Unlike collision detection and avoidance systems, which are capable of "detecting" and "responding" to the risk of a collision, the ability to "plan" future speeds for vehicle 220, as disclosed herein for autonomous operation of vehicle 220, can prevent, so that the vehicle 220 generally finds itself in hopeless situations.

[000102] Разработчики настоящей технологии осознали, что планирование работы транспортного средства 220 таким образом, чтобы транспортное средство 220 сохраняло заранее определенное безопасное расстояние (на разных скоростях) от транспортного средства 220, недостаточно для предотвращения попадания транспортного средства 220 в безвыходные ситуации. Это связано с тем, что тормозной путь транспортного средства 220 изменяется в зависимости от текущей скорости транспортного средства 220, когда транспортное средство 220 инициирует экстренный маневр, такой как маневр быстрого торможения. Не желая быть привязанными к какой-либо конкретной теории, разработчики изобрели электронное устройство, которое планирует скорость транспортного средства 220 таким образом, который позволяет выдерживать более длинные безопасные расстояния при сравнительно более высоких скоростях, чем на сравнительно более низких скоростях.[000102] The developers of the present technology have realized that scheduling vehicle 220 so that vehicle 220 maintains a predetermined safety distance (at different speeds) from vehicle 220 is not sufficient to prevent vehicle 220 from getting into deadlock. This is because the braking distance of the vehicle 220 changes depending on the current speed of the vehicle 220 when the vehicle 220 initiates an emergency maneuver, such as a quick braking maneuver. Without wishing to be bound by any particular theory, developers have devised an electronic device that plans the speed of vehicle 220 in a way that allows longer safety distances to be maintained at relatively higher speeds than at relatively slower speeds.

[000103] В контексте настоящей технологии электронное устройство 210 выполнено с возможностью генерировать «граф скорости» (иногда называемый «структурой графа скорости»). Этот граф скорости может использоваться для генерирования указаний запланированных скоростей профиля скорости, в соответствии с которым транспортное средство 220 должно работать на участке 350 дороги, следуя по маршруту 480.[000103] In the context of the present technology, the electronic device 210 is configured to generate a "rate graph" (sometimes referred to as a "rate graph structure"). This speed graph can be used to generate indications of the planned speeds of the speed profile that vehicle 220 should operate on road section 350 following route 480.

[000104] Чтобы лучше проиллюстрировать это, обратимся теперь к фиг.5, где в данный момент времени электронное устройство 210 выполнено с возможностью генерирования графа 500 скорости для пути 480. Граф 500 скорости содержит узлы и ребра. Данный узел представляет соответствующее потенциальное состояние транспортного средства 220 на участке 350 дороги, и где соответствующее потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость транспортного средства 220 в соответствующий потенциальный будущий момент времени. Данное ребро соединяет данный узел с предыдущим узлом в графе 500 скорости и представляет соответствующий потенциальный переход от предыдущего потенциального состояния предыдущего узла к потенциальному состоянию данного узла.[000104] To better illustrate this, referring now to FIG. 5, where at a given time the electronic device 210 is configured to generate a velocity graph 500 for path 480. The velocity graph 500 comprises nodes and edges. This node represents the corresponding potential state of the vehicle 220 at the road section 350, and where the corresponding potential state indicates the first potential position and the first potential speed of the vehicle 220 at the corresponding potential future time. This edge connects the given node to the previous node in the velocity graph 500 and represents the corresponding potential transition from the previous node's previous potential state to the given node's potential state.

[000105] Например, узел 501 представляет соответствующее потенциальное состояние и указывает (i) соответствующее потенциальное положение, (ii) соответствующий момент времени и (iii) соответствующую потенциальную скорость. В некоторых вариантах осуществления узел 501 может представлять текущее состояние транспортного средства 220 на участке 250 дороги. Например, состояние, связанное с узлом 501, может указывать на текущее положение транспортного средства 220 (например, первую станцию на пути 480), текущий момент времени и текущую скорость транспортного средства 220.[000105] For example, node 501 represents a corresponding potential state and indicates (i) a corresponding potential position, (ii) a corresponding time point, and (iii) a corresponding potential speed. In some embodiments, the node 501 may represent the current state of the vehicle 220 on the section 250 of the road. For example, the state associated with node 501 may indicate the current position of vehicle 220 (e.g., the first station on track 480), the current time, and the current speed of vehicle 220.

[000106] Узел 501 соединен с узлом 502 через ребро 512. Предполагается, что узел 502 может представлять второе потенциальное состояние транспортного средства 220. Это второе потенциальное состояние может указывать на второе потенциальное положение, второй момент времени и вторую потенциальную скорость. Так же, в качестве примера, второе потенциальное состояние, связанное с узлом 502, может указывать на следующее положение/станцию на пути 480 после текущего положения транспортного средства 220 в соответствующий будущий момент времени после текущего момента времени, и соответствующую потенциальную скорость. В этом примере ребро 512 может указывать на переход между текущим состоянием транспортного средства 220 и вторым потенциальным состоянием транспортного средства 220. Например, переход ребра 512 может указывать на переход с постоянным ускорением между текущим состоянием и вторым потенциальным состоянием. Другими словами, ребро 512 может представлять переход, который позволяет транспортному средству 220 переходить из текущего состояния (например, текущего положения/станции, текущего момента времени, текущей скорости) в другое потенциальное состояние (например, следующее положение/станцию вдоль пути 480, соответствующий будущий момент времени после текущего момента времени и соответствующая потенциальная скорость) с постоянным ускорением.[000106] Node 501 is connected to node 502 via edge 512. It is contemplated that node 502 may represent a second potential state of vehicle 220. This second potential state may indicate a second potential position, a second time, and a second potential speed. Also, by way of example, the second potential state associated with node 502 may indicate the next position/station on path 480 after the current position of vehicle 220 at the corresponding future time after the current time, and the corresponding potential speed. In this example, edge 512 may indicate a transition between the current state of vehicle 220 and the second potential state of vehicle 220. For example, the transition of edge 512 may indicate a constant acceleration transition between the current state and the second potential state. In other words, edge 512 may represent a transition that allows vehicle 220 to move from a current state (e.g., current position/station, current time, current speed) to another potential state (e.g., next position/station along path 480, corresponding future time after the current time and the corresponding potential speed) with constant acceleration.

[000107] Узел 501 также соединен с узлом 503 через ребро 513. Предполагается, что узел 503 может представлять третье потенциальное состояние транспортного средства 220. Это третье потенциальное состояние может указывать на третье потенциальное положение, третий момент времени и третью потенциальную скорость. Так же, в качестве примера, третье потенциальное состояние, связанное с узлом 503, может указывать на другое следующее положение/станцию на пути 480 после текущего положения транспортного средства 220 в соответствующий будущий момент времени после текущего момента времени, и соответствующую потенциальную скорость. В этом примере ребро 513 может указывать на переход между текущим состоянием транспортного средства 220 и третьим потенциальным состоянием транспортного средства 220.[000107] Node 501 is also connected to node 503 via edge 513. It is contemplated that node 503 may represent a third potential state of vehicle 220. This third potential state may indicate a third potential position, a third time, and a third potential speed. Also, by way of example, the third potential state associated with node 503 may indicate a different next position/station on path 480 after the current position of vehicle 220 at a corresponding future time after the current time, and a corresponding potential speed. In this example, edge 513 may indicate a transition between the current vehicle state 220 and a third potential vehicle state 220.

[000108] Предполагается, что, хотя два узла представляют два различных потенциальных состояния транспортного средства 220, два различных потенциальных состояния могут иметь общие по меньшей мере некоторые параметры состояния. Это означает, что второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать по меньшей мере некоторые параметры состояния. Например, второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать одно и то же следующее положение/станцию пути 480, но могут иметь различные будущие моменты времени и разные потенциальные скорости. В другом примере второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать одно и то же следующее положение/станцию пути 480 и один и тот же будущий момент времени, но иметь разные потенциальные скорости. В дополнительном примере второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать одно и то же следующее положение/станцию пути 480 и одинаковую потенциальную скорость, но могут иметь различные будущие моменты времени.[000108] It is contemplated that although the two nodes represent two different potential states of the vehicle 220, the two different potential states may share at least some of the state parameters. This means that the second candidate state of node 502 and the third candidate state of node 503 can share at least some state parameters. For example, the second potential state of node 502 and the third potential state of node 503 may share the same next position/station of track 480, but may have different future times and different potential speeds. In another example, the second potential state of node 502 and the third potential state of node 503 may share the same next position/station of track 480 and the same future point in time, but have different potential speeds. In an additional example, the second potential state of node 502 and the third potential state of node 503 may share the same next position/station of track 480 and the same potential speed, but may have different future times.

[000109] По меньшей мере в некоторых вариантах осуществления узлы 502, 503 и 504 могут представлять потенциальные состояния транспортного средства 220, которые совместно используют следующее положение/станцию на пути 480, но имеют различные моменты времени и/или различные потенциальные скорости. Следовательно, соответствующие ребра 512, 513 и 514 указывают на соответствующие переходы при соответствующих постоянных ускорениях, которые, если они выполняются транспортным средством 220, могут позволить транспортному средству 220 достичь следующее положение/станцию на пути 480 в определенные будущие моменты времени и/или при различных потенциальных скоростях. Иными словами:[000109] In at least some embodiments, nodes 502, 503, and 504 may represent potential vehicle states 220 that share the next position/station along path 480, but have different times and/or different potential speeds. Therefore, respective edges 512, 513, and 514 indicate respective transitions at respective constant accelerations, which, if performed by vehicle 220, may allow vehicle 220 to reach the next position/station on path 480 at certain future times and/or at various potential speeds. In other words:

- если транспортное средство 220 переходит из текущего положения/станции в следующее положение/станцию при первом постоянном ускорении (переход ребра 512), транспортное средство 220 окажется в следующем положении/станции в соответствующий будущий момент времени и при соответствующей потенциальной скорости, соответствующей второму потенциальному состоянию узла 502;- if the vehicle 220 moves from the current position/station to the next position/station at the first constant acceleration (rib transition 512), the vehicle 220 will be in the next position/station at the corresponding future time and at the corresponding potential speed corresponding to the second potential state node 502;

- если транспортное средство 220 переходит из текущего положения/станции в следующее положение/станцию при втором постоянном ускорении (переход ребра 513), транспортное средство 220 окажется в следующем положении/станции в соответствующий момент времени в будущем и при соответствующей потенциальной скорости, соответствующей третьему потенциальному состоянию узла 503; и- if the vehicle 220 moves from the current position/station to the next position/station at the second constant acceleration (transition of the rib 513), the vehicle 220 will be in the next position/station at the appropriate time in the future and at the corresponding potential speed corresponding to the third potential node state 503; And

- если транспортное средство 220 переходит из текущего положения/станции в следующее положение/станцию с третьим постоянным ускорением (переход ребра 514), транспортное средство 220 окажется в следующем положении/станции в соответствующий будущий момент времени и при соответствующей потенциальной скорости, соответствующей четвертому потенциальному состоянию узла 504.- if the vehicle 220 moves from the current position/station to the next position/station with a third constant acceleration (rib transition 514), the vehicle 220 will be in the next position/station at the corresponding future time and at the corresponding potential speed corresponding to the fourth potential state node 504.

[000110] Как станет очевидно из приведенного ниже описания, генерирование графа 500 скорости, на котором потенциальные состояния указывают положения/станции, будущие моменты времени и потенциальные скорости, может позволить электронному устройству 210 выбирать не только «когда» транспортное средство 220 должно находиться в заданном положении/станции на пути 480, но также выбрать, «с какой скоростью» транспортное средство 220 должно быть расположено в заданном положении/станции вдоль пути 480.[000110] As will become apparent from the description below, generating a speed graph 500 in which potential states indicate positions/stations, future times, and potential speeds may allow the electronic device 210 to choose not only "when" the vehicle 220 should be in a given position/station along track 480, but also choose "at what speed" vehicle 220 should be located at a given position/station along track 480.

[000111] Электронное устройство 210 выполнено с возможностью оценки последовательностей ребер на графе 500 скорости. Например, электронное устройство 210 может быть выполнено с возможностью определения «стоимости» для соответствующих ребер графа 500 скорости, а затем определения общей стоимости соответствующих последовательностей для выбора последовательности с наименьшей общей стоимостью и/или с допустимой общей стоимостью.[000111] The electronic device 210 is configured to evaluate the edge sequences on the velocity graph 500. For example, the electronic device 210 may be configured to determine the "cost" for the respective edges of the rate graph 500, and then determine the total cost of the respective sequences to select the sequence with the lowest total cost and/or the acceptable total cost.

[000112] На фиг. 6 изображены первая последовательность 601, вторая последовательность 602 и третья последовательность 603 ребер на графе 600 скорости. Электронное устройство 210 может определять стоимости для соответствующих ребер и определять общие стоимости для первой последовательности 601, второй последовательности 602 и третьей последовательности 603. Электронное устройство 210 может быть выполнено с возможностью различать первую последовательность 601, вторую последовательность 602 и третью последовательность 603 на основе их соответствующих общих затрат. В одном примере электронное устройство 210 может быть выполнено с возможностью выбора второй последовательности 602 в качестве целевой последовательности на графе 500 скорости, если вторая последовательность 602 имеет самую низкую общую стоимость среди общих стоимостей первой последовательности 601, второй последовательности 602 и третьей последовательности 603. В другом примере электронное устройство 210 может быть выполнено с возможностью выбора второй последовательности 602 в качестве целевой последовательности на графе 500 скорости, если вторая последовательность 602 имеет общую стоимость, которая ниже заранее определенного допустимого порога стоимости. Такой порог может быть заранее определен оператором электронного устройства 210 и может варьироваться в зависимости от конкретных реализаций настоящей технологии.[000112] FIG. 6 shows the first sequence 601, the second sequence 602, and the third sequence 603 of edges on a velocity graph 600. The electronic device 210 may determine the costs for the respective edges and determine the total costs for the first sequence 601, the second sequence 602, and the third sequence 603. The electronic device 210 may be configured to distinguish between the first sequence 601, the second sequence 602, and the third sequence 603 based on their respective total costs. In one example, electronic device 210 may be configured to select second sequence 602 as the target sequence on rate graph 500 if second sequence 602 has the lowest total cost among the combined costs of first sequence 601, second sequence 602, and third sequence 603. In another example, the electronic device 210 may be configured to select the second sequence 602 as the target sequence on the rate graph 500 if the second sequence 602 has a total cost that is below a predetermined allowable cost threshold. Such a threshold may be predetermined by the operator of the electronic device 210 and may vary depending on specific implementations of the present technology.

[000113] Следует отметить, что целевая последовательность на графе 500 скорости содержит информацию для построения профиля скорости для данного момента времени. Например, целевая последовательность содержит информацию, указывающую последовательность переходов при соответствующих постоянных ускорениях, которые должны выполняться транспортным средством 220 при следовании по пути 480. Кроме того, целевая последовательность содержит информацию, указывающую последовательность запланированных состояний, в которых транспортное средство 220 должно оказаться на участке 350 дороги, следуя по маршруту 480. Более конкретно, узлы, соединенные целевой последовательностью ребер, указывают (i) соответствующие моменты времени и (ii) соответствующие запланированные скорости транспортного средства 220, когда транспортное средство 220 находится в соответствующих положениях/станциях на пути 480.[000113] It should be noted that the target sequence on the rate graph 500 contains information for constructing a rate profile for a given point in time. For example, the target sequence contains information indicating the sequence of transitions at appropriate constant accelerations to be performed by the vehicle 220 while following the path 480. In addition, the target sequence contains information indicating the sequence of planned states in which the vehicle 220 should be in section 350 road following route 480. More specifically, the nodes connected by the target edge sequence indicate (i) respective times and (ii) respective planned vehicle 220 speeds when vehicle 220 is at respective positions/stations along path 480.

[000114] Следовательно, предполагается, что электронное устройство 210 может быть выполнено с возможностью выполнения обработки целевой последовательности на графе 500 скорости для генерирования указаний запланированных скоростей и/или ускорений в соответствующие моменты времени для транспортного средства 220, чтобы следовать за положениями/станциями пути 480.[000114] Therefore, it is contemplated that electronic device 210 may be configured to perform target sequence processing on speed graph 500 to generate indications of planned speeds and/or accelerations at appropriate times for vehicle 220 to follow the positions/stations of track 480 .

[000115] Разработчики настоящей технологии разработали способы и электронные устройства, которые позволяют создавать профили запланированной/целевой скорости, которые способствуют безопасности пассажиров в транспортном средстве 220. Более конкретно, запланированный профиль скорости может быть построен электронным устройством 210 с учетом неожиданных маневров, выполняемых динамическими объектами в окружении транспортного средства 220.[000115] The developers of the present technology have developed methods and electronic devices that allow the creation of planned/target speed profiles that contribute to the safety of passengers in the vehicle 220. More specifically, the planned speed profile can be built by the electronic device 210, taking into account unexpected maneuvers performed by dynamic objects surrounded by a vehicle 220.

[000116] Как станет очевидно из приведенного ниже описания, разработчики настоящей технологии разработали способы и электронные устройства, которые позволяют планировать скорости для транспортного средства 220 таким образом, чтобы у электронного устройства 210 было достаточно времени для выполнения экстренного маневра для предотвращения столкновения с движущимся объектом, если транспортное средство 220 следует по пути 480 в соответствии с этими запланированными скоростями.[000116] As will become apparent from the description below, the developers of the present technology have developed methods and electronic devices that allow you to plan speeds for the vehicle 220 so that the electronic device 210 has enough time to perform an emergency maneuver to avoid a collision with a moving object, if the vehicle 220 follows the path 480 in accordance with these planned speeds.

[000117] В контексте настоящей технологии разработан способ генерирования стоимости для соответствующих ребер графа 500 скорости, так что целевая последовательность ребер, выбранная на основе этих стоимостей, указывает планируемые скорости, которые обеспечат достаточно времени для электронного устройства 210, чтобы выполнить экстренный маневр, если транспортное средство 220 следует по маршруту 480 в соответствии с этими запланированными скоростями.[000117] In the context of the present technology, a method has been developed to generate costs for the respective edges of the speed graph 500 such that a target sequence of edges selected based on these costs indicates planned speeds that will provide enough time for the electronic device 210 to perform an emergency maneuver if the traffic means 220 follows route 480 in accordance with these planned speeds.

[000118] Теперь будет более подробно описано, как определяется стоимость ребра 516 (см. Фиг. 5). Ребро 516 соединяет узел 503 (предыдущий узел) с узлом 506 (следующий узел). Предполагается, что стоимость ребра 516 может быть сгенерирована на основе по меньшей мере информации, связанной с потенциальным состоянием транспортного средства 220 и узла 506. Более конкретно, электронное устройство 210 выполнено с возможностью генерировать «оценку времени» для потенциального состояния транспортного средства 220 и узла 506. Электронное устройство 210 затем выполнено с возможностью использования оценки времени узла 506 для генерирования стоимости для ребра 516. В тех вариантах осуществления, где более чем одно ребро имеет узел 506 в качестве следующего узла, оценка времени узла 506 может использоваться для генерирования соответствующей стоимости для каждого из более чем одного ребра, соединяющего соответствующие предыдущие узлы с узлом 506.[000118] How the cost of fin 516 is determined will now be described in more detail (see FIG. 5). Edge 516 connects node 503 (previous node) to node 506 (next node). It is contemplated that the cost of rib 516 can be generated based on at least information associated with the potential state of vehicle 220 and node 506. More specifically, electronic device 210 is configured to generate a "time estimate" for the potential state of vehicle 220 and node 506. The electronic device 210 is then configured to use node 506's time estimate to generate a cost for edge 516. In those embodiments where more than one edge has node 506 as the next node, node 506's time estimate may be used to generate the appropriate cost for each of more than one edge connecting the corresponding previous nodes to node 506.

Генерирование оценки времениTime Estimate Generation

[000119] Со ссылкой на Фиг.7 изображено представление 700 потенциальных будущих состояний транспортного средства 220 и движущегося объекта 310. Текущее состояние 710 транспортного средства 220 проиллюстрировано и может быть связано с узлом 501 (см. Фиг. 5) и указывать тройку «p0, t0, v0», где p0 представляет текущее положение транспортного средства 220, t0 представляет текущий момент времени, а v0 представляет текущую скорость транспортного средства 220. Кроме того, проиллюстрировано текущее состояние 730 движущегося объекта 310, которое может указывать на тройку «pA, t0, vA», где pA представляет текущее положение движущегося объекта 310, а vB представляет текущую скорость движущегося объекта. 310.[000119] Referring to FIG. 7, a representation 700 of potential future states of vehicle 220 and moving object 310 is depicted. The current state 710 of vehicle 220 is illustrated and can be associated with node 501 (see FIG. 5) and indicate the triple "p0, t0, v0", where p0 represents the current position of the vehicle 220, t0 represents the current time, and v0 represents the current speed of the vehicle 220. Also illustrated is the current state 730 of the moving object 310, which may indicate the triple "pA, t0, vA", where pA represents the current position of the moving object 310 and vB represents the current speed of the moving object. 310.

[000120] С одной стороны, электронное устройство 210 может быть выполнено с возможностью генерировать одну или несколько прогнозируемых траекторий для движущегося объекта 310, движущегося по участку 350 дороги. То, как электронное устройство 210 выполнено с возможностью генерирования одной или нескольких прогнозируемых траекторий для движущегося объекта 310, особо не ограничивает. В одном примере электронное устройство 210 может быть выполнено с возможностью использования текущего состояния движущегося объекта 310 и предыдущих состояний движущегося объекта 310 для прогнозирования одного или нескольких будущих состояний движущегося объекта 310. Информация о текущем и/или одном или нескольких предыдущих состояниях движущегося объекта 310 может быть предоставлена электронному устройству 210 из системы 280 датчиков. Предполагается, что электронное устройство 210 может быть выполнено с возможностью выполнения кинематического анализа текущего и/или одного или нескольких предыдущих состояний движущегося объекта 310 для прогнозируемого одного или нескольких будущих состояний движущегося объекта 310.[000120] On the one hand, the electronic device 210 may be configured to generate one or more predictive trajectories for a moving object 310 moving along the section 350 of the road. How the electronic device 210 is configured to generate one or more predictive trajectories for the moving object 310 is not particularly limited. In one example, the electronic device 210 may be configured to use the current state of the moving object 310 and previous states of the moving object 310 to predict one or more future states of the moving object 310. Information about the current and/or one or more previous states of the moving object 310 may be provided to the electronic device 210 of the sensor system 280. It is contemplated that the electronic device 210 may be configured to perform a kinematic analysis of the current and/or one or more previous states of the moving object 310 for a predicted one or more future states of the moving object 310.

[000121] Независимо от того, как электронное устройство 210 выполнено с возможностью генерирования прогнозируемой траектории для движущегося объекта 310, электронное устройство 210 может использовать прогнозируемую траекторию движущегося объекта 310 для определения оценки времени для данного узла графа 550 скорости. В тех вариантах осуществления, где электронное устройство 210 генерирует множество прогнозируемых траекторий для движущегося объекта 310, электронное устройство 210 может выбрать одну из множества прогнозируемых траекторий для дальнейшей обработки. Например, электронное устройство 210 может выбрать «наиболее вероятную» прогнозируемую траекторию среди множества прогнозируемых траекторий и использовать ее для дальнейшей обработки. В неограничивающем примере на фиг. 7 изображено представление прогнозируемой траектории 750, которую электронное устройство 210 выполнено с возможностью генерировать для движущегося объекта 310 в данный момент времени.[000121] Regardless of how the electronic device 210 is configured to generate a predicted trajectory for the moving object 310, the electronic device 210 may use the predicted trajectory of the moving object 310 to determine a time estimate for a given node of the velocity graph 550. In those embodiments where the electronic device 210 generates a plurality of predictive paths for the moving object 310, the electronic device 210 may select one of the plurality of predictive paths for further processing. For example, electronic device 210 may select the "most likely" predicted trajectory from among the plurality of predicted trajectories and use it for further processing. In the non-limiting example of FIG. 7 depicts a representation of the predicted trajectory 750 that the electronic device 210 is configured to generate for a moving object 310 at a given time.

[000122] С другой стороны, электронное устройство 210 может быть выполнено с возможностью идентификации потенциального состояния транспортного средства 220, связанного с соответствующим узлом на графе 500 скорости. Например, предположим, что узел 506 связан с потенциальным состоянием 720. Потенциальное состояние 720 указывает на тройку «p1, t1, v1», где p1 представляет положение транспортного средства 220, связанное с потенциальным состоянием 720 узла 506, t1 представляет момент времени, связанный с потенциальным состоянием 720 узла 506, а v1 представляет скорость транспортного средства 220, связанную с потенциальным состоянием 720 узла 506.[000122] On the other hand, the electronic device 210 may be configured to identify the potential state of the vehicle 220 associated with the corresponding node on the graph 500 speed. For example, suppose node 506 is associated with potential state 720. Potential state 720 indicates the triple “p1, t1, v1”, where p1 represents the position of vehicle 220 associated with potential state 720 of node 506, t1 represents the time associated with potential state 720 of node 506, and v1 represents the vehicle speed 220 associated with potential state 720 of node 506.

[000123] Электронное устройство 210 выполнено с возможностью использования информации о потенциальном состоянии 720 и информации о прогнозируемой траектории 750 для идентификации потенциального состояния 740 движущегося объекта 310. Например, электронное устройство 210 может идентифицировать момент времени t1 потенциального состояния 720 транспортного средства 220, связанного с узлом 506, и может получать доступ к информации о прогнозируемой траектории 750 для определения будущего положения (и будущей скорости) движущегося объекта 310 в момент времени t1. В этом примере предположим, что потенциальное состояние 740 движущегося объекта 310 указывает на тройку «pB, t1, vB», где pB представляет прогнозируемое положение движущегося объекта 310 в момент времени t1 в соответствии с прогнозируемой траекторией 750, а vB представляет прогнозируемую скорость движущегося объекта 310 в момент времени t1 в соответствии с прогнозируемой траекторией 750.[000123] Electronic device 210 is configured to use potential state information 720 and predicted trajectory information 750 to identify potential state 740 of moving object 310. For example, electronic device 210 can identify time t1 of potential state 720 of vehicle 220 associated with the node 506 and can access predicted trajectory information 750 to determine the future position (and future speed) of the moving object 310 at time t1. In this example, assume that the potential state 740 of the moving object 310 points to the triple "pB, t1, vB", where pB represents the predicted position of the moving object 310 at time t1 according to the predicted trajectory 750, and vB represents the predicted speed of the moving object 310 at time t1 in accordance with the predicted trajectory 750.

[000124] Электронное устройство 210 выполнено с возможностью использования информации о потенциальном состоянии 720 транспортного средства 220 и о потенциальном состоянии 740 движущегося объекта 310, чтобы определять оценку времени для узла 506, связанного с потенциальным состоянием 720 транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью генерировать (моделировать) первую траекторию для движущегося объекта 310, если движущийся объект 310 выполняет неожиданный маневр, когда находится в потенциальном состоянии 740, и генерировать (моделировать) вторую траекторию для транспортного средства 220, если транспортное средство 220 выполняет экстренный маневр, когда находится в потенциальном состоянии 720.[000124] Electronic device 210 is configured to use information about potential state 720 of vehicle 220 and potential state 740 of moving object 310 to determine a time estimate for node 506 associated with potential state 720 of vehicle 220. Electronic device 210 may be configured with the ability to generate (simulate) a first trajectory for the moving object 310 if the moving object 310 performs an unexpected maneuver when in potential state 740, and generate (simulate) a second trajectory for the vehicle 220 if the vehicle 220 performs an emergency maneuver when in potential state 720.

[000125] По меньшей мере в некоторых вариантах осуществления предполагается, что неожиданный маневр, который может выполнить движущийся объект 310, является маневром быстрого торможения. В этих вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерировать (моделировать) траекторию торможения для движущегося объекта 310, если движущийся объект 310 неожиданно начинает выполнять маневр быстрого торможения, когда находится в потенциальном состоянии 740.[000125] In at least some embodiments, it is assumed that the unexpected maneuver that the moving object 310 may perform is a quick braking maneuver. In these embodiments, the electronic device 210 may be configured to generate (simulate) a deceleration path for the moving object 310 if the moving object 310 unexpectedly begins to perform a quick braking maneuver while in potential state 740.

[000126] По меньшей мере в некоторых вариантах осуществления предполагается, что экстренный маневр, который может выполнять транспортное средство 220, также является маневром быстрого торможения. В этих вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерировать (моделировать) траекторию торможения для транспортного средства 220, если транспортное средство 220 начинает выполнять маневр быстрого торможения в потенциальном состоянии 720 в качестве экстренной меры для предотвращения столкновения.[000126] In at least some embodiments, it is contemplated that the emergency maneuver that vehicle 220 can perform is also a quick braking maneuver. In these embodiments, electronic device 210 may be configured to generate (simulate) a braking path for vehicle 220 if vehicle 220 initiates a quick braking maneuver in potential state 720 as an emergency measure to avoid collision.

[000127] Можно сказать, что электронное устройство 210 выполнено с возможностью в некотором смысле «моделировать» будущую ситуацию, когда транспортному средству 220 может потребоваться инициировать экстренный маневр в ответ на неожиданный маневр движущегося объекта 310, если движущийся объект 310 находится в потенциальном состоянии 740, и транспортное средство 220 находится в потенциальном состоянии 720. Другими словами, электронное устройство 210 может быть выполнено с возможностью генерирования смоделированной экстренной траектории для транспортного средства 220, если транспортное средство 220 находится в потенциальном состоянии 720, и смоделированной неожиданной траектории для движущегося объекта 310, если движущийся объект 310 находится в потенциальном состоянии 740.[000127] We can say that the electronic device 210 is configured to in some sense "simulate" a future situation where the vehicle 220 may need to initiate an emergency maneuver in response to an unexpected maneuver of a moving object 310, if the moving object 310 is in a potential state 740, and vehicle 220 is in potential state 720. In other words, electronic device 210 may be configured to generate a simulated emergency trajectory for vehicle 220 if vehicle 220 is in potential state 720, and a simulated unexpected trajectory for moving object 310 if moving object 310 is in potential state 740.

[000128] Следует отметить, что экстренная траектория транспортного средства 220 может изменяться в зависимости, помимо прочего, от веса транспортного средства 220 и скорости, с которой начинается экстренный маневр. По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может иметь доступ к предварительно сохраненным данным, касающимся экстренных траекторий транспортного средства 220 для его различного веса и/или начальных скоростей, и извлекать данные, соответствующие экстренной траектории, связанной с весом и/или начальной скоростью, которые наилучшим образом соответствуют их текущему весу и потенциальной скорости v1 потенциального состояния 720. Предполагается, что в тех вариантах осуществления, где экстренный маневр представляет собой маневр быстрого торможения, электронное устройство 210 выполнено с возможностью генерировать и/или восстанавливать траекторию торможения, которую может выполнять транспортное средство 220, если транспортное средство 220 инициирует маневр быстрого торможения, находясь в потенциальном состоянии 720.[000128] It should be noted that the emergency trajectory of the vehicle 220 may vary depending on, among other things, the weight of the vehicle 220 and the speed at which the emergency maneuver is initiated. In at least some embodiments of the present technology, the electronic device 210 may access pre-stored data regarding emergency trajectories of the vehicle 220 for its various weights and/or initial speeds, and retrieve data corresponding to an emergency trajectory related to weight and/or initial speed that best match their current weight and potential speed v1 of potential state 720. It is contemplated that in those embodiments where the emergency maneuver is a quick braking maneuver, the electronic device 210 is configured to generate and/or reconstruct a deceleration path that may be performed by vehicle 220 if vehicle 220 initiates a quick braking maneuver while in potential state 720.

[000129] Следует отметить, что неожиданная траектория движущегося объекта 310 также может изменяться в зависимости от множества факторов, включая скорость, с которой начинается неожиданный маневр. По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может иметь доступ к предварительно сохраненным данным, касающимся неожиданных траекторий для множества объектов (легковые автомобили, грузовики, велосипедисты и т.п.) и различных начальных скоростей. В других вариантах осуществления электронное устройство 210 также может использовать информацию о потенциальном состоянии 740 для генерирования неожиданной траектории для движущегося объекта 310. Предполагается, что в тех вариантах осуществления, где неожиданный маневр представляет собой маневр быстрого торможения, электронное устройство 210 выполнено с возможностью генерировать и/или восстанавливать траекторию торможения, которую движущийся объект 310 может выполнять, если движущийся объект 310 инициирует маневр быстрого торможения, когда в потенциальном состоянии 740.[000129] It should be noted that the unexpected trajectory of the moving object 310 may also vary depending on a variety of factors, including the speed at which the unexpected maneuver begins. In at least some embodiments of the present technology, electronic device 210 may have access to pre-stored data regarding unexpected trajectories for multiple objects (cars, trucks, cyclists, etc.) and various initial speeds. In other embodiments, electronic device 210 may also use potential state information 740 to generate an unexpected trajectory for moving object 310. It is contemplated that in those embodiments where the unexpected maneuver is a quick braking maneuver, electronic device 210 is configured to generate and/ or restore a deceleration path that the moving object 310 can perform if the moving object 310 initiates a quick deceleration maneuver when in potential state 740.

[000130] Электронное устройство 210 затем выполнено с возможностью проецирования траектории торможения движущегося объекта 310, которая является траекторией движущегося объекта 310, возникающей в результате неожиданного маневра движущегося объекта 310, когда он находится в потенциальном состоянии 740, на траекторию торможения транспортного средства 220, которая представляет собой траекторию транспортного средства 220, возникающую в результате экстренного маневра транспортного средства 220, когда оно находится в потенциальном состоянии 720.[000130] The electronic device 210 is then configured to project the braking path of the moving object 310, which is the path of the moving object 310 resulting from the unexpected maneuver of the moving object 310 when it is in potential state 740, onto the braking path of the vehicle 220, which represents is the trajectory of vehicle 220 resulting from the emergency maneuver of vehicle 220 when it is in potential state 720.

[000131] В некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью определения расстояния между транспортным средством 220 и движущимся объектом 310 после завершения экстренного маневра и неожиданного маневра. В одном варианте осуществления электронное устройство 210 может быть выполнено с возможностью сравнения конечного положения траектории торможения транспортного средства 220 и конечного положения траектории торможения движущегося объекта 310.[000131] In some embodiments, the implementation of the electronic device 210 may be configured to determine the distance between the vehicle 220 and the moving object 310 after the completion of an emergency maneuver and an unexpected maneuver. In one embodiment, the electronic device 210 may be configured to compare the final position of the braking path of the vehicle 220 and the final position of the braking path of the moving object 310.

[000132] Электронное устройство 210 выполнено с возможностью использования расстояния между транспортным средством 220 и движущимся объектом 310 после завершения их соответствующих смоделированных траекторий торможения и скорости транспортного средства 220, связанной с потенциальным состоянием 720 (связанным с узлом 506), для определения оценки времени. В этом случае электронное устройство 210 может быть выполнено с возможностью определения оценки времени как отношения расстояния к скорости v1.[000132] The electronic device 210 is configured to use the distance between the vehicle 220 and the moving object 310 after completing their respective simulated deceleration paths and the speed of the vehicle 220 associated with the potential state 720 (associated with node 506) to determine a time estimate. In this case, the electronic device 210 may be configured to determine the time estimate as the ratio of distance to speed v1.

[000133] Разработчики настоящей технологии поняли, что вычисление таким образом оценки времени для узла 506 приводит к тому, что потенциальное состояние 720 связано с оценкой времени, которая указывает количество времени, которое электронное устройство 210 будет иметь до запуска экстренного маневра для предотвращения столкновения с движущимся объектом 310, если транспортное средство 220 находится в потенциальном состоянии 720, а движущийся объект 310 выполняет неожиданный маневр, когда находится в потенциальном состоянии 740. Например, предположим, что оценка времени для узла 506 составляет 2 секунды. Это означает, что, если транспортное средство 220 находится в потенциальном состоянии 720, а движущийся объект 310 инициирует неожиданный маневр, когда находится в потенциальном состоянии 740, электронное устройство 210 имеет 2 секунды на скорости v1 потенциального состояния 720 перед запуском экстренного маневра для предотвращения столкновения с движущимся объектом 310.[000133] The developers of the present technology have realized that calculating the time estimate for node 506 in this way results in the potential state 720 being associated with a time estimate that indicates the amount of time the electronic device 210 will have before initiating an emergency maneuver to avoid a collision with a moving vehicle. object 310 if vehicle 220 is in potential state 720 and moving object 310 performs an unexpected maneuver while in potential state 740. For example, suppose the time estimate for node 506 is 2 seconds. This means that if vehicle 220 is in potential state 720 and moving object 310 initiates an unexpected maneuver while in potential state 740, electronic device 210 has 2 seconds at speed v1 of potential state 720 before initiating an emergency maneuver to avoid collision with moving object 310.

[000134] Если оценка времени ниже заранее определенного порога, электронное устройство 210 может быть выполнено с возможностью назначать стоимость ребру 516. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости ребра 516 как взвешенного квадрата разности между оценкой времени узла 506 и заранее определенным порогом. Излишне говорить, что стоимость ребра 516 может быть определена на основе оценки времени по-разному, в зависимости, помимо прочего, от различных реализаций настоящей технологии. В дополнение к оценке времени, другие особенности или атрибуты также могут быть приняты во внимание при определении стоимости данного ребра на графе 600 скорости, не выходя за рамки объема настоящей технологии.[000134] If the time estimate is below a predetermined threshold, electronic device 210 may be configured to assign a cost to edge 516. For example, electronic device 210 may be configured to determine the cost of edge 516 as the weighted square of the difference between node 506's time estimate and a predetermined threshold. Needless to say, the cost of the rib 516 may be determined based on the time estimate in different ways, depending on, among other things, different implementations of the present technology. In addition to timing, other features or attributes may also be taken into account in determining the cost of a given edge in velocity graph 600 without departing from the scope of the present technology.

[000135] Следует отметить, что в тех вариантах осуществления, где более одного объекта присутствует в окружении 250 транспортного средства 220, электронное устройство 210 может быть выполнено с возможностью генерировать заданную оценку времени для соответствующего одного из более чем одного объекта. Таким образом, электронное устройство 210 может быть выполнено с возможностью сравнения соответствующих оценок времени с заранее определенным порогом. Электронное устройство 210 может также вычислить стоимость ребра 516 как сумму стоимостей для соответствующих оценок времени соответствующего более чем одного объекта.[000135] It should be noted that in those embodiments where more than one object is present in the environment 250 of the vehicle 220, the electronic device 210 may be configured to generate a given time estimate for a corresponding one of the more than one object. Thus, the electronic device 210 may be configured to compare respective time estimates against a predetermined threshold. The electronic device 210 may also calculate the cost of the edge 516 as the sum of the costs for the respective time estimates of the corresponding more than one object.

[000136] Следует отметить, что сценарий, изображенный на фиг. 3 и 7, где транспортное средство 220 следует за движущимся объектом 350, является только одним неограничивающим примером того, как настоящая технология может использоваться для построения профиля скорости для транспортного средства 220. В другом неограничивающем примере транспортное средство 220 и движущийся объект 350 могут быть расположены на участке дороги, отличном от участка 350 дороги.[000136] It should be noted that the scenario depicted in FIG. 3 and 7, where vehicle 220 follows a moving object 350 is just one non-limiting example of how the present technology can be used to construct a speed profile for vehicle 220. In another non-limiting example, vehicle 220 and moving object 350 can be located on a section of road other than section 350 of the road.

[000137] Чтобы лучше проиллюстрировать это, теперь будет сделана ссылка на фиг. 8, иллюстрирующую другой сценарий, в котором транспортное средство 220 может оказаться на участке 850 дороги с движущимся объектом 310 в его окружении. Как видно, транспортное средство 220 движется по полосе 801 движения, которая сливается с полосой 802 движения участка дороги, на котором находится движущийся объект 310. Также изображен путь 880 для транспортного средства 220, который может быть сгенерирован для участка 850 дороги аналогично тому, как путь 480 генерируется для участка 350 дороги. Электронное устройство 210 также может быть выполнено с возможностью генерирования графа скорости (не показан) для транспортного средства 220 для планирования скоростей на участке 850 дороги вдоль пути 880 аналогично тому, как электронное устройство 210 выполнено с возможностью генерирования графа 600 скорости для транспортного средства 220 для планирования скоростей на участке 350 дороги по пути 480. Также изображено текущее состояние 810 транспортного средства 220 и текущее состояние 830 движущегося объекта 310.[000137] To better illustrate this, reference will now be made to FIG. 8 illustrating another scenario in which a vehicle 220 may be on a stretch of road 850 with a moving object 310 in its vicinity. As can be seen, the vehicle 220 is moving in a lane 801 that merges with the lane 802 of the road section on which the moving object 310 is located. 480 is generated for section 350 of the road. Electronic device 210 may also be configured to generate a speed graph (not shown) for planning vehicle 220 on road section 850 along path 880 in a manner similar to how electronic device 210 is configured to generate a speed graph 600 for planning vehicle 220. speeds on the section 350 of the road along the path 480. Also shown is the current state 810 of the vehicle 220 and the current state 830 of the moving object 310.

[000138] Предположим, что потенциальное состояние 820 транспортного средства 220 соответствует заданному узлу из графа скорости, сгенерированного электронным устройством 210. Электронное устройство 210 может быть выполнено с возможностью определения прогнозируемой траектории 850 для движущегося объекта 310 на участке 850 дороги аналогично тому, как электронное устройство 210 выполнено с возможностью определения прогнозируемой траектории 750 на участке 350 дороги. Предположим, что движущийся объект 310 окажется в потенциальном состоянии 840 (в соответствии с прогнозируемой траекторией 850) в момент времени, который совпадает с моментом времени потенциального состояния 820 транспортного средства 220 (аналогично тому, как потенциальное состояние 740 имеет момент времени, который соответствует потенциальному состоянию 720 в неограничивающем примере, описанном выше).[000138] Assume that the potential state 820 of the vehicle 220 corresponds to a given node from the speed graph generated by the electronic device 210. The electronic device 210 may be configured to determine a predicted trajectory 850 for a moving object 310 in a road section 850 in a manner similar to how the electronic device 210 is configured to determine a predicted trajectory 750 along road section 350. Assume that the moving object 310 will be in the potential state 840 (according to the predicted trajectory 850) at a time that coincides with the time of the potential state 820 of the vehicle 220 (similar to how the potential state 740 has a time that corresponds to the potential state 720 in the non-limiting example described above).

[000139] Электронное устройство 210 может быть выполнено с возможностью генерировать первую траекторию торможения (не изображена) для транспортного средства 220 и вторую траекторию торможения (не изображено) для движущегося объекта 310 аналогично тому, что было описано выше.[000139] Electronic device 210 may be configured to generate a first braking path (not shown) for vehicle 220 and a second braking path (not shown) for moving object 310 in a manner similar to that described above.

[000140] Следует отметить, что электронное устройство 210 может быть выполнено с возможностью проецировать момент времени и конечное положение второй траектории торможения движущегося объекта 310 на первую траекторию торможения транспортного средства 220. Также можно сказать, что электронное устройство 210 может быть выполнено с возможностью проецировать момент времени и конечное положение второй траектории торможения движущегося объекта 310 на момент времени и конечное положение первой траектории торможения транспортного средства 220 для определения расстояния между транспортным средством 220 и движущимся объектом 310 после завершения первой и второй траекторий торможения. Также предполагается, что по меньшей мере один момент времени, связанный с соответствующим положением из второй траектории торможения движущегося объекта 310, может проецироваться по меньшей мере на один момент времени, связанный с соответствующим положением из первой траектории торможения транспортного средства 220, для определения расстояния между транспортным средством 220 и движущимся объектом 310.[000140] It should be noted that the electronic device 210 may be configured to project the time and end position of the second deceleration path of the moving object 310 onto the first deceleration path of the vehicle 220. It may also be said that the electronic device 210 may be configured to project the moment time and end position of the second deceleration path of the moving object 310 at the time and end position of the first deceleration path of the vehicle 220 to determine the distance between the vehicle 220 and the moving object 310 after the completion of the first and second deceleration paths. It is also contemplated that at least one time associated with a corresponding position from the second deceleration path of the moving object 310 can be projected onto at least one time associated with a corresponding position from the first deceleration path of the vehicle 220 to determine the distance between vehicles means 220 and a moving object 310.

[000141] Следует отметить, что траектории торможения транспортного средства 220 и движущегося объекта 310 в сценарии, показанном на фиг. 8, не выровнены, а скорее расположены под «углом» друг к другу. Следовательно, можно также сказать, что проекция конечного момента времени и конечного положения второй траектории на первую траекторию может использоваться для определения расстояния между транспортным средством 220 и объектом 310, когда первая и вторая траектории торможения завершаются в сценарии, когда эти траектории торможения находятся под углом друг к другу.[000141] It should be noted that the deceleration paths of vehicle 220 and moving object 310 in the scenario shown in FIG. 8 are not aligned, but rather at an "angle" to each other. Therefore, it can also be said that the projection of the end time and end position of the second trajectory onto the first trajectory can be used to determine the distance between the vehicle 220 and the object 310 when the first and second deceleration paths are completed in a scenario where these deceleration paths are at an angle to each other. to friend.

[000142] Как показано на фиг.9, электронное устройство 210 может быть выполнено с возможностью выполнения способа 900, реализованного на компьютере. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью выполнения способа 900 в течение заданного цикла планирования транспортного средства 220. Другими словами, электронное устройство 210 может быть выполнено с возможностью итеративно выполнять способ 900 в различные моменты времени во время работы транспортного средства 220 и которые соответствуют соответствующим циклам планирования транспортного средства 220. Различные этапы способа 900 теперь будут обсуждаться более подробно.[000142] As shown in FIG. 9, electronic device 210 may be configured to perform method 900 implemented on a computer. It should be noted that electronic device 210 may be configured to perform method 900 during a given scheduling cycle of vehicle 220. In other words, electronic device 210 may be configured to iteratively execute method 900 at various times during vehicle 220 operation and which correspond to the respective scheduling cycles of the vehicle 220. The various steps of the method 900 will now be discussed in more detail.

ЭТАП 902: генерирование пути для SDC на местности, причем путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC.STEP 902: generating a path for the SDC on the ground, where the path includes a sequence of potential positions on the ground to be followed by the SDC.

[000143] Способ 900 начинается на этапе 902 с электронным устройством, выполненным с возможностью генерирования заданного пути для SDC на местности, и где путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC.[000143] Method 900 begins at 902 with an electronic device configured to generate a predetermined path for the SDC on the ground, and where the path includes a sequence of potential positions on the ground that the SDC should follow.

[000144] По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью выполнения двухэтапного процесса для определения заданной траектории на местности и/или на участке дороги. Другими словами, электронное устройство 210 может выполнять «независимое планирование» траекторий, где заданный путь определяется на первом этапе (этап 902), а профиль скорости определяется на втором этапе (этап 904 ниже). По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может выполнять независимое планирование траекторий итеративным способом. Другими словами, в пределах каждого цикла планирования планирование пути и скорости повторяется электронным устройством 210, так что электронное устройство 210 принимает во внимание самую последнюю информацию о динамической среде транспортного средства 220.[000144] In at least some embodiments of the present technology, the electronic device 210 may be configured to perform a two-step process to determine a predetermined trajectory on the ground and/or on a road segment. In other words, the electronic device 210 may perform "independent planning" of trajectories, where the target path is determined in the first step (step 902) and the velocity profile is determined in the second step (step 904 below). In at least some embodiments of the present technology, the electronic device 210 can perform independent path planning in an iterative manner. In other words, within each scheduling cycle, the path and speed planning is repeated by the electronic device 210 so that the electronic device 210 takes into account the latest information about the dynamic environment of the vehicle 220.

[000145] В некоторых вариантах осуществления настоящей технологии местность, на которой работает SDC, может быть заданным участком дороги. Например, транспортное средство 220, связанное с электронным устройством 210, может работать на участке 350 дороги и/или участке 850 дороги. В сценарии, когда транспортное средство 220 движется по участку 350 дороги, электронное устройство 210 может быть выполнено с возможностью генерирования пути 480. В сценарии, когда транспортное средство 220 движется по участку 850 дороги, электронное устройство 210 может быть выполнено с возможностью генерирования пути 880.[000145] In some embodiments of the present technology, the terrain on which the SDC operates may be a predetermined section of the road. For example, vehicle 220 associated with electronic device 210 may operate on road section 350 and/or road section 850. In a scenario where vehicle 220 is moving on road section 350, electronic device 210 may be configured to generate path 480. In a scenario where vehicle 220 is moving on road section 850, electronic device 210 may be configured to generate path 880.

[000146] В некоторых вариантах осуществления для определения заданного пути электронное устройство 210 может быть выполнено с возможностью генерировании графа местности для местности на основе геометрии местности. Например, электронное устройство 210 может быть выполнено с возможностью генерирования дорожного графа 420 для участка 350 дороги на основании, помимо прочего, геометрии участка 350 дороги. Следует отметить, что дорожный граф 420 содержит узлы и ребра, где данный узел представляет соответствующее потенциальное положение транспортного средства 220 на участке 350 дороги, а данное ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений.[000146] In some embodiments, to determine a given path, the electronic device 210 may be configured to generate a terrain graph for the terrain based on terrain geometry. For example, electronic device 210 may be configured to generate a road graph 420 for road section 350 based, among other things, on the geometry of road section 350. It should be noted that road graph 420 contains nodes and edges, where a given node represents a corresponding potential position of vehicle 220 on road section 350, and a given edge represents a corresponding potential transition between a corresponding pair of potential positions.

[000147] Электронное устройство 210 может быть выполнено с возможностью определения последовательности потенциальных положений из дорожного графа 420 как пути 480. Как более подробно описано выше, узлы/ребра дорожного графа 420 могут быть связаны с соответствующими атрибутами и могут использоваться в сочетании с критериями стоимости для определения стоимости соответствующих ребер в дорожном графе 420. В одном неограничивающем примере алгоритм кратчайшего пути затем может быть применен к стоимости соответствующих ребер в дорожном графе 420 для определения кратчайшего пути с точки зрения его общей стоимости в дорожном графе 420.[000147] Electronic device 210 may be configured to determine a sequence of potential locations from road graph 420 as path 480. As described in more detail above, nodes/edges of road graph 420 may be associated with appropriate attributes and may be used in conjunction with cost criteria for determining the cost of the corresponding edges in the road graph 420. In one non-limiting example, the shortest path algorithm can then be applied to the cost of the corresponding edges in the road graph 420 to determine the shortest path in terms of its total cost in the road graph 420.

ЭТАП 904: генерирование указаний запланированных скоростей для SDC при следовании по последовательности потенциальных положенийSTEP 904: generating indications of planned speeds for the SDC while following the sequence of potential positions

[000148] Способ 900 продолжается этапом 904, на котором электронное устройство выполнено с возможностью генерирования указаний запланированной скорости для SDC при следовании по последовательности потенциальных положений из пути. Можно сказать, что этот этап может соответствовать второму этапу описанной выше техники независимого планирования траектории, во время которой электронное устройство 210 в некотором смысле выполнено с возможностью определять, среди прочего, как скорость транспортного средства 220 должна изменяться во времени при движении по пути, сгенерированному на предыдущем этапе.[000148] Method 900 continues at 904, where the electronic device is configured to generate planned speed indications for the SDC as it follows the sequence of potential positions out of the way. It can be said that this step may correspond to the second step of the independent path planning technique described above, during which the electronic device 210 is in some sense configured to determine, among other things, how the speed of the vehicle 220 should change over time while moving along the path generated on the previous stage.

[000149] Электронное устройство 210 выполнено с возможностью генерирования графа скорости на этапе 904. Например, электронное устройство 210 может быть выполнено с возможностью генерирования графа 600 скорости для пути 480 на участке 350 дороги. Граф 600 скорости имеет узлы и ребра.[000149] Electronic device 210 is configured to generate a speed graph at step 904. For example, electronic device 210 can be configured to generate a speed graph 600 for path 480 on road section 350. The speed graph 600 has nodes and edges.

[000150] Данный узел на графе 600 скорости представляет первое потенциальное состояние транспортного средства 220 на участке 350 дороги, а первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость транспортного средства 220 в первом потенциальном будущем моменте времени. В некоторых вариантах осуществления данное потенциальное состояние транспортного средства 220, связанное с соответствующим узлом на графе 600 скорости, может быть представлено по меньшей мере тройкой «станция, момент времени и скорость», при которых транспортное средство 220 потенциально может оказаться на участке дороги 350 по трассе 480.[000150] This node in the speed graph 600 represents the first potential state of the vehicle 220 on the road section 350, and the first potential state indicates the first potential position and the first potential speed of the vehicle 220 at the first potential future time. In some embodiments, a given potential state of the vehicle 220 associated with the corresponding node in the speed graph 600 can be represented by at least the triple "station, time and speed" at which the vehicle 220 could potentially be on the section of road 350 along the highway 480.

[000151] Заданное ребро графа 600 скорости соединяет данный узел с предыдущим узлом в графе 600 скорости и представляет соответствующий потенциальный переход из предыдущего потенциального состояния в данное потенциальное состояние. В некоторых вариантах осуществления настоящей технологии потенциальный переход может быть переходом из предыдущего потенциального состояния в первое потенциальное состояние при постоянном ускорении.[000151] A given edge of rate graph 600 connects a given node to a previous node in rate graph 600 and represents a corresponding potential transition from a previous potential state to a given potential state. In some embodiments of the present technology, a potential transition may be a transition from a previous potential state to a first potential state at constant acceleration.

[000152] Электронное устройство 210 также выполнено с возможностью генерировать оценку времени для данного узла в графе 600 скорости, указывающую количество времени, которое электронное устройство 210 имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если транспортное средство 220 находится в соответствующем потенциальном состоянии и движущийся объект 310 выполняет заранее определенный неожиданный маневр в соответствующий потенциальный будущий момент времени.[000152] The electronic device 210 is also configured to generate a time estimate for a given node in a speed column 600 indicating the amount of time that the electronic device 210 has before initiating an emergency maneuver to avoid a collision with a moving object if the vehicle 220 is in the appropriate potential state and the moving object 310 performs a predetermined unexpected maneuver at an appropriate potential future time.

[000153] Следует отметить, что во время определения оценки времени электронное устройство 210 фактически не запускает экстренный маневр, а движущийся объект 310 фактически не выполняет заранее определенный неожиданный маневр. По меньшей мере в некоторых вариантах осуществления можно сказать, что при определении оценки времени для данного узла на графе 600 скорости электронное устройство 210 в некотором смысле «моделирует» ситуацию, когда в соответствующий потенциальный будущий момент времени потенциального состояния данного узла движущийся объект 310 выполняет заранее определенный неожиданный маневр, а транспортное средство выполняет экстренный маневр.[000153] It should be noted that during the determination of the time estimate, the electronic device 210 does not actually initiate an emergency maneuver, and the moving object 310 does not actually perform a predetermined unexpected maneuver. In at least some embodiments, it can be said that in determining the time estimate for a given node on the velocity graph 600, the electronic device 210 in some sense "simulates" the situation when, at the corresponding potential future time of the potential state of this node, the moving object 310 performs a predetermined unexpected maneuver, and the vehicle performs an emergency maneuver.

[000154] По меньшей мере в некоторых вариантах осуществления настоящей технологии при генерировании оценки времени для данного узла электронное устройство 210 может быть выполнено с возможностью генерировать экстренную траекторию транспортного средства 220, если транспортное средство 220 выполняет экстренный маневр, когда транспортное средство 220 находится в первом потенциальном состоянии (тогдашнее потенциальное положение, тогдашний потенциальный момент времени и тогдашняя потенциальная скорость). Кроме того, при генерировании оценки времени для данного узла электронное устройство 210 может быть выполнено с возможностью генерирования неожиданной траектории движущегося объекта 310, если объект выполняет заранее определенный неожиданный маневр, когда движущийся объект находится в прогнозируемом потенциальном состоянии в первый потенциальный будущий момент времени.[000154] In at least some embodiments of the present technology, when generating a time estimate for a given node, electronic device 210 may be configured to generate an emergency trajectory for vehicle 220 if vehicle 220 performs an emergency maneuver while vehicle 220 is in the first potential state (then potential position, the then potential moment of time and the then potential velocity). In addition, when generating a time estimate for a given node, the electronic device 210 may be configured to generate an unexpected trajectory of the moving object 310 if the object performs a predetermined unexpected maneuver when the moving object is in a predicted potential state at the first potential future time.

[000155] В некоторых вариантах осуществления, чтобы генерировать неожиданную траекторию движущегося объекта 310, электронное устройство 210 может сначала быть выполнено с возможностью определения прогнозируемого потенциального состояния движущегося объекта 310, которое соответствует потенциальному будущему моменту времени данного узла/потенциального состояния транспортного средства 220.[000155] In some embodiments, in order to generate an unexpected trajectory of the moving object 310, the electronic device 210 may first be configured to determine a predicted potential state of the moving object 310 that corresponds to the potential future time of a given node/potential state of the vehicle 220.

[000156] Предполагается, что электронное устройство 210 может быть выполнено с возможностью генерировать множество прогнозируемых траекторий для движущегося объекта 310 на основе одного или нескольких предыдущих состояний движущегося объекта 310. Электронное устройство 210 также может определять наиболее вероятную прогнозируемую траекторию среди множества прогнозируемых траекторий и/или выбирать одну из множества прогнозируемых траекторий. Электронное устройство 210 может затем выбрать прогнозируемое потенциальное состояние движущегося объекта 310 (которое должно использоваться в качестве начального состояния для инициирования моделирования неожиданной траектории движущегося объекта 310) как потенциальное состояние движущегося объекта 310 в момент времени, который соответствует моменту времени, связанному с данным узлом, и который соответствует наиболее вероятной/выбранной прогнозируемой траектории движущегося объекта 310.[000156] It is contemplated that the electronic device 210 may be configured to generate a plurality of predicted trajectories for the moving object 310 based on one or more previous states of the moving object 310. The electronic device 210 may also determine the most likely predicted trajectory among the plurality of predicted trajectories and/or choose one of the many predictable trajectories. The electronic device 210 may then select the predicted potential state of the moving object 310 (which should be used as the initial state to initiate the simulation of the unexpected trajectory of the moving object 310) as the potential state of the moving object 310 at a time that corresponds to the time associated with the given node, and which corresponds to the most likely/selected predicted trajectory of the moving object 310.

[000157] Электронное устройство 210 может быть выполнено с возможностью проецировать момент времени и конечное положение неожиданной траектории движущегося объекта 310 на момент времени и конечное положение экстренной траектории транспортного средства 220. Цель такого проецирования момента времени и соответствующего положения из неожиданной траектории на экстренную траекторию состоит в том, чтобы определить расстояние между транспортным средством 220 и движущимся объектом 310 после завершения экстренного маневра и заранее определенного неожиданного маневра (в процессе моделирования).[000157] The electronic device 210 may be configured to project the time and end position of the unexpected trajectory of the moving object 310 to the time and end position of the emergency trajectory of the vehicle 220. The purpose of such a projection of the time and corresponding position from the unexpected trajectory onto the emergency trajectory is to is to determine the distance between the vehicle 220 and the moving object 310 after the completion of an emergency maneuver and a predetermined unexpected maneuver (during simulation).

[000158] Электронное устройство 210 также может быть выполнено с возможностью генерирования оценки времени на основе расстояния и потенциальной скорости потенциального состояния, связанного с данным узлом (тогдашняя потенциальная скорость транспортного средства 220).[000158] The electronic device 210 can also be configured to generate a time estimate based on the distance and potential speed of a potential state associated with a given node (then potential speed of vehicle 220).

[000159] Электронное устройство 210 может быть выполнено с возможностью генерировать стоимость ребра, ведущего к данному узлу в графе 600 скорости, с использованием оценки времени данного узла. Стоимость ребра указывает на безопасность соответствующего потенциального перехода. В некоторых вариантах осуществления стоимость может быть сгенерирована в ответ на то, что оценка времени ниже заранее определенного порога. В одной реализации настоящей технологии заранее определенный порог может составлять примерно 1,5 секунды, тогда как в других реализациях заранее определенный порог может составлять 1 секунду, 2 секунды, 1,2 секунды, 1,7 секунды и т.п. Также предполагается, что стоимость может быть пропорциональна квадрату разности между заранее определенным порогом и оценкой времени.[000159] The electronic device 210 may be configured to generate the cost of an edge leading to a given node in the rate graph 600 using a given node's time estimate. The cost of an edge indicates the safety of the corresponding potential transition. In some embodiments, a cost may be generated in response to a time estimate being below a predetermined threshold. In one implementation of the present technology, the predetermined threshold may be about 1.5 seconds, while in other implementations, the predetermined threshold may be 1 second, 2 seconds, 1.2 seconds, 1.7 seconds, or the like. It is also contemplated that the cost may be proportional to the square of the difference between the predetermined threshold and the time estimate.

[000160] В тех случаях, когда более одного движущегося объекта находится в окружении транспортного средства 220, электронное устройство 210 может быть выполнено с возможностью вычисления соответствующих оценок времени для каждого из более чем одного движущегося объекта и определения соответствующих стоимостей для каждого из более чем одного движущегося объекта. Эти соответствующие стоимости могут быть взвешены и суммированы, чтобы определить стоимость ребра, ведущего к данному узлу. Предполагается, что уменьшение стоимости для данного ребра графа 600 скорости может быть выполнено для соответствующих ребер графа 600 скорости.[000160] In cases where more than one moving object is in the vicinity of the vehicle 220, the electronic device 210 may be configured to calculate appropriate time estimates for each of the more than one moving object and determine the corresponding costs for each of the more than one moving object. object. These respective costs can be weighted and summed to determine the cost of an edge leading to a given node. It is contemplated that cost reduction for a given edge of the rate graph 600 can be performed for the corresponding edges of the rate graph 600 .

[000161] Электронное устройство 210 выполнено с возможностью определения последовательности ребер в графе 600 скорости с использованием стоимости данного ребра, так что последовательность ребер имеет допустимую общую стоимость ребер. Например, общая стоимость потенциальной последовательности ребер может сравниваться с пороговой стоимостью, и если общая стоимость возможной последовательности ниже пороговой стоимости, электронное устройство 210 может быть выполнено с возможностью выбора возможной последовательности в качестве целевой последовательности для планирования скоростей движения транспортного средства 220. В другом примере электронное устройство 210 может выбрать последовательность ребер в графе 600 скорости, которая связана с наименьшей общей стоимостью ребер среди возможных последовательностей ребер.[000161] The electronic device 210 is configured to determine the sequence of edges in the velocity graph 600 using the cost of that edge, such that the sequence of edges has a valid total cost of the edges. For example, the total cost of the candidate rib sequence may be compared to a threshold cost, and if the total cost of the candidate sequence is below the threshold cost, the electronic device 210 may be configured to select the candidate sequence as a target sequence for planning vehicle speeds 220. In another example, the electronic device device 210 may select the edge sequence in rate graph 600 that is associated with the lowest total edge cost among the possible edge sequences.

[000162] Электронное устройство 210 выполнено с возможностью генерировать указания запланированных скоростей (представляющих профиль скорости) с использованием потенциальных состояний узлов, соединенных выбранной последовательностью ребер на графе 600 скорости.[000162] Electronic device 210 is configured to generate indications of planned speeds (representing a speed profile) using potential states of nodes connected by a selected sequence of edges in speed graph 600.

ЭТАП 906: побуждение управления SDC вдоль пути в соответствии с запланированными скоростямиSTEP 906: induce SDC control along the path in accordance with the planned speeds

[000163] Способ 900 переходит к этапу 906 с электронным устройством 210, выполненным с возможностью обеспечения работы транспортного средства 220 по пути в соответствии с запланированными скоростями. По меньшей мере в одном варианте осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью генерирования одной или нескольких команд, предназначенных для системы управления транспортным средством 220, так что транспортное средство 220 достигает соответствующих станций пути при соответствующих запланированных скоростях. Например, электронное устройство 210 может быть выполнено с возможностью обрабатывать указания запланированных скоростей и генерировать команды для системы управления транспортным средством, указывающие на синхронизированные ускорения/замедления, которые позволят транспортному средству 220 фактически двигаться по маршруту с запланированными скоростями.[000163] The method 900 proceeds to step 906 with the electronic device 210 configured to ensure that the vehicle 220 operates along the path in accordance with the planned speeds. In at least one embodiment of the present technology, the electronic device 210 may be configured to generate one or more commands intended for the vehicle control system 220 so that the vehicle 220 reaches the respective track stations at the respective planned speeds. For example, electronic device 210 may be configured to process indications of planned speeds and generate commands to the vehicle control system indicative of synchronized accelerations/decelerations that will allow vehicle 220 to actually travel along the route at the planned speeds.

[000164] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.[000164] Modifications and improvements to the above 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.

[000165] Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в определенном порядке, следует понимать, что некоторые из этих этапов могут быть объединены, разделены на части или переупорядочены без отклонения от принципов настоящая технология. Соответственно, порядок и группировка упомянутых этапов ограничениями настоящей технологии не являются.[000165] 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 (86)

1. Способ управления беспилотным автомобилем (SDC) на местности, причем в окружении SDC находится движущийся объект, SDC управляется электронным устройством, способ выполняется электронным устройством, причем способ включает в себя этапы, на которых:1. A method for controlling an unmanned vehicle (SDC) on the ground, wherein there is a moving object in the environment of the SDC, the SDC is controlled by an electronic device, the method is performed by the electronic device, and the method includes the steps of: в данный момент времени во время работы SDC:at a given time during SDC operation: генерируют посредством электронного устройства путь для SDC на местности, причем путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC;electronically generating a path for the SDC on the ground, the path including a sequence of potential positions on the ground to be followed by the SDC; генерируют посредством электронного устройства указания запланированных скоростей для SDC при следовании по последовательности потенциальных положений, причем генерирование указаний включает в себя этапы, на которых:electronically generating indications of planned speeds for the SDC following the sequence of potential positions, the generation of indications including the steps of: генерируют посредством электронного устройства структуру графа, имеющую узлы и ребра,generate by means of an electronic device a graph structure having nodes and edges, причем данный узел представляет первое потенциальное состояние SDC на местности, первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость SDC в первый потенциальный будущий момент времени,moreover, this node represents the first potential state of the SDC on the ground, the first potential state indicates the first potential position and the first potential speed of the SDC at the first potential future time, данное ребро соединяет данный узел с предыдущим узлом в структуре графа и представляет соответствующий потенциальный переход от предыдущего потенциального состояния к первому потенциальному состоянию;this edge connects this node to the previous node in the graph structure and represents the corresponding potential transition from the previous potential state to the first potential state; генерируют посредством электронного устройства оценку времени для данного узла, указывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в первом потенциальном состоянии и движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени;generating by the electronic device a time estimate for the given node indicating the amount of time the electronic device has before initiating an emergency maneuver to avoid collision with a moving object if the SDC is in the first potential state and the moving object performs a predetermined unexpected maneuver at the first potential future time ; генерируют посредством электронного устройства стоимость для данного ребра с использованием оценки времени данного узла, причем стоимость указывает на безопасность соответствующего потенциального перехода;electronically generating a cost for the given edge using the time estimate of the given node, the cost indicating the security of the corresponding potential transition; определяют посредством электронного устройства последовательность ребер с использованием стоимости данного ребра, причем последовательность ребер имеет допустимую общую стоимость ребер; иdetermining by means of an electronic device a sequence of ribs using the cost of this rib, and the sequence of ribs has a valid total cost of the ribs; And генерируют посредством электронного устройства указаний запланированных скоростей с использованием потенциальных состояний узлов, соединенных последовательностью ребер; иgenerating, by means of an electronic device, indications of planned speeds using potential states of nodes connected by a sequence of edges; And побуждают посредством электронного устройства управление SDC вдоль пути в соответствии с запланированными скоростями.causing the SDC to be controlled by the electronic device along the track in accordance with the planned speeds. 2. Способ по п. 1, в котором генерирование оценки времени включает в себя этапы, на которых:2. The method of claim 1, wherein generating the time estimate includes the steps of: генерируют посредством электронного устройства экстренную траекторию SDC, если SDC выполняет экстренный маневр, когда SDC находится в первом потенциальном состоянии;generating by the electronic device an emergency trajectory of the SDC if the SDC performs an emergency maneuver when the SDC is in the first potential state; генерируют посредством электронного устройства неожиданную траекторию движущегося объекта, если движущийся объект выполняет заранее определенный неожиданный маневр, когда движущийся объект находится в третьем потенциальном состоянии в первый потенциальный будущий момент времени;electronically generating an unexpected trajectory of the moving object if the moving object performs a predetermined unexpected maneuver when the moving object is in a third potential state at a first potential future time; проецируют посредством электронного устройства момент времени и конечное положение неожиданной траектории движущегося объекта на момент времени и конечное положение экстренной траектории SDC для определения расстояния между SDC и движущимся объектом после завершения экстренного маневра и заранее определенного неожиданного маневра; иelectronically projecting a point in time and an end position of the unexpected trajectory of the moving object to the point in time and an end position of the emergency trajectory SDC to determine the distance between the SDC and the moving object after completing the emergency maneuver and the predetermined unexpected maneuver; And генерируют посредством электронного устройства оценку времени на основе оценки расстояния и первой потенциальной скорости первого потенциального состояния SDC.generating, by means of the electronic device, a time estimate based on the distance estimate and the first potential speed of the first potential SDC state. 3. Способ по п. 2, при этом способ дополнительно содержит этапы, на которых:3. The method of claim 2, wherein the method further comprises the steps of: генерируют посредством электронного устройства множества прогнозируемых траекторий для движущегося объекта на местности;generating by means of an electronic device a plurality of predicted trajectories for a moving object on the ground; определяют посредством электронного устройства наиболее вероятную прогнозируемую траекторию среди множества прогнозируемых траекторий; иdetermining by means of the electronic device the most likely predicted trajectory among the plurality of predicted trajectories; And выбирают посредством электронного устройства третье потенциальное состояние движущегося объекта как потенциального состояния движущегося объекта в первый потенциальный будущий момент времени в соответствии с наиболее вероятной прогнозируемой траекторией.by means of an electronic device, the third potential state of the moving object is selected as the potential state of the moving object at the first potential future point in time in accordance with the most likely predicted trajectory. 4. Способ по п. 1, в котором движущийся объект содержит первый движущийся объект, и в котором второй движущийся объект находится в окружении SDC, причем оценка времени является первой оценкой времени, связанной с первым движущимся объектом, причем генерирование указаний дополнительно включает в себя этапы, на которых:4. The method of claim. 1, in which the moving object contains the first moving object, and in which the second moving object is in the SDC environment, and the time estimate is the first time estimate associated with the first moving object, and generating indications further includes the steps , where: генерируют посредством электронного устройства вторую оценку времени для данного узла, указывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения со вторым движущимся объектом, если SDC находится в первом потенциальном состоянии и второй движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени;generating by the electronic device a second time estimate for the given node indicating the amount of time the electronic device has before initiating an emergency maneuver to avoid collision with the second moving object if the SDC is in the first potential state and the second moving object performs a predetermined unexpected maneuver in the first potential future point in time; и при этом генерирование стоимости включает в себя этап, на котором генерируют посредством электронного устройства стоимость для данного ребра с использованием первой оценки времени и второй оценки времени данного узла.and wherein the cost generation includes electronically generating a cost for a given edge using the first time estimate and the second time estimate of the given node. 5. Способ по п. 4, в котором генерирование стоимости для данного ребра с использованием первой оценки времени и второй оценки времени включает в себя этап, на котором вычисляют посредством электронного устройства взвешенную сумму первой оценки времени и второй оценки времени.5. The method of claim 4, wherein generating a cost for a given edge using the first time estimate and the second time estimate includes electronically calculating a weighted sum of the first time estimate and the second time estimate. 6. Способ по п. 1, в котором стоимость генерируют в ответ на то, что оценка времени ниже заранее определенного порога.6. The method of claim 1, wherein the cost is generated in response to the time estimate being below a predetermined threshold. 7. Способ по п. 6, в котором стоимость пропорциональна квадрату разности между заранее определенным порогом и оценкой времени.7. The method of claim 6 wherein the cost is proportional to the square of the difference between the predetermined threshold and the time estimate. 8. Способ по п. 1, в котором соответствующий потенциальный переход представляет собой переход от предыдущего потенциального состояния к первому потенциальному состоянию при постоянном ускорении.8. The method of claim. 1, in which the corresponding potential transition is a transition from the previous potential state to the first potential state at constant acceleration. 9. Способ по п. 1, в котором генерирование пути включает в себя этапы, на которых:9. The method of claim 1, wherein generating the path includes the steps of: генерируют посредством электронного устройства другую структуру графа для местности на основе геометрии местности, при этом другая структура графа имеет другие узлы и другие ребра,generating by means of an electronic device another graph structure for the terrain based on the geometry of the terrain, while the other graph structure has other nodes and other edges, причем данный другой узел представляет соответствующее потенциальное положение SDC на местности,wherein this other node represents the corresponding potential position of the SDC on the ground, данное другое ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений; иthis other edge represents the corresponding potential transition between the corresponding pair of potential positions; And определяют посредством электронного устройства последовательность потенциальных положений из другой структуры графа.determining by means of an electronic device a sequence of potential positions from another graph structure. 10. Способ по п. 1, при этом способ дополнительно содержит этапы, на которых:10. The method of claim 1, wherein the method further comprises the steps of: в другой данный момент времени во время работы SDC после данного момента времени:at another given point in time while the SDC is running after this point in time: генерируют посредством электронного устройства другой путь для SDC на местности, причем путь включает в себя другую последовательность потенциальных положений на местности, по которым должен следовать SDC;electronically generating a different path for the SDC on the ground, the path including a different sequence of potential positions on the ground to be followed by the SDC; генерируют посредством электронного устройства другую структуру графа, имеющую другие узлы и другие ребра,generate by means of an electronic device another graph structure having other nodes and other edges, генерируют посредством электронного устройства другую оценку времени для данного другого узла, указывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии заданного другого узла и движущийся объект выполняет заранее определенный неожиданный маневр в соответствующий потенциальный момент времени;generating by the electronic device another time estimate for the given other node indicating the amount of time the electronic device has before initiating an emergency maneuver to avoid collision with the moving object if the SDC is in the corresponding potential state of the given other node and the moving object performs a predetermined unexpected maneuver in corresponding potential point in time; выбирают посредством электронного устройства другую последовательность ребер в структуре графа на основе другой оценки времени другого заданного узла;electronically select a different sequence of edges in the graph structure based on a different time estimate of another given node; генерируют посредством электронного устройства указания других запланированных скоростей для SDC при следовании по другой последовательности потенциальных положений на основе другой последовательности ребер; иelectronically generating indications of other planned speeds for the SDC while following a different sequence of potential positions based on a different sequence of fins; And побуждают посредством электронного устройства работы SDC вдоль пути в соответствии с другими запланированными скоростями.the electronic device is induced to operate the SDC along the track in accordance with the other planned speeds. 11. Способ по п. 1, в котором местность представляет собой участок дороги, имеющий полосу движения, и SDC следует за движущимся объектом в полосе движения, причем заранее определенным неожиданным маневром движущегося объекта является маневр быстрого торможения, экстренным маневром SDC является маневр быстрого торможения.11. The method of claim 1, wherein the terrain is a road section having a traffic lane and the SDC follows a moving object in the traffic lane, the predetermined unexpected maneuver of the moving object being a quick braking maneuver, the SDC emergency maneuver being a quick braking maneuver. 12. Способ по п. 1, в котором местность представляет собой участок дороги, имеющий первую полосу движения и вторую полосу движения, SDC движется по первой полосе движения, объект движется по второй полосе движения, причем заранее определенный неожиданный маневр движущегося объекта представляет собой маневр со сменой полосы движения на первую полосу движения, экстренный маневр SDC представляет собой маневр быстрого торможения.12. The method of claim 1, wherein the terrain is a road section having a first lane and a second lane, the SDC is moving in the first lane, the object is moving in the second lane, and the predetermined unexpected maneuver of the moving object is a maneuver with lane change to the first lane, the SDC emergency maneuver is a quick braking maneuver. 13. Электронное устройство для управления беспилотным автомобилем (SDC) на местности, причем движущийся объект находится в окружении SDC, причем электронное устройство выполнено с возможностью:13. An electronic device for controlling an unmanned vehicle (SDC) on the ground, and the moving object is surrounded by SDC, and the electronic device is configured to: в данный момент времени во время работы SDC:at a given time during SDC operation: генерировать путь для SDC на местности, причем путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC;generate a path for the SDC on the ground, and the path includes a sequence of potential positions on the ground, which should be followed by the SDC; генерировать указания запланированных скоростей для SDC при следовании по последовательности потенциальных положений, причем чтобы генерировать указания, электронное устройство выполнено с возможностью:generate indications of planned speeds for the SDC while following the sequence of potential positions, and in order to generate indications, the electronic device is configured to: генерировать структуру графа, имеющую узлы и ребра,generate a graph structure with nodes and edges, причем данный узел представляет первое потенциальное состояние SDC на местности, первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость SDC в первый потенциальный будущий момент времени,moreover, this node represents the first potential state of the SDC on the ground, the first potential state indicates the first potential position and the first potential speed of the SDC at the first potential future time, данное ребро, соединяющее данный узел с предыдущим узлом в структуре графа и представляющее соответствующий потенциальный переход от предыдущего потенциального состояния к первому потенциальному состоянию;a given edge connecting the given node to the previous node in the graph structure and representing the corresponding potential transition from the previous potential state to the first potential state; генерировать оценку времени для данного узла, показывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в первом потенциальном состоянии, а движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени;generate a time estimate for a given node indicating the amount of time the electronic device has before triggering an emergency maneuver to avoid collision with a moving object if the SDC is in the first potential state and the moving object performs a predetermined unexpected maneuver at the first potential future time; генерировать стоимость для данного ребра с использованием оценки времени данного узла, причем стоимость указывает на безопасность соответствующего потенциального перехода;generate a cost for a given edge using the given node's time estimate, the cost indicating the security of the corresponding potential transition; определять последовательность ребер с использованием стоимости данного ребра, причем последовательность ребер имеет допустимую общую стоимость ребер; иdetermine the sequence of edges using the cost of the given edge, and the sequence of edges has a valid total edge cost; And генерировать указания запланированных скоростей с использованием потенциальных состояний узлов, соединенных последовательностью ребер; иgenerate indications of planned speeds using potential states of nodes connected by a sequence of edges; And предписывать работу SDC вдоль пути в соответствии с запланированными скоростями.order the SDC to operate along the track in accordance with the planned speeds. 14. Электронное устройство по п. 13, в котором для генерирования оценки времени электронное устройство выполнено с возможностью:14. The electronic device of claim 13, wherein, in order to generate the time estimate, the electronic device is configured to: генерировать экстренную траекторию SDC, если SDC выполняет экстренный маневр, когда SDC находится в первом потенциальном состоянии;generate an emergency SDC trajectory if the SDC performs an emergency maneuver when the SDC is in the first potential state; генерировать неожиданную траекторию движущегося объекта, если движущийся объект выполняет заранее определенный неожиданный маневр, когда движущийся объект находится в третьем потенциальном состоянии в первый потенциальный будущий момент времени;generate an unexpected trajectory of the moving object if the moving object performs a predetermined unexpected maneuver when the moving object is in a third potential state at a first potential future time; проецировать момент времени и конечное положение неожиданной траектории движущегося объекта на момент времени и конечное положение экстренной траектории SDC для определения расстояния между SDC и движущимся объектом после завершения экстренного маневра и заранее определенного неожиданного маневра; иprojecting a point in time and an end position of the unexpected trajectory of the moving object to a point in time and an end position of the SDC emergency trajectory to determine the distance between the SDC and the moving object after completing the emergency maneuver and the predetermined unexpected maneuver; And генерировать оценку времени на основе оценки расстояния и первой потенциальной скорости первого потенциального состояния SDC.generate a time estimate based on the distance estimate and the first potential velocity of the first potential SDC state. 15. Электронное устройство по п. 14, при этом электронное устройство дополнительно выполнено с возможностью:15. An electronic device according to claim 14, wherein the electronic device is additionally configured to: генерировать множество прогнозируемых траекторий для движущегося объекта на местности;generate a set of predicted trajectories for a moving object on the ground; определять наиболее вероятную прогнозируемую траекторию среди множества прогнозируемых траекторий; иdetermine the most likely predicted trajectory among the plurality of predicted trajectories; And выбрать третье потенциальное состояние движущегося объекта как потенциальное состояние движущегося объекта в первый потенциальный будущий момент времени в соответствии с наиболее вероятной прогнозируемой траекторией.select the third potential state of the moving object as the potential state of the moving object at the first potential future time in accordance with the most likely predicted trajectory. 16. Электронное устройство по п. 13, в котором движущийся объект содержит первый движущийся объект, и при этом второй движущийся объект находится в окружении SDC, при этом оценка времени является первой оценкой времени, связанной с первым движущимся объектом, для генерирования указаний электронное устройство дополнительно выполнено с возможностью:16. The electronic device of claim. 13, in which the moving object contains the first moving object, and while the second moving object is in the environment of the SDC, while the time estimate is the first time estimate associated with the first moving object, to generate indications, the electronic device further made with the ability to: генерировать вторую оценку времени для данного узла, показывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения со вторым движущимся объектом, если SDC находится в первом потенциальном состоянии, а второй движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени;generate a second time estimate for a given node indicating the amount of time the electronic device has before initiating an emergency maneuver to avoid a collision with a second moving object if the SDC is in the first potential state and the second moving object performs a predetermined unexpected maneuver at the first potential future instant time; и при этом для генерирования стоимости электронное устройство выполнено с возможностью генерирования стоимости для данного ребра с использованием первой оценки времени и второй оценки времени данного узла.and wherein, to generate the cost, the electronic device is configured to generate a cost for a given edge using the first time estimate and the second time estimate of the given node. 17. Электронное устройство по п. 16, в котором для генерирования стоимости для данного ребра с использованием первой оценки времени и второй оценки времени электронное устройство выполнено с возможностью вычисления взвешенной суммы первой оценки времени и второй оценки времени.17. The electronic device of claim 16, wherein in order to generate a cost for a given edge using the first time estimate and the second time estimate, the electronic device is configured to compute a weighted sum of the first time estimate and the second time estimate. 18. Электронное устройство по п. 13, в котором стоимость генерируется в ответ на то, что оценка времени ниже заранее определенного порога.18. The electronic device of claim 13, wherein the cost is generated in response to the time estimate being below a predetermined threshold. 19. Электронное устройство по п. 18, в котором стоимость пропорциональна квадрату разности между заранее определенным порогом и временной шкалой.19. The electronic device of claim 18, wherein the cost is proportional to the square of the difference between a predetermined threshold and a time scale. 20. Электронное устройство по п. 13, в котором соответствующий потенциальный переход представляет собой переход от предыдущего потенциального состояния к первому потенциальному состоянию при постоянном ускорении.20. The electronic device of claim 13, wherein the corresponding potential transition is a transition from a previous potential state to a first potential state at constant acceleration. 21. Электронное устройство по п. 13, в котором для генерирования пути электронное устройство выполнено с возможностью:21. The electronic device of claim 13, wherein, in order to generate the path, the electronic device is configured to: генерировать другую структуру графа для местности на основе геометрии местности, при этом другая структура графа имеет другие узлы и другие ребра,generate a different graph structure for the terrain based on the geometry of the terrain, while the different graph structure has different nodes and different edges, причем данный другой узел представляет соответствующее потенциальное положение SDC на местности,wherein this other node represents the corresponding potential position of the SDC on the ground, данное другое ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений; иthis other edge represents the corresponding potential transition between the corresponding pair of potential positions; And определять последовательность потенциальных положений из другой структуры графа.determine the sequence of potential positions from another graph structure. 22. Электронное устройство по п. 13, при этом электронное устройство дополнительно выполнено с возможностью:22. An electronic device according to claim 13, wherein the electronic device is additionally configured to: в другой данный момент времени во время работы SDC после данного момента времени:at another given point in time while the SDC is running after this point in time: генерировать другой путь для SDC на местности, причем путь включает в себя другую последовательность потенциальных положений на местности, по которой должен следовать SDC;generate a different path for the SDC on the ground, and the path includes a different sequence of potential positions on the ground, which should be followed by the SDC; генерировать другую структуру графа, имеющую другие узлы и другие ребра,generate a different graph structure having different nodes and different edges, генерировать другую оценку времени для данного другого узла, показывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии данного другого узла и движущийся объект выполняет заранее определенный неожиданный маневр в соответствующий потенциальный момент времени;generate a different time estimate for this other node indicating the amount of time the electronic device has before triggering an emergency maneuver to avoid collision with a moving object if the SDC is in the corresponding potential state of this other node and the moving object performs a predetermined unexpected maneuver at the appropriate potential instant time; выбрать другую последовательность ребер в структуре графа на основе другой оценки времени другого данного узла;select a different sequence of edges in the graph structure based on a different time estimate of another given node; генерировать указания других запланированных скоростей для SDC при следовании по другой последовательности потенциальных положений на основе другой последовательности ребер; иgenerate indications of other planned speeds for the SDC while following a different sequence of potential positions based on a different sequence of edges; And предписывать работу SDC вдоль пути в соответствии с другими запланированными скоростями.direct the SDC to operate along the track in accordance with other planned speeds. 23. Электронное устройство по п. 13, в котором местность представляет собой участок дороги, имеющий полосу движения, и SDC следует за движущимся объектом в полосе движения, причем заранее определенным неожиданным маневром объекта является маневр быстрого торможения и экстренным маневром SDC является маневр быстрого торможения.23. The electronic device of claim 13, wherein the terrain is a road section having a traffic lane and the SDC follows a moving object in the traffic lane, the object's predetermined unexpected maneuver being a quick braking maneuver and the SDC's emergency maneuver being a quick braking maneuver. 24. Электронное устройство по п. 13, в котором местность представляет собой участок дороги, имеющий первую полосу движения и вторую полосу движения, SDC движется по первой полосе движения, объект движется по второй полосе движения, причем заранее определенный неожиданный маневр движущегося объекта представляет собой маневр с изменением полосы движения на первую полосу движения, экстренный маневр SDC представляет собой маневр быстрого торможения.24. The electronic device of claim 13, wherein the terrain is a road section having a first lane and a second lane, the SDC is moving in the first lane, the object is moving in the second lane, and the predetermined unexpected maneuver of the moving object is the maneuver with a lane change to the first lane, the emergency SDC maneuver is a quick braking maneuver.
RU2021116612A 2021-06-08 Method and electronic device for control of self-driving car RU2790105C2 (en)

Publications (2)

Publication Number Publication Date
RU2021116612A RU2021116612A (en) 2022-12-08
RU2790105C2 true RU2790105C2 (en) 2023-02-14

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2638879C2 (en) * 2015-04-27 2017-12-18 Тойота Дзидося Кабусики Кайся Automatic control system for vehicle
US20200339158A1 (en) * 2019-04-25 2020-10-29 Yandex Self Driving Group Llc Methods and systems for determining trajectory estimation order for vehicles
RU2746026C1 (en) * 2019-12-25 2021-04-06 Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" Method and system for generating the reference path of a self-driving car (sdc)
US10990099B2 (en) * 2018-11-16 2021-04-27 Great Wall Motor Company Limited Motion planning methods and systems for autonomous vehicle

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2638879C2 (en) * 2015-04-27 2017-12-18 Тойота Дзидося Кабусики Кайся Automatic control system for vehicle
US10990099B2 (en) * 2018-11-16 2021-04-27 Great Wall Motor Company Limited Motion planning methods and systems for autonomous vehicle
US20200339158A1 (en) * 2019-04-25 2020-10-29 Yandex Self Driving Group Llc Methods and systems for determining trajectory estimation order for vehicles
RU2746026C1 (en) * 2019-12-25 2021-04-06 Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" Method and system for generating the reference path of a self-driving car (sdc)

Similar Documents

Publication Publication Date Title
US11126186B2 (en) Systems and methods for predicting the trajectory of a road agent external to a vehicle
US11131993B2 (en) Methods and systems for trajectory forecasting with recurrent neural networks using inertial behavioral rollout
US11169528B2 (en) Initial trajectory generator for motion planning system of autonomous vehicles
JP7546580B2 (en) Control system and method for sampling-based planning of possible trajectories of a vehicle - Patents.com
CN110857085A (en) Vehicle path planning
US20190235520A1 (en) Cognitive mapping for vehicles
US11745764B2 (en) Method and system for operating an autonomous agent with incomplete environmental information
RU2764479C2 (en) Method and system for controlling the operation of a self-propelled car
EP3842760B1 (en) Methods of and system for generating trajectory for self-driving car (sdc)
US11814072B2 (en) Method and system for conditional operation of an autonomous agent
RU2751734C2 (en) Methods and processors for steering control of self-driving car
US11718290B2 (en) Methods and systems for safe out-of-lane driving
RU2757234C2 (en) Method and system for calculating data for controlling the operation of a self-driving car
JP7369078B2 (en) Vehicle control device, vehicle control method, and program
EP3857327B1 (en) Implementation of dynamic cost function of self-driving vehicles
RU2767826C1 (en) Method and device for vehicle control
WO2023076085A1 (en) Systems, methods, and computer program products for severity classifications of simulated collisions
JP2021160494A (en) Vehicle control device, vehicle control method, and program
JP2021068423A (en) Future behavior estimation device, vehicle control device, future behavior estimation method, and program
JP2021160531A (en) Vehicle control device, vehicle control method, and program
JP2021160533A (en) Vehicle control device, vehicle control method, and program
RU2790105C2 (en) Method and electronic device for control of self-driving car
US20230053243A1 (en) Hybrid Performance Critic for Planning Module's Parameter Tuning in Autonomous Driving Vehicles
RU2789921C2 (en) Method and device for control of self-driving car
RU2778300C1 (en) Method and system for predicting a manoeuvre of the object