Способ и система определения траектории транспортного средства через слепую зону
METHOD AND SYSTEM FOR DETERMINING THE TRAJECTORY OF A VEHICLE THROUGH A BLIND SPOT

ОБЛАСТЬ ТЕХНИКИ
[1] Настоящая технология относится к определению траектории для транспортного средства и, более конкретно, к способам и системам для определения траектории транспортного средства, которое проходит через область, которая не видна для радара транспортного средства.
УРОВЕНЬ ТЕХНИКИ
[2] Беспилотные транспортные средства полагаются на множество датчиков, включая в себя различные сканирующие устройства, для предоставления информации беспилотному транспортному средству о его непосредственном окружении. Сканирующие устройства, часто используемые в беспилотных транспортных средствах, включают в себя системы обнаружения и определения дальности с помощью света (LiDAR), радарные сканирующие системы и/или камеры.
[3] Некоторые датчики, используемые для наблюдения за окружающей средой вокруг беспилотного транспортного средства, например радары, могут вращаться. Поле зрения (FOV) вращающегося радара будет циклически вращаться вокруг оси радара. Поскольку радар вращается, в любой момент могут быть слепые зоны в областях, где радар в настоящее время не отправляет, не принимает и не обрабатывает сигналы. Эти слепые зоны будут вращаться вокруг беспилотного транспортного средства по мере вращения радара.
[4] Беспилотное транспортное средство может перемещаться по траектории, определяемой системами на беспилотном транспортном средстве и/или системами, связывающимися с беспилотным транспортным средством. Если траектория включает в себя слепую зону, то для беспилотного транспортного средства может считаться небезопасным следовать по упомянутой траектории, поскольку другое транспортное средство может находиться в слепой зоне и не обнаруживаться беспилотным транспортным средством. Беспилотное транспортное средство может ждать попадания в слепую зону до тех пор, пока слепая зона не вернется в поле зрения радара беспилотного транспортного средства. После этого беспилотное транспортное средство может подтвердить, что траектории свободна от других транспортных средств. Эти слепые зоны могут привести к тому, что беспилотное транспортное средство будет задерживать маневры или выбирать менее эффективную траекторию. По вышеизложенным причинам необходимы новые способы и системы для определения траектории движения транспортного средства.
[5] Патент США 10,146,223, выданный Waymo LLC 4 декабря 2018 г., раскрывает технологию, которая относится к выявлению окклюзий (загораживаний) датчиков, вызванных пределами дальности действия датчиков транспортного средства и использованию этой информации для маневрирования транспортного средства. Например, транспортное средство маневрирует по маршруту, который включает в себя движение по первой проезжей части и пересечение полосы второй проезжей части. Траектория определяется по полосе, которая будет пересекаться с маршрутом во время пересечения в первой точке. Выбирается вторая точка за пределами диапазона датчиков транспортного средства. Вторая точка соответствует гипотетическому транспортному средству, движущемуся по маршруту по полосе. Определяется расстояние между первой точкой и второй точкой. Время, которое потребуется гипотетическому транспортному средству, чтобы преодолеть расстояние, определяется и сравнивается с пороговым временем. Транспортное средство маневрирует на основе сравнения для завершения пересечения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[6] Разработчики настоящей технологии осознали, что беспилотные транспортные средства можно улучшить, позволив транспортному средству перемещаться по областям, которые находятся за пределами поля зрения датчиков транспортных средств. Окружающая среда, окружающая транспортное средство, может быть разделена на области, например, путем наложения сетки на карту окрестностей транспортного средства. Каждый раз, когда область сканируется датчиками транспортного средства, для этой области может быть определен безопасный временной интервал. Запись, указывающая безопасный временной интервал, может быть сохранена. Когда область сканируется снова, обновленный безопасный временной интервал может быть определен и сохранен в качестве замены предыдущего безопасного временного интервала.
[7] Если предлагается траектория, которая пересекает область, которая в настоящее время находится в слепой зоне, то есть область за пределами поля зрения датчиков транспортного средства, может быть извлечен сохраненный безопасный временной интервал для этой области. Можно определить примерное время, в течение которого транспортное средство проедет через территорию, а затем сравнить его с безопасным временным интервалом. Если транспортное средство войдет в зону и/или покинет ее в течение безопасного временного интервала, траектория может быть утверждена, даже если она включает в себя слепую зону.
[8] Варианты осуществления настоящей технологии были разработаны на основе понимания разработчиками по меньшей мере одной технической проблемы, связанной с решениями в уровне техники. Поэтому разработчики разработали способы и системы для определения траектории транспортного средства, где траектория включает в себя слепую зону.
[9] В первом широком аспекте настоящей технологии предоставляется способ определения траектории для транспортного средства, содержащего один или более радаров, причем способ выполняется сервером, упомянутый способ включает в себя: получение предлагаемой траектории для транспортного средства; определение того, что предлагаемая траектория содержит местоположение за пределами поля зрения одного или более радаров; извлечение сохраненного временного интервала, соответствующего упомянутому местоположению; определение прогнозируемого времени, когда транспортное средство покинет упомянутое местоположение; определение того, что прогнозируемое время находится в сохраненном временном интервале; и после определения того, что прогнозируемое время находится в сохраненном временном интервале, разрешение транспортному средству двигаться по предлагаемой траектории.
[10] В некоторых реализациях способа, определение того, что предлагаемая траектория содержит местоположение вне поля зрения одного или более радаров, включает в себя: определение текущего поля зрения одного или более радаров; и определение того, находится ли местоположение в текущем поле зрения.
[11] В некоторых реализациях способа, определение текущего поля зрения одного или более радаров включает в себя определение поля зрения на основе текущей ориентации одного или более радаров.
[12] В некоторых реализациях способа, способ дополнительно включает в себя перед определением того, что предлагаемая траектория включает в себя местоположение за пределами поля зрения одного или более радаров: получение радарных данных, соответствующих упомянутому местоположению, от одного или более радаров; и определение на основе радарных данных сохраненного временного интервала.
[13] В некоторых реализациях способа, определение сохраненного временного интервала включает в себя: определение второго местоположения второго транспортного средства, движущегося к упомянутому местоположению; определение расстояния между вторым местоположением и упомянутым местоположением; определение скорости второго транспортного средства; определение, на основе расстояния и скорости, времени, когда второе транспортное средство прибудет в упомянутое местоположение; и определение, на основе времени, когда второе транспортное средство прибудет в упомянутое местоположение, времени окончания сохраненного временного интервала.
[14] В некоторых реализациях способа, способ дополнительно содержит определение, на основе времени, в которое радарные данные были записаны, времени начала сохраненного временного интервала.
[15] В некоторых реализациях способа, определение сохраненного временного интервала включает в себя: определение второго местоположения за пределами поля зрения одного или более радаров; определение расстояния между вторым местоположением и упомянутым местоположением; определение ограничения скорости, соответствующего упомянутому местоположению; определение, на основе расстояния и ограничения скорости, времени пути от второго местоположения до упомянутого местоположения; и определение, на основе упомянутого времени пути, времени окончания сохраненного временного интервала.
[16] В некоторых реализациях способа, определение второго местоположения включает в себя: определение полосы движения, соответствующей упомянутому местоположению; определение направления движения по проезжей части, содержащей упомянутое местоположение; и определение второго местоположения путем определения местоположения ближайшего к упомянутому местоположению, которое находится за пределами поля зрения одного или более радаров, в полосе движения, и в котором транспортное средство, движущееся в направлении движения проезжей части, будет двигаться от упомянутого ближайшего местоположения к упомянутому местоположению.
[17] В некоторых реализациях способа, данные радара получаются в первый раз, и дополнительно содержит: получение, во второй раз после первого раза, дополнительных радарных данных, соответствующих упомянутому местоположению, от одного или более радаров; определение, на основе дополнительных радарных данных, обновленного временного интервала для упомянутого местоположения; и замену сохраненного временного интервала обновленным временным интервалом.
[18] В некоторых реализациях способа, определение прогнозируемого времени покидания транспортным средством упомянутого местоположения включает в себя: определение скорости транспортного средства; определение расстояния между текущим местоположением транспортного средства и упомянутым местоположением; и определение, на основе скорости транспортного средства и расстояния, прогнозируемого времени, когда транспортное средство покинет упомянутое местоположение.
[19] В некоторых реализациях способа один или более радаров содержат одно или более устройств обнаружения и определения дальности с помощью света (LiDAR).
[20] В некоторых реализациях способа один или более радаров содержат: радар ближнего действия; и радар дальнего действия, при этом радар дальнего действия выполнен с возможностью вращения.
[21] В другом широком аспекте настоящей технологии предоставляется способ определения траектории для транспортного средства, содержащего один или более радаров, при этом способ выполняется сервером, причем способ включает в себя: получение предлагаемой траектории для транспортного средства; определение того, что предлагаемая траектория содержит местоположение за пределами поля зрения одного или более радаров; извлечение сохраненного временного интервала, соответствующего упомянутому местоположению; определение прогнозируемого времени, когда транспортное средство покинет упомянутое местоположение; определение того, что прогнозируемое время является более поздним, чем сохраненный временной интервал; и после определения того, что прогнозируемое время является более поздним, чем сохраненный временной интервал, отклонение предлагаемой траектории.
[22] В некоторых реализациях способа, способ дополнительно включает в себя определение второй траектории для транспортного средства, при этом вторая траектория находится в пределах поля зрения одного или более радаров.
[23] В некоторых реализациях способа, способ дополнительно содержит: ожидание, пока предлагаемая траектория не окажется в поле зрения одного или более радаров; и утверждение предлагаемой траектории после того, как предлагаемая траектория окажется в поле зрения одного или более радаров.
[24] В некоторых реализациях способа, способ дополнительно включает в себя, перед определением того, что предлагаемая траектория включает в себя местоположение за пределами поля зрения одного или более радаров: получение радарных данных, соответствующих упомянутому местоположению, от одного или более радаров; и определение, на основе радарных данных, сохраненного временного интервала.
[25] В некоторых реализациях способа, извлечение сохраненного временного интервала, соответствующего местоположению, включает в себя: определение области, содержащей упомянутое местоположение; и извлечение, на основе идентификатора области, сохраненного временного интервала.
[26] В другом широком аспекте настоящей технологии предоставляется транспортное средство, содержащее: один или более радаров и компьютерную систему, содержащую по меньшей мере один процессор и память, хранящую множество исполняемых инструкций, которые, при выполнении по меньшей мере одним процессором, заставляют компьютерную систему: определять предлагаемую траекторию движения транспортного средства; определять, что предлагаемая траектория включает в себя местоположение вне поля зрения одного или более радаров; извлекать сохраненный временной интервал, соответствующий упомянутому местоположению; определять прогнозируемое время, когда транспортное средство покинет упомянутое местоположение; определять, что прогнозируемое время находится в сохраненном временном интервале; и после определения того, что прогнозируемое время находится в сохраненном временном интервале, заставлять транспортное средство двигаться по предлагаемой траектории.
[27] В некоторых реализациях транспортного средства инструкции, они когда выполняются по меньшей мере одним процессором, заставляют компьютерную систему: получать радарные данные, соответствующие местоположению, от одного или более радаров; и определять, на основе радарных данных, сохраненный временной интервал.
[28] В некоторых реализациях транспортного средства, один или более радаров содержат одно или более устройств обнаружения и определения дальности с помощью света (LiDAR).
[29] В контексте настоящего описания «сервер» - это компьютерная программа, которая работает на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В настоящем контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принимаемые инструкции или запросы) или какая-либо конкретная задача будет принята, выполнена или будет вызвана для выполнения одним и тем же сервером (т.е. одним и тем же программным и/или аппаратным обеспечением); подразумевается, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или вызов для выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, причем оба этих случая включены в выражение «по меньшей мере один сервер».
[30] В контексте настоящего описания «электронное устройство» может означать любое компьютерное оборудование, которое способно выполнять программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования многочисленных клиентских устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[31] В контексте настоящего описания «клиентское устройство» представляет собой любое компьютерное оборудование, которое способно выполнять программное обеспечение, которое является надлежащим для релевантной поставленной задачи. Некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему в качестве клиентского устройства в данном контексте, не запрещается действовать в качестве сервера для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования многочисленных клиентских устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[32] В контексте настоящего описания выражение "информация" включает в себя информацию любого характера или вида, которая способна храниться в базе данных любым образом. Таким образом информация включает в себя, но без ограничения перечисленным, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[33] В контексте настоящего описания выражение «программный компонент» подразумевает включение в себя программного обеспечения (подходящего для конкретного аппаратного контекста), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.
[34] В контексте настоящего описания выражение «компьютерные носители хранения информации» (также называемые «носители данных») предназначено для включения в себя носителей любого характера и типа, включая в себя, без ограничения перечисленным, RAM, ROM, диски (CD-ROM, DVD, дискеты, жесткие диски и т.п.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования компьютерных носителей хранения информации, включая в себя два или более компонентов-носителей одного типа и/или два или более компонентов-носителей разных типов.
[35] В контексте настоящего описания «база данных» может быть любым структурированным набором данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного оборудования, на котором данные хранятся, реализованы или иным образом доступны для использования. База данных может находиться на том же аппаратном оборудовании, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном аппаратном оборудовании, например на выделенном сервере или на множестве серверов.
[36] В контексте настоящего описания слова «первый», "второй", "третий" и т.д. используются в качестве прилагательных только для того, чтобы позволить отличать существительные, которые они определяют, друг от друга, а не для целей описания какой-либо особой взаимосвязи между такими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами, и их использование (само по себе) не подразумевает, что любой «второй сервер» обязательно должен существовать в любой данной ситуации. Кроме того, как обсуждается в других контекстах данного документа, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента фактически являются одним и тем же элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут быть одним и тем же программным и/или аппаратным компонентами, в других случаях они могут быть разными программными и/или аппаратными компонентами.
[37] Каждая реализация настоящей технологии может иметь по меньшей мере один из вышеупомянутых объектов и/или аспектов, но не обязательно иметь все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[38] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[39] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[40] Фиг.1 изображает схематическую диаграмму примерной компьютерной системы для реализации неограничивающих вариантов осуществления настоящей технологии;
[41] Фиг.2 изображает системы транспортного средства согласно некоторым вариантам осуществления настоящей технологии;
[42] Фиг.3 изображает поле зрения (FOV) транспортного средства согласно некоторым вариантам осуществления настоящей технологии;
[43] Фиг.4 изображает сетку окружающей среды транспортного средства согласно некоторым вариантам осуществления настоящей технологии;
[44] Фиг.5 - таблица безопасных временных интервалов согласно некоторым вариантам осуществления настоящей технологии;
[45] Фиг.6 - блок-схема способа записи безопасных временных интервалов согласно некоторым вариантам осуществления настоящей технологии;
[46] Фиг.7 - блок-схема способа определения безопасных временных интервалов согласно некоторым вариантам осуществления настоящей технологии; и
[47] Фиг.8 - блок-схема способа определения траектории транспортного средства согласно некоторым вариантам осуществления настоящей технологии.
ПОДРОБНОЕ ОПИСАНИЕ
[48] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.
[49] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[50] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия понимаю и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[51] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области техники осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[52] Функции различных элементов, показанных на фигурах, включая в себя любой функциональный блок, помеченный как «процессор», могут быть обеспечены за счет использования специализированного оборудования, а также оборудования, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором, функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Более того, явное использование термина «процессор» или «контроллер» не должно толковаться как относящееся исключительно к аппаратному обеспечению, способному выполнять программное обеспечение, и может неявно включать, без ограничения, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, заказную специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимую память. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[53] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или как текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[54] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
Компьютерная система
[55] На фиг.1 показана компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии. В некоторых вариантах осуществления, компьютерная система 100 может быть реализована с помощью любого обычного персонального компьютера, сетевого устройства и/или электронного устройства (такого как, помимо прочего, мобильное устройство, планшетное устройство, сервер, блок контроллера, устройство управления и т.д.) и/или любой их комбинации, подходящей для соответствующей задачи. В некоторых вариантах осуществления, компьютерная система 100 содержит различные аппаратные компоненты, включая в себя один или более одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельный накопитель 120, оперативную память 130 и интерфейс 150 ввода/вывода. Компьютерная система 100 может быть компьютером, специально разработанным для работы с алгоритмом машинного обучения (MLA). Компьютерная система 100 может быть универсальной компьютерной системой. Компьютерная система 100 может быть компьютером, специально разработанным для связи с системами транспортного средства и/или управления транспортным средством. Некоторые ее части или вся компьютерная система 100 может быть интегрирована в транспортное средство.
[56] В некоторых вариантах осуществления компьютерная система 100 также может быть подсистемой одной из перечисленных выше систем. Компьютерная система 100 может быть серийно выпускаемой универсальной компьютерной системой. В некоторых вариантах осуществления компьютерная система 100 может быть распределена между несколькими системами. Компьютерная система 100 может быть специально предназначена для реализации настоящей технологии. Как может оценить специалист в данной области техники, можно представить себе множество вариантов реализации компьютерной системы 100, не выходя за рамки объема настоящей технологии.
[57] Специалисты в данной области техники поймут, что процессор 110 обычно представляет возможности обработки. В некоторых вариантах осуществления вместо или в дополнение к одному или нескольким традиционным центральным процессорам (CPU) может быть предоставлено одно или более специализированных процессорных ядер. Например, один или более графических процессоров 111 (GPU), тензорные процессоры (TPU) и/или другие так называемые ускоренные процессоры (или ускорители обработки) могут быть предоставлены в дополнение или вместо одного или более CPU.
[58] Системная память обычно включает в себя память 130 с произвольным доступом, но в целом предназначена для охвата любого типа невременной системной памяти, такой как статическая память с произвольным доступом (SRAM), динамическая память с произвольным доступом (DRAM), синхронная DRAM (SDRAM), память, доступная только для чтения (ROM) или их комбинация. Твердотельный накопитель 120 показан в качестве примера запоминающего устройства большой емкости, но в более общем плане такое запоминающее устройство может содержать любой тип невременного запоминающего устройства, сконфигурированного для хранения данных, программ и другой информации, а также для создания данных, программ и невременной, доступной через системную шину 160. Например, запоминающее устройство большой емкости может содержать одно или более из твердотельного накопителя, накопителя на жестком диске, накопителя на магнитном диске и/или накопителя на оптическом диске.
[59] Связь между различными компонентами компьютерной системы 100 может быть обеспечена с помощью системной шины 160, содержащей одну или более внутренних и/или внешних шин (например, шину PCI, универсальную последовательную шину, шину IEEE 1394 «Firewire», шину SCSI, шину Serial-ATA, шину ARINC и т.д.), с которыми различные аппаратные компоненты связаны электронным способом.
[60] Интерфейс 150 ввода/вывода может обеспечивать сетевые возможности, такие как проводной или беспроводной доступ. В качестве примера, интерфейс 150 ввода/вывода может содержать сетевой интерфейс, такой как, но не ограничиваясь перечисленным, сетевой порт, сетевой соединитель, контроллер сетевого интерфейса и т.п. Множественные примеры того, как может быть реализован сетевой интерфейс, станут очевидными для специалистов в данной области техники. Например, сетевой интерфейс может реализовывать определенные стандарты физического уровня и уровня канала передачи данных, такие как Ethernet, Fibre Channel, Wi-Fi, широкополосная сотовая связь, Token Ring или протоколы последовательной связи. Конкретный физический уровень и уровень канала передачи данных могут обеспечить основу для полного стека сетевых протоколов, позволяя осуществлять обмен данными между небольшими группами компьютеров в одной локальной сети (LAN) и крупномасштабную сетевую связь через протоколы маршрутизации, такие как Интернет-протокол (IP).
[61] Интерфейс 150 ввода/вывода может быть связан с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может быть частью дисплея. В некоторых вариантах осуществления, сенсорный экран 190 является дисплеем. Сенсорный экран 190 может также упоминаться как экран 190. Сенсорный экран 190 может быть интегрирован в транспортное средство. В вариантах осуществления, проиллюстрированных на фигуре 1, сенсорный экран 190 содержит сенсорное аппаратное обеспечение 194 (например, чувствительные к давлению ячейки, встроенные в слой дисплея, позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорного ввода/вывода, обеспечивающий возможность связи с интерфейсом 140 дисплея и/или одной или более внутренними и/или внешними шинами 160. В некоторых вариантах осуществления, интерфейс 150 ввода/вывода может быть подключен к клавиатуре (не показана), мыши (не показана) или трекпаду (не показан), позволяя пользователю взаимодействовать с компьютерной системой 100 в дополнение или вместо сенсорного экрана 190.
[62] Согласно некоторым реализациям настоящей технологии, твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в оперативную память 130 и выполнения процессором 110 для выполнения действий одного или более описанных здесь способов. Например, по меньшей мере некоторые из программных инструкций могут быть частью библиотеки или приложения.
Система транспортного средства
[63] Со ссылкой на Фиг.2 изображены системы 200 транспортного средства, подходящие для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии. Системы 200 транспортного средства могут включать в себя электронное устройство 210, связанное с транспортным средством 220 и/или связанное с пользователем (не показан), который связан с транспортным средством 220 (например, оператор транспортного средства 220). Сетевая вычислительная среда 200 может также включать в себя сервер 235, поддерживающий связь с электронным устройством 210 через сеть 240 связи (например, Интернет и т.п.). Хотя электронное устройство 210 показано как отдельное устройство от транспортного средства 220, оно может быть интегрировано в транспортное средство 220. Электронное устройство 210 может быть сконфигурировано для управления транспортным средством 220, например, если транспортное средство 220 является беспилотным транспортным средством (SDC).
[64] Электронное устройство 210 может принимать сообщения от спутников глобальной системы позиционирования (GPS) (не показаны) для целей позиционирования. Вместо или в дополнение к GPS могут использоваться другие технологии позиционирования.
[65] Транспортное средство 220, с которым связано электронное устройство 210, может быть любым транспортным средством для отдыха или иным образом, например, частным или коммерческим транспортным средством, грузовиком, мотоциклом и т.п. Хотя транспортное средство 220 изображено как наземное транспортное средство, транспортное средство 220 может быть водным транспортным средством, таким как лодка, или летательным аппаратом, например летающим дроном.
[66] Транспортное средство 220 может быть транспортным средством, управляемым пользователем, или транспортным средством без водителя. Транспортное средство 220 может использовать автономные системы вождения. В некоторых неограничивающих вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано как SDC. Следует отметить, что конкретные параметры транспортного средства 220 не ограничены, эти конкретные параметры включают в себя, например: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, размеры транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и объем двигателя.
[67] Электронное устройство 210 может быть компьютерной системой 100 и/или компьютерной системой любого другого типа. Например, электронное устройство 210 может быть блоком управления двигателем транспортного средства, центральным процессором транспортного средства, навигационным устройством транспортного средства, планшетом и/или персональным компьютером, встроенным в транспортное средство 220. Электронное устройство 210 может быть или не может быть постоянно связано с транспортным средством 220. Дополнительно или альтернативно электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон). Электронное устройство 210 может иметь дисплей 270.
[68] Электронное устройство 210 может включать в себя некоторые или все компоненты компьютерной системы 100, изображенной на Фиг.1. Электронное устройство 210 может быть бортовым компьютерным устройством, которое включает в себя процессор 110, твердотельный накопитель 120 и/или память 130. Другими словами, электронное устройство 210 может включать в себя аппаратное и/или программное и/или встроенное ПО для обработки данных.
[69] Сеть 240 связи может быть Интернетом, локальной сетью (LAN), глобальной сетью (WAN), частной сетью связи и/или сетью любого другого типа. Электронное устройство 210 может связываться с сетью 240 связи через проводную и/или беспроводную линию связи. Примеры каналов беспроводной связи включают в себя сетевые каналы связи 3G, 4G или 5G и/или любой другой протокол беспроводной связи. Сеть 240 связи может связываться с сервером 235 через проводное и/или беспроводное соединение.
[70] Сервер 235 может включать в себя некоторые или все компоненты компьютерной системы 100, показанной на фиг.1. Например, сервер 235 может быть сервером Dell™ PowerEdge™, работающим под управлением операционной системы Microsoft™ Windows Server™. Сервер 235 может быть единственным сервером, или функциональные возможности сервера 235 могут быть распределены между множеством серверов, например, в облачной среде.
[71] Электронное устройство 210 может связываться с сервером 235 для получения одного или более обновлений. Такие обновления могут включать в себя обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погоды и т.п. Электронное устройство 210 может передавать на сервер 235 данные о транспортном средстве 220, такие как рабочие данные, пройденные маршруты, данные трафика, данные о производительности и/или любые другие данные о транспортном средстве 220. Некоторые или все данные, передаваемые на сервер 235, могут быть зашифрованы и/или анонимизированы.
[72] Электронное устройство 210 может использовать различные датчики и системы для сбора информации об окружающей среде 250 транспортного средства 220. Транспортное средство 220 может быть оборудовано системами 280 датчиков. Системы 280 датчиков могут использоваться для сбора различных типов данных, касающихся окружающей среды 250 транспортного средства 220.
[73] Системы 280 датчиков могут включать в себя различные оптические системы, такие как одна или более систем датчиков типа камеры, которые установлены на транспортном средстве 220 и связаны с электронным устройством 210. Вообще говоря, одна или более систем датчиков типа камеры могут быть сконфигурированы для сбора данных изображения о различных частях окружающей среды 250 транспортного средства 220. Данные изображения, предоставленные одной или несколькими системами датчиков типа камеры, могут использоваться электронным устройством 210 для обнаружения объектов, таких как другие транспортные средства, пешеходов и т.д. Электронное устройство 210 может быть сконфигурировано для подачи данных изображения, предоставленных одной или несколькими системами датчиков типа камеры, в алгоритм машинного обучения (MLA), такой как нейронная сеть обнаружения объектов (ODNN), которая обучена локализации и классификации потенциальных объекты в окрестностях 250 транспортного средства 220.
[74] Сенсорные системы 280 могут включать в себя одну или более сенсорных систем радарного типа, которые установлены на транспортном средстве 220 и связаны с электронным устройством 210. Одна или более сенсорных систем радарного типа могут быть сконфигурированы для использования радиоволн для сбора данных о различных частях окружающей среды 250 транспортного средства 220. Одна или более сенсорных систем радарного типа могут быть сконфигурированы для сбора радиолокационных данных о потенциальных объектах в окрестностях 250 транспортного средства 220. Данные, собранные сенсорными системами радиолокационного типа, могут указывать расстояние до объектов от сенсорных систем радиолокационного типа, ориентацию объектов, скорость и/или скорость объектов и/или другие данные, касающиеся объектов.
[75] Сенсорные системы радарного типа могут включать в себя системы обнаружения и определения дальности с помощью света (LiDAR). Система LiDAR может излучать лазеры вокруг транспортного средства и измерять отражения лазеров для определения окружения 250 транспортного средства 220. Транспортное средство 220 может включать в себя любую комбинацию сенсорных систем радарного типа и сенсорных систем LiDAR. Эти системы, независимо от того, являются ли они сенсорными системами радарного типа, сенсорными системами LiDAR или и тем, и другим, будут упоминаться в данном документе как радары. Некоторые или все радары транспортного средства 220 могут вращаться. Эти вращающиеся радары могут обеспечивать вращающееся поле зрения для электронного устройства 210. Поскольку радары вращаются, некоторые области вокруг 250 транспортного средства 220 могут сканироваться периодически, а не постоянно. Когда эти области не сканируются радарами, эти области могут считаться слепыми зонами. Электронное устройство 210 может не иметь текущей информации о том, есть ли какие-либо объекты, такие как другие транспортные средства, в этих слепых зонах. Пока радар не повернется в положение, в котором область находится в поле зрения радара, электронное устройство 210 может быть не в состоянии определить, есть ли в этой области транспортное средство.
Поле зрения датчиков транспортного средства
[76] На фиг.3 показано поле зрения транспортного средства 220 согласно некоторым вариантам осуществления настоящей технологии. Следует понимать, что диаграмма, показанная на фиг. 3, предоставлена только в качестве примера, и что поле зрения датчиков транспортного средства может быть уникальным для индивидуального транспортного средства, расположения датчиков и/или условий окружающей среды. Схема на фиг.3 предназначена для иллюстративных целей.
[77] Как описано выше, транспортное средство 220 может включать в себя различные датчики, такие как один или более радаров. Транспортное средство 220 может двигаться по проезжей части 300. Пока транспортное средство 220 движется по проезжей части 300, поле зрения датчиков на транспортном средстве 220 может изменяться в зависимости от ориентации датчиков, окружающей среды, окружающей транспортное средство, условий окружающей среды и т.д.
[78] В примере, показанном на фиг. 3, транспортное средство 220 содержит несколько типов радаров. Один или более радаров ближнего действия сканируют область 315, которая непосредственно окружает транспортное средство 220. Эти радары ближнего действия обеспечивают постоянный обзор области, непосредственно окружающей транспортное средство, то есть зоны 315. Области, охватываемые зоной 315, могут никогда не оказаться в слепой зоне датчиков транспортного средства 220. Хотя области в зоне 315 могут постоянно контролироваться радаром, в некоторых случаях эти области могут все же стать слепыми зонами, например, из-за факторов окружающей среды, ошибок связи, неисправностей датчиков и т.д.
[79] Транспортное средство 220, как показано на фиг. 3, содержит два радара дальнего действия, первый радар дальнего действия, который сканирует зону 325, и второй радар дальнего действия, который сканирует зону 320. Хотя на фиг. 3 показаны два радара дальнего действия, следует понимать, что на транспортном средстве 220 может использоваться любое количество и конфигурация радаров.
[80] Когда радары дальнего действия вращаются, зоны 325 и 320 будут вращаться вокруг транспортного средства 220. Транспортное средство 310 на проезжей части 300 в настоящее время находится в слепой зоне транспортного средства 220. Другими словами, транспортное средство 310 в настоящее время не находится в одной из радарных зон 325, 315 и 320 транспортного средства 220. Радары транспортного средства 220 могли ранее обнаружить транспортное средство 310, но в настоящее время радары транспортного средства 220 не предоставляют данные о транспортном средстве 310, такие как местоположение транспортного средства 310, скорость транспортного средства 310, направление движения транспортного средства 310 и др.
Карта области, окружающей транспортное средство
[81] На фиг.4 изображена сетка 400 окружающей среды, окружающей транспортное средство 220, согласно некоторым вариантам осуществления настоящей технологии. Окружающая среда, окружающая транспортное средство 220, может быть разделена на области. Каждая область может иметь квадрат или любую другую форму. Сетка 400 является одним из примеров способа представления областей вокруг транспортного средства 220, но можно использовать любой другой способ, например круги, расходящиеся наружу от транспортного средства 220, и т.д. Области могут быть одинакового размера или могут иметь разные размеры. Например, каждая площадь может быть площадью один метр на один метр.
[82] Каждый раз, когда область сканируется радарами, может сохраняться запись, указывающая, содержит ли область объект (например, другое транспортное средство, пешехода и т.д.). Следует отметить, что объект может быть статическим или динамическим объектом. Другими словами, объектом может быть любой «агент» в окрестностях транспортного средства 220. В период времени, проиллюстрированный на фиг. 4, запись может храниться для областей 405 и 410, указывая, что в этих областях в зоне 320 не было обнаружено никаких объектов. Если радары вращаются против часовой стрелки, то области 415 и 420 могли быть ранее сканированы. Для областей 415 и 420 могут храниться записи, указывающие время, когда они были сканированы, и были ли обнаружены какие-либо объекты в этих областях.
[83] Как обсуждается ниже, записи, хранящиеся для каждой из областей 405, 410, 415 и 420, могут указывать безопасный временной интервал для каждой из этих областей. Безопасный временной интервал может представлять собой определенное количество времени, в течение которого транспортное средство 220 может безопасно проезжать через каждую из зон 405, 410, 415 и 420. Если предлагаемая траектория для транспортного средства 220 включает в себя, например, зону 420, может быть определено расчетное время, в которое транспортное средство 220 покинет зону 420. Расчетное время, в которое транспортное средство 220 покинет зону 420, можно сравнить с сохраненным безопасным временным интервалом для зоны 420. Если расчетное время, когда транспортное средство 220 покинет зону 420, находится в пределах безопасного временного интервала для зоны 420, траектория может быть одобрена. В противном случае, если расчетное время выходит за пределы безопасного временного интервала для области 420, траектория может быть отклонена до тех пор, пока радары не смогут снова сканировать область 420.
Сохраненные временные интервалы
[84] На фиг. 5 показана таблица 500 безопасных временных интервалов согласно некоторым вариантам осуществления настоящей технологии. Таблица 500 является примером того, как могут быть сохранены безопасные временные интервалы, но следует понимать, что может использоваться любой способ хранения, который связывает область с безопасным временным интервалом. Каждая из областей 405, 410, 415 и 420 имеет связанный безопасный временной интервал. Безопасный временной интервал для области может быть определен на основе размера поля зрения датчиков транспортного средства. Способы расчета безопасных временных интервалов будут более подробно рассмотрены ниже.
[85] Безопасные временные интервалы могут быть сохранены с указанием времени начала и/или времени окончания. В таблице 500 временные интервалы сохранены как интервалы времени. В некоторых случаях безопасные временные интервалы могут быть сохранены как время окончания, а не как временной интервал. Безопасные временные интервалы могут включать в себя дату.
[86] Обе области 405 и 410 имеют одинаковое время начала, так как обе сканируются в настоящее время, как показано на Фиг.4. Области 415 и 420 предварительно сканировались, но в настоящее время не сканируются и теперь находятся в слепой зоне, поэтому их время начала и окончания раньше, чем у областей 405 и 410.
[87] Когда траектория для транспортного средства 220 определена, также может быть определена каждая область, которую транспортное средство 220 должно было бы пройти, следуя по траектории. Безопасные временные интервалы для каждой из этих областей могут быть извлечены, например, из таблицы 500, чтобы определить, следует ли принять траекторию или отклонить ее.
Способ записи безопасных временных интервалов (неограничивающий вариант осуществления)
[88] На фиг.6 представлена блок-схема способа 600 записи безопасных временных интервалов согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах, способ 600 или один или более его этапов могут выполняться компьютерной системой, такой как компьютерная система 100. Способ 600 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как невременное запоминающее устройство, загружаются в память и выполняются центральным процессором. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или их порядок следования может быть изменен.
Этап 605: Получение данных радара
[89] На этапе 605 данные могут быть получены от радаров и/или других датчиков. Радары и/или другие датчики могут быть прикреплены к транспортному средству и/или интегрированы в него. Например, данные могут быть получены от датчиков 280 транспортного средства 220. Данные могут быть получены одной или несколькими компьютерными системами 100, такими как одна или более компьютерных систем 100, интегрированных в транспортное средство 220. Компьютерные системы 100, принимающие данные, могут быть компьютерными системами 100, управляющими автономным вождением и/или другими функциями безопасности транспортного средства 220.
Этап 610: Определение областей, включенных в данные радара
[90] Как обсуждалось выше, данные, полученные на этапе 605, могут включать в себя различные слепые зоны. На дальность действия и/или зону покрытия радаров может влиять вращение радаров, факторы окружающей среды и/или другие условия. На этапе 610 могут быть определены области, охватываемые радарными данными, полученными на этапе 605. Эти области могут быть определены на карте и/или по отношению к транспортному средству. Эти области могут быть любого размера и/или формы. На фиг.4 показан пример, в котором области определены с помощью сетки.
Этап 615: Выбор первой области
[91] На этапе 615 может быть выбрана первая область из областей, определенных на этапе 610. Области можно выбирать в любом порядке. Этапы 620-40, описанные ниже, могут выполняться параллельно, и в этом случае несколько областей могут быть выбраны одновременно.
Этап 620: Определение того, есть ли в области какие-либо препятствия
[92] На этапе 620 данные радара и/или других датчиков, соответствующие области, могут быть исследованы, чтобы определить, имеются ли в этой области какие-либо препятствия, такие как другие транспортные средства. Данные радара могут указывать, отражаются ли радарные сигналы от каких-либо объектов в этой области. Для определения наличия каких-либо препятствий можно использовать несколько источников данных, соответствующих области, например данные LiDAR, соответствующие области, и видео области. Алгоритм машинного обучения (MLA) может использоваться, чтобы предсказать, есть ли в области какие-либо препятствия.
[93] Если определено, что область имеет препятствие, способ 600 может перейти к этапу 625. В противном случае, если определено, что область пуста, способ 600 может перейти к этапу 630.
Этап 625: Сохранение записи о том, что в области есть препятствие
[94] На этапе 625 может быть сохранена запись, указывающая, что в области есть препятствие. Запись может указывать на то, что в настоящее время нет безопасного временного интервала для этой области. Если движущееся транспортное средство обнаружено в области, могут быть сохранены такие подробности о движущемся транспортном средстве как направление движения, скорость, размер транспортного средства и/или любые другие данные, относящиеся к транспортному средству. Как более подробно обсуждается ниже со ссылкой на фиг. 7, информация, сохраненная в отношении транспортного средства, может использоваться для определения безопасного временного интервала для других областей.
Этап 630: Определение безопасного временного интервала для области
[95] Если на этапе 620 определено, что область не занята, безопасный временной интервал для области может быть определен на этапе 630. Безопасный временной интервал может быть периодом времени, в котором, согласно прогнозу, область будет безопасной для проезда транспортного средства, другими словами, временным интервалом, в течение которого область, согласно прогнозу, будет свободна от других транспортных средств или других препятствий.
[96] Безопасный временной интервал может быть определен на основании местоположения, направления движения, скорости других транспортных средств вокруг транспортного средства 220 и/или ограничения скорости проезжей части, по которой движется транспортное средство. Безопасный временной интервал может быть определен на основе слепых зон, для которых неизвестно, заняты ли области в этих слепых зонах другими транспортными средствами. Фиг. 7, обсуждаемая ниже, описывает пример способа расчета безопасного временного интервала для области.
Этап 635: Сохранение записи с безопасным временным интервалом
[97] На этапе 635 может быть сохранена запись с безопасным временным интервалом. Запись может включать в себя указание области, например набор координат широты и долготы, набор координат относительно положения транспортного средства и/или любое другое указание области. Запись может быть сохранена в таблице, такой как таблица 500, и/или в любой другой структуре данных. Каждый раз, когда для области определяется обновленный безопасный временной интервал, запись, соответствующая этой области, может обновляться и/или заменяться новым безопасным временным интервалом. Записи, для которых истек безопасный временной интервал, могут быть удалены, например, если текущее время позже, чем окончание безопасного временного интервала.
Этап 640: Выбор следующей области
[98] На этапе 640 может быть выбрана следующая область, охватываемая данными радара, и безопасный временной интервал для этой области может быть определен с использованием этапов 620-35. Хотя способ 600 иллюстрирует отдельные области в данных радара, обрабатываемые по-отдельности, области могут обрабатываться параллельно и/или более областей могут обрабатываться вместе. Например, если транспортное средство обнаружено с использованием данных радара, каждая из областей, в которых находится транспортное средство, может обрабатываться совместно, и индикация того, что эта область содержит препятствие, может быть сохранена для каждой из этих областей. Если на этапе 640 больше нет областей для обработки, способ 600 может завершиться до тех пор, пока не будут получены дополнительные данные датчика.
Способ определения безопасных временных интервалов (неограничивающий вариант осуществления)
[99] На фиг.7 представлена блок-схема способа 700 определения безопасных временных интервалов согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах, способ 700 или один или более его этапов могут выполняться компьютерной системой, такой как компьютерная система 100. Способ 700 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как невременное запоминающее устройство, загружаются в память и выполняются центральным процессором (CPU). Некоторые этапы или части этапов на блок-схеме могут быть пропущены или их порядок следования может быть изменен.
[100] Как обсуждалось выше, безопасные временные интервалы могут быть определены для местоположений и/или областей. Области могут быть любого размера и/или формы. Безопасные временные интервалы могут быть периодом времени, в течение которого, согласно прогнозу, в данной области не будет других транспортных средств и будет безопасно для транспортного средства осуществить въезд и/или выезд.
Этап 705: Получение области, которая, по данным радара, свободна
[101] На этапе 705 может быть получено указание области. Например, указание области может быть получено на этапе 630 способа 600. Указанием области могут быть координаты, местоположение относительно транспортного средства и/или любое другое указание области. Площадь могла быть определена как свободная. Другими словами, могло быть определено, что в данный момент в этой области нет транспортного средства.
Этап 710: Определение местоположения ближайшего транспортного средства, которое может попасть в область
[102] На этапе 710 может быть определено местоположение ближайшего транспортного средства, которое может попасть в область. Местоположением может быть положение ближайшего транспортного средства и/или транспортного средства, которое скорее всего попадет в эту область. Если не обнаружено транспортное средство, которое попадет в область, полученную на этапе 705, этот этап можно пропустить. Например, если не было обнаружено ни одного транспортного средства, движущегося в эту область, этот этап можно пропустить.
[103] Данные радара, данные датчиков и/или другие данные могут использоваться для определения того, имеются ли какие-либо транспортные средства, движущиеся в направлении области. Сохраненные данные, соответствующие другим областям, могут использоваться для определения того, имеются ли какие-либо транспортные средства, движущиеся в эту область. Если в направлении области движется одно или более транспортных средств, может быть выбрано местоположение для транспортного средства, которое первым попадет в область, например, транспортное средство, ближайшее к области.
[104] Местоположение транспортного средства может быть выбрано даже в том случае, если транспортное средство, исходя из его текущей траектории, не попадет в область. Если транспортное средство может изменить направление, чтобы попасть в область, можно выбрать местоположение, соответствующее этому транспортному средству. Например, область может находиться в первой полосе движения, и первое транспортное средство, движущееся по этой первой полосе движения, может, по оценкам, попасть в область через пятнадцать секунд. Второе транспортное средство, движущееся по другой полосе движения, может сменить полосу движения и попасть в область за пять секунд в зависимости от текущей скорости второго транспортного средства. В этом примере местоположение второго транспортного средства может быть выбрано как местоположение ближайшего транспортного средства, которое может попасть в область.
Этап 715: Определение местоположения ближайшего возможного транспортного средства, которое может попасть в эту область
[105] На этапе 710 может быть выбрано местоположение, соответствующее фактически обнаруженному транспортному средству. Напротив, на этапе 715 может быть определено местоположение гипотетического транспортного средства. Это может быть местоположение, находящееся за пределами зоны действия радара или в слепой зоне, в которой транспортное средство может находиться, но не может быть обнаружено. Может быть выбрано местоположение ближайшее к области, находящейся вне зоны действия радара и/или в слепой зоне.
[106] Местоположение может быть выбрано на основе известных характеристик проезжей части, таких как направление движения и/или полосы движения. Например, если направление движения проезжей части - север, можно выбрать местоположение к югу от области, потому что транспортное средство в этом месте будет двигаться в направлении области. Местоположение может быть определено на основе полосы движения, в которой находится данная область. Может быть определена полоса движения, соответствующая области. Выбранное местоположение может быть ближайшим местоположением, находящимся за пределами зоны действия радара, в той же полосе движения, что и область.
[107] Вероятность того, что транспортное средство находится в местоположении, можно спрогнозировать для местоположений за пределами зоны действия радара транспортного средства и/или в слепых зонах транспортного средства. Прогнозируемая вероятность может быть определена путем ввода данных датчика и/или других данных в алгоритм машинного обучения (MLA), обученный предсказывать вероятность того, что местоположение содержит транспортное средство. Местоположение ближайшего возможного транспортного средства может быть выбрано на основе прогнозируемой вероятности. Например, может быть установлена пороговая предсказанная вероятность, где местоположения должны удовлетворять пороговой предсказанной вероятности, выбранной в качестве местоположения для гипотетического транспортного средства.
Этап 720: Определение минимального времени пути для попадания транспортного средства в область
[108] На этапе 720 может быть определено минимальное время пути для попадания транспортного средства в область для одного из транспортных средств. Минимальное время пути может быть определено для фактического транспортного средства, идентифицированного на этапе 710, и/или гипотетического транспортного средства, определенного на этапе 715. Минимальное время пути может быть определено на основании ограничения скорости проезжей части, по которой движутся транспортные средства. В случае фактически обнаруженного транспортного средства, минимальное время пути может быть определено на основе обнаруженной скорости, с которой движется транспортное средство.
[109] Скорость может быть выбрана для расчета минимального времени пути. Скорость может быть пределом скорости для проезжей части. Для учета транспортных средств, которые могут двигаться с превышением ограничения скорости, скорость может быть увеличена на заранее определенную величину, например, на 5 километров в час или на десять процентов. Например, если ограничение скорости составляет 60 километров в час, скорость, которая будет использоваться при определении минимального времени в пути, может составлять 66 километров в час. Скорость может быть измерена в любых подходящих единицах, например в метрах в секунду.
[110] Если скорость вычисляется для фактического транспортного средства, которое было идентифицировано на этапе 710, скорость может быть основана на обнаруженной скорости транспортного средства. Чтобы учесть возможное ускорение транспортного средства, обнаруженная скорость может быть увеличена на заранее определенную величину.
[111] Минимальное время в пути может быть определено путем вычисления расстояния между областью и местоположением, определенным на этапе 710 и/или 715. После расчета расстояния минимальное время пути для попадания в область может быть определено на основе определенной скорости. Минимальное количество времени может быть количеством времени, которое потребуется транспортному средству, движущемуся с определенной скоростью, для прохождения определенного расстояния. Например, если расстояние между местоположением транспортного средства и областью составляет 50 метров, а определенная скорость составляет 36 километров в час, минимальное время в пути от местоположения до области будет составлять 5 секунд.
[112] Если время пути было вычислено как для фактического местоположения транспортного средства, идентифицированного на этапе 710, так и для гипотетического местоположения транспортного средства, определенного на этапе 715, может быть выбран минимум из двух времен прохождения. Например, если время пути попадания в область для обнаруженного транспортного средства составляет шесть секунд, а время пути попадания в область для гипотетического транспортного средства составляет три секунды, минимальное время в пути будет составлять три секунды.
Этап 725: Определение безопасного временного интервала для области
[113] На этапе 725 может быть определен безопасный временной интервал для области, полученной на этапе 705. Безопасный временной интервал может быть определен на основе минимального времени пути, определенного на этапе 720. Для определения безопасного временного интервала могут использоваться различные способы. Безопасный временной интервал может начинаться в то время, когда область была просканирована радаром и/или другими датчиками. Минимальное время пути, определенное на этапе 720, может быть добавлено к начальному временному интервалу, и эта сумма может быть окончанием безопасного временного интервала.
[114] Например, для области 415, как проиллюстрировано в таблице 500, время последнего сканирования области 415 могло быть 15:11:13, и минимальное время пути для транспортного средства, чтобы добраться до этой области могло быть определено равным 6:27, в результате чего безопасный временной интервал заканчивается в 15:17:40, как показано на Фиг. 5.
Этап 730: Сохранение записи безопасного временного интервала
[115] На этапе 730 запись может быть сохранена с указанием области и безопасного временного интервала. На Фиг. 5 показан пример таблицы записей безопасного временного интервала. Запись может храниться в базе данных и/или в любой другой структуре хранения данных. Сохраненная запись затем может быть извлечена при определении того, утверждать ли предлагаемую траекторию для транспортного средства.
Способ определения траектории движения транспортного средства (неограничивающий вариант осуществления)
[116] На Фиг.8 представлена блок-схема способа 800 определения траектории транспортного средства согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах, способ 800 или один или более его этапов могут выполняться компьютерной системой, такой как компьютерная система 100. Способ 800 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как невременное запоминающее устройство, загружаться в память и выполняться центральным процессором. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или их порядок следования может быть изменен.
Этап 805: Получение предлагаемой траектории
[117] На этапе 805 может быть получена предлагаемая траектория для транспортного средства. Предлагаемая траектория может быть представлена в любом формате, таком как последовательность местоположений, последовательность областей, направление, кривая, скорость и/или любой другой подходящий формат траектории. Если формат не является последовательностью областей, может быть определена последовательность областей, через которые будет проезжать транспортное средство, если оно будет следовать по траектории.
Этап 810: Все ли области на траектории в текущем поле зрения пусты?
[118] На этапе 810 может быть определено то, являются ли области, которые пересекает предлагаемая траектория, пустыми. Каждая из областей на траектории, которые находятся в текущем поле зрения, может быть исследована, чтобы определить, имеются ли на траектории какие-либо транспортные средства. Если в какой-либо из областей находится транспортное средство, способ 800 может перейти к этапу 815, на котором траектория может быть отклонена.
[119] В противном случае, если все области в пределах поля зрения радара определены как свободные для других транспортных средств, способ 800 может перейти к этапу 820, на котором можно оценить области, находящиеся за пределами поля зрения радара, чтобы определить, следует ли транспортному средству продолжить движение по траектории.
[120] Если на траектории нет слепых зон, траектория может быть утверждена на этапе 810 без использования сохраненных данных, указывающих безопасные временные интервалы. Данные радара и/или других датчиков можно использовать для определения того, имеются ли какие-либо препятствия на предлагаемой траектории и/или попадают на предлагаемую траекторию, и если препятствий нет, предлагаемая траектория может быть одобрена для использования.
Этап 815: Отклонение траектории
[121] На этапе 815 траектория может быть отклонена, поскольку она пересекает область, которая в настоящее время занята другим транспортным средством. Может быть определена альтернативная траектория, которая не включает в себя упомянутую область или которая пересекает упомянутую область в другое время.
Этап 820: Выбор области за пределами поля зрения радара
[122] На этапе 820 может быть выбрана одна из областей на траектории, которая находится в слепой зоне. Области на траектории можно выбирать в любом порядке. Можно выбрать каждую из областей, которые пересекает траектория, включая области, которые находятся в слепой зоне, и области, которые не находятся в слепой зоне. В некоторых случаях области, которые не находятся в слепой зоне и в настоящее время видимы для радара, могут быть не выбраны.
Этап 825: Определение ожидаемого времени прибытия в область
[123] На этапе 825 может быть определено ожидаемое время, когда транспортное средство попадет в область и/или покинет ее. Ожидаемое время может быть определено с использованием траектории, запланированной скорости транспортного средства и/или текущей скорости транспортного средства 220. Может быть определено расстояние между текущим местоположением транспортного средства и областью. Количество времени, которое потребуется транспортному средству, чтобы добраться до области, может быть определено на основе текущей скорости и/или запланированной скорости транспортного средства 220. Траектория может указывать на приблизительное время прибытия в область.
Этап 830: Извлечение безопасного временного интервала для области
[124] На этапе 830 может быть извлечен сохраненный безопасный временной интервал для области. Безопасный временной интервал может быть определен заранее, например, с использованием способа 700. Как обсуждалось выше, безопасный временной интервал может периодически обновляться по мере получения новых данных датчика. Каждый раз, когда безопасный временной интервал обновляется, безопасный временной интервал может быть сохранен вместе с указанием области. Безопасный временной интервал может быть извлечен из таблицы, базы данных и/или любой другой структуры данных.
Этап 835: Сравнение ожидаемого времени прибытия (ETA) и безопасного временного интервала
[125] На этапе 835 может быть выполнено определение того, находится ли время, определенное на этапе 825, в пределах безопасного временного интервала, извлеченного на этапе 830. Определение может заключаться в том, попадет ли транспортное средство 220 в область и/или покинет ее до окончания безопасного временного интервала. Если транспортное средство 220 не попадет в область и/или не покинет ее до окончания безопасного временного интервала, способ 800 может перейти к этапу 845, на котором траектория отклоняется. В противном случае, если ожидаемое время, в течение которого транспортное средство 220 будет попадать в область и/или покидать ее, приходится на безопасный временной интервал, способ 800 может перейти к этапу 840.
Этап 840: Выбор следующей области за пределами поля зрения радара
[126] На этапе 840 может быть выбрана следующая область на траектории. Можно выбрать область, которая находится в слепой зоне. Действия, выполняемые на этапе 840, могут быть аналогичны действиям, описанным выше в отношении этапа 820.
[127] Если все области на траектории были определены как безопасные и на этапе 840 нет оставшихся областей для выбора, траектория может быть утверждена. Транспортному средству 220 может быть дана инструкция следовать по траектории.
Этап 845: Отклонение траектории
[128] На этапе 845 траектория может быть отклонена, поскольку она пересекает область в течение времени, выходящего за пределы безопасного временного интервала для этой области. Вместо того, чтобы отклонять траекторию, способ 800 может ждать, пока не будут получены дополнительные данные датчиков, чтобы определить, свободна ли область от других транспортных средств и/или препятствий. Может быть определена альтернативная траектория, которая не включает в себя область или которая пересекает область в другое время.
[129] Для специалистов в данной области техники должно быть очевидно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение диапазона технических решений для решения конкретной технической проблемы, а именно на определение ранговых позиций элементов с помощью системы ранжирования.
[130] Следует ясно понимать, что не все технические эффекты, упомянутые в данном документе, должны достигаться в каждой реализации настоящей технологии. Например, реализации настоящей технологии могут быть осуществлены без обеспечения пользователю некоторых из этих технических эффектов, в то время как другие реализации могут быть осуществлены с обеспечением пользователю других технических эффектов или без обеспечения каких-либо технических эффектов.
[131] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для использования в качестве примеров, а не для ограничения. Поэтому подразумевается, что объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.