ПЛАНИРОВАНИЕ ТРАЕКТОРИИ
TRAJECTORY PLANNING

Область техники, к которой относится изобретение
[1] Данная заявка относится к автономным транспортным средствам, включая способы, устройства, системы и постоянные машиночитаемые носители для планирования траектории для автономных транспортных средств.
Уровень техники
[2] Увеличение использования автономных транспортных средств создает потенциал для более эффективного движения пассажиров и грузов по транспортной сети. Кроме того, использование автономных транспортных средств может привести к повышению безопасности транспортных средств и более эффективной связи между транспортными средствами. Однако крайне важно, чтобы автономные транспортные средства могли обнаруживать статические объекты и/или прогнозировать траектории других находящихся поблизости динамических объектов для планирования траектории таким образом, чтобы автономные транспортные средства могли безопасно перемещаться по транспортной сети и избегать таких объектов.
Раскрытие изобретения
[3] В данном документе раскрыты аспекты, признаки, элементы и варианты реализации для удаленной поддержки автономной работы транспортного средства. Варианты реализации поддерживают удаленную работу, которая продолжает существующий маршрут до альтернативной конечной точки в пункте назначения.
[4] Аспект раскрытых вариантов реализации относится к способу избегания препятствий автономным транспортным средством (AV). Устройство включает в себя память и процессор. Способ включает в себя обнаружение первого объекта вдоль грубой траектории движения в доступной для движения области для AV; приём прогнозируемой траектории первого объекта; определение на основании прогнозируемой траектории первого объекта скорректированной доступной для движения области; и определение траектории AV по скорректированной доступной для движения области.
[5] Аспект раскрытых вариантов реализации относится к системе избегания препятствий автономным транспортным средством (AV). Система включает в себя блок планирования траектории, выполненный с возможностью обнаружения первого объекта вдоль грубой траектории движения в доступной для движения области для AV; приёма прогнозируемой траектории первого объекта; определения на основании прогнозируемой траектории первого объекта скорректированной доступной для движения области; и определения траектории AV по скорректированной доступной для движения области.
[6] Аспект раскрытых вариантов реализации относится к способу избегания препятствий автономным транспортным средством (AV). Способ включает в себя обнаружение первого объекта вдоль грубой траектории движения в доступной для движения области для AV, определение скорректированной доступной для движения области и определение траектории 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] Транспортное средство, такое как автономное транспортное средство или полуавтономное транспортное средство, может двигаться по участку транспортной сети для транспортных средств. Транспортная сеть для транспортных средств может включать в себя одну или более недоступных для движения областей, таких как здание; одну или более частично доступных для движения областей, таких как область парковки (например, парковка, парковочное место и т.п.); одну или более доступных для движения областей, таких как дороги (которые включают в себя полосы движения, осевые линии, перекрестки и т.д.); или их сочетание.
[24] Транспортное средство может включать в себя один или более датчиков. Движение по транспортной сети для транспортных средств может включать в себя формирование или сбор датчиками данных датчиков, например данных, соответствующих условиям работы транспортного средства или их части. Например, данные датчиков могут включать в себя информацию, соответствующую одному или более внешним объектам (или просто объектам).
[25] Внешний объект может быть статическим объектом. Статический объект - это объект, который неподвижен и не ожидается, что он будет двигаться в следующие несколько секунд. Примеры статических объектов включают в себя велосипед без водителя, холодное транспортное средство, пустое транспортное средство, дорожный знак, стену, здание, выбоину и т.д.
[26] Внешний объект может быть остановленным объектом. Остановленный объект - это объект, который неподвижен, но может начать движение в любой момент. Примеры остановленных объектов включают в себя транспортное средство, которое остановлено на светофоре, и транспортное средство на обочине дороги, в котором находится пользователь (например, водитель). В некоторых вариантах реализации остановленные объекты считаются статическими объектами.
[27] Внешний объект может быть динамическим (т.е. движущимся) объектом, таким как пешеход, удаленное транспортное средство, мотоцикл, велосипед и т.д. Динамический объект может быть приближающимся (по направлению к транспортному средству) или может двигаться в том же направлении, что и транспортное средство. Динамический объект может двигаться продольно или поперечно по отношению к транспортному средству. Статический объект может стать динамическим объектом, и наоборот.
[28] В общем, движение (например, движение в пределах) по транспортной сети для транспортных средств можно рассматривать как поведение робота. То есть можно ожидать прогнозируемые реакции транспортного средства на определенные ситуации (например, дорожные ситуации или ситуации на дороге). Например, наблюдатель за дорожной ситуацией может предвидеть, какой будет реакция транспортного средства в течение следующих нескольких секунд. То есть, например, в то время как среда движения (например, транспортная сеть для транспортных средств, дороги) может быть динамической, можно прогнозировать/предвидеть реакцию, например, транспортного средства (например, управляемого человеком, дистанционно управляемого и т.д.) на условия на дороге.
[29] Реакцию(и) можно прогнозировать, поскольку движение по транспортной сети для транспортных средств регулируется правилами дорожного движения (например, транспортное средство, поворачивающее налево, должно уступить дорогу встречному движению, транспортное средство должно двигаться между линиями разметки полосы движения), общепринятыми правилами (например, на знаке остановки уступают дорогу помехе справа) и физическими ограничениями (например, стационарный объект не совершает мгновенное боковое перемещение на полосу приоритетного движения транспортного средства). Дополнительные примеры прогнозируемых реакций проиллюстрированы на фиг. 3.
[30] Варианты реализации согласно данному изобретению определяют траекторию для автономного транспортного средства путем обнаружения (например, распознавания, наблюдения и т.д.) присутствия статических объектов и предвидения (то есть прогнозирования) траекторий других пользователей транспортной сети для транспортных средств (например, участников дорожного движения, динамических объектов). Варианты реализации согласно данному изобретению могут точно и эффективно планировать траектории динамических объектов (например, других участников дорожного движения), способствуя плавному управлению (например, остановке, ожиданию, ускорению, замедлению, перестроению и т.д.) автономного транспортного средства и социально приемлемому поведению (например, работе) автономного транспортного средства.
[31] Как дополнительно описано ниже, варианты реализации блока планирования траектории в соответствии с данным изобретением могут формировать плавную траекторию для автономного транспортного средства (AV) от исходного местоположения до местоположения назначения, например, путем приема данных карты в высоком разрешении (HD), данных телеуправления и других исходных данных; сшивания (например, слияния, соединения и т.д.) входных данных в продольном направлении для определения профиля скорости для маршрута от исходного местоположения до местоположения назначения (например, профиля скорости, определяющего, с какой скоростью AV может двигаться по различным участкам маршрута от исходного местоположения до местоположения назначения); и вызов в дискретные моменты времени (например, каждые несколько миллисекунд) обработки блоком планирования траектории ограничений, относящихся к статическим и динамическим объектам, которые наблюдаются на основании данных датчиков AV, для формирования плавной траектории для AV для следующего временного окна (например, время упреждения 6 секунд).
[32] Хотя они описаны в данном документе в отношении автономного транспортного средства, способы и устройства, описанные в данном документе, могут быть реализованы в любом транспортном средстве, выполненном с возможностью автономной или полуавтономной работы. Хотя они описаны в отношении транспортной сети для транспортных средств, описанные в данном документе способ и устройство могут включать в себя работу автономного транспортного средства в любой области, доступной для движения транспортного средства.
[33] Для более подробного описания некоторых вариантов реализации идей, изложенных в данном документе, сначала обратимся к окружению, в котором может быть реализовано данное изобретение.
[34] Фиг. 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.
[35] Трансмиссия 104 включает в себя источник 106 мощности, передачу 108, блок 110 рулевого управления, привод 112 транспортного средства и может включать в себя любой другой элемент или сочетание элементов трансмиссии, например подвеску, приводной вал, оси или выхлопную систему. Хотя колеса 132/134/136/138 показаны отдельно, они могут быть включены в трансмиссию 104.
[36] Источником 106 мощности может быть любое устройство или сочетание устройств, выполненных с возможностью обеспечения энергии, такой как электрическая энергия, тепловая энергия или кинетическая энергия. Например, источник 106 мощности включает в себя двигатель, такой как двигатель внутреннего сгорания, электромотор или сочетание двигателя внутреннего сгорания и электромотора, и выполнен с возможностью обеспечения кинетической энергии в качестве движущей силы для одного или более колес 132/134/136/138. В некоторых вариантах осуществления источник 106 мощности включает в себя блок потенциальной энергии, такой как одна или более батарей сухих элементов, таких как никель-кадмиевые (NiCd), никель-цинковые (NiZn), никель-металлогидридные (NiMH), литий-ионные (Li-ion); солнечные батареи; топливные элементы; или любое другое устройство, способное обеспечивать энергию.
[37] Передача 108 принимает энергию, такую как кинетическая энергия, от источника 106 мощности и передает энергию на колеса 132/134/136/138, чтобы обеспечить движущую силу. Передача 108 может управляться контроллером 114, приводом 112 транспортного средства или обоими из них. Блок 110 рулевого управления может управляться контроллером 114, приводом 112 транспортного средства или и тем, и другим, и управлять колесами 132/134/136/138 для рулевого управления транспортным средством. Привод 112 транспортного средства может принимать сигналы от контроллера 114 и может приводить в действие или управлять источником 106 мощности, передачей 108, блоком 110 рулевого управления или любым их сочетанием для управления транспортным средством 100.
[38] В проиллюстрированном варианте осуществления контроллер 114 включает в себя блок 116 определения местоположения, блок 118 электронной связи, процессор 120, память 122, пользовательский интерфейс 124, датчик 126 и интерфейс 128 электронной связи. Хотя они показаны как единый блок, любой один или более элементов контроллера 114 может быть интегрирован в любое количество отдельных физических блоков. Например, пользовательский интерфейс 124 и процессор 120 могут быть интегрированы в первый физический блок, а память 122 может быть интегрирована во второй физический блок. Хотя это не показано на фиг. 1, контроллер 114 может включать в себя источник мощности, например аккумулятор. Хотя они показаны как отдельные элементы, блок 116 определения местоположения, блок 118 электронной связи, процессор 120, память 122, пользовательский интерфейс 124, датчик 126, интерфейс 128 электронной связи или любое их сочетание могут быть интегрированы в один или более электронных блоков, схем или микросхем.
[39] В некоторых вариантах осуществления процессор 120 включает в себя любое устройство или сочетание устройств, существующих в настоящее время или тех, которые будут разработаны позднее, способных манипулировать сигналом или другой информацией или обрабатывать их, например оптические процессоры, квантовые процессоры, молекулярные процессоры или их сочетание. Например, процессор 120 может включать в себя один или более специализированных процессоров, один или более цифровых сигнальных процессоров, один или более микропроцессоров, один или более контроллеров, один или более микроконтроллеров, одну или более интегральных схем, одну или более специализированных интегральных схем, одну или более программируемых пользователем вентильных матриц, одну или более программируемых логических матриц, один или более программируемых логических контроллеров, один или более конечных автоматов или любое их сочетание. Процессор 120 может быть соединён при функционировании с блоком 116 определения местоположения, памятью 122, интерфейсом 128 электронной связи, блоком 118 электронной связи, пользовательским интерфейсом 124, датчиком 126, трансмиссией 104 или любым их сочетанием. Например, процессор может быть соединён при функционировании с памятью 122 через шину 130 связи.
[40] Процессор 120 может быть выполнен с возможностью выполнения инструкций. Такие инструкции могут включать в себя инструкции для дистанционного управления, которые могут использоваться для управления транспортным средством 100 из удаленного места, включая центр управления. Инструкции для дистанционного управления могут храниться в транспортном средстве 100 или приниматься из внешнего источника, такого как центр управления движением, или серверные вычислительные устройства, которые могут включать в себя серверные вычислительные устройства на основе облачных вычислений. Дистанционное управление было введено в предварительной заявке на патент США № 62/633,414, поданной 21 февраля 2018 г. и озаглавленной “REMOTE OPERATION EXTENDING AN EXISTING ROUTE TO A DESTINATION”.
[41] Память 122 может включать в себя любой физический постоянный используемый компьютером или машиночитаемый носитель, способный, например, содержать, хранить, передавать или транспортировать машиночитаемые инструкции или любую информацию, связанную с ними, для использования процессором 120 или в связи с ним. Память 122 может включать в себя, например, один или более твердотельных накопителей, одну или более карт памяти, один или более съемных носителей, одно или более постоянных запоминающих устройств (ROM), одно или более запоминающих устройств с произвольным доступом (RAM), один или более регистров, одно или более запоминающих устройств низкой мощности с двойной скоростью передачи данных (LPDDR), одну или более кэш-памяти, один или более дисков (включая жесткий диск, гибкий диск или оптический диск), магнитную или оптическую карту, или любой тип постоянного носителя, подходящий для хранения электронной информации, или любое их сочетание.
[42] Интерфейс 128 электронной связи может быть антенной беспроводной связи, как показано, портом проводной связи, портом оптической связи или любым другим проводным или беспроводным блоком, способным взаимодействовать с проводной или беспроводной средой 140 электронной связи.
[43] Блок 118 электронной связи может быть выполнен с возможностью передачи или приема сигналов через проводную или беспроводную среду 140 электронной связи, например, через интерфейс 128 электронной связи. Хотя это явно не показано на фиг. 1, блок 118 электронной связи выполнен с возможностью передачи, приема или того и другого через любую проводную или беспроводную среду связи, такую как радиочастотная (RF), ультрафиолетовая (UV), на основе видимого света, оптоволоконная, проводная линия или их сочетание. Хотя на фиг. 1 показан один блок 118 электронной связи и один интерфейс 128 электронной связи, может использоваться любое количество блоков связи и любое количество интерфейсов связи. В некоторых вариантах осуществления блок 118 электронной связи может включать в себя блок специализированной связи ближнего действия (DSRC), беспроводной блок безопасности (WSU), IEEE 802.11p (WiFi-P) или их сочетание.
[44] Блок 116 определения местоположения может определять информацию геолокации, включая, помимо прочего, долготу, широту, высоту, направление движения или скорость транспортного средства 100. Например, блок определения местоположения включает в себя блок глобальной системы позиционирования (GPS), такой как блок Национальной ассоциации морской электроники (NMEA) с возможностью работы с широкозонной усиливающей системой (WAAS), блок радиотриангуляции или их сочетание. Блок 116 определения местоположения может использоваться для получения информации, которая представляет, например, текущий курс транспортного средства 100, текущее положение транспортного средства 100 в двух или трех измерениях, текущую угловую ориентацию транспортного средства 100 или их сочетание.
[45] Пользовательский интерфейс 124 может включать в себя любой блок, который может использоваться человеком в качестве интерфейса, включая любое из виртуальной клавиатуры, физической клавиатуры, сенсорной панели, дисплея, сенсорного экрана, громкоговорителя, микрофона, видеокамеры, датчика и принтера. Пользовательский интерфейс 124 может быть соединён при функционировании с процессором 120, как показано, или с любым другим элементом контроллера 114. Хотя он показан как один блок, пользовательский интерфейс 124 может включать в себя один или более физических блоков. Например, пользовательский интерфейс 124 включает в себя аудиоинтерфейс для выполнения аудиосвязи с человеком и сенсорный дисплей для выполнения визуальной и сенсорной связи с человеком.
[46] Датчик 126 может включать в себя один или более датчиков, таких как массив датчиков, которые могут быть выполнены с возможностью обеспечения информации, которая может использоваться для управления транспортным средством. Датчик 126 может обеспечивать информацию о текущих рабочих характеристиках транспортного средства или его окружения. Датчик 126 включает в себя, например, датчик скорости, датчики ускорения, датчик угла поворота рулевого управления, датчики, связанные со сцеплением, датчики, связанные с торможением, или любой датчик или сочетание датчиков, которые выполнены с возможностью сообщения информации, относящейся к какому-либо аспекту текущей динамической ситуации с транспортным средством 100.
[47] В некоторых вариантах осуществления датчик 126 включает в себя датчики, которые выполнены с возможностью получения информации относительно физической среды, окружающей транспортное средство 100. Например, один или более датчиков обнаруживают геометрию дороги и препятствия, такие как неподвижные препятствия, транспортные средства, велосипедистов и пешеходов. Датчик 126 может представлять собой или включать в себя одну или более видеокамер, лазерных систем обнаружения, инфракрасных систем обнаружения, акустических систем обнаружения или любой другой подходящий тип устройства распознавания окружения транспортного средства или сочетание устройств, известных в настоящее время или тех, что будут созданы позднее. Датчик 126 и блок 116 определения местоположения могут быть объединены.
[48] Хотя это не показано отдельно, транспортное средство 100 может включать в себя контроллер траектории. Например, контроллер 114 может включать в себя контроллер траектории. Контроллер траектории может быть выполнен с возможностью получения информации, описывающей текущее состояние транспортного средства 100 и маршрут, запланированный для транспортного средства 100, и определения и оптимизации траектории для транспортного средства 100 на основании этой информации. В некоторых вариантах осуществления контроллер траектории выдает сигналы, выполненные с возможностью управления транспортным средством 100 таким образом, чтобы транспортное средство 100 следовало траектории, которая определяется контроллером траектории. Например, выходным сигналом контроллера траектории может быть оптимизированная траектория, которая может подаваться на трансмиссию 104, колеса 132/134/136/138 или и то, и другое. Оптимизированная траектория может быть входным управляющим сигналом, таким как набор углов поворота рулевого управления, причем каждый угол поворота рулевого управления соответствует моменту времени или положению. Оптимизированная траектория может представлять собой один или более путей, линий, кривых или их сочетание.
[49] Одно или более колес 132/134/136/138 могут быть управляемым колесом, которое поворачивается на угол поворота рулевого управления под управлением блока 110 рулевого управления; ведущим колесом, которое приводится во вращательное движение для приведения в движение транспортного средства 100 под управлением передачи 108; или управляемым и ведущим колесом, которое осуществляет рулевое управление и приводит в движение транспортное средство 100.
[50] Транспортное средство может включать в себя блоки или элементы, не показанные на фиг. 1, такие как корпус, модуль Bluetooth, блок радиосвязи с частотной модуляцией (FM), блок связи ближнего поля (NFC), жидкокристаллический блок отображения (LCD), блок отображения на органических светоизлучающих диодах (OLED), громкоговоритель или любое их сочетание.
[51] Фиг. 2 является схемой примера части системы 200 транспортировки и связи транспортного средства, в которой могут быть реализованы аспекты, признаки и элементы, раскрытые в данном документе. Система 200 транспортировки и связи транспортного средства включает в себя транспортное средство 202, такое как транспортное средство 100, показанное на Фиг. 1, и один или более внешних объектов, таких как внешний объект 206, который может включать в себя любой вид транспорта, такой как транспортное средство 100, показанное на Фиг. 1, пешехода, велосипедиста, а также сооружение любой формы, например здание. Транспортное средство 202 может двигаться через один или более участков транспортной сети 208 и может осуществлять связь с внешним объектом 206 через одно или более из сети 212 электронной связи. Хотя это явно не показано на Фиг. 2, транспортное средство может двигаться по территории, которая не включена в явном виде или полностью в транспортную сеть, например по бездорожью. В некоторых вариантах осуществления транспортная сеть 208 может включать в себя один или более датчиков 210 обнаружения транспортных средств, таких как индуктивный петлевой датчик, который можно использовать для обнаружения движения транспортных средств в транспортной сети 208.
[52] Сеть 212 электронной связи может быть системой множественного доступа, которая обеспечивает связь, такую как голосовая связь, передача данных, видеосвязь, обмен сообщениями или их сочетание, между транспортным средством 202, внешним объектом 206 и центром 230 управления. Например, транспортное средство 202 или внешний объект 206 могут принимать информацию, такую как информация, представляющая транспортную сеть 208, из центра 230 управления через сеть 212 электронной связи.
[53] Центр 230 управления включает в себя управляющее устройство 232, которое включает в себя некоторые или все функции контроллера 114, показанного на Фиг. 1. Управляющее устройство 232 может отслеживать и координировать движение транспортных средств, включая автономные транспортные средства. Управляющее устройство 232 может отслеживать состояние или состояние транспортных средств, таких как транспортное средство 202, и внешних объектов, таких как внешний объект 206. Управляющее устройство 232 может принимать данные транспортных средств и данные инфраструктуры, включающие в себя любое из: скорости транспортного средства; местоположение транспортного средства; состояние работы транспортного средства; место назначения транспортного средства; маршрут транспортного средства; данные датчиков транспортного средства; скорость внешнего объекта; расположение внешнего объекта; состояние работы внешнего объекта; место назначения внешнего объекта; маршрут внешнего объекта; и данные датчиков внешнего объекта.
[54] Кроме того, управляющее устройство 232 может устанавливать дистанционное управление одним или несколькими транспортными средствами, такими как транспортное средство 202, или внешними объектами, такими как внешний объект 206. Таким образом, управляющее устройство 232 может дистанционно управлять транспортными средствами или внешними объектами из удаленного места. Управляющее устройство 232 может обмениваться (отправлять или принимать) данными о состоянии с транспортными средствами, внешними объектами или вычислительным устройством, такими как транспортное средство 202, внешний объект 206 или серверное вычислительное устройство 234, по каналу беспроводной связи, такому как канал 226 беспроводной связи, или по каналу проводной связи, такому как канал 228 проводной связи.
[55] Серверное вычислительное устройство 234 может включать в себя одно или более серверных вычислительных устройств, которые могут обмениваться (отправлять или принимать) данными сигнала состояния с одним или более транспортными средствами или вычислительными устройствами, включая транспортное средство 202, внешний объект 206 или центр 230 управления, через сеть электронной связи 212.
[56] В некоторых вариантах осуществления транспортное средство 202 или внешний объект 206 обменивается данными по каналу 228 проводной связи, каналу 214/216/224 беспроводной связи или сочетанию любого количества или типов каналов проводной или беспроводной связи. Например, как показано, транспортное средство 202 или внешний объект 206 осуществляют связь по наземному каналу 214 беспроводной связи, по неназемному каналу 216 беспроводной связи или по их сочетанию. В некоторых вариантах реализации канал 214 наземной беспроводной связи включает в себя канал Ethernet, последовательный канал, канал Bluetooth, инфракрасный (IR) канал, ультрафиолетовый (UV) канал или любой канал, выполненный с возможностью электронной связи.
[57] Транспортное средство, такое как транспортное средство 202, или внешний объект, такой как внешний объект 206, могут осуществлять связь с другим транспортным средством, внешним объектом или центром 230 управления. Например, транспортное средство-носитель 202 или рассматриваемое транспортное средство может принимать одно или более автоматических сообщений между транспортными средствами, таких как базовое сообщение безопасности (BSM), из центра 230 управления по прямому каналу 224 связи или по сети 212 электронной связи. Например, центр 230 управления может осуществлять широковещательную передачу сообщения на транспортные средства-носители в пределах заданной дальности широковещательной передачи, такой как триста метров, или в заданную географическую область. В некоторых вариантах осуществления транспортное средство 202 принимает сообщение через третью сторону, такую как ретранслятор сигналов (не показан) или другое удаленное транспортное средство (не показано). В некоторых вариантах осуществления транспортное средство 202 или внешний объект 206 периодически передает одно или более автоматических сообщений между транспортными средствами на основании заданного интервала, такого как сто миллисекунд.
[58] Транспортное средство 202 может осуществлять связь с сетью 212 электронной связи через точку 218 доступа. Точка 218 доступа, которая может включать в себя вычислительное устройство, выполнена с возможностью осуществления связи с транспортным средством 202, с сетью 212 электронной связи, с центром 230 управления или с их сочетанием по проводным или беспроводным каналам 214/220 связи. Например, точка 218 доступа –представляет собой базовую станцию, базовую приемопередающую станцию (BTS), Узел B (Node-B), усовершенствованный Узел B (eNode-B), домашний Узел B (HNode-B), беспроводной маршрутизатор, проводной маршрутизатор, концентратор, ретранслятор, коммутатор или любое подобное проводное или беспроводное устройство. Хотя она показана как одно целое, точка доступа может включать в себя любое количество взаимосвязанных элементов.
[59] Транспортное средство 202 может осуществлять связь с сетью 212 электронной связи через спутник 222 или другое неназемное устройство связи. Спутник 222, который может включать в себя вычислительное устройство, может быть выполнен с возможностью связи с транспортным средством 202, с сетью 212 электронной связи, с центром 230 управления или с их сочетанием через одну или более линий 216/236 связи. Хотя он показан как одно целое, спутник может включать в себя любое количество взаимосвязанных элементов.
[60] Сеть 212 электронной связи может быть сетью любого типа, выполненной с возможностью передачи голосовых данных, данных или любого другого типа электронной связи. Например, сеть 212 электронной связи включает в себя локальную сеть (LAN), глобальную сеть (WAN), виртуальную частную сеть (VPN), мобильную или сотовую телефонную сеть, Интернет или любую другую систему электронной связи. Сеть 212 электронной связи может использовать протокол связи, такой как протокол управления передачей (TCP), протокол пользовательских датаграмм (UDP), Интернет-протокол (IP), транспортный протокол реального времени (RTP), гипертекстовый транспортный протокол (HTTP) или их сочетание. Хотя она показана как единое целое, сеть электронной связи может включать в себя любое количество взаимосвязанных элементов.
[61] В некоторых вариантах осуществления транспортное средство 202 осуществляет связь с центром 230 управления через сеть 212 электронной связи, точку 218 доступа или спутник 222. Центр 230 управления может включать в себя одно или более вычислительных устройств, которые могут обмениваться (отправлять или получать) данными от транспортного средства, такого как транспортное средство 202; данными от внешних объектов, включая внешний объект 206; или данными от вычислительного устройства, такого как серверное вычислительное устройство 234.
[62] В некоторых вариантах осуществления транспортное средство 202 идентифицирует участок или состояние транспортной сети 208. Например, транспортное средство 202 может включать в себя один или более бортовых датчиков 204, таких как датчик 126, показанный на Фиг. 1, который включает в себя датчик скорости, датчик оборотов колеса, камеру, гироскоп, оптический датчик, лазерный датчик, радарный датчик, акустический датчик или любой другой датчик или устройство или их сочетание, способную определять или идентифицировать участок или состояние транспортной сети 208.
[63] Транспортное средство 202 может двигаться по одному или более участкам транспортной сети 208, используя информацию, передаваемую через сеть 212 электронной связи, такую как информация, представляющая транспортную сеть 208, информация, идентифицированная одним или более бортовыми датчиками 204, или их сочетание. Внешний объект 206 может быть выполнен с возможностью всех или некоторых видов связи и действий, описанных выше в отношении транспортного средства 202.
[64] Для простоты на Фиг. 2 показано транспортное средство 202 в качестве транспортного средства-носителя, внешний объект 206, транспортная сеть 208, сеть 212 электронной связи и центр 230 управления. Однако может использоваться любое количество транспортных средств, сетей или вычислительных устройств. В некоторых вариантах осуществления система 200 транспортировки и связи транспортного средства включает в себя устройства, блоки или элементы, не показанные на Фиг. 2.
[65] Хотя показано, что транспортное средство 202 осуществляет связь с центром 230 управления по сети 212 электронной связи, транспортное средство 202 (и внешний объект 206) могут осуществлять связь с центром 230 управления по любому количеству прямых или опосредованных каналов связи. Например, транспортное средство 202 или внешний объект 206 могут осуществлять связь с центром 230 управления по прямому каналу связи, такому как канал связи Bluetooth. Хотя для простоты на Фиг. 2 показана одну из транспортной сети 208 и одну из сети 212 электронной связи, может использоваться любое количество сетей или устройств связи.
[66] Внешний объект 206 показан на Фиг. 2 как второе, удаленное транспортное средство. Внешний объект не ограничен другим транспортным средством. Внешний объект может быть любым элементом инфраструктуры, например забором, вывеской, зданием и т.д., который может передавать данные в центр 230 управления. Данные могут быть, например, данными датчиков от элемента инфраструктуры.
[67] Фиг. 3 является схемой ситуаций 300 прогнозируемых реакций согласно вариантам реализации данного изобретения. Ситуации 300 включают в себя ситуации 310-360, в которых можно прогнозировать реакцию автономного транспортного средства (AV) 302 и планировать траекторию.
[68] Ситуации 300 представляют собой примеры прогнозируемых ситуаций и реакций участников дорожного движения. Ситуации происходят (например, случаются, возникают и т.д.) в медленном масштабе времени. То есть, даже если AV 302 может двигаться с высокой скоростью (например, 60 миль в час (MPH)), ситуации 310-360 считаются медленными сценариями, потому что вследствие вычислительной мощности (например, вычислительной мощности процессора, такого как процессор 120 на Фиг.1, и/или контроллера, такого как контроллер 114 на Фиг.1) AV 302, прогнозирование реакций внешних объектов и определение траектории для автономного транспортного средства может быть выполнено в пределах интервала времени в долю секунды .
[69] AV 302 может включать в себя модуль моделирования мира, который может отслеживать по меньшей мере некоторые обнаруженные внешние объекты. Модуль моделирования мира может прогнозировать одну или более потенциальных гипотез (то есть траектории, пути и т.п.) для каждого отслеживаемого объекта из по меньшей мере некоторых из отслеживаемых объектов. AV 302 может включать в себя систему планирования траектории (или просто блок планирования траектории), которая может выполняться процессором для формирования (с учетом исходного состояния, желаемых действий и по меньшей мере некоторых отслеживаемых объектов с прогнозируемыми траекториями) реакции (например, траектории, пути и т.д.) с предотвращением столкновений, соблюдением правил и комфортностью.
[70] В ситуации 310 AV 302 обнаруживает (т.е. посредством компонента отслеживания) припаркованное транспортное средство 304 (т.е. статический объект) на обочине дороги. AV 302 (то есть блок планирования траектории AV 302) может планировать путь (то есть траекторию), как дополнительно описано ниже, который ведёт AV 302 вокруг припаркованного транспортного средства 304, как показано траекторией 306.
[71] Ситуация 320 представляет собой другую ситуацию, в которой AV 302 обнаруживает другой статический объект. Обнаруженный статический объект представляет собой выбоину 322. AV 302 может планировать траекторию 324 таким образом, что AV 302 проедет выбоину 322 так, чтобы ни одно из колёс AV 302 не попало в выбоину 322.
[72] В ситуации 330 AV 302 обнаруживает встречное транспортное средство 332 и припаркованное транспортное средство 334, которое находится на той же стороне дороги, что и встречное транспортное средство 332. Встречное транспортное средство 332 движется. По существу, встречное транспортное средство 332 является динамическим объектом. Встречное транспортное средство 332 движется в том же (или по меньшей мере по существу в том же) продольном направлении, что и AV 302. По существу, встречное транспортное средство 332 может быть классифицировано как продольное ограничение, как дополнительно описано ниже. Встречное транспортное средство 332 движется в направлении, противоположном направлению движения AV 302. Таким образом, встречное транспортное средство 332 можно классифицировать как встречное продольное ограничение. Припаркованное транспортное средство 334 представляет собой статический объект.
[73] AV 302 может прогнозировать (то есть посредством компонента прогнозирования) с определенной степенью уверенности, превышающей пороговое значение, что встречное транспортное средство 332, вероятно, будет следовать по траектории 336, чтобы избежать (например, объехать) припаркованное транспортное средство 334. Траектория 336 перекрывает осевую линию 337 дороги. Чтобы сохранить безопасное расстояние от встречного транспортного средства 332, блок планирования траектории AV 302 может спланировать траекторию 338, которая включает в себя изгиб в местоположении 339. Таким образом, запланированная траектория AV 302 перемещает AV 302 вправо с учётом прогнозируемого маршрута встречного транспортного средства 332.
[74] В ситуации 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. Затем блок планирования траектории выбирает одну из определенных возможных траекторий.
[75] В ситуации 350 компонент отслеживания AV 302 обнаруживает встречное транспортное средство 352, первое припаркованное транспортное средство 356 и второе припаркованное транспортное средство 357. Компонент прогнозирования AV 302 определяет, что встречное транспортное средство 352 следует по траектории 354. AV 302 выбирает траекторию 358 таким образом, чтобы AV 302 проехало первое припаркованное транспортное средство 356, ожидало между первым припаркованным транспортным средством 356 и вторым припаркованным транспортным средством 357, пока встречное транспортное средство 352 не проедет мимо, а затем перешло к прохождению второго припаркованного транспортного средства 357.
[76] В ситуации 360 компонент прогнозирования AV 302 определяет, что большой грузовик 362, скорее всего, поворачивает направо. Блок планирования траектории определяет (например, на основании модели движения большого грузовика), что, поскольку большому грузовику необходим большой радиус поворота, большой грузовик 362, вероятно, будет следовать по траектории 364. Поскольку траектория 364 пересекается с траекторией AV 302, блок планирования траектории AV 302 определяет траекторию 366 для AV 302 таким образом, чтобы AV 302 остановилось до тех пор, пока большой грузовик 362 не освободит путь.
[77] Фиг. 4 представляет собой пример компонентов системы 400 для автономного транспортного средства согласно вариантам реализации данного изобретения. Система 400 представляет собой программный конвейер автономного транспортного средства, такого как транспортное средство 100 на Фиг. 1. Система 400 включает в себя модуль 402 модели мира, модуль 404 планирования маршрута, модуль 406 принятия решений, блок 408 планирования траектории и модуль 410 оперативного управления траекторией. Другие примеры системы 400 могут включать в себя большее число, меньшее число или другие модули. В некоторых примерах модули могут быть объединены; в других примерах модуль может быть разделён на один или более других модулей.
[78] Модуль 402 модели мира принимает данные датчиков, например, от датчика 126 по Фиг. 1, и определяет (например, преобразует, обнаруживает и т.д.) объекты из данных датчиков. То есть, например, модуль 402 модели мира определяет участников дорожного движения из принятых данных датчиков. Например, модуль 402 модели мира может преобразовывать облако точек, принятое от оптического датчика обнаружения и определения расстояния (LiDAR) (т.е. датчика в составе датчика 126), в объект. Данные датчиков от нескольких датчиков могут быть объединены, чтобы определить (например, угадать принадлежность) объекты. Примеры объектов включают велосипед, пешеход, транспортное средство и т.д.
[79] Модуль 402 модели мира может принимать информацию датчиков, которая позволяет модулю 402 модели мира вычислять и поддерживать дополнительную информацию по меньшей мере для некоторых обнаруженных объектов. Например, модуль 402 модели мира может поддерживать состояние по меньшей мере для некоторых из определенных объектов. Например, состояние объекта может включать в себя ноль или более из скорости, положения, геометрии (например, ширины, высоты и глубины), классификации (например, велосипед, большой грузовик, пешеход, дорожный знак и т.д.) и местоположение. По существу, состояние объекта включает в себя дискретную информацию о состоянии (например, классификацию) и непрерывную информацию о состоянии (например, положение и скорость).
[80] Модуль 402 модели мира объединяет информацию датчиков, отслеживает объекты, поддерживает списки гипотез по меньшей мере для некоторых динамических объектов (например, объект A может двигаться прямо, поворачивать направо или поворачивать налево), создает и поддерживает прогнозируемые траектории для каждой гипотезы и поддерживает оценки правдоподобия каждой гипотезы (например, объект A движется прямо с вероятностью 90%, учитывая положение/скорость объекта и положения/скорости траектории). В одном примере модуль 402 модели мира использует экземпляр блока планирования траекторий для формирования прогнозируемых траекторий для каждой гипотезы объекта по меньшей мере для некоторых из динамических объектов. Например, экземпляр блока планирования траектории можно использовать для создания прогнозируемых траекторий для транспортных средств, велосипедов и пешеходов. В другом примере экземпляр блока планирования траектории может использоваться для формирования прогнозируемых траекторий для транспортных средств и велосипедов, а другой способ может использоваться для создания прогнозируемых траекторий для пешеходов.
[81] Объекты, поддерживаемые модулем 402 модели мира, могут включать в себя статические объекты и/или динамические объекты, как описано с обращением к Фиг. 3.
[82] Модуль 404 планирования маршрута определяет план на уровне дороги, такой как проиллюстрированный по отношению к плану 412 на уровне дороги. Например, учитывая исходное местоположение и местоположение назначения, модуль 404 планирования маршрута определяет маршрут от исходного местоположения до местоположения назначения. Например, модуль 404 планирования маршрута может определять список дорог (то есть план на уровне дороги), по которому должно следовать AV для перемещения из исходного местоположения в местоположение назначения.
[83] План на уровне дороги, определенный модулем 404 планирования маршрута, и объекты (и соответствующая информация о состоянии), поддерживаемые модулем 402 модели мира, могут использоваться модулем 406 принятия решений для определения решений на дискретном уровне по плану на уровне дороги. Пример решений, включенных в решения на дискретном уровне, проиллюстрирован в отношении решений 414 на дискретном уровне. Пример решений на дискретном уровне может включать в себя: остановку на перекрёстке дороги A и дороги B, медленное движение вперед, ускорение до определенного ограничения скорости, перестроение на крайнюю правую полосу движения и т.д.
[84] Блок 408 планирования траектории может принимать от модуля 402 модели мира решения на дискретном уровне, объекты (и соответствующую информацию о состоянии), поддерживаемые модулем 402 модели мира, а также прогнозируемые траектории и вероятности для внешних объектов. Блок 408 планирования траектории может использовать по меньшей мере часть полученной информации для определения детально спланированной траектории для автономного транспортного средства.
[85] Например, как показано в отношении детально спланированной траектории 416, блок 408 планирования траектории определяет траекторию для следующих нескольких секунд. Таким образом, и в примере, в котором следующие несколько секунд являются следующими 6 секундами (то есть время упреждения составляет 6 секунд), блок 408 планирования траектории определяет траекторию и местоположения для автономного транспортного средства на следующие 6 секунд. Например, блок 408 планирования траектории может определять (например, прогнозировать, вычислять и т.д.) ожидаемые местоположения автономного транспортного средства в нескольких интервалах времени (например, каждую четверть секунды или некоторые другие интервалы времени). Блок 408 планирования траектории может определять детально спланированную траекторию на основе прогнозируемых реакций других участников дорожного движения, как описано, например, с обращением к Фиг. 3.
[86] Модуль 410 оперативного управления траекторией может обрабатывать ситуации, с которыми автономное транспортное средство может столкнуться, но которые не являются прогнозируемыми (например, не могут быть обработаны) блоком 408 планирования траектории. Такие ситуации включают в себя ситуации, когда детально спланированная траектория блока 408 планирования траектории была основана на неправильной классификации объектов и/или непредвиденных ситуациях, которые возникают редко. Например, модуль 410 оперативного управления траекторией может изменять детально спланированную траекторию в ответ на определение того, что статический объект слева от автономного транспортного средства классифицирован неправильно. Например, объект мог быть классифицирован как большой грузовик; однако новая классификация определяет, что это статичная стена дорожного ограждения. В другом примере модуль 410 оперативного управления траекторией может изменять детально спланированную траекторию в ответ на внезапный прорыв колеса автономного транспортного средства. Другие примеры непредвиденных ситуаций включают в себя внезапный поворот других транспортных средств (например, из-за позднего решения выехать на съезд с автомагистрали или прорыв колеса) на полосу движения AV, а также пешеходов или других объектов, внезапно появляющихся из-за препятствий.
[87] Фиг. 5 является примером слоев блока 500 планирования траектории для автономного транспортного средства в соответствии с вариантами реализации данного изобретения. Блок 500 планирования траектории может быть блоком 408 планирования траектории по Фиг. 4 или может быть его частью. Блок 500 планирования траектории может принимать цели 501 движения. Блок 500 планирования траектории может принимать последовательность целей 501 движения, которые могут представлять, например, последовательность выборов полос движения и ограничений скорости, которые соединяют первое местоположение со вторым местоположением. Например, целью движения из целей 501 движения может быть «начало движения в местоположении x, движение по полосе движения, имеющей определенный идентификатор (например, полосе движения с идентификатором, равным A123), с соблюдением ограничения скорости y». Блок 500 планирования траектории может быть использован для формирования траектории, которая выполняет последовательность целей 501 движения.
[88] Блок 500 планирования траектории включает в себя слой 502 данных траектории движения, слой 504 формирования опорной траектории, слой 506 избегания препятствий, и слой 508 оптимизации траектории. Блок 500 планирования траектории формирует оптимизированную траекторию. Другие примеры блока 500 планирования траектории могут включать в себя больше, меньше слоёв или другие слои. В некоторых примерах слои могут быть объединены; в других примерах слой может быть разделён на один или более других слоев.
[89] Слой 502 данных траектории движения включает в себя входные данные, которые могут использоваться блоком 500 планирования траектории. Данные траектории движения могут быть использованы (например, слоем 504 формирования опорной траектории) для определения (т.е. формирования, вычисления, выбора или иного определения) грубой траектории движения от первого местоположения до второго местоположения. Траекторию движения можно представить как линию на дороге, с которой совпадает продольная ось AV при движении AV по дороге. Таким образом, данные траектории движения - это данные, которые можно использовать для определения траектории движения. Траектория движения на этом этапе является грубой и может содержать поперечные разрывы, например, когда она направлена на боковое перестроение между смежными полосами движения. Траектория движения на этом этапе также еще не скорректирована с учётом объектов, которые встречаются AV, как дополнительно описано ниже.
[90] В одном примере слой 502 данных траектории движения может включать в себя одно или более из картографических данных 510 высокого разрешения (HD), картографических данных 512 дистанционного управления, данных 514 записанных маршрутов, данных 516 о движущихся впереди транспортных средствах, данных 518 о парковке и данных 520 распознаваемого маршрута.
[91] Картографические данные 510 HD - это картографические данные с высоким разрешением (т.е. с высокой точностью), которые могут использоваться автономным транспортным средством. Картографические данные 510 HD могут включать в себя точную информацию в отношении транспортной сети, с точностью до нескольких сантиметров. Например, картографические данные 510 HD могут включать в себя подробности в отношении полос движения на дороге, разделительных полос на дороге, светофоров, дорожных знаков, ограничений скорости и тому подобного.
[92] Картографические данные 512 дистанционного управления могут включать в себя данные  относительно короткой траектории движения. Например, картографические данные 512 дистанционного управления могут быть данными траектории движения длиной от 100 до 200 метров. Однако картографические данные 512 дистанционного управления не обязательно ограничены этим. Картографические данные 512 дистанционного управления могут быть вручную сформированы оператором дистанционного управления в ответ на исключительные ситуации, которые AV не может автоматически обрабатывать, или в ожидании таких ситуаций.
[93] Траектория движения может создаваться в режиме реального времени. Чтобы проиллюстрировать создание траектории движения в реальном времени, приведен пример. Оператор дистанционного управления может удаленно наблюдать за исходными данными датчиков AV. Например, оператор дистанционного управления может видеть (например, на удаленном мониторе) опоры зоны строительства (например, снятые камерой AV) и прокладывать маршрут для AV через зону строительства. Затем оператор дистанционного управления может наблюдать за тем, как регулировщик дает AV разрешающий сигнал, после чего оператор дистанционного управления может инструктировать AV двигаться по проложенному маршруту.
[94] Чтобы сократить время обработки при ручной прокладке маршрута, когда AV достигает исключительной ситуации, которая ранее встречалась, данные траектории движения также могут быть сохранены удаленно и отправлены AV по мере необходимости.
[95] Данные 514 записанных маршрутов могут включать в себя данные в отношении маршрутов, по которым ранее следовало автономное транспортное средство. В одном примере оператор (например, водитель или удаленный оператор) автономного транспортного средства мог записать маршрут с улицы в гараж в доме.
[96] Данные 516 движущихся впереди транспортных средств могут быть данными, принятыми от одного или более транспортных средств, которые движутся впереди автономного транспортного средства в общем по той же траектории, что и автономное транспортное средство. В одном примере автономное транспортное средство и движущееся впереди него транспортное средство могут обмениваться данными по каналу беспроводной связи, например, описанному со ссылкой на Фиг. 2. Таким образом, автономное транспортное средство может принимать информацию о траектории и/или другую информацию от движущегося впереди транспортного средства по каналу беспроводной связи. Данные 516 движущегося впереди транспортного средства также могут распознаваться (например, отслеживаться) без явного канала связи. Например, AV может отслеживать движущееся впереди транспортное средство и может оценивать траекторию движения транспортного средства для движущегося впереди транспортного средства на основании результатов отслеживания.
[97] Данные 518 о парковке включают в себя данные в отношении местоположений парковок и/или парковочных мест. В одном примере данные 518 о парковке могут использоваться для прогнозирования траекторий движения других транспортных средств. Например, если въезд на парковку находится вблизи другого транспортного средства, одна из прогнозируемых траекторий другого транспортного средства может быть такой, что другое транспортное средство въедет на парковку.
[98] В некоторых ситуациях картографическая информация (например, карта HD) может быть недоступна для участков транспортной сети. По существу, данные 520 распознаваемого маршрута могут представлять траектории движения, для которых нет ранее нанесённой на карту информации. Вместо этого AV может обнаруживать траектории движения в режиме реального времени, используя менее чем, более чем или иное в отличии от линий разметки полос движения, бордюров и границ дороги. В одном примере границы дороги могут быть обнаружены на основании переходов от одного типа поверхности (например, тротуара) к другим типам поверхности (например, гравий или трава). Для обнаружения траектории движения в реальном времени можно использовать и другие способы.
[99] Слой 504 формирования опорной траектории может включать в себя модуль 522 конкатенации траекторий движения, модуль 524 стратегического планирования скорости и модуль 526 синтеза траектории движения. Слой 504 формирования опорной траектории движения вводит грубую траекторию движения (т.е. опорную траекторию движения) в модуль 528 дискретного по времени планирования скорости. Фиг. 6 иллюстрирует пример работы слоя 504 формирования опорной траектории.
[100] Следует отметить, что модуль 404 планирования маршрута может формировать последовательность идентификаторов полосы движения, которая используется для движения из первого местоположения во второе местоположение, при этом соответствуя (например, обеспечивая) целям 501 движения. По существу, цели 501 движения могут находиться, например, на расстоянии 100 метров друг от друга, в зависимости от длины полосы движения. В случае картографических данных 510 HD, например, слой 504 формирования опорной траектории может использовать сочетание местоположения (например, местоположение по GPS, трёхмерные декартовы координаты и т.д.) и полосы движения (например, идентификатор полосы движения) в последовательности целей 501 движения для формирования траектории движения с высоким разрешением (например, из карты 510 HD), представленной в виде последовательности положений для AV. Каждое положение может находиться на заданном расстоянии. Например, положения могут находиться на расстоянии одного-двух метров друг от друга. Положение может быть определено с помощью большего, меньшего или с помощью иных величин по сравнению с координатами (x, y, z), углом крена, углом тангажа и/или углом рыскания.
[101] Как упоминалось выше, данные траектории движения могут использоваться для определения (например, создания, вычисления и т.д.) грубой траектории движения. Модуль 522 конкатенации траекторий движения соединяет (например, связывает, сливает, объединяет, соединяет, интегрирует или иным образом соединяет) входные данные уровня 502 данных траектории движения для определения грубой траектории движения в продольном направлении (например, вдоль пути автономного транспортного средства). Например, чтобы добраться из местоположения A (например, с места работы) в местоположение D (например, домой), для определения грубой траектории движения модуль 522 конкатенации траекторий движения может использовать входные данные из данных 518 о парковке для определения местоположения выезда с парковки на месте работы для выезда на главную дорогу, может использовать данные из картографических данных 510 HD для определения маршрута от главной дороги до дома и может использовать данные из данных 514 записанных маршрутов для движения в гараж у дома.
[102] Грубая траектория движения не включает информацию о скорости. Однако в некоторых примерах грубая траектория движения может включать в себя информацию об ограничении скорости, которая может использоваться (например, извлекаться) из картографических данных 510 HD. Модуль 524 стратегического планирования скорости определяет конкретную скорость (скорости) на различных участках грубой траектории движения. Например, модуль 524 стратегического планирования скорости может определять, что на первом прямом участке грубой траектории движения скорость автономного транспортного средства может быть установлена равной ограничению скорости для этого первого прямого участка; и на следующем втором криволинейном участке грубой траектории движения скорость автономного транспортного средства должна быть установлена на более низкую скорость. Таким образом, модуль 524 стратегического планирования скорости вычисляет профиль скорости с соблюдением правил (например, с соблюдением ограничений скорости и стоп-линий), комфортный (например, физически и эмоционально) и физически реализуемый (например, зависимость скорости от расстояния вдоль траектории движения) для грубой траектории движения с учетом текущего состояния (например, скорости и ускорения) AV, но без учета других участников дорожного движения или статических объектов.
[103] Как только стратегический план скорости определен модулем 524 стратегического планирования скорости, модуль 526 синтеза траектории движения может регулировать грубую траекторию движения в поперечном направлении. Учитывая стратегический профиль скорости и грубую траекторию движения с поперечными разрывами, модуль 526 синтеза траектории движения определяет начальное и конечное местоположения смены полосы движения и синтезирует траекторию движения, соединяющую эти два местоположения. Длина смены полосы движения может зависеть от скорости.
[104] Модуль 526 синтеза траектории движения может синтезировать траектории движения, соединяющие имеющий поперечный разрыв участки грубой траектории движения. Например, предположим, что картографические данные 510 HD включают в себя первый участок грубой траектории движения, который находится на первой полосе движения дороги, но что второй участок грубой траектории движения находится на второй полосе движения той же дороги. Таким образом, в грубой траектории движения существует поперечный разрыв. Модуль 526 синтеза траектории движения сначала определяет расстояние перехода (или, что эквивалентно, начальное и конечное местоположения), через которое AV должно перейти с первой полосы движения на вторую полосу движения. То есть начальное положение - это положение на дороге, когда необходимо управлять автономным транспортным средством для начала перемещения с первой полосы на вторую полосу движения. Конечное положение - это положение на дороге, в котором автономное транспортное средство должно завершить смену полосы движения. Затем модуль поперечной непрерывности формирует новые данные траектории движения, соединяющие исходное положение на первой полосе с конечным положением на второй полосе.
[105] Переход, определяемый модулем 526 синтеза траектории движения, может зависеть от скорости. Например, для перехода AV с первой полосы движения на вторую полосу может потребоваться более короткое расстояние перехода, если AV движется с меньшей скоростью, чем если AV движется с более высокой скоростью. Например, в ситуации интенсивного движения, когда автономное транспортное средство движется с меньшей скоростью (например, 15 миль в час), для перехода может потребоваться 20 ярдов; однако, если автономное транспортное средство движется с более высокой скоростью (например, 65 миль в час), то расстояние перехода может составлять 100 ярдов. По существу, модуль 526 синтеза траектории движения может определять положение перехода в зависимости от скорости AV.
[106] Выходной сигнал модуля 526 синтеза траектории движения подается в слой 506 избегания препятствий. Выходные данные модуля 526 синтеза траектории движения включают в себя грубую траекторию движения и стратегический план скорости. Слой 506 избегания препятствий формирует среднесрочный дискретный по времени план скорости и поперечные ограничения для грубой траектории движения. Для дискретных моментов времени в будущем (или, что эквивалентно, в дискретных местоположениях на маршруте AV) модуль 528 дискретного по времени планирования скорости определяет (то есть вычисляет) соответствующую желаемую скорость для AV.
[107] В слое 506 избегания препятствий и, как дополнительно описано ниже, используя грубую траекторию движения, близлежащие статические объекты и близлежащие динамические объекты и их прогнозируемые траектории, слой 506 избегания препятствий определяет (например, извлекает) доступную для движения область, в которой может осуществляться безопасное управление AV. Определяются правая и левая границы каждого элементарного участка (описано ниже). Учитывая текущую скорость AV, можно создать план скорости в режиме реального времени. План скорости в режиме реального времени может использоваться для оценки будущего местоположения AV. Будущие местоположения AV могут быть оценены относительно будущих (например, прогнозируемых) местоположений динамических объектов. Доступная для движения область для AV регулируется путём удаления областей доступной для движения области, которые соответствуют местоположениям динамических объектов (например, перекрываются с ними).
[108] В слое 506 избегания препятствий грубая траектория движения оценивается и/или корректируется с учётом объектов. Упомянутыми объектами могут быть объекты, внешние и близкие по отношению к AV. По существу, упомянутые объекты могут быть объектами, описанными в отношении модуля 402 модели мира по Фиг. 4. По существу, учитывая текущую скорость AV, слой 506 избегания препятствий формирует план скорости в режиме реального времени. Используя план скорости в режиме реального времени, слой 506 избегания препятствий может оценивать будущие местоположения AV в дискретные будущие моменты времени. Будущие местоположения могут быть оценены относительно местоположений объектов (то есть объектов модели мира) для обеспечения (например, формирования) плавного движения для AV. Обеспечение плавного движения (т.е. плавной траектории) может быть итерационным процессом, как дополнительно описано ниже.
[109] Подводя итог, сначала создается грубая траектория движения; затем из грубой траектории движения формируется план скорости; и, учитывая грубую траекторию движения и план скорости, траектория оптимизируется с учетом других объектов, которые поддерживаются в модели мира AV, для обеспечения оптимизированной желаемой траектории. Траектория оптимизируется в скорректированной доступной для движения области. Недоступные для движения области (т.е. области, где AV не может безопасно управляться вследствие других объектов) удаляются из исходной доступной для движения области, обеспечивая скорректированную доступную для движения область.
[110] Фиг. 6 является иллюстрацией примеров 600 конкатенации грубой траектории движения согласно вариантам реализации данного изобретения. Примеры 600 являются примерами работы слоя 504 формирования опорной траектории по Фиг. 5.
[111] На виде 610 AV 611 находится в крайней правой полосе 614 движения трехполосной дороги, которая включает в себя полосы 612-614 движения. Следует учесть, что вид 610 является примером системы левостороннего движения (то есть движение на полосах 612-614 движения происходит снизу вверх по Фиг. 6). Блок планирования маршрута, такой как модуль 404 планирования маршрута, может определить на основании картографических данных HD, таких как картографические данные 510 HD по Фиг. 5, что AV 611 должно повернуть направо на полосу 615 движения однополосной дороги. На карте HD может быть указана осевая линия (не показана) для каждой полосы движения.
[112] В некоторых ситуациях траектория движения AV может не совпадать с осевой линией полосы движения или дороги. Например, полоса 615 движения может иметь дополнительное расширение для размещения парковочных мест вдоль левой стороны полосы 615 движения. В другом примере можно обнаружить, что большинство водителей предпочитают двигаться немного левее осевой линии. Таким образом, траектория движения AV 611 должна быть установлена слева от осевой линии полосы 615 движения. По существу, модуль 522 конкатенации траектории движения определяет геометрию полос движения для определения траектории движения с учетом геометрии полосы движения (например, ширины полосы движения). Например, если на грубой траектории движения имеется поворот, модуль 522 конкатенации траектории движения определяет, где траекторию движения следует перемещена (т.е. от осевой линии полосы движения) на основании ширины полосы движения, направления поворота (например, вправо или влево), угла поворота и/или скорости поворота. Таким образом, модуль 522 конкатенации траектории движения устанавливает траекторию движения AV на основании осевой линии карты HD. Например, траекторию движения можно задавать на основании ширины полосы движения.
[113] Для задания траектории движения AV модуль 522 конкатенации траектории движения определяет геометрию полос вдоль грубой траектории движения. В одном примере модуль 522 конкатенации траектории движения определяет геометрию для определенного расстояния (например, 100 метров, 200 метров, 300 метров и т.д.) вдоль грубой траектории движения. Для определения геометрии модуль 522 конкатенации траектории движения может определять многоугольники, такие как многоугольник 616, вдоль грубой траектории движения, которые можно использовать для определения границ полосы движения.
[114] Вид 620 иллюстрирует определение траектории движения (т.е. грубой траектории движения) на основании ширины 621 полосы движения. Правый край 624, левый край 622 и осевая линия 626 полосы движения, по которой движется AV 611, могут быть получены из карты HD. Модуль 522 конкатенации траектории движения определяет траекторию 628 движения(то есть грубую траекторию движения) на основании ширины 621. По существу, траектория движения 628 смещена от осевой линии 626.
[115] Вид 630 иллюстрирует использование данных дистанционного управления, таких как описанные в отношении картографических данных 512 дистанционного управления по Фиг. 5, для определения траектории движения. Как описано выше, в то время как картографические данные HD являются статическими данными, данные дистанционного управления могут обеспечивать траекторию движения в реальном времени на основании дорожной ситуации и/или исключительных ситуаций. Например, вдоль траектории 632 движения AV 611 имеется зона строительства. Зона строительства ограничена препятствиями, такими как опора 636, которые окружают объект 634 строительства. По существу, модуль 522 конкатенации траектории движения корректирует траекторию 632 движения, как дополнительно описано ниже, чтобы она была траекторией 638 движения (то есть грубой траекторией движения), используя траекторию движения в режиме реального времени, которая обеспечивается данными дистанционного управления.
[116] Вид 640 иллюстрирует смену полосы движения в зависимости от скорости. Смена полосы движения в зависимости от скорости может быть реализована, как описано выше, модулем 526 синтеза траектории движения по Фиг. 5. В примере модуль 406 принятия решений по Фиг. 4 предусматривает, что AV 611, движущееся по полосе 642 движения, должен далее быть на полосе 644 движения, например, поскольку полоса 642 движения заканчивается или поскольку AV 611 должно повернуть налево. Таким образом, AV 611 в какой-то момент должно переместиться с полосы 642 движения на полосу 644 движения. Поскольку карта HD может не обеспечивать информацию о переходах полос движения, слой 504 формирования опорной траектории AV 611 определяет момент перехода между полосами движения. Как упоминалось выше, переход может зависеть от скорости.
[117] В одном примере, блок 500 планирования траектории (слоем которого является слой 504 формирования опорной траектории) может определить, что в точке X вдоль грубой траектории движения AV 611 будет двигаться со скоростью Y (как определено модулем 524 стратегического планирования скорости). В случае, если AV 611 движется с низкой скоростью (например, 35 миль в час), модуль 526 синтеза траектории движения может определить, что переход может быть медленным. Соответственно, маршрут для перехода с полосы 642 движения на полосу 644 движения может быть таким, как показано маршрутом 646. С другой стороны, если AV 611 движется с высокой скоростью (например, 65 миль в час), маршрут для смены полосы движения требует большего расстояния, как показано маршрутом 648.
[118] Время, необходимое для движения по маршрутам 646 и 648, может быть одинаковым. Однако расстояние является различным. Расстояние, необходимое для смены полосы движения, если AV 611 движется с первой скоростью, больше расстояния, необходимого, если AV 611 движется со второй скоростью, которая ниже первой скорости.
сколько метров полоса движения перемещается в поперечном направлении на метр в продольном направлении?
[119] Скорость смены полосы движения может использоваться для определения смены полосы движения в зависимости от скорости. То есть скорость смены полосы движения может использоваться для создания соединения между двумя смежными полосами движения, такими как полоса 642 движения и полоса 644 движения на виде 640. Скорость смены полосы движения может быть определена в «метрах на метр»: на Как упоминалось выше, цель состоит в том, чтобы идентифицировать скорость смены полосы движения, которая приводит к завершению смены полосы движения за целевой промежуток времени: если AV движется медленно (например, при плотном движении в час пик), скорость смены полосы движения высока и происходит на небольшом расстоянии (например, порядка десятков метров); если AV движется быстро (например, со скоростью движения по шоссе), скорость смены полосы движения является низкой и происходит на большом расстоянии (например, порядка сотен метров).
[120] Фиг. 7 - пример 700 определения стратегического плана скорости согласно вариантам реализации данного изобретения. Пример 700 иллюстрирует примеры входных данных, которые могут использоваться модулем 524 стратегического планирования скорости по Фиг. 5, чтобы определить стратегический план 714 скорости. В некоторых вариантах реализации модуль 524 стратегического планирования скорости может использовать большее число, меньшее число или иные входные данные для определения стратегического плана скорости.
[121] В примере 700 могут использоваться входные данные ограничений скорости и входные данные ограничений ускорения. Ограничения скорости могут включать в себя по меньшей мере одно из ограничений 702 скорости на дороге, ограничений 704 скорости на повороте и данных 706 плавной автономной мобильности (SAM). Ограничения ускорения могут включать в себя ограничения 710 ускорения транспортного средства и ограничения 712 по комфортности. Ограничения скорости и/или ограничения ускорения могут включать большее число, меньшее число или иные входные данные.
[122] Ограничения 702 скорости на дороге могут быть ограничениями скорости на дороге, например, указанными на знаках ограничения скорости (например, 20 миль в час, 65 миль в час и т.д.). В одном примере ограничения 702 скорости на дороге могут быть получены из карты HD. Ограничения 704 скорости на повороте могут быть данными, связывающими скорость транспортного средства с кривизной поворота, например поворота вдоль грубой траектории движения AV. В качестве альтернативы, ограничения 704 скорости на повороте могут обеспечивать только информацию о кривизне изгиба дороги (например, радиус кривизны поворота). Пределы 704 скорости на повороте могут быть ограничениями бокового ускорения AV. По существу, план скорости может включать в себя сниженные скорости AV в соответствии с ограничениями 704 скорости на повороте, когда AV проходит повороты.
[123] Данные 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.
[124] Ограничения 702 скорости на дороге, ограничения 704 скорости на повороте и данные 706 SAM могут быть объединены для обеспечения необработанных ограничений 708 скорости. Например, для каждого местоположения из определенных местоположений вдоль грубой траектории движения (например, каждые 5 метров, 10 метров и т. Д.) минимальное значение скорости из ограничений 702 скорости на дороге в этом местоположении, значение скорости из ограничений 704 скорости на повороте в этом местоположении, и скорость из данных 706 SAM в этом местоположении используются как скорость по необработанным ограничениям 708 скорости в этом местоположении.
Насколько быстрого разгона AV хотят пользователи AV?
[125] Ограничения 710 ускорения транспортного средства могут быть ограничениями ускорения AV, которые обусловлены крутящим моментом и мощностью AV. Ограничения 712 по комфортности включают в себя ограничения по комфортности для человека в отношении ускорения, такие как:
[126] Модуль 524 стратегического планирования скорости слоя 504 формирования опорной траектории может объединить необработанные ограничения 708 скорости, ограничения 710 ускорения транспортного средства, и ограничения 712 по комфортности для обеспечения стратегического плана 714 скорости, который представляет собой план плавной скорости.
[127] Как упомянуто выше, в месте вдоль грубой траектории движения минимальное значение из ограничений 702 скорости на дороге, ограничений 704 скорости на повороте и данных 706 плавной автономной мобильности SAM могут использоваться в качестве ограничения скорости AV. Ограничения 710 ускорения транспортного средства и ограничения 712 по комфортности связывают ускорение со скоростью. По существу, и в одном примере, ограничения 710 ускорения транспортного средства и ограничения 712 по комфортности могут быть объединены путем нахождения минимального значения из двух кривых максимальных значений (комфортность, скорость). Таким образом, на низкой скорости комфортность может ограничить максимальное ускорение AV; тогда как на высокой скорости ускорение AV могут ограничивать ограничения ускорения (например, по мощности) AV. Профиль скорости может быть сформирован путем определения профиля максимальной скорости вдоль грубой траектории движения, который удовлетворяет ограничениям скорости (ограничение скорости в любом конкретном месте вдоль траектории движения) и ускорения (ограничение ускорения для любой конкретной скорости).
[128] Входные данные, отличные от описанных выше, также могут использоваться для вычисления стратегического плана 714 скорости. Например, можно использовать один или более значений коэффициента трения на дороге, минимального времени движения с постоянной скоростью, типа района или другие входные данные. Коэффициент трения (мю) на дороге относится к скользкости дороги, например из-за льда, дождя, уклона и т.д.
[129] Минимальное время движения с постоянной скоростью относится к минимальному периоду времени, на протяжении которого скорость AV может быть установлена на постоянную скорость. Например, предположим, что длина участка дороги составляет 500 метров, а ограничение скорости на этом участке составляет 45 миль в час. Кроме того, предположим, что с учетом модели движения AV требуется 250 метров, чтобы AV достигло предельной скорости 45 миль в час из остановленного положения, и 250 метров требуется для остановки AV при текущей скорости 45 миль в час. Если AV было остановлено в начале участка дороги и AV должно снова остановиться в конце участка дороги, то, как только AV достигнет предельной скорости 45 миль/ч, AV должно будет начать замедляться. Такой профиль скорости может быть нежелательным и/или неестественным для пользователей AV. По существу, минимальное время движения с постоянной скоростью может указывать, например, на то, что скорость должна поддерживаться в течение минимального времени движения с постоянной скоростью (например, 3 секунды), прежде чем AV сможет начать замедление (или ускорение). Таким образом можно получить более естественный профиль скорости.
[130] Тип района может использоваться для моделирования обычного поведения человека при управлении, которое может зависеть от типа района, по которому движется AV. Например, водитель-человек может ехать со скоростью ниже установленного ограничения скорости в жилом районе (например, там, где можно видеть детей, играющих на улице) и может ехать по меньшей мере на установленном ограничении скорости в промышленном районе, даже если оба района могут иметь одинаковое установленное ограничение скорости.
[131] Фиг. 8 является блок-схемой процесса 800 определения доступной для движения области и дискретного по времени плана скорости с в соответствии с вариантом реализации данного изобретения. Некоторые или все аспекты процесса 800 могут быть реализованы в транспортном средстве, включая транспортное средство 100, показанное на Фиг. 1 и транспортное средство 202, показанное на Фиг. 2, или в вычислительном устройстве, включая управляющее устройство 232, показанное на Фиг. 2. В одном варианте реализации некоторые или все аспекты процесса 800 могут быть реализованы в системе, объединяющей некоторые или все признаки, описанные в данном описании. Например, процесс 800 может использоваться слоем 506 избегания препятствий по Фиг. 5.
[132] Процесс 800 поясняется с обращением к Фиг. 9. Фиг. 9 является иллюстрацией определения доступной для движения области и дискретного по времени плана скорости в соответствии с вариантами реализации данного изобретения. Фиг. 9 иллюстрирует формирование доступной для движения области (поперечные ограничения) и профиля ограниченной скорости, которые могут быть представлены дискретно по времени. Доступная для движения область может быть, например, областью транспортной сети для транспортных средств, в которой может осуществляться управление автономным транспортным средством. Первоначально (например, в начале процесса 800) доступная для движения область может включать в себя области, в которых невозможно спрогнозировать безопасное управление AV. Процесс 800 корректирует (например, отсекает) доступную для движения область для тех областей, в которых невозможно спрогнозировать безопасное управление AV. Процесс 800 приводит к получению скорректированной доступной для движения области.
[133] В операции 810 процесс 800 идентифицирует близкие к AV объекты. В одном примере близкие объекты могут быть по меньшей мере некоторыми из внешних объектов, поддерживаемых модулем 402 модели мира. В одном примере, все близкие объекты могут быть объектами, поддерживаемыми модулем 402 модели мира. В другом примере близкие объекты могут быть поднабором из объектов, поддерживаемых модулем 402 модели мира. Например, близкие объекты могут быть объектами в пределах заданного расстояния от AV, объектами в пределах прогнозируемого времени прибытия AV или объектами, которые соответствуют другим критериям для идентификации поднабора объектов. Например, и обращаясь к виду 910 на Фиг. 9, для AV 912 идентифицируются статическое транспортное средство 920, статическое транспортное средство 914, динамическое встречное транспортное средство 918 и динамическое транспортное средство 916. В варианте реализации, операция 810 идентифицирует точки (т.е. граничные точки) и/или группы точек, представляющие объекты, как описано с обращением к Фиг. 10-12.
[134] В операции 820 процесс 800 извлекает доступную для движения область. Доступная для движения область может быть областью, в которой может управляться (например, с точки зрения правил и/или физически) AV 912. Например, доступная для движения область может быть извлечена из грубой траектории движения. Например, доступная для движения область может составлять заданное расстояние от AV вдоль грубой траектории движения (например, в продольном направлении). Доступная для движения область 932 на виде 930 на Фиг. 9 представляет собой пример доступной для движения области. В одном примере, доступная для движения область 932 может быть областью, ограниченной (то есть в поперечном направлении) осевой линией 934 и обочиной 936. В одном примере доступная для движения область может быть извлечена из карты HD на основании текущего местоположения AV 912. Доступная для движения область может быть ограничена левой и правой границами полосы движения (или дороги, или какой-либо другой области), в которой находится AV 912. Например, доступная для движения область может выходить за пределы осевой линии дороги. То есть полоса движения встречного направления может быть включена в доступную для движения область. Таким образом, на виде 930, если бы осевая линия 934 отсутствовала, то доступная для движения область могла бы представлять собой доступную для движения область 938.
[135] Процесс 800 переходит к удалению из доступной для движения области участков, на которых AV не может (например, безопасно) управляться. Термин «скорректированная доступная для движения область» используется в данном документе для обозначения доступной для движения области после того, как из доступной для движения области были удалены области с учётом статических и/или динамических объектов, как описано в данном документе. Если статические и/или динамические объекты не мешают траектории AV, то скорректированная доступная для движения область будет такой же, как и доступная для движения область.
[136] В операции 830 процесс 800 корректирует доступную для движения область в отношении статических объектов. То есть процесс 800 удаляет (например, вырезает и т.д.) из доступной для движения области те участки доступной для движения области, на которых расположены статические объекты. Это так, потому что AV необходимо управлять для объезда (например, проезда) статических объектов. Вид 940 на Фиг. 9 иллюстрирует вырезание участка доступной для движения области. Для уклонения от статического транспортного средства 914 процесс 800 вырезает вырез 942 в доступной для движения области 932. Размер вырезанной области может быть определён на основании оценки размера статического объекта. Размер вырезанной области может включать в себя область интервала, чтобы AV не слишком приближалось к статическому объекту.
[137] Примеры корректировки доступной для движения области для статических объектов дополнительно описаны ниже с обращением к Фиг. 10-12. Пример процесса корректировки доступной для движения области с учётом статических объектов описан ниже с обращением к Фиг. 13.
[138] В операции 840 процесс 800 корректирует дискретный план скорости с учётом статических объектов. Например, при отсутствии препятствий или других участников дорожного движения дискретный по времени план скорости соответствует стратегическому профилю скорости. Например, когда скорректированная доступная для движения область содержит узкий проезд с учетом статических объектов, вместо точного следования (т.е. С использованием скорости) стратегического профиля (т.е. как задано в стратегическом профиле), процесс 800 корректирует дискретный по времени план скорости для снижения скорости AV до комфортной скорости. Например, когда скорректированная доступная для движения область с учетом статических объектов содержит статическое препятствие, процесс 800 корректирует дискретный по времени план скорости таким образом, что AV останавливается на заданном расстоянии до статического препятствия.
[139] В операции 850 процесс 800 идентифицирует (например, прогнозирует, вычисляет, формирует, принимает или иным образом идентифицирует) соответствующий маршрут для каждого из близких динамических объектов. В одном из примеров прогнозирование соответствующих маршрутов (то есть траекторий) по меньшей мере некоторых из динамических объектов может поддерживаться в модели мира, такой как модуль 402 модели мира по Фиг. 4. По существу, процесс 800 может принимать (например, запрашивать, считывать или иным образом принимать) соответствующие маршруты из модели мира.
[140] Например, процесс 800 прогнозирует (например, принимает прогноз или иным образом прогнозирует), что динамическое встречное транспортное средство 918 должно следовать по маршруту 922, чтобы обойти неподвижное транспортное средство 920, и что динамическое транспортное средство 916 должно следовать по маршруту 924 после проезда неподвижного транспортного средства 914. В варианте реализации операция 820 использует экземпляр (то есть выполнение) процесса 800 для идентификации пути динамического объекта. В одном примере, при прогнозировании маршрута для динамического объекта, процесс 800 исключает AV из списка близких объектов для динамического объекта.
[141] В одном примере прогнозирование пути для динамического объекта может быть основано на соответствующих скоростях других динамических объектов и оценке приоритетности проезда среди динамических объектов. В одном примере оценки приоритетности проезда, если второе транспортное средство следует (т.е. движется сзади) за первым транспортным средством в полосе движения, то первое транспортное средство моделируется (т.е. прогнозируется маршрут для первого транспортного средства) в присутствии второго транспортного средства; но второе транспортное средство моделируется без присутствия первого транспортного средства.
[142] Таким образом, экземпляр блока 500 планирования траектории может быть выделен для автономного транспортного средства, которое включает в себя блок 500 планирования траектории, и один или более других экземпляров блока 500 планирования траектории могут использоваться автономным транспортным средством для прогнозирования траекторий динамических объектов, которые являются видимыми для автономного транспортного средства (например, динамических объектов, которые поддерживаются модулем 402 модели мира).
[143] В операции 860 процесс 800 корректирует доступную для движения область с учётом динамических объектов. То есть процесс 800 вырезает участки доступной для движения области на основании соответствующих прогнозируемых траекторий каждого из динамических объектов. Процесс 800 использует информацию хронирования относительно местоположений каждого из динамических объектов, чтобы вырезать дополнительные участки доступной для движения области. Вырезы в доступной для движения области с учётом динамических объектов формируются путем сравнения хронирования прогнозов для динамических объектов с хронированием, сформированным дискретным по времени планом скорости, который теперь учитывает статические объекты (как описано в отношении операции 840). То есть процесс 800 может прогнозировать для динамического объекта, и на основе прогнозируемой траектории динамического объекта, где динамический объект будет расположен в различные дискретные моменты времени относительно местоположений AV в те же дискретные моменты времени. Примеры корректировки доступной для движения области с учётом динамических объектов дополнительно описаны ниже с обращением к фиг. 14-16. Пример процесса корректировки доступной для движения области с учётом динамических объектов описан ниже с обращением к Фиг. 18.
[144] Местоположения динамического объекта сопоставляются с прогнозируемыми местоположениями AV для определения вырезанных участков. Как упомянуто выше, прогнозируемые местоположения AV основаны на дискретном по времени плане скорости, скорректированном в операции 840 (т.е. для учета статических объектов). Вырез может не соответствовать текущему местоположению динамического объекта. Вместо этого, вырез может быть основан на местоположениях, где, по прогнозам, встретятся AV и динамический объект. Если прогнозируемая траектория динамического объекта не пересекается с доступной для движения областью, то никакие участки доступной для движения области не вырезаются с учётом динамического объекта. Если прогнозируемая траектория динамического объекта действительно пересекается с доступной для движения областью, то один или более участков доступной для движения области вырезаются, чтобы избежать потенциального столкновения с динамическим объектом.
[145] Вид 950 на Фиг. 9 иллюстрирует пример корректировки (т.е. операции 860) доступной для движения области с учётом динамических объектов. Процесс 800 прогнозирует (например, посредством операции 850), что динамическое встречное транспортное средство 918 будет следовать по маршруту 922, чтобы объехать (например, избежать) статическое транспортное средство 920. Процесс 800 дополнительно прогнозирует, что если AV 912 продолжит движение по своей текущей траектории, то AV 912 и динамическое встречное транспортное средство 918 встретятся около местоположения 954. По существу, процесс 800 вырезает вырез 956 из доступной для движения области 932.
[146] В операции 870 процесс 800 корректирует дискретный по времени план скорости с учётом динамических объектов. Когда скорректированная доступная для движения область (с учетом как статических, так и динамических объектов в этой точке) содержит динамический объект, движущийся в том же направлении, что и AV, динамический объект помечается как продольное ограничение, и дискретный по времени план скорости корректируется таким образом, что AV следует за блокирующим объектом с комфортной скоростью и расстоянием.
[147] Вид 960 на Фиг. 9 иллюстрирует корректировку (т.е. операцию 870) дискретного по времени плана скорости с учётом динамических объектов. Процесс 800 определяет, что динамическое транспортное средство 916 находится в скорректированной доступной для движения области AV 912, и что для AV 912 небезопасно объезжать динамическое транспортное средство 916, потому что, например, не имеется интервал безопасности между краем динамического транспортного средства 916 и границей скорректированной доступной для движения области. Таким образом, AV 912 должно следовать за динамическим транспортным средством 916. Если динамическое транспортное средство 916 движется медленнее, чем стратегический план скорости, то дискретный по времени план скорости корректируется таким образом, что AV следует за динамическим транспортным средством 916 на комфортной скорости и расстоянии. Вид 960 также показывает, что траектория 962 для AV 912 основана, например, на вырезе 956.
[148] В другом примере предположим, что само динамическое транспортное средство 916 определено как имеющее продольное ограничение. Например, второе транспортное средство (не показано) может находиться впереди динамического транспортного средства 916. Таким образом, второе транспортное средство также может рассматриваться как еще одно продольное ограничение для AV 912. Таким образом, первый дискретный по времени план скорости (например, первый план замедления) может быть определен для AV 912 на основании динамического транспортного средства 916, а второй дискретный по времени план скорости (например, второй план замедления) может быть определен для AV 912. Один из первого дискретного по времени плана скорости и второго дискретного по времени плана скорости с, соответствующего большему замедлению, может быть выбран в качестве дискретного по времени плана скорости для AV. В более общем смысле, объекты, которые определены как ограничения для ограничений для AV, сами могут рассматриваться как ограничения для AV.
[149] Скорректированная доступная для движения область 964 иллюстрирует скорректированную доступную для движения область, которая является результатом операций процесса 800.
[150] Фиг. 10-12 являются примерами 1000, 1100 и 1200 корректировки доступной для движения области с учётом статических объектов в соответствии с вариантами реализации данного изобретения. Примеры 1000, 1100 и 1200 иллюстрируют определение статических границ для доступной для движения области. То есть Фиг. 10-12 представляют собой примеры корректировки доступной для движения области с учётом статических объектов, как описано в отношении операции 830 на Фиг. 8. То есть примеры 1000, 1100 и 1200 иллюстрируют определение вдоль грубой траектории движения AV того, где может осуществляться управление AV с учётом статических объектов.
[151] В примере 1000 на фиг. 10 грубая траектория движения AV 1002 представлена грубой траекторией 1004 движения. Грубая траектория 1004 движения также называется в данном документе грубой траекторией движения. Грубая траектория 1004 движения может быть определена (например, вычислена, сформирована и т.д.), как описано в отношении к слою 504 формирования опорной траектории по Фиг. 5. Пример 1000 иллюстрирует пример операции 830 определения поперечных границ доступной для движения области для AV 1002. То есть пример 1000 иллюстрирует определение, например, левой и правой границ доступной для движения области для AV 1002 с учётом статических объектов.
[152] Как упомянуто выше, определяется доступная для движения область (то есть нескорректированная доступная для движения область без выреза, такая как доступная для движения область 932 по Фиг.9). В одном примере, доступная для движения область может иметь ширину по умолчанию. Ширина по умолчанию может быть основана на текущей полосе движения или текущей дороге для AV. Ширина по умолчанию может определяться заданной шириной (например, 8 метров). Таким образом, доступная для движения область может пересекать осевую линию дороги. Следует отметить, что доступная для движения область по умолчанию может быть ограничена барьерами (например, бетонными барьерами), которые могут находиться на осевой линии. Такие барьеры являются статическими объектами и ограничивают доступную для движения область.
[153] Доступная для движения область для AV 1002 разделена на элементарные участки. У каждого элементарного участка есть центральная точка, например центральная точка 1006. Центральные точки могут быть расположены на одинаковом расстоянии. Например, центральные точки могут находиться на расстоянии примерно двух метров друг от друга. Левая и правая границы каждого элементарного участка могут быть связаны с направлением грубой траектории 1004 движения. Правая граница 1018 и левая граница 1020 иллюстрируют границы элементарного участка 1022.
[154] Граничные точки, такие как граничная точка 1008, происходят из статических объектов. Например, граничные точки могут быть получены из данных от датчика LiDAR, лазерного указателя, радара или любого другого датчика, такого как датчик 126 по Фиг. 1. Граничные точки могут представлять координаты (x, y), которые заняты или иным образом недоступны для AV. Каждая граничная точка, соответствующая статическим объектам, назначается элементарному участку, содержащему упомянутую граничную точку. Например, граничная точка 1008 назначается элементарному участку 1022. Соседние граничные точки (например, в пределах элементарного участка или за его пределами) могут соответствовать одному или более статическим объектам.
[155] Правая и левая границы каждого элементарного участка могут быть определены (т.е. заданы) на основании граничных точек, назначенных элементарному участку. Например, поскольку ячейка 1024 не включает в себя граничных точек, правая граница 1016 и левая граница 1010 элементарного участка 1024 совмещены с (нескорректированной) доступной для движения областью. С другой стороны, левая граница 1012 элементарного участка 1026 не совмещена с доступной для движения областью, поскольку вырез 1028 исключен из доступной для движения области; и правая граница 1014 элементарного участка 1026 не совмещена с доступной для движения областью, потому что вырез 1030 исключен из доступной для движения области.
[156] Границы скорректированной доступной для движения области представлены сегментированной линией 1032, которая образует левую границу скорректированной доступной для движения области, и сегментированной линией 1034, которая образует правую границу скорректированной доступной для движения области. Для ясности иллюстрации сегментированные линии 1032, 1034 показаны как смещенные от реальных границ. То есть, например, в то время как сегментированная линия 1032 перекрывается с границей 1010 и границей 1012, для ясности сегментированная линия 1032 показана как слегка смещенная от границы 1010 и границы 1012. Сегментированная линия 1032 представляет собой вычисленную левую границу скорректированной доступной для движения области. Сегментированная линия 1034 представляет собой вычисленную правую границу скорректированной доступной для движения области.
[157] Вычисленные правая и левая границы используются для определения того, может ли AV 1002 продолжать движение по грубой траектории 1004 движения. AV 1002 может продвигаться (виртуально или вычислительно, но не физически) к центру каждого элементарного участка, чтобы определить, является ли ширина элементарного участка (с учетом вычисленных границ) такой, что AV 1002 может безопасно пройти элементарный участок. Например, что касается элементарного участка 1022, AV 1002 не может оставаться на безопасном расстоянии от левой границы (то есть левой вычисленной границы) элементарного участка. Таким образом, и как дополнительно описано ниже, траектория AV 1002 должна быть изменена. Например, траектория AV 1002 может не нуждаться в корректировке, так как может потребоваться остановка AV 1002, или траектория AV 1002 может быть изменена другими способами.
[158] Фиг. 11 иллюстрирует пример 1100 определения статических границ и идентификации препятствия, которое учитывается при корректировке дискретного по времени плана скорости в соответствии с вариантами реализациями данного изобретения. В примере 1100 грубая траектория 1103 движения является грубой траекторией движения AV 1102. Доступная для движения область по умолчанию для AV 1102 определяется левой границей 1104 и правой границей 1106. В примере 1100 показаны левая граница 1108 полосы движения и правая граница 1110 полосы движения для полосы движения, которая включает в себя AV 1102. В примере 1100 управляемая область ограничена полосой движения (то есть полосой движения, ограниченной левой границей 1108 полосы движения и правой границей 1110 полосы движения) AV 1102. Таким образом, левая и правая границы полосы корректируются с учётом статических объектов.
[159] Левая граница 1104 и правая граница 1106 могут определять максимально возможную доступную для движения область (то есть максимальные границы). Однако, поскольку может быть предпочтительным, чтобы AV 1102 оставалось в пределах своей полосы движения, левая граница 1108 полосы движения и правая граница 1110 полосы движения определяют границы доступной для движения области. В одном примере, если AV 1102 не может безопасно двигаться в пределах своей полосы движения (например, между левой границей 1108 полосы движения и правой границей 1110 полосы движения), то можно оценить, может ли AV 1102 двигаться за пределами полосы движения, но в пределах максимальных границ. Расширение доступной для движения области можно назвать «проверкой расширенной доступной для движения области».
[160] Правая граница 1110 полосы движения включает в себя участок 1112. Участок 1112 показан пунктирной линией, поскольку, как дополнительно описано ниже, этот участок доступной для движения области необходимо скорректировать.
[161] Как описано с обращением к Фиг. 10, доступная для движения область AV 1102 разделена на элементарные участки, и граничные точки, соответствующие статическим объектам, назначаются соответствующим элементарным участкам, таким как элементарные участки 1116, 1118. Поскольку граничные точки элементарных участков 1116, 1118 выглядят как соответствующие большому прямоугольному объекту, этот объект может быть классифицирован (например, модулем 402 модели мира на Фиг.4) как «грузовик».
[162] Границы, соответствующие (т.е. определенные на основе) объектам (статическим или динамическим объектам), можно назвать жесткими границами. Жесткая граница такова, что, если запланированная траектория пересекает жесткую границу, возможно столкновение с другим объектом. С другой стороны, разметку полосы движения и/или дороги может назвать мягкими границами, представляющими границы согласно правилам или логические границы. Мягкая граница такова, что если запланированная траектория должна пересечь мягкую границу, которая также не является жесткой границей, движение AV может не соответствовать правилам и/или не быть социально приемлемым, но AV может быть в безопасности. Как показано на Фиг. 11, например, левая граница 1104 (т.е. левая граница доступной для движения области) определяет жесткую левую границу, а левая граница 1108 полосы движения определяет мягкую левую границу. Жесткая правая граница состоит из правой границы 1106 (то есть правой границы доступной для движения области) и границы 1114; мягкая правая граница определяется правой границей 1110 полосы движения и границей 1114.
[163] Может быть выполнена детальная проверка, чтобы определить, существует ли маршрут с учётом расстояние между жесткими правой и левой границами элементарного участка. Расстояние 1120 между границей 1114 и границей 1108 левой полосы движения определено как слишком узкое, чтобы AV 1102 проехало (то есть поместилось) через него,. По существу, место 1122, соответствующее элементарному участку 1116, отмечено как статическое препятствие. Таким образом, AV 1102 не может пройти объект(ы), представленный(е) граничными точками элементарных участков 1116, 1118. Соответственно, AV 1102 должно остановиться перед статическим препятствием, соответствующим местоположению 1122. Соответственно, модуль 530 может регулировать дискретный по времени план скорости таким образом, чтобы AV остановилось перед статическим препятствием.
[164] В другом примере, вместо остановки из-за статического препятствия блок планирования траектории определяет траекторию через интервал 1124 таким образом, что доступная для движения область расширяется по меньшей мере для элементарных участков 1116 и 1118 через левую границу 1108 полосы движения. Например, если левая граница 1108 полосы движения является центром дороги, блок планирования траектории может определить, что нет встречных динамических объектов и, следовательно, можно безопасно пересечь границу полосы движения.
[165] В другом примере, в случае, если имеется недостаточное расстояние для остановки AV перед статическим препятствием, дискретный по времени план скорости может лишь замедлить AV и, таким образом, траектория может быть определена так, чтобы AV могло пересечь мягкую левую границу, чтобы избежать пересечения жесткой правой границы и столкновения со статическим объектом. Таким образом, сохраняя осведомленность как о жестких, так и о мягких границах, блок планирования траектории может сформировать траекторию, которая соответствует правилам и является социально приемлемой при движении в большинстве ситуаций с плавным переходом к маневрам избегания препятствий в экстренных условиях.
[166] В одном примере, границы элементарного участка могут быть скорректированы на основании состояния объектов (например, групп граничных точек) внутри элементарного участка. Например, граничные точки в пределах элементарного участка можно отслеживать с течением времени. Если определено, что группа граничных точек внутри элементарного участка немного перемещается (т.е. ниже порогового уровня перемещения), то может потребоваться большая величина интервала. То есть AV 1102 может двигаться дальше от граничных точек, если граничные точки перемещаются. С другой стороны, если граничные точки стабильны (то есть не перемещаются), то AV 1102 может двигаться ближе к граничным точкам. По существу, граница элементарного участка (например, граница 1114) может регулироваться с течением времени в зависимости от уровня перемещения граничных точек в пределах элементарного участка.
[167] В одном примере, если перемещение граничных точек обнаруживается в момент времени t, тогда граничные точки считаются перемещающимися после этого (то есть в более поздние моменты времени t+x), независимо от того, продолжают ли граничные точки перемещаться.
[168] Корректировка границы элементарного участка с течением времени на основании перемещения граничных точек в пределах элементарного участка может называться фильтруемыми поперечными ограничениями. «Фильтруемый» в этом контексте означает, что поперечные ограничения (например, границы элементарного участка) могут изменяться со временем.
[169] Фиг. 12 представляет еще один пример, пример 1200 определения статических границ в соответствии с вариантами реализации данного изобретения. В примере 1200 грубая траектория 1203 движения является грубой траекторией движения AV 1202. Доступная для движения область по умолчанию для AV 1202 определяется левой границей 1204 полосы движения и правой границей 1206 полосы движения. Вырез 1208 и вырез 1210 вырезаны из доступной для движения области. В этом примере вырез 1210 находится в середине доступной для движения области.
[170] То, достигнет ли граница вырезанной области границы доступной для движения области по умолчанию, может зависеть от расстояния между вырезанной областью и границей доступной для движения области по умолчанию. Например, если расстояние, соответствующее интервалу 1216 между правым краем выреза 1210 и правой границей 1206 полосы движения, меньше порогового расстояния, то вырез 1210 может быть определен областью, проходящей от левой границы 1217 выреза 1210 до правой границы 1206 полосы движения. В одном примере пороговое расстояние может относиться к ширине AV 1202. Например, пороговое расстояние может быть в 1,5, 2,0 и т.д. раз больше ширины AV 1202. Аналогичным образом, также определяется промежуток (например, промежуток 1207) между кластером (например, кластером 1209) граничных точек элементарного участка и границей полосы движения (например, правой границей 1206 полосы движения). В случае интервала 1207, поскольку интервал 1207 определяется как меньший, чем пороговое расстояние (так что AV 1202 не может проехать через интервал), вырез 1208 расширяется до правой границы 1206 полосы движения.
[171] Блок планирования траектории AV 1202 может определить, что расстояние 1212 таково, что AV 1202 может проехать через интервал, соответствующий расстоянию 1212. Поскольку вырез 1210 перекрывает грубую траекторию 1203 движения, блок планирования траектории AV 1202 выполняет детальную проверку, чтобы определить (например, найти) интервал слева или справа от выреза 1210, чтобы AV 1202 могло пройти через интервал. Если интервал не обнаружен в результате детальной проверки, то AV 1202 может считаться заблокированным и его необходимо остановить.
[172] В примере 1200 интервал 1214 и интервал 1216 таковы, что AV 1202 может проехать через любой из интервалов 1214, 1216. В примере один из интервалов 1214, 1216 выбирается случайным образом. В другом примере блок планирования траектории выбирает интервал 1214 (т.е. интервал слева от выреза 1210), поскольку блок планирования траектории уже выбрал направление влево для прохождения выреза 1208.
[173] С учётом двух возможных маршрутов относительно второго объекта (например, левый маршрут и правый маршрут вокруг объекта) и с учётом первого маршрута (например, вправо или влево) относительно первого объекта, «отслеживание с множеством гипотез» относится к определению второго маршрута (например, траектории) относительно второго объекта.
[174] Фиг. 13 является блок-схемой процесса 1300 определения статических границ в соответствии с настоящим изобретением. Некоторые или все операции процесса 1300 могут выполняться в операции 830 процесса 800.
[175] В операции 1310 процесс 1300 организует граничные точки в элементарных участках вдоль грубой траектории движения. Граничные точки организуются в элементарные участки вдоль грубой траектории движения, как описано с обращением к Фиг. 10-12.
[176] В операции 1320 процесс 1300 проверяет границы элементарных участков относительно грубой траектории движения. Границы элементарных участков проверяются относительно грубой траектории движения, чтобы определить, имеются ли интервалы, таким образом, чтобы AV могло пройти по крайней мере через один из интервалов. В одном примере, операция 1320 может выполняться в операциях 1320_2-1320_12. Операция 1320 регулирует правую и левую границы элементарных участков управляемой области на основании граничных точек с разделением по элементарным участкам, как описано, например, относительно левой границы 1012 и правой границы 1014 элементарного участка 1026 по Фиг. 10.
[177] В операции 1320_2 процесс 1300 оценивает фактическую траекторию движения. Например, как описано в отношении выреза 1208, процесс 1300 определяет фактическую траекторию движения, которая находится слева от выреза 1208.
[178] В операции 1320_4 процесс 1300 идентифицирует проходимые интервалы. То есть процесс 1300 определяет количество проходимых интервалов. Например, учитывая правую и левую границы элементарного участка 1116 на фиг. 11, процесс 1300 определяет, может ли AV 1102 пройти через интервал, определенный расстоянием 1120. Если да, то идентифицирован один интервал. Точно так же процесс 1300 определяет, может ли AV 1202 пройти через интервал, определяемый расстоянием 1212 на Фиг. 12.
[179] В операции 1320_6, если идентифицирован единственный (то есть один) интервал, процесс 1300 завершается в операции 1320_12. То есть разрешено прохождение траектории через интервал. Если в операции 1320_4 идентифицировано более одного интервала, процесс 1300 переходит к операции 1320_8. Например, относительно AV 1202 и выреза 1210 процесс 1300 идентифицирует два интервала, а именно интервал справа и интервал слева от выреза 1210.
[180] В операции 1320_8 процесс 1300 выполняет подробную проверку для определения, доступны ли другие интервалы, например, описанные в отношении интервалов 1214, 1216 на Фиг. 12. Например, если интервал 1214 определен как слишком маленький для прохождения AV 1202 слева от выреза 1210, процесс 1300 может проверить, может ли AV 1202 пройти через интервал 1216. В операции 1320_8 процесс 1300 выбирает проезд слева или справа, и, если ни то, ни другое невозможно, процесс 1300 определяет, что имеется статическое препятствие.
[181] В операции 1320_10, если расстояние упреждения полностью проверено, процесс 1300 завершается в операции 1320_12; в противном случае процесс 1300 возвращается к операции 1320_2 для проверки дополнительных препятствий.
[182] Расстояние упреждения может изменяться в зависимости от скорости AV. Например, в зависимости от скорости AV расстояние упреждения может изменяться, чтобы сократить время вычислений, при этом по-прежнему гарантируя, что в случае обнаружения впереди препятствия или поперечного ограничения имеется достаточно времени для остановки или комфортного (например, безопасного) рулевого управления AV. Например, если требуется четыре секунды времени упреждения, то, если AV движется со скоростью 12 метров в секунду, подходящее расстояние упреждения будет составлять 48 метров. Если AV движется со скоростью 30 метров в секунду (например, при движении по шоссе), подходящее расстояние будет составлять 120 метров.
[183] Обращаясь вновь к Фиг. 5, модуль 528 дискретного по времени планирования скорости может формировать целевую скорость и ускорение из стратегического плана скорости, определяемого слоем 504 формирования опорной траектории (и, более конкретно, посредством модуля 524 стратегического планирования скорости). Модуль 528 дискретного по времени планирования скорости может формировать заданную скорость и ускорение из (например, на основании) продольных ограничений. В одном примере, продольные ограничения могут включать в себя линии остановки (описанные ниже), виртуальные линии остановки (описанные ниже), статические препятствия (то есть статические объекты) и/или динамические препятствия (то есть динамические объекты). Модуль 528 дискретного по времени планирования скорости итеративно вычисляет целевую скорость и ускорение. Целевая скорость и ускорение вычисляются для времени упреждения (то есть будущего временного горизонта). В одном примере время упреждения может составлять 6 секунд.
[184] Линия остановки представляет собой линию, на которой AV должно остановиться согласно правилам перед продолжением движения. Например, линия остановки может быть обозначена краской на дороге. В другом примере линия остановки может быть выведена на основании конструкций перекрестков и местоположений знаков остановки. Виртуальная линия остановки может использоваться AV для представления критического местоположения, где ожидается, но не требуется согласно правилам, остановка AV для проверки информации о пересечении. Например, при поворотах налево виртуальные линии остановки можно использовать в середине перекрестков, чтобы инструктировать AV остановиться и уступить дорогу пересекающему транспорту.
[185] Модуль 528 дискретного по времени планирования скорости вычисляет соответствующую целевую скорость с учётом продольных ограничений (т.е. статических или динамических объектов, которые находятся в продольном направлении AV) и/или соответствующее целевое расстояние с учётом продольных ограничений.
[186] Модуль 528 дискретного по времени планирования скорости может задавать (то есть выбирать, определять или иным образом задавать) режим отслеживания по меньшей мере для некоторых из статических и/или динамических объектов. Например, режим отслеживания может быть одним из «закрытого интервала», «сохранения интервала», «открытого интервала», «торможения» или «следования». Например, относительно динамического транспортного средства 916 по Фиг. 9, модуль 528 дискретного по времени планирования скорости может определять режим отслеживания «закрытый интервал». Например, в отношении объектов элементарного участка 1116 на Фиг. 11 режим отслеживания можно определить как «торможение». Доступные режимы отслеживания могут включать в себя меньшее число, большее число или другие режимы отслеживания. Режим отслеживания может использоваться для выбора наборов параметров настройки, используемых модулем 528 дискретного по времени планирования скорости. Параметры настройки могут включать в себя целевое ускорение, параметры гистерезиса и другие параметры настройки.
[187] Теперь будет приведён пример, иллюстрирующий работу модуля 528 дискретного по времени планирования скорости. Если продольные ограничения не найдены, то модуль 528 дискретного по времени планирования скорости может определить, что управление AV может осуществляться на основании стратегического плана скорости (как это определено слоем 504 формирования опорной траектории). С другой стороны, если обнаружено продольное ограничение (например, в отношении объектов элементарного участка 1116 на Фиг. 11), когда режим отслеживания определяется как «торможение», модуль 528 дискретного по времени планирования скорости вычисляет профиль скорости для остановки AV. То есть вычисляется профиль скорости замедления для остановки AV.
[188] В одном примере, в профиле скорости используется текущая скорость AV и расстояние до продольного ограничения для вычисления профиля скорости замедления таким образом, чтобы AV остановилось перед продольным ограничением.
[189] Фиг. 14-16 представляют примеры 1400, 1500 и 1600 определения динамических границ в соответствии с вариантами реализации данного изобретения. То есть фиг. 14-16 представляют примеры корректировки доступной для движения области с учётом динамических объектов, как описано в отношении операции 850 по Фиг. 8. То есть примеры 1400, 1500 и 1600 иллюстрируют определение вдоль грубой траектории движения AV, где может осуществляться управление AV с учётом динамических объектов.
[190] Каждый динамический объект может быть отнесен по меньшей мере к одному из нескольких доступных классов. Например, доступные классы включают в себя «поперечное ограничение», «продольное ограничение», «встречное поперечное ограничение» и «встречное продольное ограничение». Могут быть доступны и другие классы.
[191] Динамический объект, который классифицируется как «поперечное ограничение», влияет на маршрут AV, но не на скорость. Например, динамический объект может двигаться в направлении, обычно ортогональном направлению AV. То есть динамический объект может перемещаться либо с левой, либо с правой стороны AV, не препятствуя (т.е. не блокируя) маршруту AV. По существу, блоку планирования траектории, такой как блоку 500 планирования траектории по Фиг. 5, может быть необходимо скорректировать траекторию AV, чтобы уклониться от динамического объекта. То есть AV может потребоваться переместиться (влево или вправо), чтобы избежать столкновения с динамическим объектом.
[192] Динамический объект, который классифицируется как «продольное ограничение», влияет на скорость, но не на маршрут AV. Например, динамический объект может двигаться в общем в том же направлении, что и AV, и может находиться на маршруте AV. То есть объект продольного ограничения препятствует (то есть блокирует) маршруту AV при текущей скорости AV. Таким образом, блоку планирования траектории AV может не быть необходимо скорректировать траекторию AV, но может быть необходимо скорректировать (например, посредством модуля 528 дискретного по времени планирования скорости блока планирования траектории) скорость AV, чтобы избежать столкновения с динамическим объектом. Примером продольного ограничения является динамическое транспортное средство 916 на Фиг. 9. То есть объектом продольного ограничения может быть транспортное средство, которое находится впереди AV и движется медленнее, чем AV. Таким образом, AV следует замедлить, чтобы избежать столкновения с задней частью динамического объекта.
[193] Объект-встречное поперечное ограничение похож на объект-поперечное ограничение с той разницей, что объект-встречное поперечное ограничение движется в направлении, противоположном направлению AV. Динамическое встречное транспортное средство 918 по Фиг. 9 представляет собой пример объекта- встречного поперечного ограничения. В таком случае AV может двигаться (например, как описано в отношении траектории 962 по Фиг.9) без необходимости замедления.
[194] Объект-встречное продольное ограничение подобен объекту-продольному ограничению с той разницей, что объект-встречное продольное ограничение движется в направлении, противоположном направлению AV. В таком случае, как описано ниже с обращением к Фиг. 16, AV останавливается.
[195] По существу, модуль 532 слоя 506 избегания препятствий по Фиг. 5 ограничивает (т.е. применяет ограничения) дискретный по времени план скорости AV на основании классификации динамического объекта. Например, встречный динамический объект, который блокирует траекторию AV, может рассматриваться как статический объект в полосе движения (т.е. в той же полосе, что и AV). Например, движущийся впереди динамический объект (т.е. динамический объект, который находится впереди и движется в том же направлении, что и AV) может рассматриваться как продольное ограничение в дискретном по времени плане скорости. Например, динамический объект, который находится вблизи планируемой траектории движения AV, можно рассматривать как поперечное ограничение.
[196] В примере 1400 по Фиг. 14, AV 1402 движется по грубой траектории 1403 движения. Статические объекты не обнаружены. Соответственно, левая граница 1417 и правая граница 1418, которые являются вычисленными границами доступной для движения области, скорректированной в отношении статических объектов, как описано с обращением к Фиг. 10- 12, совпадают с границами доступной для движения области.
[197] Прогнозируется, что транспортное средство 1404 переместится от правой обочины дороги (или из полосы движения справа от полосы движения, которая включает в себя AV 1402) на маршрут AV по маршруту 1420. Таким образом, транспортное средство 1404 изначально классифицируется как поперечное ограничение. Прогнозируемый маршрут транспортного средства 1404 представляет собой маршрут 1420, который находится вблизи (например, рядом) грубой траектории 1403 движения. Таким образом, модуль 532 продолжает классифицировать транспортное средство 1404 как поперечное ограничение.
[198] Модуль 532 может определять (например, прогнозировать) местоположения AV 1402 в различные дискретные моменты времени. Таким образом, модуль 532 определяет местоположения прибытия вдоль грубой траектории 1403 движения в различные моменты времени. Например, в момент времени t (например, за одну секунду) прогнозируется нахождение AV 1402 в местоположении 1406; в момент времени t+1 (например, через две секунды) прогнозируется нахождение AV 1402 в местоположении 1408; и в момент времени t+2 (например, через три секунды) прогнозируется нахождение AV 1402 в местоположении 1410.
[199] Хотя в отношении примеров 1400, 1500 и 1600 показаны местоположения через 3 секунды в будущем (то есть временное окно в 3 секунды), можно определить (например, спрогнозировать, вычислить и т.д.) большее или меньшее количество местоположений  с учётом заданного временного окна. Например, временное окно составляет шесть секунд. Частота прогнозируемых местоположений также может изменяться. В одном примере временное окно может составлять шесть секунд, а местоположение может определяться каждые полсекунды. Таким образом, прогнозируется 12 местоположений.
[200] Как описано выше, второй экземпляр блока планирования траектории может отслеживать (например, прогнозировать траекторию) транспортное средство 1404. По существу, модуль 532 второго блока планирования траектории может определять (например, прогнозировать) местоположения транспортного средства 1404. Например, в момент времени t (например, за одну секунду) транспортное средство 1404 определяется как находящееся в местоположении 1412; в момент времени t+1 (например, через две секунды) транспортное средство 1404 определяется как находящееся в местоположении 1414; и в момент времени t+2 (например, через три секунды) транспортное средство 1404 определяется как находящееся в местоположении 1416. В одном примере, одно и то же временное окно и частота прогнозирования могут быть одинаковыми для всех созданных экземпляров блока планирования траектории AV. Однако это не обязательно. Временное окно и частота прогнозирования могут зависеть от типа динамического объекта (например, велосипед, пешеход, спортивное транспортное средство, седан, большой грузовик и т.д.). Доступная для движения область для AV 1402 корректируется для удаления тех областей, которые соответствуют местоположениям транспортного средства 1404.
[201] В примере 1400 по Фиг. 14 определяется, что транспортное средство 1404 и AV 1402 находятся примерно в одних и тех же местоположениях в одно и то же время. Таким образом, участки, соответствующие маршруту 1422, вырезаются из доступной для движения области AV 1402, например, путем установки (в этом примере правых) границ элементарных участков, соответствующих маршруту 1422. Как описано в отношении расстояния 1212 по Фиг. 12, если расстояние 1424 таково, что AV 1402 может пройти через интервал, определяемый расстоянием 1424, то траектория движения AV 1402 корректируется через упомянутый интервал (т.е. AV 1402 сдвигается влево).
[202] В примере 1500 по Фиг. 15 AV 1502 движется по грубой траектории 1503 движения. Статические объекты не обнаружены. Соответственно, левая граница 1517 и правая граница 1518 доступной для движения области не корректируются с учётом статических объектов. Однако прогнозируется, что транспортное средство 1504 будет двигаться с правой обочины дороги (или с полосы движения справа от полосы движения, которая включает в себя AV 1502) на маршрут AV 1502 по маршруту 1520.
[203] Изначально, например, когда впервые обнаружено транспортное средство 1504, оно может быть классифицировано как поперечное ограничение. По существу, поперечное ограничение может применяться к транспортному средству 1504, как описано в отношении транспортного средства 1404 по Фиг. 14.
[204] Как описано с обращением к Фиг. 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.
[205] В примере 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.
[206] Блок планирования траектории определяет, что прогнозируется нахождение AV 1602 и транспортного средства 1604 приблизительно в одном и том же месте (то есть в месте пересечения, соответствующем местоположениям 1612, 1618) в одно и то же время (то есть в момент времени t+2). Таким образом, если AV 1602 продолжит движение по грубой траектории 1603 движения, оно, скорее всего, столкнется с транспортным средством 1604.
[207] Хотя это не показано на Фиг. 16, доступная для движения область в примере 1600 корректируется (т.е. вырезается), как описано в отношении выреза 956 на виде 950 по Фиг. 9. То есть доступная для движения область для AV 1602 корректируется для удаления тех областей, которые соответствуют местоположениям транспортного средства 1604, например, путем установки (в этом примере - слева) границ элементарных участков, соответствующих (то есть перекрывающихся) маршруту 1609.
[208] В месте пересечения (т.е. в точках 1612, 1618) блок планирования траектории может оценить ширину доступной для движения области между точкой пересечения и краем доступной для движения области. Таким образом, блок планирования траектории оценивает расстояние 1622 для определения, достаточен ли размер интервала, определяемого расстоянием 1622 для проезда AV 1602. Как описано выше, расстояние 1622 - это расстояние между вычисленными границами элементарного участка 1608, который включает в себя точку пересечения.
[209] В случае, если расстояние 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.
[210] В другом примере, по меньшей мере для некоторых из прогнозируемых местоположений транспортного средства 1604, начиная с точки пересечения (например, местоположения в момент времени t+X, где X - положительное целое число) и двигаясь вперед во времени (например, по меньшей мере в некоторых из местоположений в моменты времени t+X+1, t+X+2,…, t+X+n), блок планирования траектории определяет, может ли AV 1602 в этом месте разойтись с транспортным средством 1604.
[211] Блок планирования траектории определяет, что AV 1602 может разойтись с транспортным средством 1604, когда транспортное средство 1604 будет находиться в местоположении 1620. Таким образом, блок планирования траектории (и, более конкретно, модуль 530) устанавливает статическое препятствие в местоположении 1624. Блок планирования траектории (и, более конкретно, модуль 528 дискретного по времени планирования скорости) затем определяет профиль скорости и/или замедления, чтобы остановить AV 1602 в местоположении 1624. Таким образом, AV 1602 останавливается в местоположении 1624 до тех пор, пока транспортное средство 1604 не достигнет местоположения 1624, и в этот момент AV 1602 сможет продолжить движение по грубой траектории 1603 движения.
[212] В случае, если расстояние 1622 определено как достаточно большое, блок планирования траектории может скорректировать грубую траекторию 1603 движения таким образом, чтобы AV 1602 переместилось влево, чтобы уклониться от транспортного средства 1604 в местоположении пересечения, например, как показано в отношении траектории 962 на виде 960 по Фиг. 9.
[213] При этом в одном примере слой 506 избегания препятствий систематически обрабатывает объекты. Если объект не представляет собой ограничение, слой 506 избегания препятствий может его игнорировать.
[214] Если объект является статическим объектом и скорректированная доступная для движения область является проходимой (например, AV может пройти через один или более интервалов в доступной для движения области или скорректированной доступной для движения области, в зависимости от обстоятельств), модуль 530 может применять статическое ограничение (например, поперечное ограничение) для определения скорректированной доступной для движения области, как описано, например, в отношении расстояния 1212 по Фиг. 12.
[215] Если объект является статическим объектом и доступная для движения область (или скорректированная доступная для движения область) не является проходимой, модуль 528 дискретного по времени планирования скорости может скорректировать дискретный по времени профиль скорости, как описано, например, в отношении местоположения 1122 по Фиг. 11.
[216] Если объект является динамическим объектом и объект представляет собой поперечное ограничение, модуль 532 может скорректировать доступную для движения область (или скорректированную доступную для движения область), как описано, например, с обращением к Фиг. 15.
[217] Если объект является динамическим объектом и объект представляет собой продольное ограничение, модуль 528 дискретного по времени планирования скорости может скорректировать дискретный по времени профиль скорости  как описано, например, с обращением к Фиг. 16. Модуль 528 дискретного по времени планирования скорости может формировать дискретный по времени план скорости для окна в будущем (например, план скорости на следующие 6 секунд) с учетом упомянутых ограничений.
[218] Возвращаясь к Фиг. 5, слой 508 оптимизации траектории выполняет операцию(и) оптимизации, такую как операция с ограничениями, для определения оптимальной траектории для AV на основании ограничений. Слой 508 оптимизации траектории может использовать (т.е. в качестве входных данных для операции оптимизации) модель движения (например, кинематическую модель движения) AV, грубую траекторию движения (например, грубую траекторию 1004 движения по Фиг.10, грубую траекторию 1103 движения по Фиг.11, грубую траекторию 1403 движения по Фиг.14 и т.д.) и/или центральные точки (например, центральную точку 1006) элементарных участков вдоль грубой траектории движения, дискретный по времени план скорости и скорректированную доступную для движения область (например, левую и правую границы скорректированной доступной для движения области) для вычисления (например, определения, формирования и т.д.) оптимальной траектории для AV. Таким образом, оптимальная траектория принимает во внимание грубую траекторию движения, а также левую и правую границы, учитывая статические и динамические объекты вдоль грубой траектории движения.
[219] Фиг. 17 иллюстрирует дополнительные примеры 1700 планирования траектории в соответствии с вариантами реализации данного изобретения. В каждом из нижеприведенных примеров в автономном транспортном средстве могут быть выполнены один или более блоков планирования траектории, например блок 500 планирования траектории по Фиг. 5. Первый экземпляр блока планирования траектории определяет траекторию для самого автономного транспортного средства. Второй экземпляр блока планирования траектории прогнозирует траекторию по меньшей мере одного внешнего динамического объекта. В некоторых примерах первый экземпляр может определять траекторию для самого автономного транспортного средства и может прогнозировать траекторию внешнего динамического объекта. Для простоты объяснения понятие «блок планирования траектории» используется в данном документе для указания первого и/или второго экземпляра.
[220] В первом примере блок планирования траектории AV 1702 прогнозирует, что встречное транспортное средство 1704 будет следовать по траектории 1706 для уклонения от статического объекта 1705. Блок планирования траектории дополнительно определяет, как описано с обращением к Фиг. 16, что AV 1702 не сможет пройти через интервал между траекторией встречного транспортного средства 1704 и правой границей доступной для движения области. Таким образом, блок планирования траектории определяет план скорости, который приводит AV 1702 к остановке у статического препятствия 1708, пока встречное транспортное средство 1704 не пройдёт статическое препятствие 1708.
[221] Во втором примере AV 1710 определяет (т.е. посредством блока планирования траектории AV), что динамический объект 1712 будет следовать по маршруту 1714. Блок планирования траектории определяет, что AV 1710 не может пройти динамический объект 1712, не пересекая осевую линию дороги, которая может быть жесткой левой границей доступной для движения области (как описано в отношении доступной для движения области 932 по Фиг.9). Таким образом, блок планирования траектории AV 1710 определяет план скорости, который приводит AV 1710 к остановке у статического препятствия 1716.
[222] В третьем примере AV 1720 определяет, что встречный динамический объект 1722 будет следовать по траектории 1724. AV 1720 дополнительно определяет траекторию 1730 AV 1720 таким образом, что AV 1720 движется по траектории 1730 между первым статическим объектом 1726 и вторым статическим объектом 1728, где AV 1720 должен ожидать у статического препятствия 1732 в течение вычисленного количества секунд, после чего продолжить движение. Вычисленное количество секунд представляет собой время, достаточное для прохождения встречным динамическим объектом 1722, местоположения статического препятствия 1732, например, как описано в отношении местоположения 1624 по Фиг. 16.
[223] В четвертом примере AV 1734 определяет, что большой динамический объект 1736 поворачивает направо. Используя модель движения большого динамического объекта 1736, блок планирования траектории AV 1734 определяет, что большому динамическому объекту 1736 необходим большой радиус поворота и, таким образом, большой динамический объект 1736 будет следовать по траектории 1738. Соответственно, план скорости определяется (например, вычисляется, формируется и т.д.) для AV 1734 таким образом, чтобы AV 1734 остановилось у статического препятствия 1740 до тех пор, пока большой динамический объект 1736 не освободит маршрут AV 1734.
[224] Подводя итог, блок планирования траектории (например, слой данных траектории движения блока планирования траектории) согласно данному изобретению может определять (например, формировать, вычислять, выбирать и т.д.) опорную (то есть грубую) траекторию движения. Блок планирования траектории может объединить несколько видов входных данных для определения грубой траектории движения. Таким образом, грубую траекторию движения можно назвать основанной на множестве источников (т.е. из множества типов входных данных). Входные данные могут включать в себя картографические данные HD, данные дистанционного управления, данные записанных маршрутов, данные движущегося впереди транспортного средства, данные о парковках и данные распознавания местности. Блок планирования траектории может использовать меньшее число, большее число или иные входные данные.
[225] Блок планирования траектории (например, слой конкатенации грубой траектории движения блока планирования траектории) может формировать (например, определять, вычислять и т.д.) стратегический план скорости, который включает в себя конкретные значения скорости вдоль грубой траектории движения. Планировщик траектории может использовать для формирования стратегического плана скорости по меньшей мере одно из кривизны дороги, коэффициента трения дороги, ограничения скорости и/или ускорения транспортного средства, минимального времени движения с постоянной скоростью, типов района, и большее число, меньшее число или другие входные данные.
[226] Блок планирования траектории (например, слой конкатенации грубой траектории движения блока планирования траектории) определяет скорректированную доступную для движения область для AV на основании по меньшей мере одного или более из жестких границ (которые задаются на основании статических и/или динамических объектов), мягких границ (например, разметки полосы движения), фильтруемых поперечных ограничений, отслеживания с множеством гипотез, проверки расширенной доступной для движения области и классификации динамических объектов (например, классификации объекта как встречного транспортного средства, движущегося впереди транспортного средства или поперечного ограничения).
[227] Блок планирования траектории (например, модуль дискретного по времени планирования скорости блока планирования траектории) определяет (например, вычисляет) дискретный по времени план скорости, используя, например, профили естественного ускорения (например, модель движения AV), профили ускорения транспортного средства и определение ограничивающих продольных ограничений.
[228] Блок планирования траектории (например, слой оптимизации желаемой траектории блока планирования траектории) формирует (например, вычисляет, определяет и т.д.) оптимизированную траекторию AV, используя, например, операцию оптимизации с ограничениями. В одном примере операция оптимизации может быть основана на квадратичной штрафной функции или может включать в себя эту функцию. В одном примере операция оптимизации может быть основана на логарифмической барьерной функции или может включать в себя эту функцию. Например, квадратичная штрафная функция может использоваться для мягких ограничений. Например, логарифмическая барьерная функция может использоваться для жестких ограничений.
[229] ФИГ. 18 представляет собой блок-схему процесса 1800 избегания препятствий в соответствии с настоящим изобретением. Процесс 1800 может быть выполнен блоком планирования траектории, таким как блок 500 планирования траектории по Фиг. 5.
[230] В операции 1810 процесс 1800 обнаруживает первый объект на грубой траектории движения в доступной для движения области для AV. В одном примере обнаружение первого объекта может подразумевать обнаружение граничных точек, таких как граничная точка 1008 по Фиг. 10, соответствующих объекту. В одном примере обнаружение объекта может подразумевать приём (например, путем запроса) объекта из модели мира, например, описанной в отношении модуля 402 модели мира по Фиг. 4. Грубая траектория движения может быть такой, как описано, например, в отношении грубой траектории 1004 движения по Фиг. 10, грубой траектории 1103 движения по Фиг. 11, грубой траектории 1203 движения по Фиг. 12 и так далее. Доступная для движения область может быть такой, как описано в отношении доступной для движения области 932 по Фиг. 9.
[231] В операции 1820 процесс 1800 принимает прогнозируемый маршрут первого объекта. В одном примере процесс 1800 определяет прогнозируемый маршрут первого объекта на основании классификации первого объекта и модели движения первого объекта. В другом примере процесс 1800 принимает прогнозируемый маршрут первого объекта от блока планирования траектории, который прогнозирует маршрут первого объекта. Прогнозируемый маршрут может быть таким, как описано в отношении траектории 336, траектории 346, траектории 354 и траектории 364 по Фиг. 3; маршрута 1420 по Фиг. 14; маршрута 1520 по Фиг. 15; и маршрута 1609 по Фиг. 16.
[232] В операции 1830 процесс 1800 определяет на основании прогнозируемого маршрута первого объекта скорректированную доступную для движения область. В одном примере, и как описано выше, из доступной для движения области могут быть вырезаны участки для формирования скорректированной доступной для движения области. В другом примере, например, в случае, если первый объект не является ни поперечным, ни продольным ограничением, как описано выше, скорректированная доступная для движения область может быть такой же, как и доступная для движения область.
[233] В операции 1840 процесс 1800 определяет траекторию AV через скорректированную доступную для движения область. Траектория может быть определена, как описано в отношении слоя 508 оптимизации траектории по Фиг. 5.
[234] В одном примере, определение на основании прогнозируемого маршрута первого объекта скорректированной доступной для движения области может включать в себя разделение по меньшей мере участка грубой траектории движения на элементарные участки, назначение первого объекта одному элементарному участку из элементарных участков и определение скорректированной доступной для движения области на основании упомянутого одного элементарного участка. Элементарные участки могут быть, например, такими, как описано с обращением к Фиг. 10. Определение скорректированной доступной для движения области на основании одного элементарного участка может включать в себя определение (например, вычисление) границ по меньшей мере для упомянутого одного элементарного участка, как описано выше.
[235] В одном примере определение на основании прогнозируемого маршрута первого объекта скорректированной доступной для движения области может включать в себя определение соответствующих местоположений объекта для первого объекта в дискретные интервалы времени, определение соответствующих местоположений AV для AV в упомянутые дискретные интервалы времени и определение скорректированной доступной для движения области на основании соответствующих местоположений объекта и соответствующих местоположений AV. Соответствующие местоположения первого объекта, местоположения AV и определение скорректированной доступной для движения области могут быть такими, как описано с обращением к Фиг. 14-16.
[236] В одном примере процесс 1800 может включать в себя классификацию первого объекта. В другом примере процесс 1800 может принимать классификацию первого объекта, например, от модуля 402 модели мира. В случае, если первый объект классифицирован как приближающееся продольное ограничение, определение траектории AV через скорректированную доступную для движения область может включать в себя остановку AV до второго момента времени, следующего за первым моментом времени, в который местоположение объекта для первого объекта совпадает с местоположением AV для AV, как описано, например, с обращением к Фиг. 16.
[237] В случае, если первый объект классифицирован как продольное ограничение, определение траектории AV через скорректированную доступную для движения область может включать в себя замедление AV, чтобы оно двигалось позади первого объекта, например, как описано с обращением к Фиг. 15.
[238] В одном примере процесс 1800 также может включать в себя классификацию первого объекта как поперечное ограничение, продольное ограничение, встречное поперечное ограничение или встречное продольное ограничение.
[239] В одном примере определение траектории AV через скорректированную доступную для движения область может включать в себя определение того, что первый объект является статическим препятствием, и остановку AV, как описано с обращением к Фиг. 16.
[240] В контексте настоящего документа понятия «водитель» или «оператор» могут использоваться взаимозаменяемо. В контексте настоящего документа понятия «торможение» или «замедление» могут использоваться взаимозаменяемо. В контексте настоящего документа понятия «компьютер» или «вычислительное устройство» включают в себя любой модуль или сочетание модулей, способных выполнять любой способ или любую его часть или части, раскрытые в данном документе.
[241] В контексте настоящего документа понятие «команды» может включать в себя указания или выражения для выполнения любого способа или любой его части или частей, раскрытых в данном документе, и они могут быть реализованы в аппаратном обеспечении, программном обеспечении или любом их сочетании. Например, команды могут быть реализованы в виде информации, такой как компьютерная программа, сохраняемая в памяти, которая может выполняться процессором для выполнения любого из соответствующих способов, алгоритмов, аспектов или их сочетаний, как описано в данном документе. В некоторых вариантах реализации команды или их часть могут быть реализованы в виде специализированного процессора или схемы, которая может включать в себя специализированное аппаратное обеспечение для выполнения любого из способов, алгоритмов, аспектов или их сочетаний, как описано в данном документе. В некоторых вариантах реализации части инструкций могут быть распределены между множеством процессоров в одном устройстве или во множестве устройств, которые могут осуществлять связь напрямую или по сети, такой как локальная сеть, глобальная сеть, Интернет или их сочетание.
[242] В контексте настоящего документа понятия «пример», «вариант осуществления», «вариант реализации», «аспект», «признак» или «элемент» указывают на то, что они служат в качестве примера, экземпляра или иллюстрации. Если в явном виде не указано иное, любой пример, вариант осуществления, вариант реализации, аспект, признак или элемент являются независимыми от каждого другого примера, варианта осуществления, варианта реализации, аспекта, признака или элемента и могут использоваться в сочетании с любым другим примером, вариантом осуществления, вариантом реализации, аспектом, признаком или элементом.
[243] В контексте настоящего документа понятия «определять» и «идентифицировать» или любые их варианты включают в себя выбор, установление, вычисление, поиск, приём, определение, установление, получение или иную идентификацию или определение любым способом с использованием одного или более устройств, показанных и описанных в настоящем документе.
[244] В контексте настоящего документа понятие «или» подразумевает значение включающего «или», а не исключающего «или». То есть, если не указано иное или контекст в явном виде не указывает на иное, «X включает A или B» подразумевает обозначение любой из их естественных неисключающих перестановок. Если X включает в себя A; X включает в себя B; или X включает в себя как A, так и B, то «X включает A или B» выполняется в любом из вышеупомянутых случаев. Кроме того, форму единственного числа используемую в данной заявке и прилагаемой формуле изобретения, в общем случае следует истолковывать как означающую «один или более», если не указано иное или если из контекста не следует явным образом, что она означает форму единственного числа.
[245] Кроме того, для простоты объяснения, хотя чертежи и описание в данном документе могут включать в себя последовательности или серии операций или этапов, элементы способов, раскрытых в данном документе, могут происходить в различном порядке или одновременно. Кроме того, элементы способов, раскрытых в данном документе, могут происходить вместе с другими элементами, в явном виде не представленными и не описанными в данном документе. Кроме того, не все элементы описанных здесь способов могут потребоваться для реализации способа в соответствии с данным изобретением. При том, что аспекты, признаки и элементы описаны в данном документе в конкретных сочетаниях, каждый аспект, признак или элемент могут использоваться независимо или в различных сочетаниях с другими аспектами, особенностями и/или элементами или без них.
[246] Хотя раскрытая технология была описана в отношении определенных вариантов осуществления, следует понимать, что раскрытая технология не должна ограничиваться раскрытыми вариантами осуществления, а, напротив, подразумевает охват различных изменений и эквивалентных конфигураций, включенных в объем прилагаемой формулы изобретения, объем которой должен соответствовать самой широкой интерпретации, соответствующей законодательству, охватывая все такие изменения и эквивалентные конфигурации.