СТРУКТУРА ВЕРОЯТНОСТНОГО ОТСЛЕЖИВАНИЯ ОБЪЕКТОВ И ПРОГНОЗИРОВАНИЯ
STRUCTURE OF PROBABILISTIC OBJECT TRACKING AND FORECASTING

Область техники, к которой относится изобретение
[1] Данная заявка относится к автономным транспортным средствам, включая способы, устройства, системы и постоянные машиночитаемые носители для отслеживания объектов для автономных транспортных средств.
Уровень техники
[2] Увеличение использования автономных транспортных средств создает потенциал для более эффективного движения пассажиров и грузов по транспортной сети. Кроме того, использование автономных транспортных средств может привести к повышению безопасности транспортных средств и более эффективной связи между транспортными средствами. Однако крайне важно, чтобы автономные транспортные средства могли обнаруживать статические объекты и/или прогнозировать траектории других находящихся поблизости динамических объектов для планирования траектории таким образом, чтобы автономные транспортные средства могли безопасно перемещаться по транспортной сети и избегать таких объектов.
Раскрытие изобретения
[3] В данном документе раскрыты аспекты, признаки, элементы и варианты реализации для удаленной поддержки автономной работы транспортного средства. Варианты реализации поддерживают удаленную работу, которая продолжает существующий маршрут до альтернативной конечной точки в пункте назначения.
[4] Аспект раскрытых вариантов реализации относится к способу отслеживания и прогнозирования мировых объектов (также называемых в материалах настоящей заявки объектами окружающей среды) автономным транспортным средством (AV). Способ включает в себя приём от датчиков AV первых данных наблюдения; ассоциирование первых данных наблюдения с первым мировым объектом; определение гипотез для первого мирового объекта, причём гипотеза соответствует намерению первого мирового объекта; определение соответствующей вероятности для гипотезы для каждой из гипотез, указывающей на вероятность того, что первый мировой объект будет следовать упомянутому намерению; определение для по меньшей мере одной гипотезы из упомянутых гипотез соответствующего состояния, причём соответствующее состояние содержит прогнозируемые положения первого мирового объекта; и, в ответ на запрос, обеспечение гипотезы из упомянутых гипотез на основании соответствующей вероятности для гипотезы для каждой из гипотез.
[5] Аспект раскрытых вариантов реализации относится к системе отслеживания и прогнозирования мировых объектов автономным транспортным средством (AV). Система включает в себя модуль модели мира, который выполнен с возможностью приёма от датчиков AV первых данных наблюдения; ассоциирования первых данных наблюдения с первым мировым объектом; определение гипотез для первого мирового объекта, причём гипотеза соответствует возможному маршруту первого мирового объекта; определения соответствующей вероятности для гипотезы для каждой из гипотез, указывающей на вероятность того, что первый мировой объект будет следовать упомянутому возможному маршруту; определения для по меньшей мере одной гипотезы из упомянутых гипотез соответствующего состояния, причём упомянутое соответствующее состояние содержит прогнозируемые положения первого мирового объекта; и, в ответ на запрос, обеспечения гипотезы из упомянутых гипотез на основании соответствующей вероятности для гипотезы для каждой из гипотез.
[6] Аспект раскрытых вариантов реализации относится к системе для отслеживания и прогнозирования мировых объектов автономным транспортным средством (AV). Система включает в себя модуль модели мира, который выполнен с возможностью создания и поддержания соответствующих гипотез для объектов реального мира; прогнозирования соответствующих траекторий для объекта реального мира; ассоциирования принятого наблюдения от датчиков по меньшей мере с одним из объектов реального мира; обновления соответствующей вероятности по меньшей мере для некоторых из упомянутых гипотез; и обновления соответствующего состояния, ассоциированного по меньшей мере с некоторыми из гипотез.
[7] Эти и другие аспекты настоящего изобретения раскрыты в нижеследующем подробном описании вариантов осуществления, прилагаемой формуле изобретения и сопровождающих чертежах.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[8] Раскрытая технология лучше всего понятна из нижеследующего подробного описания при прочтении вместе с сопровождающими чертежами. Подчеркивается, что в соответствии с общепринятой практикой различные признаки на чертежах могут быть не в масштабе. Напротив, размеры различных признаков могут быть произвольно увеличены или уменьшены для ясности. Кроме того, аналогичные ссылочные позиции относятся к аналогичным элементам на всех чертежах, если не указано иное.
[9] Фиг. 1 является схемой примера части транспортного средства, в которой могут быть реализованы аспекты, признаки и элементы, раскрытые в данном документе.
[10] Фиг. 2 является схемой примера части системы связи и транспортировки транспортного средства, в которой могут быть реализованы аспекты, признаки и элементы, раскрытые в данном документе.
[11] Фиг. 3 - диаграмма ситуаций прогнозируемых реакций согласно вариантам реализации данного изобретения.
[12] Фиг. 4 - пример компонентов системы для автономного транспортного средства согласно вариантам реализации данного изобретения.
[13] Фиг. 5 - пример слоев блока планирования траектории для автономного транспортного средства согласно вариантам реализации данного изобретения.
[14] Фиг. 6 - иллюстрация примеров конкатенации грубой траектории движения согласно вариантам реализации данного изобретения.
[15] Фиг. 7 - пример определения стратегического плана скорости согласно вариантам реализации данного изобретения.
[16] Фиг. 8 - блок-схема процесса определения доступной для движения области и плана скорости с дискретными интервалами времени в соответствии с вариантом реализации данного изобретения.
[17] Фиг. 9 - иллюстрация определения доступной для движения области и плана скорости с дискретными интервалами времени в соответствии с вариантами реализации данного изобретения.
[18] Фиг. 10-12 - примеры корректировки доступной для движения области с учётом статических объектов в соответствии с вариантами реализации данного изобретения.
[19] Фиг. 13 - блок-схема процесса определения статических границ в соответствии с настоящим изобретением.
[20] Фиг. 14-16 - примеры определения динамических границ в соответствии с вариантами реализации данного изобретения.
[21] Фиг. 17 иллюстрирует дополнительные примеры планирования траектории в соответствии с вариантами реализации данного изобретения.
[22] Фиг. 18 - блок-схема процесса избегания препятствий в соответствии с настоящим изобретением.
[23] Фиг. 19 – диаграмма примеров гипотез для объектов реального мира согласно вариантам реализации данного изобретения.
[24] Фиг. 20 включает в себя блок-схему процесса моделирования мира и блок-схему процесса использования модели мира в соответствии с настоящим изобретением.
[25] Фиг. 21 – пример создания и поддержания гипотез в соответствии с настоящим изобретением.
[26] Фиг. 22 – пример прогнозирования траектории в соответствии с настоящим изобретением.
[27] Фиг. 23 – пример ассоциирования наблюдений от датчиков с объектами реального мира в соответствии с настоящим изобретением.
[28] Фиг. 24 – пример обновления состояний гипотез в соответствии с настоящим изобретением.
[29] Фиг. 25 – блок-схема процесса отслеживания и прогнозирования мировых объектов автономным транспортным средством в соответствии с настоящим изобретением.
[30] Фиг. 26 – пример прогнозирования траектории в соответствии с настоящим изобретением.
[31] Фиг. 27 – блок-схема процесса прогнозирования траектории в соответствии с настоящим изобретением.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[32] Транспортное средство, такое как автономное транспортное средство или полуавтономное транспортное средство, может двигаться по участку транспортной сети для транспортных средств. Транспортная сеть для транспортных средств может включать в себя одну или более недоступных для движения областей, таких как здание; одну или более частично доступных для движения областей, таких как область парковки (например, парковка, парковочное место и т.п.); одну или более доступных для движения областей, таких как дороги (которые включают в себя полосы движения, осевые линии, перекрестки и т.д.); или их сочетание.
[33] Транспортное средство может включать в себя один или более датчиков. Движение по транспортной сети для транспортных средств может включать в себя формирование или сбор датчиками данных датчиков, например данных, соответствующих условиям работы транспортного средства или их части. Например, данные датчиков могут включать в себя информацию, соответствующую одному или более внешним объектам (или просто объектам).
[34] Внешний объект может быть статическим объектом. Статический объект - это объект, который неподвижен и не ожидается, что он будет двигаться в следующие несколько секунд. Примеры статических объектов включают в себя велосипед без водителя, холодное транспортное средство, пустое транспортное средство, дорожный знак, стену, здание, выбоину и т.д.
[35] Внешний объект может быть остановленным объектом. Остановленный объект - это объект, который неподвижен, но может начать движение в любой момент. Примеры остановленных объектов включают в себя транспортное средство, которое остановлено на светофоре, и транспортное средство на обочине дороги, в котором находится пользователь (например, водитель). В некоторых вариантах реализации остановленные объекты считаются статическими объектами.
[36] Внешний объект может быть динамическим (т.е. движущимся) объектом, таким как пешеход, удаленное транспортное средство, мотоцикл, велосипед и т.д. Динамический объект может быть приближающимся (по направлению к транспортному средству) или может двигаться в том же направлении, что и транспортное средство. Динамический объект может двигаться продольно или поперечно по отношению к транспортному средству. Статический объект может стать динамическим объектом, и наоборот.
[37] В общем, движение (например, движение в пределах) по транспортной сети для транспортных средств можно рассматривать как поведение робота. То есть можно ожидать прогнозируемые реакции транспортного средства на определенные ситуации (например, дорожные ситуации или ситуации на дороге). Например, наблюдатель за дорожной ситуацией может предвидеть, какой будет реакция транспортного средства в течение следующих нескольких секунд. То есть, например, в то время как среда движения (например, транспортная сеть для транспортных средств, дороги) может быть динамической, можно прогнозировать/предвидеть реакцию, например, транспортного средства (например, управляемого человеком, дистанционно управляемого и т.д.) на условия на дороге.
[38] Реакцию(и) можно прогнозировать, поскольку движение по транспортной сети для транспортных средств регулируется правилами дорожного движения (например, транспортное средство, поворачивающее налево, должно уступить дорогу встречному движению, транспортное средство должно двигаться между линиями разметки полосы движения), общепринятыми правилами (например, на знаке остановки уступают дорогу помехе справа) и физическими ограничениями (например, стационарный объект не совершает мгновенное боковое перемещение на полосу приоритетного движения транспортного средства). Дополнительные примеры прогнозируемых реакций проиллюстрированы на фиг. 3.
[39] Варианты реализации согласно данному изобретению определяют траекторию для автономного транспортного средства путем обнаружения (например, распознавания, наблюдения и т.д.) присутствия статических объектов и предвидения (то есть прогнозирования) траекторий других пользователей транспортной сети для транспортных средств (например, участников дорожного движения, динамических объектов). Варианты реализации согласно данному изобретению могут точно и эффективно планировать траектории динамических объектов (например, других участников дорожного движения), способствуя плавному управлению (например, остановке, ожиданию, ускорению, замедлению, перестроению и т.д.) автономного транспортного средства и социально приемлемому поведению (например, работе) автономного транспортного средства.
[40] Как дополнительно описано ниже, варианты реализации блока планирования траектории в соответствии с данным изобретением могут формировать плавную траекторию для автономного транспортного средства (AV) от исходного местоположения до местоположения назначения, например, путем приема данных карты в высоком разрешении (HD), данных телеуправления и других исходных данных; сшивания (например, слияния, соединения и т.д.) входных данных в продольном направлении для определения профиля скорости для маршрута от исходного местоположения до местоположения назначения (например, профиля скорости, определяющего, с какой скоростью AV может двигаться по различным участкам маршрута от исходного местоположения до местоположения назначения); и вызов в дискретные моменты времени (например, каждые несколько миллисекунд) обработки блоком планирования траектории ограничений, относящихся к статическим и динамическим объектам, которые наблюдаются на основании данных датчиков AV, для формирования плавной траектории для AV для следующего временного окна (например, время упреждения 6 секунд).
[41] Блок планирования траекторий может принимать ожидаемые (т.е. прогнозируемые) траектории других пользователей транспортной сети для транспортных средств (также называемые в данном документе объектами реального мира) от модуля (например, модуля модели мира). Для каждого обнаруженного динамического объекта (например, объекта реального мира, такого как транспортное средство, пешеход, велосипед и тому подобное) модуль модели мира может поддерживать (например, прогнозировать и обновлять) одну или более гипотез относительно возможных намерений объекта реального мира. Примеры намерений (например, гипотез) включают в себя остановку, поворот направо, поворот налево, движение прямо, проезд и парковку. Вероятность ассоциирована с каждой гипотезой. Вероятность обновляется на основании наблюдений, принимаемых из данных датчиков.
[42] Объекты реального мира обнаруживаются на основании принятых данных от датчиков (также называемых в данном документе измерениями или наблюдениями датчиков). Модуль модели мира поддерживает (т.е. связывает и обновляет с течением времени) состояние для каждой гипотезы (например, намерение), ассоциированной с объектом реального мира. Состояния дополнительно описаны ниже. Например, состояние включает в себя прогнозируемые местоположения ассоциированного объекта реального мира с учетом намерения согласно гипотезе.
[43] Модуль модели мира непрерывно принимает наблюдения (например, данные от датчиков). Для определённого наблюдения модуль модели мира определяет объект реального мира, с которым ассоциировано наблюдение. Если ассоциированный объект реального мира найден, то состояние для каждой из гипотез, ассоциированных с объектом реального мира, обновляется на основании наблюдения. То есть, например, прогнозируемое местоположение объекта реального мира обновляется на основании наблюдения, принятого из реального (например, физического) мира.
[44] Следует отметить, что наблюдения от датчиков могут быть подвержены шуму. Шум может быть вызван ограничениями возможностей распознавания и/или конфигурацией датчика. Например, датчики могут иметь ограниченные поля обзора, ограниченные диапазоны распознавания, давать ложноположительные и/или ложноотрицательные показания, обеспечивать наблюдения с большой неопределенностью и/или обеспечивать ошибочные классификации объектов. Кроме того, различные типы датчиков, используемые автономным транспортным средством, могут обеспечивать разные, частичные и/или противоречивые наблюдения (например, классификации, местоположения и т.п.). Таким образом, уровень неопределенности ассоциирован с данными датчиков, принятыми модулем модели мира.
[45] Автономное транспортное средство может использовать (например, объединять) данные от множества типов датчиков (например, камер, LiDAR, радара и т.д.) для оценки по меньшей мере одного из скорости, положения (положения и курса), траектории, класса и т.п. объекта реального мира, внешнего по отношению к автономному транспортному средству. Модуль модели мира согласно вариантам реализации данного изобретения может обеспечить наилучшую оценку текущих состояний объектов реального мира (то есть участников дорожного движения) путем объединения информации от множества датчиков и учета характеристик датчиков.
[46] Подводя итог, поскольку намерения других участников дорожного движения не известны AV, AV прогнозирует и отслеживает множество возможных намерений (т.е. гипотез) относительно того, что могут сделать участники дорожного движения, чтобы AV (например, блок планирования траектории AV) может спланировать плавную траекторию на основании прогнозируемых намерений участников дорожного движения. Учитывая наблюдения из данных датчиков, модуль модели мира в соответствии с вариантами реализации данного изобретения отслеживает и оценивает состояния наблюдаемых объектов (т.е. объектов реального мира) и прогнозирует будущие состояния объектов реального мира с множеством гипотез вероятностным способом. То есть модуль модели мира может обеспечить улучшенное отслеживание объектов реального мира. Модуль модели мира прогнозирует множество гипотез для возможных траекторий объектов реального мира. То есть, например, модуль модели мира может прогнозировать, куда может двигаться объект, останавливается ли объект, паркуется ли объект и тому подобное, как дополнительно описано ниже.
[47] Как станет очевидно из нижеприведённого описания, модуль модели мира может обеспечивать преимущества, включая (1) отслеживание непрерывных (например, положение объекта, скорость, геометрию и т.д.) и дискретных состояний объектов (например, классификация объекта, намерение и т.д.); (2) оценка и отслеживание множества гипотез по состоянию объектов (например, намерений) с ассоциированными вероятностями (например, вероятностями); (3) формирование и отслеживание намерений абстрактных объектов в зависимости от состояния объектов, карты и/или информации об окружении; (4) прогнозирование будущих состояний объектов с множеством гипотез в течение периода времени переменной длины; и (5) выполнение в режиме реального времени обработки и объединения данных от различных датчиков (например, LiDAR, радара, камеры и т.д.). Идеи, представленные в настоящем документе, могут применяться к широкому кругу объектов и участников дорожного движения (включая, но не ограничиваясь, автомобили, велосипеды и пешеходов).
[48] Хотя они описаны в данном документе в отношении автономного транспортного средства, способы и устройства, описанные в данном документе, могут быть реализованы в любом транспортном средстве, выполненном с возможностью автономной или полуавтономной работы. Хотя они описаны в отношении транспортной сети для транспортных средств, описанные в данном документе способ и устройство могут включать в себя работу автономного транспортного средства в любой области, доступной для движения транспортного средства.
[49] Для более подробного описания некоторых вариантов реализации идей, изложенных в данном документе, сначала обратимся к окружению, в котором может быть реализовано данное изобретение.
[50] Фиг. 1 является схемой примера части транспортного средства 100, в котором могут быть реализованы аспекты, признаки и элементы, раскрытые в данном документе. Транспортное средство 100 включает в себя шасси 102, трансмиссию 104, контроллер 114, колеса 132/134/136/138, и может включать в себя любой другой элемент или сочетание элементов транспортного средства. Хотя для простоты транспортное средство 100 показано с четырьмя колесами 132/134/136/138, можно использовать любое другое движущее устройство или устройства, такие как гребной винт или гусеницы. На Фиг. 1 линии, соединяющие элементы, такие как трансмиссия 104, контроллер 114 и колеса 132/134/136/138, указывают, что между соответствующими элементами может передаваться информация, такая как управляющие данные или сигналы; мощность, такая как электрическая мощность или крутящий момент; или информация и мощность. Например, контроллер 114 может получать мощность от трансмиссии 104 и осуществлять связь с трансмиссией 104, колесами 132/134/136/138 или и тем, и другим для управления транспортным средством 100, что может включать в себя ускорение, замедление, рулевое управление или иное управление транспортным средством 100.
[51] Трансмиссия 104 включает в себя источник 106 мощности, передачу 108, блок 110 рулевого управления, привод 112 транспортного средства и может включать в себя любой другой элемент или сочетание элементов трансмиссии, например подвеску, приводной вал, оси или выхлопную систему. Хотя колеса 132/134/136/138 показаны отдельно, они могут быть включены в трансмиссию 104.
[52] Источником 106 мощности может быть любое устройство или сочетание устройств, выполненных с возможностью обеспечения энергии, такой как электрическая энергия, тепловая энергия или кинетическая энергия. Например, источник 106 мощности включает в себя двигатель, такой как двигатель внутреннего сгорания, электромотор или сочетание двигателя внутреннего сгорания и электромотора, и выполнен с возможностью обеспечения кинетической энергии в качестве движущей силы для одного или более колес 132/134/136/138. В некоторых вариантах осуществления источник 106 мощности включает в себя блок потенциальной энергии, такой как одна или более батарей сухих элементов, таких как никель-кадмиевые (NiCd), никель-цинковые (NiZn), никель-металлогидридные (NiMH), литий-ионные (Li-ion); солнечные батареи; топливные элементы; или любое другое устройство, способное обеспечивать энергию.
[53] Передача 108 принимает энергию, такую как кинетическая энергия, от источника 106 мощности и передает энергию на колеса 132/134/136/138, чтобы обеспечить движущую силу. Передача 108 может управляться контроллером 114, приводом 112 транспортного средства или обоими из них. Блок 110 рулевого управления может управляться контроллером 114, приводом 112 транспортного средства или и тем, и другим, и управлять колесами 132/134/136/138 для рулевого управления транспортным средством. Привод 112 транспортного средства может принимать сигналы от контроллера 114 и может приводить в действие или управлять источником 106 мощности, передачей 108, блоком 110 рулевого управления или любым их сочетанием для управления транспортным средством 100.
[54] В проиллюстрированном варианте осуществления контроллер 114 включает в себя блок 116 определения местоположения, блок 118 электронной связи, процессор 120, память 122, пользовательский интерфейс 124, датчик 126 и интерфейс 128 электронной связи. Хотя они показаны как единый блок, любой один или более элементов контроллера 114 может быть интегрирован в любое количество отдельных физических блоков. Например, пользовательский интерфейс 124 и процессор 120 могут быть интегрированы в первый физический блок, а память 122 может быть интегрирована во второй физический блок. Хотя это не показано на фиг. 1, контроллер 114 может включать в себя источник мощности, например аккумулятор. Хотя они показаны как отдельные элементы, блок 116 определения местоположения, блок 118 электронной связи, процессор 120, память 122, пользовательский интерфейс 124, датчик 126, интерфейс 128 электронной связи или любое их сочетание могут быть интегрированы в один или более электронных блоков, схем или микросхем.
[55] В некоторых вариантах осуществления процессор 120 включает в себя любое устройство или сочетание устройств, существующих в настоящее время или тех, которые будут разработаны позднее, способных манипулировать сигналом или другой информацией или обрабатывать их, например оптические процессоры, квантовые процессоры, молекулярные процессоры или их сочетание. Например, процессор 120 может включать в себя один или более специализированных процессоров, один или более цифровых сигнальных процессоров, один или более микропроцессоров, один или более контроллеров, один или более микроконтроллеров, одну или более интегральных схем, одну или более специализированных интегральных схем, одну или более программируемых пользователем вентильных матриц, одну или более программируемых логических матриц, один или более программируемых логических контроллеров, один или более конечных автоматов или любое их сочетание. Процессор 120 может быть соединён при функционировании с блоком 116 определения местоположения, памятью 122, интерфейсом 128 электронной связи, блоком 118 электронной связи, пользовательским интерфейсом 124, датчиком 126, трансмиссией 104 или любым их сочетанием. Например, процессор может быть соединён при функционировании с памятью 122 через шину 130 связи.
[56] Процессор 120 может быть выполнен с возможностью выполнения инструкций. Такие инструкции могут включать в себя инструкции для дистанционного управления, которые могут использоваться для управления транспортным средством 100 из удаленного места, включая центр управления. Инструкции для дистанционного управления могут храниться в транспортном средстве 100 или приниматься из внешнего источника, такого как центр управления движением, или серверные вычислительные устройства, которые могут включать в себя серверные вычислительные устройства на основе облачных вычислений. Дистанционное управление было введено в предварительной заявке на патент США № 62/633,414, поданной 21 февраля 2018 г. и озаглавленной “REMOTE OPERATION EXTENDING AN EXISTING ROUTE TO A DESTINATION”.
[57] Память 122 может включать в себя любой физический постоянный используемый компьютером или машиночитаемый носитель, способный, например, содержать, хранить, передавать или транспортировать машиночитаемые инструкции или любую информацию, связанную с ними, для использования процессором 120 или в связи с ним. Память 122 может включать в себя, например, один или более твердотельных накопителей, одну или более карт памяти, один или более съемных носителей, одно или более постоянных запоминающих устройств (ROM), одно или более запоминающих устройств с произвольным доступом (RAM), один или более регистров, одно или более запоминающих устройств низкой мощности с двойной скоростью передачи данных (LPDDR), одну или более кэш-памяти, один или более дисков (включая жесткий диск, гибкий диск или оптический диск), магнитную или оптическую карту, или любой тип постоянного носителя, подходящий для хранения электронной информации, или любое их сочетание.
[58] Интерфейс 128 электронной связи может быть антенной беспроводной связи, как показано, портом проводной связи, портом оптической связи или любым другим проводным или беспроводным блоком, способным взаимодействовать с проводной или беспроводной средой 140 электронной связи.
[59] Блок 118 электронной связи может быть выполнен с возможностью передачи или приема сигналов через проводную или беспроводную среду 140 электронной связи, например, через интерфейс 128 электронной связи. Хотя это явно не показано на фиг. 1, блок 118 электронной связи выполнен с возможностью передачи, приема или того и другого через любую проводную или беспроводную среду связи, такую как радиочастотная (RF), ультрафиолетовая (UV), на основе видимого света, оптоволоконная, проводная линия или их сочетание. Хотя на фиг. 1 показан один блок 118 электронной связи и один интерфейс 128 электронной связи, может использоваться любое количество блоков связи и любое количество интерфейсов связи. В некоторых вариантах осуществления блок 118 электронной связи может включать в себя блок специализированной связи ближнего действия (DSRC), беспроводной блок безопасности (WSU), IEEE 802.11p (WiFi-P) или их сочетание.
[60] Блок 116 определения местоположения может определять информацию геолокации, включая, помимо прочего, долготу, широту, высоту, направление движения или скорость транспортного средства 100. Например, блок определения местоположения включает в себя блок глобальной системы позиционирования (GPS), такой как блок Национальной ассоциации морской электроники (NMEA) с возможностью работы с широкозонной усиливающей системой (WAAS), блок радиотриангуляции или их сочетание. Блок 116 определения местоположения может использоваться для получения информации, которая представляет, например, текущий курс транспортного средства 100, текущее положение транспортного средства 100 в двух или трех измерениях, текущую угловую ориентацию транспортного средства 100 или их сочетание.
[61] Пользовательский интерфейс 124 может включать в себя любой блок, который может использоваться человеком в качестве интерфейса, включая любое из виртуальной клавиатуры, физической клавиатуры, сенсорной панели, дисплея, сенсорного экрана, громкоговорителя, микрофона, видеокамеры, датчика и принтера. Пользовательский интерфейс 124 может быть соединён при функционировании с процессором 120, как показано, или с любым другим элементом контроллера 114. Хотя он показан как один блок, пользовательский интерфейс 124 может включать в себя один или более физических блоков. Например, пользовательский интерфейс 124 включает в себя аудиоинтерфейс для выполнения аудиосвязи с человеком и сенсорный дисплей для выполнения визуальной и сенсорной связи с человеком.
[62] Датчик 126 может включать в себя один или более датчиков, таких как массив датчиков, которые могут быть выполнены с возможностью обеспечения информации, которая может использоваться для управления транспортным средством. Датчик 126 может обеспечивать информацию о текущих рабочих характеристиках транспортного средства или его окружения. Датчик 126 включает в себя, например, датчик скорости, датчики ускорения, датчик угла поворота рулевого управления, датчики, связанные со сцеплением, датчики, связанные с торможением, или любой датчик или сочетание датчиков, которые выполнены с возможностью сообщения информации, относящейся к какому-либо аспекту текущей динамической ситуации с транспортным средством 100.
[63] В некоторых вариантах осуществления датчик 126 включает в себя датчики, которые выполнены с возможностью получения информации относительно физической среды, окружающей транспортное средство 100. Например, один или более датчиков обнаруживают геометрию дороги и препятствия, такие как неподвижные препятствия, транспортные средства, велосипедистов и пешеходов. Датчик 126 может представлять собой или включать в себя одну или более видеокамер, лазерных систем обнаружения, инфракрасных систем обнаружения, акустических систем обнаружения или любой другой подходящий тип устройства распознавания окружения транспортного средства или сочетание устройств, известных в настоящее время или тех, что будут созданы позднее. Датчик 126 и блок 116 определения местоположения могут быть объединены.
[64] Хотя это не показано отдельно, транспортное средство 100 может включать в себя контроллер траектории. Например, контроллер 114 может включать в себя контроллер траектории. Контроллер траектории может быть выполнен с возможностью получения информации, описывающей текущее состояние транспортного средства 100 и маршрут, запланированный для транспортного средства 100, и определения и оптимизации траектории для транспортного средства 100 на основании этой информации. В некоторых вариантах осуществления контроллер траектории выдает сигналы, выполненные с возможностью управления транспортным средством 100 таким образом, чтобы транспортное средство 100 следовало траектории, которая определяется контроллером траектории. Например, выходным сигналом контроллера траектории может быть оптимизированная траектория, которая может подаваться на трансмиссию 104, колеса 132/134/136/138 или и то, и другое. Оптимизированная траектория может быть входным управляющим сигналом, таким как набор углов поворота рулевого управления, причем каждый угол поворота рулевого управления соответствует моменту времени или положению. Оптимизированная траектория может представлять собой один или более путей, линий, кривых или их сочетание.
[65] Одно или более колес 132/134/136/138 могут быть управляемым колесом, которое поворачивается на угол поворота рулевого управления под управлением блока 110 рулевого управления; ведущим колесом, которое приводится во вращательное движение для приведения в движение транспортного средства 100 под управлением передачи 108; или управляемым и ведущим колесом, которое осуществляет рулевое управление и приводит в движение транспортное средство 100.
[66] Транспортное средство может включать в себя блоки или элементы, не показанные на фиг. 1, такие как корпус, модуль Bluetooth, блок радиосвязи с частотной модуляцией (FM), блок связи ближнего поля (NFC), жидкокристаллический блок отображения (LCD), блок отображения на органических светоизлучающих диодах (OLED), громкоговоритель или любое их сочетание.
[67] Фиг. 2 является схемой примера части системы 200 транспортировки и связи транспортного средства, в которой могут быть реализованы аспекты, признаки и элементы, раскрытые в данном документе. Система 200 транспортировки и связи транспортного средства включает в себя транспортное средство 202, такое как транспортное средство 100, показанное на Фиг. 1, и один или более внешних объектов, таких как внешний объект 206, который может включать в себя любой вид транспорта, такой как транспортное средство 100, показанное на Фиг. 1, пешехода, велосипедиста, а также сооружение любой формы, например здание. Транспортное средство 202 может двигаться через один или более участков транспортной сети 208 и может осуществлять связь с внешним объектом 206 через одно или более из сети 212 электронной связи. Хотя это явно не показано на Фиг. 2, транспортное средство может двигаться по территории, которая не включена в явном виде или полностью в транспортную сеть, например по бездорожью. В некоторых вариантах осуществления транспортная сеть 208 может включать в себя один или более датчиков 210 обнаружения транспортных средств, таких как индуктивный петлевой датчик, который можно использовать для обнаружения движения транспортных средств в транспортной сети 208.
[68] Сеть 212 электронной связи может быть системой множественного доступа, которая обеспечивает связь, такую как голосовая связь, передача данных, видеосвязь, обмен сообщениями или их сочетание, между транспортным средством 202, внешним объектом 206 и центром 230 управления. Например, транспортное средство 202 или внешний объект 206 могут принимать информацию, такую как информация, представляющая транспортную сеть 208, из центра 230 управления через сеть 212 электронной связи.
[69] Центр 230 управления включает в себя управляющее устройство 232, которое включает в себя некоторые или все функции контроллера 114, показанного на Фиг. 1. Управляющее устройство 232 может отслеживать и координировать движение транспортных средств, включая автономные транспортные средства. Управляющее устройство 232 может отслеживать состояние или состояние транспортных средств, таких как транспортное средство 202, и внешних объектов, таких как внешний объект 206. Управляющее устройство 232 может принимать данные транспортных средств и данные инфраструктуры, включающие в себя любое из: скорости транспортного средства; местоположение транспортного средства; состояние работы транспортного средства; место назначения транспортного средства; маршрут транспортного средства; данные датчиков транспортного средства; скорость внешнего объекта; расположение внешнего объекта; состояние работы внешнего объекта; место назначения внешнего объекта; маршрут внешнего объекта; и данные датчиков внешнего объекта.
[70] Кроме того, управляющее устройство 232 может устанавливать дистанционное управление одним или несколькими транспортными средствами, такими как транспортное средство 202, или внешними объектами, такими как внешний объект 206. Таким образом, управляющее устройство 232 может дистанционно управлять транспортными средствами или внешними объектами из удаленного места. Управляющее устройство 232 может обмениваться (отправлять или принимать) данными о состоянии с транспортными средствами, внешними объектами или вычислительным устройством, такими как транспортное средство 202, внешний объект 206 или серверное вычислительное устройство 234, по каналу беспроводной связи, такому как канал 226 беспроводной связи, или по каналу проводной связи, такому как канал 228 проводной связи.
[71] Серверное вычислительное устройство 234 может включать в себя одно или более серверных вычислительных устройств, которые могут обмениваться (отправлять или принимать) данными сигнала состояния с одним или более транспортными средствами или вычислительными устройствами, включая транспортное средство 202, внешний объект 206 или центр 230 управления, через сеть электронной связи 212.
[72] В некоторых вариантах осуществления транспортное средство 202 или внешний объект 206 обменивается данными по каналу 228 проводной связи, каналу 214/216/224 беспроводной связи или сочетанию любого количества или типов каналов проводной или беспроводной связи. Например, как показано, транспортное средство 202 или внешний объект 206 осуществляют связь по наземному каналу 214 беспроводной связи, по неназемному каналу 216 беспроводной связи или по их сочетанию. В некоторых вариантах реализации канал 214 наземной беспроводной связи включает в себя канал Ethernet, последовательный канал, канал Bluetooth, инфракрасный (IR) канал, ультрафиолетовый (UV) канал или любой канал, выполненный с возможностью электронной связи.
[73] Транспортное средство, такое как транспортное средство 202, или внешний объект, такой как внешний объект 206, могут осуществлять связь с другим транспортным средством, внешним объектом или центром 230 управления. Например, транспортное средство-носитель 202 или рассматриваемое транспортное средство может принимать одно или более автоматических сообщений между транспортными средствами, таких как базовое сообщение безопасности (BSM), из центра 230 управления по прямому каналу 224 связи или по сети 212 электронной связи. Например, центр 230 управления может осуществлять широковещательную передачу сообщения на транспортные средства-носители в пределах заданной дальности широковещательной передачи, такой как триста метров, или в заданную географическую область. В некоторых вариантах осуществления транспортное средство 202 принимает сообщение через третью сторону, такую как ретранслятор сигналов (не показан) или другое удаленное транспортное средство (не показано). В некоторых вариантах осуществления транспортное средство 202 или внешний объект 206 периодически передает одно или более автоматических сообщений между транспортными средствами на основании заданного интервала, такого как сто миллисекунд.
[74] Транспортное средство 202 может осуществлять связь с сетью 212 электронной связи через точку 218 доступа. Точка 218 доступа, которая может включать в себя вычислительное устройство, выполнена с возможностью осуществления связи с транспортным средством 202, с сетью 212 электронной связи, с центром 230 управления или с их сочетанием по проводным или беспроводным каналам 214/220 связи. Например, точка 218 доступа –представляет собой базовую станцию, базовую приемопередающую станцию (BTS), Узел B (Node-B), усовершенствованный Узел B (eNode-B), домашний Узел B (HNode-B), беспроводной маршрутизатор, проводной маршрутизатор, концентратор, ретранслятор, коммутатор или любое подобное проводное или беспроводное устройство. Хотя она показана как одно целое, точка доступа может включать в себя любое количество взаимосвязанных элементов.
[75] Транспортное средство 202 может осуществлять связь с сетью 212 электронной связи через спутник 222 или другое неназемное устройство связи. Спутник 222, который может включать в себя вычислительное устройство, может быть выполнен с возможностью связи с транспортным средством 202, с сетью 212 электронной связи, с центром 230 управления или с их сочетанием через одну или более линий 216/236 связи. Хотя он показан как одно целое, спутник может включать в себя любое количество взаимосвязанных элементов.
[76] Сеть 212 электронной связи может быть сетью любого типа, выполненной с возможностью передачи голосовых данных, данных или любого другого типа электронной связи. Например, сеть 212 электронной связи включает в себя локальную сеть (LAN), глобальную сеть (WAN), виртуальную частную сеть (VPN), мобильную или сотовую телефонную сеть, Интернет или любую другую систему электронной связи. Сеть 212 электронной связи может использовать протокол связи, такой как протокол управления передачей (TCP), протокол пользовательских датаграмм (UDP), Интернет-протокол (IP), транспортный протокол реального времени (RTP), гипертекстовый транспортный протокол (HTTP) или их сочетание. Хотя она показана как единое целое, сеть электронной связи может включать в себя любое количество взаимосвязанных элементов.
[77] В некоторых вариантах осуществления транспортное средство 202 осуществляет связь с центром 230 управления через сеть 212 электронной связи, точку 218 доступа или спутник 222. Центр 230 управления может включать в себя одно или более вычислительных устройств, которые могут обмениваться (отправлять или получать) данными от транспортного средства, такого как транспортное средство 202; данными от внешних объектов, включая внешний объект 206; или данными от вычислительного устройства, такого как серверное вычислительное устройство 234.
[78] В некоторых вариантах осуществления транспортное средство 202 идентифицирует участок или состояние транспортной сети 208. Например, транспортное средство 202 может включать в себя один или более бортовых датчиков 204, таких как датчик 126, показанный на Фиг. 1, который включает в себя датчик скорости, датчик оборотов колеса, камеру, гироскоп, оптический датчик, лазерный датчик, радарный датчик, акустический датчик или любой другой датчик или устройство или их сочетание, способную определять или идентифицировать участок или состояние транспортной сети 208.
[79] Транспортное средство 202 может двигаться по одному или более участкам транспортной сети 208, используя информацию, передаваемую через сеть 212 электронной связи, такую как информация, представляющая транспортную сеть 208, информация, идентифицированная одним или более бортовыми датчиками 204, или их сочетание. Внешний объект 206 может быть выполнен с возможностью всех или некоторых видов связи и действий, описанных выше в отношении транспортного средства 202.
[80] Для простоты на Фиг. 2 показано транспортное средство 202 в качестве транспортного средства-носителя, внешний объект 206, транспортная сеть 208, сеть 212 электронной связи и центр 230 управления. Однако может использоваться любое количество транспортных средств, сетей или вычислительных устройств. В некоторых вариантах осуществления система 200 транспортировки и связи транспортного средства включает в себя устройства, блоки или элементы, не показанные на Фиг. 2.
[81] Хотя показано, что транспортное средство 202 осуществляет связь с центром 230 управления по сети 212 электронной связи, транспортное средство 202 (и внешний объект 206) могут осуществлять связь с центром 230 управления по любому количеству прямых или опосредованных каналов связи. Например, транспортное средство 202 или внешний объект 206 могут осуществлять связь с центром 230 управления по прямому каналу связи, такому как канал связи Bluetooth. Хотя для простоты на Фиг. 2 показана одну из транспортной сети 208 и одну из сети 212 электронной связи, может использоваться любое количество сетей или устройств связи.
[82] Внешний объект 206 показан на Фиг. 2 как второе, удаленное транспортное средство. Внешний объект не ограничен другим транспортным средством. Внешний объект может быть любым элементом инфраструктуры, например забором, вывеской, зданием и т.д., который может передавать данные в центр 230 управления. Данные могут быть, например, данными датчиков от элемента инфраструктуры.
[83] Фиг. 3 является схемой ситуаций 300 прогнозируемых реакций согласно вариантам реализации данного изобретения. Ситуации 300 включают в себя ситуации 310-360, в которых можно прогнозировать реакцию автономного транспортного средства (AV) 302 и планировать траекторию.
[84] Ситуации 300 представляют собой примеры прогнозируемых ситуаций и реакций участников дорожного движения. Ситуации происходят (например, случаются, возникают и т.д.) в медленном масштабе времени. То есть, даже если AV 302 может двигаться с высокой скоростью (например, 60 миль в час (MPH), ситуации 310-360 считаются медленными сценариями, потому что вследствие вычислительной мощности (например, вычислительной мощности процессора, такого как процессор 120 на Фиг.1, и/или контроллера, такого как контроллер 114 на Фиг.1) AV 302, прогнозирование реакций внешних объектов и определение траектории для автономного транспортного средства может быть выполнено в пределах интервала времени в долю секунды.
[85] AV 302 может включать в себя модуль моделирования мира, который может отслеживать по меньшей мере некоторые обнаруженные внешние объекты. Модуль моделирования мира может прогнозировать одну или более потенциальных гипотез (то есть траектории, пути и т.п.) для каждого отслеживаемого объекта из по меньшей мере некоторых из отслеживаемых объектов. AV 302 может включать в себя систему планирования траектории (или просто блок планирования траектории), которая может выполняться процессором для формирования (с учетом исходного состояния, желаемых действий и по меньшей мере некоторых отслеживаемых объектов с прогнозируемыми траекториями) реакции (например, траектории, пути и т.д.) с предотвращением столкновений, соблюдением правил и комфортностью.
[86] В ситуации 310 AV 302 обнаруживает (т.е. посредством компонента отслеживания) припаркованное транспортное средство 304 (т.е. статический объект) на обочине дороги. AV 302 (то есть блок планирования траектории AV 302) может планировать путь (то есть траекторию), как дополнительно описано ниже, который ведёт AV 302 вокруг припаркованного транспортного средства 304, как показано траекторией 306.
[87] Ситуация 320 представляет собой другую ситуацию, в которой AV 302 обнаруживает другой статический объект. Обнаруженный статический объект представляет собой выбоину 322. AV 302 может планировать траекторию 324 таким образом, что AV 302 проедет выбоину 322 так, чтобы ни одно из колёс AV 302 не попало в выбоину 322.
[88] В ситуации 330 AV 302 обнаруживает встречное транспортное средство 332 и припаркованное транспортное средство 334, которое находится на той же стороне дороги, что и встречное транспортное средство 332. Встречное транспортное средство 332 движется. По существу, встречное транспортное средство 332 является динамическим объектом. Встречное транспортное средство 332 движется в том же (или по меньшей мере по существу в том же) продольном направлении, что и AV 302. По существу, встречное транспортное средство 332 может быть классифицировано как продольное ограничение, как дополнительно описано ниже. Встречное транспортное средство 332 движется в направлении, противоположном направлению движения AV 302. Таким образом, встречное транспортное средство 332 можно классифицировать как встречное продольное ограничение. Припаркованное транспортное средство 334 представляет собой статический объект.
[89] AV 302 может прогнозировать (то есть посредством компонента прогнозирования) с определенной степенью уверенности, превышающей пороговое значение, что встречное транспортное средство 332, вероятно, будет следовать по траектории 336, чтобы избежать (например, объехать) припаркованное транспортное средство 334. Траектория 336 перекрывает осевую линию 337 дороги. Чтобы сохранить безопасное расстояние от встречного транспортного средства 332, блок планирования траектории AV 302 может спланировать траекторию 338, которая включает в себя изгиб в местоположении 339. Таким образом, запланированная траектория AV 302 перемещает AV 302 вправо с учётом прогнозируемого маршрута встречного транспортного средства 332.
[90] В ситуации 340 компонент отслеживания AV 302 может обнаруживать припаркованное транспортное средство 342 (то есть статический объект) и велосипед 344, который движется (то есть динамический объект, который представляет собой продольное ограничение). Компонент прогнозирования может определять с определенной степенью уверенности, что велосипед 344 будет следовать по траектории 346, чтобы объехать припаркованное транспортное средство 342. Таким образом, AV 302 определяет (т.е. планирует, вычисляет, выбирает, формирует или иным образом определяет) траекторию 348 таким образом, чтобы AV 302 замедлилось, чтобы позволить велосипеду 344 проехать мимо припаркованного транспортного средства 342. В другом примере AV 302 может определять более одной возможной траектории. Например, AV 302 может определять первую траекторию, как описано выше, вторую траекторию, по которой AV 302 ускоряется, чтобы обогнать велосипед 344 до того, как велосипед 344 проедет мимо припаркованного транспортного средства, и третью траекторию, по которой AV 302 объезжает велосипед 344, когда велосипед 344 проезжает мимо припаркованного транспортного средства 342. Затем блок планирования траектории выбирает одну из определенных возможных траекторий.
[91] В ситуации 350 компонент отслеживания AV 302 обнаруживает встречное транспортное средство 352, первое припаркованное транспортное средство 356 и второе припаркованное транспортное средство 357. Компонент прогнозирования AV 302 определяет, что встречное транспортное средство 352 следует по траектории 354. AV 302 выбирает траекторию 358 таким образом, чтобы AV 302 проехало первое припаркованное транспортное средство 356, ожидало между первым припаркованным транспортным средством 356 и вторым припаркованным транспортным средством 357, пока встречное транспортное средство 352 не проедет мимо, а затем перешло к прохождению второго припаркованного транспортного средства 357.
[92] В ситуации 360 компонент прогнозирования AV 302 определяет, что большой грузовик 362, скорее всего, поворачивает направо. Блок планирования траектории определяет (например, на основании модели движения большого грузовика), что, поскольку большому грузовику необходим большой радиус поворота, большой грузовик 362, вероятно, будет следовать по траектории 364. Поскольку траектория 364 пересекается с траекторией AV 302, блок планирования траектории AV 302 определяет траекторию 366 для AV 302 таким образом, чтобы AV 302 остановилось до тех пор, пока большой грузовик 362 не освободит путь.
[93] Фиг. 4 представляет собой пример компонентов системы 400 для автономного транспортного средства согласно вариантам реализации данного изобретения. Система 400 представляет собой программный конвейер автономного транспортного средства, такого как транспортное средство 100 на Фиг. 1. Система 400 включает в себя модуль 402 модели мира, модуль 404 планирования маршрута, модуль 406 принятия решений, блок 408 планирования траектории и модуль 410 оперативного управления траекторией. Другие примеры системы 400 могут включать в себя большее число, меньшее число или другие модули. В некоторых примерах модули могут быть объединены; в других примерах модуль может быть разделён на один или более других модулей.
[94] Модуль 402 модели мира принимает данные датчиков, например, от датчика 126 по Фиг. 1, и определяет (например, преобразует, обнаруживает и т.д.) объекты из данных датчиков. То есть, например, модуль 402 модели мира определяет участников дорожного движения из принятых данных датчиков. Например, модуль 402 модели мира может преобразовывать облако точек, принятое от оптического датчика обнаружения и определения расстояния (LiDAR) (т.е. датчика в составе датчика 126), в объект. Данные датчиков от нескольких датчиков могут быть объединены, чтобы определить (например, угадать принадлежность) объекты. Примеры объектов включают велосипед, пешеход, транспортное средство и т.д.
[95] Модуль 402 модели мира может принимать информацию датчиков, которая позволяет модулю 402 модели мира вычислять и поддерживать дополнительную информацию по меньшей мере для некоторых обнаруженных объектов. Например, модуль 402 модели мира может поддерживать состояние по меньшей мере для некоторых из определенных объектов. Например, состояние объекта может включать в себя ноль или более из скорости, положения, геометрии (например, ширины, высоты и глубины), классификации (например, велосипед, большой грузовик, пешеход, дорожный знак и т.д.) и местоположение. По существу, состояние объекта включает в себя дискретную информацию о состоянии (например, классификацию) и непрерывную информацию о состоянии (например, положение и скорость).
[96] Модуль 402 модели мира объединяет информацию датчиков, отслеживает объекты, поддерживает списки гипотез по меньшей мере для некоторых динамических объектов (например, объект A может двигаться прямо, поворачивать направо или поворачивать налево), создает и поддерживает прогнозируемые траектории для каждой гипотезы и поддерживает оценки правдоподобия каждой гипотезы (например, объект A движется прямо с вероятностью 90%, учитывая положение/скорость объекта и положения/скорости траектории). В одном примере модуль 402 модели мира использует экземпляр блока планирования траекторий, который формирует опорную траекторию движения для каждой гипотезы объекта по меньшей мере для некоторых из динамических объектов. Например, один или более экземпляров блока планирования траектории можно использовать для формирования опорных траекторий движения для транспортных средств, велосипедов и пешеходов. В другом примере экземпляр блока планирования траектории может использоваться для формирования опорных траекторий движения для транспортных средств и велосипедов, а другой способ может использоваться для создания опорных траекторий движения (например, опорных маршрутов) для пешеходов.
[97] Объекты, поддерживаемые модулем 402 модели мира, могут включать в себя статические объекты и/или динамические объекты, как описано с обращением к Фиг. 3.
[98] Модуль 404 планирования маршрута определяет план на уровне дороги, такой как проиллюстрированный по отношению к плану 412 на уровне дороги. Например, учитывая исходное местоположение и местоположение назначения, модуль 404 планирования маршрута определяет маршрут от исходного местоположения до местоположения назначения. Например, модуль 404 планирования маршрута может определять список дорог (то есть план на уровне дороги), по которому должно следовать AV для перемещения из исходного местоположения в местоположение назначения.
[99] План на уровне дороги, определенный модулем 404 планирования маршрута, и объекты (и соответствующая информация о состоянии), поддерживаемые модулем 402 модели мира, могут использоваться модулем 406 принятия решений для определения решений на дискретном уровне по плану на уровне дороги. Пример решений, включенных в решения на дискретном уровне, проиллюстрирован в отношении решений 414 на дискретном уровне. Пример решений на дискретном уровне может включать в себя: остановку на перекрёстке дороги A и дороги B, медленное движение вперед, ускорение до определенного ограничения скорости, перестроение на крайнюю правую полосу движения и т.д.
[100] Блок 408 планирования траектории может принимать от модуля 402 модели мира решения на дискретном уровне, объекты (и соответствующую информацию о состоянии), поддерживаемые модулем 402 модели мира, а также прогнозируемые траектории и вероятности для внешних объектов. Блок 408 планирования траектории может использовать по меньшей мере часть полученной информации для определения детально спланированной траектории для автономного транспортного средства.
[101] Например, как показано в отношении детально спланированной траектории 416, блок 408 планирования траектории определяет траекторию для следующих нескольких секунд. Таким образом, и в примере, в котором следующие несколько секунд являются следующими 6 секундами (то есть время упреждения составляет 6 секунд), блок 408 планирования траектории определяет траекторию и местоположения для автономного транспортного средства на следующие 6 секунд. Например, блок 408 планирования траектории может определять (например, прогнозировать, вычислять и т.д.) ожидаемые местоположения автономного транспортного средства в нескольких интервалах времени (например, каждую четверть секунды или некоторые другие интервалы времени). Блок 408 планирования траектории может определять детально спланированную траекторию на основе прогнозируемых реакций других участников дорожного движения, как описано, например, с обращением к Фиг. 3.
[102] Модуль 410 оперативного управления траекторией может обрабатывать ситуации, с которыми автономное транспортное средство может столкнуться, но которые не являются прогнозируемыми (например, не могут быть обработаны) блоком 408 планирования траектории. Такие ситуации включают в себя ситуации, когда детально спланированная траектория блока 408 планирования траектории была основана на неправильной классификации объектов и/или непредвиденных ситуациях, которые возникают редко. Например, модуль 410 оперативного управления траекторией может изменять детально спланированную траекторию в ответ на определение того, что статический объект слева от автономного транспортного средства классифицирован неправильно. Например, объект мог быть классифицирован как большой грузовик; однако новая классификация определяет, что это статичная стена дорожного ограждения. В другом примере модуль 410 оперативного управления траекторией может изменять детально спланированную траекторию в ответ на внезапный прорыв колеса автономного транспортного средства. Другие примеры непредвиденных ситуаций включают в себя внезапный поворот других транспортных средств (например, из-за позднего решения выехать на съезд с автомагистрали или прорыв колеса) на полосу движения AV, а также пешеходов или других объектов, внезапно появляющихся из-за препятствий.
[103] Фиг. 5 является примером слоев блока 500 планирования траектории для автономного транспортного средства в соответствии с вариантами реализации данного изобретения. Блок 500 планирования траектории может быть блоком 408 планирования траектории по Фиг. 4 или может быть его частью. Блок 500 планирования траектории может принимать цели 501 движения. Блок 500 планирования траектории может принимать последовательность целей 501 движения, которые могут представлять, например, последовательность выборов полос движения и ограничений скорости, которые соединяют первое местоположение со вторым местоположением. Например, целью движения из целей 501 движения может быть «начало движения в местоположении x, движение по полосе движения, имеющей определенный идентификатор (например, полосе движения с идентификатором, равным A123), с соблюдением ограничения скорости y». Блок 500 планирования траектории может быть использован для формирования траектории, которая выполняет последовательность целей 501 движения.
[104] Блок 500 планирования траектории включает в себя слой 502 данных траектории движения, слой 504 формирования опорной траектории, слой 506 избегания препятствий, и слой 508 оптимизации траектории. Блок 500 планирования траектории формирует оптимизированную траекторию. Другие примеры блока 500 планирования траектории могут включать в себя больше, меньше слоёв или другие слои. В некоторых примерах слои могут быть объединены; в других примерах слой может быть разделён на один или более других слоев.
[105] Слой 502 данных траектории движения включает в себя входные данные, которые могут использоваться блоком 500 планирования траектории. Данные траектории движения могут быть использованы (например, слоем 504 формирования опорной траектории) для определения (т.е. формирования, вычисления, выбора или иного определения) грубой траектории движения от первого местоположения до второго местоположения. Траекторию движения можно представить как линию на дороге, с которой совпадает продольная ось AV при движении AV по дороге. Таким образом, данные траектории движения - это данные, которые можно использовать для определения траектории движения. Траектория движения на этом этапе является грубой и может содержать поперечные разрывы, например, когда она направлена на боковое перестроение между смежными полосами движения. Траектория движения на этом этапе также еще не скорректирована с учётом объектов, которые встречаются AV, как дополнительно описано ниже.
[106] В одном примере слой 502 данных траектории движения может включать в себя одно или более из картографических данных 510 высокого разрешения (HD), картографических данных 512 дистанционного управления, данных 514 записанных маршрутов, данных 516 о движущихся впереди транспортных средствах, данных 518 о парковке и данных 520 распознаваемого маршрута.
[107] Картографические данные 510 HD - это картографические данные с высоким разрешением (т.е. с высокой точностью), которые могут использоваться автономным транспортным средством. Картографические данные 510 HD могут включать в себя точную информацию в отношении транспортной сети, с точностью до нескольких сантиметров. Например, картографические данные 510 HD могут включать в себя подробности в отношении полос движения на дороге, разделительных полос на дороге, светофоров, дорожных знаков, ограничений скорости и тому подобного.
[108] Картографические данные 512 дистанционного управления могут включать в себя данные  относительно короткой траектории движения. Например, картографические данные 512 дистанционного управления могут быть данными траектории движения длиной от 100 до 200 метров. Однако картографические данные 512 дистанционного управления не обязательно ограничены этим. Картографические данные 512 дистанционного управления могут быть вручную сформированы оператором дистанционного управления в ответ на исключительные ситуации, которые AV не может автоматически обрабатывать, или в ожидании таких ситуаций.
[109] Траектория движения может создаваться в режиме реального времени. Чтобы проиллюстрировать создание траектории движения в реальном времени, приведен пример. Оператор дистанционного управления может удаленно наблюдать за исходными данными датчиков AV. Например, оператор дистанционного управления может видеть (например, на удаленном мониторе) опоры строительного участка (например, снятые камерой AV) и прокладывать маршрут для AV через зону строительства. Затем оператор дистанционного управления может наблюдать за тем, как регулировщик дает AV разрешающий сигнал, после чего оператор дистанционного управления может инструктировать AV двигаться по проложенному маршруту.
[110] Чтобы сократить время обработки при ручной прокладке маршрута, когда AV достигает исключительной ситуации, которая ранее встречалась, данные траектории движения также могут быть сохранены удаленно и отправлены AV по мере необходимости.
[111] Данные 514 записанных маршрутов могут включать в себя данные в отношении маршрутов, по которым ранее следовало автономное транспортное средство. В одном примере оператор (например, водитель или удаленный оператор) автономного транспортного средства мог записать маршрут с улицы в гараж в доме.
[112] Данные 516 движущихся впереди транспортных средств могут быть данными, принятыми от одного или более транспортных средств, которые движутся впереди автономного транспортного средства в общем по той же траектории, что и автономное транспортное средство. В одном примере автономное транспортное средство и движущееся впереди него транспортное средство могут обмениваться данными по каналу беспроводной связи, например, описанному со ссылкой на Фиг. 2. Таким образом, автономное транспортное средство может принимать информацию о траектории и/или другую информацию от движущегося впереди транспортного средства по каналу беспроводной связи. Данные 516 движущегося впереди транспортного средства также могут распознаваться (например, отслеживаться) без явного канала связи. Например, AV может отслеживать движущееся впереди транспортное средство и может оценивать траекторию движения транспортного средства для движущегося впереди транспортного средства на основании результатов отслеживания.
[113] Данные 518 о парковке включают в себя данные в отношении местоположений парковок и/или парковочных мест. В одном примере данные 518 о парковке могут использоваться для прогнозирования траекторий движения других транспортных средств. Например, если въезд на парковку находится вблизи другого транспортного средства, одна из прогнозируемых траекторий другого транспортного средства может быть такой, что другое транспортное средство въедет на парковку.
[114] В некоторых ситуациях картографическая информация (например, карта HD) может быть недоступна для участков транспортной сети. По существу, данные 520 распознаваемого маршрута могут представлять траектории движения, для которых нет ранее нанесённой на карту информации. Вместо этого AV может обнаруживать траектории движения в режиме реального времени, используя менее чем, более чем или иное в отличии от линий разметки полос движения, бордюров и границ дороги. В одном примере границы дороги могут быть обнаружены на основании переходов от одного типа поверхности (например, тротуара) к другим типам поверхности (например, гравий или трава). Для обнаружения траектории движения в реальном времени можно использовать и другие способы.
[115] Слой 504 формирования опорной траектории может включать в себя модуль 522 конкатенации траекторий движения, модуль 524 стратегического планирования скорости и модуль 526 синтеза траектории движения. Слой 504 формирования опорной траектории движения вводит грубую траекторию движения в модуль 528 дискретного по времени планирования скорости. Фиг. 6 иллюстрирует пример работы слоя 504 формирования опорной траектории.
[116] Следует отметить, что модуль 404 планирования маршрута может формировать последовательность идентификаторов полосы движения, которая используется для движения из первого местоположения во второе местоположение, при этом соответствуя (например, обеспечивая) целям 501 движения. По существу, цели 501 движения могут находиться, например, на расстоянии 100 метров друг от друга, в зависимости от длины полосы движения. В случае картографических данных 510 HD, например, слой 504 формирования опорной траектории может использовать сочетание местоположения (например, местоположение по GPS, трёхмерные декартовы координаты и т.д.) и полосы движения (например, идентификатор полосы движения) в последовательности целей 501 движения для формирования траектории движения с высоким разрешением (например, из карты 510 HD), представленной в виде последовательности положений для AV. Каждое положение может находиться на заданном расстоянии. Например, положения могут находиться на расстоянии одного-двух метров друг от друга. Положение может быть определено с помощью большего, меньшего или с помощью иных величин по сравнению с координатами (x, y, z), углом крена, углом тангажа и/или углом рыскания.
[117] Как упоминалось выше, данные траектории движения могут использоваться для определения (например, создания, вычисления и т.д.) грубой траектории движения. Модуль 522 конкатенации траекторий движения соединяет (например, связывает, сливает, объединяет, соединяет, интегрирует или иным образом соединяет) входные данные уровня 502 данных траектории движения для определения грубой траектории движения в продольном направлении (например, вдоль пути автономного транспортного средства). Например, чтобы добраться из местоположения A (например, с места работы) в местоположение D (например, домой), для определения грубой траектории движения модуль 522 конкатенации траекторий движения может использовать входные данные из данных 518 о парковке для определения местоположения выезда с парковки на месте работы для выезда на главную дорогу, может использовать данные из картографических данных 510 HD для определения маршрута от главной дороги до дома и может использовать данные из данных 514 записанных маршрутов для движения в гараж у дома.
[118] Грубая траектория движения не включает информацию о скорости. Однако в некоторых примерах грубая траектория движения может включать в себя информацию об ограничении скорости, которая может использоваться (например, извлекаться) из картографических данных 510 HD. Модуль 524 стратегического планирования скорости определяет конкретную скорость (скорости) на различных участках грубой траектории движения. Например, модуль 524 стратегического планирования скорости может определять, что на первом прямом участке грубой траектории движения скорость автономного транспортного средства может быть установлена равной ограничению скорости для этого первого прямого участка; и на следующем втором криволинейном участке грубой траектории движения скорость автономного транспортного средства должна быть установлена на более низкую скорость. Таким образом, модуль 524 стратегического планирования скорости вычисляет профиль скорости с соблюдением правил (например, с соблюдением ограничений скорости и стоп-линий), комфортный (например, физически и эмоционально) и физически реализуемый (например, зависимость скорости от расстояния вдоль траектории движения) для грубой траектории движения с учетом текущего состояния (например, скорости и ускорения) AV, но без учета других участников дорожного движения или статических объектов.
[119] Как только стратегический план скорости определен модулем 524 стратегического планирования скорости, модуль 526 синтеза траектории движения может регулировать грубую траекторию движения в поперечном направлении. Учитывая стратегический профиль скорости и грубую траекторию движения с поперечными разрывами, модуль 526 синтеза траектории движения определяет начальное и конечное местоположения смены полосы движения и синтезирует траекторию движения, соединяющую эти два местоположения. Длина смены полосы движения может зависеть от скорости.
[120] Модуль 526 синтеза траектории движения может синтезировать траектории движения, соединяющие имеющий поперечный разрыв участки грубой траектории движения. Например, предположим, что картографические данные 510 HD включают в себя первый участок грубой траектории движения, который находится на первой полосе движения дороги, но что второй участок грубой траектории движения находится на второй полосе движения той же дороги. Таким образом, в грубой траектории движения существует поперечный разрыв. Модуль 526 синтеза траектории движения сначала определяет расстояние перехода (или, что эквивалентно, начальное и конечное местоположения), через которое AV должно перейти с первой полосы движения на вторую полосу движения. То есть начальное положение - это положение на дороге, когда необходимо управлять автономным транспортным средством для начала перемещения с первой полосы на вторую полосу движения. Конечное положение - это положение на дороге, в котором автономное транспортное средство должно завершить смену полосы движения. Затем модуль поперечной непрерывности формирует новые данные траектории движения, соединяющие исходное положение на первой полосе с конечным положением на второй полосе.
[121] Переход, определяемый модулем 526 синтеза траектории движения, может зависеть от скорости. Например, для перехода AV с первой полосы движения на вторую полосу может потребоваться более короткое расстояние перехода, если AV движется с меньшей скоростью, чем если AV движется с более высокой скоростью. Например, в ситуации интенсивного движения, когда автономное транспортное средство движется с меньшей скоростью (например, 15 миль в час), для перехода может потребоваться 20 ярдов; однако, если автономное транспортное средство движется с более высокой скоростью (например, 65 миль в час), то расстояние перехода может составлять 100 ярдов. По существу, модуль 526 синтеза траектории движения может определять положение перехода в зависимости от скорости AV.
[122] Выходной сигнал модуля 526 синтеза траектории движения подается в слой 506 избегания препятствий. Выходные данные модуля 526 синтеза траектории движения включают в себя грубую траекторию движения и стратегический план скорости. Слой 506 избегания препятствий формирует среднесрочный дискретный по времени план скорости и поперечные ограничения для грубой траектории движения. Для дискретных моментов времени в будущем (или, что эквивалентно, в дискретных местоположениях на маршруте AV) модуль 528 дискретного по времени планирования скорости определяет (то есть вычисляет) соответствующую желаемую скорость для AV.
[123] В слое 506 избегания препятствий и, как дополнительно описано ниже, используя грубую траекторию движения, близлежащие статические объекты и близлежащие динамические объекты и их прогнозируемые траектории, слой 506 избегания препятствий определяет (например, извлекает) доступную для движения область, в которой может осуществляться безопасное управление AV. Определяются правая и левая границы каждого элементарного участка (описано ниже). Учитывая текущую скорость AV, можно создать план скорости в режиме реального времени. План скорости в режиме реального времени может использоваться для оценки будущего местоположения AV. Будущие местоположения AV могут быть оценены относительно будущих (например, прогнозируемых) местоположений динамических объектов. Доступная для движения область для AV регулируется путём удаления областей доступной для движения области, которые соответствуют местоположениям динамических объектов (например, перекрываются с ними).
[124] В слое 506 избегания препятствий грубая траектория движения оценивается и/или корректируется с учётом объектов. Упомянутыми объектами могут быть объекты, внешние и близкие по отношению к AV. По существу, упомянутые объекты могут быть объектами, описанными в отношении модуля 402 модели мира по Фиг. 4. По существу, учитывая текущую скорость AV, слой 506 избегания препятствий формирует план скорости в режиме реального времени. Используя план скорости в режиме реального времени, слой 506 избегания препятствий может оценивать будущие местоположения AV в дискретные будущие моменты времени. Будущие местоположения могут быть оценены относительно местоположений объектов (то есть объектов модели мира) для обеспечения (например, формирования) плавного движения для AV. Обеспечение плавного движения (т.е. плавной траектории) может быть итерационным процессом, как дополнительно описано ниже.
[125] Подводя итог, сначала создается грубая траектория движения; затем из грубой траектории движения формируется план скорости; и, учитывая грубую траекторию движения и план скорости, траектория оптимизируется с учетом других объектов, которые поддерживаются в модели мира AV, для обеспечения оптимизированной желаемой траектории. Траектория оптимизируется в скорректированной доступной для движения области. Недоступные для движения области (т.е. области, где AV не может безопасно управляться вследствие других объектов) удаляются из исходной доступной для движения области, обеспечивая скорректированную доступную для движения область.
[126] Фиг. 6 является иллюстрацией примеров 600 конкатенации грубой траектории движения согласно вариантам реализации данного изобретения. Примеры 600 являются примерами работы слоя 504 формирования опорной траектории по Фиг. 5.
[127] На виде 610 AV 611 находится в крайней правой полосе 614 движения трехполосной дороги, которая включает в себя полосы 612-614 движения. Следует учесть, что вид 610 является примером системы левостороннего движения (то есть движение на полосах 612-614 движения происходит снизу вверх по Фиг. 6). Блок планирования маршрута, такой как модуль 404 планирования маршрута, может определить на основании картографических данных HD, таких как картографические данные 510 HD по Фиг. 5, что AV 611 должно повернуть направо на полосу 615 движения однополосной дороги. На карте HD может быть указана осевая линия (не показана) для каждой полосы движения.
[128] В некоторых ситуациях траектория движения AV может не совпадать с осевой линией полосы движения или дороги. Например, полоса 615 движения может иметь дополнительное расширение для размещения парковочных мест вдоль левой стороны полосы 615 движения. В другом примере можно обнаружить, что большинство водителей предпочитают двигаться немного левее осевой линии. Таким образом, траектория движения AV 611 должна быть установлена слева от осевой линии полосы 615 движения. По существу, модуль 522 конкатенации траектории движения определяет геометрию полос движения для определения траектории движения с учетом геометрии полосы движения (например, ширины полосы движения). Например, если на грубой траектории движения имеется поворот, модуль 522 конкатенации траектории движения определяет, где траекторию движения следует перемещена (т.е. от осевой линии полосы движения) на основании ширины полосы движения, направления поворота (например, вправо или влево), угла поворота и/или скорости поворота. Таким образом, модуль 522 конкатенации траектории движения устанавливает траекторию движения AV на основании осевой линии карты HD. Например, траекторию движения можно задавать на основании ширины полосы движения.
[129] Для задания траектории движения AV модуль 522 конкатенации траектории движения определяет геометрию полос вдоль грубой траектории движения. В одном примере модуль 522 конкатенации траектории движения определяет геометрию для определенного расстояния (например, 100 метров, 200 метров, 300 метров и т.д.) вдоль грубой траектории движения. Для определения геометрии модуль 522 конкатенации траектории движения может определять многоугольники, такие как многоугольник 616, вдоль грубой траектории движения, которые можно использовать для определения границ полосы движения.
[130] Вид 620 иллюстрирует определение траектории движения (т.е. грубой траектории движения) на основании ширины 621 полосы движения. Правый край 624, левый край 622 и осевая линия 626 полосы движения, по которой движется AV 611, могут быть получены из карты HD. Модуль 522 конкатенации траектории движения определяет траекторию 628 движения(то есть грубую траекторию движения) на основании ширины 621. По существу, траектория движения 628 смещена от осевой линии 626.
[131] Вид 630 иллюстрирует использование данных дистанционного управления, таких как описанные в отношении картографических данных 512 дистанционного управления по Фиг. 5, для определения траектории движения. Как описано выше, в то время как картографические данные HD являются статическими данными, данные дистанционного управления могут обеспечивать траекторию движения в реальном времени на основании дорожной ситуации и/или исключительных ситуаций. Например, вдоль траектории 632 движения AV 611 имеется зона строительства. Зона строительства ограничена препятствиями, такими как опора 636, которые окружают объект 634 строительства. По существу, модуль 522 конкатенации траектории движения корректирует траекторию 632 движения, как дополнительно описано ниже, чтобы она была траекторией 638 движения (то есть грубой траекторией движения), используя траекторию движения в режиме реального времени, которая обеспечивается данными дистанционного управления.
[132] Вид 640 иллюстрирует смену полосы движения в зависимости от скорости. Смена полосы движения в зависимости от скорости может быть реализована, как описано выше, модулем 526 синтеза траектории движения по Фиг. 5. В примере модуль 406 принятия решений по Фиг. 4 предусматривает, что AV 611, движущееся по полосе 642 движения, должен далее быть на полосе 644 движения, например, поскольку полоса 642 движения заканчивается или поскольку AV 611 должно повернуть налево. Таким образом, AV 611 в какой-то момент должно переместиться с полосы 642 движения на полосу 644 движения. Поскольку карта HD может не обеспечивать информацию о переходах полос движения, слой 504 формирования опорной траектории AV 611 определяет момент перехода между полосами движения. Как упоминалось выше, переход может зависеть от скорости.
[133] В одном примере, блок 500 планирования траектории (слоем которого является слой 504 формирования опорной траектории) может определить, что в точке X вдоль грубой траектории движения AV 611 будет двигаться со скоростью Y (как определено модулем 524 стратегического планирования скорости). В случае, если AV 611 движется с низкой скоростью (например, 35 миль в час), модуль 526 синтеза траектории движения может определить, что переход может быть медленным. Соответственно, маршрут для перехода с полосы 642 движения на полосу 644 движения может быть таким, как показано маршрутом 646. С другой стороны, если AV 611 движется с высокой скоростью (например, 65 миль в час), маршрут для смены полосы движения требует большего расстояния, как показано маршрутом 648.
[134] Время, необходимое для движения по маршрутам 646 и 648, может быть одинаковым. Однако расстояние является различным. Расстояние, необходимое для смены полосы движения, если AV 611 движется с первой скоростью, больше расстояния, необходимого, если AV 611 движется со второй скоростью, которая ниже первой скорости.
[135] Скорость смены полосы движения может использоваться для определения смены полосы движения в зависимости от скорости. То есть скорость смены полосы движения может использоваться для создания соединения между двумя смежными полосами движения, такими как полоса 642 движения и полоса 644 движения на виде 640. Скорость смены полосы движения может быть определена в «метрах на метр»: на сколько метров полоса движения перемещается в поперечном направлении на метр в продольном направлении?Как упоминалось выше, цель состоит в том, чтобы идентифицировать скорость смены полосы движения, которая приводит к завершению смены полосы движения за целевой промежуток времени: если AV движется медленно (например, при плотном движении в час пик), скорость смены полосы движения высока и происходит на небольшом расстоянии (например, порядка десятков метров); если AV движется быстро (например, со скоростью движения по шоссе), скорость смены полосы движения является низкой и происходит на большом расстоянии (например, порядка сотен метров).
[136] Фиг. 7 - пример 700 определения стратегического плана скорости согласно вариантам реализации данного изобретения. Пример 700 иллюстрирует примеры входных данных, которые могут использоваться модулем 524 стратегического планирования скорости по Фиг. 5, чтобы определить стратегический план 714 скорости. В некоторых вариантах реализации модуль 524 стратегического планирования скорости может использовать большее число, меньшее число или иные входные данные для определения стратегического плана скорости.
[137] В примере 700 могут использоваться входные данные ограничений скорости и входные данные ограничений ускорения. Ограничения скорости могут включать в себя по меньшей мере одно из ограничений 702 скорости на дороге, ограничений 704 скорости на повороте и данных 706 плавной автономной мобильности (SAM). Ограничения ускорения могут включать в себя ограничения 710 ускорения транспортного средства и ограничения 712 по комфортности. Ограничения скорости и/или ограничения ускорения могут включать большее число, меньшее число или иные входные данные.
[138] Ограничения 702 скорости на дороге могут быть ограничениями скорости на дороге, например, указанными на знаках ограничения скорости (например, 20 миль в час, 65 миль в час и т.д.). В одном примере ограничения 702 скорости на дороге могут быть получены из карты HD. Ограничения 704 скорости на повороте могут быть данными, связывающими скорость транспортного средства с кривизной поворота, например поворота вдоль грубой траектории движения AV. В качестве альтернативы, ограничения 704 скорости на повороте могут обеспечивать только информацию о кривизне изгиба дороги (например, радиус кривизны поворота). Пределы 704 скорости на повороте могут быть ограничениями бокового ускорения AV. По существу, план скорости может включать в себя сниженные скорости AV в соответствии с ограничениями 704 скорости на повороте, когда AV проходит повороты.
[139] Данные 706 SAM могут быть данными, собранными (например, в системе на основе облачных вычислений) от транспортных средств (автономных или иных). Эти данные могут позволить транспортным средствам (включая AV) безопасно и плавно работать на дороге. В одном примере данные 706 SAM могут включать в себя данные о вибрации, собранные от транспортных средств на участке дороги. Данные о вибрации могут коррелировать уровни вибрации и значения скорости на разных участках дороги. В одном примере данные о вибрации могут указывать для определенного местоположения на дороге неприемлемый уровень вибрации (например, из-за искусственной неровности на участке дороги), когда транспортное средство движется со скоростью выше определенной скорости. Таким образом, чтобы минимизировать воздействие вибрации, AV необходимо снизить скорость (ниже определенной скорости) на участке дороги. В одном примере данные 706 SAM могут быть получены AV от центрального сервера, такого как центр 230 управления, серверное вычислительное устройство 234 или какое-либо другое сетевое устройство. В одном примере данные 706 SAM могут быть данными, накопленными от других транспортных средств в течение определенного периода времени (например, 1 минута, 10 минут, 20 минут и т.д.) автономного транспортного средства, прибывающего в это местоположение. В примере AV может извлечь данные 706 SAM. В другом примере данные 706 SAM могут быть отправлены в AV на основании сообщения AV о своем местоположении серверу, который обеспечивает данные 706 SAM.
[140] Ограничения 702 скорости на дороге, ограничения 704 скорости на повороте и данные 706 SAM могут быть объединены для обеспечения необработанных ограничений 708 скорости. Например, для каждого местоположения из определенных местоположений вдоль грубой траектории движения (например, каждые 5 метров, 10 метров и т.д.) минимальное значение скорости из ограничений 702 скорости на дороге в этом местоположении, значение скорости из ограничений 704 скорости на повороте в этом местоположении, и скорость из данных 706 SAM в этом местоположении используются как скорость по необработанным ограничениям 708 скорости в этом местоположении.
[141] Ограничения 710 ускорения транспортного средства могут быть ограничениями ускорения AV, которые обусловлены крутящим моментом и мощностью AV. Ограничения 712 по комфортности включают в себя ограничения по комфортности для человека в отношении ускорения, такие как: Насколько быстрого разгона AV хотят пользователи AV?
[142] Модуль 524 стратегического планирования скорости слоя 504 формирования опорной траектории может объединить необработанные ограничения 708 скорости, ограничения 710 ускорения транспортного средства, и ограничения 712 по комфортности для обеспечения стратегического плана 714 скорости, который представляет собой план плавной скорости.
[143] Как упомянуто выше, в месте вдоль грубой траектории движения минимальное значение из ограничений 702 скорости на дороге, ограничений 704 скорости на повороте и данных 706 плавной автономной мобильности SAM могут использоваться в качестве ограничения скорости AV. Ограничения 710 ускорения транспортного средства и ограничения 712 по комфортности связывают ускорение со скоростью. По существу, и в одном примере, ограничения 710 ускорения транспортного средства и ограничения 712 по комфортности могут быть объединены путем нахождения минимального значения из двух кривых максимальных значений (комфортность, скорость). Таким образом, на низкой скорости комфортность может ограничить максимальное ускорение AV; тогда как на высокой скорости ускорение AV могут ограничивать ограничения ускорения (например, по мощности) AV. Профиль скорости может быть сформирован путем определения профиля максимальной скорости вдоль грубой траектории движения, который удовлетворяет ограничениям скорости (ограничение скорости в любом конкретном месте вдоль траектории движения) и ускорения (ограничение ускорения для любой конкретной скорости).
[144] Входные данные, отличные от описанных выше, также могут использоваться для вычисления стратегического плана 714 скорости. Например, можно использовать один или более значений коэффициента трения на дороге, минимального времени движения с постоянной скоростью, типа района или другие входные данные. Коэффициент трения (мю) на дороге относится к скользкости дороги, например из-за льда, дождя, уклона и т.д.
[145] Минимальное время движения с постоянной скоростью относится к минимальному периоду времени, на протяжении которого скорость AV может быть установлена на постоянную скорость. Например, предположим, что длина участка дороги составляет 500 метров, а ограничение скорости на этом участке составляет 45 миль в час. Кроме того, предположим, что с учетом модели движения AV требуется 250 метров, чтобы AV достигло предельной скорости 45 миль в час из остановленного положения, и 250 метров требуется для остановки AV при текущей скорости 45 миль в час. Если AV было остановлено в начале участка дороги и AV должно снова остановиться в конце участка дороги, то, как только AV достигнет предельной скорости 45 миль/ч, AV должно будет начать замедляться. Такой профиль скорости может быть нежелательным и/или неестественным для пользователей AV. По существу, минимальное время движения с постоянной скоростью может указывать, например, на то, что скорость должна поддерживаться в течение минимального времени движения с постоянной скоростью (например, 3 секунды), прежде чем AV сможет начать замедление (или ускорение). Таким образом можно получить более естественный профиль скорости.
[146] Тип района может использоваться для моделирования обычного поведения человека при управлении, которое может зависеть от типа района, по которому движется AV. Например, водитель-человек может ехать со скоростью ниже установленного ограничения скорости в жилом районе (например, там, где можно видеть детей, играющих на улице) и может ехать по меньшей мере на установленном ограничении скорости в промышленном районе, даже если оба района могут иметь одинаковое установленное ограничение скорости.
[147] Фиг. 8 является блок-схемой процесса 800 определения доступной для движения области и дискретного по времени плана скорости с в соответствии с вариантом реализации данного изобретения. Некоторые или все аспекты процесса 800 могут быть реализованы в транспортном средстве, включая транспортное средство 100, показанное на Фиг. 1 и транспортное средство 202, показанное на Фиг. 2, или в вычислительном устройстве, включая управляющее устройство 232, показанное на Фиг. 2. В одном варианте реализации некоторые или все аспекты процесса 800 могут быть реализованы в системе, объединяющей некоторые или все признаки, описанные в данном описании. Например, процесс 800 может использоваться слоем 506 избегания препятствий по Фиг. 5.
[148] Процесс 800 поясняется с обращением к Фиг. 9. Фиг. 9 является иллюстрацией определения доступной для движения области и дискретного по времени плана скорости в соответствии с вариантами реализации данного изобретения. Фиг. 9 иллюстрирует формирование доступной для движения области (поперечные ограничения) и профиля ограниченной скорости, которые могут быть представлены дискретно по времени. Доступная для движения область может быть, например, областью транспортной сети для транспортных средств, в которой может осуществляться управление автономным транспортным средством. Первоначально (например, в начале процесса 800) доступная для движения область может включать в себя области, в которых невозможно спрогнозировать безопасное управление AV. Процесс 800 корректирует (например, отсекает) доступную для движения область для тех областей, в которых невозможно спрогнозировать безопасное управление AV. Процесс 800 приводит к получению скорректированной доступной для движения области.
[149] В операции 810 процесс 800 идентифицирует близкие к AV объекты. В одном примере близкие объекты могут быть по меньшей мере некоторыми из внешних объектов, поддерживаемых модулем 402 модели мира. В одном примере, все близкие объекты могут быть объектами, поддерживаемыми модулем 402 модели мира. В другом примере близкие объекты могут быть поднабором из объектов, поддерживаемых модулем 402 модели мира. Например, близкие объекты могут быть объектами в пределах заданного расстояния от AV, объектами в пределах прогнозируемого времени прибытия AV или объектами, которые соответствуют другим критериям для идентификации поднабора объектов. Например, и обращаясь к виду 910 на Фиг. 9, для AV 912 идентифицируются статическое транспортное средство 920, статическое транспортное средство 914, динамическое встречное транспортное средство 918 и динамическое транспортное средство 916. В варианте реализации, операция 810 идентифицирует точки (т.е. граничные точки) и/или группы точек, представляющие объекты, как описано с обращением к Фиг. 10-12.
[150] В операции 820 процесс 800 извлекает доступную для движения область. Доступная для движения область может быть областью, в которой может управляться (например, с точки зрения правил и/или физически) AV 912. Например, доступная для движения область может быть извлечена из грубой траектории движения. Например, доступная для движения область может составлять заданное расстояние от AV вдоль грубой траектории движения (например, в продольном направлении). Доступная для движения область 932 на виде 930 на Фиг. 9 представляет собой пример доступной для движения области. В одном примере, доступная для движения область 932 может быть областью, ограниченной (то есть в поперечном направлении) осевой линией 934 и обочиной 936. В одном примере доступная для движения область может быть извлечена из карты HD на основании текущего местоположения AV 912. Доступная для движения область может быть ограничена левой и правой границами полосы движения (или дороги, или какой-либо другой области), в которой находится AV 912. Например, доступная для движения область может выходить за пределы осевой линии дороги. То есть полоса движения встречного направления может быть включена в доступную для движения область. Таким образом, на виде 930, если бы осевая линия 934 отсутствовала, то доступная для движения область могла бы представлять собой доступную для движения область 938.
[151] Процесс 800 переходит к удалению из доступной для движения области участков, на которых AV не может (например, безопасно) управляться. Термин «скорректированная доступная для движения область» используется в данном документе для обозначения доступной для движения области после того, как из доступной для движения области были удалены области с учётом статических и/или динамических объектов, как описано в данном документе. Если статические и/или динамические объекты не мешают траектории AV, то скорректированная доступная для движения область будет такой же, как и доступная для движения область.
[152] В операции 830 процесс 800 корректирует доступную для движения область в отношении статических объектов. То есть процесс 800 удаляет (например, вырезает и т.д.) из доступной для движения области те участки доступной для движения области, на которых расположены статические объекты. Это так, потому что AV необходимо управлять для объезда (например, проезда) статических объектов. Вид 940 на Фиг. 9 иллюстрирует вырезание участка доступной для движения области. Для уклонения от статического транспортного средства 914 процесс 800 вырезает вырез 942 в доступной для движения области 932. Размер вырезанной области может быть определён на основании оценки размера статического объекта. Размер вырезанной области может включать в себя область интервала, чтобы AV не слишком приближалось к статическому объекту.
[153] Примеры корректировки доступной для движения области для статических объектов дополнительно описаны ниже с обращением к Фиг. 10-12. Пример процесса корректировки доступной для движения области с учётом статических объектов описан ниже с обращением к Фиг. 13.
[154] В операции 840 процесс 800 корректирует дискретный план скорости с учётом статических объектов. Например, при отсутствии препятствий или других участников дорожного движения дискретный по времени план скорости соответствует стратегическому профилю скорости. Например, когда скорректированная доступная для движения область содержит узкий проезд с учетом статических объектов, вместо точного следования (т.е. С использованием скорости) стратегического профиля (т.е. как задано в стратегическом профиле), процесс 800 корректирует дискретный по времени план скорости для снижения скорости AV до комфортной скорости. Например, когда скорректированная доступная для движения область с учетом статических объектов содержит статическое препятствие, процесс 800 корректирует дискретный по времени план скорости таким образом, что AV останавливается на заданном расстоянии до статического препятствия.
[155] В операции 850 процесс 800 идентифицирует (например, прогнозирует, вычисляет, формирует, принимает или иным образом идентифицирует) соответствующий маршрут для каждого из близких динамических объектов. В одном из примеров прогнозирование соответствующих маршрутов (то есть траекторий) по меньшей мере некоторых из динамических объектов может поддерживаться в модели мира, такой как модуль 402 модели мира по Фиг. 4. По существу, процесс 800 может принимать (например, запрашивать, считывать или иным образом принимать) соответствующие маршруты из модели мира.
[156] Например, процесс 800 прогнозирует (например, принимает прогноз или иным образом прогнозирует), что динамическое встречное транспортное средство 918 должно следовать по маршруту 922, чтобы обойти неподвижное транспортное средство 920, и что динамическое транспортное средство 916 должно следовать по маршруту 924 после проезда неподвижного транспортного средства 914. В варианте реализации операция 820 использует экземпляр (то есть выполнение) процесса 800 для идентификации пути динамического объекта. В одном примере, при прогнозировании маршрута для динамического объекта, процесс 800 исключает AV из списка близких объектов для динамического объекта.
[157] В одном примере прогнозирование пути для динамического объекта может быть основано на соответствующих скоростях других динамических объектов и оценке приоритетности проезда среди динамических объектов. В одном примере оценки приоритетности проезда, если второе транспортное средство следует (т.е. движется сзади) за первым транспортным средством в полосе движения, то первое транспортное средство моделируется (т.е. прогнозируется маршрут для первого транспортного средства) в присутствии второго транспортного средства; но второе транспортное средство моделируется без присутствия первого транспортного средства.
[158] Таким образом, экземпляр блока 500 планирования траектории может быть выделен для автономного транспортного средства, которое включает в себя блок 500 планирования траектории, и один или более других экземпляров блока 500 планирования траектории могут использоваться автономным транспортным средством для прогнозирования траекторий динамических объектов, которые являются видимыми для автономного транспортного средства (например, динамических объектов, которые поддерживаются модулем 402 модели мира).
[159] В операции 860 процесс 800 корректирует доступную для движения область с учётом динамических объектов. То есть процесс 800 вырезает участки доступной для движения области на основании соответствующих прогнозируемых траекторий каждого из динамических объектов. Процесс 800 использует информацию хронирования относительно местоположений каждого из динамических объектов, чтобы вырезать дополнительные участки доступной для движения области. Вырезы в доступной для движения области с учётом динамических объектов формируются путем сравнения хронирования прогнозов для динамических объектов с хронированием, сформированным дискретным по времени планом скорости, который теперь учитывает статические объекты (как описано в отношении операции 840). То есть процесс 800 может прогнозировать для динамического объекта, и на основе прогнозируемой траектории динамического объекта, где динамический объект будет расположен в различные дискретные моменты времени относительно местоположений AV в те же дискретные моменты времени. Примеры корректировки доступной для движения области с учётом динамических объектов дополнительно описаны ниже с обращением к фиг. 14-16. Пример процесса корректировки доступной для движения области с учётом динамических объектов описан ниже с обращением к Фиг. 18.
[160] Местоположения динамического объекта сопоставляются с прогнозируемыми местоположениями AV для определения вырезанных участков. Как упомянуто выше, прогнозируемые местоположения AV основаны на дискретном по времени плане скорости, скорректированном в операции 840 (т.е. для учета статических объектов). Вырез может не соответствовать текущему местоположению динамического объекта. Вместо этого, вырез может быть основан на местоположениях, где, по прогнозам, встретятся AV и динамический объект. Если прогнозируемая траектория динамического объекта не пересекается с доступной для движения областью, то никакие участки доступной для движения области не вырезаются с учётом динамического объекта. Если прогнозируемая траектория динамического объекта действительно пересекается с доступной для движения областью, то один или более участков доступной для движения области вырезаются, чтобы избежать потенциального столкновения с динамическим объектом.
[161] Вид 950 на Фиг. 9 иллюстрирует корректировку (т.е. операцию 860) доступной для движения области с учётом динамических объектов. Процесс 800 прогнозирует, что динамическое встречное транспортное средство 918 будет следовать по маршруту 922, чтобы объехать (например, избежать) статическое транспортное средство 920. Процесс 800 дополнительно прогнозирует, что если AV 912 продолжит движение по своей текущей траектории, то AV 912 и динамическое встречное транспортное средство 918 встретятся около местоположения 954. По существу, процесс 800 вырезает вырез 956 из доступной для движения области 932.
[162] В операции 870 процесс 800 корректирует дискретный по времени план скорости с учётом динамических объектов. Когда скорректированная доступная для движения область (с учетом как статических, так и динамических объектов в этой точке) содержит динамический объект, движущийся в том же направлении, что и AV, динамический объект помечается как продольное ограничение, и дискретный по времени план скорости корректируется таким образом, что AV следует за блокирующим объектом с комфортной скоростью и расстоянием.
[163] Вид 960 на Фиг. 9 иллюстрирует корректировку (т.е. операцию 870) дискретного по времени плана скорости с учётом динамических объектов. Процесс 800 определяет, что динамическое транспортное средство 916 находится в скорректированной доступной для движения области AV 912, и что для AV 912 небезопасно объезжать динамическое транспортное средство 916, потому что, например, не имеется интервал безопасности между краем динамического транспортного средства 916 и границей скорректированной доступной для движения области. Таким образом, AV 912 должно следовать за динамическим транспортным средством 916. Если динамическое транспортное средство 916 движется медленнее, чем стратегический план скорости, то дискретный по времени план скорости корректируется таким образом, что AV следует за динамическим транспортным средством 916 на комфортной скорости и расстоянии. Вид 960 также показывает, что траектория 962 для AV 912 основана, например, на вырезе 956.
[164] В другом примере предположим, что само динамическое транспортное средство 916 определено как имеющее продольное ограничение. Например, второе транспортное средство (не показано) может находиться впереди динамического транспортного средства 916. Таким образом, второе транспортное средство также может рассматриваться как еще одно продольное ограничение для AV 912. Таким образом, первый дискретный по времени план скорости (например, первый план замедления) может быть определен для AV 912 на основании динамического транспортного средства 916, а второй дискретный по времени план скорости (например, второй план замедления) может быть определен для AV 912. Один из первого дискретного по времени плана скорости и второго дискретного по времени плана скорости с, соответствующего большему замедлению, может быть выбран в качестве дискретного по времени плана скорости для AV. В более общем смысле, объекты, которые определены как ограничения для ограничений для AV, сами могут рассматриваться как ограничения для AV.
[165] Скорректированная доступная для движения область 964 иллюстрирует скорректированную доступную для движения область, которая является результатом операций процесса 800.
[166] Фиг. 10-12 являются примерами 1000, 1100, 1200 корректировки доступной для движения области с учётом статических объектов в соответствии с вариантами реализации данного изобретения. Примеры 1000, 1100, 1200 иллюстрируют определение статических границ для доступной для движения области. То есть Фиг. 10-12 представляют собой примеры корректировки доступной для движения области с учётом статических объектов, как описано в отношении операции 830 на Фиг. 8. То есть примеры 1000, 1100 и 1200 иллюстрируют определение вдоль грубой траектории движения AV того, где может осуществляться управление AV с учётом статических объектов.
[167] В примере 1000 на фиг. 10 грубая траектория движения AV 1002 представлена грубой траекторией 1004 движения. Грубая траектория 1004 движения также называется в данном документе грубой траекторией движения. Грубая траектория 1004 движения может быть определена (например, вычислена, сформирована и т.д.), как описано в отношении к слою 504 формирования опорной траектории по Фиг. 5. Пример 1000 иллюстрирует пример операции 830 определения поперечных границ доступной для движения области для AV 1002. То есть пример 1000 иллюстрирует определение, например, левой и правой границ доступной для движения области для AV 1002 с учётом статических объектов.
[168] Как упомянуто выше, определяется доступная для движения область (то есть нескорректированная доступная для движения область без выреза, такая как доступная для движения область 932 по Фиг.9). В одном примере, доступная для движения область может иметь ширину по умолчанию. Ширина по умолчанию может быть основана на текущей полосе движения или текущей дороге для AV. Ширина по умолчанию может определяться заданной шириной (например, 8 метров). Таким образом, доступная для движения область может пересекать осевую линию дороги. Следует отметить, что доступная для движения область по умолчанию может быть ограничена барьерами (например, бетонными барьерами), которые могут находиться на осевой линии. Такие барьеры являются статическими объектами и ограничивают доступную для движения область.
[169] Доступная для движения область для AV 1002 разделена на элементарные участки. У каждого элементарного участка есть центральная точка, например центральная точка 1006. Центральные точки могут быть расположены на одинаковом расстоянии. Например, центральные точки могут находиться на расстоянии примерно двух метров друг от друга. Левая и правая границы каждого элементарного участка могут быть связаны с направлением грубой траектории 1004 движения. Правая граница 1018 и левая граница 1020 иллюстрируют границы элементарного участка 1022.
[170] Граничные точки, такие как граничная точка 1008, происходят из статических объектов. Например, граничные точки могут быть получены из данных от датчика LiDAR, лазерного указателя, радара или любого другого датчика, такого как датчик 126 по Фиг. 1. Граничные точки могут представлять координаты (x, y), которые заняты или иным образом недоступны для AV. Каждая граничная точка, соответствующая статическим объектам, назначается элементарному участку, содержащему упомянутую граничную точку. Например, граничная точка 1008 назначается элементарному участку 1022. Соседние граничные точки (например, в пределах элементарного участка или за его пределами) могут соответствовать одному или более статическим объектам.
[171] Правая и левая границы каждого элементарного участка могут быть определены (т.е. заданы) на основании граничных точек, назначенных элементарному участку. Например, поскольку ячейка 1024 не включает в себя граничных точек, правая граница 1016 и левая граница 1010 элементарного участка 1024 совмещены с (нескорректированной) доступной для движения областью. С другой стороны, левая граница 1012 элементарного участка 1026 не совмещена с доступной для движения областью, поскольку вырез 1028 исключен из доступной для движения области; и правая граница 1014 элементарного участка 1026 не совмещена с доступной для движения областью, потому что вырез 1030 исключен из доступной для движения области.
[172] Границы скорректированной доступной для движения области представлены сегментированной линией 1032, которая образует левую границу скорректированной доступной для движения области, и сегментированной линией 1034, которая образует правую границу скорректированной доступной для движения области. Для ясности иллюстрации сегментированные линии 1032, 1034 показаны как смещенные от реальных границ. То есть, например, в то время как сегментированная линия 1032 перекрывается с границей 1010 и границей 1012, для ясности сегментированная линия 1032 показана как слегка смещенная от границы 1010 и границы 1012. Сегментированная линия 1032 представляет собой вычисленную левую границу скорректированной доступной для движения области. Сегментированная линия 1034 представляет собой вычисленную правую границу скорректированной доступной для движения области.
[173] Вычисленные правая и левая границы используются для определения того, может ли AV 1002 продолжать движение по грубой траектории 1004 движения. AV 1002 может продвигаться (виртуально или вычислительно, но не физически) к центру каждого элементарного участка, чтобы определить, является ли ширина элементарного участка (с учетом вычисленных границ) такой, что AV 1002 может безопасно пройти элементарный участок. Например, что касается элементарного участка 1022, AV 1002 не может оставаться на безопасном расстоянии от левой границы (то есть левой вычисленной границы) элементарного участка. Таким образом, и как дополнительно описано ниже, траектория AV 1002 должна быть изменена. Например, траектория AV 1002 может не нуждаться в корректировке, так как может потребоваться остановка AV 1002, или траектория AV 1002 может быть изменена другими способами.
[174] Фиг. 11 иллюстрирует пример 1100 определения статических границ и идентификации препятствия, которое учитывается при корректировке дискретного по времени плана скорости в соответствии с вариантами реализациями данного изобретения. В примере 1100 грубая траектория 1103 движения является грубой траекторией движения AV 1102. Доступная для движения область по умолчанию для AV 1102 определяется левой границей 1104 и правой границей 1106. В примере 1100 показаны левая граница 1108 полосы движения и правая граница 1110 полосы движения для полосы движения, которая включает в себя AV 1102. В примере 1100 управляемая область ограничена полосой движения (то есть полосой движения, ограниченной левой границей 1108 полосы движения и правой границей 1110 полосы движения) AV 1102. Таким образом, левая и правая границы полосы корректируются с учётом статических объектов.
[175] Левая граница 1104 и правая граница 1106 могут определять максимально возможную доступную для движения область (то есть максимальные границы). Однако, поскольку может быть предпочтительным, чтобы AV 1102 оставалось в пределах своей полосы движения, левая граница 1108 полосы движения и правая граница 1110 полосы движения определяют границы доступной для движения области. В одном примере, если AV 1102 не может безопасно двигаться в пределах своей полосы движения (например, между левой границей 1108 полосы движения и правой границей 1110 полосы движения), то можно оценить, может ли AV 1102 двигаться за пределами полосы движения, но в пределах максимальных границ. Расширение доступной для движения области можно назвать «проверкой расширенной доступной для движения области».
[176] Правая граница 1110 полосы движения включает в себя участок 1112. Участок 1112 показан пунктирной линией, поскольку, как дополнительно описано ниже, этот участок доступной для движения области необходимо скорректировать.
[177] Как описано с обращением к Фиг. 10, доступная для движения область AV 1102 разделена на элементарные участки, и граничные точки, соответствующие статическим объектам, назначаются соответствующим элементарным участкам, таким как элементарные участки 1116, 1118. Поскольку граничные точки элементарных участков 1116, 1118 выглядят как соответствующие большому прямоугольному объекту, этот объект может быть классифицирован (например, модулем 402 модели мира на Фиг.4) как «грузовик».
[178] Границы, соответствующие (т.е. определенные на основе) объектам (статическим или динамическим объектам), можно назвать жесткими границами. Жесткая граница такова, что, если запланированная траектория пересекает жесткую границу, возможно столкновение с другим объектом. С другой стороны, разметку полосы движения и/или дороги может назвать мягкими границами, представляющими границы согласно правилам или логические границы. Мягкая граница такова, что если запланированная траектория должна пересечь мягкую границу, которая также не является жесткой границей, движение AV может не соответствовать правилам и/или не быть социально приемлемым, но AV может быть в безопасности. Как показано на Фиг. 11, например, левая граница 1104 (т.е. левая граница доступной для движения области) определяет жесткую левую границу, а левая граница 1108 полосы движения определяет мягкую левую границу. Жесткая правая граница состоит из правой границы 1106 (то есть правой границы доступной для движения области) и границы 1114; мягкая правая граница определяется правой границей 1110 полосы движения и границей 1114.
[179] Может быть выполнена детальная проверка, чтобы определить, существует ли маршрут с учётом расстояние между жесткими правой и левой границами элементарного участка. Расстояние 1120 между границей 1114 и границей 1108 левой полосы движения определено как слишком узкое, чтобы AV 1102 проехало (то есть поместилось) через него,. По существу, место 1122, соответствующее элементарному участку 1116, отмечено как статическое препятствие. Таким образом, AV 1102 не может пройти объект(ы), представленный(е) граничными точками элементарных участков 1116, 1118. Соответственно, AV 1102 должно остановиться перед статическим препятствием, соответствующим местоположению 1122. Соответственно, модуль 530 может регулировать дискретный по времени план скорости таким образом, чтобы AV остановилось перед статическим препятствием.
[180] В другом примере, вместо остановки из-за статического препятствия блок планирования траектории определяет траекторию через интервал 1124 таким образом, что доступная для движения область расширяется по меньшей мере для элементарных участков 1116 и 1118 через левую границу 1108 полосы движения. Например, если левая граница 1108 полосы движения является центром дороги, блок планирования траектории может определить, что нет встречных динамических объектов и, следовательно, можно безопасно пересечь границу полосы движения.
[181] В другом примере, в случае, если имеется недостаточное расстояние для остановки AV перед статическим препятствием, дискретный по времени план скорости может лишь замедлить AV и, таким образом, траектория может быть определена так, чтобы AV могло пересечь мягкую левую границу, чтобы избежать пересечения жесткой правой границы и столкновения со статическим объектом. Таким образом, сохраняя осведомленность как о жестких, так и о мягких границах, блок планирования траектории может сформировать траекторию, которая соответствует правилам и является социально приемлемой при движении в большинстве ситуаций с плавным переходом к маневрам избегания препятствий в экстренных условиях.
[182] В одном примере, границы элементарного участка могут быть скорректированы на основании состояния объектов (например, групп граничных точек) внутри элементарного участка. Например, граничные точки в пределах элементарного участка можно отслеживать с течением времени. Если определено, что группа граничных точек внутри элементарного участка немного перемещается (т.е. ниже порогового уровня перемещения), то может потребоваться большая величина интервала. То есть AV 1102 может двигаться дальше от граничных точек, если граничные точки перемещаются. С другой стороны, если граничные точки стабильны (то есть не перемещаются), то AV 1102 может двигаться ближе к граничным точкам. По существу, граница элементарного участка (например, граница 1114) может регулироваться с течением времени в зависимости от уровня перемещения граничных точек в пределах элементарного участка.
[183] В одном примере, если перемещение граничных точек обнаруживается в момент времени t, тогда граничные точки считаются перемещающимися после этого (то есть в более поздние моменты времени t+x), независимо от того, продолжают ли граничные точки перемещаться.
[184] Корректировка границы элементарного участка с течением времени на основании перемещения граничных точек в пределах элементарного участка может называться фильтруемыми поперечными ограничениями. «Фильтруемый» в этом контексте означает, что поперечные ограничения (например, границы элементарного участка) могут изменяться со временем.
[185] Фиг. 12 представляет еще один пример, пример 1200 определения статических границ в соответствии с вариантами реализации данного изобретения. В примере 1200 грубая траектория 1203 движения является грубой траекторией движения AV 1202. Доступная для движения область по умолчанию для AV 1202 определяется левой границей 1204 полосы движения и правой границей 1206 полосы движения. Вырез 1208 и вырез 1210 вырезаны из доступной для движения области. В этом примере вырез 1210 находится в середине доступной для движения области.
[186] То, достигнет ли граница вырезанной области границы доступной для движения области по умолчанию, может зависеть от расстояния между вырезанной областью и границей доступной для движения области по умолчанию. Например, если расстояние, соответствующее интервалу 1216 между правым краем выреза 1210 и правой границей 1206 полосы движения, меньше порогового расстояния, то вырез 1210 может быть определен областью, проходящей от левой границы 1217 выреза 1210 до правой границы 1206 полосы движения. В одном примере пороговое расстояние может относиться к ширине AV 1202. Например, пороговое расстояние может быть в 1,5, 2,0 и т.д. раз больше ширины AV 1202. Аналогичным образом, также определяется промежуток (например, промежуток 1207) между кластером (например, кластером 1209) граничных точек элементарного участка и границей полосы движения (например, правой границей 1206 полосы движения). В случае интервала 1207, поскольку интервал 1207 определяется как меньший, чем пороговое расстояние (так что AV 1202 не может проехать через интервал), вырез 1208 расширяется до правой границы 1206 полосы движения.
[187] Блок планирования траектории AV 1202 может определить, что расстояние 1212 таково, что AV 1202 может проехать через интервал, соответствующий расстоянию 1212. Поскольку вырез 1210 перекрывает грубую траекторию 1203 движения, блок планирования траектории AV 1202 выполняет детальную проверку, чтобы определить (например, найти) интервал слева или справа от выреза 1210, чтобы AV 1202 могло пройти через интервал. Если интервал не обнаружен в результате детальной проверки, то AV 1202 может считаться заблокированным и его необходимо остановить.
[188] В примере 1200 интервал 1214 и интервал 1216 таковы, что AV 1202 может проехать через любой из интервалов 1214, 1216. В примере один из интервалов 1214, 1216 выбирается случайным образом. В другом примере блок планирования траектории выбирает интервал 1214 (т.е. интервал слева от выреза 1210), поскольку блок планирования траектории уже выбрал направление влево для прохождения выреза 1208.
[189] С учётом двух возможных маршрутов относительно второго объекта (например, левый маршрут и правый маршрут вокруг объекта) и с учётом первого маршрута (например, вправо или влево) относительно первого объекта, «отслеживание с множеством гипотез» относится к определению второго маршрута (например, траектории) относительно второго объекта.
[190] Фиг. 13 является блок-схемой процесса 1300 определения статических границ в соответствии с настоящим изобретением. Некоторые или все операции процесса 1300 могут выполняться в операции 830 процесса 800.
[191] В операции 1310 процесс 1300 организует граничные точки в элементарных участках вдоль грубой траектории движения. Граничные точки организуются в элементарные участки вдоль грубой траектории движения, как описано с обращением к Фиг. 10-12.
[192] В операции 1320 процесс 1300 проверяет границы элементарных участков относительно грубой траектории движения. Границы элементарных участков проверяются относительно грубой траектории движения, чтобы определить, имеются ли интервалы, таким образом, чтобы AV могло пройти по крайней мере через один из интервалов. В одном примере, операция 1320 может выполняться в операциях 1320_2-1320_12. Операция 1320 регулирует правую и левую границы элементарных участков управляемой области на основании граничных точек с разделением по элементарным участкам, как описано, например, относительно левой границы 1012 и правой границы 1014 элементарного участка 1026 по Фиг. 10.
[193] В операции 1320_2 процесс 1300 оценивает фактическую траекторию движения. Например, как описано в отношении выреза 1208, процесс 1300 определяет фактическую траекторию движения, которая находится слева от выреза 1208.
[194] В операции 1320_4 процесс 1300 идентифицирует проходимые интервалы. То есть процесс 1300 определяет количество проходимых интервалов. Например, учитывая правую и левую границы элементарного участка 1116 на фиг. 11, процесс 1300 определяет, может ли AV 1102 пройти через интервал, определенный расстоянием 1120. Если да, то идентифицирован один интервал. Точно так же процесс 1300 определяет, может ли AV 1202 пройти через интервал, определяемый расстоянием 1212 на Фиг. 12.
[195] В операции 1320_6, если идентифицирован единственный (то есть один) интервал, процесс 1300 завершается в операции 1320_12. То есть разрешено прохождение траектории через интервал. Если в операции 1320_4 идентифицировано более одного интервала, процесс 1300 переходит к операции 1320_8. Например, относительно AV 1202 и выреза 1210 процесс 1300 идентифицирует два интервала, а именно интервал справа и интервал слева от выреза 1210.
[196] В операции 1320_8 процесс 1300 выполняет подробную проверку для определения, доступны ли другие интервалы, например, описанные в отношении интервалов 1214, 1216 на Фиг. 12. Например, если интервал 1214 определен как слишком маленький для прохождения AV 1202 слева от выреза 1210, процесс 1300 может проверить, может ли AV 1202 пройти через интервал 1216. В операции 1320_8 процесс 1300 выбирает проезд слева или справа, и, если ни то, ни другое невозможно, процесс 1300 определяет, что имеется статическое препятствие.
[197] В операции 1320_10, если расстояние упреждения полностью проверено, процесс 1300 завершается в операции 1320_12; в противном случае процесс 1300 возвращается к операции 1320_2 для проверки дополнительных препятствий.
[198] Расстояние упреждения может изменяться в зависимости от скорости AV. Например, в зависимости от скорости AV расстояние упреждения может изменяться, чтобы сократить время вычислений, при этом по-прежнему гарантируя, что в случае обнаружения впереди препятствия или поперечного ограничения имеется достаточно времени для остановки или комфортного (например, безопасного) рулевого управления AV. Например, если требуется четыре секунды времени упреждения, то, если AV движется со скоростью 12 метров в секунду, подходящее расстояние упреждения будет составлять 48 метров. Если AV движется со скоростью 30 метров в секунду (например, при движении по шоссе), подходящее расстояние будет составлять 120 метров.
[199] Обращаясь вновь к Фиг. 5, модуль 528 дискретного по времени планирования скорости может формировать целевую скорость и ускорение из стратегического плана скорости, определяемого слоем 504 формирования опорной траектории (и, более конкретно, посредством модуля 524 стратегического планирования скорости). Модуль 528 дискретного по времени планирования скорости может формировать заданную скорость и ускорение из (например, на основании) продольных ограничений. В одном примере, продольные ограничения могут включать в себя линии остановки (описанные ниже), виртуальные линии остановки (описанные ниже), статические препятствия (то есть статические объекты) и/или динамические препятствия (то есть динамические объекты). Модуль 528 дискретного по времени планирования скорости итеративно вычисляет целевую скорость и ускорение. Целевая скорость и ускорение вычисляются для времени упреждения (то есть будущего временного горизонта). В одном примере время упреждения может составлять 6 секунд.
[200] Линия остановки представляет собой линию, на которой AV должно остановиться согласно правилам перед продолжением движения. Например, линия остановки может быть обозначена краской на дороге. В другом примере линия остановки может быть выведена на основании конструкций перекрестков и местоположений знаков остановки. Виртуальная линия остановки может использоваться AV для представления критического местоположения, где ожидается, но не требуется согласно правилам, остановка AV для проверки информации о пересечении. Например, при поворотах налево виртуальные линии остановки можно использовать в середине перекрестков, чтобы инструктировать AV остановиться и уступить дорогу пересекающему транспорту.
[201] Модуль 528 дискретного по времени планирования скорости вычисляет соответствующую целевую скорость с учётом продольных ограничений (т.е. статических или динамических объектов, которые находятся в продольном направлении AV) и/или соответствующее целевое расстояние с учётом продольных ограничений.
[202] Модуль 528 дискретного по времени планирования скорости может задавать (то есть выбирать, определять или иным образом задавать) режим отслеживания по меньшей мере для некоторых из статических и/или динамических объектов. Например, режим отслеживания может быть одним из «закрытого интервала», «сохранения интервала», «открытого интервала», «торможения» или «следования». Например, относительно динамического транспортного средства 916 по Фиг. 9, модуль 528 дискретного по времени планирования скорости может определять режим отслеживания «закрытый интервал». Например, в отношении объектов элементарного участка 1116 на Фиг. 11 режим отслеживания можно определить как «торможение». Доступные режимы отслеживания могут включать в себя меньшее число, большее число или другие режимы отслеживания. Режим отслеживания может использоваться для выбора наборов параметров настройки, используемых модулем 528 дискретного по времени планирования скорости. Параметры настройки могут включать в себя целевое ускорение, параметры гистерезиса и другие параметры настройки.
[203] Теперь будет приведён пример, иллюстрирующий работу модуля 528 дискретного по времени планирования скорости. Если продольные ограничения не найдены, то модуль 528 дискретного по времени планирования скорости может определить, что управление AV может осуществляться на основании стратегического плана скорости (как это определено слоем 504 формирования опорной траектории). С другой стороны, если обнаружено продольное ограничение (например, в отношении объектов элементарного участка 1116 на Фиг. 11), когда режим отслеживания определяется как «торможение», модуль 528 дискретного по времени планирования скорости вычисляет профиль скорости для остановки AV. То есть вычисляется профиль скорости замедления для остановки AV.
[204] В одном примере, в профиле скорости используется текущая скорость AV и расстояние до продольного ограничения для вычисления профиля скорости замедления таким образом, чтобы AV остановилось перед продольным ограничением.
[205] Фиг. 14-16 представляют примеры 1400, 1500 и 1600 определения динамических границ в соответствии с вариантами реализации данного изобретения. То есть фиг. 14-16 представляют примеры корректировки доступной для движения области с учётом динамических объектов, как описано в отношении операции 850 по Фиг. 8. То есть примеры 1400, 1500 и 1600 иллюстрируют определение вдоль грубой траектории движения AV, где может осуществляться управление AV с учётом динамических объектов.
[206] Каждый динамический объект может быть отнесен по меньшей мере к одному из нескольких доступных классов. Например, доступные классы включают в себя «поперечное ограничение», «продольное ограничение», «встречное поперечное ограничение» и «встречное продольное ограничение». Могут быть доступны и другие классы.
[207] Динамический объект, который классифицируется как «поперечное ограничение», влияет на маршрут AV, но не на скорость. Например, динамический объект может двигаться в направлении, обычно ортогональном направлению AV. То есть динамический объект может перемещаться либо с левой, либо с правой стороны AV, не препятствуя (т.е. не блокируя) маршруту AV. По существу, блоку планирования траектории, такой как блоку 500 планирования траектории по Фиг. 5, может быть необходимо скорректировать траекторию AV, чтобы уклониться от динамического объекта. То есть AV может потребоваться переместиться (влево или вправо), чтобы избежать столкновения с динамическим объектом.
[208] Динамический объект, который классифицируется как «продольное ограничение», влияет на скорость, но не на маршрут AV. Например, динамический объект может двигаться в общем в том же направлении, что и AV, и может находиться на маршруте AV. То есть объект продольного ограничения препятствует (то есть блокирует) маршруту AV при текущей скорости AV. Таким образом, блоку планирования траектории AV может не быть необходимо скорректировать траекторию AV, но может быть необходимо скорректировать (например, посредством модуля 528 дискретного по времени планирования скорости блока планирования траектории) скорость AV, чтобы избежать столкновения с динамическим объектом. Примером продольного ограничения является динамическое транспортное средство 916 на Фиг. 9. То есть объектом продольного ограничения может быть транспортное средство, которое находится впереди AV и движется медленнее, чем AV. Таким образом, AV следует замедлить, чтобы избежать столкновения с задней частью динамического объекта.
[209] Объект-встречное поперечное ограничение похож на объект-поперечное ограничение с той разницей, что объект-встречное поперечное ограничение движется в направлении, противоположном направлению AV. Динамическое встречное транспортное средство 918 по Фиг. 9 представляет собой пример объекта- встречного поперечного ограничения. В таком случае AV может двигаться (например, как описано в отношении траектории 962 по Фиг.9) без необходимости замедления.
[210] Объект-встречное продольное ограничение подобен объекту-продольному ограничению с той разницей, что объект-встречное продольное ограничение движется в направлении, противоположном направлению AV. В таком случае, как описано ниже с обращением к Фиг. 16, AV останавливается.
[211] По существу, модуль 532 слоя 506 избегания препятствий по Фиг. 5 ограничивает (т.е. применяет ограничения) дискретный по времени план скорости AV на основании классификации динамического объекта. Например, встречный динамический объект, который блокирует траекторию AV, может рассматриваться как статический объект в полосе движения (т.е. в той же полосе, что и AV). Например, движущийся впереди динамический объект (т.е. динамический объект, который находится впереди и движется в том же направлении, что и AV) может рассматриваться как продольное ограничение в дискретном по времени плане скорости. Например, динамический объект, который находится вблизи планируемой траектории движения AV, можно рассматривать как поперечное ограничение.
[212] В примере 1400 по Фиг. 14, AV 1402 движется по грубой траектории 1403 движения. Статические объекты не обнаружены. Соответственно, левая граница 1417 и правая граница 1418, которые являются вычисленными границами доступной для движения области, скорректированной в отношении статических объектов, как описано с обращением к Фиг. 10-12, совпадают с границами доступной для движения области.
[213] Прогнозируется, что транспортное средство 1404 переместится от правой обочины дороги (или из полосы движения справа от полосы движения, которая включает в себя AV 1402) на маршрут AV по маршруту 1420. Таким образом, транспортное средство 1404 изначально классифицируется как поперечное ограничение. Прогнозируемый маршрут транспортного средства 1404 представляет собой маршрут 1420, который находится вблизи (например, рядом) грубой траектории 1403 движения. Таким образом, модуль 532 продолжает классифицировать транспортное средство 1404 как поперечное ограничение.
[214] Модуль 532 может определять (например, прогнозировать) местоположения AV 1402 в различные дискретные моменты времени. Таким образом, модуль 532 определяет местоположения прибытия вдоль грубой траектории 1403 движения в различные моменты времени. Например, в момент времени t (например, за одну секунду) прогнозируется нахождение AV 1402 в местоположении 1406; в момент времени t+1 (например, через две секунды) прогнозируется нахождение AV 1402 в местоположении 1408; и в момент времени t+2 (например, через три секунды) прогнозируется нахождение AV 1402 в местоположении 1410.
[215] Хотя в отношении примеров 1400, 1500 и 1600 показаны местоположения через 3 секунды в будущем (то есть временное окно в 3 секунды), можно определить (например, спрогнозировать, вычислить и т.д.) большее или меньшее количество местоположений  с учётом заданного временного окна. Например, временное окно составляет шесть секунд. Частота прогнозируемых местоположений также может изменяться. В одном примере временное окно может составлять шесть секунд, а местоположение может определяться каждые полсекунды. Таким образом, прогнозируется 12 местоположений.
[216] Как описано выше, второй экземпляр блока планирования траектории может отслеживать (например, прогнозировать траекторию) транспортное средство 1404. По существу, модуль 532 второго блока планирования траектории может определять (например, прогнозировать) местоположения транспортного средства 1404. Например, в момент времени t (например, за одну секунду) транспортное средство 1404 определяется как находящееся в местоположении 1412; в момент времени t+1 (например, через две секунды) транспортное средство 1404 определяется как находящееся в местоположении 1414; и в момент времени t+2 (например, через три секунды) транспортное средство 1404 определяется как находящееся в местоположении 1416. В одном примере, одно и то же временное окно и частота прогнозирования могут быть одинаковыми для всех созданных экземпляров блока планирования траектории AV. Однако это не обязательно. Временное окно и частота прогнозирования могут зависеть от типа динамического объекта (например, велосипед, пешеход, спортивное транспортное средство, седан, большой грузовик и т.д.). Доступная для движения область для AV 1402 корректируется для удаления тех областей, которые соответствуют местоположениям транспортного средства 1404.
[217] В примере 1400 по Фиг. 14 определяется, что транспортное средство 1404 и AV 1402 находятся примерно в одних и тех же местоположениях в одно и то же время. Таким образом, участки, соответствующие маршруту 1422, вырезаются из доступной для движения области AV 1402, например, путем установки (в этом примере правых) границ элементарных участков, соответствующих маршруту 1422. Как описано в отношении расстояния 1212 по Фиг. 12, если расстояние 1424 таково, что AV 1402 может пройти через интервал, определяемый расстоянием 1424, то траектория движения AV 1402 корректируется через упомянутый интервал (т.е. AV 1402 сдвигается влево).
[218] В примере 1500 по Фиг. 15 AV 1502 движется по грубой траектории 1503 движения. Статические объекты не обнаружены. Соответственно, левая граница 1517 и правая граница 1518 доступной для движения области не корректируются с учётом статических объектов. Однако прогнозируется, что транспортное средство 1504 будет двигаться с правой обочины дороги (или с полосы движения справа от полосы движения, которая включает в себя AV 1502) на маршрут AV 1502 по маршруту 1520.
[219] Изначально, например, когда впервые обнаружено транспортное средство 1504, оно может быть классифицировано как поперечное ограничение. По существу, поперечное ограничение может применяться к транспортному средству 1504, как описано в отношении транспортного средства 1404 по Фиг. 14.
[220] Как описано с обращением к Фиг. 15, прогнозируется, что местоположения AV 1502 в моменты времени t, t+1 и t+2 будут, соответственно, местоположениями 1506, 1508 и 1510; и местоположения транспортного средства 1504 в моменты времени t, t+1 и t+2 прогнозируются как, соответственно, 1512, 1514 и 1516. Таким образом, прогнозируется, что траектория (то есть маршрут 1520) транспортного средства 1504 пересечётся с грубой траекторией 1503 движения AV 1502. Соответственно, транспортное средство 1504 классифицируется как продольное ограничение. Таким образом, классификация транспортного средства 1504 изменена с «поперечного ограничения» на «продольное ограничение». По существу, блоку планирования траектории не нужно изменять траекторию AV 1502 таким образом, чтобы AV 1502 переместилось влево (как описано выше в отношении Фиг. 14); скорее, модуль 528 дискретного по времени планирования скорости может применить продольное ограничение к грубой траектории 1503 движения AV 1502. То есть модуль 528 дискретного по времени планирования скорости вычисляет дискретный по времени план скорости, используя транспортное средство 1504 в качестве движущегося впереди транспортного средства. Модуль 528 дискретного по времени планирования скорости может установить режим отслеживания «следование» таким образом, чтобы AV 1502 следовало за транспортным средством 1504. Модуль 528 дискретного по времени планирования скорости может также определять дискретный по времени план скорости, например, для замедления AV 1502 таким образом, чтобы AV 1502 не достигло местоположения 1506 раньше транспортного средства 1504.
[221] В примере 1600 по Фиг. 16 AV 1602 движется на восток по грубой траектории 1603 движения, а транспортное средство 1604 движется на запад. Предполагается, что транспортное средство 1604 будет следовать по маршруту 1609, чтобы объехать припаркованное транспортное средство 1606. Предполагается, что местоположения AV 1602 вдоль грубой траектории 1603 движения в моменты времени t, t+1 и t+2 будут, соответственно, местоположениями 1610, 1612 и 1614. Предполагается, что местоположения транспортного средства 1604 на маршруте 1609 в моменты времени t, t+1 и t+2 будут, соответственно, 1616, 1618 и 1620.
[222] Блок планирования траектории определяет, что прогнозируется нахождение AV 1602 и транспортного средства 1604 приблизительно в одном и том же месте (то есть в месте пересечения, соответствующем местоположениям 1612, 1618) в одно и то же время (то есть в момент времени t+2). Таким образом, если AV 1602 продолжит движение по грубой траектории 1603 движения, оно, скорее всего, столкнется с транспортным средством 1604.
[223] Хотя это не показано на Фиг. 16, доступная для движения область в примере 1600 корректируется (т.е. вырезается), как описано в отношении выреза 956 на виде 950 по Фиг. 9. То есть доступная для движения область для AV 1602 корректируется для удаления тех областей, которые соответствуют местоположениям транспортного средства 1604, например, путем установки (в этом примере - слева) границ элементарных участков, соответствующих (то есть перекрывающихся) маршруту 1609.
[224] В месте пересечения (т.е. в точках 1612, 1618) блок планирования траектории может оценить ширину доступной для движения области между точкой пересечения и краем доступной для движения области. Таким образом, блок планирования траектории оценивает расстояние 1622 для определения, достаточен ли размер интервала, определяемого расстоянием 1622 для проезда AV 1602. Как описано выше, расстояние 1622 - это расстояние между вычисленными границами элементарного участка 1608, который включает в себя точку пересечения.
[225] В случае, если расстояние 1622 определяется как недостаточно большое (т.е. интервал слишком мал), блок планирования траектории определяет место, в котором AV 1602 может разойтись с транспортным средством 1604. В одном примере, по меньшей мере для некоторых из прогнозируемых местоположений AV 1602, начиная с точки пересечения (например, местоположения в момент времени t+X, где X - положительное целое число) и двигаясь назад во времени (например, по меньшей мере в некоторых из местоположений в моменты времени t+X-1, t+X-2,…, t-1, t) блок планирования траектории определяет, может ли AV 1602 в этом месте разойтись с транспортным средством 1604. В примере 1600, блок планирования траектории определяет, что AV 1602 может разойтись с транспортным средством 1604 в местоположении 1610.
[226] В другом примере, по меньшей мере для некоторых из прогнозируемых местоположений транспортного средства 1604, начиная с точки пересечения (например, местоположения в момент времени t+X, где X - положительное целое число) и двигаясь вперед во времени (например, по меньшей мере в некоторых из местоположений в моменты времени t+X+1, t+X+2,…, t+X+n), блок планирования траектории определяет, может ли AV 1602 в этом месте разойтись с транспортным средством 1604.
[227] Блок планирования траектории определяет, что AV 1602 может разойтись с транспортным средством 1604, когда транспортное средство 1604 будет находиться в местоположении 1620. Таким образом, блок планирования траектории (и, более конкретно, модуль 530) устанавливает статическое препятствие в местоположении 1624. Блок планирования траектории (и, более конкретно, модуль 528 дискретного по времени планирования скорости) затем определяет профиль скорости и/или замедления, чтобы остановить AV 1602 в местоположении 1624. Таким образом, AV 1602 останавливается в местоположении 1624 до тех пор, пока транспортное средство 1604 не достигнет местоположения 1624, и в этот момент AV 1602 сможет продолжить движение по грубой траектории 1603 движения.
[228] В случае, если расстояние 1622 определено как достаточно большое, блок планирования траектории может скорректировать грубую траекторию 1603 движения таким образом, чтобы AV 1602 переместилось влево, чтобы уклониться от транспортного средства 1604 в местоположении пересечения, например, как показано в отношении траектории 962 на виде 960 по Фиг. 9.
[229] При этом в одном примере слой 506 избегания препятствий систематически обрабатывает объекты. Если объект не представляет собой ограничение, слой 506 избегания препятствий может его игнорировать.
[230] Если объект является статическим объектом и скорректированная доступная для движения область является проходимой (например, AV может пройти через один или более интервалов в доступной для движения области или скорректированной доступной для движения области, в зависимости от обстоятельств), модуль 530 может применять статическое ограничение (например, поперечное ограничение) для определения скорректированной доступной для движения области, как описано, например, в отношении расстояния 1212 по Фиг. 12.
[231] Если объект является статическим объектом и доступная для движения область (или скорректированная доступная для движения область) не является проходимой, модуль 528 дискретного по времени планирования скорости может скорректировать дискретный по времени профиль скорости, как описано, например, в отношении местоположения 1122 по Фиг. 11.
[232] Если объект является динамическим объектом и объект представляет собой поперечное ограничение, модуль 532 может скорректировать доступную для движения область (или скорректированную доступную для движения область), как описано, например, с обращением к Фиг. 15.
[233] Если объект является динамическим объектом и объект представляет собой продольное ограничение, модуль 528 дискретного по времени планирования скорости может скорректировать дискретный по времени профиль скорости  как описано, например, с обращением к Фиг. 16. Модуль 528 дискретного по времени планирования скорости может формировать дискретный по времени план скорости для окна в будущем (например, план скорости на следующие 6 секунд) с учетом упомянутых ограничений.
[234] Возвращаясь к Фиг. 5, слой 508 оптимизации траектории выполняет операцию(и) оптимизации, такую как операция с ограничениями, для определения оптимальной траектории для AV на основании ограничений. Слой 508 оптимизации траектории может использовать (т.е. в качестве входных данных для операции оптимизации) модель движения (например, кинематическую модель движения) AV, грубую траекторию движения (например, грубую траекторию 1004 движения по Фиг.10, грубую траекторию 1103 движения по Фиг.11, грубую траекторию 1403 движения по Фиг.14 и т.д.) и/или центральные точки (например, центральную точку 1006) элементарных участков вдоль грубой траектории движения и скорректированную доступную для движения область (например, левую и правую границы скорректированной доступной для движения области) для вычисления (например, определения, формирования и т.д.) оптимальной траектории для AV. Таким образом, оптимальная траектория принимает во внимание грубую траекторию движения, а также левую и правую границы, учитывая статические и динамические объекты вдоль грубой траектории движения.
[235] Фиг. 17 иллюстрирует дополнительные примеры 1700 планирования траектории в соответствии с вариантами реализации данного изобретения. В каждом из нижеприведенных примеров в автономном транспортном средстве могут быть выполнены один или более блоков планирования траектории, например блок 500 планирования траектории по Фиг. 5. Первый экземпляр блока планирования траектории определяет траекторию для самого автономного транспортного средства. Второй экземпляр блока планирования траектории прогнозирует соответствующую опорную траекторию движения по меньшей мере одного внешнего динамического объекта. Для простоты объяснения понятие «блок планирования траектории» используется в данном документе для указания первого и/или второго экземпляра.
[236] В первом примере блок планирования траектории AV 1702 прогнозирует, что встречное транспортное средство 1704 будет следовать по траектории 1706 для уклонения от статического объекта 1705. Блок планирования траектории дополнительно определяет, как описано с обращением к Фиг. 16, что AV 1702 не сможет пройти через интервал между траекторией встречного транспортного средства 1704 и правой границей доступной для движения области. Таким образом, блок планирования траектории определяет план скорости, который приводит AV 1702 к остановке у статического препятствия 1708, пока встречное транспортное средство 1704 не пройдёт статическое препятствие 1708.
[237] Во втором примере AV 1710 определяет (т.е. посредством блока планирования траектории AV), что динамический объект 1712 будет следовать по маршруту 1714. Блок планирования траектории определяет, что AV 1710 не может пройти динамический объект 1712, не пересекая осевую линию дороги, которая может быть жесткой левой границей доступной для движения области (как описано в отношении доступной для движения области 932 по Фиг.9). Таким образом, блок планирования траектории AV 1710 определяет план скорости, который приводит AV 1710 к остановке у статического препятствия 1716. В другом примере AV 1710 не останавливается у статического препятствия 1716; напротив, AV 1710 в достаточной степени замедляется, чтобы позволить динамическому объекту 1712 проехать.
[238] В третьем примере AV 1720 определяет, что встречный динамический объект 1722 будет следовать по траектории 1724. AV 1720 дополнительно определяет траекторию 1730 AV 1720 таким образом, что AV 1720 движется по траектории 1730 между первым статическим объектом 1726 и вторым статическим объектом 1728, где AV 1720 должен ожидать у статического препятствия 1732 в течение вычисленного количества секунд, после чего продолжить движение. Вычисленное количество секунд представляет собой время, достаточное для прохождения встречным динамическим объектом 1722, местоположения статического препятствия 1732, например, как описано в отношении местоположения 1624 по Фиг. 16.
[239] В четвертом примере AV 1734 определяет, что большой динамический объект 1736 поворачивает направо. Используя модель движения большого динамического объекта 1736, блок планирования траектории AV 1734 определяет, что большому динамическому объекту 1736 необходим большой радиус поворота и, таким образом, большой динамический объект 1736 будет следовать по траектории 1738. Соответственно, план скорости определяется (например, вычисляется, формируется и т.д.) для AV 1734 таким образом, чтобы AV 1734 остановилось у статического препятствия 1740 до тех пор, пока большой динамический объект 1736 не освободит маршрут AV 1734.
[240] Подводя итог, блок планирования траектории (например, слой данных траектории движения блока планирования траектории) согласно данному изобретению может определять (например, формировать, вычислять, выбирать и т.д.) опорную (то есть грубую) траекторию движения. Блок планирования траектории может объединить несколько видов входных данных для определения грубой траектории движения. Таким образом, грубую траекторию движения можно назвать основанной на множестве источников (т.е. из множества типов входных данных). Входные данные могут включать в себя картографические данные HD, данные дистанционного управления, данные записанных маршрутов, данные движущегося впереди транспортного средства, данные о парковках и данные распознавания местности. Блок планирования траектории может использовать меньшее число, большее число или иные входные данные.
[241] Блок планирования траектории (например, слой конкатенации грубой траектории движения блока планирования траектории) может формировать (например, определять, вычислять и т.д.) стратегический план скорости, который включает в себя конкретные значения скорости вдоль грубой траектории движения. Планировщик траектории может использовать для формирования стратегического плана скорости по меньшей мере одно из кривизны дороги, коэффициента трения дороги, ограничения скорости и/или ускорения транспортного средства, минимального времени движения с постоянной скоростью, типов района, и большее число, меньшее число или другие входные данные.
[242] Блок планирования траектории (например, слой конкатенации грубой траектории движения блока планирования траектории) определяет скорректированную доступную для движения область для AV на основании по меньшей мере одного или более из жестких границ (которые задаются на основании статических и/или динамических объектов), мягких границ (например, разметки полосы движения), фильтруемых поперечных ограничений, отслеживания с множеством гипотез, проверки расширенной доступной для движения области и классификации динамических объектов (например, классификации объекта как встречного транспортного средства, движущегося впереди транспортного средства или поперечного ограничения).
[243] Блок планирования траектории (например, модуль дискретного по времени планирования скорости блока планирования траектории) определяет (например, вычисляет) дискретный по времени план скорости, используя, например, профили естественного ускорения (например, модель движения AV), профили ускорения транспортного средства и определение ограничивающих продольных ограничений.
[244] Блок планирования траектории (например, слой оптимизации желаемой траектории блока планирования траектории) формирует (например, вычисляет, определяет и т.д.) оптимизированную траекторию AV, используя, например, операцию оптимизации с ограничениями. В одном примере операция оптимизации может быть основана на квадратичной штрафной функции или может включать в себя эту функцию. В одном примере операция оптимизации может быть основана на логарифмической барьерной функции или может включать в себя эту функцию. Например, квадратичная штрафная функция может использоваться для мягких ограничений. Например, логарифмическая барьерная функция может использоваться для жестких ограничений.
[245] ФИГ. 18 представляет собой блок-схему процесса 1800 избегания препятствий в соответствии с настоящим изобретением. Процесс 1800 может быть выполнен блоком планирования траектории, таким как блок 500 планирования траектории по Фиг. 5.
[246] В операции 1810 процесс 1800 обнаруживает первый объект на грубой траектории движения в доступной для движения области для AV. В одном примере обнаружение первого объекта может подразумевать обнаружение граничных точек, таких как граничная точка 1008 по Фиг. 10, соответствующих объекту. В одном примере обнаружение объекта может подразумевать приём (например, путем запроса) объекта из модели мира, например, описанной в отношении модуля 402 модели мира по Фиг. 4. Грубая траектория движения может быть такой, как описано, например, в отношении грубой траектории 1004 движения по Фиг. 10, грубой траектории 1103 движения по Фиг. 11, грубой траектории 1203 движения по Фиг. 12 и так далее. Доступная для движения область может быть такой, как описано в отношении доступной для движения области 932 по Фиг. 9.
[247] В операции 1820 процесс 1800 принимает прогнозируемый маршрут первого объекта. В одном примере процесс 1800 определяет прогнозируемый маршрут первого объекта на основании классификации первого объекта и модели движения первого объекта. В другом примере процесс 1800 принимает прогнозируемый маршрут первого объекта от блока планирования траектории, который прогнозирует маршрут первого объекта. Прогнозируемый маршрут может быть таким, как описано в отношении траектории 336, траектории 346, траектории 354 и траектории 364 по Фиг. 3; маршрута 1420 по Фиг. 14; маршрута 1520 по Фиг. 15; и маршрута 1609 по Фиг. 16.
[248] В операции 1830 процесс 1800 определяет на основании прогнозируемого маршрута первого объекта скорректированную доступную для движения область. В одном примере, и как описано выше, из доступной для движения области могут быть вырезаны участки для формирования скорректированной доступной для движения области. В другом примере, например, в случае, если первый объект не является ни поперечным, ни продольным ограничением, как описано выше, скорректированная доступная для движения область может быть такой же, как и доступная для движения область.
[249] В операции 1840 процесс 1800 определяет траекторию AV через скорректированную доступную для движения область. Траектория может быть определена, как описано в отношении слоя 508 оптимизации траектории по Фиг. 5.
[250] В одном примере, определение на основании прогнозируемого маршрута первого объекта скорректированной доступной для движения области может включать в себя разделение по меньшей мере участка грубой траектории движения на элементарные участки, назначение первого объекта одному элементарному участку из элементарных участков и определение скорректированной доступной для движения области на основании упомянутого одного элементарного участка. Элементарные участки могут быть, например, такими, как описано с обращением к Фиг. 10. Определение скорректированной доступной для движения области на основании одного элементарного участка может включать в себя определение (например, вычисление) границ по меньшей мере для упомянутого одного элементарного участка, как описано выше.
[251] В одном примере определение на основании прогнозируемого маршрута первого объекта скорректированной доступной для движения области может включать в себя определение соответствующих местоположений объекта для первого объекта в дискретные интервалы времени, определение соответствующих местоположений AV для AV в упомянутые дискретные интервалы времени и определение скорректированной доступной для движения области на основании соответствующих местоположений объекта и соответствующих местоположений AV. Соответствующие местоположения первого объекта, местоположения AV и определение скорректированной доступной для движения области могут быть такими, как описано с обращением к Фиг. 14-16.
[252] В одном примере процесс 1800 может включать в себя классификацию первого объекта. В другом примере процесс 1800 может принимать классификацию первого объекта, например, от модуля 402 модели мира. В случае, если первый объект классифицирован как приближающееся продольное ограничение, определение траектории AV через скорректированную доступную для движения область может включать в себя остановку AV до второго момента времени, следующего за первым моментом времени, в который местоположение объекта для первого объекта совпадает с местоположением AV для AV, как описано, например, с обращением к Фиг. 16.
[253] В случае, если первый объект классифицирован как продольное ограничение, определение траектории AV через скорректированную доступную для движения область может включать в себя замедление AV, чтобы оно двигалось позади первого объекта, например, как описано с обращением к Фиг. 15.
[254] В одном примере процесс 1800 также может включать в себя классификацию первого объекта как поперечное ограничение, продольное ограничение, встречное поперечное ограничение или встречное продольное ограничение.
[255] В одном примере определение траектории AV через скорректированную доступную для движения область может включать в себя определение того, что первый объект является статическим препятствием, и остановку AV, как описано с обращением к Фиг. 16.
[256] Фиг. 19 – диаграмма примеров 1900 гипотез для объектов реального мира согласно вариантам реализации данного изобретения. Примеры 1900 включают в себя примеры 1910, 1930, 1940, 1950 и 1960, в которых прогнозируются гипотезы (то есть намерения) наблюдаемого объекта реального мира.
[257] Пример 1910 иллюстрирует AV 1912. AV 1912 (и более конкретно, модуль модели мира AV 1912) обнаруживает встречный динамический объект 1914. AV 1912 прогнозирует, что встречный динамический объект 1914 может следовать либо по маршруту 1918, либо по маршруту 1920, так что встречный динамический объект 1914 может уклониться от припаркованного транспортного средства 1916. Таким образом, AV 1912 может ассоциировать первую гипотезу (например, «остановка», соответствующую маршруту 1918) и вторую гипотезу (например, «объезд слева», соответствующую маршруту 1920) со встречным динамическим объектом 1914. Первая гипотеза указывает, что встречный динамический объект 1914 должен остановиться сзади припаркованного транспортного средства 1916. Вторая гипотеза указывает на то, что встречный динамический объект 1914 препятствует траектории АВ 1912. По существу, если блок планирования траектории, как описано выше, принимает маршрут 1920 в качестве прогнозируемого маршрута приближающегося динамического объекта 1914, то блок планирования траектории классифицирует встречный динамический объект 1914 как встречное продольное ограничение.
[258] AV 1912 может ассоциировать вероятность с каждым из маршрутов 1918, 1920. В одном примере, вероятность 0,2 может быть назначена пути 1918, а вероятность 0,8 может быть назначена маршруту 1920. По существу, существует  вероятность 20% того, что встречный динамический объект 1914 продолжит движение прямо вперед и остановится и/или замедлится, прежде чем достигнет припаркованного транспортного средства 1916; и  вероятность 80% того, что встречный динамический объект 1914 обойдет припаркованное транспортное средство 1916.
[259] Пример 1930 иллюстрирует AV 1932. AV 1932 (и более конкретно, модуль модели мира AV 1932) обнаруживает соседний объект 1933. Соседний объект 1933 может быть классифицирован как большой грузовик. Используя картографические данные (как дополнительно описано ниже), AV 1932 определяет, что в местоположении 1934 имеется перекресток дорог. Таким образом, AV 1932 может ассоциировать первую гипотезу (например, «движение прямо», соответствующую маршруту 1938) и вторую гипотезу (например, «поворот направо», соответствующую маршруту 1936) со смежным объектом 1933. Как дополнительно описано ниже, траектория маршрута 1936 может быть спрогнозирована с использованием модели процесса (например, модели движения) большого грузовика, который поворачивает направо.
[260] AV 1932 может ассоциировать вероятность с каждой из первой и второй гипотез. В одном примере вероятность 0,6 может быть ассоциирована с первой гипотезой, а вероятность 0,4 может быть ассоциирована со второй гипотезой. Таким образом, существует  вероятность 60%, что грузовик продолжит движение вперед на перекрестке, и вероятность 40%, что грузовик повернет направо на перекрестке. Как дополнительно поясняется ниже, вероятность для каждой гипотезы может быть определена на основании информации о состоянии. В простом примере, если соседний объект 1933 не выглядит как замедляющийся с течением времени, вероятность для второй гипотезы (т.е. «поворот направо») снижается.
[261] Пример 1940 иллюстрирует AV 1942. AV 1942 обнаруживает велосипед 1946. То есть AV 1942 обнаруживает объект, который классифицируется как «велосипед». AV 1942 также обнаруживает припаркованное транспортное средство 1944. Таким образом, AV 1932 может ассоциировать первую гипотезу (например, «объезд», соответствующую маршруту 1948) с велосипедом 1946. По существу, велосипед 1946 может быть классифицирован блоком планирования траектории, как описано выше, либо как поперечное ограничение, либо как продольное ограничение. Так как с велосипедом 1946 ассоциирована только одна гипотеза, вероятность, равная единице (например, 100%) может быть ассоциирована с одной гипотезой.
[262] Пример 1950 иллюстрирует AV 1952. AV 1952 обнаруживает транспортное средство 1954. То есть AV 1952 обнаруживает объект, который классифицируется как «транспортное средство». AV 1952 может определить (например, на основании картографических данных), что дорога включает в себя две полосы движения (т.е. полосу 1953A движения и полосу 1953B движения). Таким образом, AV 1932 может ассоциировать первую гипотезу (например, «движение прямо», соответствующий маршруту 1958, так что транспортное средство 1954 остается в полосе 1953B движения) и вторую гипотезу (например, «перестроение в левую полосу движения», соответствующий маршруту 1956, так что транспортное средство 1954 движется по полосе 1953А движения).
[263] AV 1952 может ассоциировать вероятность с каждой из первой и второй гипотез. В примере вероятность 0,3 может быть назначена первой гипотезе, а вероятность 0,7 может быть назначена второй гипотезе. Таким образом, существует вероятность 30%, что транспортное средство 1954 останется в полосе 1953B движения, и вероятность 70%, что транспортное средство перестроится в полосу 1953A движения. Как дополнительно поясняется ниже, вероятность для каждой гипотезы может быть определена на основе информации о состоянии.
[264] Пример 1960 иллюстрирует AV 1962. AV 1962 обнаруживает транспортное средство 1964. То есть AV 1962 обнаруживает объект, который классифицируется как «транспортное средство». AV 1962 может ассоциировать (например, используя картографические данные) с транспортным средством 1964 первую гипотезу (например, «поворот направо», соответствующий транспортному средству 1964, поворачивающему направо в полосу 1963A движения, чтобы следовать по маршруту 1966), и вторую гипотезу (например, «поворот налево», что соответствует повороту транспортного средства 1964 налево в полосу 1963B движения, чтобы следовать по маршруту 1968). В одном примере первой гипотезе может быть назначена вероятность 0,2, а второй гипотезе может быть назначена вероятность 0,8. Таким образом, существует  вероятность 20%, что транспортное средство 1964 повернет направо, и вероятность 80% поворота транспортного средства 1964 налево.
[265] Фиг. 20 включает в себя блок-схему процесса 2000 моделирования мира в соответствии с настоящим изобретением. Процесс 2000 включает в себя операции 2002-2012, которые описаны ниже. Процесс 2000 может быть реализован модулем модели мира, таким как модуль 402 модели мира по Фиг. 4. Процесс 2000 может быть сохранен в памяти (такой как память 122 на Фиг.1) в виде команд, которые могут выполняться процессором (например, процессором 120 по Фиг.1) AV (например, транспортным средством 100 по Фиг. 1).
[266] Процесс 2000 поддерживает одну или более гипотез для объектов реального мира, таких как динамические объекты, описанные выше. Процесс 2000 может поддерживать (например, быть ассоциированным) по меньшей мере некоторые из гипотез для по меньшей мере некоторых из объектов реального мира в соответствующем состоянии. Учитывая предшествующие измерения (например, принятые наблюдения от датчиков), для каждой гипотезы процесс 2000 оценивает состояние соответствующего объекта реального мира и прогнозирует состояния объекта в будущем. Процесс 2000 поддерживает (например, вычисляет, определяет или иным образом поддерживает) вероятность для каждой из гипотез и обновляет вероятность по мере приёма новых наблюдений датчиков. Процесс 2000 может поддерживать одну или более гипотез, обнаруженных объектов и связанных состояний в хранилище данных, таком как хранилище 2014 данных. Хранилище 2014 данных может храниться в памяти, такой как память 122 по Фиг. 1. Хранилище 2014 данных может быть, например, базой данных, такой как реляционная база данных, файловое хранилище или любое подходящее хранилище данных. Процесс 2000 может выполняться, когда доступны новые измерения датчика, по расписанию (например, каждые несколько миллисекунд), их сочетанию или при других условиях.
[267] По меньшей мере некоторые из этапов процесса 2000 могут быть реализованы с использованием алгоритма на основе фильтрации частиц, в виде такого алгоритма или в виде этапа такого алгоритма. Фильтрация частиц является методом отслеживания (например, прогнозирования) состояния объекта на основании наблюдений за состоянием объекта. В качестве примера, можно использовать методологию фильтрации твердых частиц Рао-Блэквелла (RBPF).
[268] Процесс 2000 может использовать частицы для представления гипотез. RBPF использует весовые коэффициенты, назначенные частицам. Таким образом, вероятность гипотезы может использоваться как весовой коэффициент частицы, которая представляет гипотезу. Таким образом, поскольку с объектом реального мира может быть связано множество гипотез, объект реального мира может состоять из набора имеющих весовые коэффициенты частиц (каждая из которых соответствует гипотезе для объекта реального мира).
[269] Процесс 2000 может принимать входные данные 2001. Входные данные 2001 могут включать в себя данные датчиков (то есть наблюдения от датчиков), такие как измерения от одного или более датчиков 126. Данные датчиков можно использовать для обнаружения объектов реального мира. То есть, например, данные датчиков могут использоваться для определения, что объект реального мира имеется в поле обзора AV.
[270] В одном примере процесс 2000 использует данные датчиков для определения положения и скорости обнаруженного объекта. Процесс 2000 может использовать данные датчиков для определения (например, назначения) классификации обнаруженному объекту. Процесс 2000 может использовать данные датчиков для определения (например, вычисления, оценки) геометрии обнаруженного объекта.
[271] В одном примере данные от одной или более камер могут использоваться для определения класса обнаруженного объекта. Неограничивающие примеры классов включают в себя «автомобиль», «спортивный автомобиль», «седан», «большой грузовик», «пешеход» и «велосипед». В другом примере классификация может быть назначена на основании движения во времени, данных LiDAR (например, облака точек LiDAR) во времени. В одном примере нейронная сеть (такая как сверточная нейронная сеть) может использоваться для распознавания объектов (например, классификации) в отношении обнаруженного объекта. Могут быть доступны другие способы определения классификации данных датчиков, ассоциированных с объектом.
[272] Следует отметить, что различные данные датчиков могут обеспечивать различные классификации объектов. Например, первая классификация «велосипед» может быть определена на основании данных LiDAR, тогда как вторая классификация «человек, совершающий пробежку» может быть определена на основании данных камеры. Соответственно, классификация объекта может быть определена вероятностно (например, какая из первой и второй классификации более вероятна). Таким образом, для определения классификации объединяются различные данные датчиков. Поскольку классификация является вероятностной, классификация объекта может изменяться со временем. В некоторых вариантах реализации процесс 2000 может поддерживать гипотезу по меньшей мере для некоторых возможных классификаций.
[273] В одном варианте реализации процесс 2000 принимает в качестве входных данных положение и скорость обнаруженного объекта. В одном варианте реализации процесс 2000 принимает в качестве дополнительных входных данных одно или более из геометрии и классификации обнаруженного объекта. Таким образом, классификация может быть получена в качестве входных данных, а не определена процессом 2000.
[274] Входные данные 2001 также могут включать в себя картографическую информацию. Картографической информацией могут быть картографические данные HD (например, описанные в отношении картографических данных 510 HD по Фиг.5), данные распознавания маршрута (например, описанные в отношении данных 520 распознавания маршрута по Фиг.5), другая картографическая информация, или их сочетание.
[275] Картографическая информация может включать в себя структуры полос движения на карте (также называемые в данном документе структурами дорог). Структура полос движения на карте для определённой полосы движения может включать в себя информацию о последующих полосах движения, информацию о предшествующих полосах движения и информацию о смежных полосах движения. Далее для приведения иллюстративных примеров используется Фиг. 19. Полоса 1953A движения и полоса 1953B движения являются смежными полосами движения. Полоса 1963A движения и полоса 1963B движения являются возможными последующими полосами движения для полосы 1970 движения. Таким образом, структура полос движения на карте включает в себя информацию о том, как соединяются полосы движения дороги. Структура полос движения на карте может использоваться для определения возможных сочетаний полос движения, которые может занять (например, следовать) обнаруженный объект. То есть структура полос движения на карте может использоваться для определения возможных маршрутов обнаруженного объекта.
[276] Входные данные 2001 могут также включать в себя информацию об окружении. Информация об окружении может включать в себя информацию, относящуюся к непроходимым участкам транспортной сети для транспортных средств, по которой движется AV. Например, информация об окружении может включать в себя местоположения парковок, например, описанные в отношении данных 518 о парковках по Фиг. 5. Информация об окружении может использоваться для добавления (например, создания) одной или более гипотез для обнаруженного объекта. Например, если парковка находится в пределах заданного расстояния от обнаруженного объекта, то для обнаруженного объекта может быть добавлена гипотеза «въезда на парковку».
[277] Как упомянуто выше, процесс 2000 поддерживает соответствующую информацию о состоянии для гипотез. То есть, например, для каждого наблюдаемого (например, обнаруженного) объекта (например, транспортного средства, велосипеда) процесс 2000 поддерживает одну или более гипотез для состояния объекта. Для каждой гипотезы процесс 2000 может поддерживать состояние объекта (т.е. текущее состояние, основанное на исторических измерениях) и прогноз будущих состояний объекта.
[278] Как упомянуто выше, состояние объекта может включать в себя дискретную информацию о состоянии объекта и непрерывную информацию о состоянии объекта. Дискретная информация о состоянии объекта может включать в себя классификацию (например, «автомобиль», «велосипед», «пешеход» и т.д.) и намерение (например, «движение направо», «поворот налево» и т.д.). Дискретная информация о состоянии объекта может включать в себя большее число, меньшее число или дополнительную информацию. Непрерывная информация о состоянии объекта обеспечивает оценки непрерывных состояний с учетом предыдущих измерений. Непрерывная информация о состоянии объекта может включать в себя оценки, относящиеся к большему, меньшему количеству или другим непрерывным состояниям, как динамическое (например, скорость, ускорение), кинематическое (например, положение, ориентация), геометрическое (например, длина, ширина, и/или высота ограничительной рамки объекта) или состояние внешнего вида. Внешний вид может включать в себя цвет объекта. В одном примере, если текущий цвет определен как черный, а полученное позднее наблюдение датчика указывает красный цвет, такая информация может использоваться для определения, ассоциировано ли наблюдение датчика с объектом. Цвет можно отслеживать по метке, например «красный». Цвет можно отслеживать как набор значений цвета, таких как значения красного, зеленого и синего (RGB). В одном примере текущее состояние внешнего вида может указывать значение цвета (255, 0, 0), которое обновляется до (254,37, 0, 0) на основании принятого наблюдения от датчика. По существу, внешний вид представляет собой непрерывную переменную.
[279] Прогнозирование будущих состояний объекта может быть обеспечено для указанного времени окончания. Например, процесс 2000 может для каждой гипотезы прогнозировать соответствующую траекторию для объекта, ассоциированного с гипотезой, и прогнозировать состояния объекта в дискретные моменты времени вдоль траектории до указанного конечного времени. Прогнозируемое состояние включает в себя прогнозируемые местоположения, прогнозируемые скорости, прогнозируемые направления и т.д. Однако, для простоты объяснения, описаны прогнозируемые местоположения. Например, указанное время окончания может составлять 6 секунд, и процесс 2000 может прогнозировать местоположение объекта с шагом 0,5 секунды до истечения 6 секунд. Таким образом прогнозируется двенадцать местоположений объекта. В одном примере местоположение может быть определено координатами (x, y) объекта. Местоположение может быть относительно текущего местоположения AV.
[280] Как упомянуто выше, процесс 2000 может назначать (например, вычислять, определять или иным образом назначать) вероятность каждой гипотезе.
[281] Чтобы проиллюстрировать вышеуказанное, теперь будет приведён пример гипотез, поддерживаемых процессом 2000 для автомобиля (то есть обнаруженного объекта, который классифицируется как «автомобиль»). Гипотезы включают в себя гипотезу 1 и гипотезу 2.
[282] Гипотеза 1 включает в себя дискретную информацию о состоянии объекта: Классификация = «Автомобиль» и «Намерение» = «Движение прямо на следующем перекрестке». Непрерывная информация о состоянии объекта включает в себя положение = (10, 25) (т.е. 10 метров впереди и 25 метров справа от AV) и скорость=65 миль в час. Гипотеза 1 также может включать в себя прогнозы местоположений автомобиля на следующие N секунд (то есть заданное время окончания). Таким образом, гипотеза 1 включает в себя состояния объекта от t=T (т. Е. Текущее время) до t=T+N. Кроме того, существует  вероятность 60% того, что автомобиль последует намерению (т.е. «Движение прямо на следующем перекрестке») по гипотезе 1.
[283] Гипотеза 2 включает в себя дискретную информацию о состоянии объекта: Классификация = «Автомобиль» и «Намерение» = «Поворот направо на следующем перекрестке. Непрерывная информация о состоянии объекта включает в себя положение = (10, 25) и скорость=45 миль в час. Гипотеза 2 также может включать в себя прогнозы местоположения автомобиля на следующие N секунд (то есть заданное время окончания). Таким образом, гипотеза 2 включает в себя состояния объекта от t=T (т.е. текущее время) до t=T+N. Кроме того, существует вероятность 40% того, что автомобиль будет следовать намерению (т.е. «Поворот направо на следующем перекрестке») гипотезы 2. Следует отметить, что когда объект впервые создаётся, любые гипотезы, созданные для объекта, могут иметь одинаковое начальное положение и скорость. Однако по мере того, как отслеживается объект (например, обновляются состояния гипотез, ассоциированных с объектом), положения и/или скорости, связанные с различными гипотезами, могут различаться.
[284] В операции 2002 процесс 2000 создает и поддерживает гипотезы по меньшей мере для некоторых обнаруженных объектов реального мира. Гипотезы можно поддерживать в хранилище 2014 данных. При изменении местоположения объекта реального мира (например, как дополнительно описано ниже в отношении принятых наблюдений датчиков) одна или более гипотез, связанных с объектом реального мира, могут измениться. Например, некоторые из гипотез могут стать неверными (например, невозможными или иметь очень низкую вероятность). Например, если реальный объект поворачивает налево (или почти наверняка повернет налево), гипотеза, связанная с намерением «повернуть направо на следующем перекрестке», становится недействительной. Возможно, потребуется создать некоторые дополнительные гипотезы на основании реального поворота объекта влево. Как упомянуто выше, для создания и поддержки гипотез может использоваться картографическая информация (например, картографические данные HD, распознаваемые картографические данные и т.д.), данные информации об окружении и/или другая картографическая информация.
[285] Фиг. 21 - это пример 2100 создания и поддержки гипотез в соответствии с настоящим изобретением. Пример 2100 изображает транспортное средство 2102 (то есть реальный объект, который обнаруживается AV, выполняющим процесс 2000), движущийся по участку транспортной сети, а именно по проезжей части 2104.
[286] Вид 2110 иллюстрирует положение транспортного средства 2102 в момент времени t=0. В t=0 транспортное средство 2102 находится перед развилкой 2112 проезжей части 2104. Таким образом, используя структуру полос движения на карте, полученную из картографической информации, процесс 2000 может определить, что, когда транспортное средство 2102 прибывает на развилку 2112, транспортное средство 2102 может «двигаться налево» (что соответствует маршруту, обозначенному «1»), «двигаться прямо» (соответствует маршруту, обозначенному «2») или «двигаться направо» (соответствует маршруту, обозначенному «3»). Таким образом, процесс 2000 может создать (например, в хранилище 2014 данных) три гипотезы для транспортного средства 2102; а именно гипотезу 1, гипотезу 2 и гипотезу 3, соответствующие, соответственно, маршрутам, обозначенным как 1, 2 и 3. Как описано выше, информация о состоянии определяется (например, вычисляется, устанавливается или определяется иным образом) для каждой из гипотез.
[287] Вид 2120 иллюстрирует положение транспортного средства 2102 в момент времени t=1. В t=1, поскольку транспортное средство 2102 больше не может «двигаться налево», гипотеза 1 удаляется (например, из хранилища 2014 данных). Если AV следует намерению «двигаться прямо» (т.е. гипотезе 2), то, используя картографическую информацию, процесс 2000 может определить, что транспортное средство 2102 может «двигаться прямо» (соответствует маршруту, обозначенному «4») или «двигаться направо»(соответствует маршруту, обозначенному «5»). Таким образом, процесс 2000 заменяет гипотезу 2 гипотезой 4 и гипотезой 5, соответствующими, соответственно, маршрутам, обозначенным «4» и «5», после того, как транспортное средство 2102 подъезжает к развилке 2122.
[288] Если AV следует намерению «двигаться направо» (то есть гипотезе 3), то, используя картографическую информацию, процесс 2000 может определить, что транспортное средство 2102 может после достижения развилки 2124 «двигаться налево» (соответствует маршруту, обозначенному «6»), «двигаться прямо» (соответствует маршруту, обозначенному «7») или «двигаться направо» (соответствует маршруту, обозначенному «8»). Таким образом, процесс 2000 заменяет гипотезу 3 гипотезой 6, гипотезой 7 и гипотезой 8, соответствующими, соответственно, маршрутам, обозначенным «6», «7» и «8».
[289] В примере процесс 2000 может определить, что гипотеза для транспортного средства 2102 более не является вероятной (или является вероятной с пренебрежимо малой вероятностью) на основании факторов, включая положение, скорость и местоположение транспортного средства 2102. Незначительная вероятность может быть вероятностью, которая ниже порогового значения. Для определения вероятности гипотезы можно использовать большее число, меньшее число факторов или другие факторы. В примере пороговая вероятность может быть меньше 10%. Например, в одном t=t1, поскольку ориентация транспортного средства 2102 в общем оценивается как северо-восток, и оно может двигаться со оцененной скоростью 45 миль в час, существует пренебрежимо малая вероятность того, что транспортное средство 2102 может по-прежнему следовать замыслу гипотезы. 1.
[290] Вид 2130 иллюстрирует положение транспортного средства 2102 в момент времени t=2. В момент t=2, поскольку транспортное средство 2102 больше не может следовать намерениям гипотез 4 и 5, гипотезы 4 и 5 удаляются (например, из хранилища 2014 данных). Удаление гипотезы может означать удаление гипотезы из хранилища 2014 данных . Удаление гипотезы может означать установку гипотезы в неактивное состояние, так что гипотеза больше не используется операциями процесса 2000. Поддерживаются гипотезы 6, 7 и 8. Поддержание гипотезы может включать в себя обновление вероятности для гипотезы. В простом примере, если бы гипотезы 4, 5, 6, 7 и 8 были одинаково вероятными, то каждая из гипотез 4, 5, 6, 7 и 8 имела бы вероятность 20%. Если предположить, что гипотезы 6, 7 и 8 останутся равновероятными после того, как гипотезы 4 и 5 будут удалены, то каждая из гипотез 6, 7 и 8 будет иметь ассоциированную вероятность 33%.
[291] Снова обращаясь к фиг. 20, в операции 2004 процесс 2000 прогнозирует траектории объектов реального мира. То есть процесс 2000 прогнозирует для каждой гипотезы для объектов реального мира соответствующую траекторию. В операции 2004 процесс 2000 может определять (например, считывать или извлекать из хранилища 2014 данных) гипотезы для объекта реального мира, формировать (или использовать) опорную траекторию движения для каждой гипотезы и формировать прогнозируемую траекторию для каждой опорной траектории движения. Для создания опорной траектории движения можно использовать один или более экземпляров блока планирования траектории, такого как блок 500 планирования траектории по фиг. 5. Операция 2004 дополнительно описана с обращением к Фиг. 22.
[292] Как упоминалось выше, гипотеза, связанная с объектом реального мира, включает в себя информацию о намерении и состоянии, включая классификацию. Например, для прогнозирования траектории для намерения может использоваться модель движения, основанная на классификации объекта.
[293] Фиг. 22 - это пример 2200 прогнозирования траектории в соответствии с настоящим изобретением. Пример 2200 иллюстрирует операцию 2004. Пример 2200 иллюстрирует транспортное средство 2202 (то есть объект реального мира). Процесс 2000 поддерживает (например, в хранилище 2014 данных) две гипотезы для транспортного средства 2202; а именно гипотезу 1 (т.е. гипотезу 2204, соответствующую намерению «движение прямо») и гипотезу 2 (то есть гипотезу 2206, соответствующую намерению «поворот направо»).
[294] По меньшей мере для некоторых из гипотез процесс 2000 (в операции 22004) может сначала определить опорную траекторию движения. Например, опорная траектория движения не может быть определена для гипотезы в случае, если траектория может быть спрогнозирована без опорной траектории движения. Например, опорная траектория движения не может быть определена для опорной траектории движения в случае, если блок формирования опорной траектории движения (например, блок планирования траектории или какой-либо другой блок формирования опорной траектории движения) недоступен. Опорной траекторией движения для каждой гипотезы может быть, например, центр полосы движения, соответствующей цели гипотезы. Таким образом, опорная траектория 2208 движения прогнозируется для гипотезы 1 для транспортного средства 2202, а опорная траектория 2210 движения прогнозируется для гипотезы 2 для транспортного средства 2202.
[295] Для каждой из опорных траекторий движения процесс 2000 определяет (например, вычисляет, прогнозирует) траекторию (например, плавную траекторию, такую как описанная в отношении блока 500 планирования траектории по Фиг. 5). Состояние, ассоциированное с гипотезой, может использоваться для определения траектории для этой гипотезы. Таким образом, прогнозируется траектория 2212, так что ожидается, что транспортное средство 2202 будет перемещаться из своего текущего местоположения на (например, перестроится) опорную траекторию 2208 движения, так что транспортное средство 2202 будет следовать опорной траектории 2208 движения; и траектория 2214 прогнозируется таким образом, что ожидается, что транспортное средство 2202переместится из своего текущего местоположения на опорную траекторию 2210 движения таким образом, что транспортное средство 2202 будет следовать опорной траектории 2210 движения.
[296] В другом примере в операции 2004 могут использоваться опорные траектории движения, созданные операцией 2016. В таком случае в операции 2004 для определения траекторий используются опорные траектории движения, сформированные операцией 2016. Операция 2016 может быть асинхронным процессом, который выполняется отдельно от процесса 2000.
[297] Обращаясь вновь к Фиг. 20, во время операции 2004 процесс 2000 ассоциирует принятые наблюдения от датчиков с объектами реального мира. Процесс 2000 принимает новые наблюдения от датчиков. Наблюдения от датчиков могут, например, соответствовать данным, объединенным из наблюдения множества датчиков. Наблюдение от датчика может указывать на положение наблюдаемого объекта. Процесс 2000 определяет, какому из поддерживаемых объектов реального мира (например, в хранилище 2014 данных), если они есть, соответствует наблюдение от датчика. Если обнаружено, что наблюдение от датчика не соответствует ни одному из поддерживаемых объектов реального мира, то процесс 2000 может создать (например, в хранилище 2014 данных) новый объект реального мира, соответствующий наблюдению датчика, как дополнительно описано ниже в операции 2012.
[298] Процесс 2000 может ассоциировать принятые наблюдения от датчиков с объектами реального мира поэтапно, включая определение областей гейтирования вокруг каждого наблюдения, вычисление матрицы правдоподобия измерения и определение ассоциаций состояния объекта и измерения (или, что эквивалентно, ассоциации гипотезы и измерения). Операция 2004 дополнительно описана с обращением к Фиг. 23.
[299] Фиг. 23 - пример 2300 ассоциации наблюдений датчиков с объектами реального мира в соответствии с настоящим изобретением. Вид 2310 показывает, что в момент времени t=T процесс 2000 принимает наблюдения 2320, 2322 и 2324 от датчиков. Наблюдение - это новое измерение физического мира. Процесс 2000 в операции 2004 пытается для каждого наблюдения ответить на вопрос: Какому объекту реального мира соответствует (т.е. ассоциировано) наблюдение? Как описано выше, процесс 2000 прогнозирует будущие состояния (включая местоположения) для каждой гипотезы. Когда процесс 2000 принимает наблюдения от датчиков, процесс 2000 обновляет прогнозы на основании принятых наблюдений из физического мира. Прогнозы могут быть обновлены путем вычисления (например, вычисления) обновленных состояний из прогнозируемых состояний и наблюдений от датчиков.
[300] Нижеприведённая таблица I иллюстрирует гипотезы, соответствующие виду 2310 и поддерживаемые процессом 2000 в момент времени t=T (то есть время, когда процесс 2000 принимает данные датчиков). В момент времени t=T процесс 2000 поддерживал четыре гипотезы, а именно гипотезы 1, 2, 3 и 4. Для облегчения ориентирования гипотезы в таблице I пронумерованы последовательно. Однако может быть более точным было бы читать, например, гипотезу 2 как «первую гипотезу, связанную с объектом 2», а гипотезу 3 как «вторую гипотезу, связанную с объектом 2».
Объект реального мира
Гипотеза
Намерение
Прогнозируемое местоположение
Объект 1
Гипотеза 1
«движение прямо»
2312
Объект 2
Гипотеза 2
«движение прямо»
2314
Объект 2
Гипотеза 3.
«поворот направо»
2316
Объект 3
Гипотеза 4
«движение прямо»
2318
Таблица I
[301] Гипотеза 1 соответствует намерению «объекта 1» (например, автомобиля) «движение прямо» с прогнозом, что объект 1 находится в местоположении 2312 в момент времени t=T. Гипотезы 2 и 3 являются двумя гипотезами, поддерживаемыми для одного и того же объекта «объект 2» (например, мотоцикла). Гипотеза 2 соответствует намерению «объекта 2» «движение прямо» с прогнозированием, что объект 2 находится в местоположении 2314 в момент времени t=T. Гипотеза 3 соответствует намерению «объекта 2» «поворот направо» с прогнозированием, что объект 2 находится в местоположении 2318 в момент времени t=T. Гипотеза 4 соответствует намерению «объекта 3» (например, грузовика) «движение прямо» с прогнозированием, что объект 3 находится в местоположении 2318 в время t=T.
[302] Вид 2330 примера 2300 иллюстрирует определение областей гейтирования. Чтобы уменьшить перегруженность Фиг. 23, номера расположенных в одном месте графических объектов (то есть местоположений и наблюдений от датчиков) видов 2310 и 2330 не показаны на виде 2330.
[303] Например, области гейтирования - это области гейтирования вокруг каждого полученного наблюдения. Область гейтирования вокруг наблюдения определяет область поиска объектов реального мира вблизи (т.е. близко) от места наблюдения от датчика. Более конкретно, область гейтирования вокруг наблюдения определяет область поиска, которая включает прогнозируемые местоположения объектов реального мира. То есть область гейтирования вокруг наблюдения определяет область, которая может включать в себя объекты реального мира (например, объекты, хранящиеся в хранилище 2014 данных), на основании их прогнозируемых местоположений, и которая может быть ассоциирована с наблюдением. Области гейтирования используются в качестве первого прохода для отфильтровывания (т.е. исключения) объектов (или, более конкретно, гипотез), которые вряд ли будут ассоциированы с наблюдением от датчика, поскольку они слишком удалены от наблюдения от датчика.
[304] Для ассоциирования объекта с наблюдением от датчика ожидается, что объект (т.е. прогнозируемое местоположение объекта) будет близким к наблюдению от датчика. Например, область гейтирования вокруг наблюдения может быть кругом. Таким образом, вид иллюстрирует область 2332 гейтирования, которая имеет центр в виде наблюдения 2320 от датчика, область 2334 гейтирования, которая имеет центр в виде наблюдения 2324 от датчика, и область 2336 гейтирования, которая имеет центр в виде наблюдения 2322 от датчика. Например, радиус круга гейтирования может составлять 10 метров.
[305] Вид 2330 показывает, что объект 1 и объект 3, вероятно, будут ассоциированы с наблюдением 2320 от датчика, поскольку прогнозируемые местоположения объекта 1 и объекта 3 в момент времени t=T охвачены областью 2332 гейтирования; объект 3 и гипотезы 2 и 3 для объекта 2, вероятно, связаны с наблюдением 2324ль  датчика, поскольку прогнозируемые местоположения объекта 2 согласно гипотезам 2 и 3 охвачены областью 2334 стробирования; и объект 2 (т.е. гипотезы 2 и 3) также, вероятно, ассоциирован с наблюдением 2322 от датчика, поскольку прогнозируемые местоположения объекта 2 (согласно гипотезам 2 и 3) охвачены областью 2336 гейтирования.
[306] В другом примере область гейтирования может быть нарисована (не показана) вокруг прогнозируемых местоположений объектов реального мира, а не вокруг наблюдений. Размер (например, радиус) области гейтирования вокруг прогнозируемого местоположения может зависеть от состояния объекта реального мира. Например, скорость и местоположение (например, непрерывная информация о состоянии) для состояния объекта в соответствии с гипотезой могут использоваться для определения радиуса. Например, радиус может быть установлен на основании максимально возможного расстояния перемещения от времени t=T-1 (например, времени, когда были получены предыдущие наблюдения от датчика) до t=T (например, текущего времени).
[307] Операция 2006 теперь может вычислять вероятность ассоциации между наблюдениями от датчиков и объектами реального мира. Операция 2006 может определить значение вероятности для возможной ассоциации. Динамика объектов реального мира может использоваться при вычислении вероятностей. Например, можно использовать большее число, меньшее число или другую динамику (например, информацию о состоянии объекта), отличную от скорости, местоположения, положения, направления движения и геометрии. Например, если в соответствии с гипотезой объект классифицирован как «автомобиль», и наблюдение от датчика указывает, что ассоциированный объект является большим объектом (например, указывающим на грузовик), то наблюдение вряд ли будет ассоциировано с упомянутым объектом. Например, если состояние объекта для данной гипотезы включает в себя то, что объект «движется прямо» со скоростью 65 миль в час, наблюдение от датчика, находящееся в 20 метрах позади прогнозируемого местоположения объекта, вряд ли будет ассоциировано с данной гипотезой.
[308] В одном примере операция 2006 вычисляет матрицу правдоподобия измерения. Таблица II иллюстрирует пример матрицы правдоподобия измерения. Значения в таблице II представляют собой взвешенные суммы правдоподобия между гипотезами объекта и наблюдениями от датчиков. Например, предполагая, что весовой коэффициент гипотезы 2 (объекта 2) составляет 0,75, а весовой коэффициент гипотезы 3 (объекта 2) равен 0,25, и предполагая, что вероятность измерения (рассчитанная, как описано ниже) между гипотезой 2 и наблюдением 2322 от датчика равно 0,1, и вероятность измерения между гипотезой 3 и наблюдением 2322 от датчика равна 0,3, то вероятность измерения между объектом 2 и наблюдением 2322 от датчика может быть вычислена как (0,1 × 0,25) + (0,3 × 0,75) = 0,25. То есть вероятность измерения между объектом 2 и наблюдением 2322 от датчика равна (вероятность измерения между гипотезой 2 и наблюдением 2322 от датчика) × (весовой коэффициент гипотезы 2) + (вероятность измерения между гипотезой 3 и наблюдения 2322 от датчика) × (весовой коэффициент гипотезы 3).
Наблюдение 2320 от датчика
Наблюдение 2322 от датчика
Наблюдение 2324 от датчика
Объект 1
0,6
Объект 2
0,25
0,7
Объект 3
0,3
0,15
Таблица II
[309] Как описано выше, с использованием областей гейтирования были определены пять возможных (вероятных) ассоциаций. Таким образом, таблица II включает в себя соответствующую вероятность для каждой из вероятных ассоциаций. Однако, как также указано выше, на основании прогнозируемой или оцененной динамики объектов реального мира некоторые вероятности могут не вычисляться или могут быть установлены в ноль.
[310] Таблица II показывает, что существует вероятность 0,6 того, что объект 1 ассоциирован с наблюдением 2320 от датчика; вероятность того, что объект 2 связан с наблюдением 2322 от датчика составляет 0,25; вероятность 0,7, что объект 2 ассоциирован с наблюдением 2324 от датчика; вероятность того, что объект 3 ассоциирован с наблюдением 2320 от датчика, составляет 0,3; и вероятность того, что объект 3 ассоциирован с наблюдением 2324 от датчика, составляет 0,15.
o
o
p
p
o
o
p
p
[311] Как дополнительно поясняется ниже, наблюдения от датчиков и прогнозируемые состояния (например, прогнозируемые местоположения) могут быть неточными из-за шума. Как упоминалось выше, прогнозируемое состояние включает в себя прогнозируемые местоположения, прогнозируемые скорости, прогнозируемые направления и т.д. Однако для простоты объяснения описаны прогнозируемые местоположения. Таким образом, каждое из местоположения наблюдения от датчика (x, y) ипрогнозируемого местоположения(x, y) может бытьизображено какраспределение Гаусса. Наблюдение от датчика может быть смоделировано как распределение Гаусса (т.е. наблюдаемое распределение), имеющее неопределенность и среднее значение в (x, y). Неопределенность, связанная с измерениемдатчика, может быть задана (например, определена) моделью измерения. Модель измерения датчика моделирует характеристики (например, шум) измерений, принятых от датчика. Наблюдение от датчика может быть смоделировано как распределение Гаусса (т.е. прогнозируемое распределение), имеющее неопределенность и среднее значение в (x, y). Два гауссовых распределениямогут бытьобъединены, чтобы определить, насколько вероятно, что прогнозируемое местоположение будет наблюдаемым местоположением.
[312] В одном примере ассоциации могут быть определены на основании наибольшего правдоподобия. Таким образом, объект 1 определяется как ассоциированный с наблюдением 2320 от датчика (как показано ассоциацией 2338); и объект 2 определяется как ассоциированный с наблюдением 2324 от датчика (как показано ассоциацией 2340 и ассоциацией 2342 в отношении гипотезы 2 и гипотезы 3, соответственно). Таким образом, объект 3 не ассоциирован с каким-либо наблюдением от датчика, а наблюдение 2322 от датчика не ассоциировано ни с одним из объектов реального мира, которые поддерживаются процессом 2000.
[313] Вероятность измерения можно вычислить с помощью уравнения (1):
(1)
[314] В уравнении (1) - это среднее значение распределения прогнозирования, - это стандартное отклонение распределения прогнозирования, - среднее значение наблюдаемого распределения и - стандартное отклонение наблюдаемого распределения.
[315] Обращаясь вновь к Фиг. 20, в операции 2008 процесс 2000 обновляет вероятности для некоторых гипотез. Процесс 2000 обновляет вероятность тех гипотез (или, что то же самое, тех объектов), которые были обнаружены во время операции 2006, как ассоциированных с принятыми наблюдениями от датчиков. То есть процесс 2000 определяет на основании нового наблюдения от датчика, ассоциированного с объектом, будет ли объект с большей или меньшей вероятностью следовать намерению согласно гипотезе.
[316] Вероятности измерений, как описано в отношении таблицы II, можно использовать для обновления вероятностей для гипотез в операции 2008. То есть вероятность измерения может использоваться для обновления весовых коэффициентов частиц. Как уже упоминалось, весовой коэффициент частицы соответствует вероятности для гипотезы, представленной частицей. Весовой коэффициент частицы можно вычислить с помощью уравнения (2):
P(p, t = T + dt) = (вероятность измерения в t = T + dt) * P(p, t = T) (2)
[317] То есть вероятность (т.е. вероятность) для частицы p (т.е. гипотезы) в момент времени T+dt (т.е. в момент времени, когда принято наблюдение от нового датчика) получается путем умножения вероятности измерения в момент времени T+dt (т.е. вероятности того, что наблюдение от датчика ассоциировано с частицей/гипотезой в момент времени T+dt) на последнюю вычисленную вероятность гипотезы (т.е. вероятность гипотезы в предыдущий момент времени t=T ).
[318] Вычисленные вероятности гипотез для каждого объекта в момент времени t=T+dt могут быть затем нормализованы таким образом, чтобы их сумма составляла 1. Например, предположим, что 2 частицы связаны с объектом реального мира, и что упомянутые 2 частицы в момент времени t=T имеют соответствующие вероятности 0,5 и 0,5. Далее предположим, что вероятности, вычисленные в t=T+dt с использованием уравнения (2) равны 0,4 и 0,3, соответственно. После вычисления вероятностей в момент времени t=T+dt вероятности нормализуются как (0,4 / (0,4+0,3)) и (0,3 / (0,4+0,3)), или 0,57 и 0,43, соответственно.
[319] В операции 2010 процесс 2000 обновляет состояния, ассоциированные с теми гипотезами, которые, как было обнаружено в операции 2006, ассоциированы с принятыми наблюдениями от датчиков.
[320] При том, что RBPF может использоваться в качестве общей основы для этапов процесса 2000 для поддержания частиц, RBPF не определяет, как, например, движется частица (например, в операции 2004) или как обновляется состояние частицы (например, в операции 2010). Для прогнозирования (т.е. в операции 2004) и обновления (т.е. в операции 2010) может использоваться расширенный фильтр Калмана (EKF).
[321] Как упоминалось выше, модель движения объекта с учетом намерения может использоваться для прогнозирования будущего состояния объекта. То есть, например, модель движения можно использовать для прогнозирования того, какие эволюции будет совершать частица (то есть гипотеза) от момента времени t до момента времени t+1. Модель движения моделирует динамику объекта в зависимости от классификации и других параметров состояния (например, скорости, положения). Когда принято новое измерение от датчика (т.е. в операции 2006), указывающее местоположение объекта, можно использовать EKF (т.е. в операции 2010) для объединения (например, объединения, согласования, слияния или иного объединения) сформированного прогнозируемого состояния с использованием модели движения с новым измерением для формирования (например, вычисления, определения или иного формирования) обновленного состояния.
[322] Для обновления состояния объекта можно использовать уравнение (3).
(3)
[323] В уравнении (3)  - это прогнозируемое состояние в момент времени t,  - это состояние наблюдения от датчика в момент времени t,  - это обновленное состояние в момент времени t,  - ковариация прогнозируемого состояния в момент времени t,  - якобиан модели измерения,  - ковариация шума измерения для модели измерения, и  – это ковариация обновленного состояния в момент времени t.
[324] Повторяя вышеуказанное, процесс 2000 может инициировать RBPF для отслеживания объекта (например, объекта реального мира). Процесс 2000 отслеживает и прогнозирует траектории по меньшей мере для некоторых объектов в хранилище 2014 данных. При этом процесс 2000 может запускать набор RBPF для отслеживания и прогнозирования объектов. RBPF используется для прогнозирования непрерывного состояния соответствующего объекта, для обновления непрерывного состояния соответствующего объекта и для обновления весового коэффициента соответствующей частицы.
[325] Фиг. 24 - пример 2400 обновления состояний гипотез в соответствии с настоящим изобретением. Пример 2400 иллюстрирует операции 2008 и 2010. Как упоминалось выше, местоположения объекта согласно гипотезе, ассоциированной с объектом, являются частью состояния гипотезы (или, что эквивалентно, объекта). Местоположение 2312 объекта 1 согласно гипотезе 1 обновляется до местоположения 2402, местоположение 2314 объекта 2 согласно гипотезе 2 обновляется до местоположения 2404; и местоположение 2316 объекта 2 согласно гипотезе 3 обновляется до местоположения 2406.
[326] В одном примере, местоположения обновляются таким образом, чтобы они совпадали с местоположениями наблюдений. То есть, например, местоположение состояния по гипотезе 1 для объекта 1 обновляется для момента времени t=T таким образом, чтобы оно было местоположением 2320 наблюдений от датчика вместо местоположения 2312; местоположение состояния по гипотезе 2 для объекта 2 обновляется для момента времени t=T таким образом, чтобы оно было местоположением 2324 наблюдений от датчика вместо местоположения 2314; и местоположение состояния по гипотезе 3 для объекта 3 обновляется для момента времени t=T таким образом, чтобы оно было местоположением 2324 наблюдений от датчика вместо местоположения 2316.
[327] В одном примере местоположения обновляются с учетом шума (например, неопределенности) в прогнозируемых местоположениях и шума, ассоциированного с измерениями датчика.
[328] Прогнозируемые местоположения (например, местоположения 2312-2318) вычисляются (например, формируются, прогнозируются, оцениваются или иным образом вычисляются) на основании прогнозируемых маршрутов. Прогнозируемые маршруты формируются с использованием моделей движения, связанных с классификациями объектов. При этом некоторый шум (например, неопределенность) может быть связан с прогнозируемыми маршрутами. Аналогичным образом, шум (например, неопределенность) может быть связан с наблюдениями от датчиков. Например, наблюдение от датчика может указывать на то, что объект находится в определенном местоположении, тогда как на самом деле объект находится на 2 метра левее.
[329] При этом процесс 2000 может объединить прогнозирования с шумом с наблюдением от датчика с шумом для формирования обновленных местоположений. В одном примере обновленные местоположения могут быть промежуточными точками между наблюдениями от датчиков и соответствующим прогнозируемым местоположением. Таким образом, местоположение 2402 находится посередине между наблюдениями 2320 от датчиков и местоположением 2312; местоположение 2404 находится посередине между наблюдением 2324 от датчика и местоположением 2314; и местоположение 2406 находится посередине между наблюдением 2324 от датчика и местоположением 2316.
[330] Используя вероятности измерения (см. выше в отношении таблицы II), положение, скорость, положение, меньшее число, большее число или другую информацию о состоянии, процесс 2000 может обновлять вероятности гипотез. Например, поскольку гипотеза 1 является единственной гипотезой, ассоциированной с объектом 1, вероятность гипотезы 1 может оставаться неизменной (например, 1,0). Например, поскольку наблюдение 2324 от датчика ближе к прогнозируемому состоянию гипотезы 3 (то есть местоположению 2316), чем к прогнозируемому состоянию гипотезы 2 (то есть местоположению 2314), вероятность гипотезы 3 увеличивается (например, с 0,5 до 0,8), а вероятность гипотезы 2 уменьшается (например, с 0,5 до 0,2).
[331] Обращаясь вновь к Фиг. 20, в операции 2012 процесс 2000 создает новые объекты. Например, как упомянуто выше, никакая гипотеза (или, что эквивалентно, объект) не ассоциирована с наблюдениями 2322 от датчиков. При этом наблюдения 2322 от датчиков могут соответствовать новому объекту, который ранее не поддерживался процессом 2000. При этом процесс 2000 может создать новый объект, соответствующий наблюдениям 2322 от датчиков. Процесс 2000 также может назначить (например, создать) одну или более гипотез новому объекту, как описано выше.
[332] В одном примере новое наблюдение от датчика должно соответствовать определенным критериям, прежде чем на основании наблюдения от датчика будет создан новый объект. Если наблюдение от датчика не соответствует критериям, процесс 2000 может игнорировать наблюдение от датчика, и объект не будет создан. В одном примере критерии могут относиться к размеру (например, ограничительной рамке, геометрии и т.д.) наблюдения от датчика. Например, если определено, что наблюдение от датчика соответствует объекту, который имеет размер 0,25 метра в каждом измерении, объект считается слишком маленьким, и наблюдение от датчика игнорируется. В таком случае наблюдение от датчика может быть обусловлено шумом в измерении датчика.
[333] Операция 2002 изменяет (т.е. создает и поддерживает) частицы. Операция 2002 позволяет добавлять и/или удалять частицы. Например, в момент времени t=0 операция 2002 может создать три частицы, соответствующие гипотезам «движение налево», «движение прямо» и «движение направо» на виде 2110 по Фиг. 21.
X
X
и
X
.
X = {X
, X
}
X
X
d
c
c
d
.
d
c
[334] Как упомянуто выше, состояние объекта (обозначено ) может бытьразделено на дискретную информацию о состоянии (обозначенную )непрерывную информацию о состоянии (обозначенную )Такимобразом, Как упомянутовыше, каждая из дискретной информации о состоянии  и непрерывной информации о состоянии  может включать в себя одну или более величин.
, X
X
.
d
c
[335] Дискретная информация о состоянии, может использоваться для определения (например, выбора, использования или иного определения) модели движения для объекта. Модель движения также может называться моделью перехода между состояниями или моделью процесса. Модель движения описывает (например, в виде математической, алгоритмической или иной модели), как объект движется, маневрирует, ведет себя и т.п. при определенных критериях. Например, учитывая намерение «поворот направо», модель движения объекта, классифицированного как «автомобиль», может указывать на то, что автомобиль замедляется перед поворотом, а модель движения объекта, классифицированного как «грузовик», может указывать на то, что грузовик замедляется и делает широкий поворот направо. В качестве другого примера, учитывая намерение «движение прямо», модель движения объекта, классифицированного как «автомобиль», может указывать, что автомобиль сохраняет свою текущую скорость (как указано в непрерывной информации о состоянии )Модели движения могут быть доступны на основании классификации объектов. Классификация объекта может включать в себя стиль вождения. Например, классификация может представлять собой «автомобиль с агрессивным вождением» и «автомобиль с неторопливым вождением». В одном примере, стиль вождения может быть отделён от классификации. То есть стиль вождения может поддерживаться в виде переменной состояния, отдельной от классификации. Таким образом, модель движения может быть основана на множестве переменных состояния.
[336] Для каждого сочетания дискретных значений состояния может быть сформирована одна частица для оценки непрерывных состояний с использованием модели движения, ассоциированной с сочетанием дискретных значений состояния. То есть модель движения определяет (и может использоваться для определения), как текущее состояние объекта для определённой гипотезы изменяется на будущее состояние. Будущее состояние прогнозируется с использованием модели движения для дискретных будущих моментов времени (например, каждые 0,5 секунды в течение следующих 6 секунд).
[337] Операция 2004 соответствует ответу на вопрос: Куда движется частица? Более конкретно, операция 2004 отвечает на вопрос: На основании намерения для гипотезы и текущего известного и/или прогнозируемого состояния, ассоциированного с гипотезой, где находится прогнозируемый объект реального мира для упомянутой гипотезы?Операция 2004 отвечает на этот вопрос, прогнозируя траекторию частицы, как описано выше. Операция 2004 прогнозирует траекторию для каждой из по меньшей мере некоторых поддерживаемых гипотез.
[338] Частицы (т.е. представляющие гипотезы) также могут использоваться в операции 2006 при определении вероятности ассоциаций между наблюдениями от датчиков и гипотезами.
[339] Частицы также могут использоваться в операциях 2008 для обновления вероятности гипотез. То есть для обновления вероятностей для частиц (т.е. гипотез) используются новые наблюдения от датчиков. В операции 2010 процесс 2000 оценивает (например, вычисляет) состояние (например, местоположения) частиц на момент принятого наблюдения от датчика.
,
a priori
[340] Ассоциации между наблюдениями от датчиков и объектами реального мира, хранящимися в хранилище 2014 данныхне известны . Ассоциации между наблюдениями от датчиков и объектами реального мира выводятся, как описано выше в отношении Фиг. 23-24.
[341] Фиг. 20 также включает в себя блок-схему процесса 2050 использования модели мира в соответствии с настоящим изобретением. Как показано в системе 400 по Фиг. 4, модуль 406 принятия решений и блок 408 планирования траектории используют в качестве входных данных данные и/или решения из модуля 402 модели мира. При этом процесс 2050 может выполняться в ответ на запрос, например, от модуля 406 принятия решений, блока 408 планирования траектории, других модулей системы 400 или других модулей транспортного средства 100, которые используют модель реального мира.
[342] В ответ на запрос в операции 2052 процесс 2050 извлекает (например, ищет, находит, считывает или иным образом извлекает) объекты реального мира из хранилища 2014 данных. На этапе 2054 процесс 2000 прогнозирует (или обновляет) траектории извлеченных объектов до определенного временного горизонта в будущем (например, 6 секунд). В операции 2056 процесс 2050 выдает запрашивающему модулю объекты реального мира и прогнозируемые траектории.
[343] Фиг. 25 - это блок-схема процесса 2500 отслеживания и прогнозирования объектов реального мира посредством автономного транспортного средства в соответствии с настоящим изобретением. Объект реального мира описан выше в отношении объектов реального мира. Некоторые или все аспекты процесса 2500 могут быть реализованы в транспортном средстве, включая транспортное средство 100, показанное на Фиг. 1 и транспортное средство 202, показанное на Фиг. 2, или в вычислительном устройстве, включая управляющее устройство 232, показанное на Фиг. 2. В варианте реализации некоторые или все аспекты процесса 2500 могут быть реализованы в системе, объединяющей некоторые или все признаки, описанные в данном документе. Например, процесс 2500 может использоваться модулем 402 модели мира по Фиг. 4.
[344] В операции 2502 процесс 2500 принимает от датчиков AV первые данные наблюдения (т.е. наблюдения от первого датчика). Первые данные наблюдения могут быть приняты как описано в отношении операции 2006 по Фиг. 20. На этапе 2504 процесс 2500 ассоциирует первые данные наблюдения с первым объектом реального мира. Первые данные наблюдения могут быть ассоциированы с первым объектом реального мира как описано в отношении операции 2006 по Фиг. 20. В операции 2506 процесс 2500 определяет гипотезы для первого объекта реального мира. Гипотеза соответствует намерению первого объекта реального мира. В одном примере гипотеза может в качестве дополнения или альтернативы соответствовать классификации первого объекта реального мира. Намерение может соответствовать возможному маршруту первого объекта реального мира. Гипотезы могут быть определены, например, как описано в отношении операции 2002 по Фиг. 20.
[345] В операции 2508 процесс 2500 определяет соответствующую вероятность гипотезы для каждой из гипотез. Вероятность гипотезы указывает на вероятность того, что первый объект реального мира следует намерению (например, действует в соответствии с ним). Вероятность гипотезы может быть определена, как описано, например, в отношении операции 2008 по Фиг. 20. В операции 2510 процесс 2500 определяет соответствующее состояние по меньшей мере для одной гипотезы из упомянутых гипотез. Состояние включает в себя прогнозируемые положения первого объекта реального мира. Состояние может быть определено, например, как описано в отношении операции 2010 по Фиг. 20.
[346] В одном примере состояние может включать в себя большее число, меньшее число или иную информацию по сравнению с оцененным текущим положением, скоростью и геометрией, и ассоциированные с ними неопределенности (например, вероятности). Понятие «текущий» в данном контексте означает «последнее обновление». Например, если первый объект последний раз обновлён (например, когда принято наблюдение от датчика) в момент времени t=T0, то самое текущее состояние (например, положение) первого объекта является состоянием, определенным в момент времени t=T0, и прогнозируемые состояния первого объекта начинаются в момент времени t=T0+dt; если второй объект последний раз обновлён в момент времени t=T1, то самое текущее состояние второго объекта является состоянием, определенным в момент времени t=T1, и прогнозируемые состояния второго объекта начинаются в момент времени t=T1+dt. Состояние определяется (например, обновляется, прогнозируется или иным образом определяется) на основании наблюдения от датчика и последовательности прогнозируемых состояний. Прогнозируемое состояние может включать в себя прогнозируемые положения, прогнозируемые скорости, прогнозируемые геометрии и ассоциированные с ними неопределенности прогнозирования (например, вероятности).
[347] В операции 2512 процесс 2500 в ответ на запрос обеспечивает гипотезу из упомянутых гипотез на основании соответствующей вероятности гипотезы для каждой из гипотез. Процесс 2500 может обеспечить гипотезу как описано в отношении процесса 2050 по Фиг. 20.
[348] В одном примере гипотеза из упомянутых гипотез может быть определена с использованием картографической информации, такой как картографические данные HD, распознаваемые картографические данные или другие типы картографических данных.
[349] В одном примере процесс 2500 может включать в себя прием от датчиков AV вторых данных наблюдения, ассоциирование вторых данных наблюдения с первым объектом реального мира и обновление состояния на основании вторых данных наблюдения. В одном примере обновление состояния может быть выполнено с использованием расширенной фильтрации Калмана.
[350] В одном примере процесс 2500 может включать в себя прогнозирование на основании модели движения первого объекта реального мира соответствующей траектории по меньшей мере для некоторых гипотез. В одном примере прогнозирование соответствующей траектории для гипотезы может быть дополнительно основано на одном из большего числа, меньшего числа или других факторах, отличных от классификации, намерения и опорной траектории движения для гипотезы. Соответствующая траектория может быть спрогнозирована, как описано выше в отношении операции 2004 по Фиг. 20. В одном примере прогнозирование соответствующей траектории может включать в себя определение опорной траектории движения для первого объекта реального мира и прогнозирование соответствующей траектории на основании модели движения таким образом, чтобы текущий прогнозируемый маршрут первого объекта реального мира совпадал с опорной траекторией движения, как описано, например, в отношении Фиг. 22.
[351] В одном примере процесс 2500 может включать в себя приём от датчиков AV вторых данных наблюдения и ассоциирование вторых данных наблюдения с одним из первого объекта реального мира и второго объекта реального мира. Ассоциирование вторых данных наблюдения с одним из первого объекта реального мира и второго объекта реального мира может быть таким, как описано в отношении Фиг. 23. При этом ассоциирование вторых данных наблюдения с одним из первого объекта реального мира и второго объекта реального мира может включать в себя определение, объектов реального мира в области гейтирования с использованием области гейтирования в отношении вторых данных наблюдения; и в случае, если первый объект реального мира находится в зоне гейтирования, определение вероятности ассоциации для того, что вторые данные наблюдения соответствуют первому объекту реального мира.
[352] В одном примере процесс 2500 дополнительно включает в себя обновление соответствующей вероятности гипотезы для каждой из гипотез на основании вероятности ассоциации (например, как описано в отношении уравнения (2) и обновление состояния первого объекта реального мира (для пример, как описано в отношении EKF).
[353] В одном примере процесс 2500 дополнительно включает в себя приём от датчиков AV вторых данных наблюдения; при условии, что вторые данные наблюдения соответствуют критерию, ассоциирование вторых данных наблюдения со вторым объектом реального мира; и при условии, что вторые данные наблюдения не соответствуют критерию, игнорирование вторых данных наблюдения.
[354] Фиг. 26 представляет собой пример 2600 прогнозирования траектории в соответствии с настоящим изобретением. Пример 2600 иллюстрирует пример операции 2004 по Фиг. 20. Пример 2600 включает в себя объект 2602 реального мира. Объект 2602 реального мира может быть транспортным средством 2202 по Фиг. 22. Объект 2602 реального мира иллюстрирует положение транспортного средства 2202 в момент времени t=T0 (например, момент времени, в который должна быть определена траектория).
[355] Пример 2600 также включает в себя опорные положения, такие как опорное положение 2604 вдоль опорной траектории движения, такой как опорная траектория 2208 движения по Фиг. 22. Пример 2600 также включает в себя положения, такие как прогнозируемое положение 2606, вдоль прогнозируемой траектории, например, траектории 2212 по Фиг. 22. Прогнозируемая траектория состоит из последовательности прогнозируемых состояний объекта и ковариаций в будущие моменты времени (например, временных меток). Прогнозируемые состояния включают в себя соответствующие прогнозируемые положения в будущие моменты времени. Пример 2600 иллюстрирует четыре прогнозируемых состояния (включая положения) в моменты времени: прогнозируемое состояние в момент времени t=T0 + ∆t, прогнозируемое состояние в момент времени t=T0+2∆t, прогнозируемое состояние в момент времени t=T0. + 3Δt, и прогнозируемое состояние в момент времени t=T0+4Δt (то есть прогнозируемое положение 2606). ∆t представляет собой временной шаг (например, половина секунды, одна секунда и т.д.). Прогнозируемые положения вдоль прогнозируемой траектории показаны как имеющие различия размеров и форм. Размеры и формы иллюстрируют ковариацию положений (например, координаты (x, y) для прогнозируемых состояний. Как упомянуто выше, прогнозируемые состояния могут включать в себя скорость и геометрию, которые не показаны в примере 2600.
[356] Фиг. 27 - это блок-схема процесса 2700 прогнозирования траектории в соответствии с настоящим изобретением. Процесс 2700 может быть реализован операцией 2004 по Фиг. 20. Использование исходного состояния (т.е. состояния объекта 2602 реального мира в момент времени Т=Т0) и опорная траектория движения (т.е. опорные положения, такие как опорное положение 2604) вдоль опорной траектории движения, процесс 2700 определяет то (например, вычисляет или иным образом определяет) прогнозируемую траекторию, такую как траектория 2212 по Фиг. 22, которая сходится к опорной траектории движения.
[357] Процесс 2700 принимает (например, использует) в качестве входных данных опорную траекторию движения. Опорная траектория движения состоит из опорных состояний для объекта (т.е. объекта реального мира), которые указывают желаемые состояния объекта в указанные временные метки (т.е. моменты времени в будущем). Процесс 2700 может использовать для прогнозирования (например, принимать в качестве ввода, использовать значение по умолчанию или иным образом использовать) отрезок времени. Как упоминалось выше, прогнозируемая траектория состоит из прогнозируемых состояний в определенные временные метки (т.е. моменты времени в будущем). Процесс 2700 повторяется до тех пор, пока не будут вычислены все прогнозируемые состояния, каждое из которых относится к соответствующей временной метке. На первой итерации процесса 2700 начальное состояние устанавливается равным состоянию в момент времени t=T0.
[358] В операции 2702 процесс 2700 находит (например, вычисляет или иным образом находит) опорное состояние из опорной траектории движения с учетом начального состояния.
[359] В операции 2704 процесс 2700 определяет (например, вычисляет, рассчитывает и т.д.) прогнозируемое состояние с использованием исходного состояния и опорного состояния. В операции 2704 для определения прогнозируемого состояния может использоваться уравнение (4).
(4)
[360] В уравнении (4) - это начальное состояние в момент времени t, - опорное состояние в момент времени t, - размер шага прогнозирования,  - прогнозируемое состояние в момент времени t + ∆t,  - ковариация начального состояния в момент времени t,  - якобиан модели движения объекта, траектория которого прогнозируется,  - ковариация шума модели движения, и - ковариация прогнозируемого состояния в момент t + ∆t.
[361] В операции 2706 процесс 2700 определяет, соблюдена ли длительность прогнозирования. То есть процесс 2700 определяет, было ли вычислено соответствующее прогнозируемое состояние для всех желаемых моментов времени в будущем. Если это так, процесс 2700 завершается в операции 2708; в противном случае процесс переходит к операции 2710. В операции 2710 процесс 2700 устанавливает начальное состояние в прогнозируемое состояние в операции 2704. Затем процесс 2700 переходит к операции 2702 для прогнозирования следующего состояния.
[362] Для простоты пояснения, каждый из процессов 800, 1300, 1800, 2000, 2050, 2500 и 2700 изображен и описан как последовательность операций. Однако операции в соответствии с данным изобретением могут происходить в различном порядке и/или одновременно. Кроме того, могут быть использованы другие этапы или операции, не представленные и не описанные в данном документе. Кроме того, для реализации технологии в соответствии с раскрытым изобретением могут потребоваться не все из проиллюстрированных операций.
[363] В контексте настоящего документа понятия «водитель» или «оператор» могут использоваться взаимозаменяемо. В контексте настоящего документа понятия «торможение» или «замедление» могут использоваться взаимозаменяемо. В контексте настоящего документа понятия «компьютер» или «вычислительное устройство» включают в себя любой модуль или сочетание модулей, способных выполнять любой способ или любую его часть или части, раскрытые в данном документе.
[364] В контексте настоящего документа понятие «команды» может включать в себя указания или выражения для выполнения любого способа или любой его части или частей, раскрытых в данном документе, и они могут быть реализованы в аппаратном обеспечении, программном обеспечении или любом их сочетании. Например, команды могут быть реализованы в виде информации, такой как компьютерная программа, сохраняемая в памяти, которая может выполняться процессором для выполнения любого из соответствующих способов, алгоритмов, аспектов или их сочетаний, как описано в данном документе. В некоторых вариантах реализации команды или их часть могут быть реализованы в виде специализированного процессора или схемы, которая может включать в себя специализированное аппаратное обеспечение для выполнения любого из способов, алгоритмов, аспектов или их сочетаний, как описано в данном документе. В некоторых вариантах реализации части инструкций могут быть распределены между множеством процессоров в одном устройстве или во множестве устройств, которые могут осуществлять связь напрямую или по сети, такой как локальная сеть, глобальная сеть, Интернет или их сочетание.
[365] В контексте настоящего документа понятия «пример», «вариант осуществления», «вариант реализации», «аспект», «признак» или «элемент» указывают на то, что они служат в качестве примера, экземпляра или иллюстрации. Если в явном виде не указано иное, любой пример, вариант осуществления, вариант реализации, аспект, признак или элемент являются независимыми от каждого другого примера, варианта осуществления, варианта реализации, аспекта, признака или элемента, и могут использоваться в сочетании с любым другим примером, вариантом осуществления, вариантом реализации, аспектом, признаком или элементом.
[366] В контексте настоящего документа понятия «определять» и «идентифицировать» или любые их варианты включают в себя выбор, установление, вычисление, поиск, приём, определение, установление, получение или иную идентификацию или определение любым способом с использованием одного или более устройств, показанных и описанных в настоящем документе.
[367] В контексте настоящего документа понятие «или» подразумевает значение включающего «или», а не исключающего «или». То есть, если не указано иное или контекст в явном виде не указывает на иное, «X включает A или B» подразумевает обозначение любой из их естественных неисключающих перестановок. Если X включает в себя A; X включает в себя B; или X включает в себя как A, так и B, то «X включает A или B» выполняется в любом из вышеупомянутых случаев. Кроме того, форму единственного числа, используемую в данной заявке и прилагаемой формуле изобретения, в общем случае следует истолковывать как означающую «один или более», если не указано иное или если из контекста не следует явным образом, что она означает форму единственного числа.
[368] Кроме того, для простоты пояснения, хотя чертежи и описание в данном документе могут включать в себя последовательности или серии операций или этапов, элементы способов, раскрытых в данном документе, могут происходить в различном порядке или одновременно. Кроме того, элементы способов, раскрытых в данном документе, могут происходить вместе с другими элементами, в явном виде не представленными и не описанными в данном документе. Кроме того, не все элементы описанных здесь способов могут потребоваться для реализации способа в соответствии с данным изобретением. При том, что аспекты, признаки и элементы описаны в данном документе в конкретных сочетаниях, каждый аспект, признак или элемент может использоваться независимо или в различных сочетаниях с другими аспектами, особенностями и/или элементами или без них.
[369] Хотя раскрытая технология была описана в отношении определенных вариантов осуществления, следует понимать, что раскрытая технология не должна ограничиваться раскрытыми вариантами осуществления, а, напротив, подразумевает охват различных изменений и эквивалентных конфигураций, включенных в объем прилагаемой формулы изобретения, объем которой должен соответствовать самой широкой интерпретации, соответствующей законодательству, охватывая все такие изменения и эквивалентные конфигурации.