СПОСОБ И СИСТЕМА ДЛЯ ПРЕДСКАЗАНИЯ БУДУЩЕГО СОБЫТИЯ В БЕСПИЛОТНОМ АВТОМОБИЛЕ (SDC)
METHOD AND SYSTEM FOR PREDICTING A FUTURE EVENT IN A SELF-DRIVING CAR (SDC)

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящая технология относится к реализуемым компьютером способам и системам для автомобилей с компьютерной поддержкой и, более конкретно, к способам и системам для предсказания будущего события в беспилотном автомобиле.
Предшествующий уровень техники
[0002] Полностью или высоко автоматизированные системы вождения могут быть спроектированы, чтобы приводить в действие транспортное средство на дороге без взаимодействия с водителем (например, беспилотный режим) или другого внешнего управления. Например, беспилотные транспортные средства и/или автономные транспортные средства спроектированы, чтобы приводить в действие транспортное средство с компьютерной поддержкой.
[0003] Автономное транспортное средство выполнено с возможностью проходить запланированный путь между своим текущим положением и целевым будущим положением без ввода (или с минимальным вводом) от водителя. Близкие/соседние транспортные средства могут двигаться вдоль путей или траекторий, которые могут пересекаться с запланированной траекторией автономного транспортного средства. Это, в частности, справедливо, когда автономное транспортное средство приближается к перекрестку.
[0004] Некоторые системы способны генерировать запланированную траекторию для навигации автономного транспортного средства через перекресток. Однако, чтобы действовать безопасно и эффективно на перекрестке или где-либо еще на дороге, компьютерные системы должны учитывать приоритеты ближних/соседних транспортных средств для принятия решения.
Краткое описание сущности изобретения
[0005] Разработчики настоящей технологии осознали, что решения предшествующего уровня техники имеют недостатки.
[0006] В первом широком аспекте настоящей технологии, обеспечен способ для генерирования траектории для беспилотного автомобиля (SDC). SDC ассоциирован с электронным устройством. Способ выполняется электронным устройством. Способ содержит генерирование, электронным устройством, траектории-кандидата для SDC, причем траектория-кандидат для SDC имеет множество точек траектории. Способ содержит, для данной одной из множества точек траектории, определение, электронным устройством, наличия множества динамических объектов вокруг SDC в данной одной из множества точек траектории. Способ содержит, для данной одной из множества точек траектории, применение, электронным устройством, первого алгоритма, чтобы определить набор кандидатов на столкновение. Набор кандидатов на столкновение представляет собой поднабор множества динамических объектов. Ассоциированный набор кандидатов на столкновение потенциально вызывает столкновение с SDC, когда SDC находится в данной одной из множества точек траектории. Способ содержит генерирование, электронным устройством, представления линии сегмента SDC. Способ содержит генерирование, электронным устройством, соответственной ограничительной рамки вокруг каждого из набора кандидатов на столкновение. Способ содержит, для данного одного из набора кандидатов на столкновение, определение, электронным устройством, расстояния между линией сегмента и соответственной ограничительной рамкой, чтобы определить разделяющее расстояние между SDC и данным одним из набора кандидатов на столкновение. Определение расстояния включает в себя (i) применение, электронным устройством, второго алгоритма, чтобы определить поднабор сторон соответственной ограничительной рамки для анализа, и (ii) определение расстояние основано только на поднаборе сторон соответственной ограничительной рамки и линии сегмента. Способ содержит в ответ на то, что разделяющее расстояние между данным одним из набора кандидатов на столкновение и SDC ниже, чем предопределенный порог, определение, что данный один из набора кандидатов на столкновение вызвал бы столкновение с SDC, если SDC следует траектории-кандидату. Способ содержит изменение, электронным устройством, по меньшей мере ассоциированной данной одной из множества точек траектории упомянутой траектории-кандидата, чтобы визуализировать измененную траекторию-кандидат.
[0007] В некоторых вариантах осуществления способа предопределенный порог составляет половину ширины SDC.
[0008] В некоторых вариантах осуществления способа ширина представляет собой наибольшую ширину SDC.
[0009] В некоторых вариантах осуществления способа применение первого алгоритма содержит применение сетки, причем сетка имеет ячейку с предопределенным размером.
[0010] В некоторых вариантах осуществления способа, чтобы определить набор кандидатов на столкновение, способ дополнительно содержит определение набора кандидатов на столкновение, которые расположены в пределах предопределенного количества ячеек от ячейки, ассоциированной с SDC.
[0011] В некоторых вариантах осуществления способ дополнительно содержит предварительное определение предопределенного размера.
[0012] В некоторых вариантах осуществления способа предварительное определение основано на балансировании скорости обработки и количества потенциальных ложноположительных результатов.
[0013] В некоторых вариантах осуществления способа генерирование линии сегмента содержит: (i) выбор передней точки, которая представляет собой точку посередине переднего бампера SDC, (ii) выбор задней точки, которая представляет собой точку посередине заднего бампера SDC, (iii) проведение линии через переднюю точку и заднюю точку и (iv) выбор двух точек отсечки на линии для определения линии сегмента, причем точки отсечки выбираются так, что окружность с радиусом предопределенного порога охватывала бы каждую точку SDC, на переднем бампере и заднем бампере SDC, соответственно.
[0014] В некоторых вариантах осуществления способа применение второго алгоритма содержит, для соответственной ограничительной рамки данного одного из набора кандидатов на столкновение, определение системы координат путем: (i) определения продольной оси через продольную срединную точку на сторонах соответственной ограничительной рамки и поперечной оси через поперечную срединную точку спереди и сзади соответственной ограничительной рамки и так, что (ii) система координат имеет нулевую точку на пересечении продольной оси и поперечной оси.
[0015] В некоторых вариантах осуществления способа применение второго алгоритма дополнительно содержит проецирование линии сегмента на продольную ось и поперечную ось для определения спроецированного положения линии сегмента в системе координат.
[0016] В некоторых вариантах осуществления способ дополнительно содержит применение по меньшей мере одной эвристики к спроецированному положению и продольной оси и поперечной оси.
[0017] В некоторых вариантах осуществления способа, по меньшей мере, одна эвристика содержит одно из следующего: (i) в ответ на то, что спроецированное положение полностью находится на одной из: (i) левой стороны, правой стороны, передней стороны и задней стороны; поднабор сторон соответственной ограничительной рамки содержит только одну из левой стороны, правой стороны, передней стороны и задней стороны; (ii) в ответ на то, что спроецированное положение полностью находится на одной из: левой стороны, правой стороны, передней стороны и задней стороны; поднабор сторон соответственной ограничительной рамки содержит только одну из левой стороны, правой стороны, передней стороны и задней стороны; (iii) в ответ на то, что спроецированное положение находится внутри одного из горизонтального коридора и вертикального коридора; проверку, что поднабор сторон соответственной ограничительной рамки содержит одну сторону ограничительной рамки; (iv) в ответ на то, что спроецированное положение находится за пределами как горизонтального коридора, так и вертикального коридора; проверку, что поднабор сторон соответственной ограничительной рамки содержит один угол ограничительной рамки; (v) в ответ на то, что спроецированное положение пересекается с осью X системы координат, поднабор сторон содержит точку пересечения линии сегмента с осью X.
[0018] В некоторых вариантах осуществления способа набор кандидатов на столкновение меньше, чем множество динамических объектов вокруг.
[0019] В некоторых вариантах осуществления способа поднабор сторон соответственной ограничительной рамки меньше, чем четыре.
[0020] В некоторых вариантах осуществления способа поднабор сторон соответственной ограничительной рамки составляет два.
[0021] Во втором широком аспекте настоящей технологии обеспечено электронное устройство для генерирования траектории для беспилотного автомобиля (SDC). SDC ассоциирован с электронным устройством. Электронное устройство выполнено с возможностью генерировать траекторию-кандидат для SDC, причем траектория-кандидат для SDC имеет множество точек траектории. Электронное устройство выполнено с возможностью, для данной одной из множества точек траектории, определять наличие множества динамических объектов вокруг SDC в данной одной из множества точек траектории. Электронное устройство выполнено с возможностью, для данной одной из множества точек траектории, применять первый алгоритм, чтобы определить набор кандидатов на столкновение, причем набор кандидатов на столкновение представляет собой поднабор множества динамических объектов. Ассоциированный набор кандидатов на столкновение потенциально вызывает столкновение с SDC, когда SDC находится в данной одной из множества точек траектории. Электронное устройство выполнено с возможностью генерировать представление линии сегмента SDC. Электронное устройство выполнено с возможностью генерировать соответственную ограничительную рамку вокруг каждого из набора кандидатов на столкновение. Электронное устройство выполнено с возможностью, для данного одного из набора кандидатов на столкновение, определять расстояние между линией сегмента и соответственной ограничительной рамкой, чтобы определить разделяющее расстояние между SDC и данным одним из набора кандидатов на столкновение. Чтобы определить расстояние, электронное устройство выполнено с возможностью применять второй алгоритм, чтобы определить поднабор сторон соответственной ограничительной рамки для анализа. Определение расстояния электронным устройством основано только на поднаборе сторон соответственной ограничительной рамки и линии сегмента. Электронное устройство выполнено с возможностью в ответ на то, что разделяющее расстояние между данным одним из набора кандидатов на столкновение и SDC ниже, чем предопределенный порог, определять, что данный один из набора кандидатов на столкновение вызвал бы столкновение с SDC, если SDC следует траектории-кандидату. Электронное устройство выполнено с возможностью изменять по меньшей мере ассоциированную данную одну из множества точек траектории упомянутой траектории-кандидата для визуализации измененной траектории-кандидата.
[0022] В некоторых вариантах осуществления электронного устройства предопределенный порог составляет половину ширины SDC.
[0023] В некоторых вариантах осуществления электронного устройства ширина представляет собой наибольшую ширину SDC.
[0024] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью применять первый алгоритм, содержит электронное устройство, выполненное с возможностью применять сетку, причем сетка имеет ячейку с предопределенным размером.
[0025] В некоторых вариантах осуществления электронного устройства, чтобы определить набор кандидатов на столкновение, электронное устройство дополнительно выполнено с возможностью определять набор кандидатов на столкновение, которые расположены в пределах предопределенного количества ячеек от ячейки, ассоциированной с SDC.
[0026] В некоторых вариантах осуществления электронное устройство дополнительно выполнено с возможностью предварительно определять предопределенный размер.
[0027] В некоторых вариантах осуществления электронное устройство, выполненное с возможностью предварительного определения, основано на балансировании скорости обработки и количества потенциальных ложноположительных результатов.
[0028] В некоторых вариантах осуществления электронное устройство, выполненное с возможностью генерировать линию сегмента, содержит электронное устройство, выполненное с возможностью: выбирать переднюю точку, которая представляет собой точку посередине переднего бампера SDC, выбирать заднюю точку, которая представляет собой точку посередине заднего бампера SDC, проводить линию через переднюю точку и заднюю точку и выбирать две точки отсечки на линии для определения линии сегмента, причем точки отсечки выбираются так, что окружность с радиусом предопределенного порога охватывала бы каждую точку SDC, на переднем бампере и заднем бампере SDC, соответственно.
[0029] В некоторых вариантах осуществления электронного устройства применение второго алгоритма содержит электронное устройство, выполненное с возможностью для соответственной ограничительной рамки данного одного из набора кандидатов на столкновение, определять систему координат путем определения продольной оси через продольную срединную точку на сторонах соответственной ограничительной рамки и поперечной оси через поперечную срединную точку спереди и сзади соответственной ограничительной рамки, и так, что система координат имеет нулевую точку на пересечении продольной оси и поперечной оси.
[0030] В некоторых вариантах осуществления электронное устройство, выполненное с возможностью применять второй алгоритм, дополнительно содержит электронное устройство, выполненное с возможностью проецировать линию сегмента на продольную ось и поперечную ось для определения спроецированного положения линии сегмента в системе координат.
[0031] В некоторых вариантах осуществления электронное устройство дополнительно выполнено с возможностью применять по меньшей мере одну эвристику к спроецированному положению продольной оси и поперечной оси.
[0032] В некоторых вариантах осуществления электронного устройства по меньшей мере одна эвристика содержит одно из следующего: (i) в ответ на то, что спроецированное положение полностью находится на одной из: (i) левой стороны, правой стороны, передней стороны и задней стороны; поднабор сторон соответственной ограничительной рамки содержит только одну из левой стороны, правой стороны, передней стороны и задней стороны; (ii) в ответ на то, что спроецированное положение полностью находится на одной из: левой стороны, правой стороны, передней стороны и задней стороны; поднабор сторон соответственной ограничительной рамки содержит только одну из левой стороны, правой стороны, передней стороны и задней стороны; (iii) в ответ на то, что спроецированное положение находится внутри одного из горизонтального коридора и вертикального коридора; проверку, что поднабор сторон соответственной ограничительной рамки содержит одну сторону ограничительной рамки; (iv) в ответ на то, что спроецированное положение находится за пределами как горизонтального коридора, так и вертикального коридора; проверку, что поднабор сторон соответственной ограничительной рамки содержит один угол ограничительной рамки; (v) в ответ на то, что спроецированное положение пересекается с осью X системы координат, поднабор сторон содержит точку пересечения линии сегмента с осью X.
[0033] В некоторых вариантах осуществления электронного устройства набор кандидатов на столкновение меньше, чем множество динамических объектов вокруг.
[0034] В некоторых вариантах осуществления электронного устройства поднабор сторон соответственной ограничительной рамки меньше, чем четыре.
[0035] В некоторых вариантах осуществления электронного устройства поднабор сторон соответственной ограничительной рамки составляет два.
[0036] В контексте настоящего описания "сервер" представляет собой компьютерную программу, которая работает на подходящих аппаратных средствах и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратные средства могут быть реализованы как один физический компьютер или одна физическая компьютерная система, но ничто из этого не является обязательным требованием для настоящей технологии. В настоящем контексте, использование выражения "сервер" не должно означать, что каждая задача (например, принятые инструкции или запросы) или любая конкретная задача будет принята, выполнена или побуждаться к выполнению одним и тем же сервером (т.е. одним и тем же программным обеспечением и/или аппаратными средствами); оно должно означать, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или побуждение выполнения любой задачи или запроса или следствий любой задачи или запроса; и все из этого программного обеспечения и аппаратных средств могут представлять собой один сервер или множество серверов, оба из которых включены в выражение "по меньшей мере один сервер".
[0037] В контексте настоящего описания, "электронное устройство" представляет собой любые компьютерные аппаратные средства, которые способны выполнять программное обеспечение, подходящее для релевантной рассматриваемой задачи. В контексте настоящего описания термин "электронное устройство" подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не является обязательным требованием для настоящей технологии. Таким образом, некоторые (неограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, переключатели и шлюзы. Следует понимать, что в настоящем контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения "электронное устройство" не исключает использования множества клиентских устройств при приеме/отправке, выполнении или побуждении выполнения какой-либо задачи или запроса или следствий какой-либо задачи или запроса, или этапов любого способа, описанного здесь.
[0038] В контексте настоящего описания, "клиентское устройство" представляет собой любые компьютерные аппаратные средства, которые способны выполнять программное обеспечение, подходящее для релевантной рассматриваемой задачи. В контексте настоящего описания, в общем, термин "клиентское устройство" ассоциирован с пользователем клиентского устройства. Таким образом, некоторые (неограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, переключатели и шлюзы. Следует отметить, что не исключается, что устройство, действующее как клиентское устройство в настоящем контексте, может действовать как сервер для других клиентских устройств. Использование выражения "клиентское устройство" не препятствует использованию множества клиентских устройств в приеме/отправке, выполнении или побуждении выполнения какой-либо задачи или запроса или следствий какой-либо задачи или запроса, или этапов любого способа, описанного здесь.
[0039] В контексте настоящего описания, выражение "информация" включает в себя информацию любого характера или вида, которая может храниться в базе данных. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные местоположения, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[0040] В контексте настоящего описания, выражение "компонент программного обеспечения" предназначено включать в себя программное обеспечение (подходящее для конкретного контекста аппаратных средств), которое является необходимым и достаточным для реализации конкретной рассматриваемой функции(й).
[0041] В контексте настоящего описания, выражение "компьютерные носители хранения информации" (также называемые "носителями хранения") предназначено, чтобы включать в себя носители любого характера и вида, включая, без ограничения, RAM, ROM, диски (CD-ROM, DVD, флоппи-диски, жесткие диски и т.д.), USB-ключи, твердотельные накопители, накопители на магнитной ленте и т.д. Множество компонентов могут комбинироваться для формирования компьютерных носителей хранения информации, включая два или более компонентов носителей одного и того же типа и/или два или более компонентов носителей разных типов.
[0042] В контексте настоящего описания, "база данных" представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программного обеспечения управления базой данных или компьютерных аппаратных средств, на которых данные хранятся, реализуются или иным образом предоставляются для использования. База данных может находиться на тех же самых аппаратных средствах, что и процесс, который хранит или использует информацию, сохраненную в базе данных, или она может находиться на отдельных аппаратных средствах, таких как выделенный сервер или множество серверов.
[0043] В контексте настоящего описания, слова "первый", "второй", "третий" и т.д. были использованы как прилагательные только в целях обеспечения возможности различения между существительными, которые они модифицируют, друг от друга, а не в целях описания какого-либо конкретного отношения между этими существительными. Таким образом, например, следует понимать, что использование терминов "первая база данных" и "третий сервер" не подразумевает какой-либо конкретный порядок, тип, хронологию, иерархию или ранжирование (например) среди/между серверами, а также их использование (самостоятельно) не подразумевает, что некоторый "второй сервер" должен обязательно существовать в некоторой данной ситуации. Дополнительно, как обсуждается здесь в других контекстах, ссылка на "первый" элемент и "второй" элемент не препятствует тому, что два элемента представляют собой тот же самый действительный реальный элемент. Таким образом, например, в некоторых примерах, "первый" сервер и "второй" сервер могут представлять собой те же самые компоненты программного обеспечения и/или аппаратных средств, в других случаях они могут представлять собой разные компоненты программного обеспечения и/или аппаратных средств.
[0044] Каждая реализация настоящей технологии имеет по меньшей мере одну из вышеупомянутых целей и/или аспектов, но не обязательно имеет все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в результате попытки достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целями, не изложенным конкретно здесь.
[0045] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидны из следующего описания, сопровождающих чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[0046] Эти и другие признаки, аспекты и преимущества настоящей технологии будут более понятны, принимая во внимание следующее описание, прилагаемую формулу изобретения и сопровождающие чертежи, где:
[0047] Фиг. 1 изображает схематичную диаграмму примерной компьютерной системы для реализации определенных вариантов осуществления систем и/или способов настоящей технологии.
[0048] Фиг. 2 изображает сетевую компьютерную среду, подходящую для использования с некоторыми реализациями настоящей технологии.
[0049] Фиг. 3 изображает данные, хранящиеся в хранилище сетевой вычислительной среды согласно фиг. 2, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии.
[0050] Фиг. 4 изображает представление карты сегмента дороги, по которому движется транспортное средство сетевой вычислительной среды согласно фиг. 2, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии.
[0051] Фиг. 5 изображает сетку, наложенную на представление карты согласно фиг. 4, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии.
[0052] Фиг. 6 изображает процесс генерации вычислительно эффективного представления транспортного средства сетевой вычислительной среды согласно фиг. 2, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии.
[0053] Фиг. 7 изображает процесс генерации вычислительно эффективного представления другого транспортного средства на сегменте дороги согласно фиг. 4, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии.
[0054] Фиг. 8 изображает процесс анализа расстояния между вычислительно эффективными представлениями транспортного средства и вычислительно эффективными представлениями другого транспортного средства, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии.
[0055] Фиг. 9 изображает блок-схему последовательности операций способа, причем способ исполняется компьютерным устройством, в соответствии с не ограничивающими вариантами осуществления настоящей технологии.
[0056] Фиг. 10 изображает первый сценарий сравнения вычислительно эффективного представления транспортного средства согласно фиг. 6 с вычислительно эффективным представлением другого транспортного средства согласно фиг. 7.
[0057] Фиг. 11 изображает второй сценарий сравнения вычислительно эффективного представления транспортного средства согласно фиг. 6 с вычислительно эффективным представлением другого транспортного средства согласно фиг. 7.
Подробное описание
[0058] Примеры и условный язык, как изложено здесь, принципиально предназначены для того, чтобы помогать читателю в понимании принципов настоящей технологии и не ограничивать ее объем такими конкретно изложенными примерами и условиями. Понятно, что специалисты в данной области техники смогут создать различные компоновки, которые, хотя не описаны или не показаны здесь явно, тем не менее воплощают принципы настоящей технологии и включены в ее сущность и объем.
[0059] Более того, в качестве помощи в понимании, следующее описание может описывать относительно упрощенные реализации настоящей технологии. Как будет понятно специалистам в данной области техники, различные реализации настоящей технологии могут быть более сложными.
[0060] В некоторых случаях, может также быть изложено то, что считается полезными примерами модификаций настоящей технологии. Это делается только в качестве помощи в понимании, но, вновь, не для определения объема или установления границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области техники сможет создать другие модификации, тем не менее остающиеся в пределах объема настоящей технологии. Дополнительно, если примеры модификаций не были изложены, это не должно интерпретироваться так, что модификации невозможны и/или что описанное представляет собой единственный способ реализации этого элемента настоящей технологии.
[0061] Более того, все положения в настоящем документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры должны включать в себя как структурные, так и функциональные их эквиваленты, независимо от того, известны ли они в настоящем или будут разработаны в будущем. Таким образом, например, специалистам в данной области техники будет понятно, что любые блок-схемы здесь представляют концептуальные представления иллюстративных схем, воплощающих принципы настоящей технологии.
[0062] Аналогично, будет понятно, что любые блок-схемы последовательностей операций, блок-схемы процесса, диаграммы переходов состояний, псевдокоды и тому подобное представляют различные процессы, которые могут по существу быть представлены в считываемых компьютером носителях и поэтому исполняться компьютером или процессором, независимо от того, показан ли такой компьютер или процессор явно или нет.
[0063] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как "процессор", могут обеспечиваться через использование выделенных аппаратных средств, а также аппаратных средств, способных исполнять программное обеспечение в ассоциации с подходящим программным обеспечением. При обеспечении процессором, функции могут обеспечиваться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно.
[0064] Более того, явное использование термина "процессор" или "контроллер" не должно пониматься как ссылающееся исключительно на аппаратные средства, способные исполнять программное обеспечение, и может в неявном виде включать в себя, без ограничения, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, память с произвольным доступа (RAM) и энергонезависимое хранилище. Другие аппаратные средства, обычные и/или персонализированные, могут также быть включены.
[0065] Модули программного обеспечения или просто модули, которые подразумеваются представляющими собой программное обеспечение, могут быть представлены здесь как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса, и/или текстовое описание. Такие модули могут исполняться аппаратными средствами, которые показаны в явном или в неявном виде.
[0066] С этими введенными фундаментальными положениями, теперь рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
Компьютерная система
[0067] Со ссылкой сначала на фиг. 1 изображена компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии, причем компьютерная система 100 содержит различные компоненты аппаратных средств, включая один или более одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельный накопитель 120, память 130, которая может представлять собой память с произвольным доступом или любой другой тип памяти. Связь между различными компонентами компьютерной системы 100 может обеспечиваться одной или несколькими внутренними и/или внешними шинами (не показаны) (например, шиной PCI, универсальной последовательной шиной, шиной IEEE 1394 “Firewire”, шиной SCSI, шиной Serial-ATA и т.д.), с которыми электронным способом связаны различные компоненты аппаратных средств.
[0068] По меньшей мере в некоторых вариантах осуществления настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в память 130 и исполнения процессором 110 для определения присутствия объекта. Например, программные инструкции могут быть частью приложения управления транспортным средством, исполняемого процессором 110.
[0069] По меньшей мере в некоторых вариантах осуществления настоящей технологии предполагается, что компьютерная система 100 может иметь дополнительные и/или опциональные компоненты, такие как модуль 140 сетевой связи для связи, посредством сети связи (например, сети 240 связи, изображенной на фиг. 2), с другими электронными устройствами и/или серверами, модули локализации (не изображены) и тому подобное.
Сетевая компьютерная среда
[0070] Фиг. 2 иллюстрирует сетевую компьютерную среду 200, подходящую для использования с некоторыми вариантами осуществления систем и/или способов настоящей технологии. Сетевая компьютерная среда 200 содержит электронное устройство 210, ассоциированное с транспортным средством 220 или ассоциированное с пользователем (не изображен), который может задействовать транспортное средство 220, сервер 235, осуществляющий связь с электронным устройством 210 через сеть 240 связи (например, Интернет или тому подобное, как будет описано более подробно ниже). Опционально, сетевая компьютерная среда 200 может также включать в себя спутник GPS (не изображен), передающий и/или принимающий сигнал GPS на/от электронного устройства 210. Будет понятно, что настоящая технология не ограничена GPS и может использовать технологию позиционирования, отличную от GPS. Следует отметить, что спутник GPS может быть вообще опущен.
[0071] Транспортное средство 220, с которым ассоциировано электронное устройство 210, может содержать любое транспортное средство для досуга или транспортировки, такое как личный или коммерческий автомобиль, грузовик, мотоцикл или тому подобное. Транспортное средство может представлять собой приводимое в действие пользователем или беспилотное транспортное средство. Следует отметить, что конкретные параметры транспортного средства 220 являются неограничивающими, эти конкретные параметры включают в себя: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, габариты транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег в милях, идентификационный номер транспортного средства и размер двигателя.
[0072] Реализация электронного устройства 210 не ограничена конкретно, но в качестве примера, электронное устройство 210 может быть реализовано как блок управления двигателем транспортного средства, CPU транспортного средства, навигационное устройство транспортного средства (например, TomTom™, Garmin™), планшет и персональный компьютер, встроенный в транспортное средство 220, и тому подобное. Таким образом, следует отметить, что электронное устройство 210 может или не может быть постоянно ассоциировано с транспортным средством 220. Дополнительно или альтернативно, электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиофон). В некоторых вариантах осуществления электронное устройство 210 имеет дисплей 270.
[0073] Электронное устройство 210 может содержать некоторые или все из компонентов компьютерной системы 100, изображенной на фиг. 1. В некоторых вариантах осуществления электронное устройство 210 представляет собой бортовое компьютерное устройство и содержит процессор 110, твердотельный накопитель 120 и память 130. Другими словами, электронное устройство 210 содержит аппаратные средства и/или программное обеспечение и/или прошивку или их комбинацию для определения траектории транспортного средства 220 на данном сегменте дороги с учетом препятствий на нем, как будет описано более подробно ниже.
Сенсорная система
[0074] В неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 содержит или имеет доступ к сенсорной системе 230. В соответствии с этими вариантами осуществления сенсорная система 230 может содержать множество сенсоров, позволяющих осуществить различные реализации настоящей технологии. Примеры множества сенсоров включают в себя, но без ограничения: камеры, сенсоры LIDAR (лидары) и сенсоры RADAR (радары) и т.д. Сенсорная система 230 функционально связана с процессором 110 для передачи захваченной информации на процессор 110 для ее обработки, как будет описано более подробно ниже.
[0075] Сенсорная система 230 может быть смонтирована на внутренней верхней части лобового стекла транспортного средства 220, но другие местоположения входят в объем настоящего раскрытия, например, на заднем стекле, боковых стеклах, капоте, крыше, решетке радиатора или переднем бампере транспортного средства 220. В некоторых неограничивающих вариантах осуществления настоящей технологии сенсорная система 230 может быть смонтирована в специальном корпусе (не изображен), смонтированном наверху транспортного средства 220.
[0076] Дополнительно пространственное размещение сенсорной системы 230 может быть спроектировано с учетом ее конкретной технической конфигурации, конфигурации корпуса, погодных условий области, где должно использоваться транспортное средство 220 (таких как частые дожди, снег и т.д.), или тому подобного.
[0077] В неограничивающих вариантах осуществления настоящей технологии сенсорная система 230 может содержать сенсор, выполненный с возможностью захвата изображения окружающей области 260. В этом отношении сенсорная система 230 может представлять собой камеру или их множество (не изображено отдельно).
[0078] То, как реализована камера, не ограничено. Например, в одном конкретном неограничивающем варианте осуществления настоящей технологии камера может быть реализована как моно-камера с разрешением, достаточным для обнаружения объектов на предопределенных расстояниях примерно до 30 м (хотя камеры с другими разрешениями и дальностями входят в объем настоящего раскрытия).
[0079] В некоторых вариантах осуществления настоящей технологии камера (или одна или более камер, которые составляют реализацию сенсорной системы 230) выполнена с возможностью захватывать предопределенную часть окружающей области 260 вокруг транспортного средства 220. В некоторых вариантах осуществления настоящей технологии камера выполнена с возможностью захватывать изображение (или серию изображений), которое представляет приблизительно 90 градусов окружающей области 260 вокруг транспортного средства 220 вдоль пути движения транспортного средства 220.
[0080] В других вариантах осуществления настоящей технологии камера выполнена с возможностью захватывать изображение (или серию изображений), которое представляет приблизительно 180 градусов окружающей области 260 вокруг транспортного средства 220 вдоль пути движения транспортного средства 220. В других дополнительных вариантах осуществления настоящей технологии, камера выполнена с возможностью захватывать изображение (или серию изображений), которое представляет приблизительно 360 градусов окружающей области 260 вокруг транспортного средства 220 вдоль пути движения транспортного средства 220 (другими словами, полную картину окружающей области вокруг транспортного средства 220).
[0081] В конкретном неограничивающем примере камера может быть камерой типа доступного от FLIR Integrated Imaging Solutions Inc., 12051 Riverside Way, Ричмонд, BC, V6W 1K7, Канада. Должно быть понятно, что камера может быть реализована в любом другом подходящем оборудовании.
8
[0082] В неограничивающих вариантах осуществления настоящей технологии сенсорная система 230 может дополнительно содержать инструмент LIDAR (не изображен отдельно). Lidar (Light Detection и Ranging) означает обнаружение и определение дальности с помощью света. Ожидается, что специалисту в данной области техники будет понятна функциональность инструмента LIDAR (инструментального лидара), но говоря кратко, передатчик (не изображен) инструментального лидара отправляет лазерный импульс, и световые частицы (фотоны) рассеиваются назад к приемнику (не изображен) инструментального лидара. Фотоны, которые возвращаются в приемник, собираются телескопом и подсчитываются как функция времени. Используя скорость света (~3×10 м/с), процессор 110 может затем вычислить, какое расстояние прошли фотоны (при двустороннем распространении). Фотоны могут рассеиваться назад от множества разных объектов, окружающих транспортное средство 220, таких как другие частицы (аэрозоли или молекулы) в атмосфере, другая карта, стационарные объекты или потенциальные препятствия перед транспортным средством 220.
[0083] В конкретном неограничивающем примере инструментальный лидар, содержащийся в сенсорной системе 230, может быть реализован как сенсор на основе лидара, который может быть типа, доступного от Velodyne LiDAR, Inc. 5521 Hellyer Avenue, Сан-Хосе, CA 95138, США. Должно быть понятно, что инструментальный лидар может быть реализован в любом другом подходящем оборудовании.
[0084] В некоторых вариантах осуществления настоящей технологии, инструментальный лидар, содержащийся в сенсорной системе 230, может быть реализован как множество сенсоров на основе лидара, например, три или любое другое подходящее количество.
[0085] В неограничивающих вариантах осуществления настоящей технологии, сенсорная система 230 может дополнительно содержать инструмент обнаружения и определения дальности с помощью радиоволн (Radio Detection and Ranging, RADAR) (не изображен отдельно). Говоря кратко, инструмент RADAR (инструментальный радар) представляет собой инструмент обнаружения, использующий радиоволны для определения дальности, угла и/или скорости объектов. Инструментальный радар включает в себя передатчик, производящий электромагнитные волны, антенну, используемую для передачи и приема электромагнитных волн, приемник и процессор для определения свойств обнаруженных объектов.
[0086] В альтернативных вариантах осуществления настоящей технологии, может иметься отдельная антенна для приема волн и отдельная антенна для передачи волн. Процессор, используемый для определения свойств окружающих объектов, может представлять собой процессор 110.
[0087] В некоторых вариантах осуществления настоящей технологии, инструментальный радар, используемый в сенсорной системе 230, может содержать сенсоры на основе радара большой дальности, средней дальности и малой дальности. В качестве неограничивающего примера, сенсор на основе радара большой дальности может использоваться для адаптивного круиз-контроля, автоматического экстренного торможения и предупреждения о прямом столкновении, в то время как сенсоры на основе радаров средней и малой дальности могут использоваться для помощи при парковке, предупреждения о движении в пересекающем направлении, помощи на перекрестках и обнаружении слепой зоны.
[0088] В конкретном неограничивающем примере, инструментальный радар, содержащийся в сенсорной системе 230, может быть типа, доступного от Robert Bosch GmbH Robert-Bosch-Platz 1, 70839 Герлинген, Германия. Следует понимать, что инструментальный радар может быть реализован в любом другом подходящем оборудовании.
[0089] В некоторых неограничивающих вариантах осуществления настоящей технологии, сенсорная система 230 может использоваться процессором 110 для калибровки изображения. Например, с использованием изображения, захваченного камерой, и облака точек лидара, захваченного инструментальным лидаром, процессор 110 выполнен с возможностью идентифицировать, что данная область изображения соответствует данной области облака точек лидара, захваченного инструментальным лидаром. В других вариантах осуществления настоящей технологии, сенсорная система 230 откалибрована так, что для изображения, захваченного камерой, облака точек лидара, захваченного инструментальным лидаром, и данных радара, захваченных инструментальным радаром, процессор 110 выполнен с возможностью идентифицировать, что данная область изображения соответствует данной области облака точек лидара и данным радара.
[0090] В неограничивающих вариантах осуществления настоящей технологии транспортное средство 220 дополнительно содержит или имеет доступ к другим сенсорам (не изображены отдельно). Другие сенсоры включают в себя одно или более из: инерциального измерительного блока (IMU), инструмента глобальной спутниковой навигационной системы (GNSS), радаров путевой скорости, сенсоров на основе ультразвуковых сонаров, одометрических сенсоров, включая акселерометры и гироскопы, механических сенсоров наклона, магнитного компаса и других сенсоров, обеспечивающих эксплуатацию транспортного средства 220.
[0091] В качестве неограничивающего примера, IMU может быть закреплен в транспортном средстве 220 и содержит три гироскопа и три акселерометра для обеспечения данных о вращательном движении и линейном движении транспортного средства 220, которые могут использоваться для вычисления движения и положения транспортного средства 220.
Сеть связи
[0092] В некоторых вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи или тому подобное. Следует понимать, что реализации сети 240 связи приведены только для иллюстрации. То, как реализована линия связи (не пронумерована отдельно) между электронным устройством 210 и сетью 240 связи, будет зависеть, помимо прочего, от того, как реализовано электронное устройство 210. Только в качестве примера, но не ограничения, в тех неограничивающих вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может быть реализована как линия беспроводной связи. Примеры линий беспроводной связи включают в себя, но без ограничения, линию сети связи 3G, линию сети связи 4G и тому подобное. Сеть 240 связи может также использовать беспроводное соединение с сервером 235.
Сервер
ТИ
[0094] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован как традиционный компьютерный сервер и может содержать некоторые или все из компонентов компьютерной системы 100 согласно фиг. 1. В одном неограничивающем примере, сервер 235 реализован как Сервер Dell™ PowerEdge™, применяющий операционную систему Microsoft Windows Server™, но может также быть реализован в любых других подходящих аппаратных средствах, программном обеспечении и/или прошивке или их комбинации. В изображенных неограничивающих вариантах осуществления настоящей технологии сервер является одиночным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии (не показаны), функциональность сервера 235 может быть распределена и может быть реализована множеством серверов.
[0095] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может осуществлять связь с сервером 235 для приема одного или более обновлений. Обновления могут представлять собой, но без ограничения, обновления программного обеспечения, обновления карты, обновления маршрутов, обновления погоды и тому подобное.
[0096] В некоторых вариантах осуществления настоящей технологии процессор 110 может также быть выполнен с возможностью передавать на сервер 235 определенные операционные данные, такие как пройденные маршруты, данные трафика, данные производительности и тому подобное. Некоторые или все данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованными и/или сохраняющими анонимность.
Хранилище
[0097] На фиг. 2, также изображено хранилище 250, коммуникативно соединенное с сервером 235. В некоторых вариантах осуществления, однако, хранилище 250 может быть коммуникативно связано с электронным устройством 210 и/или может быть реализовано в электронном устройстве 210 и/или может быть коммуникативно связано с любым другим процессором сетевой компьютерной среды 200.
[0098] По меньшей мере в некоторых вариантах осуществления, предполагается, что хранилище 250 может использоваться сервером 235, электронным устройством 210 и/или любым другим процессором сетевой компьютерной среды 200 в качестве устройства памяти для хранения информации. Хранилище 250 выполнено с возможностью хранить информацию, извлеченную, определенную и/или сгенерированную процессором 110 сервера 235 и/или электронного устройства 210. В общем, хранилище 250 может принимать данные от процессора 110, которые были сгенерированы процессором 110 во время обработки, для их временного и/или постоянного хранения, и может предоставлять сохраненные данные на процессор 110 для их использования. Предполагается, что хранилище 250 может быть разделено на несколько распределенных хранилищ для обеспечения, например, отказоустойчивой системы хранения, без отклонения от объема настоящей технологии.
[0099] Следует отметить, что по меньшей мере в некоторых вариантах осуществления настоящей технологии хранилище 250 может быть реализовано локально на электронном устройстве 210 и/или сервере 235 (например, на локальной памяти). Также подразумевается, что хранилище 250 может быть реализовано удаленно от электронного устройства 210 и/или сервера 235 (например, на удаленной памяти).
[0100] Со ссылкой на фиг. 3 изображено хранилище 250, хранящее данные 300 карты и данные 350 сетки. В широком смысле слова, данные 300 карты представляют 3D карту одного или более сегментов дороги, по которым может двигаться транспортное средство 220 и/или другие транспортные средства. Например, транспортное средство 220 и/или другие транспортные средства, ассоциированные с другими электронными устройствами 280 и 290, могут собирать данные карты при работе на одном или более сегментах дороги. Данные карты могут собираться множеством разных сенсоров, таких как, например, сенсоры сенсорной системы 230, и/или посредством других сенсорных систем, таких как, но без ограничения, системы лидара, системы радара, системы типа камеры и тому подобное. Собранные таким образом данные карты могут затем передаваться на сервер 235, чтобы стать частью данных 300 карты, которые затем сохраняются в хранилище 250. Данные 300 карты включают в себя информацию о дорогах, полосах, правилах дорожного движения, статических и динамических объектах на дорогах и тому подобное.
[0101] Говоря в общем, данные 350 сетки представляют “структуру сетки” или просто “сетку”, которая может использоваться электронным устройством 210 с целью дискретизации 3D карты данного сегмента дороги. Другими словами, электронное устройство 210 может быть выполнено с возможностью осуществлять доступ к хранилищу 250 и выводить данные 350 сетки, и может быть выполнено с возможностью использовать данные 350 сетки для наложения сетки на 3D карту данного сегмента дороги, так что 3D карта данного сегмента дороги может быть дискретизирована на некоторое количество ячеек. Как будет очевидно из описания здесь дополнительно ниже, электронное устройство 210, выполненное с возможностью использовать данные 350 сетки для дискретизации 3D карты данного сегмента дороги, может позволять осуществлять более эффективное определение потенциальных столкновений между транспортным средством 220 и другими объектами на данном сегменте дороги. В некоторых вариантах осуществления настоящей технологии подразумевается, что данные 350 сетки могут включать в себя информацию касательно размерностей сетки, или другими словами, размера отдельных ячеек сетки.
[0102] То, как может быть выполнено электронное устройство 210, чтобы использовать данные 350 сетки для генерирования сетки и наложения ее поверх 3D карты, будет описано более подробно здесь дополнительно ниже.
Электронное устройство
[0103] По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может использоваться, чтобы управлять работой транспортного средства 220. Например, электронное устройство 210 может быть выполнено с возможностью генерировать данные управления операциями для управления транспортным средством 220 в соответствии с одной или несколькими траекториями.
[0104] Разработчики настоящей технологии исходили из того, что выбор данной траектории, которой должно следовать транспортное средство 220 на данном сегменте дороги, является технически сложной задачей. Не только сложно определить траектории-кандидаты данного сегмента дороги, но также вычислительно сложно определить, какая из траекторий-кандидатов обеспечивает более низкий риск столкновения с другими объектами на сегменте дороги.
[0105] В некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии создали способы и устройства для определения, вызывает ли следование данной траектории-кандидата риск столкновения для транспортного средства 220. Иными словами, способы и устройства, созданные разработчиками настоящей технологии, могут применяться для определения потенциальных столкновений между транспортным средством 220 и другими объектами на сегменте дороги, если транспортное средство 220 следует данной траектории-кандидату на сегменте дороги.
[0106] Более того, разработчики настоящей технологии осознали, что процесс определения потенциальных столкновений между транспортным средством 220 и другими объектами на сегменте дороги должен выполняться быстро и многократно. Поэтому следует отметить, что определение потенциальных столкновений должно выполняться вычислительно эффективным образом, чтобы уменьшить величину времени, требуемого для электронного устройства 210, чтобы определить, существует или нет риск потенциального столкновения между транспортным средством 220 и другими объектами на сегменте дороги.
[0107] В широком смысле слова, разработчики настоящей технологии создали способы и устройства, которые обеспечивают (i) определение потенциальной траектории, которой транспортное средство 220 может следовать на сегменте дороги, (ii) идентификацию точек-кандидатов на столкновение вдоль потенциальной траектории и (iii) определение вероятности столкновения в каждой из точек-кандидатов на столкновение. В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью применять структуру “сетки” для ускорения обработки данных на сегменте дороги. В других вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерировать и использовать вычислительно эффективное представление транспортного средства 220 для ускорения обработки данных на сегменте дороги. В дополнительных вариантах осуществления электронное устройство 210 может быть выполнено с возможностью генерировать и использовать вычислительно эффективное представление объекта на сегменте дороги для ускорения обработки данных на сегменте дороги. Теперь будет описано то, как выполнено электронное устройство 210, чтобы использовать сетку, генерировать и использовать вычислительно эффективное представление транспортного средства 220 и других объектов на сегменте дороги.
[0108] Чтобы лучше это проиллюстрировать, далее будет даваться ссылка на фиг. 4, изображающую представление карты сегмента 400 дороги. Например, электронное устройство 210 может быть выполнено с возможностью осуществлять доступ к хранилищу 250 и выводить данные 300 карты, ассоциированные с сегментом 400 дороги. Как можно видеть, сегмент 400 дороги имеет первую полосу 402 и вторую полосу 404, которые сливаются в одну полосу 406 вниз по сегменту 400 дороги.
[0109] Также изображено (i) представление 410 транспортного средства 220, в текущее время движущегося по первой полосе 402, и (ii) представление 420 динамического объекта, такого как соседнее транспортное средство, в текущее время движущееся по второй полосе 404. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью генерировать представление 410 путем построения “ограничительной рамки”, так что ограничительная рамка ограничивает площадь поверхности, занимаемую транспортным средством 220 на сегменте 400 дороги. Другими словами, размер представления 410 зависит от размера транспортного средства 220. Аналогично, электронное устройство 210 может быть выполнено с возможностью генерировать представление 420 путем построения “ограничительной рамки”, так что ограничительная рамка ограничивает площадь поверхности, занимаемую соседним транспортным средством на сегменте 400 дороги, и, таким образом, размер представления 420 зависит от размера соседнего транспортного средства.
[0110] В некоторых вариантах осуществления настоящей технологии предполагается, что электронное устройство 210 может быть выполнено с возможностью генерировать данные траектории, представляющие траекторию-кандидат 415 для транспортного средства 220. Например, электронное устройство 210 может использовать данные траектории для генерирования данных управления операцией для управления операцией транспортного средства 220 на сегменте 400 дороги так, чтобы транспортное средство 220 следовало траектории-кандидату 415 на сегменте 400 дороги.
[0111] Способ, которым электронное устройство 210 выполнено с возможностью генерировать траекторию-кандидат 415, может зависеть от конкретной реализации настоящей технологии. Тем не менее, подразумевается, что электронное устройство 210 может исполнять один или несколько алгоритмов машинного обучения (MLA), чтобы определять одну или несколько траекторий-кандидатов для движения транспортного средства 220 по одному или нескольким сегментам дороги.
[0112] Также предполагается, что электронное устройство 210 может быть выполнено с возможностью захватывать движение, ассоциированное с соседним транспортным средством, например, посредством сенсорной системы 230, и на основе захваченных таких образом данных движения, может быть выполнено с возможностью генерировать оцененную траекторию 425 для соседнего транспортного средства на сегменте 400 дороги. Следует отметить, что оцененная траектория 425 указывает траекторию, которой, по оценкам, должно следовать соседнее транспортное средство на сегменте 400 дороги с точки зрения его текущего движения и поведения на сегменте 400 дороги.
[0113] Способ, которым выполнено электронное устройство 210, чтобы генерировать оцененную траекторию 425, может зависеть от конкретной реализации настоящей технологии. Тем не менее, подразумевается, что электронное устройство 210 может быть инструментом при определении одной или нескольких оцененных траекторий для одного или нескольких соседних транспортных средств, которым одно или несколько соседних транспортных средств могут следовать на одном или нескольких сегментах дороги. Электронное устройство 210 может использовать одинаково или иначе обученный MLA для предсказания траекторий других транспортных средств.
[0114] Предполагается, что, по меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью определять, имеет или нет транспортное средство 220, следующее траектории-кандидату 415, риск столкновения с соседним транспортным средством, следующим оцененной траектории 425.
[0115] С этой целью, электронное устройство 210 может быть выполнено с возможностью осуществлять доступ к хранилищу 250 и выводить данные 350 сетки. Со ссылкой на фиг. 5, электронное устройство 210 может быть выполнено с возможностью использовать данные 350 сетки для генерирования сетки 500 и наложения сетки 500 на представление карты сегмента 400 дороги. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью генерировать сетку 500 на основе данных 350 сетки как пространственно хешированную сетку. В некоторых вариантах осуществления подразумевается, что размер отдельных ячеек сетки 500 может быть предварительно выбран. Следует отметить, что размер отдельных ячеек может выбираться предварительно с учетом компромисса между временем обработки и точностью обнаружения столкновения. Например, чем меньше отдельные ячейки, тем больше отдельных ячеек будет охватывать сетка 500, тем большее время обработки потребуется, чтобы электронное устройство 210 обработало информацию в каждой из отдельных ячеек сетки 500.
[0116] В других вариантах осуществления, электронное устройство 210 может быть выполнено с возможностью использовать R-дерево, вместо сетки 500 для дискретизации представления карты сегмента 400 дороги. В широком смысле слова R-деревья представляют собой структуры данных в виде дерева, используемые для индексации многомерной информации, такой как, например, географические координаты. Например, подразумевается, что электронное устройство 210 может быть выполнено с возможностью генерировать структуру R-дерева для дискретизации пространственных координат на представлении карты сегмента 400 дороги.
[0117] Независимо от конкретного способа, которым электронное устройство 210 генерирует сетку 500 и накладывает сетку 500 на представление карты сегмента 400 дороги, можно сказать, что электронное устройство 210 может быть выполнено с возможностью пространственно дискретизировать сегмент 400 дороги так, чтобы каждая ячейка сетки 500 соответствовала соответственному участку сегмента 400 дороги.
[0118] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью определять множество точек траектории для траектории-кандидата 415 на основе сетки 500. Другими словами, электронное устройство 210 может быть выполнено с возможностью определять множество ячеек 515 сетки 500, которые охватывают по меньшей мере частично траекторию-кандидат 415, когда сетка 500 наложена на представление карты сегмента 400 дороги.
[0119] Также подразумевается, что электронное устройство 210 может быть выполнено с возможностью определять множество точек траектории для оцененной траектории 425 на основе сетки 500. Другими словами, электронное устройство 210 может быть выполнено с возможностью определять множество ячеек 525 сетки 500, которые охватывают по меньшей мере частично оцененную траекторию 425, когда сетка 500 наложена на представление карты сегмента 400 дороги.
[0120] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью анализировать по меньшей мере некоторые из множества точек траектории траектории-кандидата 415 (например, по меньшей мере некоторые из множества ячеек 515) для определения, существует ли риск столкновения между транспортным средством 220 и соседним транспортным средством, когда транспортное средство 220 находится в соответственной точке траектории. Далее будет описано то, как выполнено электронное устройство 210, чтобы выполнять такой анализ.
[0121] Чтобы лучше это проиллюстрировать, рассмотрим пример данной одной из множества точек траектории, соответствующих соответственной ячейке 550 из множества ячеек 515. Для этой данной одной из множества точек траектории, электронное устройство 210 может быть выполнено с возможностью (i) определять наличие одного или более динамических объектов вокруг транспортного средства 220 в данной одной из множества точек траектории и (ii) применять первый алгоритм, чтобы определить набор кандидатов на столкновение.
[0122] Например, электронное устройство 210 может определять наличие по меньшей мере некоторых ячеек из множества ячеек 525 вблизи данной одной из множества точек траектории, соответствующих соответственной ячейке 550. Электронное устройство 210 может тогда быть выполнено с возможностью применять первый алгоритм для определения набора кандидатов на столкновение для транспортного средства 220, когда транспортное средство 220 находится в ячейке 550. Например, электронное устройство 210 может быть выполнено с возможностью использовать сетку 500 для определения ближайших ячеек из множества ячеек 525 к ячейке 550, таких как, например, набор ячеек 560.
[0123] Следует отметить, что набор кандидатов на столкновение, соответствующих соседнему транспортному средству, находящемуся в соответственных точках набора ячеек 560, может представлять (i) соседнее транспортное средство как первый динамический объект, потенциально вызывающий столкновение с транспортным средством 220, когда транспортное средство 220 находится в ячейке 550 и когда соседнее транспортное средство находится в первой одной из набора ячеек 560, (i) соседнее транспортное средство как второй динамический объект, потенциально вызывающий столкновение с транспортным средством 220, когда транспортное средство 220 находится в ячейке 550 и когда соседнее транспортное средство находится во второй одной из набора ячеек 560, и (iii) соседнее транспортное средство как третий динамический объект, потенциально вызывающий столкновение с транспортным средством 220, когда транспортное средство 220 находится в ячейке 550 и когда соседнее транспортное средство находится в третьей одной из набора ячеек 560.
[0124] В некоторых вариантах осуществления, предполагается, что определение наиболее близких ячеек к ячейке 550, которые ассоциированы с оцененными траекториями одного или более соседних транспортных средств, могут позволять отфильтровывать/исключать по меньшей мере некоторых из соседних транспортных средств из анализа обнаружения столкновения. Например, если данное соседнее транспортное средство ассоциировано с данной оцененной траекторией, и ячейки сетки 500, соответствующие этой оцененной траектории, находятся за пределами предопределенного порогового количества ячеек от ячейки 550, данное соседнее транспортное средство будет исключено из анализа обнаружения столкновения. Подразумевается, что отфильтровывание/исключение по меньшей мере некоторых объектов таким образом из анализа обнаружения столкновения может уменьшить время обработки, требуемое для выполнения анализа столкновения для транспортного средства 220.
[0125] Следует отметить, что когда электронное устройство 210 определяет набор кандидатов на столкновение, соответствующих соответственным одним из набора ячеек 560, электронное устройство 210 может быть выполнено с возможностью генерировать (i) вычислительно эффективное представление транспортного средства 220 и (ii) вычислительно эффективные представления каждого из набора кандидатов на столкновение. Далее, в свою очередь, будет обсуждено, как выполнено электронное устройство 210, чтобы генерировать вычислительно эффективные представления транспортного средства 220 и каждого из набора кандидатов на столкновение.
[0126] Со ссылкой на фиг. 6 изображен процесс 600 генерации, исполняемый электронным устройством 210 для генерирования вычислительно эффективного представления транспортного средства 220. На фиг. 6 показано изображение 602 корпуса транспортного средства 220, как можно видеть сверху. В одном варианте осуществления размер изображения 602 корпуса может быть предварительно сохранен в хранилище 250 и/или может генерироваться электронным устройством 210 с использованием сенсорной системы 230 транспортного средства 220.
[0127] Процесс 600 генерации начинается с выбора/генерирования электронным устройством 210 передней точки 604, которая представляет собой точку посередине переднего бампера транспортного средства 220 (как можно видеть, передняя точка 604 расположена посередине на переднем бампере изображения 602 тела). Процесс 600 генерации продолжается тем, что электронное устройство 210 выбирает/генерирует заднюю точку 606, которая представляет собой точку посередине заднего бампера транспортного средства 220 (как можно видеть, задняя точка 606 расположена посередине на заднем бампере изображения 602 корпуса). Следует отметить, что в реализациях, где транспортное средство 220 имеет части, которые выступают вперед больше, чем передний бампер, электронное устройство 210 может быть выполнено с возможностью генерировать переднюю точку 604, которая соответствует срединной точке наиболее выступающей вперед части корпуса транспортного средства 220. Аналогично, в реализациях, где транспортное средство 220 имеет части, которые выступают назад больше, чем задний бампер, электронное устройство 210 может быть выполнено с возможностью генерировать заднюю точку 606, которая соответствует срединной точке наиболее выступающей назад части тела транспортного средства 220.
[0128] Процесс 600 генерации продолжается тем, что электронное устройство 210 проводит/генерирует линию 608, которая проходит через переднюю точку 604 и заднюю точку 606. В некоторых реализациях настоящей технологии, где транспортное средство 220 симметрично, линия 608 может соответствовать продольной оси транспортного средства 220. В таких случаях линия 608 может делить изображение 602 корпуса на две симметричные части изображения 602 корпуса.
[0129] Процесс 600 генерации продолжается тем, что электронное устройство 210 выбирает/генерирует две точки отсечки на линии 608, а именно, переднюю точку 620 отсечки и заднюю точку 610 отсечки. Передняя точка 620 отсечки и задняя точка 610 отсечки определяют линию 650 сегмента вдоль линии 608. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью выбирать/генерировать переднюю точку 620 отсечки и заднюю точку 610 отсечки так, что (i) передняя окружность 628 с центром в передней точке 610 отсечки с радиусом 625 и (ii) задняя окружность 618 с центром в задней точке 610 отсечки с радиусом 615 охватывают каждую точку транспортного средства 220.
[0130] В некоторых вариантах осуществления настоящей технологии радиус 615 и радиус 625 могут быть предопределенными. В одном примере радиус 615 и радиус 625 могут соответствовать половине ширины транспортного средства 220, такой как, например, половинная ширина между сторонами изображения 602 корпуса.
[0131] Как будет понятно из описания здесь дополнительно ниже, электронное устройство 210 может быть выполнено с возможностью использовать линию 650 сегмента как вычислительно эффективное представление транспортного средства 220 во время анализа потенциального столкновения, вместо представления 410 транспортного средства 220, которое представляет собой ограничительную рамку, ограничивающую площадь поверхности, занимаемую транспортным средством 220.
[0132] Со ссылкой на фиг. 7 изображен процесс 700 генерации, исполняемый электронным устройством 210 для генерирования вычислительно эффективного представления соседнего транспортного средства. На фиг. 7 показано изображение 710 корпуса соседнего транспортного средства. В одном варианте осуществления изображение 710 корпуса может генерироваться электронным устройством 210 с использованием сенсорной системы 230 транспортного средства 220.
[0133] Процесс 700 генерации начинается с генерирования электронным устройством 210 ограничительной рамки 708 для соседнего транспортного средства. Как можно видеть, ограничительная рамка 708 имеет четыре границы, а именно, заднюю границу 723, переднюю границу 721, левую границу 720 и правую границу 722. Электронное устройство 210 выполнено с возможностью генерировать границы ограничительной рамки 708 так, что изображение 710 корпуса соседнего транспортного средства полностью заключено в границах ограничительной рамки 708.
[0134] Процесс 700 генерации продолжается с определением электронным устройством 210 системы 750 координат для ограничительной рамки 708. Например, электронное устройство 210 может быть выполнено с возможностью определять продольную ось 704 системы 750 координат так, что продольная ось 704 проходит через продольную срединную точку на сторонах ограничительной рамки 708. В том же самом примере электронное устройство 210 может быть выполнено с возможностью определять поперечную ось 702 системы 750 координат так, что поперечная ось 702 проходит через поперечную срединную точку спереди и сзади ограничительной рамки 708.
[0135] В результате электронное устройство 210 может быть выполнено с возможностью генерировать систему 750 координат, имеющую нулевую точку 706 на пересечении продольной оси 704 и поперечной оси 702.
[0136] Альтернативно, электронное устройство 210 может быть выполнено с возможностью генерировать продольную ось 704 и поперечную ось 702 для генерирования системы 750 координат, и также может быть выполнено с возможностью совмещать ее начало координат (нулевую точку 706) с центральной точкой (не пронумерована) ограничительной рамки 708, без отклонения от объема настоящей технологии.
[0137] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью генерировать ограничительную рамку вокруг каждого из набора кандидатов на столкновение - то есть, в этом случае, генерировать первую ограничительную рамку вокруг соседнего транспортного средства, как если бы находящегося на оцененной траектории 25 в первой одной из набора ячеек 560, генерировать вторую ограничительную рамку вокруг соседнего транспортного средства, как если бы находящегося на оцененной траектории 425 во второй одной из набора ячеек 560, генерировать третью ограничительную рамку вокруг соседнего транспортного средства, как если бы находящегося на оцененной траектории 425 в третьей одной из набора ячеек 560.
[0138] Подразумевается, что электронное устройство 210 может быть выполнено с возможностью генерировать первую ограничительную рамку, вторую ограничительную рамку и третью ограничительную рамку аналогично тому, как электронное устройство 210 генерирует ограничительную рамку 708 для соседнего транспортного средства.
[0139] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью, для данного кандидата из набора кандидатов на столкновение, выполнять анализ расстояния между линией 650 сегмента транспортного средства 220 и соответственной ограничительной рамкой данного одного из набора кандидатов на столкновение. Анализ расстояния может использоваться электронным устройством 210 для определения разделяющее расстояние между транспортным средством 220 и данным одним из набора кандидатов на столкновение.
[0140] На фиг. 8 изображен анализ 800 расстояния, который соответственно выполненное электронное устройство 210 может выполнять для первого одного из набора кандидатов на столкновение (например, для соседнего транспортного средства, как если бы соседнее транспортное средство находилось на оцененной траектории 425 в первой ячейке из набора ячеек 560), что будет обсуждено ниже со ссылкой на фиг. 8.
[0141] Электронное устройство 210 может быть выполнено с возможностью отображать линию 650 сегмента и ограничительную рамку 708 на основе относительных положений ячейки 550 и первой одной из набора ячеек 560 в сетке 500. Как можно видеть, изображена система 750 координат, центрированная в ограничительной рамке 708, и линия 650 сегмента, расположенная на своем относительном расстоянии от ограничительной рамки 708. Можно также сказать, что электронное устройство 210 может быть выполнено с возможностью проецировать линию 650 сегмента в системе 750 координат так, что спроецированное положение линии 650 сегмента в системе 750 координат соответствует положению линии 650 сегмента относительно ограничительной рамки 708, как если бы соседнее транспортное средство находилось в первой одной из поднабора ячеек 560, а транспортное средство 220 находилось в ячейке 550.
[0142] В некоторых вариантах осуществления настоящей технологии во время анализа 800 расстояния электронное устройство 210 может быть выполнено с возможностью определять поднабор сторон ограничительной рамки 708, которые подлежат сравнению с линией 650 сегмента. Разработчики настоящей технологии поняли, что определение расстояний между линией 650 сегмента и каждой из границ ограничительной рамки 708 является избыточным и приводит к большему количеству операций, которые необходимо выполнить электронному устройству 210 для определения наиболее короткого расстояния между линией 650 сегмента и ограничительной рамкой 708.
[0143] В результате, путем выполнения предварительного выбора сторон ограничительной рамки 708, тем самым определяя поднабор сторон ограничительной рамки 708 с целью сравнения с линией 650 сегмента, электронное устройство 210 может быть выполнено с возможностью уменьшать количество операций, которые необходимо выполнить электронному устройству 210 для определения наиболее короткого расстояния между линией 650 сегмента и ограничительной рамкой 708 и, таким образом, визуализировать анализ 800 расстояния быстрее и более эффективно.
[0144] Электронное устройство 210 может быть выполнено с возможностью выполнять предварительный выбор сторон ограничительной рамки 708 на основе различных эвристик. Следует отметить, что электронное устройство 210 может быть выполнено с возможностью проецировать линию 650 сегмента на систему 750 координат так, что по меньшей мере одна из точек 620 и 610 отсечки расположена в пределах первого квадранта системы 750 координат.
[0145] Если любая одна из двух точек 620 и 610 отсечки находится в пределах ограничительной рамки 708, электронное устройство 210 может быть выполнено с возможностью определения, что имеет место столкновение, и верификация оканчивается. Если никакая из двух точек 620 и 610 отсечки не находится в пределах ограничительной рамки 708, например, как изображено на фиг. 10 и 11, электронное устройство 210 может быть выполнено с возможностью выполнения дополнительных процедур, направленных на дополнительную оптимизацию вычисления.
[0146] Верификация того, находятся ли две точки 620 и 610 отсечки в пределах ограничительной рамки 708, может выполняться путем вычерчивания дополнительной ограничительной рамки вокруг линии 650 сегмента так, что одна сторона дополнительной ограничительной рамки параллельна оси X (например, поперечной оси 702), а другая сторона параллельна оси Y (например, продольной оси 704) системы 750 координат.
[0147] В примере ниже, одна из передней точки 620 отсечки и задней точки 610 отсечки упоминается как A, а другая точка из передней точки 620 отсечки и задней точки 610 отсечки упоминается как B (см. фиг. 10 и 11).
[0148] Во время первого этапа процесса верификации, электронное устройство 210 может определить участок на вертикальной оси системы 750 координат, имеющий ширину от -W/2 до -W/2 (W представляет ширину соседнего транспортного средства и/или ширину ограничительной рамки 708), он также упоминается как горизонтальный коридор. В ответ на то, что B полностью находится в участке между -W/2 и W/2 (но не в пределах ограничительной рамки 708), расстояние между соседним транспортным средством и транспортным средством 220 может определяться как расстояние от точки до правого края ограничительной рамки 708, то есть, координата самой левой точки сегмента минус L/2 (L представляет собой длину соседнего транспортного средства и/или длину ограничительной рамки 708). Этот сценарий можно видеть на фиг. 10.
[0149] Во время второго этапа верификации, электронное устройство 210 повторяет те же самые этапы, что и на первом этапе, но с использованием горизонтальный оси системы 750 координат и участка -L/2 и L/2. Он упоминается как вертикальный коридор.
[0150] Во время третьего этапа верификации, в ответ на то, что сегмент A-B не пересекается с ограничительной рамкой 708, но в то же самое время не попадает полностью в какой-либо участок (на основе W или L), расстояние между соседним транспортным средством и транспортным средством 220 представляет собой расстояние 850 от линии 650 сегмента до одного из углов ограничительной рамки 708. Этот сценарий можно видеть на фиг. 11.
[0151] Следует отметить, что электронное устройство 210 может определять, какой угол ограничительной рамки 708 анализировать, путем наблюдения, в каком квадранте системы координат 750 расположена точка B, с использованием псевдокода ниже.
Псевдокод
- Если (B. x < -L/2 и A. y > b. y), то расстояние между соседним транспортным средством и транспортным средством 220 представляет собой расстояние от AB до точки (-L/2, W/2);
- Если (B. y < -W/2 и A. x > B. x), то расстояние между соседним транспортным средством и транспортным средством 220 представляет собой расстояние от AB до точки (L/2, -W/2); и
- В противном случае, расстояние между соседним транспортным средством и транспортным средством 220 представляет собой расстояние от AB до точки (L/2, W/2).
[0152] Во время четвертого этапа верификации, в ответ на то, что линия 650 сегмента пересекает ось X системы координат 750, если точка пересечения линии 650 сегмента с осью X находится в пределах ограничительной рамки 708, то она указывает на вероятность столкновения.
[0153] Во время пятого этапа верификации, если никакой из вышеописанных этапов не дает положительного исхода (например, вероятность столкновения), то пятый этап должен определить ближайшее расстояние между линией 650 сегмента и тремя углами ограничительной рамки 708:
- расстояние между линией 650 сегмента и точкой (W/2, H/2); или
- расстояние между линией 650 сегмента и точкой (W/2, -H/2); или
- расстояние между линией 650 сегмента и точкой (-W/2, H/2).
[0154] В некоторых вариантах осуществления, предполагается, что электронное устройство 210 может быть выполнено с возможностью идентифицировать первый сегмент 820 и второй сегмент 821 ограничительной рамки 708 как представляющие собой поднабор сегментов, которые электронному устройству 210 необходимо сравнить с линией 650 сегмента. Следует отметить, что первый сегмент 820 представляет собой переднюю часть левой границы 720 ограничительной рамки 708 и что второй сегмент 821 представляет собой левую часть передней границы 721 ограничительной рамки 708.
[0155] Электронное устройство 210 может затем быть выполнено с возможностью сравнивать линию 650 сегмента с первым сегментом 820 и вторым сегментом 821 для определения кратчайшего расстояния между линией 650 сегмента и ограничительной рамкой 708. Как проиллюстрировано, электронное устройство 210 может быть выполнено с возможностью определять расстояние 850 как представляющее собой кратчайшее расстояние между линией 650 сегмента (например, точкой 840 на линии 650 сегмента) и ограничительной рамкой 708 (например, точкой 845 ограничительной рамки 708, соответствующей пересечению первого сегмента 820 и второго сегмента 821).
[0156] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью определять, на основе расстояния 850, вызовет ли данный один из набора кандидатов на столкновение столкновение с транспортным средством 220, если транспортное средство 220 следует траектории-кандидату 415. Например, электронное устройство 210 может быть выполнено с возможностью сравнивать расстояние 850 с предопределенными длинами первого радиуса 625 и второго радиуса 615, которые были использованы во время процесса 600 генерации линии 650 сегмента. Например, электронное устройство 210 может быть выполнено с возможностью сравнивать расстояние 850 с расстоянием, эквивалентным половине ширины транспортного средства 220.
[0157] Чтобы лучше это проиллюстрировать, положим, что расстояние 850 больше, чем предопределенная длина, используемая во время процесса 600 генерации для определения первой и второй точек 620 и 610 отсечки линии 650 сегмента. Тогда, можно сказать, что не будет столкновения между транспортным средством 220, находящимся в ячейке 550, и соседним транспортным средством, находящимся в первой ячейке из набора ячеек 560.
[0158] Теперь, положим, что расстояние 850 меньше, чем предопределенная длина, используемая во время процесса 600 генерации для определения первой и второй точек 620 и 610 отсечки линии 650 сегмента. Тогда, можно сказать, что является вероятным, что произойдет столкновение между транспортным средством 220, находящимся в ячейке 550, и соседним транспортным средством, находящимся в первой одной из набора ячеек 560.
[0159] В этом втором примере, электронное устройство 210 может быть выполнено с возможностью изменять по меньшей мере одну точку траектории траектории-кандидата 415, чтобы обрабатывать для отображения измененную траекторию-кандидат, где не происходит столкновения с соседним транспортным средством, расположенным в первой одной из набора ячеек 560.
[0160] Электронное устройство 210 может быть выполнено с возможностью выполнять анализ данного расстояния для каждой одной из набора ячеек 560 аналогично тому, как электронное устройство 210 выполнено с возможностью выполнять анализ 800 расстояния для первой одной из набора ячеек 560.
[0161] В некоторых вариантах осуществления настоящей технологии обеспечен способ 900 генерирования траектории для SDC, такого как, например, транспортное средство 220. Далее будут описаны различные этапы способа 900.
ЭТАП 902: генерирование траектории-кандидата для SDC, причем траектория-кандидат для SDC имеет множество точек траектории
[0162] Способ 900 начинается на этапе 902 электронным устройством 210, выполненным с возможностью генерировать данную траекторию-кандидат для транспортного средства 220, такую как траектория-кандидат 415 для транспортного средства 220 на сегменте 400 дороги. Следует отметить, что данная траектория может иметь множество точек траектории.
ЭТАП 904: для данной одной из множества точек траектории, определение наличия множества динамических объектов вокруг SDC в данной одной из множества точек траектории
[0163] Способ 900 продолжается на этапе 904 электронным устройством 210, выполненным с возможностью, для данной одной из множества точек траектории, определять наличие множества динамических объектов вокруг транспортного средства 220 в данной одной из множества точек траектории.
[0164] Например, для данной одной из множества точек траектории, такой как точка траектории, соответствующая ячейке 550 на фиг. 5, электронное устройство 210 может быть выполнено с возможностью определять наличие одного или более динамических объектов вокруг транспортного средства 220, такого как соседнее транспортное средство, ассоциированное с оцененной траекторией 425, и/или одного или более других динамических объектов вокруг транспортного средства 220.
ЭТАП 906: для данной одной из множества точек траектории, применение первого алгоритма, чтобы определить набор кандидатов на столкновение
[0165] Способ 900 продолжается на этапе 906 электронным устройством 210, выполненным с возможностью, для данной одной из множества точек траектории, применять первый алгоритм, чтобы определить данный набор кандидатов на столкновение. Предполагается, что набор кандидатов на столкновение может представлять собой поднабор множества динамических объектов.
[0166] Следует отметить, что набор кандидатов на столкновение может потенциально вызывать столкновение с транспортным средством 220, когда транспортное средство 220 находится в данной одной из множества точек траектории (например, соответствующих ячейке 550). В этом случае набор кандидатов на столкновение может включать в себя соседнее транспортное средство, ассоциированное с траекторией 425, находящейся в соответственных ячейках набора ячеек 560.
[0167] В некоторых вариантах осуществления в качестве части первого алгоритма, электронное устройство 210 может быть выполнено с возможностью применять сетку 500, имеющую ячейки предопределенного размера. В некоторых вариантах осуществления электронное устройство 210 может быть выполнено с возможностью определять набор кандидатов на столкновение путем определения кандидатов на столкновение, которые расположены в пределах предопределенного количества ячеек от ячейки 550, ассоциированной с транспортным средством 220.
[0168] Предполагается, что в некоторых вариантах осуществления настоящей технологии набор кандидатов на столкновение может быть меньше, чем множество динамических объектов вокруг транспортного средства 220 на данном сегменте дороги. Например, один или более потенциальных объектов, имеющих оцененные траектории, которые соответствуют ячейкам данной сетки, которые удалены больше, чем на предопределенное количество ячеек, от ячейки 550, ассоциированной с транспортным средством 220, могут исключаться из анализа обнаружения столкновения, и таким образом, можно уменьшить время обработки, требуемое для выполнения электронным устройством 210 анализа обнаружения столкновения.
[0169] В других вариантах осуществления, электронное устройство 210 может быть выполнено с возможностью предварительно определять предопределенный размер ячеек сетки 500. Также предполагается, что выбор предопределенного размера электронным устройством 210 может содержать предварительное определение электронным устройством 210 предопределенного размера с учетом компромисса между временем обработки и точностью анализа обнаружения столкновения - то есть, во время предварительного определения предопределенного размера, электронное устройство 210 может быть выполнено с возможностью определять предопределенный размер путем балансирования скорости обработки и количества потенциальных ложноположительных результатов, обрабатываемых посредством анализа обнаружения столкновения.
ЭТАП 908: генерирование представления линии сегмента SDC
[0170] Способ 900 продолжается на этапе 908 электронным устройством 210, генерирующим линию 650 сегмента для транспортного средства 220. Например, со ссылкой на фиг. 6 электронное устройство может быть выполнено с возможностью выполнять процесс 600 генерации.
[0171] Предполагается, что этап 908 может содержать электронное устройство 210, выполненное с возможностью выбирать переднюю точку 604, выбирать заднюю точку 606, проводить линию 608 и выбирать две точки 620 и 610 отсечки на линии 608 для определения линии 650 сегмента, как описано выше.
ЭТАП 910: генерирование соответственной ограничительной рамки вокруг каждого из набора кандидатов на столкновение
[0172] Способ 900 продолжается на этапе 910 электронным устройством 210, выполненным с возможностью генерировать соответственную ограничительную рамку вокруг каждого из набора кандидатов на столкновение. Например, электронное устройство 210 может быть выполнено с возможностью выполнять процесс 700 генерации для соседнего транспортного средства, находящегося в каждой соответственной одной из набора ячеек 560.
ЭТАП 912: для данного одного из набора кандидатов на столкновение, определение расстояния между линией сегмента и соответственной ограничительной рамкой, чтобы определить разделяющее расстояние между SDC и данным одним из набора кандидатов на столкновение
[0173] Способ 900 продолжается на этапе 912 электронным устройством 210, выполненным с возможностью, для данного одного из набора кандидатов на столкновение, определять данное расстояние между линией 650 сегмента и соответственной ограничительной рамкой, чтобы определить разделяющее расстояние между транспортным средством 220 и данным одним из набора кандидатов на столкновение.
[0174] Например, электронное устройство 210 может быть выполнено с возможностью, для первого одного из набора кандидатов на столкновение, соответствующих соседнему транспортному средству, находящемуся в первой одной из набора ячеек 560, выполнять анализ 800 расстояния, изображенный на фиг. 8. Это значит, что электронное устройство 210 может быть выполнено с возможностью определять расстояние 850.
[0175] В некоторых вариантах осуществления этап 912 содержит электронное устройство 210, выполненное с возможностью применять второй алгоритм, чтобы определять поднабор сторон соответственной ограничительной рамки, которая должна быть проанализирована. Например, электронное устройство 210 может быть выполнено с возможностью применять второй алгоритм, чтобы определить первый сегмент 820 и второй сегмент 821 ограничительной рамки 708. Следует отметить, что расстояние 850 может быть основано только на первом сегменте 820, втором сегменте 821 ограничительной рамки 708 и линии 650 сегмента.
[0176] В некоторых вариантах осуществления настоящей технологии электронное устройство 210, применяющее второй алгоритм, может быть выполнено с возможностью, для ограничительной рамки 708, определять систему 750 координат путем определения (i) продольной оси 704 через продольную срединную точку на сторонах ограничительной рамки 708 и (ii) поперечной оси 702 через поперечную срединную точку спереди и сзади ограничительной рамки 708. Система 750 координат имеет нулевую точку 706 (например, ее начало координат) на пересечении продольной оси 704 и поперечной оси 702.
[0177] В некоторых вариантах осуществления электронное устройство 210, применяющее второй алгоритм, может быть выполнено с возможностью проецировать линию 650 сегмента на продольную ось 704 и поперечную ось 702 для определения спроецированного положения линии 650 сегмента в системе 750 координат, как изображено на фиг. 8.
[0178] В некоторых вариантах осуществления, электронное устройство 210 может быть выполнено с возможностью применять по меньшей мере одну эвристику к спроецированному положению линии 650 сегмента и продольной оси 704 и поперечной оси 702.
ЭТАП 914: в ответ на то, что разделяющее расстояние между данным одним из набора кандидатов на столкновение и SDC ниже, чем предопределенный порог, определение, что данный кандидат из набора кандидатов на столкновение вызвал бы столкновение с SDC, если SDC следует траектории-кандидату
[0179] Способ 900 продолжается на этапе 914 электронным устройством 210, выполненным с возможностью, в ответ на то, что разделяющее расстояние (расстояние 850) между данным одним из набора кандидатов на столкновение и транспортным средством 220 ниже, чем предопределенный порог, определять, что данный один из набора кандидатов на столкновение вызвал бы столкновение с транспортным средством 220, если транспортное средство 220 следует траектории-кандидату 415.
[0180] В некоторых вариантах осуществления, предполагается, что предопределенный порог может составлять половину ширины транспортного средства 220 и при этом ширина представляет собой наибольшую ширину транспортного средства 220. В других вариантах осуществления, предполагается, что электронное устройство 210 может быть выполнено с возможностью использовать значение для предопределенного порога, которое равно первому радиусу 625 и/или второму радиусу 615, которые электронное устройство 210 использовало для определения первой и второй точек 620 и 610 отсечки во время процесса 600 генерации согласно фиг. 6.
ЭТАП 916: изменение по меньшей мере ассоциированной данной одной из множества точек траектории траектории-кандидата для визуализации измененной траектории-кандидата
[0181] Способ 900 продолжается на этапе 916 электронным устройством 210, выполненным с возможностью изменять по меньшей мере ассоциированную данную одну из множества точек траектории (например, соответствующих ячейке 550) траектории-кандидата 415 для визуализации измененной траектории-кандидата, так что транспортное средство 220, следующее измененной траектории, избегает столкновений с динамическими объектами на сегменте 400 дороги.
[0182] Модификации и усовершенствования вышеописанных реализаций настоящей технологии могут стать очевидными специалистам в данной области техники. Подразумевается, что предшествующее описание является иллюстративным, а не ограничивающим. Поэтому подразумевается, что объем настоящей технологии ограничивается только объемом прилагаемой формулы изобретения.