METHOD AND DEVICE FOR CONTROL OF SELF-DRIVING CAR
СПОСОБ И УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ БЕСПИЛОТНЫМ АВТОМОБИЛЕМ

Область техники
[0001] Настоящая технология в основном относится к беспилотным автомобилям (SDC); и, в частности, к электронному устройству и способу управления SDC.
Уровень техники
[0002] Беспилотные автомобили (SDC) - это транспортные средства, которые могут автономно перемещаться через частные и/или общественные места. Используя систему датчиков, которые определяют местоположение и/или окружение SDC, логическая схема внутри или связанная с SDC управляет скоростью, движением, торможением и рулевым управлением SDC на основе обнаруженного датчиком местоположения и окружения SDC. Например, компьютерная система может использовать данные датчиков для генерирования будущих траекторий для SDC на участке дороги и может управлять работой SDC, чтобы он следовал выбранной траектории на этом участке дороги.
[0003] Одной из основных технических проблем при реализации вышеупомянутых систем является способность компьютерной системы обнаруживать объект, потенциально присутствующий вокруг транспортного средства, например, транспортное средство впереди текущего транспортного средства (текущее транспортное средство является SDC, имеющим компьютерную систему на борту), какое транспортное средство впереди может представлять риск/опасность для текущего транспортного средства и может потребовать от компьютерной системы принятия корректирующих мер, будь то торможение или иное изменение скорости, остановка или смена полосы движения. На более детальном уровне проблема обнаружения объекта заключается не только в двоичном обнаружении (наличие или отсутствие объекта), но и в скорости и точности, связанных с таким анализом и определением (особенно во избежание «ложноотрицательных результатов», в результате чего система не идентифицирует объект, который действительно присутствует перед транспортным средством или около него).
[0004] Острота этой проблемы иллюстрируется следующим гипотетическим сценарием. Представьте себе, что по маршруту едет беспилотное или частично автономное транспортное средство. Ребенок (или взрослый, домашнее животное и т.п.) бежит впереди транспортного средства. Крайне важно, чтобы компьютерная система, управляющая транспортным средством, быстро обнаруживала присутствие объекта и предпринимала корректирующие действия, чтобы избежать столкновения. Естественно, чем быстрее компьютерная система обнаруживает присутствие объекта, тем больше времени у компьютерной системы будет для определения корректирующего действия и выдачи команды транспортному средству на выполнение корректирующего действия.
[0005] Как правило, SDC имеет множество датчиков, позволяющих SDC фиксировать и «понимать» окружающую его территорию. SDC может использовать различные системы датчиков, такие как, но без ограничений, системы камер, радарные системы и системы лидара. Различные системы датчиков могут использоваться для сбора различной информации и/или в другом формате о местоположении и окружении SDC. Например, системы камер могут использоваться для захвата данных изображения окружения SDC. В другом примере системы лидара могут использоваться для сбора данных облака точек для построения трехмерных картографических представлений окружения и других потенциальных объектов, расположенных поблизости от SDC.
[0006] Как правило, SDC обрабатывает данные, захваченные таким множеством датчиков, для генерирования прогноза, обычно с использованием алгоритма машинного обучения (MLA), в отношении присутствия одного или нескольких объектов поблизости от SDC. Такое прогнозирование затем может использоваться SDC для определения наиболее оптимального текущего маневра, будь то продолжение движения, остановка, изменение направления, ускорение или тому подобное.
[0007] Патент США № 8,121,749 раскрывает способы и системы управления автономным транспортным средством. Способ включает в себя управление операциями транспортного средства, основанное по меньшей мере частично на стоимости ребер. Ребро - это представление пути, по которому может перемещаться транспортное средство. Стоимости ребер определяются системой оценки и основаны по меньшей мере на одном из оценочного времени прохождения ребра и возможности перемещения по ребру. Способ дополнительно включает определение условий ребер, по которым перемещается транспортное средство, и динамическое обновление стоимости ребер на основе обнаруженных условий.
Сущность изобретения
[0008] Существует потребность в системах и способах, которые позволяют избежать, уменьшить или преодолеть ограничения предшествующего уровня техники. Следует отметить, что для генерирования данных для управления работой беспилотного автомобиля (SDC), таких как, например, данные о траектории, может потребоваться структура графа участка дороги, на котором в настоящее время функционирует SDC. Например, электронное устройство может быть выполнено с возможностью генерирования структуры графа, представляющей соответствующие потенциальные положения и потенциальные переходы для SDC на участке дороги. Электронное устройство может определять заданную последовательность ребер в структуре графа, которая (i) связана с приемлемой общей стоимостью ребер в последовательности, и (ii) представляет потенциальный путь, по которому SDC должен следовать на участке дороги. Затем электронное устройство может генерировать данные о траектории для SDC, чтобы фактически следовать по этому пути на участке дороги.
[0009] Создание структуры графа для участка дороги - это затратная с вычислительной точки зрения операция, которая может занять значительное количество времени. Это связано с тем, что электронному устройству необходимо вычислить множество параметров для соответствующих ребер структуры графа.
[00010] В контексте настоящей технологии электронное устройство выполнено с возможностью вычисления по меньшей мере двух типов параметров для ребер структуры графа, а именно «статических» и «динамических» параметров. Вообще говоря, данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего ребра (и/или одного или нескольких потенциальных положений, связанных с ребром), в то время как данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего ребра (и/или одного или нескольких потенциальных положений, связанных с ребром).
[00011] Следует отметить, что статические параметры данного ребра с меньшей вероятностью изменятся во времени по сравнению с динамическими параметрами данного ребра. Например, расстояние между потенциальным положением на участке дороги и статическим объектом, вероятно, останется неизменным, тогда как расстояние между этим потенциальным положением и движущимся объектом, вероятно, изменится.
[00012] Разработчики настоящей технологии разработали электронное устройство, которое выполнено с возможностью распараллеливания процессов генерирования статических и динамических параметров. Другими словами, предполагается, что электронное устройство может быть выполнено с возможностью выполнения, с одной стороны, пайплайна (конвейера) основной обработки для генерирования динамических параметров для ребер структуры графа, а с другой стороны, пайплайна (конвейера) вспомогательной (параллельной) обработки для генерирования статических параметров для ребер структуры графа.
[00013] Разработчики настоящей технологии осознали, что такое исключение вычисления статических параметров из пайплайна основной обработки и, в некотором смысле, «выгрузка» этого вычисления в пайплайн параллельной вспомогательной обработки, позволяет сократить время вычислений, необходимое для генерирования структур графов во время соответствующих планирование циклов беспилотного транспортного средства. Увеличение скорости вычислений структуры графа приводит к более быстрому принятию решений во время работы беспилотного транспортного средства.
[00014] В первом широком аспекте настоящей технологии предоставляется способ управления беспилотным автомобилем (SDC) на участке дороги. SDC движется по участку дороги. SDC управляется электронным устройством. Способ выполняется электронным устройством. Способ включает в себя исполнение в реальном времени электронным устройством первого пайплайна обработки. Исполнение первого пайплайна обработки содержит генерирование посредством электронного устройства статических параметров для множества потенциальных положений SDC на участке дороги. Данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения. Исполнение первого пайплайна обработки включает в себя кэширование посредством электронного устройства в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Способ включает в себя исполнение в реальном времени электронным устройством второго пайплайна обработки параллельно первому пайплайну обработки. Исполнение второго пайплайна обработки данных включает в себя генерирование посредством электронного устройства структуры графа для управления SDC на участке дороги. Структура графа имеет узлы и ребра. Данный узел связан с соответствующим потенциальным положением SDC на участке дороги. Данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связан с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. Генерирование структуры графа включает в себя генерирование посредством электронного устройства динамических параметров для данного ребра структуры графа. Данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Генерирование структуры графа включает в себя получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений, и такие, что данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.
[00015] В некоторых вариантах осуществления способа структура графа является первой структурой графа, и генерирование первой структуры графа предназначено для управления SDC на участке дороги в течение первого временного интервала, а исполнение второго пайплайна обработки дополнительно включает в себя генерирование посредством электронного устройства второй структуры графа для управления SDC на участке дороги в течение второго временного интервала. Вторая структура графа имеет данное ребро первой структуры графа. Генерирование второй структуры графа включает в себя генерирование посредством электронного устройства обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр указывает обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Генерирование второй структуры графа включает в себя получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки.
[00016] В некоторых вариантах осуществления способа генерирование статических параметров для множества потенциальных положений SDC на участке дороги выполняется в первый момент времени, и при этом исполнение первого пайплайна обработки дополнительно включает в себя генерирование посредством электронного устройства обновленных статических параметров для множества потенциальных положений во второй момент времени, причем первый момент времени и второй момент времени определяют третий временной интервал. Длина третьего временного интервала предварительно выбирается на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки.
[00017] В некоторых вариантах осуществления способа генерирование статических параметров для множества потенциальных положений включает в себя применение посредством электронного устройства логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки.
[00018] В некоторых вариантах осуществления способа множество потенциальных положений включает в себя предварительно выбранное количество потенциальных положений, и кэширование статических параметров запускается после того, как статические параметры сгенерированы для предварительно выбранного количества потенциальных положений.
[00019] В некоторых вариантах осуществления способа генерирование статических параметров для множества потенциальных положений SDC на участке дороги первого пайплайна обработки исполняется асинхронно с генерированием динамических параметров для данного ребра структуры графа второго пайплайна обработки.
[00020] В некоторых вариантах осуществления способа данный динамический параметр соответствующего ребра представляет собой одно из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого движущегося транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося пешехода на участке дороги, а также расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося велосипедиста на участке дороги.
[00021] В некоторых вариантах осуществления способа данный статический параметр соответствующего ребра является одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.
[00022] В некоторых вариантах осуществления способа способ дополнительно включает в себя предписывание посредством электронного устройства работы SDC на участке дороги на основе структуры графа. Предписывание включает в себя определение посредством электронного устройства стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Предписывание включает в себя определение посредством электронного устройства последовательности ребер в структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя генерирование посредством электронного устройства данной траектории для SDC на участке дороги на основе последовательности ребер. Предписывание включает в себя предписывание посредством электронного устройства работы SDC для движения по участку дороги в соответствии с заданной траекторией.
[00023] В некоторых вариантах осуществления способа способ дополнительно включает в себя предписывание посредством электронного устройства работы SDC на участке дороги в течение второго временного интервала на основе второй структуры графа. Предписывание включает в себя определение посредством электронного устройства стоимости данного ребра во второй структуре графа на основе соответствующих статических и обновленных динамических параметров. Предписывание включает в себя определение посредством электронного устройства последовательности ребер во второй структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя генерирование посредством электронного устройства данной траектории для SDC на участке дороги на основе последовательности ребер. Предписывание включает в себя предписывание посредством электронного устройства работы SDC для движения по участку дороги в течение второго временного интервала в соответствии с заданной траекторией.
[00024] Во втором широком аспекте настоящей технологии предоставляется способ управления беспилотным автомобилем (SDC) на участке дороги. SDC движется по участку дороги. SDC управляется электронным устройством. Упомянутый способ может исполняться электронным устройством. Способ включает в себя исполнение в реальном времени электронным устройством первого пайплайна обработки. Исполнение первого пайплайна обработки содержит генерирование посредством электронного устройства статических параметров для множества потенциальных положений SDC на участке дороги для первого временного интервала. Данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения. Исполнение первого пайплайна обработки включает в себя кэширование посредством электронного устройства в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Способ включает в себя исполнение в реальном времени электронным устройством второго пайплайна обработки параллельно первому пайплайну обработки. Исполнение второго пайплайна обработки включает в себя генерирование посредством электронного устройства структуры графа для управления SDC на участке дороги в течение второго временного интервала. Структура графа имеет узлы и ребра. Данный узел связан с соответствующим потенциальным положением SDC на участке дороги. Данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связан с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. Генерирование структуры графа включает в себя генерирование посредством электронного устройства динамических параметров для заданного ребра структуры графа. Данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Генерирование структуры графа включает в себя получение посредством электронного устройства из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений. Длина первого временного интервала предварительно выбирается на основе длины второго временного интервала для уменьшения ресурсов обработки электронного устройства для исполнения первого пайплайна обработки.
[00025] В третьем широком аспекте настоящей технологии предоставляется электронное устройство для управления беспилотным автомобилем (SDC) на участке дороги. SDC движется по участку дороги. Электронное устройство выполнено с возможностью исполнения в реальном времени первого пайплайна обработки. Для исполнения первого пайплайна обработки электронное устройство выполнено с возможностью генерирования статических параметров для множества потенциальных положений SDC на участке дороги. Данный статический параметр указывает на информацию о статическом объекте на участке дороги относительно соответствующего потенциального положения. Для исполнения первого пайплайна обработки электронное устройство выполнено с возможностью кэширования в кэш-памяти статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Электронное устройство выполнено с возможностью исполнения в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки. Для исполнения второго пайплайна обработки электронное устройство выполнено с возможностью генерирования структуры графа для управления SDC на участке дороги. Структура графа имеет узлы и ребра. Данный узел связан с соответствующим потенциальным положением SDC на участке дороги. Данное ребро представляет переход SDC между потенциальными положениями соответствующей пары узлов и связан с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов. Для генерирования структуры графа электронное устройство выполнено с возможностью генерирования динамических параметров для заданного ребра структуры графа. Данный динамический параметр указывает информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Для генерирования структуры графа электронное устройство выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений, так что данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.
[00026] В некоторых вариантах осуществления электронного устройства структура графа является первой структурой графа, а электронное устройство, выполненное с возможностью генерирования первой структуры графа, предназначено для управления SDC на участке дороги в течение первого временного интервала и для исполнения второго пайплайна обработки содержит электронное устройство, выполненное с возможностью генерирования второй структуры графа для управления SDC на участке дороги в течение второго временного интервала. Вторая структура графа имеет данное ребро первой структуры графа. Для генерирования второй структуры графа содержится электронное устройство, выполненное с возможностью генерирования обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр указывает обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений. Для генерирования второй структуры графа электронное устройство, выполненное с возможностью получения из кэш-памяти, статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки.
[00027] В некоторых вариантах осуществления электронного устройства генерирование статических параметров для множества потенциальных положений SDC на участке дороги выполняется в первый момент времени, и для исполнения первого пайплайна обработки данных электронное устройство выполнено с возможностью генерирования обновленных статических параметров для множества потенциальных положений во второй момент времени, первый момент времени и второй момент времени определяют третий временной интервал. Длина третьего временного интервала предварительно выбирается на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки.
[00028] В некоторых вариантах осуществления электронное устройство для генерирования статических параметров для множества потенциальных положений содержит электронное устройство, выполненное с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки.
[00029] В некоторых вариантах осуществления электронного устройства множество потенциальных положений включает в себя предварительно выбранное количество потенциальных положений, и электронное устройство запускает кэширование статических параметров после того, как статические параметры сгенерированы для предварительно выбранного количества потенциальных положений.
[00030] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью генерирования статических параметров для множества потенциальных положений SDC на участке дороги первого пайплайна обработки асинхронно из электронного устройства, выполненного с возможностью генерирования динамических параметров для данного ребра структуры графа второго пайплайна обработки.
[00031] В некоторых вариантах осуществления электронного устройства данный динамический параметр соответствующего ребра является одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого движущегося транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося пешехода на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением движущегося велосипедиста на участке дороги.
[00032] В некоторых вариантах осуществления электронного устройства данный статический параметр соответствующего ребра является одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.
[00033] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно выполнено с возможностью предписывать работу SDC на участке дороги на основе структуры графа. Предписывание включает в себя электронное устройство, выполненное с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Предписывание включает в себя электронное устройство, выполненное с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя электронное устройство, выполненное с возможностью генерирования данной траектории для SDC на участке дороги на основе последовательности ребер.  Предписывание содержит электронное устройство, выполненное с возможностью предписывать работу SDC для движения по участку дороги в соответствии с данной траекторией.
[00034] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно выполнено с возможностью предписывать работу SDC на участке дороги в течение второго временного интервала на основе второй структуры графа. Предписывание включает в себя электронное устройство, выполненное с возможностью определения стоимости данного ребра во второй структуре графа на основе соответствующих статических и обновленных динамических параметров. Предписывание включает в себя электронное устройство, выполненное с возможностью определения последовательности ребер во второй структуре графа, представляющей потенциальный путь для SDC на участке дороги. Последовательность ребер включает данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Предписывание включает в себя электронное устройство, выполненное с возможностью генерирования заданной траектории для SDC на участке дороги на основе последовательности ребер. Предписывание содержит электронное устройство, выполненное с возможностью предписывать работу SDC для движения по участку дороги в течение второго временного интервала в соответствии с данной траекторией.
[00035]  В контексте настоящего описания термин «окружение» данного транспортного средства относится к области или объему вокруг данного транспортного средства, включая часть его текущей окружающей среды, доступную для сканирования с использованием одного или нескольких датчиков, установленных на данном транспортном средстве, например, для генерирования трехмерной карты такого окружения или обнаружения в нем объектов.
[00036]  В контексте настоящего описания «интересующая область» может в широком смысле включать в себя часть наблюдаемой среды системы лидара, в которой один или несколько объектов могут быть обнаружены. Следует отметить, что на интересующую область системы лидара могут влиять различные условия, такие как, но не ограничиваясь ими: ориентация системы лидара (например, направление оптической оси системы лидара); положение системы лидара по отношению к окружающей среде (например, расстояние над землей и прилегающий рельеф местности и препятствия); рабочие параметры системы лидара (например, мощность излучения, вычислительные настройки, заданные углы работы) и т.д. ROI системы лидара может быть определен, например, плоским углом или телесным углом. В одном примере ROI также может быть определена в пределах определенного диапазона расстояний (например, до 200 м или около того).
[00037]  В контексте настоящего описания «сервер» - это компьютерная программа, которая выполняется на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В данном контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принятые инструкции или запросы) или любая конкретная задача была принята, выполнена или вызвана к выполнению одним и тем же сервером (то есть тем же программным и/или аппаратным обеспечением); это означает, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или обеспечение выполнения любой задачи или запроса или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба случая из которых включены в выражение «по меньшей мере один сервер».
[00038]  В контексте настоящего описания «электронное устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.
[00039]  В контексте настоящего описания «клиентское устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «клиентское устройство» обычно ассоциируется с пользователем клиентского устройства. Таким образом, некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему как клиентское устройство в данном контексте, не запрещается действовать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.
[00040]  В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая может быть сохранена в базе данных. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[00041]  В контексте настоящего описания выражение «программный компонент» подразумевает включение программного обеспечения (подходящего для конкретного аппаратного контекста), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.
[00042]  В контексте настоящего описания выражение «компьютерный носитель информации» (также называемый «носитель информации») предназначен для включения носителей любого характера и типа, включая, без ограничения, RAM, ROM, диски (CD-ROM), DVD, дискеты, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования компьютерных носителей информации, включая два или более компонентов носителей одного типа и/или два или более компонентов носителей разных типов.
[00043]  В контексте настоящего описания «база данных» представляет собой любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного оборудования, на котором данные хранятся, реализуются или иным образом предоставляются для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например на выделенном сервере или множестве серверов.
[00044]  В контексте настоящего описания слова «первый», «второй», «третий» и т.д. использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют относительно друг от друга, а не для цели описания каких-либо конкретных отношений между этими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами и их использование (само по себе) не подразумевает, что любой «второй сервер» обязательно должен существовать в любой данной ситуации. Кроме того, как обсуждается здесь в других контекстах, ссылка на «первый» элемент и «второй» элемент не препятствует тому, чтобы эти два элемента были одним и тем же фактическим элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут быть одним и тем же программным и/или аппаратным компонентами, в других случаях они могут быть разными программными и/или аппаратными компонентами.
[00045]  Каждая из реализаций настоящей технологии имеет по меньшей мере один из вышеупомянутых объектов и/или аспектов, но не обязательно имеет все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[00046] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00047] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[00048]  Фиг.1 изображает принципиальную схему примерной компьютерной системы, конфигурируемой для реализации некоторых неограничивающих вариантов осуществления настоящей технологии.
[00049] Фиг.2 изображает принципиальную схему сетевой вычислительной среды, подходящей для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00050]  Фиг. 3 изображает представление транспортного средства, движущегося по участку дороги, в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00051] Фиг.4 изображает представление первой структуры графа, сгенерированной электронным устройством по фиг.2, для участка дороги в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00052] Фиг.5 изображает представление того, как данные генерируются в пайплайне параллельной вспомогательной обработки электронного устройства, сохраняются в кэш-памяти электронного устройства и извлекаются из нее для пайплайна основной обработки электронного устройства в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00053] Фиг.6 изображает представление того, как данные генерируются в пайплайне основной обработки, сохраняются в кэш-памяти электронного устройства и извлекаются из нее для пайплайна основной обработки в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00054] Фиг.7 - схематическое представление способа, выполняемого электронным устройством в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00055] Фиг. 8 - схематическое представление другого способа, выполняемого электронным устройством в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
Подробное описание
[00056] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем
[00057]  Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[00058]  В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия пониманию и опять же не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[00059]  Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[00060]  Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[00061]  Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[00062] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
Компьютерная система
[00063]  Ссылаясь сначала на фиг.1, на ней изображена принципиальная схема компьютерной системы 100, подходящей для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 включает в себя различные аппаратные компоненты, включая один или несколько одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельным накопителем 120 и памятью 130, которая может быть оперативной памятью или любым другим типом памяти.
[00064] Связь между различными компонентами компьютерной системы 100 может быть обеспечена одной или несколькими внутренними и/или внешними шинами (не показаны) (например, шиной PCI, универсальной последовательной шиной, шиной Firewire IEEE 1394, шиной SCSI, шиной Serial-ATA и т.д.), с которыми различные аппаратные компоненты электронно связаны. Согласно вариантам осуществления настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в память 130 и выполнения процессором 110 для определения присутствия объекта. Например, программные инструкции могут быть частью приложения управления транспортным средством, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может иметь дополнительные и/или опциональные компоненты (не показаны), такие как модули сетевой связи, модули локализации и т.п.
Сетевая вычислительная среда
[00065]  Со ссылкой на фиг.2 изображена сетевая вычислительная среда 200, подходящая для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 включает в себя электронное устройство 210, связанное с транспортным средством 220 и/или связанное с пользователем (не изображен), который связан с транспортным средством 220 (например, в качестве оператора транспортного средства 220). Среда 200 также включает в себя сервер 235, поддерживающий связь с электронным устройством 210 через сеть 240 связи (например, Интернет и т.п., как будет более подробно описано ниже).
[00066]  По меньшей мере в некоторых неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 связано с возможностью осуществления связи с системами управления транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью управления различными операционными системами транспортного средства 220, включая, помимо прочего: ECU (блок управления двигателем), системы рулевого управления, тормозные системы, а также системы сигнализации и освещения (т.е. фары, стоп-сигналы, и/или указатели поворота). В таком варианте осуществления транспортное средство 220 может быть беспилотным транспортным средством 220.
[00067]  В некоторых неограничивающих вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может включать в себя спутник GPS (не показан), передающий и/или принимающий сигнал GPS на/от электронного устройства 210. Следует понимать, что настоящая технология не ограничивается GPS и может использовать технологию определения местоположения, отличную от GPS. Следует отметить, что спутник GPS можно вообще не использовать.
[00068]  Транспортное средство 220, с которым связано электронное устройство 210, может быть любым транспортным средством для отдыха или иного, например, частным или коммерческим автомобилем, грузовиком, мотоциклом и т.п. Хотя транспортное средство 220 изображено как наземное транспортное средство, это может быть не так во всех без исключения неограничивающих вариантах осуществления настоящей технологии. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии транспортное средство 220 может быть водным транспортным средством, таким как лодка, или летательным аппаратом, например летающим дроном.
[00069]  Транспортное средство 220 может управляться пользователем или может быть транспортным средством без водителя. В некоторых неограничивающих вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано как беспилотный автомобиль (SDC). Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, эти конкретные параметры включают в себя, например: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, размеры транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и объем двигателя.
[00070]  Согласно настоящей технологии реализация электронного устройства 210 особо не ограничивается. Например, электронное устройство 210 может быть реализовано как блок управления двигателем транспортного средства, центральный процессор транспортного средства, навигационное устройство транспортного средства (например,TomTom™, Garmin™),планшет, персональный компьютер, встроенный в транспортное средство 220, и т.п. Таким образом, следует отметить, что электронное устройство 210 может быть или может не быть постоянно связано с транспортным средством 220. Дополнительно или альтернативно электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В определенных вариантах осуществления электронное устройство 210 имеет дисплей 270.
[00071]  Электронное устройство 210 может включать в себя некоторые или все компоненты компьютерной системы 100, изображенной на Фиг.1, в зависимости от конкретного варианта осуществления. В некоторых вариантах осуществления электронное устройство 210 представляет собой бортовое компьютерное устройство и включает в себя процессор 110, твердотельный накопитель 120 и память 130. Другими словами, электронное устройство 210 включает в себя аппаратное обеспечение, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для обработки данных, как будет более подробно описано ниже.
[00072]  В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети 240 связи приведены только в целях иллюстрации. Между электронным устройством 210 и сетью 240 связи предоставляется линия связи (отдельно не пронумерована), реализация которой будет зависеть, среди прочего, от того, как реализовано электронное устройство 210. Просто в качестве примера, а не ограничения, в тех неограничивающих вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может быть реализована как линия беспроводной связи. Примеры линий беспроводной связи могут включать в себя, без ограничения, линию связи сети 3G, линию связи 4G и т.п. Сеть 240 связи также может использовать беспроводное соединение с сервером 235.
[00073]  В некоторых вариантах осуществления настоящей технологии сервер 235 реализован как компьютерный сервер и может включать в себя некоторые или все компоненты компьютерной системы 100 на Фиг.1. В одном неограничивающем примере сервер 235 реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™, но также может быть реализован в любом другом подходящем аппаратном обеспечении, программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 235 является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 235 могут быть распределены и могут быть реализованы посредством нескольких серверов (не показаны).
[00074]  В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может поддерживать связь с сервером 235 для приема одного или нескольких обновлений. Такие обновления могут включать, помимо прочего, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погоды и т.п. В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 также может быть выполнен с возможностью передачи на сервер 235 некоторых рабочих данных, таких как пройденные маршруты, данные дорожного движения, данные производительности и т.п. Некоторые или все такие данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или анонимизированы.
[00075]  Следует отметить, что электронное устройство 210 может использовать различные датчики и системы для сбора информации об окружении 250 транспортного средства 220. Как видно на Фиг.2, транспортное средство 220 может быть оборудовано множеством систем 280 датчиков. Следует отметить, что различные системы датчиков из множества систем 280 датчиков могут использоваться для сбора различных типов данных, касающихся окружения 250 транспортного средства 220.
[00076]  В одном примере множество систем 280 датчиков  может включать в себя различные оптические системы, включая, среди прочего, одну или несколько систем датчиков типа камеры, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110 электронного устройства 210. Вообще говоря, одна или несколько систем датчиков типа камеры могут быть выполнены с возможностью сбора данных изображения о различных частях окружения 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или несколькими системами датчиков типа камеры, могут использоваться электронным устройством 210 для выполнения процедур обнаружения объекта. Например, электронное устройство 210 может быть выполнено с возможностью подачи данных изображения, предоставленных одной или несколькими системами датчиков типа камеры, в нейронную сеть обнаружения объектов (ODNN, Object Detection Neural Network), которая обучена локализовать и классифицировать потенциальные объекты в окружении 250 транспортного средства 220.
[00077]  В другом примере множество систем 280 датчиков может включать в себя одну или несколько систем датчиков радарного типа, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью использования радиоволн для сбора данных о различных частях окружения 250 транспортного средства 220. Например, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью сбора радиолокационных данных о потенциальных объектах в окружении 250 транспортного средства 220, такие данные потенциально представляют расстояние объектов от системы датчиков радарного типа, ориентацию объектов, быстроту и/или скорости объектов и т.п.
[00078]  В дополнительном примере множество систем 280 датчиков может включать в себя одну или несколько систем оптического обнаружения и определения дальности (LIDAR, лидар), которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, система лидара выполнена с возможностью сбора данных об окружении 250 транспортного средства 220, используемых, например, для построения многомерной карты объектов в окружении 250 транспортного средства 220. Система лидара может быть установлена или модифицирована на транспортном средстве 220 в различных местоположениях и/или в различных конфигурациях для сбора информации об окружении 250 транспортного средства 220.
[00079]  Например, в зависимости от реализации транспортного средства 220 и системы лидара, система лидара может быть установлена на внутренней, верхней части лобового стекла транспортного средства 220. Тем не менее, другие места для установки системы лидара входят в объем настоящего раскрытия, в том числе на заднем окне, боковых окнах, переднем капоте, крыше, передней решетке, переднем бампере или сбоку транспортного средства 220.
[00080]  В контексте настоящей технологии электронное устройство 210 выполнено с возможностью обнаружения одного или нескольких объектов в окружении 250 транспортного средства 220 на основе данных, полученных от одной или нескольких систем камер и одной или нескольких систем лидара. Например, электронное устройство 210, выполненное с возможностью обнаружения данного объекта в окружении 250 транспортного средства 220, может быть выполнено с возможностью идентифицировать данные лидара и данные камеры, связанные с данным объектом, генерировать «внедрение», представляющее особенности, связанные с данным объектом, и обнаружить объект, создав ограничивающую рамку для объекта.
[00081]  Со ссылкой на Фиг.3, есть иллюстративный пример 300 транспортного средства 220 в окружении 250. Предположим, что транспортное средство 220 движется по участку 350 дороги. Электронное устройство 210 может принимать от системы 280 датчиков информацию об окружении 250 транспортного средства 220 и, в частности, об участке 350 дороги и об одном или нескольких «действующих лицах» (также иногда называемых «агентами») на участке 350 дороге, например, соседние объекты в окружении транспортного средства 220.
[00082] Электронное устройство 210 выполнено с возможностью генерирования «структуры графа» для управления транспортным средством 220 на участке дороги в заданный момент времени. Например, в данный момент времени электронное устройство 210 может быть выполнено с возможностью генерирования структуры графа, имеющей узлы и ребра, соединяющие соответствующие пары узлов. Узлы представляют соответствующие потенциальные положения транспортного средства 220 на участке 350 дороги, а ребра представляют переходы между соответствующими парами потенциальных положений. В этом случае электронное устройство 210 может определять заданную последовательность ребер в такой структуре графа, которая (i) связана с приемлемой общей стоимостью ребер в последовательности, и (ii) представляет потенциальный путь, по которому SDC должен следовать на участке дороги 350. Следует отметить, что электронное устройство 210 может использовать эту информацию для генерирования данных о траектории для транспортного средства 220, чтобы фактически следовать по этому пути на участке 350 дороги.
[00083] Чтобы лучше проиллюстрировать это, теперь будет сделана ссылка на фиг. 4, на которой показан неограничивающий пример структуры 420 графа, которую электронное устройство 210 может быть выполнено с возможностью генерировать для участка 350 дороги в данный момент времени. Структура 420 графа имеет множество узлов (не пронумерованных) и множество ребер (не пронумерованных), соединяющих соответствующие узлы из множества узлов. Например, ребро 450 структуры 420 графа соединяет первый узел 451 и второй узел 452. Данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги. Данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Например, ребро 450 представляет переход транспортного средства 220 между его потенциальными положениями первого узла 451 и второго узла 452.
[00084] Следует отметить, что электронное устройство 210 может быть выполнено с возможностью хранения информации в ассоциации с соответствующим узлом и соответствующим ребром структуры 420 графа. Например, электронное устройство 210 может быть выполнено с возможностью хранения позиционных данных в ассоциации с данным узлом. В другом примере электронное устройство 210 может быть выполнено с возможностью хранения, в ассоциации с заданным ребром, позиционных данных соответствующей пары узлов.
[00085] Кроме того, предполагается, что дополнительные данные могут храниться в ассоциации с соответствующим узлом структуры 420 графа. Можно сказать, что дополнительные данные могут храниться в ассоциации с соответствующим узлом структуры 420 графа  и указывают по меньшей мере на некоторую информацию о потенциальном состоянии транспортного средства 220 на участке 350 дороги.
[00086] В контексте настоящей технологии при генерировании структуры 420 графа электронное устройство 210 выполнено с возможностью генерирования параметров для соответствующих ребер структуры 420 графа и сохранения этих параметров в ассоциации с соответствующими ребрами в кэш-памяти. По меньшей мер, в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью назначения уникального идентификатора (UID) соответствующему узлу структуры 420 графа. Таким образом, электронное устройство 210 может быть выполнено с возможностью хранения информации о данном ребре (включая его параметры) в ассоциации с соответствующей парой UID в кэш-памяти. Следовательно, когда информация о данном ребре должна быть извлечена для дальнейшей обработки, электронное устройство 210 может использовать пару UID соответствующей пары узлов в качестве «ключа» для доступа к информации о заданном ребре в кэш-памяти. Можно сказать, что электронное устройство 210 может быть выполнено с возможностью хранения «записи» для данного ребра с соответствующей парой UID в качестве ключа для этой записи в кэш-памяти.
[00087] Электронное устройство 210 может использовать структуру 420 графа для управления транспортным средством 220 на участке 350 дороги. С этой целью электронное устройство 210 может генерировать «путь» для транспортного средства 220 на участке дороги, который представляет соответствующую последовательность ребер в структуре 420 графа. Вообще говоря, электронное устройство 210 может быть выполнено с возможностью генерирования одного или нескольких потенциальных путей, по которым транспортное средство 220 может следовать на участке 350 дороги. Эти пути также могут быть ранжированы между собой на основе общей стоимости, связанной с соответствующей последовательностью ребер.
[00088] Например, критерии стоимости ребер могут применяться к параметрам соответствующих ребер в заданной последовательности для определения «общей стоимости» для последовательности ребер. Электронное устройство 210 может ранжировать пути на основе того, насколько дорогостоящей является соответствующая последовательность ребер. Электронное устройство 210 может также использовать параметры соответствующей последовательности ребер для генерирования траектории для транспортного средства 220 для следования заданному пути. Это означает, что электронное устройство 210 может быть выполнено с возможностью генерировать данные о траектории для управления транспортным средством 220 на участке 350 дороги на основе данных о ребрах, связанных с последовательностью ребер. Электронное устройство 210 также может предписывать работу транспортного средства 220 в соответствии с определенной таким образом траекторией на участке 350 дороги. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью периодического генерирования структур графов в соответствующие моменты времени во время работы транспортного средства 220 аналогично тому, как электронное устройство 210 генерирует структуру 420 графа.
[00089] Следует отметить, что генерирование структуры 420 графа - это затратная в вычислительном отношении операция, которая может занять значительное количество времени. Это связано с тем, что электронному устройству 210 необходимо вычислить множество параметров для соответствующих ребер структуры 420 графа. По меньшей мере в некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и электронные устройства для повышения эффективности процесса генерирования структуры графа.
[00090] Следует отметить, что данное ребро может быть связано по меньшей мере с двумя типами параметров, а именно «динамическими параметрами» и «динамическими параметрами». Как создаются статические параметры и динамические параметры, будет более подробно описано ниже. Однако следует отметить, что разработчики настоящей технологии осознали, что электронное устройство 210 может быть выполнено с возможностью распараллеливать процессы генерирования статических и динамических параметров. Другими словами, предполагается, что электронное устройство 210 может быть выполнено с возможностью исполнения первого пайплайна обработки для генерирования динамических параметров для ребер структуры 420 графа  и второго (параллельного) пайплайна обработки для генерирования статических параметров для ребер структуры 420 графа.
[00091] В контексте настоящей технологии первый данный пайплайн обработки может упоминаться как «пайплайн основной обработки» или «пайплайн динамической обработки», который используется электронным устройством 210 для (i) генерирования динамических параметров для соответствующих ребер данной структуры графа и (ii) извлечения из кэш-памяти статических параметров для соответствующих ребер данной структуры графа. Второй данный пайплайн обработки может упоминаться как «пайплайн вспомогательной обработки» или «пайплайн статической обработки», который используется электронным устройством для (i) генерирования статических параметров для потенциальных положений на участке 350 дороги и (ii) кэширования статических параметров соответствующих потенциальных положений на участке 350 дороги в кэш-памяти.
[00092] Разработчики настоящей технологии осознали, что параллельное исполнение двух пайплайнов обработки (например, вычисление динамических параметров и статических параметров параллельным способом) может уменьшить количество времени, необходимое для создания структуры графа, и, в свою очередь, может уменьшить общее количество времени, необходимое для генерирования данных о траектории движения транспортного средства 220 на участке 350 дороги. Увеличение вычислительной скорости процесса генерирования структуры графа во время работы транспортного средства 220 полезно для работы транспортного средства 220.
[00093] Как электронное устройство 210 выполнено с возможностью реализации пайплайна вспомогательной обработки и пайплайна основной обработки по меньшей мере в некоторых вариантах осуществления настоящей технологии, будет обсуждаться в свою очередь со ссылкой на Фиг.5.
Статический пайплайн
[00094] На фиг.5 изображено представление пайплайна 510 вспомогательной обработки, исполняемого электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Как часть пайплайна 510 вспомогательной обработки, электронное устройство 210 выполнено с возможностью выполнения первой операции 511 кэширования статических параметров (SAC) в первый момент времени (не пронумеровано) и второй операции 512 SAC во второй момент времени (не пронумеровано). Во время первой операции 511 SAC электронное устройство 210 выполнено с возможностью кэширования первых статических данных 513 в кэш-памяти 550. Во время второй операции 512 SAC электронное устройство 210 выполнено с возможностью кэширования вторых статических данных 514 в кэш-памяти 550.
[00095] Следует отметить, что электронное устройство 210 может генерировать первые статические данные 513 путем вычисления статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения. Например, данный статический параметр может представлять собой, но без ограничений:
- расстояние между соответствующим потенциальным положением и положением дорожного конуса на участке 350 дороги;
- расстояние между соответствующим потенциальным положением и положением знака остановки на участке 350 дороги;
- расстояние между соответствующим потенциальным положением и положением полосы движения на участке 350 дороги; и
- расстояние между соответствующим потенциальным положением и положением центра полосы движения на участке 350 дороги.
[00096] Предполагается, что электронное устройство 210 может быть выполнено с возможностью вычисления статических параметров для большого количества потенциальных положений на участке 350 дороги. Например, электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для потенциальных положений соответствующих узлов данной структуры графа и для других потенциальных положений, которые являются промежуточными по отношению к соответствующим потенциальным положениям узлов данной структуры графа.
[00097] По меньшей мере, в некоторых вариантах осуществления настоящей технологии, из-за того, что электронное устройство 210 может идентифицировать большое количество потенциальных положений на участке 350 дороги, электронное устройство 210 может быть выполнено с возможностью применения логики «приоритета» для определения порядка потенциальных положений, для которых должны быть сгенерированы статические параметры. Например, электронное устройство 210 может быть выполнено с возможностью определения приоритета генерирования статических параметров для потенциальных положений, которые расположены ближе всего к центрам полос движения. В одном варианте осуществления электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для предварительно выбранного количества потенциальных положений с наивысшим приоритетом. В другом варианте осуществления электронное устройство 210 может быть выполнено с возможностью генерирования статических параметров для потенциальных положений, упорядоченных на основе их приоритета, и до тех пор, пока не будет достигнут предварительно выбранный предел времени.
[00098] Как только электронное устройство 210 генерирует статические параметры для множества потенциальных положений на участке 350 дороги, электронное устройство 210 может сохранить первые статические данные 513 в кэш-памяти 550 в ассоциации с соответствующими потенциальными положениями.
[00099] Электронное устройство 210 также может быть выполнено с возможностью периодического выполнения генерирования статических параметров для соответствующих потенциальных положений. Например, как только электронное устройство 210 выполняет первую операцию 511 SAC, электронное устройство 210 может начать новый цикл генерирования статических параметров. В некоторых вариантах осуществления можно сказать, что электронное устройство 210 может быть выполнено с возможностью повторного вычисления и/или обновления статических параметров по меньшей мере для некоторых потенциальных положений и/или вычисления статических параметров для других потенциальных положений. Этот процесс генерирования происходит в течение временного интервала 515 и заканчивается второй операцией 512 SAC, во время которой вторые статические данные 514 сохраняются в кэш-памяти 550.
[000100] Можно сказать, что электронное устройство 210 может быть выполнено с возможностью сохранения статических данных в кэш-памяти 550 «пакетами», то есть во время соответствующего цикла статического генерирования электронное устройство 210 может быть выполнено с возможностью генерирования соответствующих статических данных и сохранения (и/или обновления) статических данных в кэш-памяти 550. Размер данного пакета, такой как размер вторых статических данных 514, например, может зависеть от длины временного интервала 515. Как определяется длительность временного интервала 515, будет более подробно описано ниже.
Динамический пайплайн
[000101] На фиг.4 также изображен пайплайн 520 основной обработки, исполняемый электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Как часть пайплайна 520 основной обработки электронное устройство 210 выполнено с возможностью выполнения первой операции 521 генерирования структуры графа (GSG) в первый момент времени (не пронумеровано), второй операции 522 GSG во второй момент времени (не пронумеровано) и третьей операции 523 GSG в третий момент времени (не пронумеровано).
[000102] Во время первой операции 521 GSG электронное устройство 210 выполнено с возможностью генерировать динамические параметры для соответствующих ребер первой структуры графа и извлекать статические параметры для соответствующих ребер первой структуры графа. Электронное устройство 210 может быть выполнено с возможностью использования сгенерированной таким образом первой структуры графа для управления транспортным средством 220 в течение временного интервала 525 и/или до второй операции 522 GSG во второй момент времени. Во время второй операции 522 GSG электронное устройство 210 выполнено с возможностью генерирования динамических параметров для соответствующих ребер второй структуры графа и извлечения статических параметров для соответствующих ребер второй структуры графа. Предполагается, что первая структура графа и вторая структура графа могут совместно использовать по меньшей мере некоторые ребра, или, другими словами, по меньшей мере некоторые ребра второй структуры графа могут соответствовать ребрам первой структуры графа, не отходя от объема настоящей технологии. Электронное устройство 210 может быть выполнено с возможностью использования сгенерированной таким образом второй структуры графа для управления транспортным средством 220 до третьей операции 523 GSG в третий момент времени. Во время третьей операции 523 GSG электронное устройство 210 выполнено с возможностью генерирования динамических параметров для соответствующих ребер третьей структуры графа и извлечения (последних/обновленных) статических параметров для соответствующих ребер третьей структуры графа. Предполагается, что вторая структура графа и третья структура графа могут совместно использовать по меньшей мере некоторые ребра, или, другими словами, по меньшей мере некоторые ребра третьей структуры графа могут соответствовать ребрам второй структуры-графа, не отходя от объема настоящей технологии. Электронное устройство 210 может быть выполнено с возможностью использования сгенерированной таким образом третьей структуры графа для управления транспортным средством 220 до следующей операции GSG.
[000103] Возвращаясь к описанию первой операции 521 GSG, электронное устройство 210 может генерировать динамические параметры для соответствующих ребер первой структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений, связанных с заданным ребром. Как упомянуто выше, данное ребро соединяет пару соответствующих узлов, связанных с соответствующей парой потенциальных положений транспортного средства 220 на участке 350 дороги. Однако можно также сказать, что данное ребро также связано с набором промежуточных потенциальных положений на участке 350 дороги между соответствующей парой потенциальных положений, и в каких промежуточных потенциальных положениях будет находиться транспортное средство 220, если транспортное средство 220 пытается перейти между соответствующей парой потенциальных положений (связанных с соответствующей парой узлов).
[000104] Например, данный динамический параметр может представлять собой, но без ограничений:
- расстояние между соответствующим промежуточным потенциальным положением и положением другого движущегося транспортного средства на участке 350 дороги;
- расстояние между соответствующим промежуточным потенциальным положением и положением движущегося пешехода на участке 350 дороги; и
- расстояние между соответствующим промежуточным потенциальным положением и положением движущегося велосипедиста на участке 350 дороги.
[000105] Помимо генерирования динамических параметров для соответствующих ребер первой структуры графа, электронное устройство 210 дополнительно конфигурируется во время первой операции 521 GSG для извлечения статических параметров для соответствующих ребер первой структуры графа из кэш-памяти 550. С этой целью электронное устройство 210 может быть выполнено с возможностью отправки запроса 526 в кэш-память 550 для извлечения соответствующих статических данных.
[000106] Запрос 526 может принимать разные формы. В одном варианте осуществления запрос 526 может указывать информацию, касающуюся пар соответствующих UID, связанных с соответствующими ребрами из первой структуры графа. В другом варианте осуществления запрос 526 также может указывать информацию, касающуюся соответствующих наборов промежуточных потенциальных положений, связанных с соответствующими ребрами из структуры графа. Независимо от конкретной информации, включенной в запрос 526, запрос 526 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с наборами промежуточных потенциальных положений соответствующих ребер первой структуры графа. По существу, электронное устройство 210 может получать третьи статические данные 516, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер первой структуры графа.
[000107] Можно сказать, что третьи статические данные 516 являются подмножеством первых статических данных 513, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки.
[000108] Точно так же во время второй операции 522 GSG электронное устройство 210 может генерировать динамические параметры для соответствующих ребер второй структуры графа и извлекать статические параметры для соответствующих ребер второй структуры графа из кэш-памяти 550. С этой целью электронное устройство 210 может быть выполнено с возможностью отправки запроса 527 в кэш-память 550 для извлечения соответствующих статических данных. Запрос 527 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с потенциальными положениями соответствующих ребер второй структуры графа. По существу, электронное устройство 210 может получать четвертые статические данные 517, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер второй структуры графа.
[000109] Можно сказать, что четвертые статические данные 517 являются подмножеством первых статических данных 513, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки. В некоторых вариантах осуществления настоящей технологии, если первая структура графа и вторая структура графа совместно используют по меньшей мере одно ребро, предполагается, что третьи статические данные 516 и четвертые статические данные 517 могут включать в себя статические параметры по меньшей мере для одного общего ребра.
[000110] Следует отметить, что статические параметры данного ребра с меньшей вероятностью изменятся во времени по сравнению с динамическими параметрами данного ребра. Например, расстояние между потенциальным положением на участке 350 дороги и статическим объектом, вероятно, останется неизменным, тогда как расстояние между этим потенциальным положением и движущимся объектом, вероятно, изменится. По этой причине полезно выполнять операции GSG чаще, чем операции SAC, чтобы иметь точные атрибуты, связанные с ребрами структур графов.
[000111] Подобно тому, что было описано выше для первой и второй операций 521 и 522 GSG, во время третьей операции 523 GSG электронное устройство 210 может генерировать динамические параметры для соответствующих ребер третьей структуры графа и извлекать статические параметры для соответствующих ребер третьей структуры графа из кэш-памяти 550. С этой целью электронное устройство 210 может быть выполнено с возможностью отправки запроса 528 в кэш-память 550 для извлечения соответствующих статических данных. Запрос 528 содержит информацию, которая позволяет идентифицировать и извлекать статические параметры, хранящиеся в кэш-памяти 550 и связанные с потенциальными положениями соответствующих ребер третьей структуры графа. По существу, электронное устройство 210 может получать пятые статические данные 518, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер третьей структуры графа.
[000112] Можно сказать, что пятые статические данные 518 являются подмножеством вторых статических данных 514, сохраненных электронным устройством 210 во время исполнения пайплайна 510 вспомогательной обработки, поскольку вторая операция 512 SAC произошла до третьей операции 523 GSG.
[000113] Разработчики настоящей технологии осознали, что исключение таким образом вычисления статических параметров из пайплайна 520 основной обработки и в некотором смысле «выгрузка» этого вычисления в пайплайн 510 параллельной вспомогательной обработки позволяет сократить время, необходимое электронному устройству 210 для выполнения операций 521, 522 и 523 GSG по сравнению с заданной операцией GSG, во время которой как динамические, так и статические параметры должны вычисляться в одном пайплайне обработки. Действительно, в отличие от операции GSG, во время которой как динамические, так и статические параметры вычисляются в одном пайплайне обработки, некоторые варианты осуществления настоящей технологии позволяют параллельное вычисление и кэширование статических параметров, чтобы их можно было извлечь из кэш-памяти во время операции 521, 522 и 523 GSG, оставляя вычисление только динамических параметров в пайплайне 520 основной обработки.
[000114] Следует также отметить, что в неограничивающем примере, показанном на фиг. 5, операции GSG и операции SAC не происходят в одни и те же моменты времени. Таким образом, можно сказать, что в некоторых вариантах осуществления настоящей технологии генерирование статических параметров для множества потенциальных положений (операции SAC) электронным устройством 210 может выполняться асинхронно от генерирования динамических параметров (операций GSG) электронным устройством 210. Фактически, как упоминалось ранее, периодичность операций GSG может отличаться от периодичности операций SAC, что означает, что операции GSG могут происходить с другой частотой, чем операции SAC.
[000115] По меньшей мере, в некоторых вариантах осуществления настоящей технологии предполагается, что частота операций SAC может быть предварительно выбрана оператором электронного устройства 210 на основе частоты операций GSG.
[000116] В первом примере предположим, что временной интервал 515 выбран значительно короче временного интервала 525, что означает, что операции SAC будут выполняться со значительно более высокой частотой, чем операции GSG. Такой выбор временного интервала 515 на основе временного интервала 525 может быть нежелательным, поскольку необходимо будет кэшировать большое количество пакетов. Следует отметить, что выполнение вызовов записи в кэш-память требует значительных ресурсов, и, следовательно, наличие большого количества пакетов увеличивает количество ресурсов, необходимых для их кэширования.
[000117] Во втором примере предположим, что временной интервал 515 выбран значительно длиннее временного интервала 525, что означает, что операции SAC будут выполняться с значительно меньшей частотой, чем операции GSG. Такой выбор временного интервала 515 на основе временного интервала 525 может быть нежелательным, поскольку очень большие пакеты необходимо кэшировать при каждой операции SAC. Следует отметить, что чем больше временной интервал 525, тем больше времени у электронного устройства 210 для генерирования статических данных, и тем больше статических данных потребуется кэшировать во второй операции 512 SAC. Однако чем больше пакет, тем больше времени требуется для его кэширования в кэш-памяти 550, и поэтому существует риск того, что статические данные, содержащиеся в нем, могут уже быть устаревшими к моменту завершения кэширования большого пакета.
[000118] Таким образом, разработчики настоящей технологии поняли, что оператор электронного устройства 210 может выбрать длину временного интервала 515 на основе длины временного интервала 525 для смягчения компромисса, вызванного размером пакетов, генерируемых пайплайном 510 вспомогательной обработки. По меньшей мере в некоторых вариантах осуществления настоящей технологии оператор электронного устройства 210 может предварительно выбрать длину временного интервала 515 на основе длины временного интервала 525, так что временной интервал 515 не короче временного интервала 525, и таким образом, чтобы результирующие пакеты, генерируемые пайплайном 510 вспомогательной обработки, не были ни слишком большими, ни слишком многочисленными.
[000119] В одном примере временной интервал 515, связанный с операциями SAC, может составлять 400 миллисекунд. В другом примере временной интервал 515, связанный с операциями SAC, может составлять 450 миллисекунд. В дополнительных примерах временной интервал 515 может составлять от 400 до 450 миллисекунд. В других примерах временной интервал 515 может составлять около 420 миллисекунд.
[000120] В одном примере временной интервал 525, связанный с операциями GSG, может составлять 300 миллисекунд. В другом примере временной интервал 525, связанный с операциями GSG, может составлять 350 миллисекунд. В дополнительных примерах временной интервал 525 может составлять от 300 до 350 миллисекунд. В других примерах временной интервал 525 может составлять около 320 миллисекунд.
[000121] В дополнительных вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью дополнительного кэширования динамических параметров, сгенерированных во время данной операции GSG, и последующего извлечения по меньшей мере некоторых из них во время последующей операции GSG для сокращения количества требуемого времени для генерирования соответствующей структуры графа.
[000122] Чтобы лучше проиллюстрировать это, теперь будет сделана ссылка на фиг. 6, на которой показано представление 600 того, как некоторые динамические параметры могут кэшироваться в кэш-памяти 550 в дополнение к статическим параметрам. В дополнение к тому, что было описано со ссылкой на фиг.5 выше, в варианте осуществления, показанном на фиг.6, электронное устройство 210 может быть выполнено с возможностью дополнительного сохранения первых динамических данных 610, сгенерированных во время первой операции 521 GSG, в кэш-памяти 550. Например, первые динамические данные 610 могут включать в себя динамические параметры, сгенерированные для соответствующих ребер первой структуры графа, которая генерируется во время первой операции 521 GSG. Во время второй операции 522 GSG электронное устройство 210 выполнено с возможностью генерирования второй структуры графа. В этом варианте осуществления, если вторая структура графа совместно использует по меньшей мере одно ребро с первой структурой графа, сгенерированной во время первой операции 521 GSG, электронное устройство 210 может быть выполнено с возможностью отправки запроса 640 в кэш-память 550 для извлечения релевантных статических параметров (аналогично тому, что было описано выше), а также динамических параметров, связанных по меньшей мере с одним ребром, которое совместно используется первой и второй структурами графов. Таким образом, электронное устройство 210 может получать четвертые статические данные 517, содержащие статические параметры, связанные с наборами потенциальных положений соответствующих ребер второй структуры графа (аналогично тому, что было описано выше), а также вторые динамические данные 620, содержащие динамические параметры, связанные с общими ребрами между первой и второй структурами графов.
[000123] Разработчики настоящей технологии поняли, что кэширование динамических параметров, сгенерированных во время текущей операции GSG, в дополнение к статическим параметрам, может дополнительно сократить количество времени, требуемое для выполнения последующей операции GSG, если последующая структура графа совместно использует ребра с текущей структурой графа.
[000124] Например, если значение динамического параметра было вычислено во время первой операции 521 GSG для ребра, которое относительно далеко от текущего положения транспортного средства 220 на участке 350 дороги, точность значения может быть менее важной для немедленной работы транспортного средства 220. Следовательно, вместо повторного вычисления значения этого динамического параметра дальнего ребра во время второй операции 522 GSG, электронное устройство 210 может повторно использовать значение динамического параметра, вычисленное во время первой операции 521 GSG.
[000125] В этом варианте осуществления, показанном на фиг. 6, электронное устройство 210 может быть выполнено с возможностью кэширования первых динамических данных 610 в течение предварительно определенного лимита времени, соответствующего временному интервалу 630. Временное кэширование динамических параметров для ребер может снизить риск использования значений динамических параметров, которые больше не могут быть достаточно точными. В самом деле, поскольку динамические параметры имеют тенденцию меняться со временем, значения динамических параметров могут больше не иметь права на повторное использование по истечении предварительно определенного лимита времени.
[000126] Со ссылкой на фиг. 7 изображен способ 700, который выполняется электронным устройством 210 по меньшей мере в некоторых вариантах осуществления настоящей технологии. Предполагается, что способ 700 может выполняться электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Также предполагается, что этапы способа 700 могут выполняться параллельно, что теперь будет обсуждаться более подробно.
ЭТАП 710: исполнение в реальном времени первого пайплайна обработки, включающее в себя генерирование статических параметров для множества потенциальных положений SDC на участке дороги и кэширование статических параметров в ассоциации с соответствующими одними из множества потенциальных положений.
[000127] Способ 700 имеет этап 710, на котором электронное устройство 210 исполняет в реальном времени первый пайплайн обработки. По меньшей мере в некоторых вариантах осуществления можно сказать, что первый пайплайн обработки представляет собой пайплайн вспомогательной/статической обработки, описанный выше.
[000128] Как часть первого пайплайна обработки, электронное устройство 210 выполнено с возможностью генерирования статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения, связанного с данным ребром. Как часть первого пайплайна обработки электронное устройство 210 выполнено с возможностью кэширования в кэш-памяти (кэш-память 550) статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Кэш-память 550 может быть имплантирована как аппаратный компонент, программный компонент и/или их комбинация для хранения данных, чтобы будущие запросы на эти данные могли обслуживаться быстрее. Например, данные, хранящиеся в кэш-памяти 550, могут быть результатом более раннего вычисления или копией данных, хранящихся в другом месте.
[000129] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки. Например, множество потенциальных положений, для которых генерируются статические параметры, может включать в себя предварительно выбранное количество потенциальных положений (имеющих наивысший рейтинг на основе логики приоритизации). Кэширование статических параметров может быть запущено после того, как статические параметры будут сгенерированы для предварительно выбранного количества потенциальных положений. В другом примере множество потенциальных положений, для которых генерируются статические параметры, может включать в себя потенциальные положения с наивысшим рейтингом из списка потенциальных положений, для которых электронное устройство 210 имеет достаточно времени, чтобы сгенерировать статические параметры, до истечения предварительно определенного лимита времени.
[000130] В некоторых вариантах осуществления заданный статический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.
ЭТАП 720: исполнение в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки, содержащее генерирование структуры графа для управления SDC на участке дороги.
[000131] Способ имеет этап 720, во время которого электронное устройство 210 выполнено с возможностью исполнения в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки этапа 710. По меньшей мере в некоторых вариантах осуществления можно сказать, что второй пайплайн обработки является пайплайном основной/динамической обработки, описанным выше.
[000132] Также можно сказать, что этапы 710 и 720 способа 700 могут выполняться электронным устройством 210 параллельно. По меньшей мере в некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью выделения первых ресурсов обработки для выполнения этапа 710 и вторых ресурсов обработки для выполнения этапа 720. Предполагается, что первые ресурсы обработки могут отличаться от вторых ресурсов обработки.
[000133] Как часть второго пайплайна обработки, электронное устройство выполнено с возможностью генерирования структуры графа для управления транспортным средством 220 на участке 350 дороги. Структура графа имеет узлы и ребра, и при этом данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги, и при этом данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Данное ребро связано с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов.
[000134] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью генерирования динамических параметров для данного ребра структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов).
[000135] В некоторых вариантах осуществления данный динамический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением пешехода на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением велосипедиста на участке дороги. Предполагается, что генерирование статических параметров может выполняться электронным устройством 210 асинхронно от генерирования динамических параметров.
[000136] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений и/или потенциальных положений соответствующей пары узлов. Таким образом, данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.
[000137] В дополнительных вариантах осуществления настоящей технологии структура графа может быть первой структурой графа среди множества структур графов, которые должны генерироваться периодически во время работы транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью использования первой структуры графа для работы транспортного средства 220 в течение первого временного интервала на участке 350 дороги. В этих вариантах осуществления, как часть второго пайплайна обработки, электронное устройство 210 может быть выполнено с возможностью генерирования второй структуры графа для управления транспортным средством 220 на участке 350 дороги в течение второго временного интервала. Вторая структура графа может совместно использовать данное ребро с первой структурой графа. Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью генерирования обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр может указывать на обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов). Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью получения из кэш-памяти статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки.
[000138] В некоторых вариантах осуществления генерирование статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги может выполняться в первый момент времени. В этих вариантах осуществления исполнение первого пайплайна обработки может дополнительно содержать электронное устройство 210, выполненное с возможностью генерирования обновленных статических параметров для множества потенциальных положений во второй момент времени, и при этом первый момент времени и второй момент времени определяют третий временной интервал. Следует отметить, что длина третьего временного интервала может быть предварительно выбрана на основе длины по меньшей мере одного из первого временного интервала и второго временного интервала для уменьшения ресурсов обработки электронного устройства, необходимых для исполнения первого пайплайна обработки, как объяснено выше.
,
[000139] В других вариантах осуществления способ 700 может дополнительно содержать электронное устройство 210, предписывающее работу транспортного средства 220 на участке 350 дороги на основе структуры графа. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Электронное устройство 210 может использовать один или несколько критериев стоимости, известных в данной области техники, для определения стоимости. Электронное устройство 210 также выполнено с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для транспортного средства 220 на участке 350 дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Электронное устройство 210 также выполнено с возможностью генерировать заданную траекторию для транспортного средства 220 на участке 350 дороги на основе последовательности ребер. Например, электронное устройство 210 может быть выполнено с возможностью генерированиясреди прочего, профиля скорости для транспортного средства 220 для следования последовательности ребер на участке 350 дороги. Электронное устройство 210 также выполнено с возможностью предписывать работу транспортного средства 220 для движения по участку дороги в соответствии с заданной траекторией.
[000140] Со ссылкой на фиг. 8 изображен способ 800, который выполняется электронным устройством 210 по меньшей мере в некоторых вариантах осуществления настоящей технологии. Предполагается, что способ 800 может выполняться электронным устройством 210 в режиме реального времени во время работы транспортного средства 220. Также предполагается, что этапы способа 800 могут выполняться параллельно, что теперь будет обсуждаться более подробно.
ЭТАП 810: исполнение в реальном времени первого пайплайна обработки, включающее в себя генерирование статических параметров для множества потенциальных положений SDC на участке дороги в течение первого временного интервала и кэширование статических параметров в ассоциации с соответствующими одними из множества потенциальных положений
[000141] Способ 800 имеет этап 810, на котором электронное устройство 210 исполняет в реальном времени первый пайплайн обработки. По меньшей мере в некоторых вариантах осуществления можно сказать, что первый пайплайн обработки представляет собой пайплайн вспомогательной/статической обработки, описанный выше.
[000142] Как часть первого пайплайна обработки, электронное устройство 210 выполнено с возможностью генерирования статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги. Вообще говоря, данный статический параметр указывает информацию о статическом объекте на участке 350 дороги относительно соответствующего потенциального положения, связанного с данным ребром. Как часть первого пайплайна обработки электронное устройство 210 выполнено с возможностью кэширования в кэш-памяти (кэш-память 550) статических параметров в ассоциации с соответствующими одними из множества потенциальных положений. Кэш-память 550 может быть имплантирована как аппаратный компонент, программный компонент и/или их комбинация для хранения данных, чтобы будущие запросы на эти данные могли обслуживаться быстрее. Например, данные, хранящиеся в кэш-памяти 550, могут быть результатом более раннего вычисления или копией данных, хранящихся в другом месте. Следует отметить, что генерирование статических параметров для множества потенциальных положений транспортного средства 220 на участке 350 дороги может выполняться для первого временного интервала.
[000143] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью применения логики приоритизации для определения порядка потенциальных положений, для которых статические параметры должны быть сгенерированы в первом пайплайне обработки. Например, множество потенциальных положений, для которых генерируются статические параметры, может включать в себя предварительно выбранное количество потенциальных положений (имеющих наивысший рейтинг на основе логики приоритизации). Кэширование статических параметров может быть запущено после того, как статические параметры будут сгенерированы для предварительно выбранного количества потенциальных положений. В другом примере множество потенциальных положений, для которых генерируются статические параметры, может включать в себя потенциальные положения с наивысшим рейтингом из списка потенциальных положений, для которых электронное устройство 210 имеет достаточно времени, чтобы сгенерировать статические параметры, до истечения предварительно определенного лимита времени.
[000144] В некоторых вариантах осуществления заданный статический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением дорожного конуса на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением знака остановки на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением полосы движения на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением центра полосы движения на участке дороги.
ЭТАП 820: исполнение в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки, содержащее генерирование структуры графа для управления SDC на участке дороги в течение второго временного интервала, причем длина первого временного интервала предварительно выбрана на основе длины второго временного интервала для уменьшения ресурсов обработки электронного устройства для исполнения первого пайплайна обработки
[000145] Способ имеет этап 820, во время которого электронное устройство 210 выполнено с возможностью исполнения в реальном времени второго пайплайна обработки параллельно с первым пайплайном обработки этапа 810. По меньшей мере в некоторых вариантах осуществления можно сказать, что второй пайплайн обработки является основным/динамическим пайплайном обработки, описанным выше.
[000146] Также можно сказать, что этапы 810 и 820 способа 800 могут выполняться электронным устройством 210 параллельно. По меньшей мере в некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью выделения первых ресурсов обработки для выполнения этапа 810 и вторых ресурсов обработки для выполнения этапа 820. Предполагается, что первые ресурсы обработки могут отличаться от вторых ресурсов обработки.
[000147] Как часть второго пайплайна обработки, электронное устройство выполнено с возможностью генерирования структуры графа для управления транспортным средством 220 на участке 350 дороги. Структура графа имеет узлы и ребра, и при этом данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги, и при этом данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Данное ребро связано с соответствующим набором промежуточных потенциальных положений между потенциальными положениями соответствующей пары узлов.
[000148] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью генерирования динамических параметров для данного ребра структуры графа. Вообще говоря, данный динамический параметр указывает информацию о движущемся объекте на участке 350 дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов).
[000149] Структура графа может быть сгенерирована для управления транспортным средством в течение второго временного интервала. Можно сказать, что второй временной интервал определяет частоту вычисления динамических параметров, тогда как первый временной интервал из этапа 810 определяет частоту вычисления статических параметров. Следует отметить, что длина первого временного интервала может быть предварительно выбрана на основе длины второго временного интервала (например, оператором электронного устройства 210) для сокращения ресурсов обработки электронного устройства для исполнения первого пайплайна обработки.
[000150] В некоторых вариантах осуществления данный динамический параметр соответствующего ребра может быть одним из следующего: расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением другого транспортного средства на участке дороги, расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением пешехода на участке дороги, и расстояние между данным одним из соответствующего набора промежуточных потенциальных положений и положением велосипедиста на участке дороги. Предполагается, что генерирование статических параметров может выполняться электронным устройством 210 асинхронно от генерирования динамических параметров.
[000151] Как часть второго пайплайна обработки, во время генерирования структуры графа электронное устройство 210 выполнено с возможностью получения из кэш-памяти статических параметров для данного ребра структуры графа. Статические параметры для данного ребра включают в себя статические параметры, кэшированные в ассоциации с соответствующим набором промежуточных потенциальных положений и/или потенциальных положений соответствующей пары узлов. Таким образом, данное ребро в структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с динамическими параметрами, сгенерированными вторым пайплайном обработки.
[000152] В дополнительных вариантах осуществления настоящей технологии структура графа может быть первой структурой графа среди множества структур графов, которые должны генерироваться периодически во время работы транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью использования первой структуры графа для управления транспортным средством 220 в течение первого временного интервала на участке 350 дороги. В этих вариантах осуществления, как часть второго пайплайна обработки, электронное устройство 210 может быть выполнено с возможностью генерирования второй структуры графа для управления транспортным средством 220 на участке 350 дороги в течение второго временного интервала. Вторая структура графа может совместно использовать данное ребро с первой структурой графа. Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью генерирования обновленных динамических параметров для данного ребра. Данный обновленный динамический параметр может указывать на обновленную информацию о движущемся объекте на участке дороги относительно соответствующего одного из соответствующего набора промежуточных потенциальных положений (и/или потенциальных положений соответствующей пары узлов). Генерирование второй структуры графа содержит электронное устройство 210, выполненное с возможностью получения из кэш-памяти статических параметров для данного ребра, так что данное ребро во второй структуре графа связано с динамическими параметрами, сгенерированными первым пайплайном обработки, и с обновленными динамическими параметрами, сгенерированными вторым пайплайном обработки.
,
[000153] В других вариантах осуществления способ 700 может дополнительно содержать электронное устройство 210, предписывающее работу транспортного средства 220 на участке 350 дороги на основе структуры графа. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости данного ребра в структуре графа на основе соответствующих статических и динамических параметров. Электронное устройство 210 может использовать один или несколько критериев стоимости, известных в данной области техники, для определения стоимости. Электронное устройство 210 также выполнено с возможностью определения последовательности ребер в структуре графа, представляющей потенциальный путь для транспортного средства 220 на участке 350 дороги. Последовательность ребер включает в себя данное ребро и связана с приемлемой общей стоимостью ребер в последовательности. Электронное устройство 210 также выполнено с возможностью генерировать заданную траекторию для транспортного средства 220 на участке 350 дороги на основе последовательности ребер. Например, электронное устройство 210 может быть выполнено с возможностью генерированиясреди прочего, профиля скорости для транспортного средства 220 для следования по последовательности ребер на участке 350 дороги. Электронное устройство 210 также выполнено с возможностью предписывать работу транспортного средства 220 для движения по участку дороги в соответствии с заданной траекторией.
[000154]  Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.
[000155]  Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в определенном порядке, следует понимать, что некоторые из этих этапов могут быть объединены, разделены на части или переупорядочены без отклонения от принципов настоящая технология. Соответственно, порядок и группировка упомянутых этапов ограничениями настоящей технологии не являются.