Способ управления роботизированным транспортным средством Российский патент 2023 года по МПК B60W10/04 B60W30/08 B60W60/00 

Описание патента на изобретение RU2808469C2

Область техники, к которой относится изобретение

[001] Настоящая технология относится к компьютерным способам и системам управления роботизированным транспортным средством и, в частности, к способам и системам управления движением роботизированного транспортного средства в условиях присутствия как статических, так и динамических объектов.

Уровень техники

[002] Автономные роботизированные транспортные средства - это транспортные средства, способные автономно перемещаться по частной территории и/или территории общего пользования. С помощью системы датчиков, определяющих местоположение и/или окружающее пространство транспортного средства, внутренняя или связанная с транспортным средством логическая система управляет скоростью и направлением движения роботизированного транспортного средства на основе определенного датчиками местоположения и окружающего пространства транспортного средства.

[003] В роботизированном транспортном средстве могут использоваться различные системы датчиков, такие как, помимо прочего, системы камер, радиолокационные системы и лидарные системы. Для сбора различной информации о местоположении и окружающем пространстве транспортного средства и/или в другом формате могут использоваться различные системы датчиков. Например, лидарные системы могут использоваться для сбора данных облака точек для построения трехмерных карт окружающего пространства и других потенциальных объектов, расположенных в непосредственной близости от роботизированного транспортного средства.

[004] Такие автономные роботизированные транспортные средства используются для самых разных целей, включая доставку посылок и других предметов. Для решения этих задач может потребоваться управлять движением роботизированного транспортного средства в динамической среде, например, на заполненном людьми тротуаре, на пешеходном переходе, где может происходить движение людей и транспортных средств, и т. д. При выполнении этой навигационной задачи автономному роботизированному транспортному средству необходимо избегать столкновений с динамическими объектами, такими как люди и движущиеся транспортные средства, и со статическими объектами, такими как припаркованные автомобили, здания, фонарные столбы и другие неподвижные объекты, обычно встречающиеся в городской и пригородной зоне, где предполагается использование роботизированного транспортного средства.

Раскрытие изобретения

[005] В вариантах осуществления предлагаемой технологии используется модуль управления движением с двумя отдельными моделями управления движением роботизированного транспортного средства. Первая модель, называемая «прогнозирующей» моделью, рассматривает движение динамических объектов, таких как пешеходы или транспортные средства. Поскольку люди и другие динамические объекты могут перемещаться из одной точки в другую и быстро менять свое положение, скорость и направление движения, трудно предсказать их положение на несколько секунд вперед. Поэтому прогнозирующая модель генерирует оценки возможных действий на основе приблизительных вероятностей столкновения роботизированного транспортного средства с динамическим объектом, если будет предпринято возможное действие. Они зависят от предсказания положения и направления движения динамических объектов. Вторая модель, называемая «аналитической», генерирует оценки на основе положения статических объектов, таких как здания. Поскольку положение таких статических объектов не меняется, аналитическая модель позволяет с высокой точностью определить, приведет ли конкретное действие роботизированного транспортного средства к сближению или даже к столкновению со статическим объектом. Оценки, сгенерированные прогнозирующей моделью, могут быть объединены с оценками, сгенерированными аналитической моделью, для определения действия роботизированного транспортного средства.

[006] Разделение моделей для динамических и статических объектов модулем управления движением в соответствии с предлагаемой технологией позволяет ему использовать наиболее подходящие модели для каждого из этих типов объектов, а не какую-то одну из них. Например, для генерирования оценок в прогнозирующей модели может использоваться предварительно обученная искусственная нейронная сеть, а для генерирования оценок в аналитической модели могут использоваться более точные методы, например хорошо известные алгоритмы обнаружения столкновений. Кроме того, при объединении оценок разделение моделей позволяет использовать различные весовые коэффициенты, чтобы подчеркнуть значимость избегания одного типа объекта по сравнению с другим. Например, при столкновении роботизированного транспортного средства с пешеходом (динамическим объектом) возможно нанесение травмы, тогда как при столкновении со зданием (статическим объектом) скорее всего будет нанесен только материальный ущерб. Учитывая это, оценке прогнозирующей модели можно присвоить более высокий весовой коэффициент, чем оценке аналитической модели, чтобы особо подчеркнуть необходимость предотвращения столкновений с динамическими объектами. Таким образом, за счет управления движением на основе отдельных моделей при работе с динамическими и статическими объектами улучшаются рабочие характеристики роботизированного транспортного средства и его способность перемещаться в потенциально людных местах.

[007] В соответствии с одним аспектом настоящего раскрытия технология реализована в способе управления роботизированным транспортным средством. Способ включает в себя получение компьютерным устройством, связанным с роботизированным транспортным средством, входных данных от датчика, связанного с роботизированным транспортным средством, причем входные данные от датчика обеспечивают информацию о динамических и статических объектах, находящихся вблизи роботизированного транспортного средства. Способ дополнительно включает в себя генерирование с использованием прогнозирующей модели на компьютерном устройстве первого множества оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из первого множества действий. Прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемой вероятности столкновения роботизированного транспортного средства с любым из динамических объектов. Способ дополнительно включает в себя генерирование с использованием аналитической модели на компьютерном устройстве второго множества оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из второго множества действий. Аналитическая модель выполнена с возможностью генерирования второго множества оценок на основе, по меньшей мере частично, информации о статических объектах. Способ также включает в себя объединение первого множества оценок со вторым множеством оценок для получения множества объединенных оценок, выбор действия для роботизированного транспортного средства, по меньшей мере частично, на основе множества объединенных оценок, и управление роботизированным транспортным средством в соответствии с выбранным действием.

[008] В некоторых вариантах осуществления изобретения прогнозирующая модель выполнена с возможностью генерирование первого множества оценок на основе, по меньшей мере частично, прогнозируемых действий каждого из динамических объектов. В некоторых вариантах осуществления изобретения аналитическая модель является более точной, чем прогнозирующая модель. В некоторых вариантах осуществления изобретения объединение первого множества оценок со вторым множеством оценок включает в себя присвоение первому множеству оценок больших весовых коэффициентов, чем второму множеству оценок, чтобы избежать столкновений с динамическими объектами.

[009] В некоторых вариантах осуществления изобретения выбор действия для роботизированного транспортного средства дополнительно осуществляется на основе, по меньшей мере частично, места назначения роботизированного транспортного средства. В некоторых вариантах осуществления изобретения каждое действие из первого множества действий содержит данные об угловом направлении движения и скорости роботизированного транспортного средства. В некоторых из этих вариантов осуществления изобретения первое множество оценок представлено в виде двумерной матрицы, в которой первое измерение двумерной матрицы представляет собой угловое направление движения, а второе измерение двумерной матрицы представляет собой скорость.

[010] В некоторых вариантах осуществления изобретения прогнозирующая модель включает в себя предварительно обученную нейронную сеть, а генерирование первого множества оценок включает в себя предоставление по меньшей мере части информации о динамических объектах в качестве входных данных для предварительно обученной нейронной сети. В некоторых вариантах осуществления изобретения генерирование второго множества оценок включает в себя штрафование за действия, выполнению которых препятствует статический объект.

[011] В соответствии с другими аспектами настоящего изобретения предлагается модуль управления движением для роботизированного транспортного средства. Модуль управления движением содержит процессор и память. В памяти хранятся запрограммированные команды, при выполнении которых процессор способен: получать входные данные от датчика, связанного с роботизированным транспортным средством, о динамических и статических объектах, находящихся вблизи роботизированного транспортного средства; генерировать с использованием прогнозирующей модели первое множество оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из первого множества действий, причем прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемой вероятности столкновения роботизированного транспортного средства с любым из динамических объектов; генерировать с использованием аналитической модели второе множество оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из второго множества действий, причем аналитическая модель выполнена с возможностью генерирования второго множества оценок на основе, по меньшей мере частично, информации о статических объектах; объединять первое множество оценок со вторым множеством оценок для получения множества объединенных оценок; выбирать действие для роботизированного транспортного средства, по меньшей мере частично, на основе множества объединенных оценок.

[012] В некоторых вариантах осуществления этого аспекта прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемых действий каждого из динамических объектов. В некоторых вариантах осуществления изобретения аналитическая модель является более точной, чем прогнозирующая модель. В некоторых вариантах осуществления изобретения в памяти хранятся запрограммированные команды, при выполнении которых процессор способен при объединении первого множества оценок со вторым множеством оценок присваивать первому множеству оценок большие весовые коэффициенты, чем второму множеству оценок, чтобы избежать столкновений с динамическими объектами.

[013] В некоторых вариантах осуществления изобретения в памяти хранятся запрограммированные команды, при выполнении которых процессор способен выбирать действие на основе, по меньшей мере частично, места назначения роботизированного транспортного средства. В некоторых вариантах осуществления изобретения каждое действие из первого множества действий содержит данные об угловом направлении движения и скорости роботизированного транспортного средства.

[014] В некоторых вариантах осуществления изобретения прогнозирующая модель включает в себя предварительно обученную нейронную сеть, а генерирование первого множества оценок включает в себя обеспечение по меньшей мере части информации о динамических объектах в качестве входных данных для предварительно обученной нейронной сети. В некоторых вариантах осуществления изобретения в памяти хранятся запрограммированные команды, при выполнении которых процессор способен генерировать оценки во втором множестве оценок, которые штрафуют за действия, выполнению которых препятствует статический объект.

[015] В соответствии с дополнительным аспектом настоящего изобретения данная технология реализуется в роботизированном транспортном средстве. Роботизированное транспортное средство включает в себя по меньшей мере один датчик и компьютерное устройство, содержащее модуль управления движением. Модуль управления движением способен: получать по меньшей мере от одного датчика входные данные, представляющие собой информацию о динамических и статических объектах вблизи роботизированного транспортного средства; генерировать с использованием прогнозирующей модели первое множество оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из первого множества действий, причем прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемой вероятности столкновения роботизированного транспортного средства с любым из динамических объектов; генерировать с использованием аналитической модели второе множество оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из второго множества действий, причем аналитическая модель выполнена с возможностью генерирования второго множества оценок на основе, по меньшей мере частично, информации о статических объектах; объединять первое множество оценок со вторым множеством оценок для получения множества объединенных оценок; выбирать действие для роботизированного транспортного средства, по меньшей мере частично, на основе множества объединенных оценок. Компьютерное устройство дополнительно содержит операционный модуль, способный обеспечить работу роботизированного транспортного средства в соответствии с выбранным действием из модуля управления движением.

[016] В некоторых вариантах осуществления изобретения прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемых действий каждого из динамических объектов. В некоторых вариантах осуществления изобретения прогнозирующая модель содержит предварительно обученную нейронную сеть.

Краткое описание чертежей

[017] Эти и другие признаки, аспекты и преимущества настоящей технологии содержатся в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.

[018] На фиг. 1 схематически представлен пример компьютерной системы для использования в некоторых вариантах осуществления систем и/или способов согласно настоящей технологии.

[019] На фиг. 2 представлена сетевая компьютерная среда, содержащая роботизированное транспортное средство, пригодная для использования с некоторыми вариантами осуществления настоящей технологии.

[020] На фиг. 3 представлена общая схема сценария, в котором могут использоваться различные варианты осуществления предлагаемой технологии.

[021] На фиг. 4 представлена блок-схема работы примера модуля управления движением в соответствии с различными вариантами осуществления предлагаемой технологии.

[022] На фиг. 5 представлена блок-схема работы альтернативного варианта осуществления модуля управления движением в соответствии с предлагаемой технологией.

[023] На фиг. 6 показаны примеры массивов оценок, которые могут быть сгенерированы прогнозирующей моделью и аналитической моделью, а также пример объединения массивов оценок в соответствии с различными вариантами осуществления предлагаемой технологии.

[024] На фиг. 7 представлена блок-схема способа управления движением в соответствии с различными вариантами осуществления предлагаемой технологии.

[025] На фиг. 8 представлена блок-схема организации искусственной нейронной сети в соответствии с примером осуществления предлагаемой технологии.

[026] На фиг. 9 представлена блок-схема участка подсети кодирования сцены в структуре искусственной нейронной сети для примера осуществления изобретения, представленного на фиг. 8.

[027] На фиг. 10 представлена блок-схема участка подсети вычисления значений в структуре искусственной нейронной сети для примера осуществления изобретения, представленного на фиг. 8.

[028] На фиг. 11 представлена смоделированная сцена того типа, который можно использовать для обучения искусственной нейронной сети в примере осуществления изобретения, представленном на фиг. 8.

[029] На фиг. 12 представлена блок-схема многоэтапного способа обучения искусственной нейронной сети для примера осуществления изобретения, представленного на фиг. 8.

Осуществление изобретения

[030] Различные типовые варианты осуществления настоящей технологии более полно поясняются в дальнейшем описании и на прилагаемых чертежах. Однако настоящая технология может быть реализована во многих различных формах, и ее не следует рассматривать как ограниченную типовыми вариантами осуществления, изложенными в данном документе. Абсолютные размеры и относительные размеры слоев и областей на чертежах могут быть увеличены для ясности изложения. По всему документу одинаковые цифровые обозначения относятся к одинаковым элементам.

[031] Представленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.

[032] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.

[033] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим, и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.

[034] Должно быть понятно, что, термины «первый», «второй», «третий» и т. д. могут использоваться в данном документе для описания различных элементов, тем не менее не следует ограничиваться применением этих терминов для данных элементов. Эти термины используются, чтобы отличить один элемент от другого. Таким образом, рассматриваемый ниже первый элемент можно было бы назвать вторым элементом без отступления от идеи настоящего изобретения. Используемый в данном документе термин «и/или» включает в себя все без исключения комбинации из одного или нескольких перечисленных элементов.

[035] Должно быть понятно, что, когда элемент указывается как «подключенный» к другому элементу или «соединенный» с другим элементом, он может быть подключен к другому элементу или соединен с другим элементом напрямую или через промежуточные элементы. Напротив, когда элемент указывается как «непосредственно подключенный» к другому элементу или «непосредственно соединенный» с другим элементом, никаких промежуточных элементов нет. Аналогичным образом следует интерпретировать и другие слова, используемые для описания взаимосвязи между элементами (например, «между» или «непосредственно между», «примыкающий» или «непосредственно примыкающий» и т. д.).

[036] Используемая в данном документе терминология предназначена только для описания конкретных типовых реализаций и не предназначена для установления ограничений настоящей технологии. Использование в документе терминов в единственном числе также подразумевает их использование во множественном числе, если контекст явно не указывает иное. Кроме того, должно быть понятно, что использование в этом описании терминов «содержит» и/или «содержащий» определяет наличие указанных свойств, структур, шагов, операций, элементов и/или составных частей, но не исключает наличия или добавления одного или нескольких других свойств, структур, шагов, операций, элементов, составных частей и/или их групп.

[037] Функции различных элементов, показанных на чертежах, включая в себя любой функциональный блок, обозначенный как «процессор», могут быть обеспечены с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может быть процессором общего назначения, например центральным процессором (CPU, Central Processing Unit), или процессором, предназначенным для определенной цели, например цифровым сигнальным процессором (DSP, Digital Signal Processor). Кроме того, явное использование термина «процессор» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.

[038] Программные модули или просто модули либо блоки, реализация которых предполагается в виде программных средств, могут быть представлены здесь в виде любого сочетания элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми. Кроме того, должно быть понятно, что модуль может включать в себя, например, помимо прочего, логические средства компьютерной программы, команды компьютерной программы, программное обеспечение, стек, микропрограммное обеспечение, аппаратные схемотехнические решения или их комбинацию, которые обеспечивает требуемые возможности.

[039] В контексте данного описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.

[040] Настоящая технология может быть реализована как система, способ и/или компьютерный программный продукт. Компьютерный программный продукт может включать в себя машиночитаемый носитель (или носители) данных, хранящий машиночитаемые программные команды, при исполнении которых процессором выполняются аспекты описанной технологии. Машиночитаемый носитель данных может быть, например, электронным запоминающим устройством, магнитным запоминающим устройством, оптическим запоминающим устройством, электромагнитным запоминающим устройством, полупроводниковым запоминающим устройством или любой подходящей их комбинацией. Неполный перечень других примеров машиночитаемых носителей данных включает в себя: портативный компьютерный диск, жесткий диск, оперативную память (RAM), постоянную память (ROM), флэш-память, оптический диск, Memory Stick, гибкий диск, носитель с механическим или визуальным кодированием (например, перфокарту или штрих-код) и/или любую их комбинацию. В данном описании под машиночитаемым носителем данных подразумевается машиночитаемый носитель для долговременного хранения данных. К этой категории не относятся кратковременно существующие сигналы, такие как радиоволны или другие свободно распространяющиеся электромагнитные волны; электромагнитные волны, распространяющиеся в волноводе или другой передающей среде (например, световые импульсы, распространяющиеся в оптоволоконном кабеле), или электрические сигналы, передаваемые по проводам.

[041] Должно быть понятно, что машиночитаемые программные команды можно загружать в соответствующие вычислительные или обрабатывающие устройства с машиночитаемого носителя данных либо на внешний компьютер или внешнее запоминающее устройство по сети, например по сети Интернет, локальной сети, глобальной сети и/или беспроводной сети. Сетевой интерфейс в вычислительном или обрабатывающем устройстве может принимать машиночитаемые программные команды по сети и пересылать их для хранения на машиночитаемом носителе данных в соответствующем вычислительном или обрабатывающем устройстве.

[042] Машиночитаемые программные команды для выполнения операций, согласно настоящему изобретению, могут быть командами ассемблера, машинными командами, командами микропрограммного обеспечения, данными конфигурации для интегральных схем, а также исходным кодом или объектным кодом, написанным в любой комбинации на одном или нескольких языках программирования. Машиночитаемые программные команды могут выполняться полностью на компьютере пользователя, частично на компьютере пользователя, как автономный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере или полностью на удаленном компьютере или сервере. В последнем случае удаленный компьютер может быть подключен к компьютеру пользователя по сети любого типа.

[043] Описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть понятно, что любые функциональные схемы, структурные схемы, диаграммы переходов состояний, псевдокоды и т. п. соответствуют различным процессам, которые могут быть представлены в машиночитаемых программных командах. Эти машиночитаемые программные команды могут быть направлены процессору или другому программируемому устройству обработки данных для генерирования машины, в которой эти команды выполняются с помощью процессора компьютера или другого программируемого устройства обработки данных и создают средства для реализации функций/действий, определенных в функциональной схеме и/или в блоке либо блоках структурной схемы. Эти машиночитаемые программные команды также могут храниться на машиночитаемом носителе данных, который может управлять компьютером, программируемым устройством обработки данных и/или другими устройствами для функционирования таким образом, чтобы машиночитаемый носитель данных с хранящимися на нем командами представлял собой изделие, содержащее команды, которые реализуют аспекты функции/действия, определенные в функциональных схемах, структурных схемах, схемах переходов состояний, псевдокоде и т. п.

[044] Машиночитаемые программные команды также могут быть загружены в компьютер, другое программируемое устройство обработки данных или другие устройства, чтобы инициировать выполнение ряда рабочих шагов на компьютере, другом программируемом устройстве или других устройствах для генерирования компьютеризированного процесса, в котором команды, которые выполняются на компьютере, другом программируемом устройстве или другом устройстве, реализуют функции/действия, определенные в функциональных схемах, структурных схемах, схемах переходов состояний, псевдокоде и т. п.

[045] В некоторых альтернативных вариантах осуществления изобретения функции, указанные на функциональных схемах, структурных схемах, схемах переходов состояний, псевдокоде и т. п., могут выполняться не в том порядке, в котором они указаны на чертежах. Например, два блока, показанные на функциональной схеме последовательно, в действительности могут в значительной мере выполняться параллельно, или иногда эти блоки могут выполняться в обратном порядке, в зависимости от наличия функциональных возможностей. Также следует отметить, что каждая из функций, указанных на чертежах, и комбинации таких функций могут быть реализованы специализированными аппаратными системами, которые выполняют указанные функции или действия, либо комбинациями специализированных аппаратных средств и компьютерных команд.

[046] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящего изобретения.

Компьютерная система

[047] На фиг. 1 представлена компьютерная система 100. Компьютерная система 100 может быть многопользовательским компьютером, однопользовательским компьютером, портативным компьютером, планшетным компьютером, смартфоном, встроенной системой управления или любой другой компьютерной системой, известной в настоящее время или разработанной позже. Кроме того, следует понимать, что некоторые или все компоненты компьютерной системы 100 могут быть виртуализированными и/или облачными. Как показано на фиг. 1, компьютерная система 100 включает в себя один или более процессоров 102, память 110, интерфейс 120 запоминающего устройства и сетевой интерфейс 140. Эти компоненты системы соединены между собой электронным образом по шине 150, которая может включать в себя одну или более внутренних и/или внешних шин (не показаны) (например, шину PCI, шину USB, шину IEEE 1394 «Firewire», шину SCSI, шину Serial-ATA и т. д.), с которыми электрически соединены различные аппаратные компоненты.

[048] Память 110, которая может быть памятью с произвольным доступом или памятью любого другого типа, может содержать данные 112, операционную систему 114 и программу 116. Данные 112 могут быть любыми данными, которые представляют собой входную или выходную информацию любой программы в компьютерной системе 100. Операционная система 114 - это такая операционная система как MICROSOFT WINDOWS или LINUX. Программа 116 может быть любой программой или набором программ с запрограммированными командами, которые могут выполняться процессором для управления действиями, осуществляемыми компьютерной системой 100.

[049] Интерфейс 120 запоминающего устройства используется для подключения запоминающих устройств, например, запоминающего устройства 125, к компьютерной системе 100. Одним типом запоминающего устройства 125 является твердотельный накопитель, в котором для долговременного хранения данных может использоваться гибридная интегральная схема. Другим типом запоминающего устройства 125 является жесткий диск, например, электромеханическое устройство, в котором для хранения и извлечения цифровых данных используется магнитное запоминающее устройство. Аналогично запоминающее устройство 125 может представлять собой оптический накопитель, устройство считывания карт памяти, способное считывать информацию со съемной карты памяти, например SD-карты, или устройство флэш-памяти, которое может быть подключено к компьютерной системе 100, например, по универсальной последовательной шине (USB, Universal Serial Bus).

[050] В некоторых вариантах осуществления изобретения компьютерная система 100 может использовать хорошо известные методы виртуальной памяти, которые позволяют программам компьютерной системы 100 вести себя так, как если бы они имели доступ к большому непрерывному адресному пространству, а не к пространству множества запоминающих устройств меньшего размера, таких как память 110 и запоминающее устройство 125. Поэтому, несмотря на то, что данные 112, операционная система 114 и программы 116 показаны как постоянно находящиеся в памяти 110, специалистам в данной области техники понятно, что эти элементы не обязательно в полном объеме находятся в памяти 110 одновременно.

[051] Процессоры 102 могут содержать один или более микропроцессоров и/или других интегральных схем. Процессоры 102 выполняют программные команды, хранящиеся в памяти 110. При запуске компьютерной системы 100 процессоры 102 сначала могут выполнять процедуру загрузки и/или программные команды операционной системы 114.

[052] Сетевой интерфейс 140 используется для подключения компьютерной системы 100 к другим компьютерным системам или сетевым устройствам (не показаны) по сети 160. Сетевой интерфейс 140 может включать в себя комбинацию аппаратного и программного обеспечения, которая позволяет осуществлять обмен информацией по сети 160. В некоторых вариантах осуществления изобретения сетевой интерфейс 140 может быть беспроводным сетевым интерфейсом. Программное обеспечение в сетевом интерфейсе 140 может включать в себя программное обеспечение, которое использует один или более сетевых протоколов для обмена информацией по сети 160. Например, сетевые протоколы могут включать в себя протокол управления передачей / Интернет-протокол TCP/IP (Transmission Control Protocol/Internet Protocol).

[053] Должно быть понятно, что компьютерная система 100 является лишь примером и что описанная технология может использоваться с компьютерными системами или другими компьютерными устройствами разной конфигурации.

Сетевая компьютерная среда

[054] На фиг. 2 показана сетевая компьютерная среда 200, пригодная для использования с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Сетевая компьютерная среда 200 содержит компьютерное устройство 210, связанное с роботизированным транспортным средством 220. Среда 200 также включает в себя один или более серверов 235, поддерживающих обмен информацией с компьютерным устройством 210 через сети 240 связи (например, по сети Интернет и т. п.).

[055] По меньшей мере в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии компьютерное устройство 210 соединено с возможностью связи с системами управления роботизированного транспортного средства 220. Компьютерное устройство 210 может управлять различными рабочими системами роботизированного транспортного средства 220, в том числе, помимо прочего: системой управления двигателем, системой рулевого управления, а также системами сигнализации и освещения.

[056] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сетевая компьютерная среда 200 может включать в себя спутник системы GPS (не показан), передающий сигнал GPS компьютерному устройству 210 и/или принимающий сигнал GPS от него. Должно быть понятно, что настоящая технология не ограничивается системой GPS и может использовать технологию определения местоположения, отличную от системы GPS. Следует отметить, что спутник GPS может вовсе отсутствовать.

[057] Роботизированное транспортное средство 220, с которым связано компьютерное устройство 210, может представлять собой любое роботизированное транспортное средство, для осуществления доставки, применения на складе и т. п. Несмотря на то, что роботизированное транспортное средство 220 изображено как наземное транспортное средство, оно может быть иным в каждом не имеющем ограничительного характера варианте осуществления настоящей технологии. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии роботизированное транспортное средство 220 может быть летательным аппаратом, таким как летающий дрон, или водным транспортным средством.

[058] Роботизированное транспортное средство 220 может быть полностью автономным транспортным средством или частично автономным транспортным средством, в котором некоторыми аспектами работы транспортного средства дистанционно управляет человек-оператор, а остальные аспекты автоматизированы. В одном не имеющем ограничительного характера примере роботизированное транспортное средство 220 может работать автономно до тех пор, пока оно не столкнется с неожиданной или необычной ситуацией, с которой оно не в состоянии справиться автономно, тогда можно связаться с удаленным оператором-человеком. Следует отметить, что не накладывается каких-либо ограничений на конкретные параметры роботизированного транспортного средства 200, такие как производитель, модель, год выпуска, масса, размеры, распределение массы, площадь поверхности, высота, тип электродвигателя, тип шин (если используются шины), система электропитания и другие характеристики или параметры транспортного средства.

[059] Согласно настоящей технологии, на реализацию компьютерного устройства 210 не накладывается каких-либо конкретных ограничений. Например, компьютерное устройство 210 может быть реализовано как блок управления двигателем транспортного средства; центральный процессор транспортного средства; компьютерная система, встроенная в роботизированное транспортное средство 220; подключаемый модуль управления и т. п. Следует отметить, что компьютерное устройство 210 может быть постоянно связано или не связано с роботизированным транспортным средством 220.

[060] Компьютерное устройство 210 может содержать некоторые или все компоненты компьютерной системы 100, показанной на фиг. 1, в зависимости от конкретной реализации. В некоторых вариантах осуществления изобретения компьютерное устройство 210 представляет собой бортовое компьютерное устройство и содержит процессоры 102, запоминающее устройство 125 и память 110. Иными словами, компьютерное устройство 210 содержит аппаратные средства, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для осуществления обработки данных, как более подробно описано ниже.

[061] В некоторых, не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи представляет собой сеть Интернет. В альтернативных, не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN, Local Area Network), глобальная сеть (WAN, Wide Area Network), частная сеть связи и т. п. Очевидно, что варианты осуществления сети 240 связи приведены лишь в иллюстративных целях. Между компьютерным устройством 210 и сетью 240 связи предусмотрена линия связи (отдельно не обозначена), реализация которой зависит, помимо прочего, от реализации компьютерного устройства 210. Лишь в качестве примера, не имеющего ограничительного характера, линия связи может быть реализована в виде беспроводной линии связи. Примеры беспроводных линий связи могут включать в себя, помимо прочего, канал сети связи 3G, канал сети связи 4G и т. п. В сети 240 связи также может использоваться беспроводное соединение с серверами 235.

[062] В некоторых вариантах осуществления настоящей технологии серверы 235 реализованы как компьютерные серверы и могут содержать некоторые или все элементы компьютерной системы 100, показанной на фиг. 1. В одном не имеющем ограничительного характера примере серверы 235 реализованы в виде серверов Dell™ PowerEdge™, работающих под управлением операционной системы Microsoft™ Windows Server™, но они также могут быть реализованы с использованием любых других подходящих аппаратных средств, программного обеспечения и/или микропрограммного обеспечения либо их сочетания.

[063] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессоры 102 компьютерного устройства 210 могут быть связаны с серверами 235 для получения одного или нескольких обновлений. Такие обновления могут включать в себя, помимо прочего, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления геозон, обновления погодных данных и т. п. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии компьютерное устройство 210 также может отправлять серверам 235 некоторые рабочие данные, такие как пройденные маршруты, данные о дорожном движении, рабочие характеристики и т. п. Некоторые или все данные, передаваемые между роботизированным транспортным средством 220 и серверами 235, могут быть зашифрованы и/или обезличены.

[064] Следует отметить, что компьютерное устройство 210 может использовать множество датчиков и систем для сбора информации об окружающем пространстве 250 роботизированного транспортного средства 220. Как показано на фиг. 2, роботизированное транспортное средство 220 может быть оборудовано множеством систем 280 датчиков. Следует отметить, что для сбора данных различного вида об окружающем пространстве 250 роботизированного транспортного средства 220 могут использоваться различные системы датчиков из множества систем 280 датчиков.

[065] В одном примере множество систем 280 датчиков может включать в себя различные оптические системы, в том числе, среди прочего, одну или более систем датчиков типа «камера», установленных на роботизированном транспортном средстве 220 и соединенных с возможностью связи с процессорами 102 компьютерного устройства 210. В целом, одна или более систем датчиков типа «камера» может собирать данные изображения о различных частях окружающего пространства 250 роботизированного транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или более системами датчиков типа «камера», могут использоваться компьютерным устройством 210 для выполнения процедур обнаружения объекта. Например, компьютерное устройство 210 может передавать данные изображения, предоставленные одной или более системами датчиков типа «камера», в нейронную сеть обнаружения объектов (ODNN, Object Detection Neural Network), обученную локализации и классификации потенциальных объектов в окружающем пространстве 250 роботизированного транспортного средства 220.

[066] В другом примере множество систем 280 датчиков может включать в себя одну или более систем датчиков радиолокационного типа, установленных на роботизированном транспортном средстве 220 и подключенных к процессорам 102. В целом, одна или более систем датчиков радиолокационного типа может осуществлять сбор данных о различных частях окружающего пространства 250 роботизированного транспортного средства 220 с помощью радиоволн. Например, одна или более систем датчиков типа «радиолокатор» может собирать радиолокационные данные о потенциальных объектах в окружающем пространстве 250 транспортного средства 220, и такие данные могут показывать расстояние от системы датчиков типа «радиолокатор» до объектов, ориентацию объектов, скорость объектов и т. п.

[067] В еще одном примере множество систем 280 датчиков может включать в себя одну или более лидарных систем, установленных на роботизированном транспортном средстве 220 и соединенных с возможностью связи с процессорами 102. В целом лидарная система выполнена с возможностью осуществлять сбор данных об окружающем пространстве 250 роботизированного транспортного средства 220, например, для построения многомерной карты объектов в окружающем пространстве 250 роботизированного транспортного средства 220. Лидарная система может быть установлена на роботизированном транспортном средстве 220 в различных его местах и/или в различных вариантах исполнения для сбора информации об окружающем пространстве 250 роботизированного транспортного средства 220.

[068] В контексте настоящей технологии компьютерное устройство 210 выполнено с возможностью обнаруживать один или более объектов в окружающем пространстве 250 роботизированного транспортного средства 220 на основе данных, полученных от одной или более систем камер и от одной или более лидарных систем. Например, компьютерное устройство 210, выполненное с возможностью обнаруживать данный объект в окружающем пространстве 250 транспортного средства 220, может идентифицировать лидарные данные и данные камеры, связанные с данным объектом, генерировать «эмбеддинг» (векторное представление), характеризующий признаки данного объекта, и обнаруживать объект, генерируя ограничивающую рамку для этого объекта.

Работа роботизированного транспортного средства

[069] Варианты осуществления рассматриваемой технологии обеспечивают навигацию или управление движением роботизированного транспортного средства в окружающем пространстве в присутствии как статических, так и динамических (т. е. движущихся) объектов. В контексте настоящего описания рассматривается небольшое наземное роботизированное транспортное средства, предназначенное для доставки товаров, пакетов, ящиков или других посылок в городской или пригородной зоне. Исходя из характера выполняемых задач, такое роботизированное транспортное средство обычно движется по тротуарам и пешеходным дорожкам. Поэтому модуль управления движением в транспортном средстве должен учитывать поведение пешеходов, движущихся параллельно его пути или пересекающих его.

[070] Кроме того, роботизированное транспортное средство может пересекать дороги. Автомобили и другие транспортные средства, движущиеся по дорогам в городских и пригородных зонах, могут не замечать малоразмерные роботизированные транспортные средства, что может привести к столкновениям, в результате которых роботизированное транспортное средство и его груз могут быть повреждены или уничтожены. Поэтому модуль управления движением такого роботизированного транспортного средства должен учитывать наличие объектов на проезжей части, в том числе, например, движущихся и припаркованных автомобилей и других транспортных средств.

[071] Одной из важных целей средства доставки может быть доставка посылки из пункта отправления в пункт назначения к определенному времени. Поэтому модуль управления движением должен контролировать скорость роботизированного транспортного средства и определять, осуществляется ли надлежащее продвижение к пункту назначения. Эти соображения особенно актуальны, когда для задачи критически важным является соблюдение времени доставки или когда пункт назначения находится далеко.

[072] В приведенном в иллюстративных целях примере роботизированного транспортного средства используются лидарные и другие датчики, расположенные на разных сторонах транспортного средства. Компьютерное устройство, связанное с роботизированным транспортным средством, получает данные от датчиков и генерирует трехмерную карту точек. Эта трехмерная карта точек может использоваться роботизированным транспортным средством, например, для определения расстояния до объектов окружающего пространства и для определения траектории и скорости.

[073] В соответствии с различными вариантами осуществления предлагаемой технологии в модуле управления движением используются две отдельные модели для определения траектории и скорости роботизированного транспортного средства. Прогнозирующая модель предсказывает движение динамических объектов, обнаруженных роботизированным транспортным средством, и присваивает оценки возможным действиям роботизированного транспортного средства на основе этих предсказаний. Отдельная аналитическая модель присваивает оценки возможным действиям роботизированного транспортного средства на основе наличия статических объектов, обнаруженных роботизированным транспортным средством. Эти оценки объединяются, и генерируется набор оценок, который можно использовать для определения действия роботизированного транспортного средства. В некоторых вариантах осуществления изобретения эти модели могут генерировать оценки одновременно, а в других вариантах осуществления изобретения сначала для генерации оценок может использоваться прогнозирующая модель, а затем аналитическая модель может проверять только те действия, в результате которых на основе оценок прогнозирующей модели сближение с динамическим объектом маловероятно. Аналитическая модель может штрафовать любые из этих действий, если они могут привести к сближению или столкновению роботизированного транспортного средства со статическим объектом.

[074] Специалистам в данной области техники должно быть понятно, что, несмотря на использование в качестве примера наземного транспортного средства доставки, способы, аналогичные описанным в настоящем документе, могут использоваться в самых разных вариантах применения роботизированных транспортных средств. Использование отдельных моделей для динамических и статических объектов может применяться в модулях управления движением для многих вариантов применения и типов роботизированных транспортных средств.

[075] На фиг. 3 представлена общая схема сценария, в котором могут использоваться различные варианты осуществления предлагаемой технологии. В примере, представленном на фиг. 3, роботизированное транспортное средство 302 перемещается в пешеходной зоне 304 общего пользования, в которой находятся здание 306 и фонарный столб 308, являющиеся статическими объектами, расположенными в непосредственной близости от роботизированного транспортного средства 302. Кроме того, в пешеходной зоне 304 движутся пешеходы 310 и 312, представляющие собой динамические объекты, расположенные в непосредственной близости от роботизированного транспортного средства 302. В момент времени t1 пешеходы 310 и 312 находятся в положениях, показанных на фиг. 3, но поскольку они движутся (их движение показано векторами 314 и 316 соответственно), роботизированное транспортное средство 302 может предсказать их местоположение в более поздний момент времени t2, чтобы определить, куда роботизированное транспортное средство 302 может перемещаться, не приближаясь слишком близко ни к одному из пешеходов 310 и 312.

[076] В соответствии с различными вариантами осуществления предлагаемой технологии для определения траектории и скорости роботизированного транспортного средства 302 модуль управления движением (не показан), связанный с роботизированным транспортным средством, применяет прогнозирующую модель для предсказания положения динамических объектов в момент времени t2 и определяет оценки за возможные действия роботизированного транспортного средства 302 на основе этих прогнозов. В сценарии, представленном на фиг. 3, прогнозирующая модель предсказывает, что пешеход 310 в момент времени t2 будет в зоне 320, а пешеход 312 в момент времени t2 будет в зоне 322. Соответственно, действия роботизированного транспортного средства, которые при заданной траектории и скорости перемещают роботизированное транспортное средство либо в область 320, либо в область 322, получают низкие оценки от прогнозирующей модели. В некоторых вариантах осуществления изобретения оценка может быть основана на вероятности того, что динамический объект (например, пешеход 310 или 312) сблизится с роботизированным транспортным средством в момент времени t2, если роботизированное транспортное средство будет следовать по определенной траектории с определенной скоростью, причем чем больше вероятность сближения динамического объекта, тем ниже оценка.

[077] В примере, представленном на фиг. 3, в связи с тем, что действия (т. е. траектория и скорость), представленные векторами 330 и 332, поместят роботизированное транспортное средство 302 в область 320, где в момент времени t2 высока вероятность нахождения пешехода 310, эти действия получат относительно низкие оценки: в данном примере - 0,1 и 0,2 соответственно. Аналогично, поскольку действие, представленное вектором 334, поместит роботизированное транспортное средство 302 в область 322, где в момент времени t2 высока вероятность нахождения пешехода 312, это действие получит относительно низкую оценку от прогнозирующей модели. В этом примере действие, представленное вектором 334, может получить оценку 0,1. Маловероятно, что действия, представленные векторами 336, 338 и 340, сблизят роботизированное транспортное средство с динамическим объектом, поэтому эти действия получают относительно высокие оценки от прогнозирующей модели: в данном примере - 0,8, 0,9 и 0,8 соответственно.

[078] Модуль управления движением, связанный с роботизированным транспортным средством 302, также реализует аналитическую модель, которая присваивает оценки возможным действиям роботизированного транспортного средства (в этом примере, траектории и скорости) на основе вероятности, с которой это действие приведет к сближению или столкновению роботизированного транспортного средства со статическим объектом, таким как здание 306 или фонарный столб 308. В примере, показанном на фиг. 3, действиям, представленным векторами 332 и 338, будут присвоены низкие оценки, поскольку эти действия могут привести к сближению или столкновению роботизированного транспортного средства 302 с фонарным столбом 308 и зданием 306 соответственно. В этом примере действие, представленное вектором 332, получает оценку 0,2, поскольку вполне вероятно, что роботизированное транспортное средство 302 лишь очень близко подойдет к фонарному столбу 308, но может не столкнуться с ним. Действие, представленное вектором 338, получает оценку 0, так как это действие почти наверняка приведет к столкновению со зданием 306. Каждое действие, представленное векторами 330, 334, 336 и 340, получает оценку 1, поскольку очень маловероятно, что они приведут к сближению со статическим объектом.

[079] Модуль управления движением объединяет оценки прогнозирующей модели и аналитической модели и генерирует оценку каждого из действий роботизированного транспортного средства 302. Должно быть понятно, что оценки, генерируемые аналитической моделью, вероятно, будут более точными, чем оценки прогнозирующей модели, поскольку определить возможность сближения или столкновения роботизированного транспортного средства 302 со статическим объектом не так трудно. Гораздо труднее точно предсказать действия динамических объектов, поэтому в оценках, генерируемых прогнозирующей моделью, вероятно, будет большая неопределенность, чем в оценках, генерируемых аналитической моделью.

[080] В некоторых вариантах осуществления изобретения оценкам, генерируемым прогнозирующей моделью, несмотря на их большую неопределенность, при объединении оценок может быть присвоен больший вес, чем оценкам, генерируемым аналитической моделью. Это связано с тем, что при столкновении с динамическим объектом выше вероятность травматизма людей, чем при столкновении со статическим объектом, которое может нанести материальный ущерб, но с гораздо меньшей вероятностью приведет к травмам.

[081] В некоторых вариантах осуществления изобретения для объединения оценок прогнозирующей и аналитической моделей может использоваться их взвешенная сумма. В некоторых вариантах осуществления изобретения для объединения оценок может использоваться их взвешенное произведение. Разумеется, также могут использоваться и другие способы объединения оценок. В некоторых вариантах осуществления изобретения низкие оценки могут быть представлены отрицательными значениями, поэтому низкие оценки будут уменьшать объединенную оценку во взвешенной сумме. В некоторых вариантах осуществления изобретения для объединения оценок могут применяться определенные правила. Например, в некоторых вариантах осуществления изобретения может применяться правило, согласно которому, если какая-либо из моделей присваивает нулевую оценку, объединенная оценка будет нулевой.

[082] В примере, приведенном на фиг. 3, используется способ взвешенной суммы с равными весовыми коэффициентами для каждой модели, при этом объединенной оценке присваивается нулевое значение, если какая-либо из моделей генерирует нулевую оценку. На основе этого способа объединения оценок значения объединенных оценок для действий, представленных векторами 330, 332, 334, 336, 338 и 340, составляют 0,55, 0,2, 0,55, 0,9, 0 и 0,9 соответственно. Только на основе объединения данных прогнозирующей и аналитической моделей наивысшие оценки получают действия, представленные векторами 336 и 340. Эти два действия могут быть дополнительно оценены на основе других факторов, таких как карта и место назначения роботизированного транспортного средства 302. Например, если действие, представленное вектором 336, обеспечит роботизированному транспортному средству более короткий путь к месту назначения, чем действие, представленное вектором 340, то оценка за это действие может быть увеличена и будет основанием для выбора этого действия модулем управления движением.

[083] Должно быть понятно, что аналогичные результаты могут быть достигнуты в некоторых в некоторых вариантах осуществления изобретения путем применения сначала прогнозирующей модели, а затем применения аналитической модели только к тем возможным действиям, которым прогнозирующая модель присвоила относительно высокие оценки. При этом аналитическая модель снижает оценки за те действия, которые приводят к чрезмерному сближению или столкновению роботизированного транспортного средства со статическим объектом.

[084] На фиг. 4 представлена блок-схема части модуля 402 управления движением в соответствии с некоторыми вариантами осуществления описанной технологии. По показаниям 404 датчиков прогнозирующая модель 406 генерирует матрицу 408 оценок действий, в которой, например, горизонтальная ось соответствует угловому направлению движения, а вертикальная ось - скорости роботизированного транспортного средства (на фиг. 4 не показано).

[085] В различных вариантах осуществления изобретения для генерирования матрицы 408 оценок прогнозирующая модель 406 может использовать предварительно обученную нейронную сеть (не показана). Предварительно обученная нейронная сеть принимает в качестве входных данных показания датчиков, включая информацию о динамических объектах в пределах дальности действия датчиков роботизированного транспортного средства, которая может включать, например, данные о типе, координатах, скорости и траектории движения динамических объектов, а также информацию об окружающей обстановке и условиях. На своем выходе предварительно обученная нейронная сеть генерирует матрицу 408 оценок, указывающих, по меньшей мере частично, на вероятность столкновения роботизированного транспортного средства с динамическим объектом при движении роботизированного транспортного средства в конкретном угловом направлении с конкретной скоростью (например, меньшие оценки соответствуют большей вероятности столкновения роботизированного транспортного средства с динамическим объектом).

[086] Обучение предварительно обученной нейронной сети может быть выполнено на сервере или другой системе с использованием большого набора обучающих данных, включая предварительно записанные данные о типе, координатах, скорости и траектории движения, а также информацию об окружающей обстановке для большого числа динамических объектов, и, кроме того, информацию о фактическом местоположении и полученных оценках для этих динамических объектов. Специалистам в данной области техники должно быть понятно, что обучение нейронной сети является задачей, требующей больших вычислительных затрат, и решать ее лучше всего на быстродействующих специализированных системах. После обучения нейронной сети и получения хороших результатов на тестовых данных она может быть отправлена роботизированным транспортным средствам для применения в качестве предварительно обученной нейронной сети.

[087] Показания 404 датчиков также можно отправлять аналитической модели 410 в модуле 402 управления движением. Аналитическая модель 410 использует показания датчиков и может использовать другую информацию, такую как данные карты (не показаны), и генерирует матрицу 412 оценок действий, в которой, например, горизонтальная ось соответствует угловому направлению движения, а вертикальная ось - скорости роботизированного транспортного средства (на фиг. 4 не показано). Оценки в матрице 412 указывают на присутствие статических объектов на пути роботизированного транспортного средства для каждого из значений углового направления и скорости. В некоторых вариантах осуществления изобретения оценки представляют собой вероятность сближения или столкновения роботизированного транспортного средства со статическим объектом. В некоторых вариантах осуществления изобретения оценки могут указывать на присутствие или отсутствие статического объекта на пути роботизированного транспортного средства для каждого из значений углового направления и скорости.

[088] Аналитическая модель 410 может использовать любой из множества известных способов для генерирования массива 412 оценок. Поскольку местоположение статических объектов известно, и они не перемещаются, существует много известных способов определения того, находятся ли такие статические объекты на пути движения роботизированного транспортного средства для каждого из значений его углового направления и скорости. Например, можно использовать известные алгоритмы обнаружения столкновений для проверки перекрытия ограничивающей рамки роботизированного транспортного средства и границ статического объекта. Обычно аналитическая модель 410 дает более точные и достоверные результаты, чем прогнозирующая модель 406.

[089] После завершения генерирования матриц 408 и 412 оценок, которое в некоторых вариантах осуществления изобретения может выполняться параллельно, эти матрицы объединяются с помощью функции 414 объединения. Как обсуждалось выше, функция 414 объединения может объединять матрицы оценок 408 и 412 с помощью разных способов объединения, таких как взвешенная сумма, взвешенное произведение, объединение на основе определенных правил и других способов объединения оценок в матрицах 408 и 412. Функция 414 объединения создает матрицу 416 объединенных оценок, которая может быть отправлена модулю 418 выбора действия. В некоторых вариантах осуществления изобретения матрице оценок 408, генерируемой прогнозирующей моделью 406, может быть присвоен больший вес, чем матрице оценок 412, генерируемой аналитической моделью. Это может быть сделано, например, для того, чтобы при определении действия роботизированного транспортного средства придать больший вес исключению столкновений с динамическими объектами, например с пешеходами.

[090] Модуль 418 выбора действия определяет действие роботизированного транспортного средства на основе массива 416 объединенных оценок. В некоторых вариантах осуществления изобретения это может быть выполнено путем определения действий (т. е. углового направления движения и скорости роботизированного транспортного средства) с наивысшими оценками. Модуль 418 выбора действия также может выбирать действие на основе других факторов, таких как карта местности (не показана) и место назначения (не показано). Модуль 418 выбора действия определяет действие 420, которое отправляется операционному модуль 422 для управления роботизированным транспортным средством.

[091] На фиг. 5 представлена блок-схема части модуля 502 управления движением в соответствии с альтернативным вариантом осуществления описанной технологии. По показаниям 504 датчиков прогнозирующая модель 506 генерирует матрицу 508 оценок действий, в которой, например, горизонтальная ось соответствует угловому направлению движения, а вертикальная ось - скорости роботизированного транспортного средства (на фиг. 4 не показано).

[092] Как и в варианте осуществления изобретения, представленном на фиг. 4, для генерирования матрицы 508 оценок прогнозирующая модель 506 может использовать предварительно обученную нейронную сеть (не показана). Предварительно обученная нейронная сеть принимает в качестве входных данных показания датчиков, включая в себя информацию о динамических объектах в пределах дальности действия датчиков роботизированного транспортного средства, которая может включать в себя, например, данные о типе, координатах, скорости и траектории движения динамических объектов, а также информацию об окружающей обстановке и условиях. На своем выходе предварительно обученная нейронная сеть генерирует матрицу 508 оценок, указывающих, по меньшей мере частично, на вероятность столкновения роботизированного транспортного средства с динамическим объектом при движении роботизированного транспортного средства в конкретном угловом направлении с конкретной скоростью (например, меньшие оценки соответствуют большей вероятности столкновения роботизированного транспортного средства с динамическим объектом).

[093] Затем матрица 508 может быть отправлена аналитической модели 510, которая определяет возможность сближения или столкновения роботизированного транспортного средства со статическим объектом. Чтобы определить это, аналитическая модель 510 может использовать показания 504 датчиков, а также другую информацию, такую как данные карты (не показаны). Аналитическая модель 510 снижает оценки для действий, способных привести к сближению или столкновению со статическим объектом.

[094] В некоторых вариантах осуществления изобретения аналитическая модель 510 может отфильтровывать действия, для которых прогнозирующая модель 506 определила высокую вероятность столкновения с динамическим объектом (т. е. действия, имеющие низкую оценку в матрице 508 оценок). Благодаря этому аналитическая модель 510 может уменьшить количество действий, для которых она проверяет возможность сближения или столкновения со статическим объектом.

[095] После этого аналитическая модель 510 может объединить определенные ею оценки с оценками, сгенерированными прогнозирующей моделью 506, и выбрать оцененный набор действий 512 с наилучшими оценками для отправки в модуль 514 выбора действий. Объединение оценок может быть выполнено с использованием взвешенной суммы, взвешенного произведения или других способов объединения. Как описано выше, в некоторых вариантах осуществления изобретения оценкам в матрице 508 оценок может быть присвоен больший вес, чем оценкам, сгенерированным аналитической моделью 510.

[096] Модуль 514 выбора действия определяет действие для роботизированного транспортного средства на основе оцененного набора действий 512. В некоторых вариантах осуществления изобретения это может быть выполнено путем определения действий (т. е. углового направления движения и скорости роботизированного транспортного средства) с наивысшими оценками. Модуль 514 выбора действия также может выбирать действие на основе других факторов, таких как карта местности (не показана) и место назначения (не показано). Модуль 514 выбора действия определяет действие 516, которое отправляется в операционный модуль 518 для управления роботизированным транспортным средством.

[097] На фиг. 6 представлен пример матрицы 602 оценок, полученной в результате применения прогнозирующей модели в соответствии с различными вариантами осуществления изобретения, пример матрицы 604 оценок, полученной в результате применения аналитической модели в соответствии с различными вариантами осуществления изобретения, и пример объединенной матрицы 606, полученной в результате объединения матриц 602 и 604.

[098] Как видно, в матрице 602 оценок горизонтальная ось 610 соответствует угловому направлению движения, а вертикальная ось 612 - скорости роботизированного транспортного средства (не показано). В этом примере диапазон угловых направлений движения составляет от -90° до 90° с шагом 5°, а диапазон скоростей - от 0,1 м/с до 2,5 м/с шагом 0,1 м/с. Должно быть понятно, что эти значения приведены лишь с иллюстративной целью и что могут быть использованы другие диапазоны, интервалы и единицы измерения. Матрица 604 оценок и объединенная матрица 606 имеют аналогичные горизонтальную и вертикальную оси (не обозначены на фиг. 6).

[099] В примере, приведенном на фиг. 6, матрица 602 оценок, полученная с помощью прогнозирующей модели (т. е. оценки на основе динамических объектов), находится в диапазоне от 0 (т. е. очень высокой вероятности столкновения с динамическим объектом) до 1 (т. е. очень низкой вероятности столкновения с динамическим объектом). В этом примере матрица 604 оценок, полученная с помощью аналитической модели (т. е. оценки, на основе статических объектов), содержит двоичные значения - либо 0, при чрезмерном сближении или столкновении со статическим объектом, либо 1, если на пути движения нет статических объектов. Следует отметить, что при такой структуре матрицы 604 оценок появление «0» в элементе с конкретным угловым направлением движения и скоростью приведет к появлению «0» во всех элементах матрицы с этим угловым направлением движения и более высокой скоростью (поскольку при любой более высокой скорости все равно произойдет недопустимое сближение или столкновение роботизированного транспортного средства со статическим объектом на пути, соответствующем этому угловому направлению). Это наблюдение может уменьшить количество проверок статических объектов, выполняемых в аналитической модели. Должно быть понятно, что в некоторых вариантах осуществления изобретения могут использоваться другие оценки или диапазоны оценок. Например, матрица 604 оценок может содержать оценки в диапазоне, который в большей или меньшей степени штрафует действие, в зависимости от того, насколько роботизированное транспортное средство сблизится со статическим объектом. Аналогично матрицы 602 и 604 могут содержать значения вне диапазона от 0 до 1, в том числе отрицательные оценки в некоторых вариантах осуществления изобретения.

[0100] Объединенная матрица 606 в примере, показанном на фиг. 6, генерируется путем перемещения значений оценки из матрицы 602 в объединенную матрицу 606, если соответствующее значение в матрице 604 равно «1», и помещения оценки «0» в объединенную матрицу 606, если соответствующее значение в матрице 604 равно «0». Таким образом, в этом примере объединенная матрица 606 является своего рода поэлементным произведением матриц 602 и 604. Должно быть понятно, что существует много других способов объединения оценок, связанных с динамическими объектами, и оценок, связанных со статическими объектами, которые можно использовать в различных вариантах осуществления предлагаемой технологии, в том числе, например, взвешенные суммы, взвешенные произведения и объединение на основе определенных правил.

[0101] Также должно быть понятно, что в некоторых вариантах осуществления изобретения, в которых аналитическая модель используется после прогнозирующей модели и проверяет только действия с оценкой, указывающей, что столкновение с динамическим объектом маловероятно, матрица 604 и объединенная матрица 606 могут быть заменены, например, списками или наборами действий, которые необходимо учитывать. Аналогично, в некоторых вариантах осуществления изобретения аналитическая модель может помещать в каждый элемент матрицы 604 значение, которое указывает, что этот элемент не нужно проверять, поскольку прогнозирующая модель указала на высокую вероятность столкновения с динамическим объектом.

[0102] На фиг. 7 представлена блок-схема способа управления роботизированным транспортным средством в соответствии с различными вариантами осуществления предлагаемой технологии. Способ 700 включает в себя две основные секции - секцию 702 прогнозирующей модели и секцию 704 аналитической модели. Секция 702 прогнозирующей модели генерирует оценки на основе предсказания вероятностей столкновения роботизированного транспортного средства с динамическим объектом, таким как пешеход или движущееся транспортное средство. Секция 704 аналитической модели генерирует оценки на основе данных о статических объектах, таких как здания, на пути движения роботизированного транспортного средства.

[0103] В блоке 710 компьютерное устройство, связанное с роботизированным транспортным средством, получает входные данные по меньшей мере от одного датчика, связанного с роботизированным транспортным средством. Входные данные датчиков предоставляют собой информацию о динамических и статических объектах в непосредственной близости (обычно в пределах дальности действия используемых датчиков) от роботизированного транспортного средства. Эти входные данные могут предоставляться, например, лидарной системой, камерами и другими датчиками, используемыми роботизированным транспортным средством. В некоторых вариантах осуществления изобретения входные данные датчиков могут содержать информацию о динамических объектах в пределах дальности действия датчиков роботизированного транспортного средства, которая может включать, например, данные о типе, координатах, скорости и траектории движения динамических объектов, а также информацию об окружающей обстановке и условиях. В некоторых вариантах осуществления изобретения входные данные датчика могут быть предварительно обработаны для предоставления, например, карты местности в непосредственной близости от роботизированного транспортного средства, содержащей как статические, так и динамические объекты.

[0104] В блоке 712 секции 702 прогнозирующей модели входные данные датчиков используются в качестве входных данных для предварительно обученной нейронной сети, а в блоке 714 нейронная сеть генерирует первый набор оценок. Каждая из оценок связана с возможным действием роботизированного транспортного средства, а оценки представляют собой, по меньшей мере частично, вероятность столкновения роботизированного транспортного средства с динамическим объектом, если будет предпринято возможное действие, на основе предсказания движения динамических объектов. В некоторых вариантах осуществления изобретения выходные данные нейронной сети могут быть представлены в виде матрицы оценок, в которой горизонтальная ось соответствует угловому направлению возможного движения, а вертикальная ось - скорости роботизированного транспортного средства. В некоторых вариантах осуществления изобретения низкая оценка может указывать на относительно высокую вероятность (например, 0,5 или выше) столкновения роботизированного транспортного средства с динамическим объектом, а высокая оценка указывает на относительно низкую вероятность (например, 0,1 или ниже) столкновения с динамическим объектом. Разумеется, должно быть понятно, что соответствовать относительно высокой или низкой вероятности столкновения с динамическим объектом могут и другие значения, и что представленные здесь значения являются лишь примерами. Точно так же значение «высокой» или «низкой» оценки может изменяться в зависимости от диапазона оценок.

[0105] В блоке 716 секции 704 аналитической модели этой аналитической модели предоставляются входные данные датчиков и, возможно, другая информация, например картографическая информация. В блоке 718 аналитическая модель генерирует второй набор оценок. Каждая из оценок связана с возможным действием роботизированного транспортного средства, а оценки определяются, по меньшей мере частично, возможностью присутствия статических объектов на пути роботизированного транспортного средства на основе информации о статических объектах. Аналитическая модель может генерировать оценки с помощью большого количества способов. Например, в некоторых вариантах осуществления изобретения может использоваться алгоритм обнаружения столкновений для проверки перекрытия ограничивающей рамки роботизированного транспортного средства и статического объекта. Поскольку статические объекты не перемещаются, секция 704 аналитической модели может быть более точной, чем секция 702 прогнозирующей модели. В некоторых вариантах осуществления изобретения секция 702 прогнозирующей модели может работать параллельно с секцией 704 аналитической модели, а в других вариантах осуществления изобретения секция 702 прогнозирующей модели может выполняться до или после секции 704 аналитической модели.

[0106] В блоке 720 первый набор оценок и второй набор оценок объединяются и образуют набор объединенных оценок. Как было указано выше, объединение оценок может выполняться различными способами, такими как взвешенная сумма, взвешенное произведение или объединение на основе определенных правил (хотя должно быть понятно, что это просто примеры, и можно также использовать и другие способы объединения первого и второго наборов оценок). В некоторых вариантах осуществления изобретения первому набору оценок может быть присвоен больший вес, чем второму набору оценок, чтобы придать большее значение исключению столкновений с динамическими объектами, такими как люди, чем исключению чрезмерного сближения со статическими объектами. Кроме того, в некоторых вариантах осуществления изобретения объединение оценок может обрабатываться как часть секции 704 аналитической модели, а в некоторых вариантах осуществления изобретения объединение оценок может обрабатываться как часть секции 702 прогнозирующей модели.

[0107] В блоке 722 объединенные оценки используются для выбора действия для роботизированного транспортного средства. Например, можно выбрать действие, соответствующее наилучшей или наивысшей оценке. Для выбора действия также могут использоваться и другие соображения, например место назначения роботизированного средства и карта.

[0108] В блоке 724 выполняется управление роботизированным транспортным средством в соответствии с выбранным действием.

Пример структуры искусственной нейронной сети

[0109] В соответствии с различными вариантами осуществления предлагаемой технологии для прогнозирования движения динамических объектов используется прогнозирующая модель на основе нейронной сети. В этом разделе описан пример структуры и обучения такой нейронной сети. На фиг. 8 показан пример структуры 800 искусственной нейронной сети и соответствующие элементы для генерирования оценки или значения потенциального действия роботизированного транспортного средства на основе прогнозируемого движения динамических объектов и окружающего пространства роботизированного транспортного средства.

[0110] Структура 800 содержит устройство 802 выделения признаков, подсеть 804 кодирования сцены и подсеть 806 вычисления значений. Устройство 802 выделения признаков выделяет признаки объектов (не показаны) в сцене 808. Сцена 808 может быть основана на входных данных датчиков или (в случае обучения) на моделировании. Объекты могут иметь такие свойства, как положение, радиус и скорость (в том числе величину и направление). Устройство 802 выделения признаков преобразует сцену 808 в координаты, центрированные относительно роботизированного транспортного средства, и создает матрицу 810, включающую в себя выделенные признаки для каждого идентифицированного объекта на сцене. Матрица 810 содержит n строк, где n - количество объектов, с k значениями в каждой строке, где k - количество признаков. В некоторых вариантах осуществления изобретения выделенные признаки могут быть свойствами, указанными выше для каждого объекта. Матрица 810 служит входными данными для подсети 804 кодирования сцены. Кроме того, устройство 802 выделения признаков предоставляет вектор 812 признаков роботизированного транспортного средства, который определяет роботизированное транспортное средство. В дополнение к другим признакам вектор 812 признаков роботизированного транспортного средства может содержать координаты места назначения роботизированного транспортного средства. Вектор 812 признаков роботизированного транспортного средства служит одним из входных данных подсети 806 вычисления значений.

[0111] Подсеть 804 кодирования сцены получает в качестве входных данных матрицу 810 и генерирует вектор 820 сцены, который представляет собой одиночный вектор, представляющий входную сцену 808. Вектор 820 сцены и вектор 812 признаков роботизированного транспортного средства используются в качестве входных данных подсети 806 вычисления значений, которая генерирует значение 830, представляющее собой одиночную оценку потенциального действия роботизированного транспортного средства.

[0112] На фиг. 9 представлен пример структуры подсети 804 кодирования сцены. Как было указано выше, подсеть 804 кодирования сцены получает в качестве входных данных матрицу 810, содержащую строку для каждого объекта в сцене 808. На первом участке 902 подсети 804 кодирования сцены каждая строка матрицы 810 служит входными данными для слоя 910, а его выходные данные служат входными данными для слоя 912. В этом примере осуществления изобретения слои 910 и 912 являются полносвязными слоями из 128 искусственных нейронов в слое и используют функцию нелинейной активации блока линейной ректификации (ReLU, Rectified Linear Unit). Должно быть понятно, что на фиг. 9 показано лишь несколько искусственных нейронов и связей между ними, чтобы более четко проиллюстрировать общую структуру подсети 804 кодирования сцены.

[0113] В этом примере осуществления изобретения выходной вектор слоя 912 используется в качестве входного для двух полносвязных линейных слоев 914 и 916, каждый из которых содержит 128 искусственных нейронов. Слой 914 генерирует вектор «ключей» из 128 значений, а слой 916 генерирует вектор «значений» из 128 значений. Таким образом, при обработке всех строк матрицы 810 на первом участке 902 подсети 804 кодирования сцены генерируется n векторов 950 «ключей» и n векторов 952 «значений».

[0114] На втором участке 904 подсети 804 кодирования сцены вычисляется усредненная величина каждого значения n векторов 950 «ключей» для генерирования усредненного вектора 954, имеющего 128 значений. В этом примере осуществления изобретения усредненный вектор 954 используется в качестве входных данных полносвязного линейного слоя 920 со 128 искусственными нейронами для генерирования вектора 956 «запросов», содержащего 128 значений.

[0115] В этом примере осуществления изобретения каждый вектор 952 «значений» объединяется с вектором «запросов», а объединенный вектор используется в качестве входных данных полносвязного слоя 922 с 258 искусственными нейронами. В качестве нелинейной активационной функции слой 922 может использовать общеизвестную функцию softmax. В качестве выходных данных слой 922 генерирует весовой коэффициент 958 внимания. Таким образом, при обработке n векторов 952 «значений» на втором участке подсети 804 кодирования сцены генерируется n весовых коэффициентов 960 внимания. Для генерирования распределения, сумма которого равна 1, к n весовым коэффициентам 960 внимания может применяться операция softmax.

[0116] На выходном участке 906 подсети 804 кодирования сцены n весовых коэффициентов 960 внимания используются для генерирования вектора 820 сцены. Как показано на фиг. 9, в одном примере осуществления изобретения для создания вектора 820 сцены n векторов 950 «ключей» умножаются на n весовых коэффициентов 960 внимания и суммируются.

[0117] На фиг. 10 показан пример структуры подсети 806 вычисления значений. В этом примере осуществления изобретения вектор 812 признаков роботизированного транспортного средства используется в качестве входных данных для полносвязного слоя 1010 из 128 искусственных нейронов с использованием нелинейной активационной функции ReLU. Выходные данные слоя 1010 используются в качестве входных данных для полносвязного слоя 1012 из 128 искусственных нейронов с использованием нелинейной активационной функции ReLU. Затем выходные данные слоя 1012 объединяются с вектором 820 сцены, сформированным подуровнем кодирования сцены, и объединенный вектор используется в качестве входных данных для последовательности из трех полносвязных слоев 1014, 1016 и 1018. В этом примере осуществления изобретения каждый из слоев 1014, 1016 и 1018 содержит 128 искусственных нейронов, и каждый из них использует нелинейную активационную функцию ReLU. Выходные данные слоя 1014 используются в качестве входных данных для слоя 1016, а выходные данные слоя 1016 используются в качестве входных данных для слоя 1018. Выходные данные слоя 1018 представляют собой значение 830, которое можно использовать в качестве оценки потенциального действия роботизированного транспортного средства.

[0118] Обучение искусственной нейронной сети, описанное выше в соответствии с фиг. 8-10, выполняется с помощью модуля моделирования сцены, который генерирует моделируемые сцены, в которых объекты перемещаются в соответствии с заданным правилом. Моделируемые сцены моделируют движение объектов с постоянными временными интервалами. Например, в некоторых вариантах осуществления изобретения может использоваться временной интервал 0,25 секунды. На каждом временном интервале предоставляются обновленные свойства для всех объектов моделируемой сцены и для роботизированного транспортного средства.

[0119] Управление перемещением динамических объектов в моделируемой сцене может осуществляться различными способами. Например, в моделируемой сцене может использоваться линейное перемещение динамических объектов. В альтернативном варианте для моделирования движения динамических объектов можно использовать эмпирический способ. Одним из примеров такого способа является способ оптимального предотвращение взаимных столкновений (ORCA, Optimal Reciprocal Collision Avoidance), описанный в статье «Van den Berg et al., "Reciprocal n-body collision avoidance", in Pradaller et al. (eds.), Robotics Research: The 14th International Symposium ISRR, Springer Tracts in Advanced Robotics, vol. 70, May 2011, pages 3-19» (Ван ден Берг и др. «Предотвращение взаимных столкновений n тел», в сборнике трудов под ред. Прадаллера и др. Исследования в области робототехники: 14-й международный симпозиум ISRR, Springer Tracts in Advanced Robotics, т. 70, - май 2011 г., стр. 3-19). В альтернативном варианте для моделирования движения динамических объектов в моделируемой сцене может использоваться алгоритм машинного обучения с наблюдением за движением различных типов динамических объектов.

[0120] На фиг. 11 представлена моделируемая сцена 1100 типа, которая может использоваться для обучения искусственной нейронной сети, описанной выше в соответствии с фиг. 8-10. Моделируемая сцена 1100 включает в себя представления роботизированного транспортного средства 1102, пешехода 1104, транспортного средства 1106 и бордюра 1108 (т. е. границы дороги, по которой движется транспортное средство 1106). Каждый из этих объектов представлен в моделируемой сцене 1100 одним или более кружками, каждый из которых обладает такими свойствами, как положение (например, координаты x, y), радиус и скорость (величина и направление). Стрелками на фиг. 11 указана скорость динамических объектов. Некоторые объекты, такие как транспортное средство 1106 и бордюр 1108, могут быть представлены набором кружков. Статические объекты, такие как бордюр 1108, имеют нулевую скорость.

[0121] На каждом временном интервале положение, скорость и другие свойства объектов в сцене 1100 обновляются в соответствии со способом (описанным выше) моделирования движения. Объекты и их обновленные свойства поступают в устройство выделения признаков, такое как устройство 802 выделения признаков на фиг. 8, для обучения искусственной нейронной сети. Последовательность таких временных интервалов для моделируемой сцены в течение моделируемого периода времени может называться эпизодом моделируемой сцены.

[0122] На фиг. 12 представлена блок-схема способа 1200 обучения искусственной нейронной сети для примера осуществления изобретения. В примере осуществления изобретения обучение может быть выполнено с помощью системы с 8-ядерным ЦП, графическим процессором (GPU) 1080Ti производства компании Nvidia Corporation (Санта-Клара, шт. Калифорния, США), 16 ГБ оперативной памяти и не менее 10 ГБ памяти для хранения (например, на жестком диске). В примере осуществления изобретения обучение искусственной нейронной сети выполняется в едином потоке (в едином процессе), но может быть распараллелено известными методами. Время обучения для примера осуществления изобретения на такой системе составляет около 12 часов.

[0123] Блок 1202 представляет собой этап имитационного обучения в процессе обучения. Специалистам в данной области техники должно быть понятно, что имитационное обучение представляет собой форму контролируемого обучения, при которой обучающий (обычно человек) демонстрирует «правильное» поведение при заданных условиях. Обучающий набор для имитационного обучения может предусматривать как моделируемую сцену, так и действие, определенное обучающим для каждой моделируемой сцены.

[0124] В примере осуществления изобретения с эпизодами моделируемой сцены, в которых для каждой моделируемой сцены известны свойства динамического объекта и траектория роботизированного транспортного средства, система изучает функцию значения состояния для определения «наилучших» действий или последовательностей действий. Цель этого этапа состоит в том, чтобы инициализировать и предварительно обучить искусственную нейронную сеть, чтобы получить некоторую базовую способность по крайней мере в какой-то степени управлять роботизированным транспортным средством, а также алгоритм (например, для определения действия роботизированного транспортного средства в данной сцене) с базовым качеством и определенным поведением в начале следующего этапа.

[0125] На этапе имитационного обучения блока 1202 для обучения искусственной нейронной сети используется хорошо известная методика оптимизации на основе стохастического градиентного спуска (SGD, Stochastic Gradient Descent) и хорошо известная функция потерь на основе среднеквадратичной ошибки (MSE, Mean Squared Error). В примере осуществления изобретения ее можно обучить, используя 1000 эпизодов моделируемой сцены с интенсивностью обучения 0,01 и продолжительностью около одного часа.

[0126] Блок 1204 представляет собой этап «основного» обучения с подкреплением (RL, Reinforcement Learning). Блок 1204 использует хорошо известный независимый от стратегии алгоритм RL, такой как алгоритм Q-Learning, описанный, например, в статье «Watkins and Dayan, “Q-Learning”, Machine Learning, vol. 8, pages 279-292, 1992» (Уоткинс и Дайан «Q-Learning», Машинное обучение, т. 8, стр. 279-292, 1992 г.), или Double Q-Learning, описанный, например, в статье «Hasselt, “Double Q-Learning”, in Lafferty et al. (eds.), Advances in Neural Information Processing Systems, pages 2613-2621, 2010» (Хассельт, «Double Q-Learning», сборник трудов «Достижения в области нейронных систем обработки информации» под ред. Лафферти, стр. 2613-2621, 2010 г.). В примере осуществления изобретения используется воспроизведение опытных данных с буфером воспроизведения опытных данных, в котором хранятся последние 100000 шагов, и который может обновляться данными из новых имитационных моделей. При обновлении заданного набора данных новыми моделируемыми сценами, функция значения состояния обучается возможному действию на каждом этапе моделирования.

[0127] На основном этапе обучения с подкреплением в блоке 1204 для обучения искусственной нейронной сети используется хорошо известная методика оптимизации на основе SGD и хорошо известная функция потерь на основе MSE. В примере осуществления изобретения ее можно обучить, используя 8000 эпизодов моделируемой сцены с интенсивностью обучения 0,001 и продолжительностью около пяти часов.

[0128] Блок 1206 представляет собой этап настройки обучения с подкреплением. Как и в блоке 1204, в блоке 1206 используется хорошо известный независимый от стратегии алгоритм RL, такой как Q-Learning или Double Q-Learning. В примере осуществления изобретения используется воспроизведение опытных данных с буфером воспроизведения опытных данных, в котором хранятся последние 100000 шагов, и который может обновляться данными из новых имитационных моделей. На этапе настройки обучения с подкреплением в блоке 1206 используются более сложные и дифференцированные сцены и более низкая интенсивность обучения, чем на основном этапе обучения с подкреплением в блоке 1204, чтобы создать более надежную и стабильную искусственную нейронную сеть.

[0129] На этапе настройки обучения с подкреплением в блоке 1206 для обучения искусственной нейронной сети используется хорошо известная методика оптимизации на основе SGD и хорошо известная функция потерь на основе MSE. В примере осуществления изобретения ее можно обучить, используя 10000 эпизодов моделируемой сцены с интенсивностью обучения 0,001 и продолжительностью около шести часов.

[0130] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Так, несмотря на то, что при генерировании оценок для динамических объектов используется прогнозирующая модель, а при генерировании оценок для статических объектов используется аналитическая модель, должно быть понятно, что границы их применения могут быть неоднозначными. Например, объект, который обычно классифицируется как динамический, может и не двигаться, когда рядом с ним работает роботизированное транспортное средство. Такими примерами являются припаркованные автомобили или люди, которые стоят на месте, например, ожидают автобус. В этом случае, хотя эти «объекты» и статичны в том плане, что они не движутся, с ними по прежнему можно работать с использованием прогнозирующей модели.

[0131] Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.

Похожие патенты RU2808469C2

название год авторы номер документа
Способ обработки данных и система технического зрения для роботизированного устройства 2021
  • Бутов Павел Александрович
  • Шепель Илья Олегович
  • Суанов Тимур Александрович
RU2782662C1
УСТРАНЕНИЕ РАЗМЫТИЯ ИЗОБРАЖЕНИЯ 2020
  • Анисимовский Валерий Валерьевич
  • Пенкин Максим Александрович
  • Завалишин Сергей Станиславович
  • Груздев Алексей Михайлович
  • Дорохов Евгений Андреевич
RU2742346C1
МОБИЛЬНЫЙ РОБОТ И СПОСОБ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ 2021
  • Орлов Всеволод Николаевич
  • Лавренюк Алексей Викторович
RU2800529C1
Способы и системы для определения компьютером наличия объектов 2018
  • Мурашкин Вячеслав Владимирович
  • Рыков Андрей Олегович
RU2743895C2
Способ прогнозирования траектории агента вблизи беспилотного транспортного средства на основании ранжирования 2021
  • Янгель Борис Константинович
  • Биктаиров Юрий Александрович
RU2800694C2
Способ и электронное устройство для обнаружения трехмерных объектов с помощью нейронных сетей 2021
  • Рухович Данила Дмитриевич
  • Воронцова Анна Борисовна
  • Конушин Антон Сергеевич
RU2776814C1
СИСТЕМА ПРИНЯТИЯ РЕШЕНИЙ В МУЛЬТИАГЕНТНОЙ СРЕДЕ 2021
  • Крюков Владимир Германович
RU2791840C2
СПОСОБЫ И СИСТЕМЫ ДЛЯ ОПРЕДЕЛЕНИЯ КОМПЬЮТЕРОМ НАЛИЧИЯ ДИНАМИЧЕСКИХ ОБЪЕКТОВ 2019
  • Рыков Андрей Олегович
  • Мурашкин Вячеслав Владимирович
  • Филатов Артём Андреевич
RU2767955C1
Способ создания многослойного представления сцены и вычислительное устройство для его реализации 2021
  • Стеркин Глеб Михайлович
  • Соловьев Павел Ильич
  • Корженков Денис Михайлович
  • Лемпицкий Виктор Сергеевич
  • Хахулин Тарас Андреевич
RU2787928C1
Способ прогнозирования прихватов бурильных труб в процессе бурения скважины в режиме реального времени 2020
  • Шестаков Александр Леонидович
  • Кодиров Шахбоз Шарифович
RU2753289C1

Иллюстрации к изобретению RU 2 808 469 C2

Реферат патента 2023 года Способ управления роботизированным транспортным средством

Группа изобретений относится к роботизированному транспортному средству, способу и модулю управления роботизированным транспортным средством. Способ включает в себя: получение компьютерным устройством данных от датчика о динамических и статических объектах, находящихся вблизи роботизированного транспортного средства; генерирование первого множества оценок на основе прогнозируемой вероятности столкновения роботизированного транспортного средства с любым из динамических объектов; генерирование второго множества оценок на основе информации о статических объектах; объединение первого и второго множества оценок для получения множества объединенных оценок; выбор действия для роботизированного транспортного средства на основе множества объединенных оценок; управление роботизированным транспортным средством в соответствии с выбранным действием. Достигается избегание столкновений с динамическими и статическими объектами при движении роботизированного транспортного средства. 3 н. и 17 з.п. ф-лы, 12 ил.

Формула изобретения RU 2 808 469 C2

1. Способ управления роботизированным транспортным средством, включающий в себя:

получение компьютерным устройством, связанным с роботизированным транспортным средством, входных данных от датчика, связанного с роботизированным транспортным средством, причем входные данные от датчика обеспечивают информацию о динамических объектах и статических объектах, находящихся вблизи роботизированного транспортного средства;

генерирование с использованием прогнозирующей модели на компьютерном устройстве первого множества оценок, в котором каждая оценка из первого множества оценок связана с возможным действием роботизированного транспортного средства из первого множества действий, причем прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемой вероятности столкновения роботизированного транспортного средства с любым из динамических объектов;

генерирование с использованием аналитической модели второго множества оценок, причем каждая оценка из второго множества оценок связана с возможным действием роботизированного транспортного средства из второго множества действий, причем аналитическая модель выполнена с возможностью генерирования второго множества оценок на основе, по меньшей мере частично, информации о статических объектах;

объединение первого множества оценок со вторым множеством оценок для получения множества объединенных оценок;

выбор действия для роботизированного транспортного средства на основе, по меньшей мере частично, множества объединенных оценок;

управление роботизированным транспортным средством в соответствии с выбранным действием.

2. Способ по п. 1, в котором прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемых действий каждого из динамических объектов.

3. Способ по п. 1, в котором аналитическая модель является более точной, чем прогнозирующая модель.

4. Способ по п. 1, в котором объединение первого множества оценок со вторым множеством оценок включает в себя присвоение первому множеству оценок больших весовых коэффициентов, чем второму множеству оценок, чтобы избежать столкновений с динамическими объектами.

5. Способ по п. 1, в котором выбор действия для роботизированного транспортного средства дополнительно осуществляется на основе, по меньшей мере частично, места назначения роботизированного транспортного средства.

6. Способ по п. 1, в котором каждое действие из первого множества действий содержит данные об угловом направлении движения и скорости роботизированного транспортного средства.

7. Способ по п. 6, в котором первое множество оценок представлено в виде двумерной матрицы, в которой первое измерение двумерной матрицы представляет собой угловое направление движения, а второе измерение двумерной матрицы представляет собой скорость.

8. Способ по п. 1, в котором прогнозирующая модель содержит предварительно обученную нейронную сеть, а генерирование первого множества оценок содержит обеспечение по меньшей мере части информации о динамических объектах в качестве входных данных для предварительно обученной нейронной сети.

9. Способ по п. 1, в котором генерирование второго множества оценок содержит штрафование за действия, выполнению которых препятствует статический объект.

10. Модуль управления движением роботизированного транспортного средства, содержащий:

процессор;

память, в которой хранятся запрограммированные команды, при выполнении которых процессор способен:

получать входные данные от датчика, связанного с роботизированным транспортным средством, причем входные данные от датчика обеспечивают информацию о динамических и статических объектах, находящихся вблизи роботизированного транспортного средства;

генерировать с использованием прогнозирующей модели первое множество оценок, причем каждая оценка из первого множества оценок связана с возможным действием роботизированного транспортного средства из первого множества действий, причем прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемой вероятности столкновения роботизированного транспортного средства с любым из динамических объектов;

генерировать с использованием аналитической модели второе множество оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из второго множества действий, причем аналитическая модель выполнена с возможностью генерирования второго множества оценок на основе, по меньшей мере частично, информации о статических объектах;

объединять первое множество оценок со вторым множеством оценок для получения множества объединенных оценок;

выбирать действие для роботизированного транспортного средства, по меньшей мере частично, на основе множества объединенных оценок.

11. Модуль управления движением по п. 10, в котором прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемых действий каждого из динамических объектов.

12. Модуль управления движением по п. 10, в котором аналитическая модель является более точной, чем прогнозирующая модель.

13. Модуль управления движением по п. 10, в котором в памяти хранятся запрограммированные команды, при выполнении которых процессор способен при объединении первого множества оценок со вторым множеством оценок присваивать первому множеству оценок большие весовые коэффициенты, чем второму множеству оценок, чтобы избежать столкновений с динамическими объектами.

14. Модуль управления движением по п. 10, в котором в памяти хранятся запрограммированные команды, при выполнении которых процессор способен выбирать действие на основе, по меньшей мере частично, места назначения роботизированного транспортного средства.

15. Модуль управления движением по п. 10, в котором каждое действие из первого множества действий содержит данные об угловом направлении движения и скорости роботизированного транспортного средства.

16. Модуль управления движением по п. 10, в котором прогнозирующая модель включает в себя предварительно обученную нейронную сеть, а генерирование первого множества оценок включает в себя предоставление по меньшей мере части информации о динамических объектах в качестве входных данных для предварительно обученной нейронной сети.

17. Модуль управления движением по п. 10, в котором в памяти хранятся запрограммированные команды, при выполнении которых процессор способен генерировать оценки во втором множестве оценок, которые предусматривают штрафование за действия, выполнению которых препятствует статический объект.

18. Роботизированное транспортное средство, содержащее:

по меньшей мере один датчик;

компьютерное устройство, содержащее:

модуль управления движением, выполненный с возможностью:

получать по меньшей мере от одного датчика входные данные, представляющие собой информацию о динамических и статических объектах вблизи роботизированного транспортного средства;

генерировать с использованием прогнозирующей модели первое множество оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из первого множества действий, причем прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемой вероятности столкновения роботизированного транспортного средства с любым из динамических объектов;

генерировать с использованием аналитической модели второе множество оценок, в котором каждая оценка связана с возможным действием роботизированного транспортного средства из второго множества действий, причем аналитическая модель выполнена с возможностью генерирования второго множества оценок на основе, по меньшей мере частично, информации о статических объектах;

объединять первое множество оценок со вторым множеством оценок для получения множества объединенных оценок;

выбирать действие для роботизированного транспортного средства на основе, по меньшей мере частично, множества объединенных оценок;

операционный модуль, выполненный с возможностью обеспечить работу роботизированного транспортного средства в соответствии с выбранным из модуля управления движением действием.

19. Роботизированное транспортное средство по п. 18, в котором прогнозирующая модель выполнена с возможностью генерирования первого множества оценок на основе, по меньшей мере частично, прогнозируемых действий каждого из динамических объектов.

20. Роботизированное транспортное средство по п. 18, в котором прогнозирующая модель содержит предварительно обученную нейронную сеть.

Документы, цитированные в отчете о поиске Патент 2023 года RU2808469C2

WO 2019231456 A1, 05.12.2019
WO 2013046300 A1, 04.04.2013
WO 2017069740 A1, 27.04.2017
JP 2016068704 A, 09.05.2016
US 2023176575 A1, 08.06.2023.

RU 2 808 469 C2

Авторы

Мельников Илья Алексеевич

Даты

2023-11-28Публикация

2021-09-14Подача