Способ и электронное устройство для управления беспилотным автомобилем
METHOD AND ELECTRONIC DEVICE FOR CONTROL OF SELF-DRIVING CAR

Область техники
[0001] Настоящая технология в основном относится к беспилотным автомобилям (SDC); и, в частности, к электронному устройству и способу управления SDC.
Уровень техники
[0002] Беспилотные автомобили (SDC) - это транспортные средства, которые могут автономно перемещаться по местности через частные и/или общественные места. Используя систему датчиков, которые определяют местоположение и/или окружение SDC, логическая схема внутри или связанная с SDC управляет скоростью, движением, торможением и рулевым управлением SDC на основе обнаруженного датчиком местоположения и окружения SDC. Например, компьютерная система может использовать данные датчиков для генерирования будущих траекторий для SDC на участке дороги и может управлять работой SDC, чтобы он следовал выбранной траектории на этом участке дороги.
[0003] Как правило, SDC имеет множество датчиков, позволяющих SDC фиксировать и «понимать» окружающую его территорию. SDC может использовать различные системы датчиков, такие как, но без ограничений, системы камер, радарные системы и системы лидара. Различные системы датчиков могут использоваться для сбора различной информации и/или в другом формате о местоположении и окружении SDC. Например, системы камер могут использоваться для захвата данных изображения окружения SDC. В другом примере системы лидара могут использоваться для сбора данных облака точек для построения трехмерных картографических представлений окружения и других потенциальных объектов, расположенных поблизости от SDC. SDC может обрабатывать захваченные данные датчиков для генерирования прогнозов с использованием алгоритмов машинного обучения, например, в отношении присутствия и/или поведения объектов поблизости от SDC. Такие прогнозы затем могут использоваться SDC для планирования перемещения SDC в автономном режиме.
[0004] Планирование движения для автономного вождения - это задача планирования желаемого движения SDC в динамической среде. Например, план может быть сохранен как траектория и включает в себя пространственную и временную информацию о будущем движении SDC (как запланировано). Генерирование траекторий без столкновений и с малым рывком для различных сценариев городского движения - сложная задача.
[0005] Публикация патента США № 2020/0086855 раскрывает вычислительную систему транспортного средства, которая управляет транспортным средством, чтобы избежать столкновений между транспортным средством и агентами в окружающей среде.
Сущность изобретения
[0006] Существует потребность в системах и способах, которые позволяют избежать, уменьшить или преодолеть ограничения предшествующего уровня техники.
[0007] Следует отметить, что беспилотный автомобиль (SDC) должен справляться со сложными сценариями дорожного движения. Например, необходимо учитывать динамические факторы, а также правила дорожного движения. Траектория, состоящая из информации о времени и пространстве, указывает на желаемое движение SDC в динамической среде. Планирование движения отвечает за поиск такой траектории, которая возможна для SDC, удобна для пассажиров и/или позволяет избежать столкновений с другими участниками движения.
[0008] Разработчики настоящей технологии осознали, что планирование движения SDC можно разделить на два этапа. Путь для SDC можно спланировать на первом этапе, и он в некотором смысле представляет, «где» SDC будет двигаться по местности. На этом первом этапе, например, можно учесть геометрию дороги и стационарные препятствия. На втором этапе SDC может в некотором смысле определить, «когда» SDC будет расположен в соответствующих точках на этом пути. Например, такая информация может быть представлена меткой времени, связанной с каждой точкой на пути, и, следовательно, скоростью, с которой SDC должен двигаться, чтобы достичь этой точки в данный момент времени. Разработчики настоящей технологии разработали способы и электронные устройства для выполнения временного планирования скорости для заданного пути SDC.
[0009] Следует отметить, что электронное устройство может включать в себя ряд различных модулей для выполнения планирования движения для SDC. Например, электронное устройство может включать в себя первый модуль для выполнения высокоуровневого планирования маршрута, который выбирает предпочтительный маршрут через сеть дорог, организованную в виде карты. Можно сказать, что маршрут определяет «глобальный план» для SDC как последовательность дорог для прибытия в пункт назначения. Поскольку при планировании маршрута не учитывается местная среда, затем выполняется планирование более низкого уровня. Таким образом, второй модуль может отвечать за принятие решений относительно маневров, которые SDC должен выполнять в данной ситуации. Например, электронное устройство может принять решение о том, следует ли SDC сохранить свою полосу движения или сменить полосу движения. Для выполнения этого маневра можно использовать третий модуль для определения траектории на участке дороги. Затем траектория преобразуется в команды транспортного средства четвертым модулем для управления работой SDC в соответствии с траекторией для выполнения маневра.
[00010] По меньшей мере в некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и электронные устройства, в которых третий модуль применяет двухэтапный процесс для определения траектории на местности и/или на участке дороги. Также можно сказать, что третий модуль выполняет «независимое планирование» (“decoupled planning”) траекторий, где путь определяется на первом этапе, а профиль скорости определяется на втором этапе. По меньшей мере, в некоторых вариантах осуществления настоящей технологии электронное устройство может выполнять независимое планирование траекторий итеративным способом. Другими словами, в рамках каждого цикла планирования электронное устройство повторяет планирование пути и скорости, чтобы учесть самую свежую информацию о динамической среде SDC.
[00011] Разработчики настоящей технологии разработали способы и системы для оптимизации процесса построения профиля скорости для заданного пути. В некоторых вариантах осуществления профиль скорости, сгенерированный для данного пути, как раскрыто в данном документе, может гарантировать, что SDC не окажется в будущем состоянии, в котором столкновение с движущимся объектом неизбежно. Например, профиль скорости может быть сгенерирован таким образом, что, когда SDC следует по пути в соответствии с этим профилем скорости, SDC не обнаружит себя в будущий момент времени в заданном положении и скорости, которые подвергнут SDC риску столкновения с движущимся объектом и лишит возможности реагировать на неожиданный маневр движущегося объекта.
[00012] В контексте настоящей технологии во время заданного цикла планирования движения электронное устройство выполнено с возможностью генерирования «структуры графа», имеющей узлы и ребра, где узлы представляют соответствующие потенциальные состояния SDC на участке дороги и где ребра представляют собой переходы между потенциальными состояниями узлов, соединенных ими. Заданные потенциальные состояния узла могут представлять положение, момент времени, а также скорость, с которой SDC потенциально может оказаться в будущем на пути. Для каждого узла электронное устройство выполнено с возможностью определения «оценки времени», указывающей количество времени, которое электронное устройство могло бы иметь до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии и движущийся объект выполняет неожиданный маневр в момент времени соответствующего потенциального состояния.
[00013] Разработчики настоящей технологии осознали, что текущая впоследствии (потенциальная) скорость SDC, связанного с данным узлом, важна для определения этого количества времени, иногда называемого «временем реакции» (TTR, Time-To-React). Например, для одной и той же пары «положение-время» SDC имеет меньшее TTR при сравнительно более высокой скорости, чем при сравнительно более низкой скорости. В результате электронное устройство сконфигурировано так, чтобы не только учитывать позиционные и временные данные при определении оценки времени для данного узла, но также связанную потенциальную скорость SDC, связанную с этим узлом.
[00014] Как только оценка времени определена для данного узла в структуре графа, электронное устройство может использовать оценку времени для присвоения стоимости ребру, соединяющему этот узел с предыдущим узлом в структуре графа. Можно сказать, что эта стоимость представляет безопасность перехода из потенциального состояния, связанного с предыдущим узлом, в потенциальное состояние, связанное с данным узлом. Затем можно использовать один или несколько алгоритмов для определения последовательности ребер в структуре графа на основе соответствующих стоимостей. Одна или несколько последовательностей могут использоваться для построения соответствующих профилей скорости для SDC при следовании по маршруту.
[00015] Разработчики настоящей технологии осознали, что такой выбор последовательности ребер для построения профиля скорости позволяет учесть «непредсказуемость» поведения движущегося объекта. Как станет очевидно из приведенного ниже описания, хотя ряд прогнозируемых траекторий может быть вычислен для движущегося объекта, такие прогнозы могут оказаться неверными в ближайшем будущем, если движущийся объект резко изменит свое поведение. Например, хотя текущее поведение движущегося объекта указывает на то, что движущийся объект устойчиво движется перед SDC с постоянной скоростью, всегда существует риск того, что движущийся объект изменит свое текущее поведение и выполнит неожиданный маневр, например, резкий маневр при торможении.
[00016] В некоторых вариантах осуществления настоящей технологии разработчики разработали способы и электронные устройства, которые можно использовать для генерирования профиля скорости, который гарантирует, что столкновение не может произойти, если движущийся объект изменит свое текущее поведение (больше не следует по наилучшей прогнозируемой траектории) и, скорее, выполняет другую, заранее определенную, неожиданную траекторию. В некоторых вариантах осуществления профиль скорости может быть построен во время заданного цикла планирования, так что, если SDC следует по пути в соответствии с этим профилем скорости, никакое столкновение не будет возможным по меньшей мере до следующего цикла планирования. Новый профиль скорости может быть сгенерирован в следующем цикле планирования и может отличаться от профиля скорости, сгенерированного в течение данного цикла планирования, однако он по-прежнему будет гарантировать, что «решение без столкновений» существует в последующем цикле планирования.
[00017] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство может строить профиль скорости, части которого адаптированы для обеспечения возможности маневра для предотвращения столкновения для SDC. Например, структура графа может включать в себя ряд узлов, представляющих потенциальные состояния, имеющие одинаковое положение, но разные моменты времени и/или скорости. По существу, в зависимости от их соответствующих потенциальных состояний, этим узлам могут быть назначены разные оценки времени, и, следовательно, для соответствующих ребер могут быть назначены разные стоимости. Таким образом, алгоритм выбора ребер может определять последовательность ребер, которая приведет к тому, что SDC окажется в «лучшем» из ряда узлов, связанных с одним и тем же положением. Другими словами, построение таким образом профиля скорости может позволить SDC оказаться в заданном положении на пути в «правильный» момент времени, а также с «правильной» скоростью для обеспечения существования решения без столкновений.
[00018] В первом широком аспекте настоящей технологии предоставляется способ управления беспилотным автомобилем (SDC) на местности. Движущийся объект находится в окружении SDC. SDC управляется электронным устройством. Упомянутый способ может исполняться электронным устройством. Способ включает в себя в данный момент времени во время работы SDC, генерирование посредством электронного устройства пути для SDC на местности, где этот путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC. Способ включает в себя в заданный момент времени во время работы SDC генерирование посредством электронного устройства указаний запланированных скоростей для SDC при следовании по последовательности потенциальных положений. Генерирование указаний включает в себя генерирование посредством электронного устройства структуры графа, имеющей узлы и ребра. Данный узел представляет первое потенциальное состояние SDC на местности, а первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость SDC в первый потенциальный будущий момент времени. Данное ребро соединяет данный узел с предыдущим узлом в структуре графа и представляет соответствующий потенциальный переход от предыдущего потенциального состояния к первому потенциальному состоянию. Генерирование указаний включает в себя генерирование посредством электронного устройства оценки времени для данного узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в первом потенциальном состоянии и объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Генерирование указаний включает в себя генерирование посредством электронного устройства стоимости для данного ребра с использованием оценки времени данного узла, где стоимость указывает на безопасность соответствующего потенциального перехода. Генерирование указаний включает в себя определение посредством электронного устройства последовательности ребер с использованием стоимости данного ребра, последовательности ребер, имеющих допустимую общую стоимость ребер. Генерирование указаний включает в себя генерирование посредством электронного устройства указаний запланированных скоростей с использованием потенциальных состояний узлов, соединенных последовательностью ребер. Способ включает в себя в данный момент времени во время работы SDC побуждение посредством электронного устройства управления SDC вдоль пути в соответствии с запланированными скоростями.
[00019] В некоторых вариантах осуществления способа генерирование оценки времени включает в себя: генерирование посредством электронного устройства экстренной траектории SDC, если SDC выполняет экстренный маневр, когда SDC находится в первом потенциальном состоянии; генерирование посредством электронного устройства неожиданной траектории объекта, если объект выполняет заранее определенный неожиданный маневр, когда объект находится в третьем потенциальном состоянии в первый потенциальный будущий момент времени; проецирование посредством электронного устройства момента времени и конечного положения неожиданной траектории объекта на момент времени и конечное положение экстренной траектории SDC для определения расстояния между SDC и объектом после завершения экстренного маневра и заранее определенного неожиданного маневра; и генерирование посредством электронного устройства оценки времени на основе оценки расстояния и первой потенциальной скорости первого потенциального состояния SDC.
[00020] В некоторых вариантах осуществления способа способ дополнительно включает в себя: генерирование посредством электронного устройства множества прогнозируемых траекторий для объекта на местности; определение посредством электронного устройства наиболее вероятной прогнозируемой траектории среди множества прогнозируемых траекторий; и выбор посредством электронного устройства третьего потенциального состояния объекта как потенциального состояния объекта в первый потенциальный будущий момент времени в соответствии с наиболее вероятной прогнозируемой траекторией.
[00021] В некоторых вариантах осуществления способа движущийся объект содержит первый движущийся объект, а второй движущийся объект находится в окружении SDC, и оценка времени является первой оценкой времени, связанной с первым объектом. Генерирование указаний дополнительно включает в себя генерирование посредством электронного устройства второй оценки времени для данного узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения со вторым объектом, если SDC находится в первом потенциальном состоянии, а второй движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Генерирование стоимости включает в себя генерирование посредством электронного устройства стоимости для данного ребра с использованием первой оценки времени и второй оценки времени данного узла.
[00022] В некоторых вариантах осуществления способа генерирование стоимости для данного ребра с использованием первой оценки времени и второй оценки времени включает в себя вычисление посредством электронного устройства взвешенной суммы первой оценки времени и второй оценки времени.
[00023] В некоторых вариантах осуществления способа стоимость генерируется в ответ на то, что оценка времени ниже заранее определенного порога.
[00024] В некоторых вариантах осуществления способа стоимость пропорциональна квадрату разности между заранее определенным порогом и оценкой времени.
[00025] В некоторых вариантах осуществления способа соответствующий потенциальный переход представляет собой переход от предыдущего потенциального состояния к первому потенциальному состоянию при постоянном ускорении.
[00026] В некоторых вариантах осуществления способа генерирование пути включает в себя генерирование посредством электронного устройства другой структуры графы для местности на основе геометрии местности. Другая структура графа имеет другие узлы и другие ребра, где данный другой узел представляет соответствующее потенциальное положение SDC на местности, а данное другое ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений. Генерирование пути включает в себя определение посредством электронного устройства последовательности потенциальных положений из другой структуры графа.
[00027] В некоторых вариантах осуществления способа способ дополнительно включает в себя в другой заданный момент времени во время работы SDC после заданного момента времени: генерирование посредством электронного устройства другого пути для SDC на местности, причем путь включает в себя другую последовательность потенциальных положений на местности, по которой должно следовать SDC; генерирование посредством электронного устройства другой структуры графа, имеющей другие узлы и другие ребра, генерирование посредством электронного устройства другой оценки времени для данного другого узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии заданного другого узла, и объект выполняет заранее определенный неожиданный маневр в соответствующий потенциальный момент времени; выбор посредством электронного устройства другой последовательности ребер в структуре графа на основе другой оценки времени другого заданного узла; генерирование посредством электронного устройства указаний других запланированных скоростей для SDC при следовании по другой последовательности потенциальных положений на основе другой последовательности ребер; и побуждение посредством электронного устройства управления SDC вдоль пути в соответствии с другими запланированными скоростями.
[00028] В некоторых вариантах осуществления способа местность представляет собой участок дороги с полосой движения, и SDC следует за движущимся объектом в полосе движения, а заранее определенный неожиданный маневр движущегося объекта представляет собой маневр быстрого торможения, и экстренный маневр SDC представляет собой маневр быстрого торможения.
[00029] В некоторых вариантах осуществления способа местность представляет собой участок дороги, имеющий первую полосу движения и вторую полосу движения. SDC движется по первой полосе движения. Объект движется по второй полосе движения. Заранее определенный неожиданный маневр движущегося объекта представляет собой маневр с изменением полосы движения на первую полосу движения, а экстренный маневр SDC представляет собой маневр быстрого торможения.
[00030] Во втором широком аспекте настоящей технологии предоставляется электронное устройство для управления беспилотным автомобилем (SDC) на местности. Движущийся объект находится в окружении SDC. Электронное устройство сконфигурировано так, чтобы в заданный момент времени во время работы SDC генерировать путь для SDC на местности, где путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC. Электронное устройство сконфигурировано так, чтобы в данный момент времени во время работы SDC генерировать указания запланированных скоростей для SDC при следовании по последовательности потенциальных положений. Для генерирования указаний электронное устройство выполнено с возможностью генерирования структуры графа, имеющей узлы и ребра. Данный узел представляет первое потенциальное состояние SDC на местности, а первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость SDC в первый потенциальный будущий момент времени. Данное ребро соединяет данный узел с предыдущим узлом в структуре графа и представляет соответствующий потенциальный переход от предыдущего потенциального состояния к первому потенциальному состоянию. Для генерирования указаний электронное устройство выполнено с возможностью генерировать оценку времени для данного узла, указывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в первом потенциальном состоянии и объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Для генерирования указаний электронное устройство выполнено с возможностью генерирования стоимости для данного ребра с использованием оценки времени данного узла, где стоимость указывает на безопасность соответствующего потенциального перехода. Для генерирования указаний электронное устройство выполнено с возможностью определения последовательности ребер с использованием стоимости данного ребра, где последовательность ребер имеет допустимую общую стоимость ребер. Для генерирования указаний электронное устройство выполнено с возможностью генерирования указаний запланированных скоростей с использованием потенциальных состояний узлов, соединенных последовательностью ребер. Электронное устройство сконфигурировано так, чтобы в данный момент времени во время работы SDC предписывать работу SDC вдоль пути в соответствии с запланированными скоростями.
[00031] В некоторых вариантах осуществления электронного устройства для генерирования оценки времени электронное устройство выполнено с возможностью: генерировать экстренную траекторию SDC, если SDC выполняет экстренный маневр, когда SDC находится в первом потенциальном состоянии; генерировать неожиданную траекторию объекта, если объект выполняет заранее определенный неожиданный маневр, когда объект находится в третьем потенциальном состоянии в первый потенциальный будущий момент времени; проецировать момент времени и конечное положение неожиданной траектории объекта на момент времени и конечное положение экстренной траектории SDC для определения расстояния между SDC и объектом после завершения экстренного маневра и заранее определенного неожиданного маневра; и генерировать оценку времени на основе оценки расстояния и первой потенциальной скорости первого потенциального состояния SDC.
[00032] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно выполнено с возможностью: генерировать множество прогнозируемых траекторий для объекта на местности; определять наиболее вероятную прогнозируемую траекторию среди множества прогнозируемых траекторий; и выбирать третье потенциальное состояние объекта как потенциальное состояние объекта в первый потенциальный будущий момент времени в соответствии с наиболее вероятной прогнозируемой траекторией.
[00033] В некоторых вариантах осуществления электронного устройства движущийся объект содержит первый движущийся объект, а второй движущийся объект находится в окружении SDC, где оценка времени является первой оценкой времени, связанной с первым объектом, и для генерирования указаний электронное устройство дополнительно выполнено с возможностью: генерирования второй оценки времени для данного узла, указывающей количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения со вторым объектом, если SDC находится в первом потенциальном состоянии, а второй движущийся объект выполняет заранее определенный неожиданный маневр в первый потенциальный будущий момент времени. Для генерирования стоимости электронное устройство выполнено с возможностью генерировать стоимость для данного ребра с использованием первой оценки времени и второй оценки времени данного узла.
[00034] В некоторых вариантах осуществления электронного устройства, чтобы генерировать стоимость для данного ребра с использованием первой оценки времени и второй оценки времени, электронное устройство выполнено с возможностью вычисления взвешенной суммы первой оценки времени и второй оценки времени.
[00035] В некоторых вариантах осуществления электронного устройства стоимость генерируется в ответ на то, что оценка времени ниже заранее определенного порога.
[00036] В некоторых вариантах осуществления электронного устройства стоимость пропорциональна квадрату разности между заранее определенным порогом и оценкой времени.
[00037] В некоторых вариантах осуществления электронного устройства соответствующий потенциальный переход представляет собой переход от предыдущего потенциального состояния к первому потенциальному состоянию при постоянном ускорении.
[00038] В некоторых вариантах осуществления электронного устройства для генерирования пути электронное устройство выполнено с возможностью: генерировать другую структуру графа для местности на основе геометрии местности. Другая структура графа имеет другие узлы и другие ребра, и данный другой узел представляет соответствующее потенциальное положение SDC на местности, а данное другое ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений. Для генерирования пути электронное устройство выполнено с возможностью определения последовательности потенциальных положений из другой структуры графа.
[00039] В некоторых вариантах осуществления электронного устройства электронное устройство дополнительно сконфигурировано для того, чтобы в другой заданный момент времени во время работы SDC после заданного момента времени: генерировать другой путь для SDC на местности, причем путь включает в себя другую последовательность потенциальных положений на местности, по которым должен следовать SDC; генерировать другую структуру графа, имеющую другие узлы и другие ребра, генерировать другую оценку времени для данного другого узла, показывающую количество времени, которое электронное устройство имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если SDC находится в соответствующем потенциальном состоянии данного другого узла и объект выполняет заранее определенный неожиданный маневр в соответствующий потенциальный момент времени; выбрать другую последовательность ребер в структуре графа на основе другой оценки времени другого заданного узла; генерировать указания других запланированных скоростей для SDC при следовании по другой последовательности потенциальных положений на основе другой последовательности ребер; и предписывать работу SDC вдоль пути в соответствии с другими запланированными скоростями.
[00040] В некоторых вариантах осуществления электронного устройства местность представляет собой участок дороги, имеющий полосу движения, и SDC следует за движущимся объектом в полосе движения, где заранее определенный неожиданный маневр движущегося объекта представляет собой маневр быстрого торможения и экстренный маневр SDC представляет собой маневр быстрого торможения.
[00041] В некоторых вариантах осуществления электронного устройства местность представляет собой участок дороги, имеющий первую полосу движения и вторую полосу движения, и SDC движется по первой полосе движения, а объект движется по второй полосе движения, и заранее определенный неожиданный маневр движущегося объекта представляет собой маневр с изменением полосы движения на первую полосу движения, а экстренный маневр SDC представляет собой маневр быстрого торможения.
[00042] В контексте настоящего описания термин «окружение» данного транспортного средства относится к области или объему вокруг данного транспортного средства, включая часть его текущей окружающей среды, доступную для сканирования с использованием одного или нескольких датчиков, установленных на данном транспортном средстве, например, для генерирования трехмерной карты такого окружения или обнаружения в нем объектов.
[00043] В контексте настоящего описания «интересующая область» может в широком смысле включать в себя часть наблюдаемой среды системы лидара, в которой один или несколько объектов могут быть обнаружены. Следует отметить, что на интересующую область системы лидара могут влиять различные условия, такие как, но не ограничиваясь ими: ориентация системы лидара (например, направление оптической оси системы лидара); положение системы лидара по отношению к окружающей среде (например, расстояние над землей и прилегающий рельеф местности и препятствия); рабочие параметры системы лидара (например, мощность излучения, вычислительные настройки, заданные углы работы) и т.д. ROI системы лидара может быть определен, например, плоским углом или телесным углом. В одном примере ROI также может быть определена в пределах определенного диапазона расстояний (например, до 200 м или около того).
[00044] В контексте настоящего описания «сервер» - это компьютерная программа, которая выполняется на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В данном контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принятые инструкции или запросы) или любая конкретная задача была принята, выполнена или вызвана к выполнению одним и тем же сервером (то есть тем же программным и/или аппаратным обеспечением); это означает, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или обеспечение выполнения любой задачи или запроса или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба случая из которых включены в выражение «по меньшей мере один сервер».
[00045] В контексте настоящего описания «электронное устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.
[00046] В контексте настоящего описания «клиентское устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «клиентское устройство» обычно ассоциируется с пользователем клиентского устройства. Таким образом, некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему как клиентское устройство в данном контексте, не запрещается действовать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанных здесь.
[00047] В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая может быть сохранена в базе данных. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[00048] В контексте настоящего описания выражение «программный компонент» подразумевает включение программного обеспечения (подходящего для конкретного аппаратного контекста), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.
[00049] В контексте настоящего описания выражение «компьютерный носитель информации» (также называемый «носитель информации») предназначен для включения носителей любого характера и типа, включая, без ограничения, RAM, ROM, диски (CD-ROM), DVD, дискеты, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования компьютерных носителей информации, включая два или более компонентов носителей одного типа и/или два или более компонентов носителей разных типов.
[00050] В контексте настоящего описания «база данных» представляет собой любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного оборудования, на котором данные хранятся, реализуются или иным образом предоставляются для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например на выделенном сервере или множестве серверов.
[00051] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют относительно друг от друга, а не для цели описания каких-либо конкретных отношений между этими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами и их использование (само по себе) не подразумевает, что любой «второй сервер» обязательно должен существовать в любой данной ситуации. Кроме того, как обсуждается здесь в других контекстах, ссылка на «первый» элемент и «второй» элемент не препятствует тому, чтобы эти два элемента были одним и тем же фактическим элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут быть одним и тем же программным и/или аппаратным компонентами, в других случаях они могут быть разными программными и/или аппаратными компонентами.
[00052] Каждая из реализаций настоящей технологии имеет по меньшей мере один из вышеупомянутых объектов и/или аспектов, но не обязательно имеет все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[00053] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00054] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[00055] Фиг.1 изображает принципиальную схему примерной компьютерной системы, конфигурируемой для реализации некоторых неограничивающих вариантов осуществления настоящей технологии.
[00056] Фиг.2 изображает принципиальную схему сетевой вычислительной среды, подходящей для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00057] Фиг. 3 изображает представление транспортного средства и объекта, движущихся по участку дороги, в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00058] Фиг.4 изображает представление структуры графа дороги и пути, сгенерированного для участка дороги по фиг.3, в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00059] Фиг. 5 изображает представление структуры графа скорости, сгенерированной для транспортного средства по фиг. 3, в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00060] Фиг.6 изображает представление последовательностей ребер, определенных из структуры графа скорости по Фиг.5, в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00061] Фиг.7 изображает представление потенциальных будущих состояний транспортного средства и объекта по фиг.3 в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00062] Фиг. 8 изображает представление потенциальных будущих состояний транспортного средства и объекта в другом сценарии в соответствии с некоторыми вариантами осуществления настоящей технологии.
[00063] Фиг.9 - схематическая блок-схема способа, выполняемого посредством электронного устройства в соответствии с по меньшей мере некоторыми неограничивающими вариантами осуществления настоящей технологии.
Подробное описание
[00064] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.
[00065] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[00066] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия пониманию и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[00067] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[00068] Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[00069] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[00070] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
Компьютерная система
[00071] Ссылаясь сначала на фиг.1, на ней изображена принципиальная схема компьютерной системы 100, подходящей для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 включает в себя различные аппаратные компоненты, включая один или несколько одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельным накопителем 120 и памятью 130, которая может быть оперативной памятью или любым другим типом памяти.
[00072] Связь между различными компонентами компьютерной системы 100 может быть обеспечена одной или несколькими внутренними и/или внешними шинами (не показаны) (например, шиной PCI, универсальной последовательной шиной, шиной Firewire IEEE 1394, шиной SCSI, шиной Serial-ATA и т.д.), с которыми различные аппаратные компоненты электронно связаны. Согласно вариантам осуществления настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в память 130 и выполнения процессором 110 для определения присутствия объекта. Например, программные инструкции могут быть частью приложения управления транспортным средством, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может иметь дополнительные и/или опциональные компоненты (не показаны), такие как модули сетевой связи, модули локализации и т.п.
Сетевая вычислительная среда
[00073] Со ссылкой на фиг.2 изображена сетевая вычислительная среда 200, подходящая для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 включает в себя электронное устройство 210, связанное с транспортным средством 220 и/или связанное с пользователем (не изображен), который связан с транспортным средством 220 (например, в качестве оператора транспортного средства 220). Среда 200 также включает в себя сервер 235, поддерживающий связь с электронным устройством 210 через сеть 240 связи (например, Интернет и т.п., как будет более подробно описано ниже).
[00074] По меньшей мере в некоторых неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 связано с возможностью осуществления связи с системами управления транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью управления различными операционными системами транспортного средства 220, включая, помимо прочего: ECU (блок управления двигателем), системы рулевого управления, тормозные системы, а также системы сигнализации и освещения (т.е. фары, стоп-сигналы, и/или указатели поворота). В таком варианте осуществления транспортное средство 220 может быть беспилотным транспортным средством 220.
[00075] В некоторых неограничивающих вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может включать в себя спутник GPS (не показан), передающий и/или принимающий сигнал GPS на/от электронного устройства 210. Следует понимать, что настоящая технология не ограничивается GPS и может использовать технологию определения местоположения, отличную от GPS. Следует отметить, что спутник GPS можно вообще не использовать.
[00076] Транспортное средство 220, с которым связано электронное устройство 210, может быть любым транспортным средством для отдыха или иного, например, частным или коммерческим автомобилем, грузовиком, мотоциклом и т.п. Хотя транспортное средство 220 изображено как наземное транспортное средство, это может быть не так во всех без исключения неограничивающих вариантах осуществления настоящей технологии. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии транспортное средство 220 может быть водным транспортным средством, таким как лодка, или летательным аппаратом, например летающим дроном.
[00077] Транспортное средство 220 может управляться пользователем или может быть транспортным средством без водителя. В некоторых неограничивающих вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано как беспилотный автомобиль (SDC). Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, эти конкретные параметры включают в себя, например: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, размеры транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и объем двигателя.
[00078] Согласно настоящей технологии реализация электронного устройства 210 особо не ограничивается. Например, электронное устройство 210 может быть реализовано как блок управления двигателем транспортного средства, центральный процессор транспортного средства, навигационное устройство транспортного средства (например, TomTom™, Garmin™), планшет, персональный компьютер, встроенный в транспортное средство 220, и т.п. Таким образом, следует отметить, что электронное устройство 210 может быть или может не быть постоянно связано с транспортным средством 220. Дополнительно или альтернативно электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В определенных вариантах осуществления электронное устройство 210 имеет дисплей 270.
[00079] Электронное устройство 210 может включать в себя некоторые или все компоненты компьютерной системы 100, изображенной на Фиг.1, в зависимости от конкретного варианта осуществления. В некоторых вариантах осуществления электронное устройство 210 представляет собой бортовое компьютерное устройство и включает в себя процессор 110, твердотельный накопитель 120 и память 130. Другими словами, электронное устройство 210 включает в себя аппаратное обеспечение, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для обработки данных, как будет более подробно описано ниже.
[00080] В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети 240 связи приведены только в целях иллюстрации. Между электронным устройством 210 и сетью 240 связи предоставляется линия связи (отдельно не пронумерована), реализация которой будет зависеть, среди прочего, от того, как реализовано электронное устройство 210. Просто в качестве примера, а не ограничения, в тех неограничивающих вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может быть реализована как линия беспроводной связи. Примеры линий беспроводной связи могут включать в себя, без ограничения, линию связи сети 3G, линию связи 4G и т.п. Сеть 240 связи также может использовать беспроводное соединение с сервером 235.
[00081] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован как компьютерный сервер и может включать в себя некоторые или все компоненты компьютерной системы 100 на Фиг.1. В одном неограничивающем примере сервер 235 реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™, но также может быть реализован в любом другом подходящем аппаратном обеспечении, программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 235 является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 235 могут быть распределены и могут быть реализованы посредством нескольких серверов (не показаны).
[00082] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может поддерживать связь с сервером 235 для приема одного или нескольких обновлений. Такие обновления могут включать, помимо прочего, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погоды и т.п. В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 также может быть выполнен с возможностью передачи на сервер 235 некоторых рабочих данных, таких как пройденные маршруты, данные дорожного движения, данные производительности и т.п.. Некоторые или все такие данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или анонимизированы.
[00083] Следует отметить, что электронное устройство 210 может использовать различные датчики и системы для сбора информации об окружении 250 транспортного средства 220. Как видно на Фиг.2, транспортное средство 220 может быть оборудовано множеством систем 280 датчиков. Следует отметить, что различные системы датчиков из множества систем 280 датчиков могут использоваться для сбора различных типов данных, касающихся окружения 250 транспортного средства 220.
[00084] В одном примере множество систем 280 датчиков может включать в себя различные оптические системы, включая, среди прочего, одну или несколько систем датчиков типа камеры, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110 электронного устройства 210. Вообще говоря, одна или несколько систем датчиков типа камеры могут быть выполнены с возможностью сбора данных изображения о различных частях окружения 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или несколькими системами датчиков типа камеры, могут использоваться электронным устройством 210 для выполнения процедур обнаружения объекта. Например, электронное устройство 210 может быть выполнено с возможностью подачи данных изображения, предоставленных одной или несколькими системами датчиков типа камеры, в нейронную сеть обнаружения объектов (ODNN, Object Detection Neural Network), которая обучена локализовать и классифицировать потенциальные объекты в окружении 250 транспортного средства 220.
[00085] В другом примере множество систем 280 датчиков может включать в себя одну или несколько систем датчиков радарного типа, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью использования радиоволн для сбора данных о различных частях окружения 250 транспортного средства 220. Например, одна или несколько систем датчиков радарного типа могут быть выполнены с возможностью сбора радиолокационных данных о потенциальных объектах в окружении 250 транспортного средства 220, такие данные потенциально представляют расстояние объектов от системы датчиков радарного типа, ориентацию объектов, быстроту и/или скорости объектов и т.п.
[00086] В дополнительном примере множество систем 280 датчиков может включать в себя одну или несколько систем оптического обнаружения и определения дальности (LIDAR, лидар), которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, система лидара выполнена с возможностью сбора данных об окружении 250 транспортного средства 220, используемых, например, для построения многомерной карты объектов в окружении 250 транспортного средства 220. Система лидара может быть установлена или модифицирована на транспортном средстве 220 в различных местоположениях и/или в различных конфигурациях для сбора информации об окружении 250 транспортного средства 220.
[00087] Например, в зависимости от реализации транспортного средства 220 и системы лидара, система лидара может быть установлена на внутренней, верхней части лобового стекла транспортного средства 220. Тем не менее другие места для установки системы лидара входят в объем настоящего раскрытия, в том числе на заднем окне, боковых окнах, переднем капоте, крыше, передней решетке, переднем бампере или сбоку транспортного средства 220.
[00088] В контексте настоящей технологии электронное устройство 210 выполнено с возможностью обнаружения одного или нескольких объектов в окружении 250 транспортного средства 220 на основе данных, полученных от одной или нескольких систем камер и одной или нескольких систем лидара. Например, электронное устройство 210, выполненное с возможностью обнаружения данного объекта в окружении 250 транспортного средства 220, может быть выполнено с возможностью идентифицировать данные лидара и данные камеры, связанные с данным объектом, генерировать «внедрение», представляющее особенности, связанные с данным объектом, и обнаружить объект, создав ограничивающую рамку для объекта.
Сценарий 1
[00089] Со ссылкой на Фиг.3, есть иллюстративный пример 300 транспортного средства 220 в окружении 250. Предположим, что транспортное средство 220 движется по участку 350 дороги. Электронное устройство 210 может принимать от системы 280 датчиков информацию об окружении 250 транспортного средства 220 и, в частности, об участке 350 дороги и об одном или нескольких «действующих лицах» (также иногда называемых «агентами») на участке 350 дороге, например, соседние объекты в окружении транспортного средства 220. Например, электронное устройство 210 может принимать информацию, собранную об объекте 310 на участке 350 дороги. Можно сказать, что объект 310 «динамический» или движущийся по участку 350 дороги.
[00090] Следует отметить, что транспортное средство 220, работающее на участке 350 дороги и поблизости от объекта 310, является только одним неограничивающим примером настоящей технологии. В другом примере транспортное средство 220 может работать на другом участке и вблизи движущегося объекта 310. В этом другом примере транспортное средство 220 и движущийся объект 310 могут двигаться по соответствующим полосам движения, которые вот-вот сойдутся. В некоторых вариантах осуществления настоящей технологии транспортное средство 220 может работать на местности, которая отличается от участка дороги, такого как, например, участок тротуара и/или участок бездорожья. В контексте настоящей технологии электронное устройство 210 выполнено с возможностью выполнения планирования движения транспортного средства 220 на участке 350 дороги. Как станет очевидно из приведенного ниже описания, планирование движения транспортного средства 220 может выполняться посредством двухэтапного процесса, то есть этапа планирования пути и этапа планирования скорости.
[00091] Электронное устройство 210 выполнено с возможностью генерировать в данный момент времени «дорожный граф» для участка 350 дороги для управления транспортным средством 220. Чтобы лучше проиллюстрировать это, теперь обратимся к Фиг.4, где в данный момент времени электронное устройство 210 выполнено с возможностью генерирования дорожного графа 420 для участка 350 дороги. Дорожный граф 420 имеет множество узлов (не пронумерованных) и множество ребер (не пронумерованных), соединяющих соответствующие узлы из множества узлов. Например, ребро 450 дорожного графа 420 соединяет первый узел 451 и второй узел 452. Данный узел связан с соответствующим потенциальным положением транспортного средства 220 на участке 350 дороги. Данное ребро представляет переход транспортного средства 220 между потенциальными положениями соответствующей пары узлов. Например, ребро 450 представляет переход транспортного средства 220 между его потенциальными положениями первого узла 451 и второго узла 452. Следует отметить, что размер и форма дорожного графа 420 могут зависеть, среди прочего, от размера и формы участка 350 дороги, а также от других геометрических характеристик участка 350 дороги и/или окружения 250.
[00092] Следует отметить, что электронное устройство 210 может быть выполнено с возможностью хранения информации в ассоциации с соответствующим узлом и/или соответствующим ребром дорожного графа 420. Например, электронное устройство 210 может быть выполнено с возможностью хранения позиционных данных в связи с данным узлом. В другом примере электронное устройство 210 может быть выполнено с возможностью хранения, в связи с заданным ребром, позиционных данных соответствующей пары узлов.
[00093] Предполагается, что дополнительные данные к данным, не исчерпывающе упомянутым выше, могут храниться в ассоциации с соответствующим узлом и/или ребром дорожного графа 420. Например, во время генерирования дорожного графа 420 электронное устройство 210 может быть выполнено с возможностью генерировать атрибуты для соответствующих узлов и/или ребер дорожного графа 420 и сохранять эти атрибуты вместе с соответствующими узлами и/или ребрами. Тип атрибутов, которые могут храниться в связанных с соответствующими узлами и/или ребрами, особо не ограничивается. Следует отметить, что электронное устройство 210 может использовать эти атрибуты при оценке последовательностей узлов и/или ребер в дорожном графе 420.
[00094] Назначение дорожного графика 420 (и анализ содержащихся в нем данных) состоит в том, чтобы создать «путь», по которому транспортное средство 220 должно следовать на участке 350 дороги. Вообще говоря, данный путь для данного участка дороги представлен соответствующей последовательностью узлов/ребер соответствующего дорожного графа и содержит информацию о последовательности положений, иногда называемых «станциями», на данном участке дороги, по которому транспортное средство 220 потенциально может следовать во время работы.
[00095] В некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерирования множества потенциальных путей на основе дорожного графа 420 и выполнения процесса оценки пути для выбора целевого пути (среди множества потенциальных путей), по которому должно следовать транспортное средство 220. В одном неограничивающем примере во время процесса оценки пути электронное устройство 210 может быть выполнено с возможностью применения «критериев стоимости» к атрибутам узлов и/или ребер. Электронное устройство 210 может также определять «общую стоимость» для различных последовательностей ребер, соответствующих соответствующим потенциальным путям. Электронное устройство 210 может также ранжировать соответствующие потенциальные пути на основе того, какую стоимость имеют соответствующие последовательности ребер.
[00096] Возвращаясь к описанию фиг. 4, предположим, что электронное устройство 210 генерирует путь 480, по которому транспортное средство 220 должно следовать на участке 350 дороги. Путь 480 соответствует соответствующей последовательности узлов/ребер из дорожного графа 420. Таким образом, можно сказать, что путь 480 включает в себя последовательность потенциальных положений на участке 350 дороги, по которым должно следовать транспортное средство 220. Например, последовательность потенциальных положений включает в себя потенциальные положения, связанные с первым узлом 451, вторым узлом 452 и другими узлами (не пронумерованы) пути 480.
[00097] Как упомянуто выше, последовательность потенциальных положений, соответствующих пути 480, иногда называют станциями, по которым транспортное средство 220 должно двигаться на участке 350 дороги. Электронное устройство 210 выполнено с возможностью использования пути 480 для управления транспортным средством 220 на участке 350 дороги в данный момент времени. Более конкретно, электронное устройство 210 выполнено с возможностью генерировать данные о траектории для транспортного средства 220, чтобы фактически следовать по положениям (станциям) на участке 350 дороги, соответствующем пути 480.
[00098] В качестве части данных о траектории, электронное устройство 210 выполнено с возможностью построения «профиля скорости» для транспортного средства 220 при следовании по пути 480 на участке 350 дороги. Вообще говоря, профиль скорости содержит указания запланированных скоростей для транспортного средства 220 при следовании по последовательности потенциальных положений, соответствующих пути 480. Целью построения профиля скорости является планирование в данный момент времени будущих скоростей, с которыми транспортное средство 220 должно работать, следуя по последовательности потенциальных положений пути 480 (станции на участке 350 дороги).
[00099] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью выполнения в данный момент времени соответствующей итерации планирования, во время которой электронное устройство 210 использует информацию о заданном пути для генерирования данных траектории, включая профиль скорости, для транспортного средства 220. Электронное устройство 210 выполнено с возможностью использования сгенерированных таким образом данных о траектории для планирования автономной работы транспортного средства 220 на участке 350 дороги по этому пути до следующего момента времени (соответствующего следующему циклу планирования). Последующая итерация планирования может выполняться электронным устройством 210 в следующий момент времени аналогично тому, как электронное устройство 210 выполнено с возможностью выполнения соответствующей итерации планирования в данный момент времени, принимая во внимание новую и/или обновленную информацию об окружении 250 транспортного средства 220. Следует отметить, что как только транспортное средство 220 фактически эксплуатируется в соответствии с планом с использованием данных о траектории, дополнительное управление безопасностью может быть обеспечено с помощью вспомогательных систем безопасности транспортного средства 220. Например, как только транспортное средство 220 фактически управляется электронным устройством 210 на пути, как запланировано, с использованием данных о траектории, можно использовать одну или несколько систем обнаружения и предотвращения столкновений для дальнейшего снижения риска столкновений на участке 350 дороги. Тип систем обнаружения и предотвращения столкновений, которые могут использоваться, особо не ограничивается.
[000100] В некоторых вариантах осуществления настоящей технологии разработчики разработали способы и электронные устройства для генерирования профилей скорости для данного транспортного средства, чтобы снизить риск столкновения с движущимся объектом. В частности, разработчики настоящей технологии разработали способы и электронные устройства для планирования скоростей для работы транспортного средства 220 таким образом, чтобы, если транспортное средство 220 работает в соответствии с запланированными скоростями, транспортное средство 220 имело бы достаточно «времени реакции» на неожиданный маневр движущегося объекта 310, то есть транспортное средство 220, работающее в соответствии с запланированными скоростями, будет иметь время для запуска и выполнения экстренного маневра в ответ на неожиданный маневр движущегося объекта 310.
[000101] Разработчики настоящей технологии осознали, что планирование скоростей для транспортного средства 220, как раскрыто в данном документе, может снизить риск того, что транспортное средство 220 окажется в будущем состоянии на участке 250 дороги, что приведет к неизбежному столкновению. В отличие от систем обнаружения и предотвращения столкновений, которые выполнены с возможностью «обнаружения» и «реагирования» на риск столкновения, возможность «планировать» будущие скорости для транспортного средства 220, как раскрыто в данном документе для автономной работы транспортного средства 220, может предотвратить, чтобы транспортное средство 220 вообще оказалось в безвыходных ситуациях.
[000102] Разработчики настоящей технологии осознали, что планирование работы транспортного средства 220 таким образом, чтобы транспортное средство 220 сохраняло заранее определенное безопасное расстояние (на разных скоростях) от транспортного средства 220, недостаточно для предотвращения попадания транспортного средства 220 в безвыходные ситуации. Это связано с тем, что тормозной путь транспортного средства 220 изменяется в зависимости от текущей скорости транспортного средства 220, когда транспортное средство 220 инициирует экстренный маневр, такой как маневр быстрого торможения. Не желая быть привязанными к какой-либо конкретной теории, разработчики изобрели электронное устройство, которое планирует скорость транспортного средства 220 таким образом, который позволяет выдерживать более длинные безопасные расстояния при сравнительно более высоких скоростях, чем на сравнительно более низких скоростях.
[000103] В контексте настоящей технологии электронное устройство 210 выполнено с возможностью генерировать «граф скорости» (иногда называемый «структурой графа скорости»). Этот граф скорости может использоваться для генерирования указаний запланированных скоростей профиля скорости, в соответствии с которым транспортное средство 220 должно работать на участке 350 дороги, следуя по маршруту 480.
[000104] Чтобы лучше проиллюстрировать это, обратимся теперь к фиг.5, где в данный момент времени электронное устройство 210 выполнено с возможностью генерирования графа 500 скорости для пути 480. Граф 500 скорости содержит узлы и ребра. Данный узел представляет соответствующее потенциальное состояние транспортного средства 220 на участке 350 дороги, и где соответствующее потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость транспортного средства 220 в соответствующий потенциальный будущий момент времени. Данное ребро соединяет данный узел с предыдущим узлом в графе 500 скорости и представляет соответствующий потенциальный переход от предыдущего потенциального состояния предыдущего узла к потенциальному состоянию данного узла.
[000105] Например, узел 501 представляет соответствующее потенциальное состояние и указывает (i) соответствующее потенциальное положение, (ii) соответствующий момент времени и (iii) соответствующую потенциальную скорость. В некоторых вариантах осуществления узел 501 может представлять текущее состояние транспортного средства 220 на участке 250 дороги. Например, состояние, связанное с узлом 501, может указывать на текущее положение транспортного средства 220 (например, первую станцию на пути 480), текущий момент времени и текущую скорость транспортного средства 220.
[000106] Узел 501 соединен с узлом 502 через ребро 512. Предполагается, что узел 502 может представлять второе потенциальное состояние транспортного средства 220. Это второе потенциальное состояние может указывать на второе потенциальное положение, второй момент времени и вторую потенциальную скорость. Так же, в качестве примера, второе потенциальное состояние, связанное с узлом 502, может указывать на следующее положение/станцию на пути 480 после текущего положения транспортного средства 220 в соответствующий будущий момент времени после текущего момента времени, и соответствующую потенциальную скорость. В этом примере ребро 512 может указывать на переход между текущим состоянием транспортного средства 220 и вторым потенциальным состоянием транспортного средства 220. Например, переход ребра 512 может указывать на переход с постоянным ускорением между текущим состоянием и вторым потенциальным состоянием. Другими словами, ребро 512 может представлять переход, который позволяет транспортному средству 220 переходить из текущего состояния (например, текущего положения/станции, текущего момента времени, текущей скорости) в другое потенциальное состояние (например, следующее положение/станцию вдоль пути 480, соответствующий будущий момент времени после текущего момента времени и соответствующая потенциальная скорость) с постоянным ускорением.
[000107] Узел 501 также соединен с узлом 503 через ребро 513. Предполагается, что узел 503 может представлять третье потенциальное состояние транспортного средства 220. Это третье потенциальное состояние может указывать на третье потенциальное положение, третий момент времени и третью потенциальную скорость. Так же, в качестве примера, третье потенциальное состояние, связанное с узлом 503, может указывать на другое следующее положение/станцию на пути 480 после текущего положения транспортного средства 220 в соответствующий будущий момент времени после текущего момента времени, и соответствующую потенциальную скорость. В этом примере ребро 513 может указывать на переход между текущим состоянием транспортного средства 220 и третьим потенциальным состоянием транспортного средства 220.
[000108] Предполагается, что, хотя два узла представляют два различных потенциальных состояния транспортного средства 220, два различных потенциальных состояния могут иметь общие по меньшей мере некоторые параметры состояния. Это означает, что второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать по меньшей мере некоторые параметры состояния. Например, второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать одно и то же следующее положение/станцию пути 480, но могут иметь различные будущие моменты времени и разные потенциальные скорости. В другом примере второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать одно и то же следующее положение/станцию пути 480 и один и тот же будущий момент времени, но иметь разные потенциальные скорости. В дополнительном примере второе потенциальное состояние узла 502 и третье потенциальное состояние узла 503 могут совместно использовать одно и то же следующее положение/станцию пути 480 и одинаковую потенциальную скорость, но могут иметь различные будущие моменты времени.
[000109] По меньшей мере в некоторых вариантах осуществления узлы 502, 503 и 504 могут представлять потенциальные состояния транспортного средства 220, которые совместно используют следующее положение/станцию на пути 480, но имеют различные моменты времени и/или различные потенциальные скорости. Следовательно, соответствующие ребра 512, 513 и 514 указывают на соответствующие переходы при соответствующих постоянных ускорениях, которые, если они выполняются транспортным средством 220, могут позволить транспортному средству 220 достичь следующее положение/станцию на пути 480 в определенные будущие моменты времени и/или при различных потенциальных скоростях. Иными словами:
- если транспортное средство 220 переходит из текущего положения/станции в следующее положение/станцию при первом постоянном ускорении (переход ребра 512), транспортное средство 220 окажется в следующем положении/станции в соответствующий будущий момент времени и при соответствующей потенциальной скорости, соответствующей второму потенциальному состоянию узла 502;
- если транспортное средство 220 переходит из текущего положения/станции в следующее положение/станцию при втором постоянном ускорении (переход ребра 513), транспортное средство 220 окажется в следующем положении/станции в соответствующий момент времени в будущем и при соответствующей потенциальной скорости, соответствующей третьему потенциальному состоянию узла 503; и
- если транспортное средство 220 переходит из текущего положения/станции в следующее положение/станцию с третьим постоянным ускорением (переход ребра 514), транспортное средство 220 окажется в следующем положении/станции в соответствующий будущий момент времени и при соответствующей потенциальной скорости, соответствующей четвертому потенциальному состоянию узла 504.
[000110] Как станет очевидно из приведенного ниже описания, генерирование графа 500 скорости, на котором потенциальные состояния указывают положения/станции, будущие моменты времени и потенциальные скорости, может позволить электронному устройству 210 выбирать не только «когда» транспортное средство 220 должно находиться в заданном положении/станции на пути 480, но также выбрать, «с какой скоростью» транспортное средство 220 должно быть расположено в заданном положении/станции вдоль пути 480.
[000111] Электронное устройство 210 выполнено с возможностью оценки последовательностей ребер на графе 500 скорости. Например, электронное устройство 210 может быть выполнено с возможностью определения «стоимости» для соответствующих ребер графа 500 скорости, а затем определения общей стоимости соответствующих последовательностей для выбора последовательности с наименьшей общей стоимостью и/или с допустимой общей стоимостью.
[000112] На фиг. 6 изображены первая последовательность 601, вторая последовательность 602 и третья последовательность 603 ребер на графе 600 скорости. Электронное устройство 210 может определять стоимости для соответствующих ребер и определять общие стоимости для первой последовательности 601, второй последовательности 602 и третьей последовательности 603. Электронное устройство 210 может быть выполнено с возможностью различать первую последовательность 601, вторую последовательность 602 и третью последовательность 603 на основе их соответствующих общих затрат. В одном примере электронное устройство 210 может быть выполнено с возможностью выбора второй последовательности 602 в качестве целевой последовательности на графе 500 скорости, если вторая последовательность 602 имеет самую низкую общую стоимость среди общих стоимостей первой последовательности 601, второй последовательности 602 и третьей последовательности 603. В другом примере электронное устройство 210 может быть выполнено с возможностью выбора второй последовательности 602 в качестве целевой последовательности на графе 500 скорости, если вторая последовательность 602 имеет общую стоимость, которая ниже заранее определенного допустимого порога стоимости. Такой порог может быть заранее определен оператором электронного устройства 210 и может варьироваться в зависимости от конкретных реализаций настоящей технологии.
[000113] Следует отметить, что целевая последовательность на графе 500 скорости содержит информацию для построения профиля скорости для данного момента времени. Например, целевая последовательность содержит информацию, указывающую последовательность переходов при соответствующих постоянных ускорениях, которые должны выполняться транспортным средством 220 при следовании по пути 480. Кроме того, целевая последовательность содержит информацию, указывающую последовательность запланированных состояний, в которых транспортное средство 220 должно оказаться на участке 350 дороги, следуя по маршруту 480. Более конкретно, узлы, соединенные целевой последовательностью ребер, указывают (i) соответствующие моменты времени и (ii) соответствующие запланированные скорости транспортного средства 220, когда транспортное средство 220 находится в соответствующих положениях/станциях на пути 480.
[000114] Следовательно, предполагается, что электронное устройство 210 может быть выполнено с возможностью выполнения обработки целевой последовательности на графе 500 скорости для генерирования указаний запланированных скоростей и/или ускорений в соответствующие моменты времени для транспортного средства 220, чтобы следовать за положениями/станциями пути 480.
[000115] Разработчики настоящей технологии разработали способы и электронные устройства, которые позволяют создавать профили запланированной/целевой скорости, которые способствуют безопасности пассажиров в транспортном средстве 220. Более конкретно, запланированный профиль скорости может быть построен электронным устройством 210 с учетом неожиданных маневров, выполняемых динамическими объектами в окружении транспортного средства 220.
[000116] Как станет очевидно из приведенного ниже описания, разработчики настоящей технологии разработали способы и электронные устройства, которые позволяют планировать скорости для транспортного средства 220 таким образом, чтобы у электронного устройства 210 было достаточно времени для выполнения экстренного маневра для предотвращения столкновения с движущимся объектом, если транспортное средство 220 следует по пути 480 в соответствии с этими запланированными скоростями.
[000117] В контексте настоящей технологии разработан способ генерирования стоимости для соответствующих ребер графа 500 скорости, так что целевая последовательность ребер, выбранная на основе этих стоимостей, указывает планируемые скорости, которые обеспечат достаточно времени для электронного устройства 210, чтобы выполнить экстренный маневр, если транспортное средство 220 следует по маршруту 480 в соответствии с этими запланированными скоростями.
[000118] Теперь будет более подробно описано, как определяется стоимость ребра 516 (см. Фиг. 5). Ребро 516 соединяет узел 503 (предыдущий узел) с узлом 506 (следующий узел). Предполагается, что стоимость ребра 516 может быть сгенерирована на основе по меньшей мере информации, связанной с потенциальным состоянием транспортного средства 220 и узла 506. Более конкретно, электронное устройство 210 выполнено с возможностью генерировать «оценку времени» для потенциального состояния транспортного средства 220 и узла 506. Электронное устройство 210 затем выполнено с возможностью использования оценки времени узла 506 для генерирования стоимости для ребра 516. В тех вариантах осуществления, где более чем одно ребро имеет узел 506 в качестве следующего узла, оценка времени узла 506 может использоваться для генерирования соответствующей стоимости для каждого из более чем одного ребра, соединяющего соответствующие предыдущие узлы с узлом 506.
Генерирование оценки времени
[000119] Со ссылкой на Фиг.7 изображено представление 700 потенциальных будущих состояний транспортного средства 220 и движущегося объекта 310. Текущее состояние 710 транспортного средства 220 проиллюстрировано и может быть связано с узлом 501 (см. Фиг. 5) и указывать тройку «p0, t0, v0», где p0 представляет текущее положение транспортного средства 220, t0 представляет текущий момент времени, а v0 представляет текущую скорость транспортного средства 220. Кроме того, проиллюстрировано текущее состояние 730 движущегося объекта 310, которое может указывать на тройку «pA, t0, vA», где pA представляет текущее положение движущегося объекта 310, а vB представляет текущую скорость движущегося объекта. 310.
[000120] С одной стороны, электронное устройство 210 может быть выполнено с возможностью генерировать одну или несколько прогнозируемых траекторий для движущегося объекта 310, движущегося по участку 350 дороги. То, как электронное устройство 210 выполнено с возможностью генерирования одной или нескольких прогнозируемых траекторий для движущегося объекта 310, особо не ограничивает. В одном примере электронное устройство 210 может быть выполнено с возможностью использования текущего состояния движущегося объекта 310 и предыдущих состояний движущегося объекта 310 для прогнозирования одного или нескольких будущих состояний движущегося объекта 310. Информация о текущем и/или одном или нескольких предыдущих состояниях движущегося объекта 310 может быть предоставлена электронному устройству 210 из системы 280 датчиков. Предполагается, что электронное устройство 210 может быть выполнено с возможностью выполнения кинематического анализа текущего и/или одного или нескольких предыдущих состояний движущегося объекта 310 для прогнозируемого одного или нескольких будущих состояний движущегося объекта 310.
[000121] Независимо от того, как электронное устройство 210 выполнено с возможностью генерирования прогнозируемой траектории для движущегося объекта 310, электронное устройство 210 может использовать прогнозируемую траекторию движущегося объекта 310 для определения оценки времени для данного узла графа 550 скорости. В тех вариантах осуществления, где электронное устройство 210 генерирует множество прогнозируемых траекторий для движущегося объекта 310, электронное устройство 210 может выбрать одну из множества прогнозируемых траекторий для дальнейшей обработки. Например, электронное устройство 210 может выбрать «наиболее вероятную» прогнозируемую траекторию среди множества прогнозируемых траекторий и использовать ее для дальнейшей обработки. В неограничивающем примере на фиг. 7 изображено представление прогнозируемой траектории 750, которую электронное устройство 210 выполнено с возможностью генерировать для движущегося объекта 310 в данный момент времени.
[000122] С другой стороны, электронное устройство 210 может быть выполнено с возможностью идентификации потенциального состояния транспортного средства 220, связанного с соответствующим узлом на графе 500 скорости. Например, предположим, что узел 506 связан с потенциальным состоянием 720. Потенциальное состояние 720 указывает на тройку «p1, t1, v1», где p1 представляет положение транспортного средства 220, связанное с потенциальным состоянием 720 узла 506, t1 представляет момент времени, связанный с потенциальным состоянием 720 узла 506, а v1 представляет скорость транспортного средства 220, связанную с потенциальным состоянием 720 узла 506.
[000123] Электронное устройство 210 выполнено с возможностью использования информации о потенциальном состоянии 720 и информации о прогнозируемой траектории 750 для идентификации потенциального состояния 740 движущегося объекта 310. Например, электронное устройство 210 может идентифицировать момент времени t1 потенциального состояния 720 транспортного средства 220, связанного с узлом 506, и может получать доступ к информации о прогнозируемой траектории 750 для определения будущего положения (и будущей скорости) движущегося объекта 310 в момент времени t1. В этом примере предположим, что потенциальное состояние 740 движущегося объекта 310 указывает на тройку «pB, t1, vB», где pB представляет прогнозируемое положение движущегося объекта 310 в момент времени t1 в соответствии с прогнозируемой траекторией 750, а vB представляет прогнозируемую скорость движущегося объекта 310 в момент времени t1 в соответствии с прогнозируемой траекторией 750.
[000124] Электронное устройство 210 выполнено с возможностью использования информации о потенциальном состоянии 720 транспортного средства 220 и о потенциальном состоянии 740 движущегося объекта 310, чтобы определять оценку времени для узла 506, связанного с потенциальным состоянием 720 транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью генерировать (моделировать) первую траекторию для движущегося объекта 310, если движущийся объект 310 выполняет неожиданный маневр, когда находится в потенциальном состоянии 740, и генерировать (моделировать) вторую траекторию для транспортного средства 220, если транспортное средство 220 выполняет экстренный маневр, когда находится в потенциальном состоянии 720.
[000125] По меньшей мере в некоторых вариантах осуществления предполагается, что неожиданный маневр, который может выполнить движущийся объект 310, является маневром быстрого торможения. В этих вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерировать (моделировать) траекторию торможения для движущегося объекта 310, если движущийся объект 310 неожиданно начинает выполнять маневр быстрого торможения, когда находится в потенциальном состоянии 740.
[000126] По меньшей мере в некоторых вариантах осуществления предполагается, что экстренный маневр, который может выполнять транспортное средство 220, также является маневром быстрого торможения. В этих вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерировать (моделировать) траекторию торможения для транспортного средства 220, если транспортное средство 220 начинает выполнять маневр быстрого торможения в потенциальном состоянии 720 в качестве экстренной меры для предотвращения столкновения.
[000127] Можно сказать, что электронное устройство 210 выполнено с возможностью в некотором смысле «моделировать» будущую ситуацию, когда транспортному средству 220 может потребоваться инициировать экстренный маневр в ответ на неожиданный маневр движущегося объекта 310, если движущийся объект 310 находится в потенциальном состоянии 740, и транспортное средство 220 находится в потенциальном состоянии 720. Другими словами, электронное устройство 210 может быть выполнено с возможностью генерирования смоделированной экстренной траектории для транспортного средства 220, если транспортное средство 220 находится в потенциальном состоянии 720, и смоделированной неожиданной траектории для движущегося объекта 310, если движущийся объект 310 находится в потенциальном состоянии 740.
[000128] Следует отметить, что экстренная траектория транспортного средства 220 может изменяться в зависимости, помимо прочего, от веса транспортного средства 220 и скорости, с которой начинается экстренный маневр. По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может иметь доступ к предварительно сохраненным данным, касающимся экстренных траекторий транспортного средства 220 для его различного веса и/или начальных скоростей, и извлекать данные, соответствующие экстренной траектории, связанной с весом и/или начальной скоростью, которые наилучшим образом соответствуют их текущему весу и потенциальной скорости v1 потенциального состояния 720. Предполагается, что в тех вариантах осуществления, где экстренный маневр представляет собой маневр быстрого торможения, электронное устройство 210 выполнено с возможностью генерировать и/или восстанавливать траекторию торможения, которую может выполнять транспортное средство 220, если транспортное средство 220 инициирует маневр быстрого торможения, находясь в потенциальном состоянии 720.
[000129] Следует отметить, что неожиданная траектория движущегося объекта 310 также может изменяться в зависимости от множества факторов, включая скорость, с которой начинается неожиданный маневр. По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может иметь доступ к предварительно сохраненным данным, касающимся неожиданных траекторий для множества объектов (легковые автомобили, грузовики, велосипедисты и т.п.) и различных начальных скоростей. В других вариантах осуществления электронное устройство 210 также может использовать информацию о потенциальном состоянии 740 для генерирования неожиданной траектории для движущегося объекта 310. Предполагается, что в тех вариантах осуществления, где неожиданный маневр представляет собой маневр быстрого торможения, электронное устройство 210 выполнено с возможностью генерировать и/или восстанавливать траекторию торможения, которую движущийся объект 310 может выполнять, если движущийся объект 310 инициирует маневр быстрого торможения, когда в потенциальном состоянии 740.
[000130] Электронное устройство 210 затем выполнено с возможностью проецирования траектории торможения движущегося объекта 310, которая является траекторией движущегося объекта 310, возникающей в результате неожиданного маневра движущегося объекта 310, когда он находится в потенциальном состоянии 740, на траекторию торможения транспортного средства 220, которая представляет собой траекторию транспортного средства 220, возникающую в результате экстренного маневра транспортного средства 220, когда оно находится в потенциальном состоянии 720.
[000131] В некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью определения расстояния между транспортным средством 220 и движущимся объектом 310 после завершения экстренного маневра и неожиданного маневра. В одном варианте осуществления электронное устройство 210 может быть выполнено с возможностью сравнения конечного положения траектории торможения транспортного средства 220 и конечного положения траектории торможения движущегося объекта 310.
[000132] Электронное устройство 210 выполнено с возможностью использования расстояния между транспортным средством 220 и движущимся объектом 310 после завершения их соответствующих смоделированных траекторий торможения и скорости транспортного средства 220, связанной с потенциальным состоянием 720 (связанным с узлом 506), для определения оценки времени. В этом случае электронное устройство 210 может быть выполнено с возможностью определения оценки времени как отношения расстояния к скорости v1.
[000133] Разработчики настоящей технологии поняли, что вычисление таким образом оценки времени для узла 506 приводит к тому, что потенциальное состояние 720 связано с оценкой времени, которая указывает количество времени, которое электронное устройство 210 будет иметь до запуска экстренного маневра для предотвращения столкновения с движущимся объектом 310, если транспортное средство 220 находится в потенциальном состоянии 720, а движущийся объект 310 выполняет неожиданный маневр, когда находится в потенциальном состоянии 740. Например, предположим, что оценка времени для узла 506 составляет 2 секунды. Это означает, что, если транспортное средство 220 находится в потенциальном состоянии 720, а движущийся объект 310 инициирует неожиданный маневр, когда находится в потенциальном состоянии 740, электронное устройство 210 имеет 2 секунды на скорости v1 потенциального состояния 720 перед запуском экстренного маневра для предотвращения столкновения с движущимся объектом 310.
[000134] Если оценка времени ниже заранее определенного порога, электронное устройство 210 может быть выполнено с возможностью назначать стоимость ребру 516. Например, электронное устройство 210 может быть выполнено с возможностью определения стоимости ребра 516 как взвешенного квадрата разности между оценкой времени узла 506 и заранее определенным порогом. Излишне говорить, что стоимость ребра 516 может быть определена на основе оценки времени по-разному, в зависимости, помимо прочего, от различных реализаций настоящей технологии. В дополнение к оценке времени, другие особенности или атрибуты также могут быть приняты во внимание при определении стоимости данного ребра на графе 600 скорости, не выходя за рамки объема настоящей технологии.
[000135] Следует отметить, что в тех вариантах осуществления, где более одного объекта присутствует в окружении 250 транспортного средства 220, электронное устройство 210 может быть выполнено с возможностью генерировать заданную оценку времени для соответствующего одного из более чем одного объекта. Таким образом, электронное устройство 210 может быть выполнено с возможностью сравнения соответствующих оценок времени с заранее определенным порогом. Электронное устройство 210 может также вычислить стоимость ребра 516 как сумму стоимостей для соответствующих оценок времени соответствующего более чем одного объекта.
[000136] Следует отметить, что сценарий, изображенный на фиг. 3 и 7, где транспортное средство 220 следует за движущимся объектом 350, является только одним неограничивающим примером того, как настоящая технология может использоваться для построения профиля скорости для транспортного средства 220. В другом неограничивающем примере транспортное средство 220 и движущийся объект 350 могут быть расположены на участке дороги, отличном от участка 350 дороги.
[000137] Чтобы лучше проиллюстрировать это, теперь будет сделана ссылка на фиг. 8, иллюстрирующую другой сценарий, в котором транспортное средство 220 может оказаться на участке 850 дороги с движущимся объектом 310 в его окружении. Как видно, транспортное средство 220 движется по полосе 801 движения, которая сливается с полосой 802 движения участка дороги, на котором находится движущийся объект 310. Также изображен путь 880 для транспортного средства 220, который может быть сгенерирован для участка 850 дороги аналогично тому, как путь 480 генерируется для участка 350 дороги. Электронное устройство 210 также может быть выполнено с возможностью генерирования графа скорости (не показан) для транспортного средства 220 для планирования скоростей на участке 850 дороги вдоль пути 880 аналогично тому, как электронное устройство 210 выполнено с возможностью генерирования графа 600 скорости для транспортного средства 220 для планирования скоростей на участке 350 дороги по пути 480. Также изображено текущее состояние 810 транспортного средства 220 и текущее состояние 830 движущегося объекта 310.
[000138] Предположим, что потенциальное состояние 820 транспортного средства 220 соответствует заданному узлу из графа скорости, сгенерированного электронным устройством 210. Электронное устройство 210 может быть выполнено с возможностью определения прогнозируемой траектории 850 для движущегося объекта 310 на участке 850 дороги аналогично тому, как электронное устройство 210 выполнено с возможностью определения прогнозируемой траектории 750 на участке 350 дороги. Предположим, что движущийся объект 310 окажется в потенциальном состоянии 840 (в соответствии с прогнозируемой траекторией 850) в момент времени, который совпадает с моментом времени потенциального состояния 820 транспортного средства 220 (аналогично тому, как потенциальное состояние 740 имеет момент времени, который соответствует потенциальному состоянию 720 в неограничивающем примере, описанном выше).
[000139] Электронное устройство 210 может быть выполнено с возможностью генерировать первую траекторию торможения (не изображена) для транспортного средства 220 и вторую траекторию торможения (не изображено) для движущегося объекта 310 аналогично тому, что было описано выше.
[000140] Следует отметить, что электронное устройство 210 может быть выполнено с возможностью проецировать момент времени и конечное положение второй траектории торможения движущегося объекта 310 на первую траекторию торможения транспортного средства 220. Также можно сказать, что электронное устройство 210 может быть выполнено с возможностью проецировать момент времени и конечное положение второй траектории торможения движущегося объекта 310 на момент времени и конечное положение первой траектории торможения транспортного средства 220 для определения расстояния между транспортным средством 220 и движущимся объектом 310 после завершения первой и второй траекторий торможения. Также предполагается, что по меньшей мере один момент времени, связанный с соответствующим положением из второй траектории торможения движущегося объекта 310, может проецироваться по меньшей мере на один момент времени, связанный с соответствующим положением из первой траектории торможения транспортного средства 220, для определения расстояния между транспортным средством 220 и движущимся объектом 310.
[000141] Следует отметить, что траектории торможения транспортного средства 220 и движущегося объекта 310 в сценарии, показанном на фиг. 8, не выровнены, а скорее расположены под «углом» друг к другу. Следовательно, можно также сказать, что проекция конечного момента времени и конечного положения второй траектории на первую траекторию может использоваться для определения расстояния между транспортным средством 220 и объектом 310, когда первая и вторая траектории торможения завершаются в сценарии, когда эти траектории торможения находятся под углом друг к другу.
[000142] Как показано на фиг.9, электронное устройство 210 может быть выполнено с возможностью выполнения способа 900, реализованного на компьютере. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью выполнения способа 900 в течение заданного цикла планирования транспортного средства 220. Другими словами, электронное устройство 210 может быть выполнено с возможностью итеративно выполнять способ 900 в различные моменты времени во время работы транспортного средства 220 и которые соответствуют соответствующим циклам планирования транспортного средства 220. Различные этапы способа 900 теперь будут обсуждаться более подробно.
ЭТАП 902: генерирование пути для SDC на местности, причем путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC.
[000143] Способ 900 начинается на этапе 902 с электронным устройством, выполненным с возможностью генерирования заданного пути для SDC на местности, и где путь включает в себя последовательность потенциальных положений на местности, по которым должен следовать SDC.
[000144] По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью выполнения двухэтапного процесса для определения заданной траектории на местности и/или на участке дороги. Другими словами, электронное устройство 210 может выполнять «независимое планирование» траекторий, где заданный путь определяется на первом этапе (этап 902), а профиль скорости определяется на втором этапе (этап 904 ниже). По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может выполнять независимое планирование траекторий итеративным способом. Другими словами, в пределах каждого цикла планирования планирование пути и скорости повторяется электронным устройством 210, так что электронное устройство 210 принимает во внимание самую последнюю информацию о динамической среде транспортного средства 220.
[000145] В некоторых вариантах осуществления настоящей технологии местность, на которой работает SDC, может быть заданным участком дороги. Например, транспортное средство 220, связанное с электронным устройством 210, может работать на участке 350 дороги и/или участке 850 дороги. В сценарии, когда транспортное средство 220 движется по участку 350 дороги, электронное устройство 210 может быть выполнено с возможностью генерирования пути 480. В сценарии, когда транспортное средство 220 движется по участку 850 дороги, электронное устройство 210 может быть выполнено с возможностью генерирования пути 880.
[000146] В некоторых вариантах осуществления для определения заданного пути электронное устройство 210 может быть выполнено с возможностью генерировании графа местности для местности на основе геометрии местности. Например, электронное устройство 210 может быть выполнено с возможностью генерирования дорожного графа 420 для участка 350 дороги на основании, помимо прочего, геометрии участка 350 дороги. Следует отметить, что дорожный граф 420 содержит узлы и ребра, где данный узел представляет соответствующее потенциальное положение транспортного средства 220 на участке 350 дороги, а данное ребро представляет соответствующий потенциальный переход между соответствующей парой потенциальных положений.
[000147] Электронное устройство 210 может быть выполнено с возможностью определения последовательности потенциальных положений из дорожного графа 420 как пути 480. Как более подробно описано выше, узлы/ребра дорожного графа 420 могут быть связаны с соответствующими атрибутами и могут использоваться в сочетании с критериями стоимости для определения стоимости соответствующих ребер в дорожном графе 420. В одном неограничивающем примере алгоритм кратчайшего пути затем может быть применен к стоимости соответствующих ребер в дорожном графе 420 для определения кратчайшего пути с точки зрения его общей стоимости в дорожном графе 420.
ЭТАП 904: генерирование указаний запланированных скоростей для SDC при следовании по последовательности потенциальных положений
[000148] Способ 900 продолжается этапом 904, на котором электронное устройство выполнено с возможностью генерирования указаний запланированной скорости для SDC при следовании по последовательности потенциальных положений из пути. Можно сказать, что этот этап может соответствовать второму этапу описанной выше техники независимого планирования траектории, во время которой электронное устройство 210 в некотором смысле выполнено с возможностью определять, среди прочего, как скорость транспортного средства 220 должна изменяться во времени при движении по пути, сгенерированному на предыдущем этапе.
[000149] Электронное устройство 210 выполнено с возможностью генерирования графа скорости на этапе 904. Например, электронное устройство 210 может быть выполнено с возможностью генерирования графа 600 скорости для пути 480 на участке 350 дороги. Граф 600 скорости имеет узлы и ребра.
[000150] Данный узел на графе 600 скорости представляет первое потенциальное состояние транспортного средства 220 на участке 350 дороги, а первое потенциальное состояние указывает первое потенциальное положение и первую потенциальную скорость транспортного средства 220 в первом потенциальном будущем моменте времени. В некоторых вариантах осуществления данное потенциальное состояние транспортного средства 220, связанное с соответствующим узлом на графе 600 скорости, может быть представлено по меньшей мере тройкой «станция, момент времени и скорость», при которых транспортное средство 220 потенциально может оказаться на участке дороги 350 по трассе 480.
[000151] Заданное ребро графа 600 скорости соединяет данный узел с предыдущим узлом в графе 600 скорости и представляет соответствующий потенциальный переход из предыдущего потенциального состояния в данное потенциальное состояние. В некоторых вариантах осуществления настоящей технологии потенциальный переход может быть переходом из предыдущего потенциального состояния в первое потенциальное состояние при постоянном ускорении.
[000152] Электронное устройство 210 также выполнено с возможностью генерировать оценку времени для данного узла в графе 600 скорости, указывающую количество времени, которое электронное устройство 210 имеет до запуска экстренного маневра для предотвращения столкновения с движущимся объектом, если транспортное средство 220 находится в соответствующем потенциальном состоянии и движущийся объект 310 выполняет заранее определенный неожиданный маневр в соответствующий потенциальный будущий момент времени.
[000153] Следует отметить, что во время определения оценки времени электронное устройство 210 фактически не запускает экстренный маневр, а движущийся объект 310 фактически не выполняет заранее определенный неожиданный маневр. По меньшей мере в некоторых вариантах осуществления можно сказать, что при определении оценки времени для данного узла на графе 600 скорости электронное устройство 210 в некотором смысле «моделирует» ситуацию, когда в соответствующий потенциальный будущий момент времени потенциального состояния данного узла движущийся объект 310 выполняет заранее определенный неожиданный маневр, а транспортное средство выполняет экстренный маневр.
[000154] По меньшей мере в некоторых вариантах осуществления настоящей технологии при генерировании оценки времени для данного узла электронное устройство 210 может быть выполнено с возможностью генерировать экстренную траекторию транспортного средства 220, если транспортное средство 220 выполняет экстренный маневр, когда транспортное средство 220 находится в первом потенциальном состоянии (тогдашнее потенциальное положение, тогдашний потенциальный момент времени и тогдашняя потенциальная скорость). Кроме того, при генерировании оценки времени для данного узла электронное устройство 210 может быть выполнено с возможностью генерирования неожиданной траектории движущегося объекта 310, если объект выполняет заранее определенный неожиданный маневр, когда движущийся объект находится в прогнозируемом потенциальном состоянии в первый потенциальный будущий момент времени.
[000155] В некоторых вариантах осуществления, чтобы генерировать неожиданную траекторию движущегося объекта 310, электронное устройство 210 может сначала быть выполнено с возможностью определения прогнозируемого потенциального состояния движущегося объекта 310, которое соответствует потенциальному будущему моменту времени данного узла/потенциального состояния транспортного средства 220.
[000156] Предполагается, что электронное устройство 210 может быть выполнено с возможностью генерировать множество прогнозируемых траекторий для движущегося объекта 310 на основе одного или нескольких предыдущих состояний движущегося объекта 310. Электронное устройство 210 также может определять наиболее вероятную прогнозируемую траекторию среди множества прогнозируемых траекторий и/или выбирать одну из множества прогнозируемых траекторий. Электронное устройство 210 может затем выбрать прогнозируемое потенциальное состояние движущегося объекта 310 (которое должно использоваться в качестве начального состояния для инициирования моделирования неожиданной траектории движущегося объекта 310) как потенциальное состояние движущегося объекта 310 в момент времени, который соответствует моменту времени, связанному с данным узлом, и который соответствует наиболее вероятной/выбранной прогнозируемой траектории движущегося объекта 310.
[000157] Электронное устройство 210 может быть выполнено с возможностью проецировать момент времени и конечное положение неожиданной траектории движущегося объекта 310 на момент времени и конечное положение экстренной траектории транспортного средства 220. Цель такого проецирования момента времени и соответствующего положения из неожиданной траектории на экстренную траекторию состоит в том, чтобы определить расстояние между транспортным средством 220 и движущимся объектом 310 после завершения экстренного маневра и заранее определенного неожиданного маневра (в процессе моделирования).
[000158] Электронное устройство 210 также может быть выполнено с возможностью генерирования оценки времени на основе расстояния и потенциальной скорости потенциального состояния, связанного с данным узлом (тогдашняя потенциальная скорость транспортного средства 220).
[000159] Электронное устройство 210 может быть выполнено с возможностью генерировать стоимость ребра, ведущего к данному узлу в графе 600 скорости, с использованием оценки времени данного узла. Стоимость ребра указывает на безопасность соответствующего потенциального перехода. В некоторых вариантах осуществления стоимость может быть сгенерирована в ответ на то, что оценка времени ниже заранее определенного порога. В одной реализации настоящей технологии заранее определенный порог может составлять примерно 1,5 секунды, тогда как в других реализациях заранее определенный порог может составлять 1 секунду, 2 секунды, 1,2 секунды, 1,7 секунды и т.п. Также предполагается, что стоимость может быть пропорциональна квадрату разности между заранее определенным порогом и оценкой времени.
[000160] В тех случаях, когда более одного движущегося объекта находится в окружении транспортного средства 220, электронное устройство 210 может быть выполнено с возможностью вычисления соответствующих оценок времени для каждого из более чем одного движущегося объекта и определения соответствующих стоимостей для каждого из более чем одного движущегося объекта. Эти соответствующие стоимости могут быть взвешены и суммированы, чтобы определить стоимость ребра, ведущего к данному узлу. Предполагается, что уменьшение стоимости для данного ребра графа 600 скорости может быть выполнено для соответствующих ребер графа 600 скорости.
[000161] Электронное устройство 210 выполнено с возможностью определения последовательности ребер в графе 600 скорости с использованием стоимости данного ребра, так что последовательность ребер имеет допустимую общую стоимость ребер. Например, общая стоимость потенциальной последовательности ребер может сравниваться с пороговой стоимостью, и если общая стоимость возможной последовательности ниже пороговой стоимости, электронное устройство 210 может быть выполнено с возможностью выбора возможной последовательности в качестве целевой последовательности для планирования скоростей движения транспортного средства 220. В другом примере электронное устройство 210 может выбрать последовательность ребер в графе 600 скорости, которая связана с наименьшей общей стоимостью ребер среди возможных последовательностей ребер.
[000162] Электронное устройство 210 выполнено с возможностью генерировать указания запланированных скоростей (представляющих профиль скорости) с использованием потенциальных состояний узлов, соединенных выбранной последовательностью ребер на графе 600 скорости.
ЭТАП 906: побуждение управления SDC вдоль пути в соответствии с запланированными скоростями
[000163] Способ 900 переходит к этапу 906 с электронным устройством 210, выполненным с возможностью обеспечения работы транспортного средства 220 по пути в соответствии с запланированными скоростями. По меньшей мере в одном варианте осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью генерирования одной или нескольких команд, предназначенных для системы управления транспортным средством 220, так что транспортное средство 220 достигает соответствующих станций пути при соответствующих запланированных скоростях. Например, электронное устройство 210 может быть выполнено с возможностью обрабатывать указания запланированных скоростей и генерировать команды для системы управления транспортным средством, указывающие на синхронизированные ускорения/замедления, которые позволят транспортному средству 220 фактически двигаться по маршруту с запланированными скоростями.
[000164] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.
[000165] Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в определенном порядке, следует понимать, что некоторые из этих этапов могут быть объединены, разделены на части или переупорядочены без отклонения от принципов настоящая технология. Соответственно, порядок и группировка упомянутых этапов ограничениями настоящей технологии не являются.