ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[1] Эта заявка испрашивает приоритет и преимущество заявки на патент США № 16/019 291, поданной 26 июня 2018 г., которая является продолжением международной заявки № PCT/US2018/035455, поданной 31 мая 2018 г., полное раскрытие которой включено сюда посредством ссылки.
Область техники
[2] Эта заявка относится к автономным транспортным средствам, включая в себя способы, устройства, системы и энергонезависимые машиночитаемые носители для отслеживания объектов для автономных транспортных средств.
Уровень техники
[3] Увеличение использования автономных транспортных средств создает потенциал для более эффективного передвижения пассажиров и грузов по транспортной сети. Более того, использование автономных транспортных средств может привести к повышению безопасности транспортных средств и более эффективной связи между транспортными средствами. Однако крайне важно, чтобы автономные транспортные средства могли обнаруживать статические объекты и/или предсказывать траектории других близлежащих динамических объектов для планирования траектории таким образом, чтобы автономные транспортные средства могли безопасно двигаться по транспортной сети и избегать таких объектов.
Сущность изобретения
[4] Здесь раскрыты аспекты, особенности, элементы и реализации для удаленной поддержки автономной работы транспортного средства. Реализации поддерживают дистанционное управление, которое расширяет существующий маршрут до альтернативной конечной точки в пункте назначения.
[5] Аспектом раскрытых реализаций является способ планирования траектории автономного транспортного средства. Способ включает в себя определение грубой линии вождения от первого местоположения до второго местоположения; определение стратегического плана скорости для грубой линии вождения; устранение боковых разрывов в грубой линии вождения на основе стратегического плана скорости для создания регулируемой грубой линии вождения; и генерирование боковых ограничений для регулируемой грубой линии вождения и дискретного время-скоростного плана на основе наблюдаемых объектов.
[6] Аспектом раскрытых реализаций является автономное транспортное средство, включающее в себя память и процессор. Процессор сконфигурирован для выполнения инструкций планировщика траектории, хранящихся в памяти. Планировщик траектории, сконфигурированный для определения грубой линии вождения от первого местоположения ко второму местоположению; определения стратегического плана скорости для грубой линии вождения; регулирования грубой линии вождения для генерирования регулируемой грубой линии вождения без боковых разрывов на основе стратегического плана скорости; и генерирования боковых ограничений для грубой линии вождения и дискретно-временного плана скорости путем ограничения регулируемой грубой линии вождения на основе наблюдаемых объектов.
[7] Эти и другие аспекты настоящего раскрытия раскрыты в нижеследующем подробном описании вариантов осуществления, прилагаемой формуле изобретения и сопроводительных чертежах.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[8] Раскрытая технология лучше всего понятна из следующего подробного описания при чтении вместе с сопроводительными чертежами. Подчеркивается, что в соответствии с общепринятой практикой различные элементы чертежей могут не соответствовать масштабу. Напротив, размеры различных элементов могут быть произвольно увеличены или уменьшены для ясности. Кроме того, одинаковые ссылочные позиции относятся к одинаковым элементам на всех чертежах, если не указано иное.
[9] ФИГ. 1 представляет собой схему примера части транспортного средства, в которой могут быть реализованы аспекты, признаки и элементы, раскрытые в данном документе.
[10] ФИГ. 2 является схемой примера части системы связи и транспортировки транспортного средства, в которой могут быть реализованы раскрытые здесь аспекты, признаки и элементы.
[11] ФИГ. 3 - схема ситуаций предсказываемых ответов согласно реализациям этого раскрытия.
[12] ФИГ. 4 - пример компонентов системы для автономного транспортного средства согласно реализациям этого раскрытия.
[13] ФИГ. 5 - пример уровней планировщика траектории для автономного транспортного средства согласно реализациям этого раскрытия.
[14] ФИГ. 6 - иллюстрация примеров конкатенации грубой линии вождения согласно реализациям этого раскрытия сущности.
[15] ФИГ. 7 - пример определения стратегического плана скорости согласно реализациям этого раскрытия.
[16] ФИГ. 8 - это блок-схема последовательности этапов процесса определения области, доступной для вождения, и дискретно-временного плана скорости в соответствии с реализацией этого раскрытия.
[17] ФИГ. 9 - иллюстрация определения области, доступной для вождения, и дискретно-временного плана скорости в соответствии с реализациями этого раскрытия сущности.
[18] Фиг. 10-12 представляют собой примеры регулировки области, доступной для вождения, для статических объектов в соответствии с реализациями этого раскрытия.
[19] ФИГ. 13 - блок-схема процесса определения статических границ в соответствии с настоящим раскрытием.
[20] Фиг. 14-16 являются примерами определения динамических границ в соответствии с реализациями этого раскрытия.
[21] ФИГ. 17 иллюстрирует дополнительные примеры планирования траектории в соответствии с реализациями этого раскрытия.
[22] ФИГ. 18 - блок-схема процесса избегания объектов в соответствии с настоящим раскрытием.
[23] ФИГ. 19 - схема примеров гипотез для объектов реального мира согласно реализациям этого раскрытия.
[24] ФИГ. 20 включает в себя блок-схему последовательности этапов процесса моделирования мира и блок-схему последовательности этапов процесса использования модели мира в соответствии с настоящим раскрытием.
[25] ФИГ. 21 - пример создания и поддержки гипотез в соответствии с настоящим раскрытием.
[26] ФИГ. 22 - пример предсказания траектории в соответствии с настоящим раскрытием.
[27] ФИГ. 23 - пример ассоциирования наблюдений датчиков с объектами реального мира в соответствии с настоящим раскрытием.
[28] ФИГ. 24 - пример обновления состояний гипотез в соответствии с настоящим раскрытием.
[29] ФИГ. 25 представляет собой блок-схему процесса отслеживания и предсказания объектов мира с помощью автономного транспортного средства в соответствии с настоящим раскрытием.
[30] ФИГ. 26 - пример предсказания траектории в соответствии с настоящим раскрытием.
[31] ФИГ. 27 - блок-схема последовательности этапов процесса предсказания траектории в соответствии с настоящим раскрытием.
[32] ФИГ. 28 представляет собой блок-схему процесса планирования траектории для автономного устройства в соответствии с настоящим раскрытием.
ПОДРОБНОЕ ОПИСАНИЕ
[33] Транспортное средство, такое как автономное транспортное средство или полуавтономное транспортное средство, может двигаться по части транспортной сети. Транспортная сеть транспортных средств может включать в себя одну или несколько областей, не доступных для навигации, таких как здание; одну или несколько частично доступных для навигации областей, таких как парковка (например, парковка, место для парковки и т. д.); одну или несколько областей, доступных для навигации, таких как дороги (которые включают полосы движения, разделительные полосы, перекрестки и т. д.); или их комбинацию.
[34] Транспортное средство может включать в себя один или несколько датчиков. Движение по транспортной сети транспортных средств может включать в себя датчики, генерирующие или захватывающие данные датчиков, например данные, соответствующие рабочей среде транспортного средства или ее части. Например, данные датчика могут включать в себя информацию, соответствующую одному или нескольким внешним объектам (или просто объектам).
[35] Внешний объект может быть статическим объектом. Статический объект - это объект, который неподвижен и не должен двигаться в следующие несколько секунд. Примеры статических объектов: велосипед без водителя, холодное транспортное средство, пустое транспортное средство, дорожный знак, стена, здание, выбоина и т. д.
[36] Внешний объект может быть остановленным объектом. Остановленный объект - это объект, который неподвижен, но может двигаться в любой момент. Примеры остановленных объектов включают в себя транспортное средство, которое остановлено на светофоре, и транспортное средство на обочине дороги с пассажиром (например, водителем) на нем. В некоторых реализациях остановленные объекты считаются статическими объектами.
[37] Внешний объект может быть динамическим (т. е. движущимся) объектом, таким как пешеход, удаленное транспортное средство, мотоцикл, велосипед и т. д. Динамический объект может приближаться (к транспортному средству) или может двигаться в том же направлении, что и транспортное средство. Динамический объект может двигаться продольно или поперечно по отношению к транспортному средству. Статический объект может стать динамическим, и наоборот.
[38] В общем, движение по (например, вождение внутри) транспортной сети транспортных средств можно рассматривать как роботизированное поведение. То есть можно ожидать предсказанные ответы транспортного средства на некоторые ситуации (например, ситуации дороги или трафика). Например, наблюдатель за ситуацией трафика может предвидеть, какой ответ транспортного средства будет в течение следующих множественных секунд. То есть, например, в то время как среда вождения (например, транспортная сеть транспортных средств, дороги) может быть динамической, ответ, например, от транспортного средства (например, ведомого человеком, удаленно управляемого и т. д.), на состояние дороги, можно предсказывать/предвидеть.
[39] Ответ(ы) можно предсказывать, поскольку движение по транспортной сети транспортных средств регулируется правилами дорожного движения (например, транспортное средство, поворачивающее налево, должно уступать место встречному трафику, транспортное средство должно проезжать между разметкой полос движения), социальными соглашениями (например, на знаке остановки водителю справа уступают) и физическим ограничениям (например, неподвижный объект не сразу передвигается в сторону полосы с правом проезда транспортного средства). Дополнительные примеры предсказываемых ответов проиллюстрированы на фиг. 3.
[40] Реализации согласно этому раскрытию определяют траекторию для автономного транспортного средства путем обнаружения (например, считывания, наблюдения и т. д.) присутствия статических объектов и предвидения (то есть предсказания) траекторий других пользователей транспортной сети транспортных средств (например, пользователей дороги, динамических объектов). Реализации согласно этому раскрытию могут точно и эффективно планировать траектории динамических объектов (например, других участников дорожного движения), способствуя плавному управлению (например, остановке, ожиданию, ускорению, замедлению, соединению и т. д.) автономного транспортного средства и социально приемлемому поведению (например, этапам) автономного транспортного средства.
[41] Как дополнительно описано ниже, реализации планировщика траектории в соответствии с этим раскрытием могут генерировать плавную траекторию для автономного транспортного средства (AV) от начального местоположения до местоположения пункта назначения, например, посредством приема данных карты HD, данных дистанционного управления и других начальных данных; совмещения (например, слияния, соединения и т. д.) входных данных в продольном направлении для определения профиля скорости для пути от начального местоположения до местоположения пункта назначения (например, профиля скорости, указывающего, как быстро AV может быть ведомым по различным сегментам пути от начального местоположения до местоположения пункта назначения); и, в дискретные моменты времени (например, каждые несколько миллисекунд), наличия ограничений процесса планировщика траектории, ассоциированных со статическими и динамическими объектами, которые наблюдаются на основе данных датчиков упомянутого AV, чтобы сгенерировать плавную траекторию для AV в следующее временное окно (например, прогнозное время 6 секунд).
[42] Планировщик траектории может принимать предвидимые (т. е. предсказанные) траектории других пользователей транспортной сети транспортных средств (также называемые здесь объектами реального мира) из модуля (например, модуля модели мира). Для каждого обнаруженного динамического объекта (например, объекта реального мира, такого как транспортное средство, пешеход, велосипед и т.п.) модуль модели мира может поддерживать (например, предсказывать и обновлять) одну или несколько гипотез относительно возможных намерений объекта реального мира. Примеры намерений (например, гипотез) включают в себя остановку, поворот направо, поворот налево, движение прямо, проезд и парковку. Вероятность ассоциирована с каждой гипотезой. Вероятность обновляется на основе наблюдений, принятых от данных датчиков.
[43] Объекты реального мира обнаруживаются на основе принятых данных датчиков (также называемых здесь измерениями или наблюдениями датчиков). Модуль модели мира поддерживает (т.е. ассоциирует и обновляет с течением времени) состояние для каждой гипотезы (например, намерения), ассоциированной с объектом реального мира. Состояния дополнительно описаны ниже. Например, состояние включает в себя предсказанные местоположения ассоциированного объекта реального мира с учетом упомянутого намерения некоторой гипотезы.
[44] Модуль модели мира непрерывно принимает наблюдения (например, данные датчиков). Для данного наблюдения модуль модели мира определяет объект реального мира, с которым ассоциировано наблюдение. Если ассоциированный объект реального мира найден, то состояние каждой из гипотез, ассоциированных с объектом реального мира, обновляется на основе упомянутого наблюдения. То есть, например, предсказанное местоположение объекта реального мира обновляется на основе наблюдения, принятого из реального (например, физического) мира.
[45] Следует отметить, что наблюдения датчиков могут быть зашумленными. Шум может быть из-за ограничений возможностей считывания и/или настройки датчика. Например, датчики могут иметь ограниченные поля зрения, ограниченные диапазоны считывания, предоставлять ложноположительные и/или ложноотрицательные наблюдения, предоставлять наблюдения с большой неопределенностью и/или предоставлять ошибочные классификации объектов. Кроме того, различные типы датчиков, используемые автономным транспортным средством, могут предоставлять разные, частичные и/или противоречивые наблюдения (например, классификации, местоположения и т. д.). Такой уровень неопределенности ассоциируется с данными датчиков, принятыми модулем модели мира.
[46] Автономное транспортное средство может использовать (например, объединять) данные от множественных типов датчиков (например, камеры, лидара, радара и т. д.), чтобы оценить по меньшей мере одно из скорости, положения (позиции и курса), траектории, класса и т.п. объекта реального мира, который является внешним по отношению к автономному транспортному средству. Модуль модели мира, согласно реализациям этого раскрытия, может обеспечить наилучшую оценку текущих состояний объектов реального мира (то есть участников дорожного движения) путем объединения информации от множественных датчиков вместе и учета характеристик датчиков.
[47] Подводя итог, так как намерения других участников дорожного движения неизвестны для AV, это AV предсказывает и отслеживает множественные возможные намерения (т. е. гипотезы) относительно того, что пользователи дороги могут сделать, чтобы AV (например, планировщик траектории этого AV) могло спланировать плавную траекторию на основе предсказанных намерений участников дорожного движения. Учитывая наблюдения на основе данных датчиков, модуль модели мира, в соответствии с реализациями этого раскрытия, отслеживает и оценивает состояния наблюдаемых объектов (т. е. объектов реального мира) и предсказывает будущие состояния объектов реального мира с множественными гипотезами вероятностным методом. То есть модуль модели мира может обеспечить улучшенное отслеживание объектов в реальном мире. Модуль модели мира предсказывает множественные гипотезы для возможных траекторий объектов реального мира. То есть, например, модуль модели мира может предсказывать, куда может двигаться объект, останавливается ли объект, паркуется ли объект и т.п., как дополнительно описано ниже.
[48] Как станет очевидно из описания ниже, модуль модели мира может обеспечивать преимущества, в том числе (1) отслеживание непрерывных (например, положение объекта, скорость, геометрию и т. д.) и дискретных состояний объекта (например, классификация объекта, намерение и т. д.) ; (2) оценка и отслеживание множественных гипотез состояния объекта (например, намерений) с ассоциированными вероятностями (например, возможностями); (3) генерирование и отслеживание намерений абстрактных объектов в зависимости от состояния объекта, карты и/или информации об окружающей среде; (4) предсказание будущих состояний объекта с помощью множественных гипотез в течение переменного периода времени; и (5) выполнение в реальном времени обработки и объединения данных от различных датчиков (например, лидара, радара, камеры и т. д.). Изложенные здесь учения могут применяться к широкому кругу объектов и участников дорожного движения (в том числе, но не ограничиваясь, автомобилей, велосипедов и пешеходов).
[49] Хотя описанные здесь со ссылкой на автономное транспортное средство, способы и устройство, описанные здесь, могут быть реализованы в любом транспортном средстве, допускающем автономную или полуавтономную работу. Хотя они описаны со ссылкой на транспортную сеть транспортных средств, описанные здесь способ и устройство могут включать в себя автономное транспортное средство, работающее в любой области, пригодной для навигации транспортным средством.
[50] Чтобы более подробно описать некоторые реализации идей, изложенных в данном документе, сначала сделана ссылка на среду, в которой это раскрытие может быть реализовано.
[51] ФИГ. 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.
[52] Силовой агрегат 104 включает в себя источник 106 мощности, трансмиссию 108, блок 110 рулевого управления, привод 112 транспортного средства и может включать в себя любой другой элемент или комбинацию элементов силового агрегата, например подвеску, приводной вал, оси или выхлопную систему. Хотя показаны отдельно, колеса 132/134/136/138 могут быть включены в силовой агрегат 104.
[53] Источником 106 мощности может быть любое устройство или комбинация устройств, обеспечивающих энергию, такую как электрическая энергия, тепловая энергия или кинетическая энергия. Например, источник 106 мощности включает в себя двигатель, такой как двигатель внутреннего сгорания, электродвигатель или комбинацию двигателя внутреннего сгорания и электродвигателя, и действует для обеспечения кинетической энергии в качестве движущей силы для одного или множественных колес 132/134/136/138. В некоторых вариантах осуществления источник 106 мощности включает в себя блок потенциальной энергии, такой как одна или несколько батарей сухих элементов, таких как никель-кадмиевые (NiCd), никель-цинковые (NiZn), металлогидридные никель (NiMH), литий-ионные (Li-ion); солнечные батареи; топливные элементы; или любое другое устройство, способное обеспечивать энергию.
[54] Трансмиссия 108 принимает энергию, такую как кинетическая энергия, от источника 106 мощности и передает энергию на колеса 132/134/136/138, чтобы обеспечить движущую силу. Трансмиссия 108 может управляться контроллером 114, приводом 112 транспортного средства или обоими. Блок 110 рулевого управления может управляться контроллером 114, приводом 112 транспортного средства или обоими и управлять колесами 132/134/136/138 для управления транспортным средством. Привод 112 транспортного средства может принимать сигналы от контроллера 114 и может приводить в действие или управлять источником 106 мощности, трансмиссией 108, блоком 110 рулевого управления или любой их комбинацией для управления транспортным средством 100.
[55] В проиллюстрированном варианте осуществления контроллер 114 включает в себя блок 116 определения местоположения, блок 118 электронной связи, процессор 120, память 122, пользовательский интерфейс 124, датчик 126 и интерфейс 128 электронной связи. Хотя показано как единый блок, любой один или несколько элементов контроллера 114 могут быть интегрированы в любое количество отдельных физических блоков. Например, пользовательский интерфейс 124 и процессор 120 могут быть интегрированы в первый физический блок, а память 122 может быть интегрирована во второй физический блок. Хотя это не показано на фиг. 1, контроллер 114 может включать в себя источник мощности, например аккумулятор. Хотя показаны как отдельные элементы, блок 116 определения местоположения, блок 118 электронной связи, процессор 120, память 122, пользовательский интерфейс 124, датчик 126, интерфейс 128 электронной связи или любая их комбинация могут быть объединены в один или более электронных блоков, схем или микросхем.
[56] В некоторых вариантах осуществления процессор 120 включает в себя любое устройство или комбинацию устройств, существующих в настоящее время или разработанных в дальнейшем, способных манипулировать или обрабатывать сигнал или другую информацию, например оптические процессоры, квантовые процессоры, молекулярные процессоры или их комбинацию. Например, процессор 120 может включать в себя один или несколько специализированных процессоров, один или несколько процессоров цифровых сигналов, один или несколько микропроцессоров, один или несколько контроллеров, один или несколько микроконтроллеров, одну или несколько интегральных схем, одну или несколько специализированных интегрированных схем, одну или несколько программируемых пользователем вентильных матриц, одну или несколько программируемых логических матриц, один или несколько программируемых логических контроллеров, один или несколько конечных автоматов или любую их комбинацию. Процессор 120 может быть функционально связан с блоком 116 определения местоположения, памятью 122, интерфейсом 128 электронной связи, блоком 118 электронной связи, пользовательским интерфейсом 124, датчиком 126, силовым агрегатом 104 или любой их комбинацией. Например, процессор может быть оперативно связан с памятью 122 через коммуникационную шину 130.
[57] Процессор 120 может быть сконфигурирован для выполнения инструкций. Такие инструкции могут включать в себя инструкции для удаленного управления, которые могут использоваться для управления транспортным средством 100 из удаленного места, включая операционный центр. Инструкции для удаленной работы могут храниться в транспортном средстве 100 или приниматься из внешнего источника, такого как центр управления движением, или серверных вычислительных устройств, которые могут включать в себя серверные вычислительные устройства на основе облачных вычислений. Удаленное управление было введено в предварительной заявке на патент США № 62/633,414, поданной 21 февраля 2018 г. и озаглавленной «REMOTE OPERATION EXTENDING AN EXISTING ROUTE TO A DESTINATION».
[58] Память 122 может включать в себя любой материальный энергонезависимый компьютерный или машиночитаемый носитель, способный, например, содержать, хранить, передавать или транспортировать машиночитаемые инструкции или любую информацию, связанную с ними, для использования или в связи с процессором 120. Память 122 может включать в себя, например, один или несколько твердотельных накопителей, одну или несколько карт памяти, один или несколько съемных носителей, одно или несколько постоянных запоминающих устройств (ROM), одно или несколько запоминающих устройств с произвольным доступом (RAM), один или несколько регистров, одно или несколько запоминающих устройств с низкой мощностью с удвоенной скоростью передачи данных (LPDDR), одну или несколько кэш-памяти, один или несколько дисков (в том числе жесткий диск, дискету или оптический диск), магнитную или оптическую карту, или любой тип энергонезависимого носителя, подходящий для хранения электронной информации, или любое их сочетание.
[59] Интерфейс 128 электронной связи может быть беспроводной антенной, как показано, портом проводной связи, портом оптической связи или любым другим проводным или беспроводным устройством, способным взаимодействовать с проводной или беспроводной средой 140 электронной связи.
[60] Блок 118 электронной связи может быть сконфигурирован для передачи или приема сигналов через проводную или беспроводную среду 140 электронной связи, например, через интерфейс 128 электронной связи. Хотя это явно не показано на фиг. 1, блок 118 электронной связи сконфигурирован для передачи, приема или того и другого через любую проводную или беспроводную среду связи, такую как радиочастота (RF), ультрафиолет (УФ), видимый свет, оптоволокно, проводная линия или их комбинация. Хотя на фиг. 1 показан один из блока 118 электронной связи и один из интерфейса 128 электронной связи, может использоваться любое количество блоков связи и любое количество интерфейсов связи. В некоторых вариантах осуществления блок 118 электронной связи может включать в себя выделенный блок связи ближнего действия (DSRC), блок беспроводной безопасности (WSU), IEEE 802.11p (WiFi-P) или их комбинацию.
[61] Блок 116 определения местоположения может определять информацию о геолокации, в том числе, помимо прочего, долготу, широту, высоту, направление движения или скорость транспортного средства 100. Например, блок определения местоположения включает в себя блок глобальной системы позиционирования (GPS), такой как блок Национальной ассоциации морской электроники (NMEA) с поддержкой глобальной системы расширения (WAAS), блок радиотриангуляции или их комбинацию. Блок 116 определения местоположения может использоваться для получения информации, которая представляет, например, текущий курс транспортного средства 100, текущую позицию транспортного средства 100 в двух или трех измерениях, текущую угловую ориентацию транспортного средства 100 или их комбинацию.
[62] Пользовательский интерфейс 124 может включать в себя любой блок, который может использоваться в качестве интерфейса человеком, в том числе любую виртуальную клавиатуру, физическую клавиатуру, панель касания, дисплей, экран касания, динамик, микрофон, видеокамеру, датчик и принтер. Пользовательский интерфейс 124 может быть функционально связан с процессором 120, как показано, или с любым другим элементом контроллера 114. Хотя показан как единый блок, пользовательский интерфейс 124 может включать в себя один или несколько физических блоков. Например, пользовательский интерфейс 124 включает в себя аудиоинтерфейс для выполнения аудиосвязи с человеком и дисплей касания для выполнения визуальной и связи, основанной на касании, с человеком.
[63] Датчик 126 может включать в себя один или несколько датчиков, таких как массив датчиков, которые могут работать для предоставления информации, которая может использоваться для управления транспортным средством. Датчик 126 может предоставлять информацию о текущих рабочих характеристиках транспортного средства или его окружения. Датчик 126 включает в себя, например, датчик скорости, датчики ускорения, датчик угла поворота рулевого колеса, датчики тяги, датчики, связанные с торможением, или любой датчик или комбинацию датчиков, которые могут сообщать информацию, касающуюся некоторого аспекта текущей динамической ситуации транспортного средства 100.
[64] В некоторых вариантах осуществления датчик 126 включает в себя датчики, которые действуют для получения информации о физической среде, окружающей транспортное средство 100. Например, один или несколько датчиков определяют геометрию дороги и препятствия, такие как неподвижные препятствия, транспортные средства, велосипедисты и пешеходы. Датчик 126 может представлять собой или включать в себя одну или несколько видеокамер, лазерных систем считывания, систем считывания инфракрасного излучения, акустических систем считывания или любого другого подходящего типа устройства считывания окружающей среды, размещенного на транспортном средстве, или комбинации устройств, известных в настоящее время или позже разработанных. Датчик 126 и блок 116 определения местоположения могут быть объединены.
[65] Хотя это не показано отдельно, транспортное средство 100 может включать в себя контроллер траектории. Например, контроллер 114 может включать в себя контроллер траектории. Контроллер траектории может работать для получения информации, описывающей текущее состояние транспортного средства 100 и маршрута, запланированного для транспортного средства 100, и на основе этой информации для определения и оптимизации траектории для транспортного средства 100. В некоторых вариантах осуществления контроллер траектории выдает сигналы, действующие для управления транспортным средством 100, так что транспортное средство 100 следует траектории, которая определяется контроллером траектории. Например, выходным сигналом контроллера траектории может быть оптимизированная траектория, которая может подаваться на силовой агрегат 104, колеса 132/134/136/138 или и то, и другое. Оптимизированная траектория может быть управляющим входом, таким как набор углов поворота, причем каждый угол поворота соответствует моменту времени или позиции. Оптимизированная траектория может представлять собой один или несколько путей, линий, кривых или их комбинации.
[66] Одно или несколько колес 132/134/136/138 могут быть управляемым колесом, которое поворачивается на угол поворота под управлением блока 110 рулевого управления; ведущее колесо, которое приводится в движение для движения транспортного средства 100 под управлением трансмиссии 108; или управляемым и ведущим колесом, которое управляет и приводит в движение транспортное средство 100.
[67] Транспортное средство может включать в себя узлы или элементы, не показанные на фиг. 1, например, корпус, модуль Bluetooth®, радиоблок с частотной модуляцией (FM), модуль связи ближнего поля (NFC), жидкокристаллический дисплей (LCD), дисплей, органический светодиодный (OLED) дисплей, динамик или любую их комбинацию.
[68] ФИГ. 2 представляет собой схему примера части системы 200 транспортировки и связи транспортного средства, в которой могут быть реализованы аспекты, признаки и элементы, раскрытые в данном документе. Система 200 транспортировки и связи транспортного средства включает в себя транспортное средство 202, такое как транспортное средство 100, показанное на фиг. 1, и один или несколько внешних объектов, таких как внешний объект 206, который может включать в себя любой вид транспорта, такой как транспортное средство 100, показанное на фиг. 1, пешеход, велосипедист, а также сооружение любой формы, например, здание. Транспортное средство 202 может перемещаться через одну или несколько частей транспортной сети 208 и может связываться с внешним объектом 206 через одну или несколько сетей 212 электронной связи. Хотя это явно не показано на фиг. 2, транспортное средство может двигаться по территории, которая прямо или полностью не включена в транспортную сеть, например, бездорожье. В некоторых вариантах осуществления транспортная сеть 208 может включать в себя один или несколько датчиков 210 обнаружения транспортных средств, таких как индуктивный контурный датчик, который может использоваться для обнаружения движения транспортных средств в транспортной сети 208.
[69] Сеть 212 электронной связи может быть системой множественного доступа, которая обеспечивает связь, такую как голосовая связь, передача данных, видеосвязь, обмен сообщениями или их комбинация, между транспортным средством 202, внешним объектом 206 и центром 230 операций. Например, транспортное средство 202 или внешний объект 206 может принимать информацию, такую как информация, представляющая транспортную сеть 208, из центра 230 операций через сеть 212 электронной связи.
[70] Центр 230 операций включает в себя устройство 232 контроллера, которое включает в себя некоторые или все функции контроллера 114, показанного на фиг. 1. Устройство 232 контроллера может мониторить и координировать движение транспортных средств, в том числе автономные транспортные средства. Устройство 232 контроллера может мониторить состояние или условия транспортных средств, таких как транспортное средство 202, и внешних объектов, таких как внешний объект 206. Устройство 232 контроллера может принимать данные транспортного средства и данные инфраструктуры, включая любое из: скорости транспортного средства; местоположения транспортного средства; эксплуатационного состояния транспортного средства; места назначения транспортного средства; маршрута транспортного средства; данных датчиков транспортного средства; скорости внешнего объекта; местоположения внешнего объекта; рабочего состояние внешнего объекта; места назначения внешнего объекта; маршрута внешнего объекта; и данных датчика внешнего объекта.
[71] Дополнительно, устройство 232 контроллера может устанавливать удаленное управление одним или множественными транспортными средствами, такими как транспортное средство 202, или внешними объектами, такими как внешний объект 206. Таким образом, устройство 232 контроллера может удаленно управлять транспортными средствами или внешними объектами из удаленного местоположения. Устройство 232 контроллера может обмениваться (отправлять или принимать) данные состояния с транспортными средствами, внешними объектами или вычислительным устройством, таким как транспортное средство 202, внешний объект 206 или серверное вычислительное устройство 234, через линию беспроводной связи, такую как линия 226 беспроводной связи или проводную линию связи, такую как проводная линия 228 связи.
[72] Серверное вычислительное устройство 234 может включать в себя одно или несколько серверных вычислительных устройств, которые могут обмениваться (отправлять или принимать) данные сигнала состояния с одним или множественными транспортными средствами или вычислительными устройствами, включая транспортное средство 202, внешний объект 206 или центр 230 операций, через сеть 212 электронной связи.
[73] В некоторых вариантах осуществления транспортное средство 202 или внешний объект 206 обменивается данными через проводную линию 228 связи, линию 214/216/224 беспроводной связи или комбинацию любого количества или типов проводных или беспроводных линий связи. Например, как показано, транспортное средство 202 или внешний объект 206 обменивается данными через наземную линию 214 беспроводной связи, через неназемную линию 216 беспроводной связи или через их комбинацию. В некоторых реализациях линия 214 наземной беспроводной связи включает в себя линию связи Ethernet, последовательную линию связи , линию связи Bluetooth, инфракрасную линию связи (IR), ультрафиолетовую линию связи (УФ) или любую линию связи, способную к электронной связи.
[74] Транспортное средство, такое как транспортное средство 202, или внешний объект, такой как внешний объект 206, может связываться с другим транспортным средством, внешним объектом или центром 230 операций. Например, хост или субъект, транспортное средство 202 может принимать одно или несколько автоматических сообщений между транспортными средствами, таких как базовое сообщение безопасности (BSM), из центра 230 операций через прямую линию связи 224 или через сеть 212 электронной связи. Например, центр 230 операций может транслировать сообщение на главные транспортные средства в пределах определенного диапазона вещания, такого как триста метров, или в определенную географическую область. В некоторых вариантах осуществления транспортное средство 202 принимает сообщение через третью сторону, такую как ретранслятор сигнала (не показан) или другое удаленное транспортное средство (не показано). В некоторых вариантах осуществления транспортное средство 202 или внешний объект 206 периодически передает одно или несколько автоматических сообщений между транспортными средствами на основе определенного интервала, например ста миллисекунд.
[75] Транспортное средство 202 может связываться с сетью 212 электронной связи через точку 218 доступа. Точка 218 доступа, которая может включать в себя вычислительное устройство, сконфигурирована для связи с транспортным средством 202, с сетью 212 электронной связи, с центром 230 операций или с их комбинацией через проводные или беспроводные линии 214/220 связи. Например, точка 218 доступа - это базовая станция, базовая приемопередающая станция (BTS), Узел-B, усовершенствованный Узел-B (eNode-B), Домашний Узел-B (HNode-B), беспроводной маршрутизатор, проводной маршрутизатор, концентратор, реле, коммутатор или любое подобное проводное или беспроводное устройство. Хотя точка доступа показана как единое целое, она может включать в себя любое количество взаимосвязанных элементов.
[76] Транспортное средство 202 может связываться с сетью 212 электронной связи через спутник 222 или другое устройство неназемной связи. Спутник 222, который может включать в себя вычислительное устройство, может быть сконфигурирован для связи с транспортным средством 202, с сетью 212 электронной связи, с центром 230 операций или с их комбинацией через одну или несколько линий 216/236 связи. Хотя спутник показан как единое целое, он может включать в себя любое количество взаимосвязанных элементов.
[77] Сеть 212 электронной связи может быть сетью любого типа, сконфигурированной для обеспечения передачи голоса, данных или любого другого типа электронной связи. Например, сеть 212 электронной связи включает в себя локальную сеть (LAN), глобальную сеть (WAN), виртуальную частную сеть (VPN), мобильную или сотовую телефонную сеть, Интернет или любую другую систему электронной связи. Сеть 212 электронной связи может использовать протокол связи, такой как протокол управления передачей (TCP), протокол дейтаграмм пользователя (UDP), Интернет-протокол (IP), транспортный протокол реального времени (RTP), гипертекстовый транспортный протокол (HTTP) или их комбинацию. Хотя сеть электронной связи показана как единое целое, она может включать в себя любое количество взаимосвязанных элементов.
[78] В некоторых вариантах осуществления транспортное средство 202 связывается с центром 230 операций через сеть 212 электронной связи, точку 218 доступа или спутник 222. Центр 230 операций может включать в себя одно или несколько вычислительных устройств, которые могут обмениваться (отправлять или принимать) данные от транспортного средства, такого как транспортное средство 202; данные от внешних объектов, в том числе внешний объект 206; или данные от вычислительного устройства, такого как серверное вычислительное устройство 234.
[79] В некоторых вариантах осуществления транспортное средство 202 идентифицирует часть или условие транспортной сети 208. Например, транспортное средство 202 может включать в себя один или несколько датчиков 204 на транспортном средстве, таких как датчик 126, показанный на фиг. 1, который включает в себя датчик скорости, датчик скорости колеса, камеру, гироскоп, оптический датчик, лазерный датчик, радарный датчик, звуковой датчик или любой другой датчик или устройство или их комбинацию, способную определять или идентифицировать часть или условие транспортной сети 208.
[80] Транспортное средство 202 может двигаться по одной или нескольким частям транспортной сети 208, используя информацию, передаваемую через сеть 212 электронной связи, такую как информацию, представляющую транспортную сеть 208, информацию, идентифицированную одним или множественными датчиками 204 на транспортном средстве, или их комбинацию. Внешний объект 206 может быть способен выполнять все или некоторые из коммуникаций и действий, описанных выше в отношении транспортного средства 202.
[81] Для простоты на фиг. 2 показано транспортное средство 202 в качестве главного транспортного средства, внешний объект 206, транспортная сеть 208, сеть 212 электронной связи и центр 230 операций. Однако может использоваться любое количество транспортных средств, сетей или вычислительных устройств. В некоторых вариантах осуществления система 200 транспортировки и связи транспортного средства включает в себя устройства, блоки или элементы, не показанные на фиг. 2.
[82] Хотя показано, что транспортное средство 202 взаимодействует с центром 230 операций через сеть 212 электронной связи, транспортное средство 202 (и внешний объект 206) может связываться с центром 230 операций через любое количество прямых или косвенных линий связи. Например, транспортное средство 202 или внешний объект 206 могут связываться с центром 230 операций через прямую линию связи, такую как линия связи Bluetooth. Хотя для простоты на фиг. 2 показывает одну из транспортной сети 208 и одну из сети 212 электронной связи, может использоваться любое количество сетей или устройств связи.
[83] Внешний объект 206 показан как второе удаленное транспортное средство на фиг. 2. Внешний объект не ограничен другим транспортным средством. Внешний объект может быть любым элементом инфраструктуры, например забором, вывеской, зданием и т. д., который может передавать данные в центр 230 операций. Данные могут быть, например, данными датчиков от элемента инфраструктуры.
[84] ФИГ. 3 является схемой ситуаций 300 предсказываемых ответов согласно реализациям этого раскрытия. Ситуации 300 включают в себя ситуации 310-360, в которых можно предсказывать ответы автономного транспортного средства (AV) 302 и спланировать траекторию.
[85] Ситуации 300 представляют собой примеры предсказанных ситуаций и ответов участников дорожного движения. Ситуации происходят (например, случаются, происходят и т. д.) в медленном масштабе времени. То есть, даже если AV 302 может двигаться с высокой скоростью (например, 60 миль в час (MPH)), ситуации 310-360 считаются медленными сценариями, потому что из-за вычислительной мощности (например, вычислительной мощности процессора, такого как процессор 120 на фиг.1, и/или контроллера, такого как контроллер 114 на фиг.1) упомянутого AV 302, предсказание ответа внешних объектов и определение траектории для автономного транспортного средства может быть выполнено в течение доли секунды прошедшего времени.
[86] AV 302 может включать в себя модуль моделирования мира, который может отслеживать, по меньшей мере, некоторые обнаруженные внешние объекты. Модуль моделирования мира может предсказывать одну или несколько потенциальных гипотез (то есть траектории, пути и т.п.) для каждого отслеживаемого объекта из, по меньшей мере, некоторых из отслеживаемых объектов. AV 302 может включать в себя систему планирования траектории (или просто планировщик траектории), которая может выполняться процессором для генерирования (с учетом начального состояния, желаемых действий и, по меньшей мере, некоторых отслеживаемых объектов с предсказанными траекториями) предотвращения столкновений, выполнения закона, комфортного ответа (например, траектории, пути и т. д.).
[87] В ситуации 310 AV 302 обнаруживает (т. е. с помощью компонента отслеживания) припаркованное транспортное средство 304 (т. е. статический объект) на обочине дороги. AV 302 (т.е. планировщик траектории AV 302) может планировать путь (то есть траекторию), как дополнительно описано ниже, который осуществляет навигацию AV 302 вокруг припаркованного транспортного средства 304, как показано траекторией 306.
[88] Ситуация 320 - это другая ситуация, когда AV 302 обнаруживает другой статический объект. Обнаруженный статический объект - выбоина 322. AV 302 может планировать траекторию 324 таким образом, что AV 302 проезжал около выбоины 322 таким образом, что ни одна из шин AV 302 не въезжает в выбоину 322.
[89] В ситуации 330 AV 302 обнаруживает встречное транспортное средство 332 и припаркованное транспортное средство 334, которое находится на той же стороне дороги, что и встречное транспортное средство 332. Встречное транспортное средство 332 движется. Так, встречное транспортное средство 332 является динамическим объектом. Встречное транспортное средство 332 движется в том же (или, по меньшей мере, по существу, в том же) продольном направлении, что и AV 302. Как таковое, встречное транспортное средство 332 может быть классифицировано как продольное ограничение, как дополнительно описано ниже. Встречное транспортное средство 332 движется в направлении, противоположном направлению движения AV 302. Таким образом, встречное транспортное средство 332 можно классифицировать как встречное продольное ограничение. Припаркованное транспортное средство 334 представляет собой статический объект.
[90] AV 302 может предсказывать (то есть с помощью компонента предсказания) с определенной степенью уверенности, превышающей пороговое значение, что встречное транспортное средство 332, вероятно, будет следовать по траектории 336, чтобы избежать (например, обойти) припаркованное транспортное средство 334. Траектория 336 перекрывает центральную линию 337 дороги. Чтобы сохранять безопасное расстояние от встречного транспортного средства 332, планировщик траектории AV 302 может спланировать траекторию 338, которая включает в себя кривизну в местоположении 339. Таким образом, запланированная траектория AV 302 перемещает AV 302 вправо в ожидании маршрута встречного транспортного средства 332.
[91] В ситуации 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. Затем планировщик траектории выбирает одну из определенных возможных траекторий.
[92] В ситуации 350 компонент отслеживания AV 302 обнаруживает встречное транспортное средство 352, первое припаркованное транспортное средство 356 и второе припаркованное транспортное средство 357. Компонент предсказания AV 302 определяет, что встречное транспортное средство 352 следует траектории 354. АВ 302 выбирает траекторию 358 таким образом, что АВ 302 проезжает первое припаркованное транспортное средство 356, ждет между первым припаркованным транспортным средством 356 и вторым припаркованным транспортным средством 357, пока встречное транспортное средство 352 не проедет мимо, а затем переходит к проезду второго припаркованного транспортного средства 357.
[93] В ситуации 360 компонент предсказания AV 302 определяет, что большой грузовик 362, скорее всего, поворачивает направо. Планировщик траектории определяет (например, на основе модели движения большого грузовика), что, поскольку большой грузовик требует большого радиуса поворота, большой грузовик 362, вероятно, будет следовать по траектории 364. Поскольку траектория 364 мешает пути AV 302, планировщик траектории AV 302 определяет траекторию 366 для AV 302, так что AV 302 останавливается, пока большой грузовик 362 не уйдет с дороги.
[94] ФИГ. 4 представляет собой пример компонентов системы 400 для автономного транспортного средства согласно реализациям этого раскрытия. Система 400 представляет собой конвейер программного обеспечения автономного транспортного средства, такого как транспортное средство 100 на фиг. 1. Система 400 включает в себя модуль 402 модели мира, модуль 404 планирования маршрута, модуль 406 принятия решений, планировщик 408 траектории и модуль 410 управления реактивной траекторией. Другие примеры системы 400 могут включать в себя больше, меньше или другие модули. В некоторых примерах модули можно комбинировать; в других примерах модуль можно разделить на один или несколько других модулей.
[95] Модуль 402 модели мира принимает данные датчиков, например, от датчика 126 по фиг. 1, и определяет (например, преобразует, обнаруживает и т.д.) объекты по данным датчика. То есть, например, модуль 402 модели мира определяет участников дорожного движения по принятым данным датчиков. Например, модуль 402 модели мира может преобразовывать облако точек, принятое от датчика обнаружения и определения расстояния (лидара) (т.е. датчика упомянутого датчика 126), в объект. Данные датчиков от множественных датчиков могут быть объединены, чтобы определить (например, угадать идентичность) объекты. Примеры объектов включают в себя велосипед, пешехода, транспортное средство и т. д.
[96] Модуль 402 модели мира может принимать информацию датчика, которая позволяет модулю 402 модели мира вычислять и поддерживать дополнительную информацию по меньшей мере для некоторых из обнаруженных объектов. Например, модуль 402 модели мира может поддерживать состояние, по меньшей мере, для некоторых из определенных объектов. Например, состояние объекта может включать в себя ноль или более из скорости, положения, геометрии (такой как ширина, высота и глубина), классификации (например, велосипед, большой грузовик, пешеход, дорожный знак и т. д.) и местоположение. Так, состояние объекта включает в себя дискретную информацию о состоянии (например, классификацию) и информацию о непрерывном состоянии (например, положение и скорость).
[97] Модуль 402 модели мира объединяет информацию датчиков, отслеживает объекты, поддерживает списки гипотез по меньшей мере для некоторых динамических объектов (например, объект A может двигаться прямо, поворачивая направо или поворачивая налево), создает и поддерживает предсказанные траектории для каждой гипотезы и поддерживает оценки правдоподобия каждой гипотезы (например, объект A движется прямо с вероятностью 90%, учитывая положение/скорость объекта и положение/скорости траектории). В одном примере модуль 402 модели мира использует экземпляр планировщика траектории, который генерирует опорную линию вождения для каждой гипотезы объекта, по меньшей мере, для некоторых динамических объектов. Например, один или несколько экземпляров планировщика траектории могут использоваться для генерации опорных линий вождения для транспортных средств, велосипедов и пешеходов. В другом примере экземпляр планировщика траектории может использоваться для генерации опорных линий вождения для транспортных средств, и велосипедов, а другой способ может использоваться для генерации опорных линий вождения (например, опорных путей) для пешеходов.
[98] Объекты, поддерживаемые модулем 402 модели мира, могут включать в себя статические объекты и/или динамические объекты, как описано со ссылкой на фиг. 3.
[99] Модуль 404 планирования маршрута определяет план уровня дороги, такой как проиллюстрированный относительно плана 412 уровня дороги. Например, учитывая начальное местоположение и конечное местоположение, модуль 404 планирования маршрута определяет маршрут от начального местоположения до местоположения назначения. Например, модуль 404 планирования маршрута может определять список дорог (то есть план уровня дороги), по которому должно следовать AV, чтобы перемещаться от начального местоположения к местоположению назначения.
[100] План уровня дороги, определенный модулем 404 планирования маршрута, и объекты (и соответствующая информация о состоянии), поддерживаемые модулем 402 модели мира, могут использоваться модулем 406 принятия решений для определения решений дискретного уровня по плану уровня дороги. Пример решений, включенных в решения дискретного уровня, проиллюстрирован относительно дискретных решений 414. Пример решений дискретного уровня может включать в себя: остановиться на пересечении дороги A и дороги B, медленно двигаться вперед, разогнаться до некоторого ограничения скорости, выехать на крайнюю правую полосу и т. д.
[101] Планировщик 408 траектории может принимать решения дискретного уровня, объекты (и соответствующую информацию о состоянии), поддерживаемые модулем 402 модели мира, а также предсказанные траектории и вероятности внешних объектов от модуля 402 модели мира. Планировщик 408 траектории может использовать, по меньшей мере, часть принятой информации для определения детально спланированной траектории для автономного транспортного средства.
[102] Например, как показано в отношении детально спланированной траектории 416, планировщик 408 траектории определяет траекторию в следующие несколько секунд. Как таковой, и в примере, где следующие несколько секунд являются следующими 6 секундами (т.е. прогнозное время 6 секунд), планировщик 408 траектории определяет траекторию и местоположения для автономного транспортного средства в следующие 6 секунд. Например, планировщик 408 траектории может определять (например, предсказывать, вычислять и т.д.) ожидаемые местоположения автономного транспортного средства в множественных временных интервалах (например, каждую четверть секунды или некоторые другие временные интервалы). Планировщик 408 траектории может определять детально спланированную траекторию на основе предсказываемых ответов других участников дорожного движения, как описано, например, со ссылкой на фиг. 3.
[103] Модуль 410 реактивного управления траекторией может обрабатывать ситуации, с которыми автономное транспортное средство может столкнуться, но которые непредсказуемы (например, не могут быть обработаны) планировщиком 408 траектории. Такие ситуации включают в себя ситуации, когда детально спланированная траектория планировщика 408 траектории была основана на неправильной классификации объектов и/или непредвиденных ситуациях, которые возникают редко. Например, модуль 410 управления реагирующей на изменения траекторией может изменять детально спланированную траекторию в ответ на определение того, что статический объект слева от автономного транспортного средства классифицирован неправильно. Например, объект мог быть классифицирован как большой грузовик; однако новая классификация определяет, что это статическая стена дорожного заграждения. В другом примере модуль 410 управления реагирующей на изменения траекторией может изменять детально спланированную траекторию в ответ на внезапный прорыв шины автономного транспортного средства. Другие примеры непредвиденных ситуаций включают в себя внезапный поворот других транспортных средств (например, из-за запоздалого решения выехать на съезд с автомагистрали или прорыв шин) на полосу движения AV, а также пешеходов или других объектов, внезапно появляющихся из-за окклюзии.
[104] ФИГ. 5 является примером уровней планировщика 500 траектории для автономного транспортного средства в соответствии с реализациями этого раскрытия. Планировщик 500 траектории может быть или может быть частью планировщика 408 траектории по фиг. 4. Планировщик 500 траектории может принимать цели 501 вождения. Планировщик 500 траектории может принимать последовательность целей 501 вождения, которые могут представлять, например, последовательность выборов полосы движения и ограничений скорости, которые соединяют первое местоположение со вторым местоположением. Например, целью вождения из целей 501 вождения может быть «начало в местоположении x, перемещение по полосе движения, имеющей некоторый идентификатор (например, полосе движения с идентификатором, равным A123), при соблюдении предела скорости y». Планировщик 500 траектории может быть использован для генерирования траектории, которая выполняет последовательность целей 501 вождения.
[105] Планировщик 500 траектории включает в себя уровень 502 данных линии вождения, уровень 504 генерации опорной траектории, уровень 506 избегания объекта, и уровень 508 оптимизации траектории. Планировщик 500 траектории генерирует оптимизированную траекторию. Другие примеры планировщика 500 траектории могут включать в себя больше, меньше или другие уровни. В некоторых примерах уровни можно комбинировать; в других примерах уровень можно разделить на один или несколько других уровней.
[106] Уровень 502 данных линии вождения включает в себя входные данные, которые могут использоваться планировщиком 500 траектории. Данные линии вождения могут быть использованы (например, с помощью уровня 504 генерации опорной траектории), чтобы определить (т.е., генерировать, вычислить, выбрать, или иным образом определить) грубую линию вождения от первого местоположения до второго местоположения. Линию вождения можно представить как линию на дороге, с которой продольная ось AV совпадает, когда AV движется по дороге. Таким образом, данные линии вождения - это данные, которые можно использовать для определения линии вождения. Линия вождения на этом этапе грубая и может содержать боковые разрывы, например, когда она направлена на переход вбок между смежными полосами движения. Линия вождения на этом этапе также еще не отрегулирована для объектов, с которыми встречается AV, как дополнительно описано ниже.
[107] В одном примере уровень 502 данных линии вождения может включать в себя одно или несколько из данных 510 карты высокой четкости (HD), данных 512 карты дистанционного управления, данных 514 записанных путей, данных 516 предшествующего транспортного средства, данных 518 парковки и данных 520 предполагаемого пути.
[108] Данные 510 карты HD - это данные карты высокой четкости (т.е. высокой точности), которая может использоваться автономным транспортным средством. Данные 510 карты HD могут включать в себя точную информацию о транспортной сети транспортных средств с точностью до нескольких сантиметров. Например, данные 510 карты HD могут включать в себя подробности, касающиеся полос движения дороги, разделителей дорог, светофоров, дорожных знаков, пределов скорости и т.п.
[109] Данные 512 карты дистанционного управления могут включать в себя данные относительно короткой линии вождения. Например, данные 512 карты дистанционного управления могут быть данными линий вождения, длина которых составляет от 100 до 200 метров. Однако данные 512 карты дистанционного управления не обязательно ограничиваются этим. Данные 512 карты дистанционного управления могут быть вручную сгенерированы дистанционным оператором в ответ на или в ожидании исключительных ситуаций, которые AV не может обрабатывать автоматически.
[110] Линия вождения может создаваться в реальном времени. Чтобы проиллюстрировать создание линии вождения в реальном времени, приведен некоторый пример. Дистанционный оператор может удаленно наблюдать необработанные данные датчика AV. Например, дистанционный оператор может видеть (например, на удаленном мониторе) пилоны строительной площадки (например, захваченные камерой AV) и рисовать путь для AV через зону строительства. Затем дистанционный оператор может наблюдать за тем, как сигнальщик одобряет движение AV, и в этот момент дистанционный оператор может вынуждать AV продвигаться по нарисованному пути.
[111] Чтобы сократить время обработки ручного рисования пути, когда AV достигает исключительной ситуации, с которой ранее сталкивалось, данные линии вождения также могут быть сохранены удаленно и отправлены AV по мере необходимости.
[112] Записанные данные 514 путей могут включать в себя данные, касающиеся путей, по которым ранее следовало автономное транспортное средство. В одном примере оператор (например, водитель или удаленный оператор) автономного транспортного средства мог записать путь с улицы в гараж дома.
[113] Данные 516 предыдущего транспортного средства могут быть данными, принятыми от одного или нескольких транспортных средств, которые предшествуют автономному транспортному средству по, в целом, той же траектории, что и автономное транспортное средство. В одном примере автономное транспортное средство и предшествующее ему транспортное средство могут обмениваться данными через линию беспроводной связи, например, описанную со ссылкой на фиг. 2. Таким образом, автономное транспортное средство может принимать информацию о траектории и/или другую информацию от предыдущего транспортного средства через линию беспроводной связи. Данные 516 предыдущего транспортного средства также могут восприниматься (например, отслеживаться) без явной линии связи. Например, AV может отслеживать предыдущее транспортное средство и может оценивать линию вождения транспортного средства для предыдущего транспортного средства на основе результатов отслеживания.
[114] Данные 518 парковки включают в себя данные, касающиеся местоположений парковок и/или парковочных пространств. В одном примере данные 518 парковки могут использоваться для предсказания траекторий других транспортных средств. Например, если въезд на парковку находится рядом с другим транспортным средством, одна из предсказанных траекторий другого транспортного средства может быть такой, что другое транспортное средство въедет на парковку.
[115] В некоторых ситуациях информация карты (например, HD-карты) может быть недоступна для частей транспортной сети транспортных средств. Так, данные 520 предполагаемого пути могут представлять линии вождения, для которых нет ранее отображенной информации. Вместо этого AV может обнаруживать линии вождения в режиме реального времени, используя меньше, больше или отличное от разметки полос движения, бордюров и пределов дороги. В одном примере пределы дороги могут быть обнаружены на основе переходов от одного типа местности (например, тротуара) к другим типам местности (например, гравий или трава). Можно использовать и другие способы для обнаружения линии вождения в реальном времени.
[116] Уровень 504 генерации опорной траектории может включать в себя модуль 522 конкатенации линии вождения, модуль 524 стратегического плана скорости, и модуль 526 синтеза линии вождения. Уровень 504 генерации опорной траектории обеспечивает грубую линию вождения модулю 528 дискретно-временного плана скорости. Фиг. 6 иллюстрирует пример функционирования уровня 504 генерации опорной траектории.
[117] Следует отметить, что модуль 404 планирования маршрута может генерировать последовательность идентификаторов полосы движения, которая используется для перемещения из первого местоположения во второе местоположение, таким образом, соответствующую (например, обеспечивающую) целям 501 вождения. Как таковые, цели 501 вождения могут находиться, например, на расстоянии 100 метров друг от друга, в зависимости от длины полосы движения. В случае данных 510 карты HD, например, уровень 504 генерации опорной траектории может использовать комбинацию местоположения (например, GPS-местоположение, координаты 3D декартов и т.д.) и полосы движения (например, идентификатор полосы движения) в последовательности целей 501 вождения для генерирования линии вождения с высоким разрешением (например, из карты 510 HD), представленной в виде серии положений для AV. Каждое положение может быть на предопределенном расстоянии. Например, положения могут находиться на расстоянии одного-двух метров друг от друга. Положение может быть определено с помощью большего, меньшего или других величин, таких как координаты (x, y, z), угол крена, угол тангажа и/или угол рыскания.
[118] Как упоминалось выше, данные полосы вождения могут использоваться для определения (например, генерирования, вычисления и т. д.) грубой линии вождения. Модуль 522 конкатенации линии вождения сращивает (например, соединяет, объединяет, интегрирует или иным образом сращивает) входные данные уровня 502 данных линии вождения для определения грубой линии вождения в продольном направлении (например, вдоль пути автономного транспортного средства). Например, чтобы добраться из местоположения A (например, работы) в местоположение D (например, дом), чтобы определить грубую линию вождения, модуль 522 конкатенации линии вождения может использовать входные данные из данных 518 парковки для определения местоположения выезда с парковки местоположения работы до выезда на главную дорогу, может использовать данные из данных 510 карты HD для определения пути от главной дороги до дома и может использовать данные из записанных данных 514 путей для навигации в гараж дома.
[119] Грубая линия вождения не включает в себя информацию скорости. Однако, в некоторых примерах грубая линия вождения может включать в себя информацию о пределах скорости, которая может использоваться (например, извлекаться) из данных 510 карты HD. Модуль 524 стратегического плана скорости определяет конкретную скорость (скорости) на различных частях грубой линии вождения. Например, модуль 524 стратегического плана скорости может определить, что на первом прямом участке грубой линии вождения скорость автономного транспортного средства может быть установлена равной пределу скорости этого первого прямого участка; и на последующем втором криволинейном участке грубой линии вождения скорость автономного транспортного средства должна быть установлена на более низкую скорость. Таким образом, модуль 524 стратегического плана скорости вычисляет законопослушный (например, соблюдение пределов скорости и стоп-линий), комфортный (например, физически и эмоционально) и физически реализуемый профиль скорости (например, зависимость скорости от расстояния вдоль линии вождения) для грубой линия вождения с учетом текущего состояния (например, скорости и ускорения) AV, но без учета других пользователей дороги или статических объектов.
[120] Как только стратегический план скорости определен модулем 524 стратегического плана скорости, модуль 526 синтеза линии вождения может регулировать грубую линию вождения в боковом направлении. Учитывая стратегический профиль скорости и грубую линию вождения с боковыми разрывами, модуль 526 синтеза линии вождения определяет начальное и конечное местоположения смены полосы движения и синтезирует линию вождения, соединяющую эти два местоположения. Длина смены полосы движения может зависеть от скорости.
[121] Модуль 526 синтеза линии вождения может синтезировать линии вождения, соединяющие боковые разрывные местоположения в грубой линии вождения. Например, предположим, что данные 510 карты HD включают в себя первый участок грубой линии вождения, который находится на первой полосе движения дороги, но второй участок грубой линии вождения находится на второй полосе движения той же дороги. Таким образом, в грубой линии вождения существует боковой разрыв. Модуль 526 синтеза линии вождения сначала определяет расстояние перехода (или, эквивалентно, начальное и конечное местоположения), через которое AV должно перейти с первой полосы движения на вторую полосу движения. То есть начальная позиция - это позиция на дороге, когда необходимо управлять автономным транспортным средством для начала передвижения с первой полосы движения на вторую полосу движения. Конечная позиция - это позиция на дороге, когда автономное транспортное средство должно завершить смену полосы движения. Затем модуль боковой непрерывности генерирует новые данные линии вождения, соединяющие начальную позицию на первой полосе движения с конечной позицией на второй полосе движения.
[122] Переход, определяемый модулем 526 синтеза линии вождения, может зависеть от скорости. Например, более короткое расстояние перехода может потребоваться для AV для перехода с первой полосы движения на вторую полосу движения, когда AV передвигается с меньшей скоростью, чем, когда AV передвигается с более высокой скоростью. Например, в ситуации интенсивного трафика, когда автономное транспортное средство движется с меньшей скоростью (например, 15 миль в час), для перехода может потребоваться 20 ярдов; однако, если автономное транспортное средство движется с более высокой скоростью (например, 65 миль в час), то расстояние перехода может составлять 100 ярдов. Таким образом, модуль 526 синтеза линии вождения может определять позицию перехода в зависимости от скорости AV.
[123] Выходные данные модуля 526 синтеза линии вождения подаются на уровень 506 избегания объектов. Выходные данные модуля 526 синтеза линии вождения включают в себя грубую линию вождения и стратегический план скорости. Уровень 506 избегания объектов генерирует среднесрочный дискретно-временной план скорости и боковые ограничения на грубой линии вождения. Для дискретных моментов времени в будущем (или, эквивалентно, в дискретных местоположениях на пути AV) модуль 528 дискретно-временного плана скорости определяет (то есть вычисляет) соответствующую желаемую скорость для AV.
[124] На уровне 506 избегания объектов и, как дополнительно описано ниже, с использованием грубой линии вождения, близлежащих статических объектов и близлежащих динамических объектов и их предсказанных траекторий, уровень 506 избегания объектов определяет (например, извлекает) область, доступную для вождения, в которой AV может безопасно эксплуатироваться. Определяются правая и левая границы каждой секции (описаны ниже). Учитывая текущую скорость AV, можно генерировать план скорости в реальном времени. План скорости в реальном времени может использоваться для оценки будущих местоположений AV. Будущие местоположения AV могут быть оценены относительно будущих предполагаемых (например, предсказанных) местоположений динамических объектов. Область, доступная для вождения, AV регулируется для устранения областей области, доступной для вождения, которые соответствуют (например, перекрывают) местоположениям динамических объектов.
[125] На уровне 506 избегания объектов грубая линия вождения оценивается и/или регулируется для объектов. Объектами могут быть объекты, внешние и ближайшие по отношению к AV. Так, объекты могут быть объектами, описанными в отношении модуля 402 модели мира по фиг. 4. Так, учитывая текущую скорость AV, уровень 506 избегания объектов генерирует план скорости в реальном времени. Используя план скорости в реальном времени, уровень 506 избегания объектов может оценивать будущие местоположения AV в дискретных будущих моментах времени. Будущие местоположения могут быть оценены относительно местоположений объектов (то есть объектов модели мира) для обеспечения (например, генерирования) плавного вождения для AV. Обеспечение плавного вождения (т.е. плавной траектории) может быть итеративным процессом, как дополнительно описано ниже.
[126] Подводя итог, сначала генерируется грубая линия вождения; затем с помощью грубой линии вождения генерируется план скорости; и, учитывая грубую линию вождения и план скорости, траектория оптимизируется с учетом других объектов, которые поддерживаются в модели мира этого AV, чтобы обеспечить желаемую оптимизированную траекторию. Траектория оптимизируется в регулируемой области, доступной для вождения. Области, недоступные для вождения, (т.е. области, в которых AV не может безопасно вестись из-за других объектов) устраняются из области, доступной для вождения по умолчанию, чтобы обеспечить регулируемую область, доступную для вождения.
[127] ФИГ. 6 является иллюстрацией примеров 600 конкатенации грубой линии вождения согласно реализациям этого раскрытия. Примеры 600 являются примерами функционирования уровня 504 генерации опорной траектории на фиг. 5.
[128] На виде 610 AV 611 находится в крайней правой полосе 614 движения трехполосной дороги, которая включает в себя полосы 612-614 движения. Обратите внимание, что вид 610 является примером системы левостороннего трафика (то есть трафик на полосах 612-614 движения движется снизу вверх по фиг. 6). Планировщик маршрута, такой как модуль 404 планирования маршрута, может определить на основе данных карты HD, таких как данные 510 карты HD по фиг. 5, что AV 611 должно повернуть направо на полосу 615 движения однополосной дороги. Карта HD может обеспечить центральную линию (не показана) для каждой полосы движения.
[129] В некоторых ситуациях линия вождения AV может не совпадать с центральной линией полосы движения или дороги. Например, полоса 615 движения может быть очень широкой для размещения парковочных пространств вдоль левой стороны полосы 615 движения. В другом примере можно обнаружить, что большинство водителей предпочитают водить немного левее центральной линии. Таким образом, линия вождения AV 611 должна быть установлена слева от центральной линии полосы 615 движения. Как таковой, модуль 522 конкатенации линии вождения определяет геометрию полос движения, чтобы определять линию вождения с учетом геометрии полосы движения (например, ширины полосы движения). Например, когда есть поворот на грубой линии вождения модуль 522 конкатенации линии вождения определяет, где линия вождения должна быть перемещена (т. е. с центральной линии полосы движения) на основе ширины полосы движения, направление поворота (например, вправо или влево), угол поворота и/или скорость поворота. То есть, модуль 522 конкатенации линии вождения устанавливает линию вождения AV на основе центральной линии карты HD. Например, линию вождения можно установить на основе ширины полосы движения.
[130] Чтобы установить линию вождения AV, модуль 522 конкатенации линии вождения определяет геометрию полос движения вдоль грубой линии вождения. В одном примере модуль 522 конкатенации линии вождения определяет геометрию для некоторого расстояния (например, 100 метров, 200 метров, 300 метров и т.д.) вдоль грубой линии вождения. Для определения геометрии модуль 522 конкатенации линии вождения может определять многоугольники, такие как многоугольник 616 вдоль грубой линии вождения, которые можно использовать для определения границ полосы движения.
[131] Вид 620 иллюстрирует определение линии вождения (т.е. грубой линии вождения) на основе ширины 621 полосы движения. Правый край 624, левый край 622 и центральная линия 626 полосы движения, по которой перемещается AV 611, могут быть получены из карты HD. Модуль 522 конкатенации линии вождения определяет линию 628 вождения (то есть грубую линию вождения) на основе ширины 621. Так, линия 628 вождения смещена от центральной линии 626.
[132] Вид 630 иллюстрирует использование данных дистанционного управления, таких как описанные в отношении данных 512 карты дистанционного управления на фиг. 5, чтобы определить линию вождения. Как описано выше, в то время как данные карты HD являются статическими данными, данные дистанционного управления могут обеспечивать линию вождения в реальном времени на основе дорожных условий и/или исключительных ситуаций. Например, область строительства существует вдоль линии 632 вождения AV 611. Область строительства ограничена препятствиями, такими как пилон 636, которые окружают проект 634 строительства. Так, модуль 522 конкатенации линии вождения регулирует, как дополнительно описано ниже, линию 632 вождения , чтобы она была линией 638 вождения (то есть грубой линией вождения), используя линию вождения в реальном времени, которая обеспечивается данными дистанционного управления.
[133] Вид 640 иллюстрирует смену полосы движения в зависимости от скорости. Смена полосы движения в зависимости от скорости может быть реализована, как описано выше, модулем 526 синтеза линии вождения по фиг. 5. В примере модуль 406 принятия решения по фиг. 4 предусматривает, что AV 611, перемещающееся по полосе 642 движения, должно быть следующим на полосе 644 движения, например, потому что полоса 642 движения заканчивается или потому что AV 611 должно повернуть налево. Таким образом, AV 611 должно в какой-то точке передвигаться с полосы 642 движения на полосу 644 движения. Поскольку карта HD может не предоставить информацию перехода полосы движения, уровень 504 генерации опорной траектории 504 AV 611 определяет время перехода полосы движения. Как упоминалось выше, переход может зависеть от скорости.
[134] В примере, планировщик 500 траектории (уровнем которого является уровень 504 генерации опорной траектории) может определить, что в точке X вдоль грубой линии вождения, AV 611 будет двигаться со скоростью Y (как определено модулем 524 стратегического плана скорости). В случае, когда AV 611 движется с низкой скоростью (например, 35 миль в час), модуль 526 синтеза линии вождения может определить, что переход может быть медленным. Соответственно, путь для передвижения с полосы 642 на полосу 644 может быть таким, как показано путем 646. С другой стороны, если AV 611 перемещается с высокой скоростью (например, 65 миль в час), путь для смены полос движения требует большего расстояния, как показано путем 648.
[135] Время, требуемое для следования по путям 646 и 648, может быть одинаковым. Однако расстояние разное. Расстояние, необходимое для перехода полосы движения, когда AV 611 перемещается на первой скорости, больше, чем расстояние, требуемое, когда AV 611 перемещается на второй скорости, которая медленнее, чем первая скорость.
[136] Скорость смены полосы движения может использоваться для определения смены полосы движения в зависимости от скорости. Таким образом, скорость смены полосы движения может использоваться для создания соединения между двумя соседними полосами движения, такими как полоса 642 движения и полоса 644 движения вида 640. Скорость смены полосы движения может быть определена в «метрах на метр»: на сколько метров полоса движения перемещается в боковом направлении на метр в продольном направлении? Как упоминалось выше, цель состоит в том, чтобы идентифицировать скорость смены полосы движения, которая приводит к завершению смены полосы движения за целевое количество времени: если AV перемещается медленно (например, во время плотного трафика в час пик), скорость смены полосы движения высока и происходит на небольшом расстоянии (например, порядка десятков метров); если AV перемещается быстро (например, на скоростях шоссе), скорость смены полосы движения низкая и происходит на большом расстоянии (например, порядка сотен метров).
[137] ФИГ. 7 - пример 700 определения стратегического плана скорости согласно реализациям этого раскрытия. Пример 700 иллюстрирует примеры входных данных, которые могут использоваться модулем 524 стратегического плана скорости по фиг. 5, чтобы определить стратегический план 714 скорости. В некоторых реализациях модуль 524 стратегического плана скорости может использовать больше, меньше или другие входные данные для определения стратегического плана скорости.
[138] В примере 700 могут использоваться входные данные пределов скорости и входные данные пределов ускорения. Пределы скорости могут включать в себя по меньшей мере одно из пределов 702 скорости дороги, пределов 704 скорости по кривизне и данных 706 бесперебойной автономной мобильности (SAM). Пределы ускорения могут включать в себя пределы 710 ускорения транспортного средства и пределы 712 комфорта. Пределы скорости и/или пределы ускорения могут включать в себя больше, меньше или другие входные данные.
[139] Пределы 702 скорости дороги могут быть пределами скорости дороги, например, указанными на знаках предела скорости (например, 20 миль в час, 65 миль в час и т.д.). В примере пределы 702 скорости дороги могут быть получены из карты HD. Пределы 704 скорости по кривизне могут представлять собой данные, связывающие скорость транспортного средства с кривизной поворота, например, поворота вдоль грубой линии вождения AV. В качестве альтернативы, пределы 704 скорости по кривизне могут предоставлять только информацию о кривизне дороги (например, радиус поворота по кривой). Пределы 704 скорости по кривизне могут быть пределами для бокового ускорения AV. Так, план скорости может включать в себя уменьшенные скоростей AV в соответствии с пределами 704 скорости по кривизне, когда AV изгибается.
[140] Данные 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.
[141] Пределы 702 скорости дороги, пределы 704 скорости по кривизне и данные 706 SAM могут быть объединены для обеспечения необработанных пределов 708 скорости. Например, для каждого местоположения из некоторых местоположений вдоль грубой линии вождения (например, каждые 5 метров, 10 метров и т. д.) минимальные из пределов 702 скорости дороги в этом местоположении, скорость из пределов 704 скорости по кривизне в этом местоположении, и скорость из данных 706 SAM в этом местоположении используется как скорость необработанных пределов 708 скорости в этом местоположении.
[142] Пределы 710 ускорения транспортного средства могут быть пределами ускорения AV, которые обусловлены крутящим моментом и мощностью AV. Пределы 712 комфорта включают в себя пределы комфорта человека в отношении ускорения, такие как: Насколько быстро пассажиры AV хотят, чтобы AV ускорялось?
[143] Модуль 524 стратегического плана скорости уровня 504 генерации опорной траектории может объединить необработанные пределы 708 скорости, пределы 710 ускорения транспортного средства, и пределы 712 комфорта для обеспечения стратегического плана 714 скорости, который представляет собой план плавной скорости.
[144] Как упомянуто выше, в местоположении вдоль грубой линии вождения минимальные из пределов 702 скорости дороги, пределов 704 скорости по кривизне и данных 706 бесперебойной автономной мобильности SAM могут использоваться в качестве предела скорости AV. Пределы 710 ускорения транспортного средства и пределы 712 комфорта связывают ускорение со скоростью. Так, и в примере, пределы 710 ускорения транспортного средства и пределы 712 комфорта могут быть объединены путем нахождения минимальной из двух максимальных кривых (комфорт, скорость). Таким образом, на низкой скорости комфорт может ограничить максимальное ускорение AV; тогда как на высокой скорости пределы ускорения (например, мощность) AV могут ограничивать ускорение AV. Профиль скорости может быть сгенерирован путем определения профиля наибыстрейшей скорости вдоль грубой линии вождения, который удовлетворяет ограничениям по скорости (предел скорости в любом заданном местоположении вдоль линии вождения) и ускорению (предел ускорения на любой заданной скорости).
[145] Входные данные, отличные от описанных выше, также могут использоваться для вычисления стратегического плана 714 скорости. Например, можно использовать один или несколько значений mu дороги, минимального времени круиза, типа района или другие входные данные. mu дороги относится к скользкости дороги, например из-за льда, дождя, уклона и т. д.
[146] Минимальное время поездки относится к минимальной длине времени, в течение которого скорость AV может быть установлена на постоянную скорость. Например, предположим, что сегмент дороги составляет 500 метров длиной, а предел скорости на этом сегменте составляет 45 миль в час. Кроме того, предположим, что, учитывая модель движения AV, 250 метров требуется, чтобы AV достигло предела скорости 45 миль в час из остановленной позиции, и 250 метров требуется, чтобы AV было остановлено при текущей скорости 45 миль в час. Если бы AV было в остановленной позиции в начале сегмента дороги и AV должно было бы снова остановиться в конце сегмента дороги, то, как только AV достигнет предела скорости 45 миль в час, AV должно было бы начать замедляться. Такой профиль скорости может быть нежелательным и/или неестественным для пассажиров AV. Так, минимальное время поездки может указывать, например, на то, что скорость должна поддерживаться в течение минимального времени поездки (например, 3 секунды), прежде чем AV сможет начать замедление (или ускорение). Таким образом, можно обеспечить более естественный профиль скорости.
[147] Тип района может использоваться для моделирования нормального поведения человека при вождении, которое может зависеть от типа района, по которому движется AV. Например, водитель-человек может ехать со скоростью ниже установленного предела скорости в жилом районе (например, там, где можно наблюдать детей, играющих на улице) и может ехать, по меньшей мере, с установленным пределом скорости в промышленном районе, даже если оба района могут иметь одинаковый указанный предел скорости.
[148] ФИГ. 8 является блок-схемой процесса 800 для определения области, доступной для вождения, и дискретно-временного плана скорости в соответствии с реализацией этого раскрытия. Некоторые или все аспекты процесса 800 могут быть реализованы в транспортном средстве, включая транспортное средство 100, показанное на фиг. 1 и транспортное средство 202, показанное на фиг. 2, или в вычислительном устройстве, в том числе в устройстве 232 контроллера, показанном на фиг. 2. В реализации некоторые или все аспекты процесса 800 могут быть реализованы в системе, объединяющей некоторые или все из особенностей, описанных в этом раскрытии. Например, процесс 800 может использоваться уровнем 506 избегания объектов по фиг. 5.
[149] Процесс 800 поясняется со ссылкой на фиг. 9. Фиг. 9 - иллюстрация определения области, доступной для вождения, и дискретно-временного плана скорости в соответствии с реализациями этого раскрытия сущности. Фиг. 9 иллюстрирует генерирование области, доступной для вождения, (боковые ограничения) и профиль ограниченной скорости, которые могут быть представлены в дискретном времени. Область, доступная для вождения, может быть, например, областью транспортной сети транспортного средства, где может вестись автономное транспортное средство. Первоначально (например, в начале процесса 800) область, доступная для вождения, может включать в себя области, где невозможно предсказывать безопасное вождение AV. Процесс 800 регулирует (например, обрезает) область, доступную для вождения, тех областей, где невозможно предсказывать безопасное вождение AV. Процесс 800 приводит к получению регулируемой области, доступной для вождения.
[150] На этапе 810 процесс 800 идентифицирует близлежащие объекты для AV. В одном примере близлежащие объекты могут быть по меньшей мере некоторыми из внешних объектов, поддерживаемых модулем 402 модели мира. В одном из примеров близлежащие объекты могут быть всеми объектами, поддерживаемыми модулем 402 модели мира. В другом примере близлежащие объекты могут быть поднабором объектов, поддерживаемых модулем 402 модели мира. Например, близлежащие объекты могут быть объектами в пределах заранее определенного расстояния от AV, объектами в пределах предсказываемого времени прибытия AV или объектами, которые соответствуют другим критериям для идентификации поднабора объектов. Например, со ссылкой на вид 910 на фиг. 9 для AV 912 идентифицируются статическое транспортное средство 920, статическое транспортное средство 914, динамическое встречное транспортное средство 918 и динамическое транспортное средство 916. В реализации этап 810 идентифицирует точки (т.е. граничные точки) и/или группы точек, представляющих объекты, как описано со ссылкой на фиг. 10-12.
[151] На этапе 820 процесс 800 извлекает область, доступную для вождения. Область, доступная для вождения, может быть областью, где AV 912 может вестись (например, законно и/или физически). Например, область, доступная для вождения, может быть извлечена из грубой линии вождения. Например, область, доступная для вождения, может быть заранее определенным расстоянием от AV вдоль грубой линии вождения (например, в продольном направлении). Область 932, доступная для вождения, на виде 930 на фиг. 9 - пример области, доступной для вождения. В примере, область932, доступная для вождения, может быть областью, ограниченной (то есть в боковом направлении) разделительно полосой 934 и обочиной 936. В одном примере область, доступная для вождения, может быть извлечена из карты HD на основе текущего местоположения AV 912. Область, доступная для вождения, может быть ограничена левой и правой границами полосы движения (или дороги, или какой-либо другого региона), в которой находится AV 912. В одном примере, область, доступная для вождения, может охватывать центральную линию дороги. То есть полоса движения трафика встречного направления может быть включена в область, доступную для вождения. Таким образом, на виде 930, если бы разделительная полоса 934 отсутствовала, то область, доступная для вождения, могла бы быть областью 938, доступной для вождения.
[152] Процесс 800 переходит к устранению из области, доступной для вождения, частей, где AV не может (например, безопасно) вестись. Термин «регулируемая область, доступная для вождения» используется в данном документе для обозначения области, доступной для вождения, после того, как области были устранены из упомянутой области, доступной для вождения, для учета статических и/или динамических объектов, как описано в данном документе. Если никакие статические и/или динамические объекты не мешают траектории AV, то регулируемая область, доступная для вождения, будет такой же, как упомянутая область, доступная для вождения.
[153] На этапе 830 процесс 800 регулирует область, доступную для вождения, для статических объектов. То есть процесс 800 устраняет (например, вырезает и т.д.) из области, доступной для вождения, те части области, доступной для вождения, где расположены статические объекты. Это так, потому что AV необходимо управлять для навигации (например, вождения) вокруг статических объектов. Вид 940 на фиг. 9 показывает вырезание части области, доступной для вождения. Чтобы избежать статического транспортного средства 914, процесс 800 вырезает вырез 942 в области 932, доступной для вождения. Размер вырезанной области можно определить на основании оценки размера статического объекта. Размер вырезанной области может включать в себя область допуска, так чтобы AV не приближался слишком близко к статическому объекту.
[154] Примеры регулировки области, доступной для вождения, для статических объектов дополнительно описаны ниже со ссылкой на фиг. 10-12. Пример процесса регулировки области, доступной для вождения, для статических объектов описан ниже со ссылкой на фиг. 13.
[155] На этапе 840 процесс 800 регулирует дискретно-временной план скорости для статических объектов. Например, при отсутствии препятствий или других пользователей дороги дискретно-временной план скорости соответствует стратегическому профилю скорости. Например, когда регулируемая область, доступная для вождения, содержит узкий проход с учетом статических объектов, вместо буквального следования (т. е. с использованием скорости) стратегическому профилю (т. е. установленному в стратегическом профиле), процесс 800 регулирует дискретно-временной план скорости для уменьшения скорости AV до комфортной скорости. Например, когда регулируемая область, доступная для вождения, с учетом статических объектов, содержит статическое препятствие, процесс 800 регулирует дискретно-временной план скорости таким образом, что AV останавливается на предписанном расстоянии до статического препятствия.
[156] На этапе 850 процесс 800 идентифицирует (например, предсказывает, вычисляет, генерирует, принимает или иным образом идентифицирует) соответствующий путь для каждого из ближайших динамических объектов. В одном примере предсказания соответствующих путей (то есть траекторий), по меньшей мере, некоторых из динамических объектов могут поддерживаться в модели мира, такой как модуль 402 модели мира по фиг. 4. Таким образом, процесс 800 может принимать (например, запрашивать, считывать или иным образом принимать) соответствующие пути из модели мира.
[157] Например, процесс 800 предсказывает (например, принимает предсказание или иным образом предсказывает), что динамическое встречное транспортное средство 918 должно следовать по пути 922, чтобы обойти статическое транспортное средство 920, и что динамическое транспортное средство 916 должно следовать по пути 924 после прохождения статического транспортного средства 914. В реализации этап 820 использует экземпляр (то есть выполнение) процесса 800 для идентификации пути динамического объекта. В одном примере, при предсказании пути для динамического объекта, процесс 800 исключает AV из списка ближайших объектов динамического объекта.
[158] В одном примере предсказание пути для динамического объекта может быть основано на соответствующих скоростях других динамических объектов и оценке права проезда среди динамических объектов. В примере оценки права проезда, если второе транспортное средство следует (т. е. находится сзади) за первым транспортным средством на полосе движения, то первое транспортное средство моделируется (т.е. путь предсказывается для первого транспортного средства) с присутствием второго транспортного средства; но второе транспортное средство моделируется без присутствия первого транспортного средства.
[159] Таким образом, экземпляр планировщика 500 траектории может быть предназначен для автономного транспортного средства, которое включает в себя планировщик 500 траектории, и один или несколько других экземпляров планировщика 500 траектории могут использоваться автономным транспортным средством для предсказания траекторий динамических объектов, которые являются видимыми для автономного транспортного средства (например, динамические объекты, которые поддерживаются модулем 402 модели мира).
[160] На этапе 860 процесс 800 регулирует область, доступную для вождения, для динамических объектов. То есть процесс 800 вырезает части области, доступной для вождения, на основе соответствующих предсказанных траекторий каждого из динамических объектов. Процесс 800 использует временную информацию относительно местоположений каждого из динамических объектов, чтобы вырезать дополнительные части области, доступной для вождения. Вырезы в области, доступной для вождения, для динамических объектов генерируются путем сравнения синхронизации прогнозов для динамических объектов с синхронизацией, сгенерированной дискретно-временным планом скорости, который теперь учитывает статические объекты (как описано в отношении этапа 840). То есть процесс 800 может предсказывать для динамического объекта, и на основе предсказанной траектории динамического объекта, где динамический объект будет расположен в разные дискретные точки времени относительно местоположений AV в тех же дискретных точках времени. Примеры регулировки области, доступной для вождения, для динамических объектов дополнительно описаны ниже со ссылкой на фиг. 14-16. Пример процесса регулировки области, доступной для вождения, для динамических объектов описывается ниже со ссылкой на фиг. 18.
[161] Местоположения динамического объекта сопоставляются с предсказанными местоположениями AV для определения вырезанных частей. Как упомянуто выше, предсказанные местоположения AV основаны на дискретно-временном плане скорости, отрегулированном на этапе 840 (т.е. для учета статических объектов). Вырез может не соответствовать текущему местоположению динамического объекта. Скорее, вырез может быть основан на местоположениях, где предсказано, что встретятся AV и динамический объект. Если предсказанная траектория динамического объекта не мешает области, доступной для вождения, то не вырезаются никакие части области, доступной для вождения, для динамического объекта. Если предсказанная траектория динамического объекта действительно мешает области, доступной для вождения, то одна или несколько частей области, доступной для вождения, вырезаются, чтобы избежать потенциального столкновения с динамическим объектом.
[162] Вид 950 на фиг. 9 иллюстрирует регулировку (т.е. этап 860) области, доступной для вождения, для динамических объектов. Процесс 800 предсказывает, что динамическое встречное транспортное средство 918 будет следовать по пути 922, чтобы обойти (например, избежать) статическое транспортное средство 920. Процесс 800 дополнительно предсказывает, что если AV 912 продолжит движение по своей текущей траектории, тогда AV 912 и динамическое встречное транспортное средство 918 встретятся около местоположения 954. Так, процесс 800 вырезает вырез 956 из области 932, доступной для вождения.
[163] На этапе 870 процесс 800 регулирует дискретно-временной план скорости для динамических объектов. Когда регулируемая область, доступная для вождения, (с учетом как статических, так и динамических объектов в этой точке) содержит динамический объект, перемещающийся в том же направлении, что и AV, динамический объект помечается как продольное ограничение, и дискретно-временной план скорости регулируется таким образом, что AV следует за препятствующим объектом с комфортной скоростью и расстоянием.
[164] Вид 960 на фиг. 9 иллюстрирует регулировку (т.е. этап 870) дискретно-временного плана скорости для динамических объектов. Процесс 800 определяет, что динамическое транспортное средство 916 находится в регулируемой области, доступной для вождения, AV 912 и что для AV 912 небезопасно проходить динамическое транспортное средство 916, потому что, например, не существует безопасного зазора между краем динамического транспортного средства 916 и границами регулируемой области, доступной для вождения. Таким образом, AV 912 должно следовать за динамическим транспортным средством 916. Если динамическое транспортное средство 916 движется медленнее, чем стратегический план скорости, то дискретно-временной план скорости регулируется так, что AV следует за динамическим транспортным средством 916 на комфортной скорости и расстоянии. Вид 960 также показывает, что траектория 962 для AV 912 основана, например, на вырезе 956.
[165] В другом примере предположим, что само динамическое транспортное средство 916 определено как имеющее продольное ограничение. Например, второе транспортное средство (не показано) может находиться впереди динамичного транспортного средства 916. Таким образом, второе транспортное средство само по себе также может рассматриваться как еще одно продольное ограничение для AV 912. Таким образом, первый дискретно-временной план скорости (например, первый план замедления) может быть определен для AV 912 на основе динамического транспортного средства 916, а второй дискретно-временной план скорости (например, второй план замедления) может быть определен для AV 912. Один из первого дискретно-временного плана скорости и второго дискретно-временного плана скорости, соответствующего более высокому замедлению, может быть выбран в качестве дискретно-временного плана скорости для AV. В более общем смысле, объекты, которые определены как ограничения для AV, сами могут рассматриваться как ограничения для AV.
[166] Регулируемая область 964, доступная для вождения, иллюстрирует регулируемую область, доступную для вождения, которая является результатом этапов процесса 800.
[167] Фиг. 10-12 представляют собой примеры 1000, 1100, 1200 регулировки области, доступной для вождения, для статических объектов в соответствии с реализациями этого раскрытия. Примеры 1000, 1100, 1200 иллюстрируют определение статических границ для области, доступной для вождения. То есть фиг. 10-12 представляют собой примеры регулировки области, доступной для вождения, для статических объектов, как описано в отношении этапа 830 на фиг. 8. То есть, примеры 1000, 1100 и 1200 иллюстрируют определение, вдоль грубой линии вождения AV, где AV может вестись со ссылкой на статические объекты.
[168] В примере 1000 на фиг. 10 грубая линия вождения AV 1002 представлена грубой линией 1004 вождения. Грубая линия 1004 вождения также упоминается в данном документе как грубая линия вождения. Грубая линия 1004 вождения может быть определена (например, вычислена, сгенерирована и т.д.), как описано в отношении уровня 504 генерации опорной траектории на фиг. 5. Пример 1000 иллюстрирует пример этапа 830 для определения боковых границ области, доступной для вождения, AV 1002. Таким образом, пример 1000 иллюстрирует определение, например, левой и правой границ области, доступной для вождения, AV 1002 для учета статических объектов.
[169] Как упомянуто выше, определяется область, доступная для вождения, (то есть нерегулируемая, без вырезов область, доступная для вождения, такая как область 932, доступная для вождения, на фиг.9). В примере, область, доступная для вождения, может иметь ширину по умолчанию. Ширина по умолчанию может быть основана на текущей полосе движения или текущей дороге AV. Ширина по умолчанию может быть определена заранее определенной шириной (например, 8 метров). Таким образом, область, доступная для вождения, может пересекать центральную линию дороги. Следует отметить, что область, доступная для вождения, по умолчанию, может быть ограничена барьерами (например, бетонными барьерами), которые могут находиться на разделительной полосе. Такие барьеры являются статическими объектами и ограничивают область, доступную для вождения.
[170] Область, доступная для вождения, AV 1002 разделена на секции. Каждая секция имеет центральную точку, например центральную точку 1006. Центральные точки могут быть расположены на одинаковом расстоянии. Например, центральные точки могут находиться на расстоянии примерно двух метров друг от друга. Левая и правая границы каждой секции могут быть связаны с курсом грубой линии 1004 вождения. Правая граница 1018 и левая граница 1020 иллюстрируют границы секции 1022.
[171] Граничные точки, такие как граничная точка 1008, происходят из статических объектов. Например, граничные точки могут быть получены из данных от датчика лидар, лазерного указателя, радара или любого другого датчика, такого как датчик 126 на фиг. 1. Граничные точки могут представлять координаты (x, y), которые заняты или иначе запрещены для AV. Каждая граничная точка, соответствующая статическим объектам, назначается секции, содержащей граничную точку. Например, граничная точка 1008 назначается секции 1022. Соседние граничные точки (например, внутри секции или в пределах ее границ) могут соответствовать одному или нескольким статическим объектам.
[172] Правая и левая границы каждой секции могут быть определены (т. е. заданы) на основе граничных точек, назначенных секции. Например, поскольку секция 1024 не включает в себя граничных точек, правая граница 1016 и левая граница 1010 секции 1024 выравниваются с (нерегулируемой) областью, доступной для вождения. С другой стороны, левая граница 1012 секции 1026 не выровнена с областью, доступной для вождения, потому что вырез 1028 исключен из области, доступной для вождения; и правая граница 1014 секции 1026 не выравнивается с областью, доступной для вождения, потому что вырез 1030 исключен из области, доступной для вождения.
[173] Границы регулируемой области, доступной для вождения, представлены сегментированной линией 1032, которая образует левую границу регулируемой области, доступной для вождения, и сегментированной линией 1034, которая образует правую границу регулируемой области, доступной для вождения. Для ясности иллюстрации сегментированные линии 1032, 1034 показаны как смещенные от реальных границ. То есть, например, в то время как сегментированная линия 1032 перекрывает границу 1010 и границу 1012, для ясности сегментированная линия 1032 показана как слегка смещенная от границы 1010 и границы 1012. Сегментированная линия 1032 является вычисленной левой границей регулируемой области, доступной для вождения. Сегментированная линия 1034 - это вычисленная правая граница регулируемой области, доступной для вождения.
[174] Вычисленные правая и левая границы используются, чтобы определить, может ли AV 1002 продолжать движение по грубой линии 1004 для вождения. AV 1002 может быть продвинут (виртуально или вычислительно, но не физически) к центру каждой секции , чтобы определить, является ли ширина секции (с учетом границ компьютера) такой, что AV 1002 может безопасно пройти через секцию. Например, что касается секции 1022, AV 1002 не может безопасно покинуть левую границу (то есть левую вычисленную границу) секции . Таким образом, и как дополнительно описано ниже, траектория AV 1002 должна быть изменена. Например, траектория AV 1002 может не нуждаться в регулировке, так как AV 1002 может потребоваться остановить, или траектория AV 1002 может быть изменена другими способами.
[175] Фиг. 11 иллюстрирует пример 1100 определения статических границ и идентификации препятствия, которое учитывается при регулировке дискретно-временного плана скорости в соответствии с реализациями этого раскрытия. В примере 1100 грубая линия 1103 вождения, является грубой линией вождения, упомянутого AV 1102. По умолчанию область, доступная для вождения, этого AV 1102 определяется левой границей 1104 и правой границей 1106. В примере 1100 показаны левая граница 1108 полосы движения и правая граница 1110 полосы движения, которая включает в себя AV 1102. В примере 1100 область, доступная для вождения, ограничена полосой движения (то есть полосой движения, ограниченной левой границей 1108 полосы движения и правой границей 1110 полосы движения) AV 1102. Таким образом, левая и правая границы полосы движения регулируются для статических объектов.
[176] Левая граница 1104 и правая граница 1106 могут определять максимально возможную область, доступную для вождения, (то есть максимальные границы). Однако, поскольку может быть предпочтительнее держать AV 1102 в пределах своей полосы движения, левая граница 1108 полосы движения и правая граница 1110 полосы движения определяют границы области, доступной для вождения. В одном примере, если AV 1102 не может безопасно вестись в пределах своей полосы движения (например, между левой границей 1108 полосы движения и правой границей 1110 полосы движения), то можно оценить, может ли вестись AV 1102 за границы полосы движения, но в максимальных границах. Расширение области, доступной для вождения, можно назвать «проверкой расширенной области, доступной для вождения».
[177] Правая граница 1110 полосы движения включает в себя часть 1112. Часть 1112 показана пунктирной линией, потому что, как дополнительно описано ниже, эта часть области, доступной для вождения, должна регулироваться.
[178] Как описано со ссылкой на фиг. 10, область, доступная для вождения, AV 1102 разделена на секции, и граничные точки, соответствующие статическим объектам, назначаются соответствующим секциям, таким как секции 1116, 1118. Поскольку граничные точки секций 1116, 1118 соответствуют большому прямоугольному объекту, этот объект может быть классифицирован (например, модулем 402 модели мира на фиг.4) как «грузовик».
[179] Границы, соответствующие (т. е. определенные на основе) объектам (статическим или динамическим объектам), могут называться жесткими границами. Жесткая граница такова, что, если запланированная траектория должна была пересекать жесткую границу, вероятно столкновение с другим объектом. С другой стороны, разметка полосы движения и/или дороги может называться мягкими границами и представлять законные или логические границы. Мягкая граница такова, что если запланированная траектория должна была пересечь мягкую границу, которая также не является жесткой границей, движение AV может быть незаконным и/или социально неприемлемым, но AV может быть в безопасности. Как показано на фиг. 11, например, левая граница 1104 (т.е. левая граница области, доступной для вождения) определяет левую жесткую границу, а левая граница 1108 полосы движения определяет левую мягкую границу. Правая жесткая граница состоит из правой границы 1106 (то есть правой границы области, доступной для вождения) и границы 1114; правая мягкая граница определяется правой границей 1110 полосы движения и границей 1114.
[180] Может быть выполнена детальная проверка, чтобы определить, существует ли путь, учитывая расстояние между правой и левой жесткими границами секции. Расстояние 1120 между границей 1114 и левой границей 1108 полосы движения определено как слишком узкое для AV 1102 для вождения (то есть прохода) через него. Так, местоположение 1122, соответствующее секции 1116, помечено как статическое препятствие. Таким образом, AV 1102 не может пройти объект(ы), представленный граничными точками секций 1116, 1118. Соответственно, AV 1102 должно быть остановлено до статического препятствия, соответствующего местоположению 1122. Соответственно, модуль 530 может регулировать дискретно-временной план скорости, так что AV останавливается перед статическим препятствием.
[181] В другом примере, вместо остановки из-за статического препятствия, планировщик траектории определяет траекторию через зазор 1124, так что область, доступная для вождения, расширяется, по меньшей мере, для секций 1116 и 1118 через левую границу 1108 полосы движения. Например, если левая граница 1108 полосы движения является центром дороги, планировщик траектории может определить, что нет встречных динамических объектов и, следовательно, можно безопасно пересекать границу полосы движения.
[182] В другом примере, в случае, когда существует недостаточное расстояние для AV, чтобы остановиться перед статическим препятствием, дискретно-временной план скорости мог бы только замедлить AV, и, таким образом, траектория может быть определена так, что AV может пересекать левую мягкую границу, чтобы избежать пересечения правой жесткой границы и столкновения со статическим объектом. Таким образом, сохраняя осведомленность как о жестких, так и о мягких границах, планировщик траектории может генерировать траекторию, которая является законной и социально приемлемой при вождении в большинстве условий с плавным переходом к маневрам уклонения от объекта в аварийных условиях.
[183] В одном примере, границы секции могут быть отрегулированы на основе статуса объектов (например, групп граничных точек) в этой секции. Например, граничные точки внутри секции можно отслеживать с течением времени. Если определено, что группа граничных точек внутри секции немного двигаются (т. е. ниже порогового уровня передвижения), то может потребоваться больший уровень допуска. То есть AV 1102 может уводиться дальше от граничных точек, если граничные точки двигаются. С другой стороны, если граничные точки стабильны (то есть не двигаются), то AV 1102 может вестись ближе к граничным точкам. Так, граница секции (например, граница 1114) может регулироваться с течением времени в зависимости от уровня передвижения граничных точек внутри этой секции.
[184] В одном примере, если движение граничных точек обнаруживается в момент времени t, тогда граничные точки считаются двигающимися после этого (то есть в более поздние моменты времени t+x), независимо от того, продолжают ли граничные точки двигаться или нет.
[185] Регулировка границы секции с течением времени на основе движения граничных точек внутри секции может называться отфильтрованными боковыми пределами. «Отфильтрованный» в этом контексте означает, что боковые пределы (например, границы секции) могут изменяться со временем.
[186] ФИГ. 12 - еще один пример, пример 1200 определения статических границ в соответствии с реализациями этого раскрытия сущности. В примере 1200 грубая линия 1203 вождения, является грубой линией вождения, AV 1202. Область, доступная для вождения, по умолчанию, для AV 1202 определяется левой границей 1204 полосы движения и правой границей 1206 полосы движения. Вырез 1208 и вырез 1210 вырезаны из области, доступной для вождения. В этом примере вырез 1210 находится в середине области, доступной для вождения.
[187] Продолжается ли граница вырезанной области до границы области, доступной для вождения, по умолчанию, может зависеть от расстояния между вырезанной областью и границей области, доступной для вождения, по умолчанию. Например, если расстояние, соответствующее зазору 1216 между правым краем выреза 1210 и правой границей 1206 полосы движения, ниже порогового расстояния, то вырез 1210 может быть определен областью, продолжающейся от левой границы 1217 выреза 1210 до правой границы 1206 полосы движения. В примере пороговое расстояние может относиться к ширине AV 1202. Например, пороговое расстояние может быть в 1,5, 2,0 и т.д. раз больше ширины AV 1202. Аналогично, также определяется зазор (например, зазор 1207) между кластером (например, кластером 1209) граничных точек секции и границей полосы движения (например, правой границей 1206 полосы движения). В случае зазора 1207, поскольку зазор 1207 определяется как меньшее, чем пороговое расстояние (так что AV 1202 не может пройти через зазор), вырез 1208 расширяется до правой границы 1206 полосы движения.
[188] Планировщик траектории AV 1202 может определить, что расстояние 1212 таково, что AV 1202 может пройти через зазор, соответствующий расстоянию 1212. Поскольку вырез 1210 перекрывает грубую линию 1203 вождения, планировщик траектории AV 1202 выполняет детальную проверку, чтобы определить (например, найти) зазор слева или справа от выреза 1210, чтобы AV 1202 могло пройти через этот зазор. Если зазор не найден в результате детальной проверки, то AV 1202 можно считать заблокированным и должно быть остановлено.
[189] В примере 1200 зазор 1214 и зазор 1216 таковы, что AV 1202 может проходить через любой из зазоров 1214, 1216. В примере один из зазоров 1214, 1216 выбирается случайным образом. В другом примере планировщик траектории выбирает зазор 1214 (т.е. зазор слева от выреза 1210), поскольку планировщик траектории уже выбрал направление влево для прохождения выреза 1208.
[190] Даны два возможных пути относительно второго объекта (например, левый путь и правый путь вокруг объекта) и дан первый путь (например, вправо или влево) относительно первого объекта, «отслеживание мульти-гипотез» относится к определению второго пути (например, траектории) относительно второго объекта.
[191] ФИГ. 13 является блок-схемой процесса 1300 для определения статических границ в соответствии с настоящим раскрытием. Некоторые или все из этапов процесса 1300 могут выполняться на этапе 830 процесса 800.
[192] На этапе 1310 процесс 1300 организует граничные точки в секции вдоль грубой линии вождения. Граничные точки организованы в секции вдоль грубой линии вождения, как описано со ссылкой на фиг. 10-12.
[193] На этапе 1320 процесс 1300 проверяет границы секций относительно грубой линии вождения. Границы секций проверяются относительно грубой линии вождения, чтобы определить, существуют ли зазоры, так что AV может пройти, по меньшей мере, через один из зазоров. В примере этап 1320 может выполняться этапами 1320_2-1320_12. Этап 1320 регулирует правую и левую границы секций области, доступной для вождения, на основе сгруппированных в секции граничных точек, как описано, например, относительно левой границы 1012 и правой границы 1014 секции 1026 на фиг. 10.
[194] На этапе 1320_2 процесс 1300 оценивает фактическую линию вождения. Например, как описано в отношении выреза 1208, процесс 1300 определяет фактическую линию вождения, которая находится слева от выреза 1208.
[195] На этапе 1320_4 процесс 1300 идентифицирует проходимые зазоры. То есть процесс 1300 идентифицирует количество проходимых зазоров. Например, учитывая правую и левую границы секции 1116 на фиг. 11, процесс 1300 определяет, может ли AV 1102 пройти через зазор, определенный расстоянием 1120. Если да, то идентифицирован один зазор. Аналогично, процесс 1300 определяет, может ли AV 1202 пройти через зазор, определенный расстоянием 1212 на фиг. 12.
[196] На этапе 1320_6, если идентифицируется единственный (то есть один) зазор, процесс 1300 завершается на этапе 1320_12. То есть через зазор разрешена некоторая траектория. Если на этапе 1320_4 идентифицируется более одного зазора, процесс 1300 переходит к этапу 1320_8. Например, в отношении AV 1202 и выреза 1210 процесс 1300 идентифицирует два зазора, а именно зазор справа и зазор слева от выреза 1210.
[197] На этапе 1320_8 процесс 1300 выполняет подробную проверку, чтобы определить, доступны ли другие зазоры, например, как описано в отношении зазоров 1214, 1216 на фиг. 12. Например, если зазор 1214 определен как слишком маленький для AV 1202, чтобы пройти слева от выреза 1210, то процесс 1300 может тестировать, может ли AV 1202 пройти через зазор 1216. На этапе 1320_8 процесс 1300 выбирает проходить влево или вправо, и, если ни то, ни другое невозможно, процесс 1300 определяет, что существует статическое препятствие.
[198] На этапе 1320_10, если прогнозное расстояние полностью проверено, процесс 1300 завершается на этапе 1320_12; в противном случае процесс 1300 возвращается к этапу 1320_2 для проверки дополнительных препятствий.
[199] Прогнозное расстояние может варьироваться в зависимости от скорости AV. Например, в зависимости от скорости AV, прогнозное расстояние может варьироваться, чтобы сократить время вычислений, при этом гарантируя, что в случае обнаружения впереди препятствия или бокового ограничения, доступно достаточно времени, чтобы либо остановиться, либо комфортно (например, безопасно) рулить AV. Например, если требуется четыре секунды прогнозного времени, тогда, если AV перемещается со скоростью 12 метров в секунду, подходящее прогнозное расстояние будет 48 метров. Если бы AV перемещалось со скоростью 30 метров в секунду (например, при перемещении по шоссе), подходящее расстояние было бы 120 метров.
[200] Снова обращаясь к фиг. 5, модуль 528 дискретно-временного плана скорости может генерировать целевую скорость и ускорение из стратегического плана скорости, определяемого уровнем 504 генерирования опорной траектории (и, более конкретно, с помощью модуля 524 стратегического плана скорости). Модуль 528 дискретно-временного плана скорости может генерировать целевую скорость и ускорение из (например, на основе) продольных ограничений. В примере продольные ограничения могут включать в себя стоп-линии (описанные ниже), виртуальные стоп-линии (описанные ниже), статические препятствия (то есть статические объекты) и/или динамические препятствия (то есть динамические объекты). Модуль 528 дискретно-временного плана скорости итеративно вычисляет целевую скорость и ускорение. Целевая скорость и ускорение вычисляются для прогнозного времени (т. е. будущего временного горизонта). В примере прогнозное время может составлять 6 секунд.
[201] Стоп-линия представляет собой линию, на которой AV по правилам должно остановиться перед продолжением движения. В примере, стоп-линия может быть обозначена краской на дороге. В другом примере стоп-линия может предполагаться на основе структур перекрестков и местоположений знаков остановки. Виртуальная стоп-лини может использоваться AV для представления критического местоположения, где AV как ожидается, но не требуется по закону, должно остановиться, чтобы проверить информацию о пересечении. Например, при поворотах налево виртуальные стоп-линии можно использовать в середине перекрестков, чтобы AV остановилось и уступило пересекающему трафику.
[202] Модуль 528 дискретно-временного плана скорости вычисляет соответствующую целевую скорость для продольных ограничений (т.е. статические или динамические объекты, которые находятся в продольном направлении для AV) и/или соответствующее целевое расстояние для продольных ограничений.
[203] Модуль 528 дискретно-временного плана скорости может устанавливать (то есть выбирать, определять или иным образом устанавливать) режим отслеживания, по меньшей мере, для некоторых из статических и/или динамических объектов. Например, режим отслеживания может быть одним из «закрытия зазора», «поддержания зазора», «открытия зазора», «торможения» или «следования». Например, относительно динамического транспортного средства 916 по фиг. 9, модуль 528 дискретно-временного плана скорости может определять режим отслеживания «закрытия зазора». Например, что касается объектов секции 1116 на фиг. 11, режим отслеживания можно определить как «торможение». Доступные режимы отслеживания могут включать в себя меньше, больше или другие режимы отслеживания. Режим отслеживания может использоваться для выбора наборов параметров настройки, используемых модулем 528 дискретно-временного плана скорости. Параметры настройки могут включать в себя целевое ускорение, параметры гистерезиса и другие параметры настройки.
[204] Теперь предоставляется пример, иллюстрирующий работу модуля 528 дискретно-временного плана скорости. Если никакие продольные ограничения не найдены, то модуль 528 дискретно-временного плана скорости может определить, что AV может эксплуатироваться на основе стратегического плана скорости (как это определено на уровне 504 генерирования опорной траектории). С другой стороны, если найдено продольное ограничение (например, в отношении объектов секции 1116 на фиг. 11), когда режим отслеживания определяется как «торможение», модуль 528 дискретно-временного плана скорости вычисляет профиль скорости для остановки AV. То есть вычисляется профиль скорости замедления для остановки AV.
[205] В одном примере профиль скорости использует текущую скорость AV и расстояние до продольного ограничения для вычисления профиля скорости замедления, чтобы остановить AV перед продольным ограничением.
[206] Фиг. 14-16 являются примерами 1400, 1500 и 1600 определения динамических границ в соответствии с реализациями этого раскрытия. То есть фиг. 14-16 являются примерами регулировки области, доступной для вождения, для динамических объектов, как описано в отношении этапа 850 на фиг. 8. То есть примеры 1400, 1500 и 1600 иллюстрируют определение, вдоль грубой линии вождения AV, где AV может вестись со ссылкой на динамические объекты.
[207] Каждый динамический объект может быть классифицирован как минимум один из нескольких доступных классов. В примере, доступные классы включают в себя «боковое ограничение», «продольное ограничение», «встречное, боковое ограничение» и «встречное, продольное ограничение». Могут быть доступны другие классы.
[208] Динамический объект, который классифицируется как «боковое ограничение», влияет на путь AV, но не на скорость. Например, динамический объект может двигаться в направлении, в основном ортогональном направлению AV. То есть динамический объект может двигаться либо с левой, либо с правой стороны AV, не затрудняя (т.е. не препятствуя) пути AV. Так, планировщику траектории, такой как планировщик 500 траектории по фиг. 5, может потребоваться отрегулировать траекторию AV, чтобы избежать динамического объекта. То есть AV может потребоваться двигаться (влево или вправо), чтобы избежать столкновения с динамическим объектом.
[209] Динамический объект, который классифицируется как «продольное ограничение», влияет на скорость, но не на путь AV. Например, динамический объект может двигаться в основном в том же направлении, что и AV, и может находиться на пути AV. То есть объект продольного ограничения затрудняет (то есть препятствует) пути AV при текущей скорости AV. Таким образом, планировщику траектории AV может не потребоваться регулировка траектории AV, но может потребоваться регулировать (например, с помощью модуля 528 дискретно-временного плана скорости упомянутого планировщика траектории) скорость AV, чтобы избежать столкновение с динамическим объектом. Примером продольного ограничения является динамическое транспортное средство 916 на фиг. 9. То есть объект продольного ограничения может быть транспортным средством, которое находится впереди AV и движется медленнее, чем AV. Таким образом, AV следует замедлить, чтобы избежать наезда сзади на динамический объект.
[210] Встречный объект бокового ограничения аналогичен объекту бокового ограничения с той разницей, что встречный объект бокового ограничения движется в направлении, противоположном направлению AV. Динамическое встречное транспортное средство 918 по фиг. 9 - пример встречного объекта бокового ограничения. В таком случае AV может двигаться (например, как описано в отношении траектории 962 на фиг.9) без необходимости замедляться.
[211] Встречный объект продольного ограничения подобен объекту продольного ограничения, с той разницей, что встречный объект продольного ограничения движется в направлении, противоположном направлению AV. В таком случае, как дополнительно описано со ссылкой на фиг. 16, AV останавливается.
[212] Так, модуль 532 уровня 506 избегания объектов по фиг. 5 ограничивает (т. е. применяет ограничения) дискретный план скорости AV на основе классификаций динамического объекта. Например, встречный динамический объект, который блокирует траекторию АВ, может рассматриваться как статический объект в полосе движения (т. е. в той же полосе, что и AV). Например, ведущий динамический объект (т. е. динамический объект, который находится впереди и движется в том же направлении, что и AV) может рассматриваться как продольное ограничение в дискретно-временном плане скорости. Например, динамический объект, который находится рядом с планируемой линией вождения AV, можно рассматривать как боковое ограничение.
[213] В примере 1400 на фиг. 14, AV 1402 движется по грубой линии вождения 1403. Статических объектов не найдено. Соответственно, левая граница 1417 и правая граница 1418, которые являются вычисленными границами области, доступной для вождения, регулируемой для статических объектов, как описано со ссылкой на фиг. 10- 12, совпадают с границами области, доступной для вождения.
[214] Предсказывается, что транспортное средство 1404 будет двигаться от правой обочины дороги (или с полосы движения направо от полосы движения, которая включает в себя AV 1402) на путь AV вдоль пути 1420. Таким образом, транспортное средство 1404 изначально классифицируется как боковое ограничение. Предсказанный путь транспортного средства 1404 - это путь 1420, который находится рядом (например, смежно с) грубой линией 1403 вождения. Таким образом, модуль 532 продолжает классифицировать транспортное средство 1404 как боковое ограничение.
[215] Модуль 532 может определять (например, предсказывать) местоположения AV 1402 в различные дискретные моменты времени. То есть, модуль 532 определяет местоположения прибытий вдоль грубой линии 1403 вождения в различные моменты времени. Например, в момент времени t (например, через одну секунду) AV 1402 предсказывается как находящееся в местоположении 1406; в момент времени t+1 (например, через две секунды) AV 1402 предсказывается как находящееся в местоположении 1408; и в момент времени t+2 (например, через три секунды) AV 1402 предсказывается как находящееся в местоположении 1410.
[216] Хотя местоположения через 3 секунды в будущее (то есть временное окно в 3 секунды) показаны относительно примеров 1400, 1500 и 1600, можно определить большее или меньшее количество местоположений (например, предсказать, вычислить и т. д.) учитывая заранее определенное временное окно. Например, временное окно составляет шесть секунд. Частота предсказанных местоположений также может варьироваться. В одном примере временное окно может составлять шесть секунд, а местоположение можно определять каждые полсекунды. Таким образом, предсказывается 12 местоположений.
[217] Как описано выше, второй экземпляр планировщика траектории может отслеживать (например, предсказывать траекторию) транспортного средства 1404. Так, модуль 532 второго планировщика траектории может определять (например, предсказывать) местоположения транспортного средства 1404. Например, в момент времени t (например, через одну секунду) транспортное средство 1404 определяется как находящееся в местоположении 1412; в момент времени t+1 (например, через две секунды) транспортное средство 1404 определяется как находящееся в местоположении 1414; и в момент времени t+2 (например, через три секунды) транспортное средство 1404 определяется как находящееся в местоположении 1416. В одном примере одно и то же временное окно и частота предсказания могут быть одинаковыми для всех созданных экземпляров планировщиков траектории AV. Однако, этого не нужно. Временное окно и частота могут зависеть от типа (например, велосипед, пешеход, спортивный автомобиль, седан, большой грузовик и т. д.) динамического объекта. Область, доступная для вождения, AV 1402 регулируется для устранения тех областей, которые соответствуют местоположениям транспортного средства 1404.
[218] В примере 1400 на фиг. 14, определяется, что транспортное средство 1404 и AV 1402 находятся примерно в одних и тех же местоположениях в одно и то же время. Так, части, соответствующие пути 1422, вырезаются из области, доступной для вождения, AV 1402, например, путем установки (в этом примере справа) границ секций, соответствующих пути 1422. Как описано в отношении расстояния 1212 на фиг. 12, если расстояние 1424 таково, что AV 1402 может пройти через зазор, определенный расстоянием 1424, то линия вождения AV 1402 регулируется посредством зазора (т.е. AV 1402 сдвигается влево).
[219] В примере 1500 на фиг. 15 AV 1502 движется по грубой линии 1503 вождения. Статических объектов не найдено. Соответственно, левая граница 1517 и правая граница 1518 области, доступной для вождения, не регулируются для статических объектов. Однако, предсказывается, что транспортное средство 1504 движется с правой обочины дороги (или с полосы движения направо от полосы движения, которая включает в себя AV 1502) на путь AV 1502 вдоль пути 1520.
[220] Первоначально, например, когда транспортное средство 1504 впервые обнаруживается, оно может быть классифицировано как боковое ограничение. Так, боковое ограничение может применяться к транспортному средству 1504, как описано относительно транспортного средства 1404 на фиг. 14.
[221] Как описано со ссылкой на фиг. 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.
[222] В примере 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.
[223] Планировщик траектории определяет, что AV 1602 и транспортное средство 1604, как предсказано, будут находиться примерно в одном и том же местоположении (то есть в местоположении пересечения, соответствующем местоположениям 1612, 1618) в одно и то же время (то есть в момент времени t+2). Таким образом, если AV 1602 продолжит движение по грубой линии 1603 вождения, оно, скорее всего, столкнется с транспортным средством 1604.
[224] Хотя это не показано на фиг. 16, область, доступная для вождения, из примера 1600 регулируется (т.е. вырезается), как описано в отношении выреза 956 вида 950 на фиг. 9. То есть область, доступная для вождения, для AV 1602 регулируется для устранения тех областей, которые соответствуют местоположениям транспортного средства 1604, например, путем установки (в этом примере слева) границ секций, соответствующих (то есть перекрывающих) пути 1609.
[225] В местоположении пересечения (т.е. в точках 1612, 1618) планировщик траектории может оценить ширину области, доступной для вождения, между точкой пересечения и краем области, доступной для вождения. То есть, планировщик траектории оценивает расстояние 1622, чтобы определить, достаточно ли велик зазор, определяемый расстоянием 1622, чтобы AV 1602 могло пройти через него. Как описано выше, расстояние 1622 - это расстояние между вычисленными границами секции 1608, которая включает в себя точку пересечения.
[226] В случае, когда расстояние 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.
[227] В другом примере, по меньшей мере, для некоторых из предсказанных местоположений транспортного средства 1604, начиная с точки пересечения (например, местоположения в момент времени t+X, где X - положительное целое число) и продвигаясь вперед во времени (например, по меньшей мере, в некоторых из местоположений в моменты времени t+X+1, t+X+2,…, t+X+n), планировщик траектории определяет, может ли AV 1602 в этом местоположении покинуть транспортное средство 1604.
[228] Планировщик траектории определяет, что AV 1602 может покинуть транспортное средство 1604, когда транспортное средство 1604 находится в местоположении 1620. Таким образом, планировщик траектории (и, более конкретно, модуль 530) устанавливает статическое препятствие в местоположении 1624. Планировщик траектории (и, более конкретно, модуль 528 дискретно-временного плана скорости) затем определяет профиль скорости и/или замедления, чтобы остановить AV 1602 в местоположении 1624. Таким образом, AV 1602 останавливается в местоположении 1624 до тех пор, пока транспортное средство 1604 не прибывает в местоположение 1624, и в это время AV 1602 может двигаться вдоль грубой линии 1603 движения.
[229] В случае, когда расстояние 1622 определено как достаточно большое, планировщик траектории может отрегулировать грубую линию 1603 движения так, что AV 1602 двигается влево, чтобы избежать транспортного средства 1604 в местоположении пересечения, например, как показано в отношении траектории 962 вида 960 на фиг. 9.
[230] Таким образом, в одном примере уровень 506 избегания объектов систематически обрабатывает объекты. Если объект не является ограничением, то его может игнорировать уровнем 506 избегания объектов.
[231] Если объект является статическим объектом и регулируемая область, доступная для вождения, является проходимой (например, AV может проходить через один или несколько зазоров в области, доступной для вождения, или регулируемой области, доступной для вождения, в зависимости от обстоятельств), то модуль 530 может применять статическое ограничение (например, боковое ограничение) для определения регулируемой области, доступной для вождения, как описано, например, в отношении расстояния 1212 на фиг. 12.
[232] Если объект является статическим объектом и область, доступная для вождения, (или регулируемая область, доступная для вождения,) является не проходимой, то модуль 528 дискретно-временного плана скорости может регулировать дискретно-временной профиль скорости, как описано, например, в отношении местоположения 1122 на фиг. 11.
[233] Если объект является динамическим объектом, и объект представляет собой боковое ограничение, то модуль 532 может регулировать область, доступную для вождения, (или регулируемую область, доступную для вождения), как описано, например, со ссылкой на фиг. 15.
[234] Если объект является динамическим объектом, и объект является продольным ограничением, то модуль 528 дискретно-временного плана скорости может регулировать дискретно-временной профиль скорости, как описано, например, со ссылкой на фиг. 16. Модуль 528 дискретно-временного плана скорости может сгенерировать дискретно-временной план скорости для будущего окна (например, план скорости на следующие 6 секунд) с учетом ограничений.
[235] Возвращаясь к фиг. 5, уровень 508 оптимизации траектории выполняет операцию (операции) оптимизации, такую как операция с ограничениями, для определения оптимальной траектории для AV на основе ограничений. Уровень 508 оптимизации траектории может использовать (то есть в качестве входных данных для операции оптимизации) модель движения (например, кинематическую модель движения) AV, грубую линию вождения (например, грубую линию 1004 вождения на фиг.10, грубую линию 1103 вождения на фиг.11, грубую линию 1403 вождения на фиг.14 и т. д.) и/или центральные точки (например, центральная точка 1006) секций вдоль грубой линии вождения, а также регулируемую область, доступную для вождения (например, левую и правую границы регулируемой области, доступной для вождения,) для вычисления (например, определения, генерирования и т.д.) оптимальной траектории для AV. Таким образом, оптимальная траектория принимает во внимание грубую линию вождения, а также левую и правую границы, учитывая статические и динамические объекты, вдоль грубой линии вождения.
[236] ФИГ. 17 иллюстрирует дополнительные примеры 1700 планирования траектории в соответствии с реализациями этого раскрытия. В каждом из нижеприведенных примеров один или несколько планировщиков траектории, например планировщик 500 траектории на фиг. 5, может выполняться в автономном транспортном средстве. Первый экземпляр планировщика траектории определяет траекторию для самого автономного транспортного средства. Второй экземпляр планировщика траектории предсказывает соответствующую опорную линию вождения по меньшей мере одного внешнего динамического объекта. Для простоты объяснения термин «планировщик траектории» используется здесь для обозначения первого экземпляра и/или второго экземпляра.
[237] В первом примере планировщик траектории AV 1702 предсказывает, что встречное транспортное средство 1704 будет следовать по траектории 1706, чтобы избежать статического объекта 1705. Планировщик траектории дополнительно определяет, как описано со ссылкой на фиг. 16, что AV 1702 не может пройти в зазоре между траекторией встречного транспортного средства 1704 и правой границей области, доступной для вождения. Таким образом, планировщик траектории определяет план скорости, который приводит AV 1702 к остановке около статического препятствия 1708 до тех пор, пока встречное транспортное средство 1704 не пройдет статическое препятствие 1708.
[238] Во втором примере AV 1710 определяет (то есть планировщиком траектории AV), что динамический объект 1712 будет следовать по пути 1714. Планировщик траектории определяет, что AV 1710 не может пойти динамический объект 1712, не пересекая центральную линию дороги, которая может быть левой жесткой границей области, доступной для вождения, (как описано в отношении области 932, доступной для вождения, на фиг.9). Таким образом, планировщик траектории AV 1710 определяет план скорости, который останавливает AV 1710 около статического препятствия 1716. В другом примере AV 1710 не останавливается около статического препятствия 1716; скорее, AV 1710 замедляется достаточно, чтобы позволить динамическому объекту 1712 проехать.
[239] В третьем примере AV 1720 определяет, что встречный динамический объект 1722 будет следовать по траектории 1724. AV 1720 дополнительно определяет траекторию 1730 AV 1720 таким образом, что AV 1720 ведется, по траектории 1730, между первым статическим объектом 1726 и вторым статическим объектом 1728, где AV 1720 должно ожидать около статического препятствия 1732 вычисленное количество секунд, а затем продолжить движение. Вычисленное количество секунд - это время, достаточное для встречного динамического объекта 1722, чтобы пройти местоположение статического препятствия 1732, как описано в отношении местоположения 1624 на фиг. 16.
[240] В четвертом примере AV 1734 определяет, что большой динамический объект 1736 поворачивает направо. Планировщик траектории AV 1734, используя модель движения большого динамического объекта 1736, определяет, что большой динамический объект 1736 требует большого радиуса поворота и, как таковой, большой динамический объект 1736 будет следовать траектории 1738. Соответственно, план скорости определяется (например, вычисляется, генерируется и т. д.) для AV 1734, так что AV 1734 останавливается около статического препятствия 1740 до тех пор, пока путь AV 1734 не станет свободным от большого динамического объекта 1736.
[241] Подводя итог, планировщик траектории (например, уровень данных линии вождения планировщика траектории) согласно этому раскрытию может определять (например, генерировать, вычислять, выбирать и т.д.) опорную (то есть грубую) линию вождения. Планировщик траектории может объединить несколько входных данных вместе, чтобы определить грубую линию вождения. Таким образом, грубую линию вождения можно отнести к множественным источникам (т. е. из множественных типов входных данных). Входные данные могут включать в себя данные карты HD, данные дистанционного управления, записанные данные путей, данные предшествующего транспортного средства, данные о парковках и локальные данные предположения. Планировщик траектории может использовать меньше, больше или другие входные данные.
[242] Планировщик траектории (например, уровень конкатенации грубой линии вождения планировщика траектории) может генерировать (например, определять, вычислять и т.д.) стратегический план скорости, который включает в себя конкретные значения скорости вдоль грубой линии вождения. Планировщик траектории может использовать по меньшей мере одно из кривизны дороги, mu дороги, пределов скорости и/или ускорения транспортного средства, минимального времени поездки, типов районов, а также больше, меньше или других входных данных для генерирования стратегического плана скорости.
[243] Планировщик траектории (например, уровень конкатенации грубой линии вождения планировщика траектории) определяет регулируемую область, доступную для вождения, для AV на основе по меньшей мере одной или нескольких жестких границ (которые устанавливаются на основе статических и/или динамических объектов), мягких границ (например, разметки полосы движения), отфильтрованных боковых пределов, отслеживания множественных гипотез, проверки расширяемой области, доступной для вождения, и классификации динамических объектов (например, классификация объекта как встречного транспортного средства, ведущего транспортного средства или бокового ограничения).
[244] Планировщик траектории (например, модуль дискретно-временного плана скорости планировщика траектории) определяет (например, вычисляет) дискретно-временной план скорости, используя, например, профили естественного ускорения (например, модель движения AV), профили ускорения ведущего транспортного средства и определения предельных продольных ограничений.
[245] Планировщик траектории (например, уровень желаемой оптимизированной траектории планировщика траектории) генерирует (например, вычисляет, определяет и т.д.) оптимизированную траекторию AV, используя, например, операцию оптимизации с ограничениями. В одном примере операция оптимизации может быть основана на квадратичной функции штрафа или может включать в себя ее. В одном примере операция оптимизации может быть основана на логарифмической функции штрафа или может включать в себя ее. Например, квадратичная функция штрафа может использоваться с мягкими ограничениями. Например, логарифмическая функция штрафа может использоваться с жесткими ограничениями.
[246] ФИГ. 18 представляет собой блок-схему процесса 1800 избегания объектов в соответствии с настоящим раскрытием. Процесс 1800 может быть выполнен планировщиком траектории, таким как планировщик 500 траектории по фиг. 5.
[247] На этапе 1810 процесс 1800 обнаруживает первый объект на грубой линии вождения области, доступной для вождения, AV. В одном примере обнаружение первого объекта может означать обнаружение граничных точек, таких как граничная точка 1008 на фиг. 10, соответствующих объекту. В одном примере обнаружение объекта может означать прием (например, путем опроса) объекта из модели мира, как описано в отношении модуля 402 модели мира на фиг. 4. Грубая линия вождения может быть такой, как описано, например, относительно грубой линии 1004 вождения по Фиг. 10, грубой линии 1103 движения по фиг. 11, грубой линии 1203 вождения по фиг. 12 и так далее. Область, доступная для вождения, может быть такой, как описано в отношении области 932, доступной для вождения, на фиг. 9.
[248] На этапе 1820 процесс 1800 принимает предсказанный путь первого объекта. В примере процесс 1800 определяет предсказанный путь первого объекта на основе классификации первого объекта и модели движения первого объекта. В другом примере процесс 1800 принимает предсказанный путь первого объекта от планировщика траектории, который предсказывает путь для первого объекта. Предсказанный путь может быть таким, как описано в отношении траектории 336, траектории 346, траектории 354 и траектории 364 на фиг. 3; пути 1420 на фиг. 14; пути 1520 на фиг. 15; и пути 1609 на фиг. 16.
[249] На этапе 1830 процесс 1800 определяет на основе предсказанного пути первого объекта регулируемую область, доступную для вождения. В примере и как описано выше, части могут быть вырезаны из области, доступной для вождения, чтобы генерировать регулируемую область, доступную для вождения. В другом примере, например, в случае, когда первый объект не является ни боковым, ни продольным ограничением, как описано выше, регулируемая область, доступная для вождения, может быть такой же, как область, доступная для вождения.
[250] На этапе 1840 процесс 1800 определяет траекторию AV через регулируемую область, доступную для движения. Траектория может быть определена, как описано в отношении уровня 508 оптимизации траектории на фиг. 5.
[251] В примере определение, на основе предсказываемого пути первого объекта, регулируемой области, доступной для вождения, может включать в себя разделение, по меньшей мере, части грубой линии вождения на секции, назначение первого объекта одной секции из упомянутых секций и определение регулируемой области, доступной для вождения, на основе упомянутой одной секции. Секции могут быть, например, такими, как описано со ссылкой на фиг. 10. Определение регулируемой области, доступной для вождения, на основе одной секции может включать в себя определение (например, вычисление) границ, по меньшей мере, для одной секции , как описано выше.
[252] В одном примере определение, на основе предсказанного пути первого объекта, регулируемой области, доступной для вождения, может включать в себя определение соответствующих местоположений первого объекта в дискретных временных интервалах, определение соответствующих местоположений AV в дискретных временных интервалах и определение регулируемой области, доступной для вождения, на основе соответствующих местоположений объектов и соответствующих местоположений AV. Соответствующие местоположения объекта для первого объекта, местоположения AV и определение регулируемой области, доступной для вождения, могут быть такими, как описано со ссылкой на фиг. 14-16.
[253] В примере процесс 1800 может включать в себя классификацию первого объекта. В другом примере процесс 1800 может принимать классификацию первого объекта, например, из модуля 402 модели мира. В случае, когда первый объект классифицируется как встречное продольное ограничение, определение траектории AV через регулируемую область, доступную для вождения, может включать в себя остановку AV до второго раза после первого раза, когда местоположение объекта упомянутого первого объекта встречает местоположение AV упомянутого AV, как описано со ссылкой на фиг. 16.
[254] В случае, когда первый объект классифицируется как продольное ограничение, определение траектории AV через регулируемую область, доступную для вождения, может включать в себя замедление AV для вождения сзади первого объекта, например, как описано со ссылкой на фиг. 15.
[255] В примере процесс 1800 также может включать в себя классификацию первого объекта как бокового ограничения, продольного ограничения, встречного бокового ограничения или встречного продольного ограничения.
[256] В примере определение траектории AV через регулируемую область, доступную для вождения, может включать в себя определение того, что первый объект является статическим препятствием, и остановку AV, как описано со ссылкой на фиг. 16.
[257] ФИГ. 19 является схемой примеров 1900 гипотез для объектов реального мира согласно реализациям этого раскрытия. Примеры 1900 включают в себя примеры 1910, 1930, 1940, 1950 и 1960, в которых предсказываются гипотезы (то есть намерения) наблюдаемого объекта реального мира.
[258] Пример 1910 иллюстрирует AV 1912. AV 1912 (а конкретнее, модуль модели мира для AV 1912) обнаруживает встречный динамический объект 1914. AV 1912 предсказывает, что встречный динамический объект 1914 может следовать либо по пути 1918, либо по пути 1920, так что встречный динамический объект 1914 может избегать припаркованного транспортного средства 1916. Таким образом, AV 1912 может ассоциировать первую гипотезу (например, «остановка», соответствующую пути 1918) и вторую гипотезу (например, «объехать слева», соответствующую пути 1920) с встречным динамическим объектом 1914. Первая гипотеза указывает, что встречный динамический объект 1914 должен остановиться сзади припаркованного транспортного средства 1916. Вторая гипотеза указывает, что встречный динамический объект 1914 препятствует траектории AV 1912. Таким образом, если планировщик траектории, как описано выше, принимает путь 1920 как предсказанный путь встречного динамического объекта 1914, то планировщик траектории классифицирует встречный динамический объект 1914 как встречное продольное ограничение.
[259] AV 1912 может ассоциировать вероятность с каждым из путей 1918, 1920. В примере, вероятность 0,2 может быть назначена пути 1918, а вероятность 0,8 может быть назначена пути 1920. Таким образом, существует 20%-ный шанс, что встречный динамический объект 1914 продолжит движение прямо вперед и остановится и/или замедлится, прежде чем достигнет припаркованного транспортного средства 1916; и 80%-ный шанс, что встречный динамический объект 1914 обойдет припаркованное транспортное средство 1916.
[260] Пример 1930 иллюстрирует AV 1932. AV 1932 (а конкретнее, модуль модели мира для AV 1932) обнаруживает смежный объект 1933. Смежный объект 1933 можно классифицировать как большой грузовик. Используя данные карты (как дополнительно описано ниже), AV 1932 определяет, что пересечение дорог существует в местоположении 1934. Таким образом, AV 1932 может ассоциировать первую гипотезу (например, «идти прямо», соответствующую пути 1938) и вторую гипотезу (например, «повернуть направо», соответствующую пути 1936) со смежным объектом 1933. Как дополнительно описано ниже, траекторию пути 1936 можно предсказывать с использованием модели процесса (например, модели движения) большого грузовика, поворачивающего направо.
[261] AV 1932 может ассоциировать вероятность с каждой из первой и второй гипотез. В одном примере вероятность 0,6 может быть назначена первой гипотезе, а вероятность 0,4 может быть назначена второй гипотезе. Таким образом, существует 60%-ный шанс, что грузовик продолжит движение вперед на упомянутом пересечении, и 40%-ный шанс, что грузовик повернет направо на упомянутом пересечении. Как дополнительно поясняется ниже, вероятность каждой гипотезы может быть определена на основе информации о состоянии. В простом примере, если кажется, что смежный объект 1933 не замедляется с течением времени, то вероятность второй гипотезы (то есть «повернуть направо») снижается.
[262] Пример 1940 иллюстрирует AV 1942. AV 1942 обнаруживает велосипед 1946. То есть AV 1942 обнаруживает объект, который классифицируется как «велосипед». AV 1942 также обнаруживает припаркованное транспортное средство 1944. Таким образом, AV 1932 может ассоциировать первую гипотезу (например, «объехать», соответствующую пути 1948) с велосипедом 1946. Так, велосипед 1946 может быть классифицирован планировщиком траектории, как описано выше, либо как боковое ограничение, либо как продольное ограничение. Так как с велосипедом 1946 ассоциирована только одна гипотеза, вероятность единицы (например, 100%) может быть назначена к этой одной гипотезе.
[263] Пример 1950 иллюстрирует AV 1952. AV 1952 обнаруживает транспортное средство 1954. То есть AV 1952 обнаруживает объект, который классифицируется как «транспортное средство». AV 1952 может определить (например, на основе данных карты), что дорога включает в себя две полосы движения (т. е. полосу 1953A движения и полосу 1953B движения). Таким образом, AV 1932 может ассоциировать первую гипотезу (например, «идти прямо», соответствующую пути 1958, так что транспортное средство 1954 остается на полосе 1953B движения) и вторую гипотезу (например, «переход на левую полосу движения», соответствующую пути 1956, так что транспортное средство 1954 движется по полосе 1953А движения).
[264] AV 1952 может ассоциировать вероятность с каждой из первой и второй гипотез. В примере вероятность 0,3 может быть назначена первой гипотезе, а вероятность 0,7 может быть назначена второй гипотезе. Таким образом, существует 30%-ный шанс, что транспортное средство 1954 останется на полосе 1953B движения, и 70%-ный шанс, что транспортное средство будет двигаться на полосу 1953A движения. Как дополнительно поясняется ниже, вероятность каждой гипотезы может быть определена на основе информации о состоянии.
[265] Пример 1960 иллюстрирует AV 1962. AV 1962 обнаруживает транспортное средство 1964. То есть AV 1962 обнаруживает объект, который классифицируется как «транспортное средство». AV 1962 может ассоциировать (например, используя данные карты) с транспортным средством 1964 первую гипотезу (например, «повернуть направо», соответствующую транспортному средству 1964, поворачивающему направо на полосу 1963A движения, чтобы следовать по пути 1966), и вторую гипотезу (например, «повернуть налево», что соответствует повороту транспортного средства 1964 налево на полосу 1963B движения, чтобы следовать по пути 1968). В примере первой гипотезе может быть назначена вероятность 0,2, а второй гипотезе может быть назначена вероятность 0,8. Таким образом, существует 20%-ый шанс, что транспортное средство 1964 повернет направо, и 80%-ый шанс поворота транспортного средства 1964 налево.
[266] ФИГ. 20 включает в себя блок-схему процесса 2000 моделирования мира в соответствии с настоящим раскрытием. Процесс 2000 включает в себя этапы 2002-2012, которые описаны ниже. Процесс 2000 может быть реализован с помощью модуля модели мира, такого как модуль 402 модели мира по фиг. 4. Процесс 2000 может храниться в памяти (такой как память 122 на фиг.1) как инструкции, которые могут выполняться процессором (например, процессором 120 на фиг.1) AV (например, транспортного средства 100 на Фиг 1).
[267] Процесс 2000 поддерживает одну или несколько гипотез для объектов реального мира, таких как динамические объекты, описанные выше. Процесс 2000 может поддерживать (например, ассоциироваться с) по меньшей мере некоторыми из гипотез по меньшей мере некоторых из объектов реального мира в соответствующем состоянии. Учитывая предшествующие измерения (например, принятые наблюдения датчиков), для каждой гипотезы процесс 2000 оценивает состояние ассоциированного объекта реального мира и предсказывает будущие состояния объекта. Процесс 2000 поддерживает (например, вычисляет, определяет или иным образом поддерживает) вероятность для каждой из гипотез и обновляет вероятность по мере приема новых наблюдений датчиков. Процесс 2000 может поддерживать одну или несколько гипотез, обнаруженных объектов и ассоциированных состояний в хранилище данных, таком как хранилище 2014 данных. Хранилище 2014 данных может храниться в памяти, такой как память 122 на фиг. 1. Хранилище 2014 данных может быть, например, базой данных, такой как реляционная база данных, хранилище файлов или любое подходящее хранилище данных. Процесс 2000 может выполняться, когда доступны новые измерения датчика, по расписанию (например, каждые несколько миллисекунд), их комбинации или при других условиях.
[268] По меньшей мере, некоторые из этапов процесса 2000 могут быть реализованы с использованием, в качестве, или в качестве этапа алгоритма на основе фильтрации частиц (материальных точек). Фильтрация частиц - это метод отслеживания (например, предсказания) состояния объекта на основе наблюдений за состоянием объекта. В качестве примера можно использовать методологию фильтра частиц Рао-Блэквелла (RBPF).
[269] Процесс 2000 может использовать частицы для представления гипотез. RBPF использует веса, назначаемые частицам. Таким образом, вероятность гипотезы может использоваться как вес частицы, которая представляет гипотезу. Таким образом, поскольку множественные гипотезы могут быть ассоциированы с объектом реального мира, то объект реального мира может состоять из набора взвешенных частиц (каждая соответствует гипотезе объекта реального мира).
[270] Процесс 2000 может принимать входные данные 2001. Входные данные 2001 могут включать в себя данные датчиков (то есть наблюдения датчиков), такие как измерения от одного или более датчиков 126. Данные датчиков можно использовать для обнаружения объектов реального мира. То есть, например, данные датчика могут использоваться для определения, что объект реального мира существует в поле зрения AV.
[271] В примере процесс 2000 использует данные датчика для определения положения и скорости обнаруженного объекта. Процесс 2000 может использовать данные датчика для определения (например, назначения) классификации обнаруженному объекту. Процесс 2000 может использовать данные датчика для определения (например, вычисления, оценки) геометрии обнаруженного объекта.
[272] В примере данные от одной или более камер могут использоваться для определения класса обнаруженного объекта. Неограничивающие примеры классов включают в себя «автомобиль», «спортивный автомобиль», «седан», «большой грузовик», «пешеход» и «велосипед». В другом примере классификация может быть назначена на основе движения, во времени, данных лидара (например, облака точек лидара) во времени. В одном примере нейронная сеть (такая как сверточная нейтральная сеть) может использоваться для распознавания объекта (например, классификации) обнаруженного объекта. Могут быть доступны другие способы для определения классификации данных датчиков, ассоциированных с объектом.
[273] Следует отметить, что данные разных датчиков могут обеспечивать разные классификации объектов. Например, первая классификация «велосипед» может быть определена на основе данных лидара, тогда как вторая классификация «бегущего трусцой» может быть определена на основе данных камеры. Соответственно, классификация объекта может быть определена вероятностно (например, какая из первой и второй классификации более вероятна). Таким образом, данные разных датчиков объединяются вместе для определения классификации. Поскольку классификация является вероятностной, классификация объекта может меняться со временем. В некоторых реализациях процесс 2000 может поддерживать гипотезу, по меньшей мере, для некоторых возможных классификаций.
[274] В реализации процесс 2000 принимает в качестве входных данных положение и скорость обнаруженного объекта. В одной реализации процесс 2000 принимает в качестве дополнительных входных данных одну или более из геометрии и классификации обнаруженного объекта. Таким образом, классификация может быть принята как входные данные, а не определяться процессом 2000.
[275] Входные данные 2001 могут также включать в себя информацию карты. Информацией карты могут быть данные карты HD (например, описанные в отношении данных 510 карты HD на фиг.5), данные предполагаемого пути (например, описанные в отношении данных 520 предполагаемого пути на фиг.5), другая информация карты, или их комбинация.
[276] Информация карты может включать в себя структуры (также называемых здесь дорожными структурами) полос движения карты. Структура полос движения карты данной полосы движения может включать в себя информацию о последующих полосах движения, информацию о предшествующих полосах движения и информацию о смежных полосах движения. Фиг. 19 теперь используется для иллюстративных примеров. Полоса 1953A движения и полоса 1953B движения являются смежными полосами движения. Полоса 1963A движения и полоса 1963B движения являются возможными последующими полосами движения для полосы 1970 движения. Таким образом, структура полос движения карты включает в себя информацию о том, как соединяются полосы движения дороги. Структура полос движения карты может использоваться для определения возможных комбинаций полос движения, которые может занять обнаруженный объект (например, следовать по). То есть структуру полос движения карты можно использовать для определения возможных путей обнаруженного объекта.
[277] Входные данные 2001 могут также включать в себя информацию об окружающей среде. Информация об окружающей среде может включать в себя информацию, касающуюся непроходимых областей транспортной сети транспортного средства, по которой перемещается AV. Например, информация об окружающей среде может включать в себя местоположения парковок, например, как описано в отношении данных 518 о парковках на фиг. 5. Информация об окружающей среде может использоваться для добавления (например, создания) одной или более гипотез для обнаруженного объекта. Например, если парковка находится в пределах заранее определенного расстояния от обнаруженного объекта, то для обнаруженного объекта может быть добавлена гипотеза «въезда на парковку».
[278] Как упомянуто выше, процесс 2000 поддерживает соответствующую информацию о состоянии для гипотез. То есть, например, для каждого наблюдаемого (например, обнаруженного) объекта (например, транспортного средства, велосипеда) процесс 2000 поддерживает одну или несколько гипотез для состояния объекта. Для каждой гипотезы процесс 2000 может поддерживать состояние объекта (т.е. текущее состояние, основанное на прошлых измерениях) и предсказание будущих состояний объекта.
[279] Как упоминалось выше, состояние объекта может включать в себя информацию дискретного состояния объекта и информацию о непрерывном состоянии объекта. Информация дискретного состояния объекта может включать в себя классификацию (например, «автомобиль», «велосипед», «пешеход» и т.д.) и намерение (например, «двигаться направо», «повернуть налево» и т.д.). Информация дискретного состояния объекта может включать в себя больше, меньше или дополнительную информацию. Информация о непрерывном состоянии объекта обеспечивает оценки непрерывных состояний с учетом предыдущих измерений. Информация о непрерывном состоянии объекта может включать в себя оценки, относящиеся к большему, меньшему количеству или другим непрерывным состояниям, как динамическое (например, скорость, ускорение), кинематическое (например, положение, позиция, ориентация), геометрическое (например, длина, ширина, и/или высота ограничивающего прямоугольника объекта) или состояние внешнего вида. Внешний вид может включать в себя цвет объекта. В одном примере, если текущий цвет определен как черный, а принятое позднее наблюдение датчика указывает красный цвет, такая информация может использоваться для определения, ассоциировано ли наблюдение датчика с упомянутым объектом. Цвет можно отслеживать по метке, например, «красный». Цвет можно отслеживать как набор значений цвета, таких как значения красного, зеленого и синего (RGB). В примере текущее состояние внешнего вида может указывать значение цвета (255, 0, 0), которое обновляется до (254.37, 0, 0) на основе принятого наблюдения датчика. Так, внешний вид - это непрерывная переменная.
[280] Предсказание будущих состояний объекта может быть предоставлено для конкретного времени окончания. Например, процесс 2000 может для каждой гипотезы предсказывать соответствующую траекторию для объекта, ассоциированного с гипотезой, и предсказывать состояния объекта в дискретные моменты времени вдоль траектории до конкретного времени окончания. Предсказанное состояние включает в себя предсказанные местоположения, предсказанные скорости, предсказанные курсы и т. д. Однако для простоты объяснения описаны предсказанные местоположения. Например, конкретное время окончания может составлять 6 секунд, и процесс 2000 может предсказывать местоположения объекта с шагом 0,5 секунды до 6 секунд. Таким образом, предсказывается двенадцать местоположений объекта. В примере местоположение может быть определено координатами (x, y) объекта. Местоположение может быть относительно текущего местоположения AV.
[281] Как упомянуто выше, процесс 2000 может назначать (например, вычислять, определять или иным образом назначать) вероятность каждой гипотезе.
[282] Чтобы проиллюстрировать вышесказанное, теперь приводится пример гипотез, поддерживаемых процессом 2000 для транспортного средства (то есть обнаруженного объекта, который классифицируется как «автомобиль»). Гипотезы включают в себя Гипотезу 1 и Гипотезу 2.
[283] Гипотеза 1 включает в себя информацию дискретного состояния объекта: Классификация = «Автомобиль» и Намерение = «двигаться прямо на следующем перекрестке». Информация о непрерывном состоянии объекта включает в себя Позицию = (10, 25) (т. е. 10 метров вперед и 25 метров направо от AV) и Скорость=65 миль в час. Гипотеза 1 также может включать в себя предсказания местоположений автомобиля на следующие N секунд (то есть заданное время окончания). Таким образом, Гипотеза 1 включает в себя состояния объекта от t=T (т. е. текущее время) до t=T+N. Дополнительно, существует 60%-ная вероятность того, что автомобиль будет следовать намерению (т. е. «двигаться прямо на следующем перекрестке») Гипотезы 1.
[284] Гипотеза 2 включает в себя информацию о дискретном состоянии объекта: Классификация = «Автомобиль» и Намерение = «на следующем перекрестке повернуть направо». Информация о непрерывном состоянии объекта включает в себя Позицию = (10, 25) и Скорость=45 миль в час. Гипотеза 2 также может включать в себя предсказания местоположений автомобиля на следующие N секунд (то есть заданное время окончания). Таким образом, Гипотеза 2 включает в себя состояния объекта от t=T (т. е. текущее время) до t=T+N. Дополнительно, существует 40%-ная вероятность того, что автомобиль будет следовать намерению (т. е. «на следующем перекрестке повернуть направо») Гипотезы 2. Следует отметить, что при первом создании объекта любые гипотезы, созданные для этого объекта, могут иметь одинаковую начальную позицию и скорость. Однако по мере того, как объект отслеживается (например, обновляются состояния гипотез, ассоциированных с объектом), позиции и/или скорости, ассоциированные с разными гипотезами, могут различаться.
[285] На этапе 2002 процесс 2000 создает и поддерживает гипотезы, по меньшей мере, для некоторых из обнаруженных объектов реального мира. Гипотезы можно поддерживать в хранилище 2014 данных. По мере изменения местоположения объекта реального мира (например, как дополнительно описано ниже в отношении принятых наблюдений датчиков) одна или несколько гипотез, ассоциированных с объектом реального мира, могут измениться. Например, некоторые из гипотез могут стать неверными (например, невозможными или иметь очень низкую вероятность). Например, если объект реального мира поворачивает налево (или почти наверняка повернет налево), гипотеза, ассоциированная с намерением «повернуть направо на следующем перекрестке», становится неверной. Возможно, потребуется создать некоторые дополнительные гипотезы на основе объекта реального мира, поворачивающего налево. Как упомянуто выше, информация карты (например, данные карты HD, предполагаемые данные карты и т.д.), данные информации об окружающей среде и/или другая информация карты может использоваться для создания и поддержки гипотез.
[286] ФИГ. 21 - это пример 2100 создания и поддержки гипотез в соответствии с настоящим раскрытием. Пример 2100 изображает транспортное средство 2102 (то есть объект реального мира, который обнаруживается AV, выполняющим процесс 2000), двигающееся по части транспортной сети транспортных средств, а именно проезжей части 2104.
[287] Вид 2110 иллюстрирует позицию транспортного средства 2102 в момент времени t=0. В t=0 транспортное средство 2102 находится перед развилкой 2112 проезжей части 2104. Таким образом, используя структуру полос движения карты, полученную из информации карты, процесс 2000 может определить, что, как только транспортное средство 2102 прибывает к развилке 2112, транспортное средство 2102 может «уйти налево» (что соответствует пути, обозначенному «1»), «идти прямо» (соответствует пути, обозначенному «2») или «идти направо» (соответствует пути, обозначенному «3»). Таким образом, процесс 2000 может создать (например, в хранилище 2014 данных) три гипотезы для транспортного средства 2102; а именно Гипотезу 1, Гипотезу 2 и Гипотезу 3, соответствующие, соответственно, путям, обозначенным 1, 2 и 3. Как описано выше, информация о состоянии определяется (например, вычисляется, устанавливается или определяется иным образом) для каждой из гипотез.
[288] Вид 2120 иллюстрирует позицию транспортного средства 2102 в момент времени t=1. В t=1, поскольку транспортное средство 2102 больше не может «уйти влево», Гипотеза 1 удаляется (например, из хранилища 2014 данных). Если AV следует намерению «идти прямо» (то есть Гипотезе 2), то, используя информацию карты, процесс 2000 может определить, что транспортное средство 2102 может «идти прямо» (соответствует пути, обозначенному «4») или «идти направо». (соответствует пути, обозначенному «5»). Так, процесс 2000 заменяет Гипотезу 2 на Гипотезу 4 и Гипотезу 5, соответствующие, соответственно, путям, обозначенным «4» и «5» после того, как транспортное средство 2102 прибывает к развилке 2122.
[289] Если AV следует намерению «идти направо» (то есть Гипотезе 3), то, используя информацию карты, процесс 2000 может определить, что транспортное средство 2102 может после достижения развилки 2124 «идти налево» (соответствует пути, обозначенному «6»), «идти прямо» (соответствует пути, обозначенному «7») или «идти направо» (соответствует пути, обозначенному «8»). Таким образом, процесс 2000 заменяет Гипотезу 3 Гипотезой 6, Гипотезой 7 и Гипотезой 8, соответствующими, соответственно, путям, обозначенным «6», «7» и «8».
[290] В примере процесс 2000 может определить, что гипотеза для транспортного средства 2102 больше не осуществима (или осуществима с пренебрежимо малой вероятностью) на основе факторов, включающих в себя положение, скорость и местоположение транспортного средства 2102. Незначительная вероятность может быть вероятностью, которая ниже пороговой вероятности. Для определения выполнимости гипотезы можно использовать больше, меньше или другие факторы. В примере пороговая вероятность может быть порогом, который меньше 10%. В примере, при t=t1, поскольку ориентация транспортного средства 2102 в целом оценивается как северо-восточная и может двигаться со оценочной скоростью 45 миль в час, существует пренебрежимо малая вероятность того, что транспортное средство 2102 все еще может следовать намерению Гипотезы 1.
[291] Вид 2130 иллюстрирует позицию транспортного средства 2102 в момент времени t=2. При t=2, поскольку транспортное средство 2102 больше не может следовать намерениям Гипотез 4 и 5, Гипотезы 4 и 5 устраняются (например, из хранилища 2014 данных). Устранение гипотезы может означать устранение гипотезы из хранилища 2014 данных). Устранение гипотезы может означать установку гипотезы в неактивное состояние, так что гипотеза больше не используется этапами процесса 2000. Гипотезы 6, 7 и 8 поддерживаются. Поддержание гипотезы может включать в себя обновление вероятности гипотезы. В простом примере, если бы гипотезы 4, 5, 6, 7 и 8 были одинаково вероятными, то каждая из гипотез 4, 5, 6, 7 и 8 имела бы вероятность 20%. Если предположить, что гипотезы 6, 7 и 8 останутся равновероятными после того, как гипотезы 4 и 5 будут устранены, то каждая из гипотез 6, 7 и 8 будет иметь связанную вероятность 33%.
[292] Снова обращаясь к фиг. 20, во время этапа 2004 процесс 2000 предсказывает траектории объектов реального мира. То есть процесс 2000 предсказывает для каждой гипотезы объектов реального мира соответствующую траекторию. На этапе 2004 процесс 2000 может определять (например, считывать или извлекать из хранилища 2014 данных) гипотезы для объекта реального мира, генерировать (или использовать) опорную линию вождения для каждой гипотезы и генерировать предсказанную траекторию для каждой опорной линии вождения. Один или несколько экземпляров планировщика траектории, такого как планировщик 500 траектории по фиг. 5, можно использовать для генерирования опорной линии вождения. Этап 2004 описывается дополнительно со ссылкой на фиг. 22.
[293] Как упоминалось выше, гипотеза, ассоциированная с объектом реального мира, включает в себя информацию о намерении и состоянии, включая классификацию. В одном примере модель движения, основанная на классификации объекта, может использоваться для предсказания траектории для намерения.
[294] ФИГ. 22 - это пример 2200 предсказания траектории в соответствии с настоящим раскрытием. Пример 2200 иллюстрирует этап 2004. Пример 2200 иллюстрирует транспортное средство 2202 (то есть объект реального мира). Процесс 2000 поддерживает (например, в хранилище 2014 данных) две гипотезы для транспортного средства 2202; а именно Гипотезу 1 (т.е. гипотезу 2204, соответствующую намерению «идти прямо») и Гипотезу 2 (то есть гипотезу 2206, соответствующую намерению «повернуть направо»).
[295] По меньшей мере, для некоторых гипотез процесс 2000 (на этапе 22004) может сначала определить опорную линию вождения. Например, опорная линия вождения может не быть определена для гипотезы в случае, когда траектория может быть предсказана без опорной линии вождения. Например, опорная линия вождения может не быть определена для опорной линии вождения в случае, когда генератор опорной линии вождения (например, планировщик траектории или какой-либо другой генератор опорной линии вождения) недоступен. Опорной линией вождения для каждой гипотезы может быть, например, центр полосы движения, соответствующей намерению гипотезы. Так, опорная линия 2208 вождения предсказывается для Гипотезы 1 транспортного средства 2202, а опорная линия 2210 вождения предсказывается для Гипотезы 2 транспортного средства 2202.
[296] Для каждой из опорных линий вождения процесс 2000 определяет (например, вычисляет, предсказывает) траекторию (например, плавную траекторию, такую как описанная в отношении планировщика 500 траектории по фиг. 5). Состояние, ассоциированное с гипотезой, может использоваться для определения траектории для этой гипотезы. Таким образом, траектория 2212 предсказывается таким образом, что транспортное средство 2202, как ожидается, осуществит навигацию от его текущего местоположения на (например, сольется с) опорную линию 2208 вождения таким образом, что транспортное средство 2202 будет следовать по опорной линии 2208 вождения; и траектория 2214 предсказывается таким образом, что транспортное средство 2202, как ожидается, осуществит навигацию от его текущего местоположения на опорною линию 2210 вождения таким образом, что транспортное средство 2202 будет следовать по опорной линии 2210 вождения.
[297] В другом примере этап 2004 может использовать опорные линии вождения, сгенерированные этапом 2016. В таком случае этап 2004 использует опорные линии вождения, сгенерированные этапом 2016, для определения траекторий. Этап 2016 может быть асинхронным процессом, который выполняется отдельно от процесса 2000.
[298] Снова обращаясь к фиг. 20, во время этапа 2004 процесс 2000 ассоциирует принятые наблюдения датчиков с объектами реального мира. Процесс 2000 принимает новые наблюдения датчиков. Наблюдения датчиков могут, например, соответствовать данным, объединенным из наблюдений множественных датчиков. Наблюдение датчика может указывать позицию наблюдаемого объекта. Процесс 2000 определяет, какому поддерживаемому (например, в хранилище данных 2014) объекту реального мира, если таковой имеется, соответствует наблюдение датчика. Если определено, что наблюдение датчика не соответствует ни одному из поддерживаемых объектов реального мира, то процесс 2000 может создать (например, в хранилище 2014 данных) новый объект реального мира, соответствующий наблюдению датчика, как дополнительно описано ниже относительно этапа 2012.
[299] Процесс 2000 может ассоциировать принятые наблюдения датчиков с объектами реального мира посредством этапов, включающих в себя определение областей пропускания вокруг каждого наблюдения, вычисление матрицы вероятностей измерения и определение состояния объекта для ассоциаций измерения (или, что эквивалентно, ассоциации гипотезы с измерением). Этап 2004 описывается дополнительно со ссылкой на фиг. 23.
[300] ФИГ. 23 - пример 2300 ассоциирования наблюдений датчиков с объектами реального мира в соответствии с настоящим раскрытием. Вид 2310 показывает, что в момент времени t=T процесс 2000 принимает наблюдения 2320, 2322 и 2324 датчиков. Наблюдение - это новое измерение физического мира. Процесс 2000 на этапе 2004 пытается для каждого из наблюдений ответить на вопрос: Какому объекту реального мира соответствует наблюдение (т. е. ассоциировано)? Как описано выше, процесс 2000 предсказывает будущие состояния (включая местоположения) для каждой гипотезы. Когда процесс 2000 принимает наблюдения датчика, процесс 2000 обновляет предсказания на основе принятых наблюдений из физического мира. Предсказания могут быть обновлены путем вычисления (например, расчета) обновленных состояний из предсказанных состояний и наблюдений датчиков.
[301] Таблица I ниже иллюстрирует гипотезы, соответствующие виду 2310 и поддерживаемые процессом 2000 в момент времени t=T (то есть время, когда процесс 2000 принимает данные датчика). В момент времени t=T процесс 2000 поддержал четыре гипотезы, а именно Гипотезы 1, 2, 3 и 4. Для облегчения ссылок гипотезы таблицы I пронумерованы последовательно. Однако, может быть более точным, например, интерпретировать Гипотезу 2 как «первую гипотезу, ассоциированную с Объектом 2», а Гипотезу 3 - как «вторую гипотезу, ассоциированную с Объектом 2».
[302] Гипотеза 1 соответствует намерению «Объекта 1» (например, автомобиля) «идти (ехать) прямо» с прогнозом, что Объект 1 находится в местоположении 2312 во время t=T. Гипотезы 2 и 3 являются двумя гипотезами, поддерживаемыми для такого же объекта, «Объекта 2» (например, мотоцикла). Гипотеза 2 соответствует намерению «Объекта 2» «идти прямо» с предсказанием, что Объект 2 находится в местоположении 2314 во время t=T. Гипотеза 3 соответствует намерению «Объекта 2» «повернуть направо» с предсказанием, что Объект 2 находится в местоположении 2318 во время t=T. Гипотеза 4 соответствует намерению «Объекта 3» (например, грузовика) «идти прямо» с прогнозом, что Объект 3 находится в местоположении 2318 во время t=T.
[303] Вид 2330 примера 2300 иллюстрирует определение областей пропускания. Чтобы уменьшить беспорядок на фиг. 23, номера совместно расположенных графических объектов (то есть местоположений и наблюдений датчиков) видов 2310 и 2330 опущены на виде 2330.
[304] Например, области пропускания - это области пропускания вокруг каждого принятого наблюдения. Область пропускания вокруг наблюдения определяет область поиска объектов реального мира вблизи (т. е. рядом) от наблюдения датчика. Более конкретно, область пропускания вокруг наблюдения определяет область поиска, которая включает в себя предсказанные местоположения объектов реального мира. То есть, область пропускания вокруг наблюдения определяет область, которая может включать в себя объекты реального мира (например, объекты, поддерживаемые в хранилище 2014 данных), на основе их предсказанных местоположений, и которая может быть ассоциирована с этим наблюдением. Области пропускания используются в качестве первого прохода для фильтрации (т. е. исключения) объектов (или, более конкретно, гипотез), которые вряд ли будут ассоциированы с наблюдением датчика, поскольку они слишком дистанцированы от наблюдения датчика.
[305] Для объекта, который должен быть ассоциирован с наблюдением датчика, ожидается, что объект (т. е. предсказанное местоположение объекта) будет ближним к наблюдению датчика. В примере, область пропускания вокруг наблюдения может быть окружностью. Таким образом, этот вид иллюстрирует область 2332 пропускания, которая центрирована в наблюдении 2320 датчика, область 2334 пропускания, которая центрирована в наблюдении 2324 датчика, и область 2336 пропускания, которая центрирована в наблюдении 2322 датчика. В примере, радиус окружности пропускания может составлять 10 метров.
[306] Вид 2330 иллюстрирует, что Объект 1 и Объект 3, вероятно, будут ассоциированы с наблюдением 2320 датчика, поскольку предсказанные местоположения Объекта 1 и Объекта 3 во время t=T охватываются областью 2332 пропускания; Объект 3 и Гипотезы 2 и 3 Объекта 2, вероятно, ассоциированы с наблюдением 2324 датчика, поскольку предсказанные местоположения Объекта 2 согласно Гипотезам 2 и 3 охватываются областью 2334 пропускания; и Объект 2 (т.е. Гипотезы 2 и 3) также, вероятно, ассоциирован с наблюдением 2322 датчика, поскольку предсказанные местоположения Объекта 2 (согласно Гипотезам 2 и 3) охватываются областью 2336 пропускания.
[307] В другом примере область пропускания может быть нарисована (не показана) вокруг предсказанных местоположений объектов реального мира, а не вокруг наблюдений. Размер (например, радиус) области пропускания вокруг предсказанного местоположения может зависеть от состояния объекта реального мира. Например, скорость и местоположение (например, информация непрерывного состояния) состояния объекта согласно гипотезе могут использоваться для определения радиуса. Например, радиус может быть установлен на основе максимально возможного расстояния перемещения от времени t=T-1 (например, времени, когда были приняты предыдущие наблюдения датчика) до t=T (например, текущего времени).
[308] Этап 2006 теперь может вычислить вероятности ассоциаций между наблюдениями датчика и объектами реального мира. Этап 2006 может определить значение вероятности для возможной ассоциации. Динамика объектов реального мира может использоваться при вычислении вероятностей. Например, можно использовать больше, меньше или другую динамику (например, информацию о состоянии объекта), чем скорость, местоположение, положение, направление перемещения и геометрия. Например, если объект классифицируется как «автомобиль» в соответствии с гипотезой, и наблюдение датчика указывает, что ассоциированный объект является большим объектом (например, указывающим на грузовик), то наблюдение вряд ли будет ассоциировано с этим объектом. Например, если состояние объекта для данной гипотезы включает в себя то, что объект «идти(ет) прямо» со скоростью 65 миль в час, наблюдение датчика, находящееся на 20 метров сзади предсказываемого местоположения объекта, вряд ли будет ассоциировано с данной гипотезой.
[309] В примере этап 2006 вычисляет матрицу вероятностей измерений. Таблица II иллюстрирует пример матрицы вероятностей измерений. Значения в таблице II представляют собой взвешенные суммы вероятностей между гипотезами объекта и наблюдением датчика. Например, предполагая, что вес Гипотезы 2 (Объекта 2) составляет 0,75, а вес Гипотезы 3 (Объекта 2) равен 0,25, и предполагая, что вероятность измерения (вычисленная, как описано ниже) между Гипотезой 2, и наблюдением 2322 датчика равно 0,1, и вероятность измерения между Гипотезой 3 и наблюдением 2322 датчика равна 0,3, тогда вероятность измерения между Объектом 2 и наблюдением 2322 датчика может быть вычислена как (0,1 × 0,25) + (0,3 × 0,75) = 0,25. То есть вероятность измерения между Объектом 2 и наблюдением 2322 датчика равна ((вероятность измерения между Гипотезой 2 и наблюдением датчика 2322) × (вес Гипотезы 2) + (вероятность измерения между Гипотезой 3 и наблюдением 2322 датчика) × (вес Гипотезы 3)).
[310] Как описано выше, с помощью областей пропускания были определены пять возможных (вероятных) ассоциаций. Таким образом, таблица II включает в себя соответствующую вероятность для каждой из вероятных ассоциаций. Однако, как также указано выше, на основе предсказанной или оцененной динамики объектов реального мира некоторые из вероятностей могут не вычисляться или могут быть установлены на ноль.
[311] Таблица II показывает, что существует вероятность 0,6 того, что Объект 1 ассоциирован с наблюдением 2320 датчика; вероятность того, что Объект 2 ассоциирован с наблюдением 2322 датчика, составляет 0,25; вероятность того, что Объект 2 ассоциирован с наблюдением 2324 датчика, составляет 0,7; вероятность того, что Объект 3 ассоциирован с наблюдением 2320 датчика, составляет 0,3; и вероятность того, что Объект 3 ассоциирован с наблюдением 2324 датчика, составляет 0,15.
[312] Как дополнительно объясняется ниже, наблюдения датчика и предсказанные состояния (например, предсказанные местоположения) могут быть неточными из-за шума. Как упоминалось выше, предсказанное состояние включает в себя предсказанные местоположения, предсказанные скорости, предсказанные курсы и т. д. Однако для простоты объяснения описаны предсказанные местоположения. Таким образом, каждое из местоположения наблюдения (xo, yo) датчика и предсказанного местоположения (xp, yp) может быть нарисовано как распределение Гаусса. Наблюдение датчика может быть смоделировано как распределение Гаусса (т. е. наблюдаемое распределение), имеющее неопределенность и среднее значение в (xo, yo). Неопределенность, ассоциированная с измерением датчика, может быть задана (например, определена) моделью измерения. Модель измерения датчика моделирует характеристики (например, шум) измерений, принятых от датчика. Наблюдение датчика может быть смоделировано как распределение Гаусса (т. е. предсказанное распределение), имеющее неопределенность и среднее значение в (xp, yp). Два распределения Гаусса можно объединить, чтобы определить, насколько вероятно, что предсказанное местоположение будет наблюдаемым местоположением.
[313] В одном примере ассоциации могут быть определены на основании наибольшей вероятности. Таким образом, Объект 1 определяется как ассоциированный с наблюдением 2320 датчика (как показано ассоциацией 2338); и Объект 2 определяется как ассоциированный с наблюдением 2324 датчика (как показано ассоциацией 2340 и ассоциацией 2342 относительно Гипотезы 2 и Гипотезы 3, соответственно). Таким образом, Объект 3 не ассоциирован с каким-либо наблюдением датчика, а наблюдение 2322 датчика не ассоциировано ни с одним из объектов реального мира, которые поддерживаются процессом 2000.
[314] Вероятность измерения можно рассчитать с помощью уравнения (1):
[315] В уравнении (1) это среднее значение распределения предсказания, стандартное отклонение распределения предсказания, среднее значение наблюдаемого распределения и стандартное отклонение наблюдаемого распределения.
[316] Снова обращаясь к фиг. 20, на этапе 2008 процесс 2000 обновляет вероятности некоторых гипотез. Процесс 2000 обновляет вероятность тех гипотез (или, эквивалентно, тех объектов), которые были найдены на этапе 2006, как ассоциированные с принятыми наблюдениями датчика. То есть процесс 2000 определяет на основе нового наблюдения датчика, ассоциированного с объектом, будет ли объект более или менее вероятно следовать намерению гипотезы.
[317] Вероятности измерения, как описано в отношении Таблицы II, можно использовать для обновления вероятностей гипотез на этапе 2008. То есть вероятности измерения могут использоваться для обновления весов частиц. Как уже упоминалось, вес частицы соответствует вероятности гипотезы, представленной этой частицей. Вес частицы можно вычислить с помощью уравнения (2):
P(p, t=T+dt) = (вероятность измерения при t=T+dt) * P(p, t=T) (2)
[318] То есть возможность (т. е. вероятность) частицы p (т. е. гипотезы) во время T+dt (т. е. время, когда принято новое наблюдение датчика) задается путем умножения вероятности измерения во время T+dt (т. е. вероятности, что наблюдение датчика ассоциировано с частицей/гипотезой во время T+dt) и последней вычисленной вероятности гипотезы (т. е. вероятности гипотезы в предыдущее время t=T).
[319] Вычисленные возможности гипотез каждого объекта во время t=T+dt могут быть затем нормализованы так, чтобы их сумма составляла 1. Например, предположим, что 2 частицы ассоциированы с объектом реального мира и что 2 частицы вовремя t=T имеют соответствующие возможности 0,5 и 0,5. Дополнительно предположим, что возможности, рассчитанные при t=T+dt, с использованием уравнения (2), равны 0,4 и 0,3 соответственно. После вычисления возможностей во время t=T+dt, возможности нормализуются до (0,4/(0,4+0,3)) и (0,3/(0,4+0,3)), или 0,57 и 0,43, соответственно.
[320] На этапе 2010 процесс 2000 обновляет состояния, ассоциированные с теми гипотезами, которые были найдены на этапе 2006 как ассоциированные с принятыми наблюдениями датчиков.
[321] Принимая во внимание, что RBPF может использоваться в качестве общей основы для этапов процесса 2000 для поддержания частиц, RBPF не задает, как, например, движется частица (например, на этапе 2004) или как состояние частицы обновляется (например, на этапе 2010). Расширенный фильтр Калмана (EKF) может использоваться для предсказания (т. е. на этапе 2004) и обновления (т. е. на этапе 2010).
[322] Как упоминалось выше, модель движения объекта с учетом намерения может использоваться для предсказания будущего состояния объекта. То есть, например, модель движения можно использовать для предсказания того, как частица (то есть гипотеза) будет эволюционировать от времени t до времени t+1. Модель движения моделирует динамику объекта в зависимости от классификации и других параметров состояния (например, скорости, положения). Когда принято новое измерение датчика (т. е. на этапе 2006), указывающее местоположение объекта, можно использовать EKF (т. е. на этапе 2010) для сращивания (например, объединения, согласования, слияния или иного сращивания) сгенерированного предсказываемого состояния использовавшего модель движения с новым измерением для генерирования (например, вычисления, определения или иного генерирования) обновленного состояния.
[323] Уравнение (3) можно использовать для обновления состояния объекта.
[324] В уравнении (3) x’t - это предсказанное состояние во время t, yt - это состояние наблюдения датчика во время t, - это обновленное состояние во время t, - ковариация предсказанного состояния во время t, Jh - это якобиан модели измерения, Rt - ковариация шума измерения модели измерения, а - ковариация обновленного состояния во время t.
[325] То есть, процесс 2000 может инициировать RBPF для отслеживания объекта (например, объекта реального мира). Процесс 2000 отслеживает и предсказывает траектории, по меньшей мере, для некоторых объектов в хранилище 2014 данных. Так, процесс 2000 может запускать набор RBPF для отслеживания и предсказания объектов. RBPF используется для предсказания непрерывного состояния соответствующего объекта, для обновления непрерывного состояния соответствующего объекта и для обновления веса соответствующей частицы.
[326] ФИГ. 24 является примером 2400 обновления состояний гипотез в соответствии с настоящим раскрытием. Пример 2400 иллюстрирует этапы 2008 и 2010. Как упоминалось выше, местоположения объекта согласно гипотезе, ассоциированной с объектом, являются частью состояния гипотезы (или, эквивалентно, объекта). Местоположение 2312 Объекта 1 согласно Гипотезе 1 обновляется до местоположения 2402, местоположение 2314 Объекта 2 согласно Гипотезе 2 обновляется до местоположения 2404; и местоположение 2316 Объекта 2 согласно Гипотезе 3 обновляется до местоположения 2406.
[327] В примере местоположения обновляются, чтобы они совпадали с местоположениями наблюдений. То есть, например, местоположение состояния Гипотезы 1 Объекта 1 обновляется в течение времени t=T, чтобы быть местоположением наблюдений 2320 датчика вместо местоположения 2312; местоположение состояния Гипотезы 2 Объекта 2 обновляется в течение времени t=T, чтобы оно было местоположением наблюдений 2324 датчика вместо местоположения 2314; и местоположение состояния Гипотезы 3 Объекта 3 обновляется в течение времени t=T, чтобы быть местоположением наблюдений 2324 датчика вместо местоположения 2316.
[328] В примере местоположения обновляются с учетом шума (например, неопределенности) в предсказанных местоположениях и шума, ассоциированного с измерениями датчика.
[329] Предсказанные местоположения (например, местоположения 2312-2318) вычисляются (например, генерируются, предсказываются, оцениваются или иным образом вычисляются) на основе предсказанных путей. Предсказанные пути генерируются с использованием моделей движения, ассоциированных с классификациями объектов. Так, некоторый шум (например, неопределенность) может быть ассоциирован с предсказанными путями. Аналогично шум (например, неопределенность) может быть ассоциирован с наблюдениями датчика. Например, наблюдение датчика может указывать на то, что объект находится в некотором местоположении, тогда как на самом деле объект находится в 2 метрах слева.
[330] Так, процесс 2000 может объединить предсказания с зашумленным наблюдением датчика для генерации обновленных местоположений. В одном примере обновленные местоположения могут быть промежуточными точками между наблюдениями датчика и ассоциированным предсказанным местоположением. Таким образом, местоположение 2402 находится на полпути между наблюдениями 2320 датчика и местоположением 2312; местоположение 2404 находится на полпути между наблюдением 2324 датчика и местоположением 2314; и местоположение 2406 находится на полпути между наблюдением 2324 датчика и местоположением 2316.
[331] Используя вероятности измерения (см. выше относительно Таблицы II), положение, скорость, позицию, меньшее, большее количество или другую информацию о состоянии, процесс 2000 может обновлять вероятности гипотез. Например, поскольку Гипотеза 1 является единственной гипотезой, ассоциированной с Объектом 1, вероятность Гипотезы 1 может оставаться неизменной (например, 1,0). Например, поскольку наблюдение 2324 датчика ближе к предсказанному состоянию Гипотезы 3 (то есть местоположению 2316), чем предсказанному состоянию Гипотезы 2 (то есть местоположению 2314), вероятность Гипотезы 3 увеличивается (например, от 0,5 до 0,8), а вероятность Гипотезы 2 уменьшается (например, с 0,5 до 0,2).
[332] Снова обращаясь к фиг. 20, на этапе 2012 процесс 2000 создает новые объекты. Например, как упомянуто выше, никакая гипотеза (или, эквивалентно, объект) не ассоциирована с наблюдениями 2322 датчика. Так, наблюдения 2322 датчика могут соответствовать новому объекту, который ранее не поддерживался процессом 2000. То есть, процесс 2000 может создать новый объект, соответствующий наблюдениям 2322 датчика. Процесс 2000 также может назначить (например, создать) одну или несколько гипотез новому объекту, как описано выше.
[333] В одном примере новое наблюдение датчика должно соответствовать некоторым критериям, прежде чем новый объект будет создан на основе наблюдения датчика. Если наблюдение датчика не соответствует критериям, процесс 2000 может игнорировать наблюдение датчика, и объект не создается. В одном примере критерии могут относиться к размеру (например, ограничивающей рамки, геометрии и т. д.) наблюдения датчика. Например, если определено, что наблюдение датчика соответствует объекту размером 0,25 метра в каждом измерении, объект считается слишком маленьким, и наблюдение датчика игнорируется. В таком случае наблюдение датчика может быть обусловлено шумом при измерении датчика.
[334] Этап 2002 модифицирует (т.е. путем создания и поддерживания) частицы. Этап 2002 может добавлять и/или устранять частицы. Например, во время t=0 этап 2002 может создать три частицы, соответствующие гипотезам «идти налево», «идти прямо» и «идти направо» вида 2110 на фиг. 21.
[335] Как упомянуто выше, состояние объекта (обозначено X) можно разделить на информацию дискретного состояния (обозначенную Xd) и информацию непрерывного состояния (обозначенную Xc). Таким образом, X = {Xc, Xd}. Как упомянуто выше, каждая из информации Xd дискретного состояния и информации Xc непрерывного состоянии может включать в себя одну или несколько величин.
[336] Информация дискретного состояния, Xd, может использоваться для определения (например, выбора, использования или иного определения) модели движения для объекта. Модель движения также может называться моделью перехода состояния или моделью процесса. Модель движения описывает (например, как математическая, алгоритмическая или иная модель), как объект движется, маневрирует, ведет себя и т.п. при некоторых критериях. Например, при намерении «повернуть направо» модель движения объекта, классифицированного как «автомобиль», может указывать, что автомобиль замедляется перед поворотом, а модель движения объекта, классифицированного как «грузовик», может указывать на то, что грузовик замедляется и делает широкий поворот направо. В качестве другого примера, учитывая намерение «идти прямо», модель движения объекта, классифицированного как «автомобиль», может указывать, что автомобиль поддерживает свою текущую скорость (как указано в информации Xc непрерывного состоянии). Модели движения могут быть доступны по классификации объектов. Классификация объекта может включать стиль вождения. Например, классификация может быть «автомобиль с агрессивным вождением» и «автомобиль с неторопливым вождением». Например, стиль вождения можно отделить от классификации. То есть стиль вождения может поддерживаться как переменная состояния, отдельная от классификации. Таким образом, модель движения может быть основана на множественных переменных состояния.
[337] Для каждой комбинации значений дискретных состояний одна частица может быть сгенерирована для оценки с использованием модели движения, ассоциированной с комбинацией значений дискретных состояний, непрерывных состояний. То есть модель движения определяет (и может использоваться для определения), как текущее состояние объекта, для данной гипотезы, изменяется на будущее состояние. Будущее состояние предсказывается с использованием модели движения для дискретных будущих моментов времени (например, каждые 0,5 секунды в течение следующих 6 секунд).
[338] Этап 2004 соответствует ответу на вопрос: Куда идет (движется) частица? Более конкретно, этап 2004 отвечает на вопрос: Основываясь на намерении гипотезы и текущем известном и/или предсказанном состоянии, ассоциированном с гипотезой, где как предсказано должен находится объект реального мира упомянутой гипотезы? Этап 2004 отвечает на этот вопрос, предсказывая траекторию частицы, как описано выше. Для каждой из по меньшей мере некоторых поддерживаемых гипотез этап 2004 предсказывает траекторию.
[339] Частицы (т. е. представление гипотезы) также можно использовать на этапе 2006 при определении вероятности ассоциаций между наблюдениями датчиков и гипотезами.
[340] Частицы также можно использовать на этапе 2008 для обновления вероятностей гипотез. То есть новые наблюдения датчиков используются для обновления вероятностей частиц (т. е. гипотез). На этапе 2010 процесс 2000 оценивает (например, вычисляет) состояние (например, местоположения) частиц во время принятого наблюдения датчика.
[341] Ассоциации между наблюдениями датчиков и объектами реального мира, поддерживающимися в хранилище 2014 данных, априори неизвестны. Ассоциации между наблюдениями датчиков и объектами реального мира выводятся, как описано выше в отношении фиг. 23-24.
[342] ФИГ. 20 также включает в себя блок-схему процесса 2050 использования модели мира в соответствии с настоящим раскрытием. Как показано в системе 400 по фиг. 4, модуль 406 принятия решений и планировщик 408 траектории используют данные и/или решения из модуля 402 модели мира в качестве входных данных. Таким образом, процесс 2050 может выполняться в ответ на запрос, например, от модуля 406 принятия решений, планировщика 408 траектории, других модулей системы 400 или других модулей транспортного средства 100, которые используют модель реального мира.
[343] В ответ на опрос на этапе 2052 процесс 2050 извлекает (например, извлекает, выводит, считывает или иным образом извлекает) объекты реального мира из хранилища 2014 данных. На этапе 2054 процесс 2000 предсказывает (или обновляет) траектории извлеченных объектов до некоторого будущего временного горизонта (например, 6 секунд). На этапе 2056 процесс 2050 предоставляет запрашивающему модулю объекты реального мира и предсказанные траектории.
[344] ФИГ. 25 является блок-схемой процесса 2500 для отслеживания и предсказания объектов мира с помощью автономного транспортного средства в соответствии с настоящим раскрытием. Объект реального мира описан относительно объектов реального мира, описанных выше. Некоторые или все аспекты процесса 2500 могут быть реализованы в транспортном средстве, включая транспортное средство 100, показанное на фиг. 1 и транспортное средство 202, показанное на фиг. 2, или в вычислительном устройстве, включая устройство 232 контроллера, показанное на фиг. 2. В реализации некоторые или все аспекты процесса 2500 могут быть реализованы в системе, объединяющей некоторые или все особенности, описанные в этом раскрытии. Например, процесс 2500 может использоваться модулем 402 модели мира по фиг. 4.
[345] На этапе 2502 процесс 2500 принимает от датчиков AV первые данные наблюдения (т.е. первые наблюдения датчика). Первые данные наблюдения могут быть приняты, как описано в отношении этапа 2006 на фиг. 20. На этапе 2504 процесс 2500 ассоциирует первые данные наблюдения с первым объектом реального мира. Первые данные наблюдения могут быть ассоциированы с первым объектом реального мира, как описано применительно к этапу 2006 на фиг. 20. На этапе 2506 процесс 2500 определяет гипотезы для первого объекта реального мира. Гипотеза соответствует намерению первого объекта реального мира. В примере гипотеза может дополнительно или вместо этого соответствовать классификации первого объекта реального мира. Намерение может соответствовать возможному пути первого объекта реального мира. Гипотезы могут быть определены, например, как описано применительно к этапу 2002 на фиг. 20.
[346] На этапе 2508 процесс 2500 определяет соответствующую вероятность гипотезы каждой из гипотез. Вероятность гипотезы указывает на вероятность того, что первый объект реального мира следует (например, движется в соответствии с) намерению. Вероятность гипотезы может быть определена, как описано, например, в отношении этапа 2008 на фиг. 20. На этапе 2510 процесс 2500 определяет, по меньшей мере, для одной гипотезы из гипотез, соответствующее состояние. Состояние включает в себя предсказанные позиции первого объекта реального мира. Состояние может быть определено, например, как описано применительно к этапу 2010 на фиг. 20.
[347] В примере состояние может включать в себя больше, меньше и другую информацию, чем оцененная текущая позиция, скорость и геометрия и связанные с ними неопределенности (например, вероятности). Термин «текущий» в этом контексте означает «последнее обновление». Например, если первый объект имел последнее обновление (например, когда принято наблюдение датчика) во время t=T0, то наиболее текущее состояние (например, позиция) первого объекта - это состояние, определенное во время t=T0 и предсказанные состояния первого объекта начинаются во время t=T0+dt; если второй объект последний раз обновлялся во время t=T1, то наиболее текущим состоянием второго объекта является состояние, определенное во время t=T1, а предсказанные состояния второго объекта начинаются во время t=T1+dt. Состояние определяется (например, обновляется, предсказывается или определяется иным образом) на основе наблюдения датчика и последовательности предсказанных состояний. Предсказанное состояние может включать в себя предсказанные позиции, предсказанные скорости, предсказанные геометрии и ассоциированные с ними предсказанные неопределенности (например, вероятности).
[348] На этапе 2512 процесс 2500, в ответ на опрос, предоставляет гипотезу из упомянутых гипотез на основе соответствующей вероятности гипотезы каждой из гипотез. Процесс 2500 может предоставить гипотезу, как описано в отношении процесса 2050 на фиг. 20.
[349] В одном примере гипотеза из упомянутых гипотез может быть определена с использованием информации карты, такой как данные карты HD, воспринимаемые данные карты или другие типы данных карты.
[350] В одном примере процесс 2500 может включать в себя прием от датчиков AV вторых данных наблюдения, ассоциирование вторых данных наблюдения с первым объектом реального мира и обновление состояния на основе вторых данных наблюдения. В одном примере обновление состояния может быть выполнено с использованием расширенной фильтрации Калмана.
[351] В одном примере процесс 2500 может включать в себя предсказание, на основе модели движения первого объекта мира, соответствующей траектории по меньшей мере для некоторых из гипотез. В одном примере предсказание соответствующей траектории для гипотезы может дополнительно основываться на большем, меньшем или других факторах, чем классификация, намерение и опорная линия вождения гипотезы. Соответствующая траектория может быть предсказана, как описано выше в отношении этапа 2004 на фиг. 20. В примере, предсказание соответствующей траектории может включать в себя определением опорной линии вождения для первого объекта мира, и предсказанием соответствующей траектории, на основе модели движения, таким образом, что текущий предсказанный путь первого объекта мира совпадает с опорной линией вождения, как описано, например, относительно фиг. 22.
[352] В одном примере процесс 2500 может включать в себя прием от датчиков AV вторых данных наблюдения и ассоциирование вторых данных наблюдения с одним из первого объекта мира и второго объекта мира. Ассоциирование вторых данных наблюдения с одним из первого объекта мира и второго объекта мира может быть таким, как описано в отношении фиг. 23. То есть, ассоциирование вторых данных наблюдения с одним из первого объекта мира и второго объекта мира может включать в себя определение, используя область пропускания около вторых данных наблюдения, объектов мира в области пропускания; и в случае, когда первый объект мира находится в области пропускания, определение вероятности ассоциации того, что вторые данные наблюдения соответствуют первому объекту мира.
[353] В примере процесс 2500 дополнительно включает в себя обновление соответствующей вероятности гипотезы каждой из гипотез на основе вероятности ассоциации (например, как описано в отношении уравнения (2)) и обновление состояния первого объекта мира (например, как описано в отношении EKF).
[354] В одном примере процесс 2500 дополнительно включает в себя прием от датчиков AV вторых данных наблюдения; при условии, что вторые данные наблюдения соответствуют критерию, ассоциирование вторых данных наблюдения со вторым объектом мира; и при условии, что вторые данные наблюдения не соответствуют критерию, игнорирование вторых данных наблюдения.
[355] ФИГ. 26 представляет собой пример 2600 предсказания траектории в соответствии с настоящим раскрытием. Пример 2600 иллюстрирует пример этапа 2004 по фиг. 20. Пример 2600 включает в себя объект 2602 реального мира. Объектом 2602 реального мира может быть транспортное средство 2202 по фиг. 22. Объект 2602 реального мира иллюстрирует позицию для позиции транспортного средства 2202 во время t=T0 (например, время, в которое должна быть определена траектория).
[356] Пример 2600 также включает в себя опорные позиции, такие как опорная позиция 2604, вдоль опорной линии вождения, такой как опорная линия 2208 движения на фиг. 22. Пример 2600 также включает в себя позиции, такие как предсказанная позиция 2606, вдоль предсказанной траектории, например, траектории 2212 на фиг. 22. Предсказанная траектория состоит из последовательности предсказанных состояний объекта и ковариаций в будущих моментах времени (например, временных метках). Предсказанные состояния включают в себя соответствующие предсказанные позиции в будущие моменты времени. Пример 2600 иллюстрирует четыре предсказанных состояния (включая позиции) в моменты времени: предсказанное состояние во время t=T0 + ∆t, предсказанное состояние во время t=T0+2∆t, предсказанное состояние во время t=T0+3Δt, и предсказанное состояние во время t=T0+4Δt (то есть предсказанную позицию 2606). ∆t представляет собой временной шаг (например, половина секунды, одна секунда и т. д.). Предсказанные позиции вдоль предсказанной траектории показаны как имеющие различия размеров и форм. Размеры и формы иллюстрируют ковариацию позиций (например, координат (x, y)) предсказанных состояний. Как упомянуто выше, предсказанные состояния могут включать в себя скорость и геометрию, которые не показаны в примере 2600.
[357] ФИГ. 27 - это блок-схема последовательности операций процесса 2700 для предсказания траектории в соответствии с настоящим раскрытием. Процесс 2700 может быть реализован этапом 2004 по фиг. 20. Используя начальное состояние (т.е. состояние объекта 2602 реального мира во время Т=Т0) и опорную линию вождения (т.е. опорные позиции, такие как опорная позиция 2604) вдоль опорной линии вождения), процесс 2700 определяет (например, вычисляет, рассчитывает или иным образом определяет) предсказанную траекторию, такую как траектория 2212 на фиг. 22, которая сходится к опорной линии вождения.
[358] Процесс 2700 принимает (например, использует) опорную линию вождения в качестве входных данных. Опорная линия вождения состоит из опорных состояний для объекта (т. е. объекта реального мира), которые указывают желаемые состояния объекта в указанные временные метки (т. е. будущие моменты времени). Процесс 2700 может использовать (например, принимать в качестве входных данных, использовать значение по умолчанию или иным образом использовать) некоторую длину времени для предсказания. Как упоминалось выше, предсказанная траектория состоит из предсказанных состояний в конкретные временные метки (т.е. будущие временные точки). Процесс 2700 повторяется до тех пор, пока не будут вычислены все предсказанные состояния, каждое на соответствующей временной метке. На первой итерации процесса 2700 начальное состояние устанавливается равным состоянию во время t=T0.
[359] На этапе 2702 процесс 2700 находит (например, вычисляет, рассчитывает или иным образом находит) опорное состояние из опорной линии вождения с учетом начального состояния.
[360] На этапе 2704, процесс 2700 определяет (например, вычисляет, рассчитывает и т.д.) предсказанное состояние с использованием начального состояния и опорного состояния. Этап 2704 может использовать уравнение (4) для определения предсказанного состояния.
(4)
[361] В уравнении (4) начальное состояние во время t, опорное состояние во время t, размер шага предсказания, - предсказанное состояние во время t + ∆t, - ковариация начального состояния во время t, - якобиан модели движения объекта, траектория которого предсказывается, Qt - ковариация шума модели движения, а - ковариация предсказываемого состояния в момент t + ∆t.
[362] На этапе 2706 процесс 2700 определяет, соблюдена ли длина предсказания. То есть процесс 2700 определяет, было ли вычислено соответствующее предсказанное состояние для всех желаемых будущих моментов времени. Если это так, процесс 2700 завершается на этапе 2708; в противном случае переходит к этапу 2710. На этапе 2710 процесс 2700 устанавливает начальное состояние в предсказанное состояние на этапе 2704. Затем процесс 2700 переходит к этапу 2702 для предсказания следующего состояния.
[363] ФИГ. 28 - блок-схема последовательности этапов процесса 2800 для планирования траектории автономного устройства в соответствии с настоящим раскрытием. Процесс 2800 может быть реализован в или с помощью автономного транспортного средства (AV), такого как транспортное средство 100, показанное на фиг. 1 или транспортное средство 202, показанное на фиг. 2. AV может быть полуавтономным транспортным средством или любым другим транспортным средством, реализующим автономное вождение. AV сконфигурировано для движения по части транспортной сети транспортного средства. Процесс 2800 может быть реализован планировщиком траектории, таким как планировщик 500 траектории по фиг. 5. Процесс 2800 определяет грубую линию вождения от первого местоположения ко второму местоположению, определяет стратегический план скорости для грубой линии вождения, удаляет боковые разрывы в грубой линии вождения, чтобы генерировать регулируемую грубую линию вождения, и генерирует боковые ограничения вокруг регулируемой грубой линии вождения и дискретно-временной план скорости на основании наблюдаемых объектов. После этого AV может эксплуатироваться в соответствии с дискретно-временным планом скорости. В одном примере AV может эксплуатироваться в соответствии с оптимизированной траекторией, такой как описано в отношении уровня 508 оптимизации траектории на фиг. 5.
[364] На этапе 2802 процесс 2800 определяет грубую линию вождения из первого местоположения во второе местоположение. Первое местоположение и второе местоположение могут быть местоположениями, как описано в отношении целей 501 вождения на фиг. 5. Грубая линия вождения может быть грубой линией вождения, которая определяется модулем конкатенации линии вождения, таким как модуль 522 конкатенации линии вождения на фиг. 5. Так, грубая линия вождения может быть определена, как описано в отношении модуля 522 конкатенации линии вождения по фиг. 5. Грубая линия вождения может не включать в себя информацию о скорости. Однако, в некоторых примерах грубая линия вождения может включать в себя информацию о пределах скорости. Грубая линия вождения может иметь разрывы.
[365] В одной реализации определение грубой линии вождения может включать в себя сращивание (например, соединение, сращивание, объединение, слияние, интегрирование или иным способом сращивание) входных данных, например, из уровня 502 данных линии вождения, для определения грубой линии вождения в продольном направлении (например, вдоль пути автономного транспортного средства), как описано в отношении модуля 522 конкатенации линии вождения на фиг. 5. Например, чтобы добраться из местоположения A (например, работа) в местоположение D (например, дом), чтобы определить грубую линию вождения, модуль 522 конкатенации линии вождения может использовать входные данные из данных 518 парковочного места для определения пути от местоположения парковочного места работы до главной дороги, может использовать данные из данных 510 карты HD для определения пути от главной дороги до дома и может использовать данные из записанных данных 514 путей для навигации от главной дороги в гараж дома.
[366] В реализации, определение грубой линии вождения может включать в себя получение данных линии вождения, содержащих первые данные, относящиеся к первому сегменту от первого местоположения до второго местоположения, и вторые данные, относящиеся ко второму сегменту от первого местоположения ко второму местоположению, и конкатенацию первых данных и вторых данных, как описано в отношении модуля 524 стратегического плана скорости на фиг. 5. В примере первые данные могут быть данными карты HD, например, описанными применительно к данным 510 карты HD на фиг. 5. В одном примере вторые данные могут быть записанными данными пути, такими как описанные в отношении данных 514 путей на фиг. 5. В одном примере первые данные или вторые данные могут включать в себя данные карты HD, такие как описанные в отношении данных 510 карты HD на фиг. 5, и данные дистанционного управления, такие как описанные в отношении данных 512 карты дистанционного управления на фиг. 5. В некоторых примерах первые данные и/или вторые данные могут включать в себя любую комбинацию данных 510 карты HD, данных 512 карты дистанционного управления, данных 514 записанных путей, данных 516 предшествующего транспортного средства, данных 518 парковки и данных 520 воспринимаемого пути.
[367] На этапе 2804 процесс 2800 определяет стратегический план скорости для грубой линии вождения. Стратегический план скорости может быть стратегическим планом скорости, определяемым модулем стратегического плана скорости, таким как модуль 524 стратегического плана скорости на фиг. 5. Так, модуль 524 стратегического плана скорости определяет конкретную скорость (скорости) на различных частях грубой линии вождения.
[368] В одном примере определение стратегического плана скорости может включать в себя использование пределов скорости и пределов ускорения, таких как описано со ссылкой на фиг. 7, чтобы определить стратегический план скорости. Пределы скорости могут включать в себя, по меньшей мере, одно из пределов скорости дороги (например, описанных в отношении пределов 702 скорости дороги по фиг.7), пределов скорости по кривизне (например, описанных в отношении пределов 704 скорости по кривизне на фиг.7), и данные бесперебойной автономной мобильности (например, описанные в отношении данных 706 SAM на фиг.7). Как описано выше, данные бесперебойной автономной мобильности могут быть данными, собранными с других транспортных средств. В одном примере данные бесперебойной автономной мобильности могут быть приняты в AV от сетевого сервера. В одном примере пределы ускорения могут включать в себя по меньшей мере один из пределов ускорения транспортного средства (например, описанных относительно пределов 710 ускорения транспортного средства на фиг. 7) и пределов комфорта (например, описанных относительно пределов 712 комфорта на фиг. 7).
[369] На этапе 2806 процесс 2800 устраняет боковые разрывы в грубой линии вождения на основе стратегического плана скорости, чтобы генерировать регулируемую грубую линию вождения. Грубые линии вождения могут включать в себя два или более сегментов (например, называемых грубыми линиями движения). Процесс 2800 синтезирует грубые линии вождения для устранения боковых разрывов в грубой линии вождения. То есть процесс 2800 может синтезировать грубые линии вождения, которые соединяют боковые разрывы в грубой линии вождения, на основе стратегического плана скорости и целевых боковых скоростей. Учитывая грубую линию вождения с боковыми разрывами и стратегический профиль скорости, этап 2806 определяет начальное и конечное местоположения смены полосы движения и синтезирует линию вождения, соединяющую эти два местоположения. Линии вождения могут быть синтезированы модулем синтеза линии вождения, таким как модуль 526 синтеза линии вождения на фиг. 5. Так, устранение боковых разрывов в грубой линии вождения может включать в себя синтез линии вождения для слияния первой полосы движения со второй полосой движения. Так, устранение боковых разрывов может включать в себя определение плана скорости объединения для слияния первой полосы движения со второй полосой движения.
[370] На этапе 2808 процесс 2800 генерирует боковые ограничения для регулируемой грубой линии вождения и дискретно-временной план скорости на основе наблюдаемых объектов. Сгенерированный дискретно-временной план скорости является дискретно-временным планом скорости без столкновений. Таким образом, сгенерированный дискретно-временной план скорости таков, что AV может эксплуатироваться, чтобы избежать столкновения (например, путем остановки, уступки, замедления, ускорения и т.д.) с наблюдаемыми объектами. Процесс 2800 может генерировать боковые ограничения и дискретно-временной план скорости, как описано в отношении уровня 506 избегания объектов на фиг. 5. Так, в примере генерирование боковых ограничений может включать в себя определение границ области, доступной для вождения, на основе статических объектов, как описано в отношении модуля 530 на фиг. 5. В одном из примеров генерирование дискретно-временного плана скорости может включать в себя применение продольного ограничения на основе классификации динамического объекта, как описано в отношении модуля 532 на фиг. 5 и этапе 830 по фиг. 8.
[371] Для простоты объяснения каждый из процессов 800, 1300, 1800, 2000, 2050, 2500, 2700 и 2800 изображен и описан как последовательность этапов. Однако, этапы в соответствии с этим раскрытием могут происходить в различном порядке и/или одновременно. Кроме того, могут использоваться другие этапы или операции, не представленные и не описанные в данном документе. Кроме того, не все проиллюстрированные этапы могут потребоваться для реализации технологии в соответствии с раскрытым предметом изобретения.
[372] Используемые здесь термины «водитель» или «оператор» могут использоваться взаимозаменяемо. Используемые здесь термины «тормоз» или «замедление» могут использоваться как взаимозаменяемые. Используемые здесь термины «компьютер» или «вычислительное устройство» включают любой модуль или комбинацию модулей, способных выполнять любой способ, или любую его часть или части, раскрытые в данном документе.
[373] Используемый здесь термин «инструкции» может включать в себя указания или выражения для выполнения любого способа или любой его части или частей, раскрытых в данном документе, и могут быть реализованы в аппаратных средствах, программном обеспечении или любой их комбинации. Например, инструкции могут быть реализованы как информация, такая как компьютерная программа, хранимая в памяти, которая может выполняться процессором для выполнения любого из соответствующих способов, алгоритмов, аспектов или их комбинаций, как описано в данном документе. В некоторых реализациях инструкции или их часть могут быть реализованы как специализированный процессор или схема, которая может включать в себя специализированное оборудование для выполнения любого из способов, алгоритмов, аспектов или их комбинаций, как описано в данном документе. В некоторых реализациях части инструкций могут быть распределены между множественными процессорами на одном устройстве или на множественных устройствах, которые могут обмениваться данными напрямую или через сеть, такую как локальная сеть, глобальная сеть, Интернет или их сочетание.
[374] Используемые здесь термины «пример», «вариант», «реализация», «аспект», «особенность» или «элемент» указывают на то, что они служат примером, экземпляром или иллюстрацией. Если явно не указано иное, любой пример, вариант осуществления, реализация, аспект, особенность или элемент не зависят от каждого другого примера, варианта осуществления, реализации, аспекта, особенности или элемента и могут использоваться в сочетании с любым другим примером, вариантом осуществления, реализацией, аспект, особенностью или элементом.
[375] Используемые здесь термины «определять» и «идентифицировать» или любые их варианты включают в себя выбор, установление, вычисление, поиск, получение, определение, установление, получение или иную идентификацию или определение любым способом с использованием одного или множественных устройств, показанных и описанных здесь.
[376] Используемый здесь термин «или» предназначен для обозначения включающего «или», а не исключающего «или». То есть, если не указано иное или явно не указано иное в контексте, «X включает в себя A или B» предназначен для обозначения любой из их естественных включающих перестановок. Если X включает в себя A; X включает в себя B; или X включает в себя как A, так и B, тогда «X включает в себя A или B» удовлетворяется в любом из вышеупомянутых случаев. Кроме того, артикли «а» и «an», используемые в данной заявке и прилагаемой формуле изобретения, обычно следует толковать как означающие «один или несколько», если не указано иное или не ясно из контекста, что они относятся к единственной форме.
[377] Кроме того, для простоты объяснения, хотя фигуры и описания в данном документе могут включать в себя последовательности или последовательности этапов или стадий, элементы способов, раскрытых в данном документе, могут происходить в различных порядках или одновременно. Кроме того, элементы способов, раскрытых в данном документе, могут встречаться с другими элементами, явно не представленными и не описанными в данном документе. Кроме того, не все элементы описанных здесь способов могут потребоваться для реализации способа в соответствии с этим раскрытием. Хотя аспекты, особенности и элементы описаны в данном документе в конкретных комбинациях, каждый аспект, особенность или элемент может использоваться независимо или в различных комбинациях с другими аспектами, особенностями и/или элементами или без них.
[378] Хотя раскрытая технология была описана в связи с некоторыми вариантами осуществления, следует понимать, что раскрытая технология не должна ограничиваться раскрытыми вариантами осуществления, а, напротив, предназначена для охвата различных модификаций и эквивалентных устройств, включенных в объем прилагаемой формулы изобретения, объем которой должен получить самую широкую интерпретацию, разрешенную законом, чтобы охватить все такие модификации и эквивалентные компоновки.
Изобретение относится к автономным транспортным средствам, включая в себя способы, устройства, системы и энергонезависимые машиночитаемые носители для отслеживания объектов для автономных транспортных средств. Способ для вождения автономного транспортного средства содержит захват данных от множественных типов датчиков автономного транспортного средства, обработку захваченных данных для определения местоположений наблюдаемых объектов, которые являются внешними по отношению к автономному транспортному средству, а также планирование траектории для автономного транспортного средства. При этом планирование траектории содержит определение грубой линии вождения от первого местоположения до второго местоположения, причем грубая линия вождения включает в себя первый сегмент полосы движения и второй сегмент полосы движения, который отличается от первого сегмента полосы движения и который сразу следует за первым сегментом полосы движения по упомянутой траектории, и при этом грубая линия вождения включает в себя боковой разрыв между первым сегментом полосы движения и вторым сегментом полосы движения, определение стратегического плана скорости для грубой линии вождения. Затем происходит устранение бокового разрыва в грубой линии вождения на основе стратегического плана скорости для генерирования регулируемой грубой линии вождения посредством определения начальной позиции вдоль первого сегмента полосы движения, определения, на основе текущей скорости автономного транспортного средства, конечной позиции вдоль второго сегмента полосы движения и генерирования регулируемой грубой линии вождения, причем регулируемая грубая линия вождения включает в себя переход от начальной позиции к конечной позиции. После чего происходит генерирование боковых ограничений вокруг регулируемой грубой линии вождения и дискретно-временного плана скорости на основе наблюдаемых объектов и вождение автономного транспортного средства в соответствии с запланированной траекторией. Технический результат – повышение безопасности дорожного движения автономных транспортных средств по транспортной сети. 2 н. и 17 з.п. ф-лы, 28 ил., 2 табл.
1. Способ для вождения автономного транспортного средства, содержащий:
захват данных от множественных типов датчиков автономного транспортного средства;
обработку захваченных данных для определения местоположений наблюдаемых объектов, которые являются внешними по отношению к автономному транспортному средству;
планирование траектории для автономного транспортного средства, причем планирование траектории содержит:
определение грубой линии вождения от первого местоположения до второго местоположения, причем грубая линия вождения включает в себя первый сегмент полосы движения и второй сегмент полосы движения, который отличается от первого сегмента полосы движения и который сразу следует за первым сегментом полосы движения по упомянутой траектории, и при этом грубая линия вождения включает в себя боковой разрыв между первым сегментом полосы движения и вторым сегментом полосы движения;
определение стратегического плана скорости для грубой линии вождения;
устранение бокового разрыва в грубой линии вождения на основе стратегического плана скорости для генерирования регулируемой грубой линии вождения посредством:
определения начальной позиции вдоль первого сегмента полосы движения;
определения, на основе текущей скорости автономного транспортного средства, конечной позиции вдоль второго сегмента полосы движения; и
генерирования регулируемой грубой линии вождения, причем регулируемая грубая линия вождения включает в себя переход от начальной позиции к конечной позиции; и
генерирование боковых ограничений вокруг регулируемой грубой линии вождения и дискретно-временного плана скорости на основе наблюдаемых объектов; и
вождение автономного транспортного средства в соответствии с запланированной траекторией.
2. Способ по п. 1, причем определение грубой линии вождения от первого местоположения до второго местоположения содержит:
получение данных линии вождения, содержащих первые данные, относящиеся к упомянутому первому сегменту полосы движения от первого местоположения до второго местоположения, и вторые данные, относящиеся к упомянутому второму сегменту полосы движения, от первого местоположения ко второму местоположению; и
конкатенирование первых данных и вторых данных.
3. Способ по п. 2,
при этом первые данные представляют собой данные карты HD, а вторые данные являются записанными данными пути.
4. Способ по п. 2, в котором первые данные содержат данные карты HD и данные дистанционного управления.
5. Способ по п. 1, причем определение стратегического плана скорости для грубой линии вождения содержит:
использование пределов скорости и пределов ускорения для определения стратегического плана скорости.
6. Способ по п. 5, в котором пределы скорости содержат по меньшей мере одно из пределов скорости дороги, пределов скорости по кривизне и данных бесперебойной автономной мобильности, при этом данные бесперебойной автономной мобильности представляют собой данные, собранные с других транспортных средств.
7. Способ по п. 6, в котором данные бесперебойной автономной мобильности принимаются в автономном транспортном средстве от сетевого сервера.
8. Способ по п. 5, в котором пределы ускорения содержат по меньшей мере одно из пределов ускорения транспортного средства и пределов комфорта.
9. Способ по п. 1, причем устранение упомянутого бокового разрыва в грубой линии вождения содержит:
синтезирование линии вождения для слияния упомянутого первого сегмента полосы движения с упомянутым вторым сегментом полосы движения.
10. Способ по п. 1, причем генерирование боковых ограничений вокруг регулируемой грубой линии вождения и дискретно-временного плана скорости на основе наблюдаемых объектов содержит:
определение границ области, доступной для вождения, на основе статических объектов; и
применение ограничения на основе классификации динамического объекта.
11. Автономное транспортное средство, содержащее:
один или более датчиков для захвата данных объектов реального мира, причем данные от датчиков используются для определения информации об объектах реального мира, которые являются внешними по отношению к автономному транспортному средству;
память; и
процессор;
машиночитаемый носитель, хранящий машиночитаемые инструкции планировщика траектории, хранящиеся в памяти, вынуждающие процессор:
определять грубую линию вождения от первого местоположения до второго местоположения, причем грубая линия вождения включает в себя первый сегмент полосы движения и второй сегмент полосы движения, который отличается от первого сегмента полосы движения и который сразу следует за первым сегментом полосы движения по некоторой траектории, и при этом грубая линия вождения включает в себя боковой разрыв между первым сегментом полосы движения и вторым сегментом полосы движения;
определять стратегический план скорости для грубой линии вождения;
регулировать грубую линию вождения для устранения упомянутого бокового разрыва на основе стратегического плана скорости, причем регулировка грубой линии вождения содержит:
определение начальной позиции вдоль первого сегмента полосы движения;
определение, на основе текущей скорости автономного транспортного средства, конечной позиции вдоль второго сегмента полосы движения; и
генерирование регулируемой грубой линии вождения, причем регулируемая грубая линия вождения включает в себя переход от начальной позиции к конечной позиции; и
генерировать боковые ограничения вокруг грубой линии вождения и дискретно-временной план скорости на основе по меньшей мере некоторых из объектов реального мира.
12. Автономное транспортное средство по п. 11, в котором определение грубой линии вождения от первого местоположения до второго местоположения содержит:
получение данных линии вождения, содержащих первые данные, относящиеся к упомянутому первому сегменту полосы движения от первого местоположения до второго местоположения, и вторые данные, относящиеся к упомянутому второму сегменту полосы движения, от первого местоположения ко второму местоположению; и
конкатенирование первых данных и вторых данных.
13. Автономное транспортное средство по п. 12,
при этом первые данные представляют собой данные карты HD, а вторые данные являются записанными данными пути.
14. Автономное транспортное средство по п. 12, в котором первые данные содержат данные карты HD и данные дистанционного управления.
15. Автономное транспортное средство по п. 11, в котором определение стратегического плана скорости для грубой линии вождения содержит:
использование пределов скорости и пределов ускорения для определения стратегического плана скорости, при этом пределы ускорения содержат по меньшей мере одно из пределов ускорения транспортного средства и пределов комфорта.
16. Автономное транспортное средство по п. 15, в котором пределы скорости содержат по меньшей мере одно из пределов скорости дороги, пределов скорости по кривизне и данных бесперебойной автономной мобильности, при этом данные бесперебойной автономной мобильности представляют собой данные, собранные с других транспортных средств.
17. Автономное транспортное средство по п. 16, в котором данные бесперебойной автономной мобильности принимаются на автономном транспортном средстве от сетевого сервера.
18. Автономное транспортное средство по п. 11, причем регулирование грубой линии вождения содержит:
синтезирование линии вождения для слияния первой полосы движения со второй полосой движения.
19. Автономное транспортное средство по п. 11, в котором генерирование боковых ограничений вокруг грубой линии вождения и дискретно-временного плана скорости на основе наблюдаемых объектов содержит:
определение границ области, доступной для вождения, на основе статических объектов; и
применение ограничения на основе классификации динамического объекта.
WO 2017094656 A1, 08.06.2017 | |||
US 20170123429 A1, 04.05.2017 | |||
СИСТЕМА УПРАВЛЕНИЯ ТРАНСПОРТНЫМ СРЕДСТВОМ | 2012 |
|
RU2601837C2 |
СИСТЕМА ПОСЛЕАВАРИЙНОГО ОПРЕДЕЛЕНИЯ ТРАЕКТОРИИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА | 2014 |
|
RU2571843C1 |
Авторы
Даты
2021-12-22—Публикация
2019-03-19—Подача