Системы и способы для управления роботизированным транспортным средством
SYSTEMS AND METHODS FOR CONTROL OF ROBOTIC VEHICLE

[1] Настоящая технология относится к роботизированным транспортным средствам и, в частности, к способу управления движением роботизированного транспортного средства во время неисправности.
Уровень техники
[2] Для обеспечения навигации и/или управления роботизированными транспортными средствами могут использоваться различные способы. Эти системы могут использовать технологии глобальной системы позиционирования (GPS) или тому подобное, алгоритмы компьютерного зрения и/или искусственный интеллект, среди других технологий для управления роботизированным транспортным средством. В некоторых случаях системы роботизированного транспортного средства могут выйти из строя, что приведет к отказу аппаратного обеспечения и/или программного обеспечения роботизированного транспортного средства. При возникновении сбоя, безопасность роботизированного транспортного средства, других транспортных средств и людей, находящихся в его окрестностях, может оказаться под угрозой. В случае сбоя, роботизированное транспортное средство может остановиться в опасном месте, например на перекрестке дорог.
US 10599137
[3] В патенте , выданном компании ABB AG 24 марта 2020 г., описана система управления безопасностью, имеющая блок управления с логикой управления безопасностью, устройство датчиков безопасности, устройство машины, работающее в разных режимах работы, причем каждый режим работы имеет разную производительность, причем блок управления принимает и оценивает входные данные от устройства датчиков безопасности и, в ответ на результат(ы) оценки, активирует рабочий режим, определяемый логикой управления безопасностью. Устройство датчиков безопасности имеет по меньшей мере две подсистемы с функциональным резервированием, ввод блока управления включает в себя информацию, указывающую на доступность подсистем с функциональным резервированием. Логика управления выполнена с возможностью активации нормального режима работы с нормальной производительностью, если входные данные указывают на доступность всех подсистем, активации режима бесперебойной работы с нулевой производительностью, если входные данные указывают на недоступность всех подсистем, активации аварийного режима работы с производительностью ниже нормальной, но выше нуля, если входные данные указывают на по меньшей мере временную недоступность по меньшей мере одной и доступность по меньшей мере другой из подсистем.
US 9791860
[4] В патенте , выданном IRobot Defense Holdings Inc. 17 октября 2017 г., раскрыт способ управления удаленным транспортным средством, выполненным с возможностью связи с блоком управления оператора (OCU), включающий в себя выполнение поведения щелчка для управления, поведения круиз-контроля, и поведение обратного перехода на вычислительном процессоре. Поведение щелчка для управления включает в себя получение изображения или видеопотока и определение места назначения вождения в полученном изображении или видеопотоке. Режим круиз-контроля включает в себя получение команд абсолютного курса и скорости от OCU и вычисление направления движения и скорости движения. Поведение обратного хода включает в себя создание пути возврата, соединяющего по меньшей мере две ранее пройденные путевые точки из списка путевых точек с отметками времени, и выполнение обратного пути путем последовательной навигации удаленного транспортного средства к предыдущим путевым точкам с отметкой времени в списке путевых точек до тех пор, пока не будет получен сигнал управления от блока управления оператора.
US 10 099 373
[5] В патенте, выданном VEO Robotics, Inc. 16 октября 2018 г., раскрыты системы и способы мониторинга рабочего пространства в целях безопасности с использованием датчиков, распределенных по рабочему пространству. Датчики регистрируются относительно друг друга, и эта регистрация отслеживается во времени. Идентифицируются как закрытое, так и занятое пространство, и это отображение часто обновляется.
Сущность изобретения
[6] Разработчики настоящей технологии осознали по меньшей мере одну техническую проблему, ассоциированную с подходами в предшествующем уровне техники. Разработчики настоящей технологии осознали, что роботизированные транспортные средства можно улучшить, не допуская остановки роботизированных транспортных средств в небезопасном и/или неудобном месте. В частности, разработчики осознали, что может быть желательно предотвратить остановку роботизированного транспортного средства в месте, которое может быть опасным для транспортных средств или неудобным для пешеходов. Для роботизированного транспортного средства могут быть созданы основная траектория и аварийная траектория. Во время нормальных операций, основная траектория может использоваться для управления роботизированным транспортным средством. Если происходит триггерное событие (например, сбой), аварийную траекторию можно использовать для управления роботизированным транспортным средством в области, где оно может остановиться. Аварийная траектория может помешать роботизированному транспортному средству остановиться в небезопасном или неудобном месте.
[7] Варианты осуществления настоящей технологии были разработаны на основе понимания разработчиками по меньшей мере одной технической проблемы, связанной с решениями в уровне техники. Поэтому разработчики разработали способы и системы для управления движением роботизированного транспортного средства.
[8] В первом широком аспекте настоящей технологии предоставляется способ управления движением роботизированного транспортного средства, причем роботизированное транспортное средство содержит компьютерную систему, контроллер шасси и множество датчиков, при этом способ содержит: получение компьютерной системой данных, измеренных множеством датчиков, при этом данные представляют окружение роботизированного транспортного средства; создание компьютерной системой на основе данных базовой траектории для роботизированного транспортного средства; создание компьютерной системой на основе данных аварийной траектории для роботизированного транспортного средства; передачу компьютерной системой базовой траектории и аварийной траектории контроллеру шасси; побуждение роботизированного транспортного средства контроллером шасси двигаться по базовой траектории; и после определения того, что произошла ошибка связи между компьютерной системой и контроллером шасси, побуждение роботизированного транспортного средства контроллером шасси двигаться по аварийной траектории.
[9] В некоторых вариантах осуществления способа определение того, что произошла ошибка связи, содержит определение того, что контроллер шасси не получил пакеты данных от компьютерной системы дольше предварительно определенного порогового периода времени, или контроллер шасси получил предварительно определенный объем поврежденных пакетов данных от компьютерной системы.
[10] В некоторых вариантах осуществления способа, после определения того, что произошла ошибка связи, способ дополнительно содержит снижение скорости роботизированного транспортного средства.
[11] В некоторых вариантах осуществления способа снижение скорости роботизированного транспортного средства содержит сохранение скорости роботизированного транспортного средства ниже предварительно определенной максимальной скорости.
[12] В некоторых вариантах осуществления способа побуждение роботизированного транспортного средства к движению по аварийной траектории содержит побуждение роботизированного транспортного средства к перемещению на основе подмножества из множества датчиков.
[13] В некоторых вариантах осуществления способа подмножество множества датчиков содержит по меньшей мере один акселерометр, по меньшей мере один одометрический датчик и по меньшей мере один ультразвуковой датчик.
[14] В некоторых вариантах осуществления способа множество датчиков содержит датчик LiDAR, радарный датчик и камеру.
[15] В некоторых вариантах осуществления способ дополнительно содержит создание обновленной аварийной траектории каждый раз, когда обновляется базовая траектория.
[16] В некоторых вариантах осуществления способ дополнительно содержит создание в предварительно определенный интервал времени обновленной аварийной траектории.
[17] В некоторых вариантах осуществления способа предварительно определенный интервал времени регулируется на основе текущего местоположения роботизированного транспортного средства.
[18] В некоторых вариантах осуществления способа предварительно определенный интервал времени сокращается после определения того, что роботизированное транспортное средство попало на проезжую часть.
[19] В некоторых вариантах осуществления способа создание аварийной траектории содержит: определение того, что роботизированное транспортное средство находится на перекрестке; и определение пути выхода из перекрестка, при этом аварийная траектория включает в себя этот путь.
[20] В некоторых вариантах осуществления способа аварийная траектория содержит одну или более путевых точек, по которым должно следовать роботизированное транспортное средство, и при этом каждая путевая точка из одной или более путевых точек содержит координаты относительно текущего местоположения роботизированного транспортного средства.
[21] В некоторых вариантах осуществления способа компьютерная система содержит карту окрестностей роботизированного транспортного средства, и при этом карта указывает одну или более безопасных областей и одну или более небезопасных областей в окрестностях.
[22] В некоторых вариантах осуществления способа аварийная траектория выполнена, чтобы побуждать роботизированное транспортное средство двигаться в ближайшую безопасную область в текущем направлении движения роботизированного транспортного средства.
[23] В другом широком аспекте настоящей технологии предлагается роботизированное транспортное средство. Роботизированное транспортное средство содержит: контроллер шасси, множество датчиков и компьютерную систему, содержащую по меньшей мере один процессор и память, в которой хранится множество исполняемых инструкций, которые при исполнении по меньшей мере одним процессором, побуждают компьютерную систему: получать данные, измеренные множеством датчиков, при этом данные представляют окружающую среду роботизированного транспортного средства; создавать на основе данных базовую траекторию для роботизированного транспортного средства; создавать на основе данных аварийную траекторию для роботизированного транспортного средства; и передать базовую траекторию и аварийную траекторию контроллеру шасси, при этом контроллер шасси содержит по меньшей мере один процессор и память, в которой хранится множество исполняемых инструкций, которые, при выполнении по меньшей мере одним процессором контроллера шасси, побуждают контроллер шасси: побуждать роботизированное транспортное средство двигаться по базовой траектории; и после определения того, что произошла ошибка связи между компьютерной системой и контроллером шасси, побуждать роботизированное транспортное средство двигаться по аварийной траектории.
[24] В некоторых вариантах осуществления системы инструкции, которые побуждают контроллер шасси побуждать роботизированное транспортное средство двигаться по аварийной траектории, содержат инструкции, которые побуждают роботизированное транспортное средство двигаться по аварийной траектории с использованием подмножества множества датчиков.
[25] В некоторых вариантах осуществления системы подмножество множества датчиков содержит по меньшей мере один акселерометр, по меньшей мере один одометрический датчик и по меньшей мере один ультразвуковой датчик.
[26] В некоторых вариантах осуществления системы аварийная траектория выполнена, чтобы побуждать роботизированное транспортное средство перемещаться в ближайшую безопасную область в текущем направлении движения роботизированного транспортного средства.
[27] В некоторых вариантах осуществления системы инструкции, когда они выполняются по меньшей мере одним процессором, побуждают компьютерную систему создавать в предварительно определенный интервал времени обновленную траекторию аварийной ситуации.
[28] В контексте настоящего описания «сервер» - это компьютерная программа, которая работает на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В настоящем контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принимаемые инструкции или запросы) или какая-либо конкретная задача будет принята, выполнена или будет вызвана для выполнения одним и тем же сервером (т.е. одним и тем же программным и/или аппаратным обеспечением); подразумевается, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или вызов для выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или более серверами, причем оба этих случая включены в выражение «по меньшей мере один сервер».
[29] В контексте настоящего описания «электронное устройство» может означать любое компьютерное оборудование, которое способно выполнять программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования многочисленных клиентских устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[30] В контексте настоящего описания «клиентское устройство» представляет собой любое компьютерное оборудование, которое способно выполнять программное обеспечение, которое является надлежащим для релевантной поставленной задачи. Некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему в качестве клиентского устройства в данном контексте, не запрещается действовать в качестве сервера для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования многочисленных клиентских устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[31] В контексте настоящего описания выражение  «информация» включает в себя информацию любого характера или вида, которая способна храниться в базе данных любым образом. Таким образом, информация включает в себя, но без ограничения перечисленным, аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), Текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[32] В контексте настоящего описания выражение «программный компонент» подразумевает включение в себя программного обеспечения (подходящего для конкретного аппаратного контекста), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.
[33] В контексте настоящего описания выражение «компьютерные носители хранения информации» (также называемые «носители данных») предназначено для включения в себя носителей любого характера и типа, включая в себя, без ограничения перечислены, RAM, ROM, диски (CD-ROM), DVD, дискеты, жесткие драйверы и т.п.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования компьютерных носителей хранения информации, включая в себя два или более компонентов-носителей одного типа и/или два или более компонентов-носителей разных типов.
[34] В контексте настоящего описания «база данных» может быть любым структурированным набором данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного оборудования, на котором данные хранятся, реализованы или иным образом доступны для использования. База данных может находиться на том же аппаратном оборудовании, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном аппаратном оборудовании, например на выделенном сервере или на множестве серверов.
[35] В контексте настоящего описания слова «первый»,  «второй», «третий» и т.д. используются в качестве прилагательных только для того, чтобы позволить отличать существительные, которые они определяют, друг от друга, а не для целей описания какой-либо особой взаимосвязи между такими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами, и их использование (само по себе) не подразумевает, что любой «второй сервер» обязательно должен существовать в любой данной ситуации. Кроме того, как обсуждается в других контекстах данного документа, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента фактически являются одним и тем же элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут быть одним и тем же программным и/или аппаратным компонентами, в других случаях они могут быть разными программными и/или аппаратными компонентами.
[36] Каждая реализация настоящей технологии может иметь по меньшей мере один из вышеупомянутых объектов и/или аспектов, но не обязательно иметь все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[37] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[38] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[39] Фиг.1 изображает схематическую диаграмму примерной компьютерной системы для реализации неограничивающих вариантов осуществления настоящей технологии;
[40] Фиг.2 изображает схему роботизированного транспортного средства согласно некоторым вариантам осуществления настоящей технологии;
[41] Фиг.3 изображает роботизированное транспортное средство на перекрестке улиц согласно некоторым вариантам осуществления настоящей технологии;
[42] Фиг.4 изображает роботизированное транспортное средство, расположенное на пешеходном переходе, согласно некоторым вариантам осуществления настоящей технологии;
[43] Фиг.5 изображает роботизированное транспортное средство, расположенное на тротуаре, в соответствии с некоторыми вариантами осуществления настоящей технологии;
[44] Фиг.6 и 7 - блок-схема способа управления движением роботизированного транспортного средства согласно некоторым вариантам осуществления настоящей технологии; и
[45] Фиг.8 - блок-схема способа управления движением роботизированного транспортного средства с использованием карты согласно некоторым вариантам осуществления настоящей технологии.
Подробное описание
[46] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области техники смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.
[47] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области техники поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[48] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия понимаю и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области техники может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[49] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области техники осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии.
[50] Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[51] Функции различных элементов, показанных на фигурах, включая в себя любой функциональный блок, помеченный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором, функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми.
[52] Более того, явное использование термина «процессор» или «контроллер» не должно толковаться как относящееся исключительно к аппаратному обеспечению, способному выполнять программное обеспечение, и может неявно включать в себя, без ограничения, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, заказную специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимую память. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[53] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или как текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[54] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
[55] На фиг.1 показана компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 может быть реализована с помощью любого обычного персонального компьютера, сетевого устройства и/или электронного устройства (такого как, но не ограничиваясь этим, мобильное устройство, планшетное устройство, сервер, блок контроллера, устройство управления и т.д.), и/или любой их комбинации, подходящей для соответствующей задачи. В некоторых вариантах осуществления компьютерная система 100 содержит различные аппаратные компоненты, включая в себя один или более одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельный накопитель 120, оперативную память 130 и интерфейс 150 ввода/вывода. Компьютерная система 100 может быть компьютером, специально разработанным для работы с алгоритмом машинного обучения (MLA). Компьютерная система 100 может быть универсальной компьютерной системой. Компьютерная система 100 может быть интегрирована в роботизированное транспортное средство и/или может быть выполнена с возможностью управления роботизированным транспортным средством.
[56] В некоторых вариантах осуществления компьютерная система 100 также может быть подсистемой одной из перечисленных выше систем. В некоторых других вариантах осуществления компьютерная система 100 может быть серийно выпускаемой универсальной компьютерной системой. В некоторых вариантах осуществления компьютерная система 100 также может быть распределена между множеством систем. Компьютерная система 100 также может быть специально предназначена для реализации настоящей технологии. Как может оценить специалист в данной области техники, можно представить себе множество вариантов реализации компьютерной системы 100, не выходя за рамки объема настоящей технологии.
[57] Специалисты в данной области техники поймут, что процессор 110 обычно представляет возможности обработки. В некоторых вариантах осуществления вместо или в дополнение к одному или более традиционным центральным процессорам (CPU) может быть предоставлено одно или более специализированных процессорных ядер. Например, один или более графических процессоров 111 (GPU), тензорные процессоры (TPU) и/или другие так называемые ускоренные процессоры (или ускорители обработки) могут быть предоставлены в дополнение или вместо одного или более CPU.
[58] Системная память обычно включает в себя память 130 с произвольным доступом, но в целом предназначена для охвата любого типа системной памяти для долговременного хранения информации, такой как статическая память с произвольным доступом (SRAM), динамическая память с произвольным доступом (DRAM), синхронная DRAM (SDRAM), память, доступная только для чтения (ROM) или их комбинация. Твердотельный накопитель 120 показан в качестве примера запоминающего устройства большой емкости, но в более общем плане такое запоминающее устройство может содержать любой тип запоминающего устройства для долговременного хранения информации, выполненного с возможностью хранения данных, программ и другой информации, а также для создания данных, программ и другой информации, доступной через системную шину 160. Например, запоминающее устройство большой емкости может содержать одно или более из твердотельного накопителя, накопителя на жестком диске, накопителя на магнитном диске и/или накопителя на оптическом диске.
[59] Связь между различными компонентами компьютерной системы 100 может быть обеспечена с помощью системной шины 160, содержащей одну или более внутренних и/или внешних шин (например, шину PCI, универсальную последовательную шину, шину IEEE 1394 «Firewire», шину SCSI, шину Serial-ATA, шину ARINC и т.д.), с которыми различные аппаратные компоненты связаны электронным способом.
[60] Интерфейс 150 ввода/вывода может обеспечивать сетевые возможности, такие как проводной или беспроводной доступ. В качестве примера интерфейс 150 ввода/вывода может содержать сетевой интерфейс, такой как, но не ограничиваясь перечисленным, сетевой порт, сетевой соединитель, контроллер сетевого интерфейса и т.п. Множественные примеры того, как может быть реализован сетевой интерфейс, станут очевидными для специалистов в данной области техники. Например, сетевой интерфейс может реализовывать определенные стандарты физического уровня и уровня канала передачи данных, такие как Ethernet, Fibre Channel, Wi-Fi, Token Ring или протоколы последовательной связи. Конкретный физический уровень и уровень канала передачи данных могут обеспечить основу для полного стека сетевых протоколов, позволяя осуществлять обмен данными между небольшими группами компьютеров в одной локальной сети (LAN) и крупномасштабную сетевую связь через протоколы маршрутизации, такие как Интернет-протокол (IP).
[61] Интерфейс 150 ввода/вывода может быть связан с сенсорным экраном 190 и/или с одной или более внутренними и/или внешними шинами 160. Сенсорный экран 190 может быть частью дисплея. В некоторых вариантах осуществления, сенсорный экран 190 является дисплеем. Сенсорный экран 190 может также упоминаться как экран 190. В вариантах осуществления, проиллюстрированных на фигуре 1, сенсорный экран 190 содержит сенсорное аппаратное обеспечение 194 (например, чувствительные к давлению ячейки, встроенные в слой дисплея, позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорного ввода/вывода, обеспечивающий возможность связи с интерфейсом 140 дисплея и/или одной или более внутренними и/или внешними шинами 160. В некоторых вариантах осуществления, интерфейс 150 ввода/вывода может быть подключен к клавиатуре (не показана), мыши (не показана) или трекпаду (не показан), позволяя пользователю взаимодействовать с компьютерной системой 100 в дополнение или вместо сенсорного экрана 190.
[62] Согласно некоторым реализациям настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в оперативную память 130 и выполнения процессором 110 для выполнения действий одного или более описанных здесь способов. Например, по меньшей мере, некоторые из программных инструкций могут быть частью библиотеки или приложения.
[63] Фиг.2 изображает схему роботизированного транспортного средства 200 согласно некоторым вариантам осуществления настоящей технологии. Роботизированное транспортное средство 200 может быть транспортным средством, выполненным с возможностью навигации в среде 230 для различных целей, таких как доставка товаров, исследование окружающей среды, транспортировка пассажиров и т.д. Роботизированное транспортное средство 200 может быть беспилотным транспортным средством и/или им может управлять удаленно или локально человек-оператор. Роботизированное транспортное средство 200 может быть наземным транспортным средством, содержащим шасси и колеса, воздушным транспортным средством, таким как дрон, и/или транспортным средством для передвижения по воде, снегу, песку и/или любой другой поверхности (или комбинации поверхностей).
[64] Роботизированное транспортное средство 200 может содержать компьютерную систему 210. Компьютерная система 210 может быть компьютерной системой 100 и/или может включать в себя некоторые или все компоненты компьютерной системы 100. Компьютерная система 210 может управлять различными аспектами роботизированного транспортного средства 200, например, определяя траекторию для роботизированного транспортного средства 200 и/или заставляя роботизированное транспортное средство 200 двигаться по траектории. Компьютерная система 210 может сохранять траекторию и/или любую другую информацию в памяти 206. Память 206 может быть носителем любого типа, например SSD или флэш-памятью. Компьютерная система 210 может управлять любым аспектом роботизированного транспортного средства 200, таким как огни на роботизированном транспортном средстве 200, динамики роботизированного транспортного средства 200, скорость роботизированного транспортного средства 200 и т.д.
[65] Окружающая среда 230 может включать в себя улицы, дороги, тротуары, пешеходные переходы и/или любые другие внешние области. Среда 230 может включать в себя офис, склад, магазин, дом, многоквартирный дом и/или любую другую внутреннюю область.
[66] Роботизированное транспортное средство 200 может содержать шасси 208, которое может включать в себя любое количество колес и/или быть соединено с ними. Шасси 208 может содержать некоторые или все компоненты, показанные на фиг. 2, такие как компьютерная система 210, контроллер 220 шасси, датчики 202 и/или датчики 204. Шасси 208 может содержать шесть 3-осевых колес с приводами, каждый привод содержит статор и ротор, причем каждый статор определяется осью вращения и содержит обмотку с фиксированной электродвижущей силой (ЭДС). Ротор может включать в себя постоянный магнит. Роботизированное транспортное средство 200 может приводиться в движение, заставляя колеса вращаться посредством приложения электромагнитного поля. Один или более датчиков эффекта Холла и/или других типов датчиков могут предоставлять информацию о колесах и/или роботизированном транспортном средстве 200, такую как указание ориентации роботизированного транспортного средства 200 и/или угловой скорости каждого из колес. Шасси 208 может содержать любой другой подходящий механизм для того, чтобы вызвать движение роботизированного транспортного средства 200, такой как непрерывные гусеницы, лыжи, механизм для передвижения по рельсам и/или любой другой подходящий механизм для навигации в окружающей среде 230.
[67] Роботизированное транспортное средство 200 может быть транспортным средством для отдыха и/или транспортным средством, таким как частный или коммерческий автомобиль, грузовик, мотоцикл и т.п. Роботизированное транспортное средство 200 может быть транспортным средством, управляемым пользователем, и/или транспортным средством без водителя (то есть автономным транспортным средством).
[68] Роботизированное транспортное средство 200 может содержать различные датчики, такие как первый набор датчиков 202 и второй набор датчиков 204. Датчики 202 и 204 могут включать в себя датчики изображения, датчики устройств с зарядовой связью (CCD), комплементарные металлооксидные полупроводниковые (CMOS) датчики, цифровые камеры, датчики обнаружения и определения дальности с помощью света (LiDAR), радарные датчики, 3D камеры с измерением времени пролета луча (TOF), датчики стереовидения, состоящие из двух или более камер, трехмерный сонар, такой как трехмерные ультразвуковые датчики, трехмерные камеры и/или сканеры со структурированным светом, и/или датчики любого другого типа. Датчики 202 и 204 могут быть соединены с возможностью обмена данными с компьютерной системой 210 и/или с контроллером 220 шасси. Датчики 202 и 204 могут быть выполнены с возможностью сбора данных, касающихся окружающей среды 230 и/или роботизированного транспортного средства 200. Датчики 202 и 204 могут быть установлены на внутренней, верхней части лобового стекла роботизированного транспортного средства 200, заднем окне, боковых окнах, переднем капоте, крыше, передней решетке или переднем бампере роботизированного транспортного средства 200 и/или где-нибудь еще на роботизированном транспортном средстве 200. Датчики 202 и 204 могут быть установлены в специальном корпусе, установленном на верхней части роботизированного транспортного средства 200.
[69] Пространственное размещение датчиков 202 и 204 может быть выбрано на основе различных факторов, таких как окружающая среда 230, для использования в которой предназначено роботизированное транспортное средство 200, задачи, для выполнения которых выполнено роботизированное транспортное средство 200, погодные условия среды 230, в которых должно использоваться роботизированное транспортное средство 200 (например, частый дождь, снег и другие элементы), и/или другие факторы, связанные с роботизированным транспортным средством 200.
[70] Датчики 202 и 204 могут включать в себя одну или более камер, выполненных с возможностью захвата изображений и/или видео окружающей среды 230. Камеры могут быть выполнены с возможностью захвата части окружающей среды 230, окружающей роботизированное транспортное средство 200, такой как вид на 90 градусов или вид на 180 градусов на окружающую среду 230 в направлении движения роботизированного транспортного средства 200. Датчики 202 и 204 могут содержать один или более датчиков обнаружения и определения дальности с помощью света (LiDAR) и/или один или более датчиков обнаружения и определения дальности с помощью радиоволн (радаров). Радарные датчики могут содержать радарные датчики дальнего, среднего и/или ближнего действия. Датчики 202 и 204 могут использоваться для адаптивного круиз-контроля, автоматического экстренного торможения и предупреждения о лобовом столкновении, помощи при парковке, предупреждения о перекрестном движении, помощи при перекрестке, обнаружения слепой стороны и/или других функций роботизированного транспортного средства 200. Датчики 202 и 204 могут содержать датчики CCD/CMOS и/или другие датчики.
[71] Датчики 202 и 204 могут содержать ультразвуковые датчики SONAR, одометрические датчики, включая акселерометры и гироскопы, механические датчики наклона и/или магнитный компас. Например, датчики 204 могут содержать по меньшей мере один акселерометр, по меньшей мере один одометрический датчик и по меньшей мере один ультразвуковой датчик, тогда как датчики 202 могут содержать датчик LiDAR, радарный датчик и камеру.
[72] Контроллер 220 шасси может быть соединен с возможностью обмена данными с компьютерной системой 210. Контроллер 220 шасси может принимать траекторию и/или другие команды от компьютерной системы 210. Контроллер 220 шасси может управлять шасси 208 на основе команд от компьютерной системы 210. Например, контроллер 220 шасси может получать траекторию от компьютерной системы 210 и управлять шасси 208, чтобы роботизированное транспортное средство 200 перемещалось в окружающей среде 230 в соответствии с траекторией. Контроллер 220 шасси может быть подключен с возможностью обмена данными к памяти 206 и может получать доступ к информации, хранящейся в памяти 206. Контроллер 220 шасси может быть компьютерной системой, такой как компьютерная система 100. Контроллер 220 шасси может быть компьютерной системой с более низкой частотой отказов, чем компьютерная система 210, то есть контроллер 220 шасси может быть более надежным и/или с меньшей вероятностью сбоя, чем компьютерная система 210.
[73] Карта окружающей среды 230 может храниться в памяти 206 и/или доступ к ней может осуществляться компьютерной системой 210 и/или контроллером 220 шасси. Карта может использоваться компьютерной системой 210 для определения текущего местоположения роботизированного транспортного средства 200 в окружающей среде 230. Роботизированное транспортное средство 200 может включать в себя датчик глобальной системы позиционирования (GPS) и/или другие технологии позиционирования для определения местоположения роботизированного транспортного средства 200 в окружающей среде 230 с использованием карты.
[74] Роботизированное транспортное средство 200 может содержать сетевую систему 212. Сетевая система 212 может использоваться компьютерной системой 210 и/или контроллером 220 шасси для связи с одним или более удаленными серверами и/или другими устройствами. Сетевая система 212 может связываться с локальной сетью (LAN), беспроводным соединением, таким как беспроводная локальная сеть (WLAN), и/или любым другим типом сети. Сетевая система 212 может связываться через Wi-Fi, сотовую сеть и/или любой другой тип сети. Компьютерная система 210 и/или контроллер 220 шасси могут загружать карты, инструкции, указание пункта назначения и/или любую другую информацию, используя сетевую систему 212. Сетевая система 212 может использоваться для загрузки текущего положения роботизированного транспортного средства 200, скорости роботизированного транспортного средства 200, сгенерированных траекторий роботизированного транспортного средства, данных, измеренных датчиками 202 и/или 204, и/или любой другой информации, касающейся роботизированного транспортного средства 200. Данные могут быть загружены на сервер, управляющий роботизированным транспортным средством 200.
[75] Карта окружающей среды 230 может содержать представление сегментации окружающей среды 230 на одну или более областей. Карта может указывать степень безопасности для одной или более областей. Степень безопасности области может указывать, разрешено ли роботизированному транспортному средству 200 остановиться в этой области. Например, карта может указывать на то, что проезжая часть является небезопасной областью для остановки роботизированного транспортного средства 200. Карта может включать в себя множество слоев, каждый из которых предоставляет разные типы данных. Например, первый слой карты может включать в себя безопасные области для остановки роботизированного транспортного средства 200, а второй слой карты может включать в себя небезопасные области для остановки роботизированного транспортного средства 200. В другом примере первый слой карты может включать в себя дороги, второй слой карты может включать в себя тротуары, а третий слой карты может включать в себя структуры. Различные слои карты могут обеспечивать разное разрешение и/или уровень детализации. Карту можно разделить на различные сегменты. Когда роботизированное транспортное средство 200 приближается к области и/или входит в область, сегмент карты, соответствующий этой области, может быть извлечен роботизированным транспортным средством 200. Например, роботизированное транспортное средство 200 может получить сегмент с удаленного сервера. Карта может включать в себя различные атрибуты. Каждый атрибут может быть связан с местоположением или областью на карте. Роботизированное транспортное средство 200 может использовать технологию определения местоположения, такую как GPS, в сочетании с картой для определения степени безопасности, связанной с его текущим местоположением.
[76] Компьютерная система 210 может создавать базовую траекторию и/или аварийную траекторию. Базовая траектория и/или аварийная траектория могут быть определены на основании данных, полученных датчиками 202 и 204. Базовая траектория и/или аварийная траектория могут определять путь, который должно пройти роботизированное транспортное средство 200, чтобы достичь пункта назначения. Базовая траектория и/или аварийная траектория могут быть в формате последовательности координат, направления, кривой, скорости, последовательности команд и/или любого другого подходящего формата для траектории. В соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, компьютерная система 210 генерирует как базовую траекторию, так и аварийную траекторию.
[77] Базовая траектория и аварийная траектория могут быть сохранены в памяти 206 и/или переданы в контроллер 220 шасси. Компьютерная система 210 может генерировать инструкции для контроллера 220 шасси на основе базовой траектории.
[78] В нормальных рабочих условиях, когда роботизированное транспортное средство 200 работает нормально, роботизированному транспортному средству 200 может быть дана команда следовать по базовой траектории. Если определено, что роботизированное транспортное средство 200 работает в ненормальных рабочих условиях, роботизированное транспортное средство 200 может переключиться в аварийный режим и больше не может двигаться согласно базовой траектории. Вместо этого контроллер 220 шасси может выполнять аварийную траекторию, тем самым заставляя роботизированное транспортное средство 200 двигаться по аварийной траектории.
[79] Компьютерная система 210 может использовать данные от обоих датчиков 202 и 204 во время нормальной работы для управления роботизированным транспортным средством 200. Во время сбоя контроллер 220 шасси может управлять работой роботизированного транспортного средства 200. Контроллер 220 шасси может использовать подмножество датчиков 202 и 204 для управления роботизированным транспортным средством. Например, контроллер 220 шасси может использовать датчики 204 и может не использовать датчики 202. Контроллер 220 шасси может использовать один или более акселерометров, один или более одометрических датчиков, один или более ультразвуковых датчиков или любую комбинацию этих датчиков для перемещения по аварийной траектории.
[80] Фиг.3 изображает роботизированное транспортное средство 200 на перекрестке улиц согласно некоторым вариантам осуществления настоящей технологии. Стрелка, изображенная на роботизированном транспортном средстве 200, указывает текущее направление движения роботизированного транспортного средства 200. Перекресток улиц содержит область 310 дороги, содержащую подобласть 311 пересечения дорог, область 340 пешеходного перехода и подобласти 312 участка дороги. Перекресток улиц содержит области 320 тротуаров, содержащие подобласти 321 центрального тротуара, подобласти 322 тротуара у здания и здания 330.
[81] Роботизированное транспортное средство 200 может перемещаться по области 310 дороги и/или по областям тротуаров 320. Здания 330 могут быть недоступны для роботизированного транспортного средства 200, например, из-за того, что роботизированное транспортное средство 200 может не иметь возможности войти в здания 330 (например, если у зданий есть закрытые двери). Карта перекрестка, показанная на фиг. 3, может храниться в памяти роботизированного транспортного средства 200, например, в памяти 206. Карта может указывать степень безопасности для различных областей карты.
[82] Каждая из областей и подобластей 310, 311, 312, 320, 321, 322, 330 и/или 340 может быть связана с индикацией безопасности. Индикация безопасности может использоваться для определения того, где роботизированному транспортному средству 200 будет дана инструкция остановиться в случае возникновения неисправности. Индикация безопасности может быть двоичным индикатором, указывающим, что область либо безопасна, либо небезопасна для остановки роботизированного транспортного средства 200. Индикация безопасности может иметь любое количество степеней безопасности, например степень безопасности подобласти 311 пересечения дорог может быть «0», степень безопасности подобласти 312 участка дороги может быть «1», степень безопасности области 340 пешеходного перехода может быть «2», степень безопасности подобласти 321 центрального тротуара может быть «3», а степень безопасности подобласти 322 тротуара у здания может быть «4». В этом примере «0» - это самая низкая степень безопасности, т.е. наименее безопасное место для остановки транспортного средства 200, а «4» - это наивысшая степень безопасности, то есть наиболее безопасное место для остановки транспортного средства 200.
[83] Зоны 320 тротуара могут быть определены как безопасные области для роботизированного транспортного средства 200, чтобы остановиться в чрезвычайной ситуации, поскольку роботизированное транспортное средство 200 вряд ли столкнется с другим транспортным средством, находясь на участках 320 тротуара. Кроме того, подобласти 322 тротуара могут быть определены как более безопасные места для остановки, чем подобласти 321 тротуара. Поскольку подобласти 322 тротуара находятся на краях здания 330, если роботизированное транспортное средство 200 останавливается в подобластях 322 тротуара, роботизированное транспортное средство 200 может с меньшей вероятностью мешать пешеходам, чем если бы роботизированное транспортное средство 200 остановилось в подобласти 321 тротуара.
[84] Область 310 дороги может быть определена как небезопасная для остановки роботизированного транспортного средства 200 в аварийной ситуации, поскольку роботизированное транспортное средство 200 может с большей вероятностью столкнуться с другим транспортным средством при остановке в области 310 дороги. Подобласть 311 пересечения дорог может быть определена как менее безопасная, чем подобласти 312 участка дороги, потому что подобласть 311 пересечения дорог будет включать в себя движение с множества проезжих частей. Перекрестки между множеством дорог, такие как подобласть 311 пересечения дорог, могут считаться особенно опасными для остановки роботизированного транспортного средства 200.
[85] На фиг. 4 изображено роботизированное транспортное средство 200, расположенное на пешеходном переходе, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии. Базовая траектория 410 и аварийная траектория 420 для роботизированного транспортного средства 200 показаны на Фиг.4. На фиг.4 роботизированное транспортное средство 200 в настоящее время движется по подобласти 340 пешеходного перехода, которая может быть идентифицирована как опасная область для остановки роботизированного транспортного средства 200. Например, карта, используемая роботизированным транспортным средством 200, может указывать, что подобласть 340 пешеходного перехода является небезопасной областью для остановки роботизированного транспортного средства 200. В другом примере роботизированное транспортное средство 200 может определить, что оно в настоящее время движется по проезжей части, и на основе предварительно определенных правил, указывающих, что проезжая часть является небезопасной областью для остановки роботизированного транспортного средства 200, может определить, что подобласть 340 пешеходного перехода является небезопасной областью для остановки.
[86] В нормальных рабочих условиях роботизированное транспортное средство 200 может перемещаться по базовой траектории 410, вызывая перемещение роботизированного транспортного средства 200 по подобласти 321 центрального тротуара. В случае возникновения неисправности, роботизированное транспортное средство 200 может переключиться на движение по аварийной траектории 420. Аварийная траектория 420 может привести к тому, что роботизированное транспортное средство достигнет подобласти 322 тротуара у здания, где роботизированное транспортное средство 200 может затем остановиться, пока неисправность не будет устранена. Аварийная траектория может включать в себя один или более сегментов, каждый из которых определяет путь между двумя областями, имеющими различные степени безопасности, причем степень безопасности пункта назначения является наивысшей из двух различных степеней безопасности.
[87] На фиг.5 изображено роботизированное транспортное средство 200, расположенное на тротуаре, согласно некоторым вариантам осуществления настоящей технологии. Для удобства передвижения и/или безопасности роботизированного транспортного средства 200 роботизированное транспортное средство 200 может перемещаться по центральной подобласти 321 тротуара области 320 тротуара. Как обсуждалось выше, центральная подобласть 321 тротуара может быть связана с более низкой степенью безопасности, чем степень безопасности, связанная с подобластью 322 тротуара у здания.
[88] Базовая траектория 510 побуждает роботизированное транспортное средство 200 продолжать движение по центральной подобласти 321 тротуара при нормальных рабочих условиях. В текущем местоположении роботизированного транспортного средства 200 может быть определена аварийная траектория, чтобы побудить роботизированное транспортное средство 200 перемещаться к подобласти 322 тротуара у здания, если обнаружена неисправность и роботизированное транспортное средство 200 переходит в аварийный режим. Как обсуждалось выше, степень безопасности, связанная с подобластью 322 тротуара у здания, может быть выше, чем степень безопасности центральной подобласти 321 тротуара.
Способ управления движением роботизированного транспортного средства (неограничивающий вариант осуществления)
[89] На фиг.6 и 7 представлены блок-схемы способа 600 управления движением роботизированного транспортного средства, такого как роботизированное транспортное средство 200, согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах, способ 600 или один или более его этапов могут выполняться компьютерной системой, такой как компьютерная система 210 и/или контроллер 220 шасси. Способ 600 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как запоминающее устройство для долговременного хранения информации, загружаются в память и выполняются центральным процессором. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или их порядок следования может быть изменен.
Этап 605: Получение данных
[90] На этапе 605 могут быть получены данные, собранные датчиками. Компьютерная система 210 роботизированного транспортного средства 200 может получать данные, измеренные датчиками 202 и/или датчиками 204. Принятые данные могут быть в формате видеопотока, изображений, сигналов и/или любого другого типа данных. Полученные данные могут указывать на события, объекты или любые сущности в среде, окружающей роботизированное транспортное средство 200. Компьютерная система 210 может быть выполнена с возможностью обработки полученных данных, например путем выполнения программ обработки сигналов и/или программ компьютерного зрения для создания представления окружающей среды роботизированного транспортного средства 200.
Этап 610: Создание базовой траектории
[91] На этапе 610 для роботизированного транспортного средства 200 может быть создана базовая траектория. Базовая траектория может создаваться компьютерной системой 210. Базовая траектория может определять путь между текущим положением роботизированного транспортного средства 200 и предварительно определенным пунктом назначения. Базовая траектория может быть представлена в формате последовательности координат, направления, кривой, скорости, последовательности инструкций и/или любого другого подходящего формата для траектории. Базовая траектория может иметь формат, подходящий для использования контроллером 220 шасси, чтобы роботизированное транспортное средство 200 двигалось по базовой траектории.
[92] Базовая траектория может быть определена на основе данных, полученных от датчиков, и/или карты, такой как карта, хранящаяся в памяти 206. Базовая траектория может обновляться по мере получения новых данных, таких как дополнительные данные от датчиков, с предварительно определенной частотой и/или с любым другим интервалом.
[93] Компьютерная система 210 может получить доступ к карте для определения базовой траектории. Текущее положение роботизированного транспортного средства 200 может быть определено с использованием полученных данных датчиков и/или с использованием системы позиционирования, такой как датчик глобальной системы позиционирования (GPS) и/или других технологий позиционирования.
[94] Предварительно определенный пункт назначения может содержать координаты и/или любое другое указание местоположения. Предварительно определенный пункт назначения мог быть получен роботизированным транспортным средством 200, например, от сервера, управляющего роботизированным транспортным средством 200.
Этап 615: Отправка базовой траектории контроллеру шасси
[95] На этапе 615 базовая траектория может быть отправлена контроллеру шасси. Например, компьютерная система 210 может отправлять базовую траекторию контроллеру 220 шасси. Компьютерная система 210 может сохранять базовую траекторию в памяти 206, откуда контроллер 220 шасси может извлекать базовую траекторию. Вся или часть базовой траектории может быть отправлена на контроллер 220 шасси. Базовая траектория может быть отправлена на контроллер 220 шасси в формате, подходящем для выполнения контроллером 220 шасси. Хотя она и описывается как отправляемая контроллеру 220 шасси, следует понимать, что базовая траектория может быть отправлена в любую другую систему или системы, управляющие роботизированным транспортным средством 200, и/или может использоваться компьютерной системой 210 для управления роботизированным транспортным средством. 200.
Этап 620: Создание аварийной траектории
[96] На этапе 620 может быть создана аварийная траектория. Компьютерная система 210 может создавать аварийную траекторию, по которой будет двигаться роботизированное транспортное средство 200 после того, как роботизированное транспортное средство 200 перейдет в аварийный режим. Аварийная траектория может определять аварийный путь между текущим положением роботизированного транспортного средства 200 и областью окружающей среды, где остановка считается безопасной для роботизированного транспортного средства 200.
[97] Как описано выше, карта, используемая роботизированным транспортным средством 200, может включать в себя указания степени безопасности различных областей на карте. Степень безопасности области может быть определена на основе карты и/или данных датчиков. Например, если компьютерная система 210 определяет, что область в пределах досягаемости датчиков не является дорогой и менее загружена, чем текущее положение роботизированного транспортного средства 200, компьютерная система 210 может определить, что эта область будет безопасной областью для остановки роботизированного транспортного средства 200.
[98] Аварийная траектория может включать в себя одну или более путевых точек, по которым должно следовать роботизированное транспортное средство 200, чтобы достичь безопасного пункта назначения для остановки (то есть пункта экстренной остановки), путевые точки, таким образом, определяют аварийный путь. Каждая путевая точка может содержать координаты относительно текущего местоположения роботизированного транспортного средства 200. Аварийная траектория может быть представлена в формате последовательности координат, направления, кривой, скорости, последовательности инструкций и/или любого другого подходящего формата траектории, который может использоваться контроллером 220 шасси, чтобы побудить роботизированное транспортное средство 200 добраться до пункта экстренной остановки.
[99] Компьютерная система 210 может определять пункт экстренной остановки как ближайшую область, имеющую более высокую степень безопасности, чем текущее положение роботизированного транспортного средства 200, причем указанная область расположена поблизости от роботизированного транспортного средства 200. Пункт экстренной остановки может быть определен на основе текущего направления движения роботизированного транспортного средства 200 и может быть выбран в текущем направлении движения роботизированного транспортного средства 200.
[100] Пункт экстренной остановки может быть текущим местоположением роботизированного транспортного средства 200, если определено, что роботизированное транспортное средство 200 в настоящее время находится в безопасной для остановки области, такой как область, обозначенная как безопасная, область, имеющая рейтинг безопасности выше предварительно определенного порогового рейтинга и/или область, имеющая наивысший рейтинг безопасности, из областей в пределах предварительно определенного расстояния от роботизированного транспортного средства 200.
[101] Аварийная траектория может быть сформирована одновременно с базовой траекторией на этапе 610. Например, каждый раз, когда создается обновленная базовая траектория, также может создаваться обновленная аварийная траектория. Аварийная траектория может обновляться с предварительно определенным интервалом, например, каждые две секунды может создаваться новая аварийная траектория. В некоторых вариантах осуществления настоящей технологии аварийная траектория может обновляться реже, чем базовая траектория. В некоторых альтернативных вариантах осуществления частота обновления аварийной траектории может зависеть от текущей среды 230 на данный момент. Например, аварийная траектория может обновляться реже, когда текущая среда 230 включает в себя область 340 пешеходного перехода, и более часто, когда текущая среда 230 включает в себя подобласть 311 пересечения дорог.
[102] Более конкретно, предварительно определенный интервал может регулироваться на основе текущего местоположения роботизированного транспортного средства 200. Компьютерная система 210 может определять степень безопасности текущего местоположения роботизированного транспортного средства 200. Например, компьютерная система 210 может определять текущее местоположение роботизированного транспортного средства 200 с помощью GPS, а затем использовать карту для определения степени безопасности, связанной с текущим местоположением роботизированного транспортного средства 200. Предварительно определенный интервал может быть скорректирован на основе степени безопасности, связанной с текущим местоположением.  Аварийная траектория может обновляться чаще, когда роботизированное транспортное средство 200 находится в небезопасном месте. Например, аварийная траектория может обновляться каждые пять секунд, когда роботизированное транспортное средство 200 находится на тротуаре, и каждую секунду, когда роботизированное транспортное средство 200 находится на проезжей части.
[103] Для роботизированного транспортного средства 200 может быть более эффективным и/или менее энергозатратным снизить скорость обновления аварийной траектории. Чтобы снизить энергопотребление и/или другие ресурсы, аварийная траектория может обновляться реже, когда роботизированное транспортное средство 200 находится в области, которая считается безопасной.
Этап 625: Отправка аварийной траектории контроллеру шасси
[104] На этапе 625 аварийная траектория может быть отправлена контроллеру шасси. Компьютерная система 210 может отправить аварийную траекторию контроллеру 220 шасси. Действия, выполняемые на этапе 625, могут быть аналогичны действиям, описанным выше в отношении этапа 615.
Этап 630: Определение возникновения ошибки
[105] На этапе 630 определяется, произошла ли ошибка. Определение может быть выполнено компьютерной системой 210 и/или контроллером 220 шасси. Определение может быть выполнено путем оценки состояния связи между компьютерной системой 210 и контроллером 220 шасси. Ошибка может быть обнаружена на основе приема предварительно определенного объема поврежденных пакетов данных от компьютерной системы 210, потери связи с компьютерной системой 20 в течение предварительно определенного периода времени, потери пакетов данных и/или любого другого указания ошибки. Ошибка может быть обнаружена на основе индикации от датчика, обнаружения отказа датчика, обнаружения того, что роботизированное транспортное средство 200 отклонилось от базовой траектории, на основе противоречивых данных датчика и/или любого другого указания на то, что произошла ошибка. Следует понимать, что можно использовать любой подходящий способ обнаружения неисправности роботизированного транспортного средства 200.
Этап 635: Движение по базовой траектории
[106] Если на этапе 630 ошибка не была обнаружена, роботизированное транспортное средство может работать в нормальных рабочих условиях на этапе 635 и двигаться по базовой траектории. Контроллер 220 шасси может осуществлять доступ к инструкциям и выполнять инструкции, соответствующие базовой траектории, тем самым побуждая роботизированное транспортное средство 200 двигаться по базовой траектории. Во время движения по базовой траектории, компьютерная система 210 может обновлять базовую траекторию в реальном времени или с заданной частотой на основе данных, полученных датчиками 202 и/или 204. Компьютерная система 210 может использовать данные, захваченные датчиками 202 и/или 204, чтобы следовать по пути, определяемому базовой траекторией.
Этап 640: Переключение роботизированного транспортного средства в аварийный режим
[107] Если на этапе 630 обнаруживается ошибка, роботизированное транспортное средство может переключиться в аварийный режим на этапе 640. В аварийном режиме контроллер 220 шасси может отключить связь с компьютерной системой 210. Контроллер 220 шасси может извлечь последнее обновление аварийной траектории, переданное компьютерной системой 210 и/или сохраненное в памяти 206. Способ 600 может продолжаться с этапа 640 до этапа 645.
Этап 645: Активирование аварийных сигналов
[108] На этапе 645 могут активироваться различные аварийные сигналы, чтобы сигнализировать о том, что роботизированное транспортное средство находится в аварийном режиме. Роботизированное транспортное средство 200 в аварийном режиме может включать звуковой сигнал и/или световые сигналы. Звуковые и/или световые сигналы могут оставаться включенными до тех пор, пока роботизированное транспортное средство 200 не прибудет в пункт экстренной остановки и не прекратит движение, и/или до тех пор, пока аварийный режим не будет деактивирован. Аварийный режим может быть отключен оператором вручную и/или дистанционно, например, если оператор определяет, что роботизированное транспортное средство 200 может продолжать функционировать в нормальных рабочих условиях.
Этап 650: Снижение скорости роботизированного транспортного средства
[109] На этапе 650 скорость роботизированного транспортного средства может быть уменьшена. Скорость роботизированного транспортного средства 200 может снижаться и/или поддерживаться ниже предварительно определенной максимальной скорости до тех пор, пока аварийный режим не будет отключен.
Этап 655: Находится ли роботизированное транспортное средство в безопасной области?
[110] На этапе 655 можно определить, находится ли роботизированное транспортное средство в безопасной области. Если роботизированное транспортное средство 200 не находится в безопасной области, роботизированное транспортное средство 200 может двигаться по аварийной траектории в безопасную область и затем остановиться. В противном случае, если роботизированное транспортное средство 200 уже находится в безопасной области, когда возникла неисправность, роботизированное транспортное средство 200 может остановиться в своем текущем местоположении.
[111] Компьютерная система 210 и/или контроллер 220 шасси могут определять, находится ли роботизированное транспортное средство 200 в безопасной для остановки области. Текущее местоположение роботизированного транспортного средства 200 может быть определено и сравнено с картой, указывающей безопасные и небезопасные зоны для остановки роботизированного транспортного средства 200. Определение может быть сделано на основе аварийной траектории. Аварийная траектория может указывать на то, что роботизированное транспортное средство 200 находится в безопасном месте и может остановиться.
Этап 660: Движение по аварийной траектории
[112] Если определено, что роботизированное транспортное средство находится в небезопасном месте, на этапе 660 роботизированное транспортное средство может перемещаться по аварийной траектории в безопасную область. Контроллер 220 шасси может осуществлять доступ и выполнять инструкции, соответствующие аварийной траектории, чтобы побудить роботизированное транспортное средство 200 двигаться по аварийной траектории. Контроллер 220 шасси может полагаться на подмножество датчиков 202 и 204, чтобы побудить роботизированное транспортное средство 200 двигаться по аварийной траектории. Например, контроллер 220 шасси может использовать датчики 204 и может не использовать датчики 202, чтобы побудить роботизированное транспортное средство двигаться по аварийной траектории. Датчики 204, используемые контроллером 220 шасси, могут содержать по меньшей мере один акселерометр, по меньшей мере один одометрический датчик и/или по меньшей мере один ультразвуковой датчик. Датчики 204, используемые контроллером 220 шасси, могут содержать акселерометр и одометрический датчик и могут не включать в себя ультразвуковой датчик.
[113] Контроллер 220 шасси может регулировать и/или обновлять аварийную траекторию на основе данных, полученных датчиками 204. Например, если данные, полученные датчиками 204, указывают, что аварийная траектория загорожена препятствием, контроллер 220 шасси может обновить аварийную траекторию, чтобы избежать препятствия. При обновлении аварийной траектории контроллер 220 шасси может использовать карту окружающей среды для определения обновленной аварийной траектории. Например, контроллер 220 шасси может использовать карту для определения обновленной аварийной траектории, которая побуждает роботизированное транспортное средство 200 передвигаться через области, имеющие более высокие указанные степени безопасности, и/или вблизи указанных областей, чтобы достичь пункта экстренной остановки.
[114] Если неисправность обнаруживается, когда роботизированное транспортное средство 200 движется по аварийной траектории, роботизированному транспортному средству 200 может быть дана инструкция немедленно остановиться. Если контроллер 220 шасси неисправен и/или если роботизированное транспортное средство 200 отклоняется от аварийной траектории 200, роботизированное транспортное средство 200 может быть немедленно остановлено, независимо от безопасности текущего местоположения роботизированного транспортного средства 200.
Этап 665: Остановка роботизированного транспортного средства
[115] После определения того, что роботизированное транспортное средство находится в безопасной области, на этапе 665 роботизированное транспортное средство может остановиться. Роботизированное транспортное средство 200 может остановиться в безопасной области и дождаться получения дальнейших инструкций от удаленного оператора и/или прибытия технического специалиста для извлечения роботизированного транспортного средства 200. Роботизированное транспортное средство 200 может поддерживать звуковой и/или световой сигнал до тех пор, пока аварийный режим не будет отключен. Роботизированное транспортное средство 200 может отправлять указание местоположения роботизированного транспортного средства 200 и/или любую другую информацию, касающуюся роботизированного транспортного средства 200 или неисправности, на удаленный сервер. Оператор может получить доступ к информации, чтобы определить, следует ли направить технического специалиста к месту нахождения роботизированного транспортного средства 200.
Способ управления движением роботизированного транспортного средства с помощью карты (неограничивающий вариант осуществления)
[116] На фиг.8 представлена блок-схема способа 800 управления движением роботизированного транспортного средства согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах способ 800 или один или более его этапов могут выполняться компьютерной системой, такой как компьютерная система 210 и/или контроллер 220 шасси. Способ 800 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как запоминающее устройство для долговременного хранения информации, загружаются в память и выполняются центральным процессором. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или их порядок следования может быть изменен.
Этап 805: Получение данных, захваченных датчиками
[117] На этапе 805 данные могут быть получены от датчиков. Компьютерная система 210 может получать данные от датчиков 202 и/или 204. Действия, выполняемые на этапе 805, могут быть аналогичны действиям, описанным выше в отношении этапа 605.
Этап 810: Создание базовой траектории
[118] На этапе 810 для роботизированного транспортного средства может быть создана базовая траектория. Компьютерная система 210 может создавать базовую траекторию для роботизированного транспортного средства 200 на основе данных от датчиков 202 и 204. Действия, выполняемые на этапе 810, могут быть аналогичны действиям, описанным выше в отношении этапа 610.
Этап 815: Отправка базовой траектории контроллеру шасси
[119] На этапе 815 базовая траектория может быть отправлена контроллеру шасси. Компьютерная система 210 может сохранять базовую траекторию в памяти 206 и/или отправлять базовую траекторию контроллеру 220 шасси. Действия, выполняемые на этапе 815, могут быть аналогичны действиям, описанным выше в отношении этапа 615.
Этап 820: Отправка карты контроллеру шасси
[120] На этапе 820 карта может быть отправлена контроллеру шасси. Компьютерная система 210 может сохранять карту в памяти 206 и/или отправлять карту контроллеру 220 шасси. Карта может включать в себя область, окружающую текущее местоположение роботизированного транспортного средства 200. Карта может указывать безопасные области и/или небезопасные области вокруг роботизированного транспортного средства 200. Карта может указывать степени безопасности для областей вокруг роботизированного транспортного средства 200.
[121] Карта может использоваться контроллером 220 шасси, когда роботизированное транспортное средство 200 выходит из строя и переходит в аварийный режим. Вместо получения аварийной траектории контроллер 220 шасси может использовать карту для определения аварийной траектории для роботизированного транспортного средства 200. Контроллер 220 шасси может использовать карту для пилотирования роботизированного транспортного средства 200 в безопасную область для остановки.
Этап 825: Определение возникновения ошибки
.
[122] На этапе 825 может быть определено, что произошла ошибка. Неисправность роботизированного транспортного средства 200 может быть обнаружена компьютерной системой 210 и/или контроллером 220 шасси. Действия, выполняемые на этапе 825, могут быть аналогичны действиям, описанным выше в отношении этапа 630
Этап 830: Движение по базовой траектории
[123] Если на этапе 825 неисправность не была обнаружена, роботизированное транспортное средство может двигаться по базовой траектории на этапе 830. Компьютерная система 210 и/или контроллер 220 шасси могут побудить роботизированное транспортное средство 200 двигаться по базовой траектории. Действия, выполняемые на этапе 830, могут быть аналогичны действиям, описанным выше в отношении этапа 635.
Этап 835: Движение в ближайшую безопасную область
[124] Если неисправность была обнаружена на этапе 825, роботизированное транспортное средство может переключиться в аварийный режим и переместиться в безопасную область на этапе 835. Контроллер 220 шасси может использовать карту, чтобы побудить роботизированное транспортное средство 200 переместиться в ближайшую безопасную область. Контроллер 220 шасси может получить доступ к карте и выбрать ближайшую область, имеющую достаточную степень безопасности, для остановки роботизированного транспортного средства 200. Ближайшая безопасная область может быть выбрана в текущем направлении движения роботизированного транспортного средства 200. Например, в ситуации, показанной на Фиг.5, контроллер 220 шасси может использовать карту, чтобы определить, что подобласть 322 тротуара у здания является безопасной областью, расположенной в направлении движения роботизированного транспортного средства 200, и контроллер 220 шасси может побудить роботизированное транспортное средство 200 переместиться в подобласть 322 тротуара у здания.
[125] Как описано выше в отношении этапа 660, контроллер 220 шасси может полагаться на подмножество датчиков 202 и 204, чтобы побудить роботизированное транспортное средство 200 переместиться в ближайшую безопасную область. Например, контроллер шасси может использовать датчики 204 и может не использовать датчики 202. Подмножества датчиков, используемых контроллером 220 шасси, могут содержать по меньшей мере один акселерометр, по меньшей мере один одометрический датчик и/или по меньшей мере один ультразвуковой датчик. Контроллер 220 шасси может побудить роботизированное транспортное средство 200 остановиться при достижении безопасной области.
[126] Следует ясно понимать, что не все технические эффекты, упомянутые в данном документе, необходимо использовать в каждом и любом варианте осуществления настоящей технологии.
Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для использования в качестве примеров, а не для ограничения. Поэтому подразумевается, что объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.