АВТОНОМНЫЙ МОБИЛЬНЫЙ РОБОТ И СПОСОБ ЕГО РАБОТЫ
AUTONOMOUS MOBILE ROBOT AND METHOD FOR ITS OPERATION

Область техники, к которой относится изобретение
Настоящее изобретение относится к автономному мобильному роботу, который может систематично осуществлять навигацию по загроможденной площади пола, и к способу работы такого робота.
Уровень техники изобретения
Известные автономные мобильные роботы для обработки полов, например, роботы-пылесосы, могут иметь трудности навигации по площадям пола, которые, по меньшей мере, до некоторой степени, покрыты препятствиями, такими как мебель и другие мешающие препятствующие объекты. Чтобы добиваться надлежащего охвата загроможденной площади пола, некоторые роботы применяют подход, который подразумевает случайную или простую повторяющуюся (например, зигзагообразную) траекторию движения. Во время выполнения выбранной траектории движения робот может сохранять карту, которая делит обрабатываемую площадь пола на относительно крупные секции. Секции, которые либо охватываются роботом, либо являются недостижимыми, могут быть помечены соответствующим образом, и навигация, и охват могут продолжаться до тех пор, пока не останется достижимой неохваченной секции.
Недостаток такого подхода в том, что он, в целом, является несистематичным и, следовательно, неэффективным. Вследствие избытка движений и покрываемого расстояния система отслеживания положения робота может также показывать постепенно увеличивающуюся погрешность положения, что может приводить к потере роботом своих ориентирных линий и к отклонению от заданного положения, что может неизбежно приводить в результате к плохой характеристике охвата пола.
Сущность изобретения
Целью настоящего изобретения является предоставление автономного мобильного робота, который способен систематично и эффективно осуществлять навигацию и охватывать загроможденные площади пола.
Другой целью настоящего изобретения является предоставление способа работы автономного мобильного робота, при этом упомянутый способ предоставляет возможность систематической и эффективной навигации загроможденных площадей пола.
Соответственно, первый аспект настоящего изобретения направлен на автономного мобильного робота. Робот может содержать систему привода для продвижения вперед робота по площади пола, по меньшей мере, один чувствительный элемент для обнаружения мешающих объектов и контроллер, который функционально соединяется как с системой привода, так и с чувствительным элементом. Контроллер может быть сконфигурирован, чтобы управлять системой привода для того, чтобы перемещать робота по площади пола в соответствии со стратегией охвата пола, которая может включать в себя: на основе топологической карты площади пола определение местоположения текущей секции, при этом упомянутая текущая секция пространственным образом ограничивается первичной границей. Стратегия охвата пола может также включать в себя, от точки входа на первичной границе упомянутой текущей секции, выполнение первоначального двойного хода в текущую секцию и впоследствии определение расположения точки разветвления, которая находится в упомянутой текущей секции, предпочтительно на пути первоначального двойного хода, и от упомянутой точки разветвления - выполнение множества дополнительных распределенных под углом двойных ходов в текущей секции. Стратегия охвата пола может дополнительно включать в себя: с помощью упомянутого, по меньшей мере, одного чувствительного элемента отображение препятствующих объектов в текущей секции на карте препятствий во время выполнения двойных ходов и затем из упомянутой карты препятствий - определение вторичной границы, ассоциированной с текущей секцией. Вторичная граница может окружать, по меньшей мере, часть площади текущей секции, охваченной посредством выполненных двойных ходов, и различать между фрагментами ее вторичной границы, в которых препятствующий объект находится, и фрагментами ее вторичной границы, в которых препятствующий предмет не находится. Стратегия охвата пола может дополнительно включать в себя добавление определенной вторичной границы текущей секции к топологической карте площади пола.
Второй аспект настоящего изобретения направлен на способ работы автономного мобильного робота с тем, чтобы перемещать робота по площади пола. Способ может включать в себя управление роботом в соответствии со стратегией охвата пола, которая может включать в себя: на основе топологической карты площади пола определение местоположения текущей секции, при этом упомянутая текущая секция пространственным образом ограничивается первичной границей. Стратегия охвата пола может также включать в себя, от точки входа на первичной границе упомянутой текущей секции, выполнение первоначального двойного хода в текущую секцию и впоследствии определение точки разветвления, которая располагается в упомянутой текущей секции, предпочтительно находящейся на пути первоначального двойного хода, и от упомянутой точки разветвления - выполнение множества дополнительных распределенных под углом двойных ходов в текущей секции. Стратегия охвата пола может дополнительно включать в себя отображение препятствующих объектов в текущей секции на карте препятствий, предпочтительно во время выполнения двойных ходов, и из упомянутой карты препятствий - определение вторичной границы, ассоциированной с текущей секцией. Вторичная граница может окружать, по меньшей мере, часть площади текущей секции, охваченной посредством выполненных двойных ходов, и различать между фрагментами ее вторичной границы, в которых препятствующий объект находится, и фрагментами ее вторичной границы, в которых препятствующий предмет не находится. Стратегия охвата пола может дополнительно включать в себя добавление определенной вторичной границы текущей секции к топологической карте площади пола.
Раскрываемая в настоящий момент стратегия охвата пола для автономного мобильного робота, такого как робот-пылесос (RVC), основывается на посекционном охвате площади пола, которая должна быть охвачена. Каждая из секций, на которые делится площадь пола, может быть пространственным образом ограничена первичной границей, и различные секции могут быть сходными, так что их первичные границы имеют одинаковую форму и размер. Охват площади одной секции, во время охвата упоминаемой как 'текущая секция', может выполняться в двух фазах.
Первая фаза может подразумевать выполнение первоначального двойного хода в текущую секцию, когда двойной ход может начинаться от точки входа текущей секции, расположенной на ее первичной границе. В этом тексте выражение 'двойной ход' может быть истолковано как ссылающееся на перемещение робота взад и вперед. Соответственно, первоначальный двойной ход может включать в себя прямой ход или перемещение вперед от точки входа текущей секции по направлению к фрагменту первичной границы текущей секции, противоположному точке входа, и последующий обратный ход или обратное перемещение назад по направлению к точке входа. Как прямой, так и обратный ходы могут типично быть прямыми, а обратный ход может, по меньшей мере, частично, проходить по траектории прямого хода. Длина обратного хода первоначального двойного хода может предпочтительно быть короче длины прямого хода первоначального двойного хода, так что робот может находиться внутри текущей секции по завершении первоначального двойного хода.
Вторая фаза может подразумевать определение 'точки разветвления' в текущей секции. Точка разветвления может быть расположена на пути первоначального двойного хода и предпочтительно совпадать с конечной точкой его заднего хода. От точки разветвления робот может выполнять множество дополнительных распределенных под углом двойных ходов в пределах текущей секции. Каждый дополнительный двойной ход может включать в себя прямой ход по направлению к первичной границе текущей секции и последующий обратный ход назад к точке разветвления внутри текущей секции. Как и с первоначальным двойным ходом, обратный ход дополнительного двойного хода может повторять траекторию соответствующего прямого хода. В отличие от первоначального двойного хода, однако, длины прямого и обратного ходов дополнительных двойных ходов могут предпочтительно быть одинаковыми. Кроме того, любой двойной ход может предпочтительно быть уникальным в том, что дополнительный двойной ход полностью не перекрывается либо с первоначальным двойным ходом, либо с другим дополнительным двойным ходом.
В целом, выполнение двойных ходов как первоначального, так и дополнительного, может служить, чтобы и систематически охватывать площадь текущей секции, и обеспечивать обнаружение каких-либо препятствий на ней. Что касается этой последней функции, двойные ходы, выполняемые в текущей секции, могут рассматриваться как исследующие: во время выполнения двойного хода робот может обнаруживать и определять местоположения препятствий в своем окружении, например, посредством, по меньшей мере, одного чувствительного элемента (например, датчика расстояния или датчика столкновения) и отображать любые такие обнаруженные препятствия на карте препятствий текущей секции.
По завершении всех двойных ходов карта препятствий текущей секции может использоваться, чтобы определять вторичную границу текущей секции. Вторичная граница может типично протягиваться, по меньшей мере, частично, в пределах первичной границы текущей секции, окружать площадь текущей секции, фактически охваченную выполненными двойными ходами, и указывать возможные входы и выходы в эту площадь. Для этого фрагменты вторичной границы, в которых располагаются препятствующие объекты, могут быть выделены, т.е. обозначены отлично, от фрагментов, в которых препятствующие объекты не были обнаружены. Вторичная граница, включающая в себя эти метки преодолимых и непреодолимых/заблокированных фрагментов вторичной границы, может быть затем добавлена к топологической карте охватываемой площади пола. В этой топологической карте местоположение стратегической точки в текущей секции, такой как геометрический центр фактически охваченной площади текущей секции, окруженной вторичной границей, может быть отмечен как 'узел движения' или 'точка пути'; узел движения представляет местоположение, как правило, с хорошими перспективами движения и может быть использован для движения между секциями. В случае, когда текущая секция была определена на основе выбора проходимого фрагмента вторичной границы ранее охваченной секции, соответствующий фрагмент границы может быть помечен как 'обработанный'. Затем новый, еще необработанный фрагмент вторичной границы может быть выбран из топологической карты. Робот может двигаться к выбранному необработанному фрагменту вторичной границы через узлы движения в топологической карте, и после того, как фрагмент вторичной границы достигается, либо приступать к нему со специализированным движением и помечать его как 'обработанный', либо определять новую текущую секцию, в которую можно войти через выбранный фрагмент вторичной границы и охватить эту новую текущую секцию, как описано выше. Понятно, что стратегия охвата пола может обеспечивать повторяющееся выполнение этапов выбора необработанного фрагмента вторичной границы из топологической карты, движения к выбранному необработанному фрагменту вторичной границы вдоль узлов движения, зарегистрированных в топологической карте, определения текущей секции, охвата текущей секции посредством первоначального и дополнительных двойных ходов, определения вторичной границы текущей секции и расширения/обновления топологической карты площади пола, которая должна быть охвачена. Процесс может продолжаться до тех пор, пока не останется необработанных фрагментов вторичной границы в топологической карте.
Как упомянуто, выполнение двойных ходов как первоначального, так и дополнительного, может служить, в целом, чтобы и систематически охватывать площадь пола текущей секции, и обеспечивать обнаружение каких-либо препятствий на ней. В одном варианте осуществления первоначальный двойной ход может иметь особую дополнительную функцию определения 'глубины' текущей секции, с тем, чтобы предоставлять возможность определения того, возможен ли охват площади пола текущей секции посредством дополнительных двойных ходов, и если так, сколько таких дополнительных двойных ходов желательны, и согласно какому угловому распределению. В предпочтительном варианте осуществления выполнение дополнительных, распределенных под углом двойных ходов может быть при условии минимальной достигнутой длины прямого хода первоначального двойного хода. Т.е. если выполнение первоначального двойного хода должно быть преждевременно завершено вследствие препятствия на его пути, фактическая или достигнутая длина его прямого хода может быть меньше его максимальной длины. Если достигнутая длина прямого хода ниже предварительно определенного минимального порога, глубина текущей секции может считаться слишком мелкой для имеющего смысл выполнения дополнительных двойных ходов, и выполнение таких дополнительных двойных ходов может быть отменено. В другом предпочтительном варианте осуществления число дополнительных двойных ходов может быть связано с достигнутой длиной прямого хода первоначального двойного хода, так что большая достигнутая длина упомянутого прямого хода соответствует большему числу дополнительных двойных ходов.
Эти и другие признаки и преимущества изобретения будут более понятны из последующего подробного описания некоторых вариантов осуществления изобретения, взятого вместе с сопровождающими чертежами, которые предназначены, чтобы иллюстрировать, а не ограничивать изобретение.
Краткое описание чертежей
Фиг. 1 - это схематичный вид сверху компоновки примерного варианта осуществления робота-пылесоса согласно настоящему изобретению;
Фиг. 2 - это блок-схема последовательности операций примерной стратегии охвата пола для охвата плотно загроможденной площади пола, которую контроллер робота-пылесоса, показанного на фиг. 1, может быть сконфигурирован выполнять;
Фиг. 3A схематично иллюстрирует пути первоначального и дополнительного двойных ходов, которые могут выполняться в текущей секции в соответствии со стратегией охвата пола, показанной на фиг. 2;
Фиг. 3B схематично иллюстрирует выполнение первоначального и дополнительного двойных ходов в текущей секции роботом в соответствии со стратегией охвата пола, показанной на фиг. 2 и 3A;
Фиг. 3C схематично иллюстрирует выполнение нелинейного первоначального двойного хода в результате присутствия препятствующего объекта в пределах первичной границы текущей секции;
Фиг. 3D схематично иллюстрирует различные возможные глубины секции для текущей секции;
Фиг. 3E-G схематично иллюстрируют определение вторичной границы текущей секции; и
Фиг. 3H схематично иллюстрирует, в виде сверху, охват площади пола роботом, показанным на фиг. 1, в соответствии со стратегией охвата пола, изложенной на фиг. 2.
Подробное описание вариантов осуществления изобретения
ФИГ. 1 показывает схематичный вид сверху компоновки автономного мобильного робота 100, более конкретно - робота-пылесоса (RVC), согласно настоящему изобретению.
В целом, робот 100 может включать в себя корпус 102, в или на котором могут быть предусмотрены другие компоненты. В изображенном варианте осуществления корпус 102 имеет заметную некруглую окружающую форму, включающую в себя прямую (переднюю) кромку, которая предоставляет возможность для более хорошего предела досягаемости RVC, особенно в углах. Робот 100 может также включать в себя контроллер 106, который функционально соединяется, например, с системой 104 привода, системой 108 обработки пола и одним или более чувствительными элементами 110. Контроллер 106 может включать в себя процессор, который может выполнять операционные инструкции микропрограммного или программного обеспечения, и память для хранения переменной информации, такой как карта препятствий секции и топологическая карта охватываемой площади пола, которая функционально соединяется с процессором. Система 104 привода может быть сконфигурирована, чтобы приводить в движение или продвигать робота 100 по полу. Она может типично включать в себя множество колес 104a, роликов, гусениц и т.п., каждое из которых может функционально соединяться с (электро)мотором 104b или альтернативным актуатором для снабжения его движущей силой. Электрическая энергия для (электро)мотора или альтернативного актуатора может быть предоставлена посредством перезаряжаемого аккумулятора 104c, функционально соединенного с ним. В случае RVC, как изображено, система 108 обработки пола может типично включать в себя сопло 108a, контейнер 108c для пыли и источник создания вакуума/средство 108b (вакуумного) всасывания для всасывания пыли через сопло 108a в контейнер 108c для пыли. Понятно, однако, что другие варианты осуществления автономного мобильного робота 100 не должны быть пылесосами; вместо этого они могут, например, объединять систему обработки пола другого вида, такую как система пропитывания воском или полировки пола. Чувствительные элементы 110 могут включать в себя одометры и кодеры колес, которые могут быть сконфигурированы в сочетании с колесами 104a системы 104 привода, инерционные датчики, тактильные датчики, такие как датчики столкновения, компасы, датчики расстояния, датчики системы глобального позиционирования (GPS), устройства формирования изображений, такие как цифровые камеры, и т.д. Датчики расстояния понимаются как подходящие для определения местоположения объектов в окружающей обстановке, включающего в себя определение соответствующих расстояний до упомянутых объектов, и могут, в принципе, быть датчиками любого подходящего типа. Датчик расстояния может, например, быть оптическим датчиком, таким как инфракрасный датчик, или акустическим датчиком, таким как ультразвуковой датчик. Специалист в области техники поймет, что датчики расстояния могут типично включать в себя компонент-генератор и компонент-датчик; например, оптический датчик расстояния может включать в себя лазер для испускания лазерного луча и световой датчик, сконфигурированный, чтобы обнаруживать (отраженные) световые волны от лазера с тем, чтобы обнаруживать прерывания или фазовые сдвиги в нем.
Во время работы робот 100 может находиться под управлением контроллера 106, который может быть сконфигурирован, чтобы управлять системой 104 привода для того, чтобы перемещать робота по площади пола, которая должна быть охвачена. В частности, в (плотно) загроможденных площадях, где стандартные стратегии открытого пространства неэффективны, контроллер 106 может управлять системой привода в соответствии с раскрываемой в настоящий момент стратегией охвата пола на основе секций, чтобы выполнять эту задачу. В этом отношении можно отметить, что контроллер 106 может быть сконфигурирован, чтобы выполнять различные стратегии охвата пола в зависимости от того, находится ли он в загроможденном или незагроможденном/открытом пространстве. Например, в случае, когда контроллер 106 обнаруживает, что робот 100 находится в загроможденной области, он может управлять системой привода в соответствии с раскрываемой в настоящий момент стратегией охвата пола на основе секций, в то время как, в случае, когда контроллер 106 обнаруживает, что робот 100 находится в незагроможденной области, он может управлять системой привода в соответствии со стратегией открытого пространства, например, выполняя зигзагообразную траекторию движения. Примерная блок-схема последовательности операций раскрываемой в настоящий момент стратегии охвата пола для загроможденных площадей схематично показана на фиг. 2. Изображенная стратегия разъясняется ниже; сначала обсуждается охват одной секции площади пола, за которым следует обсуждение идентификации, взаимосвязи и охвата дальнейших секций. В обсуждении различные концепции стратегии охвата пола иллюстрируются со ссылкой на фиг. 3A-F.
Охват одной секции описывается в конкретных блоках 210-220 блок-схемы последовательности операций на фиг. 2.
Процесс охвата одной секции может начинаться с определения 'текущей секции', как указано в блоке 210. Определение текущей секции в обычном случае может быть основано на выборе необработанного фрагмента вторичной границы ранее охваченной секции из топологической карты охватываемой площади пола (см. блок 222). Указание текущей секции может затем повлечь за собой назначение предварительно определенной первичной границы области площади пола (тем самым эффективно определяя местоположение и ориентацию текущей секции на упомянутой площади пола), так что фрагмент первичной границы, по меньшей мере, частично совпадает с необработанным фрагментом вторичной границы, выбранным из топологической карты. Первичная граница, если была, сцепляется с необработанным фрагментом вторичной границы, соответствующим ранее охваченной секции. В начале работы по охвату пола, однако, топологическая карта площади охвата пола может, однако, быть пустой и не способствовать выбору необработанного фрагмента вторичной границы предыдущей секции. В этом случае контроллер 106 может случайным образом назначать области площади пола статус текущей секции и продолжать работу, как указано ниже.
В текущем контексте секция 300 может пониматься как функциональная единица площади пола, имеющая предварительно определенные размеры. Размеры секции 300 могут предпочтительно быть выбраны значительно меньшими, чем размеры общей площади пола, которая должна быть охвачена, так что площадь пола может быть разделена на множество секций, и превышать размеры корпуса 102 робота 100, который должен покрывать ее, так что робот 100 может двигаться в пределах секции 300. Секция 300 может предпочтительно быть многоугольной, и, в частности, прямоугольной, по форме. В отношении робота 100, как ширина, так и длина секции 300 могут предпочтительно быть в диапазоне в 1,5-4,0 раза больше характерного или максимального внешнего диаметра D его корпуса 102. Как станет ясно ниже, секции 300, которые являются слишком большими относительно размеров робота 100, не могут быть эффективно охвачены. Т.е. вследствие предлагаемых дополнительных распределенных под углами двойных ходов S2-S7, протягивающихся от точки F разветвления в секции 300 (см. фиг. 3A-B): рядом с точкой F разветвления перекрывание между соседними под углом двойными ходами S2-S7 может быть относительно большим, в то время как могут существовать промежутки между дополнительными двойными ходами S2-S7 на ее дальних краях. Единственным способом устранения промежутков на дальних краях дополнительных двойных ходов S2-S7 является уплотнение углового расхождения двойных дополнительных ходов, что является нежелательным ввиду одновременного увеличения в многократно покрываемой площади пола рядом с точкой F разветвления.
Фиг. 3A-B схематично иллюстрируют примерную секцию 300, пространственным образом ограниченную прямоугольной первичной границей 302, имеющей нижний фрагмент 302a границы, правый фрагмент 302b границы, верхний фрагмент 302c границы и левый фрагмент 302d границы. После того, как область площади пола была определена как текущая или следующая секция, которая должна быть охвачена (блок 210 в блок-схеме последовательности операций на фиг. 2), контроллер 106 может управлять системой 104 привода, чтобы инструктировать робота 100 входить в текущую секцию 300 через фрагменты 302a-d первичной границы. Соответствующий фрагмент 302a-d первичной границы может в обычном случае, по меньшей мере, частично совпадать с выбранным 'необработанным' фрагментом вторичной границы уже охваченной секции, как будет разъяснено ниже. Точка на соответствующем фрагменте 302a первичной границы, в которой робот 100 входит в секцию 300, может называться точкой E входа; эта точка E входа может типично соответствовать центру вышеупомянутого фрагмента вторичной границы, с которым фрагмент 302a первичной границы, по меньшей мере, частично совпадает.
После входа в секцию 300 контроллер 106 может управлять системой 104 привода, чтобы выполнять первоначальный двойной ход; этот этап представлен блоком 212 блок-схемы последовательности операций на фиг. 2. Первоначальный двойной ход, путь которого обозначен как S1 на фиг. 3A, может включать в себя прямой ход и последующий обратный ход. Прямой ход может вызывать обычно прямое перемещение вперед в секцию 300, практически перпендикулярно фрагменту 302a первичной границы и от точки E входа, расположенной на нем, и по направлению к фрагменту 302c первичной границы секции 300, противоположному точке E входа, в то время как обратный ход может вызывать перемещение назад к точке E входа.
Максимальная длина прямого хода первоначального двойного хода S1 может соответствовать расстоянию между точкой E входа текущей секции 200 и фрагментом 202c первичной границы, противоположным точке E входа, и робот 100 может стремиться совершить прямой ход, имеющий эту максимальную длину. Однако, когда площадь, охваченная текущей секцией 300, загромождена, объект, присутствующий на ней, может препятствовать выполнению прямого хода вперед. Присутствие такого препятствующего объекта может быть обнаружено различными способами, в частности, посредством чувствительных элементов 110 в форме датчиков расстояния или столкновения. В случае, когда препятствующий объект обнаруживается, робот 100 может быть сконфигурирован, чтобы прерывать выполнение прямого хода и ограничиваться прямым ходом, имеющим меньшую, чем максимальная, длину. Альтернативно, как показано на фиг. 3C, робот 100 может быть сконфигурирован, чтобы обходить объект - здесь: стену 306 - выруливая вокруг или вдоль нее, тем самым принимая нелинейный прямой ход, который отклоняется от линейного прямого хода на некоторый максимальный угол отклонения и/или расстояние. В любом случае, точка, расположенная на полпути прямого хода, может быть помечена как центр C (охватываемой) секции, как указано на фиг. 3A; центр C секции может рассматриваться как стратегическая точка с хорошими перспективами движения, местоположение которой может быть сохранено в топологической карте в качестве 'узла движения', который может быть использован для движения между секциями, как будет обсуждено ниже.
fork
fork
Во время обратного хода, который следует за прямым ходом, робот 100 может повторять траекторию пути, покрытого при прямом ходе. При этом он может предпочтительно не полностью возвращаться в точку E входа текущей секции, а вместо этого останавливаться в точке F разветвления, расположенной на некотором расстоянии d от нее (см. фиг. 3A). Расстояние d может типично быть приблизительно вполовину, например, примерно в 0,4-0,6 раза, меньше характерного или максимального внешнего радиуса D корпуса 102 робота 100, так что робот 100 может позже выполнять прямые дополнительные двойные ходы S2-S7 из точки F разветвления в параллельном и фактически слегка касающемся контакте с фрагментом 302a первичной границы, определяющим точку E входа.
Как указано блоками 214 и 216 блок-схемы последовательности операций на фиг. 2, за первоначальным двойным ходом S1 может следовать серия дополнительных распределенных под углом двойных ходов S2-S7. Каждый дополнительный двойной ход S2-S7 может включать в себя прямой ход, который начинается в точке F разветвления, и обратный ход, который заканчивается в точке F разветвления; см. фиг. 3A-B. Должны ли - и если так, сколько - такие дополнительные двойные ходы быть предприняты, может быть решено на основе достигнутой или фактической длины прямого хода первоначального двойного хода S1. Это решение представлено блоком 214 блок-схемы последовательности операций на фиг. 2 и может быть иллюстрировано со ссылкой на фиг. 3D.
1
2
3
3
1
1
2
Фактическая или достигнутая длина прямого хода первоначального двойного хода S1 может быть получена, чтобы определять глубину текущей секции 300. Фиг. 3D указывает три различные глубины d, d, d секции. Текущая секция 300, имеющая незагроможденную площадь пола, может иметь максимальную глубину d секции (фактически соответствующую внутреннему диаметру секции), и ей назначается максимальное число дополнительных двойных ходов, например, шесть: S2-S7. Секция 300, площадь которой в значительной степени покрыта препятствующим объектом, с другой стороны, может иметь небольшую глубину d секции. Если глубина d секции ниже некоторого порога мелкости, секция 300 может не быть правильно охватываемой, поскольку она может не предоставлять роботу 100 достаточного пространства для маневрирования. Соответственно, такой секции 300 может быть назначено ноль дополнительных двойных ходов. Секции 300, имеющей меньшую, чем максимальная, глубину d секции, которая, тем не менее, превышает порог мелкости, может быть назначено число дополнительных двойных ходов, которое больше нуля, но меньше максимального числа дополнительных двойных ходов, обычно назначаемых секциям с максимальной глубиной секции.
В случае, когда определенная глубина секции не предоставляет возможности выполнения дополнительных двойных ходов S2-S7 в секции 300, площадь секции может считаться охваченной частично выполненным прямым ходом первоначального двойного хода S1. Логически вытекает из этого открытия фрагмент вторичной границы на топологической карте, который соответствует и, по меньшей мере, частично совпадает с фрагментом 302a первичной границы секции, через который робот вошел в текущую секцию 300, может быть отмечен как 'обработанный', как указано блоком 220 блок-схемы последовательности операций на фиг. 2. Если, однако, дополнительные двойные ходы S2-S7 были назначены секции 300, робот 100 может выполнять эти двойные ходы, как указано блоком 216 блок-схемы последовательности операций на фиг. 2.
Что касается особенностей дополнительных двойных ходов S2-S7, может быть отмечено следующее. Максимальная длина прямого хода соответствующего дополнительного двойного хода S2-S7 может равняться расстоянию между точкой F разветвления и точкой, в которой фрагмент 302a-d первичной границы текущей секции 300 пересекает соответствующий вектор направления дополнительного двойного хода, который основывается в точке F разветвления и протягивается в направлении прямого хода. Как и с первоначальным двойным ходом S1, описанным выше, робот 100 может стремиться совершить дополнительные двойные ходы S2-S7, имеющие прямой ход максимальной длины. Однако в случае, когда площадь пола секции 300 загромождена, и объект 306, присутствующий на ней, блокирует выполнение прямого хода дополнительного двойного хода S2-S7, робот 100 может быть вынужден прерывать выполнение прямого хода и ограничиваться дополнительным двойным ходом, имеющим меньшую, чем максимальная, длину. Угловое распределение дополнительных двойных ходов S2-S7 может предпочтительно быть выбрано так, что дополнительные двойные ходы S2-S7 вместе охватывают угловой диапазон, по меньшей мере, 180 градусов. В ситуации на фиг. 3A этот угловой диапазон определяется посредством выровненных дополнительных двойных ходов S2 и S7 и точно охватывает 180 градусов. Средний угол, включенный соседними в угловом отношении дополнительными двойными ходами S2-S7, может быть ≤ 90 градусов, а предпочтительно быть в диапазоне 20-60 градусов.
Когда робот 100 выполнил все дополнительные двойные ходы S2-S7 от точки F разветвления, он может оценивать свой охват текущей секции 300, как отражено блоком 218 блок-схемы последовательности операций на фиг. 2. Оценка может, в частности, быть нацелена на определение вторичной границы 304 текущей секции 300, причем эта граница может расцениваться как топологически характеризующая и ограничивающая текущую секцию 300. Более конкретно, вторичная граница 304 может предоставлять информацию как о площади секции 300, которая была фактически охвачена, так и о местоположениях препятствующих объектов 306, присутствующих на ней.
Определение вторичной границы 304 текущей секции 300 схематично иллюстрировано на фиг. 3E-G.
Определение вторичной границы 304 может подразумевать определение фактической площади текущей секции 300, охваченной во время совместных двойных ходов S1-S7, например, из показаний соответствующего чувствительного элемента, полученных во время выполнения двойных ходов S1-S7, таких как, например, показания от кодеров колес, которые указывают максимальное значение движения вперед, влево и вправо в текущей секции 300. Вместе эти показания чувствительного элемента могут определять ограничивающий многоугольник 308, например, прямоугольник, который определяет границы фрагмента площади секции, расположенной на или в пределах первичной границы 302 текущей секции 300, и который был пересечен роботом 100. В качестве примера, фиг. 3E и 3F схематично изображают то, как достигнутые длины первоначального двойного хода S1 и дополнительных двойных ходов S2-S7 соответственно, могут определять прямоугольник 308, который ограничивает фактически охваченную площадь. Как показано на фиг. 3E и 3F, площадь текущей секции частично занята двумя объектами 306. Объекты 306 препятствуют выполнению первоначального двойного хода S1 (фиг.3A). Из дополнительных двойных ходов S2-S7 только двойной ход S7 влево может быть полностью выполнен; дополнительные двойные ходы S2-S4 не могут быть выполнены вообще, в то время как дополнительные двойные ходы S5 и S6 могут быть выполнены только частично (фиг.3B). Максимальное значение движения вперед, влево и вправо робота 100 в текущей секции 300 - движения, оцениваемого со ссылкой на центральную точку на роботе 100, расположенную между его колесами 104a - определяет границу 308 прямоугольника, которая соответствует третьему или нижнему левому квадранту текущей секции 300, и которая определяет границы фактически охваченной ее площади.
Фактически охваченная площадь 308 текущей секции 300 может быть помечена на карте препятствий, сформированной во время выполнения двойных ходов S1-S7; см. фиг. 3G. Карта препятствий может идентифицировать присутствие (и приблизительные) местоположения препятствующих объектов 306, присутствующих в текущей секции 300, которые могли быть идентифицированы посредством показаний чувствительного элемента, полученных во время выполнения двойных ходов S1-S7, например, через сканирования диапазона или окружающей обстановки, выполненные посредством датчика расстояния.
Из карты препятствий, содержащей как указание фактически охваченной площади 308 текущей секции 300, так и местоположения препятствующих объектов 306, присутствующих в текущей секции 300, может быть составлена вторичная граница 304 текущей секции 300. Для этого промежуточная площадь 310 между границей 308 фактически охваченной площади пола и первичной границей 302 текущей секции 300 может быть использована в качестве маски, и окружной путь может быть отслежен через промежуточную площадь 310, и когда такая промежуточная площадь 310 не присутствует вследствие того, что границы 302 и 308 совпадают: вдоль первичной границы 302 отмечаются переходы между незагроможденным фрагментом промежуточной площади (не покрытым препятствующим объектом 306) и загроможденным фрагментом промежуточной площади (покрытым препятствующим объектом 306) с узлом 312. Узлы 312 могут быть взаимосвязаны, чтобы формировать предпочтительно многоугольную вторичную границу 304, включающую в себя различные фрагменты 304a-f вторичной границы. В предпочтительном варианте осуществления узлы 312 вторичной границы 304, расположенные на фрагменте 302a первичной границы, на котором находится точка E входа текущей секции 300, могут предпочтительно не быть заданы в вершинах соответствующего фрагмента 302a первичной границы, с тем, чтобы принудительно составлять более широкие и взаимно неперпендикулярные фрагменты 304a-f вторичной границы; моделирования показали, что это улучшает движение и охват пола. Будет ясно, что в конкретном случае текущей секции 300, которая не размещает какие-либо препятствующие объекты 306, первичная и вторичная границы 302, 304 текущей секции 300 могут в значительной степени или полностью совпадать.
В целом, один фрагмент 304a вторичной границы текущей секции 300 может, по меньшей мере, частично совпадать с фрагментом 302a ее первичной границы, который определяет точку E входа текущей секции 300, и который сам частично совпадает с фрагментом вторичной границы ранее охваченной секции, из которой был осуществлен вход в текущую секцию 300. Другие фрагменты 304b-f вторичной границы могут быть помечены в соответствии с их отношением к препятствующим объектам 306. Т.е. фрагменты 304e, 304c вторичной границы, которые соответствуют загроможденным фрагментам промежуточной площади, могут быть помечены как 'загроможденные', в то время как фрагменты 304b, 304d, 304f вторичной границы, которые соответствуют незагроможденным фрагментам промежуточной площади, могут быть помечены как 'необработанные'.
Как отражено блоком 218 блок-схемы последовательности операций на фиг. 2, определенная вторичная граница 304 текущей секции 300 может быть добавлена к топологической карте, на которой она связывается со вторичной границей ранее охваченной секции, из которой робот 100 вошел в текущую секцию (если имеет место). Дополнительные данные, относящиеся к текущей секции, например, положение ее центральной точки C, которая может удобно служить в качестве узла движения или точки пути для движения между секциями, могут также быть сохранены. В случае, когда топологическая карта показывает перекрывание между вторичной границей 304 текущей секции 300 и вторичными границами ранее охваченных секций, соответствующие пересекающиеся фрагменты 304a-f вторичной границы перекрывающихся секций могут быть помечены как 'обработанные'.
После того, как текущая секция 300 была охвачена, и топологическая карта была обновлена, фрагмент 304a вторичной границы, через который робот 100 вошел в текущую секцию, может быть помечен как 'обработанный'. Этот этап заканчивает охват одной секции и указывается блоком 220 блок-схемы последовательности операций на фиг. 2.
Вышеописанная стратегия охвата одной секции может формировать базовый структурный блок более обширной рекурсивной стратегии охвата пола. Эта стратегия может пополнять стратегию охвата одной секции алгоритмом выбора, который решает, какой незагроможденный, еще необработанный фрагмент вторичной границы в топологической карте является следующим для обработки. В блок-схеме последовательности операций на фиг. 2 решение выбора указано блоком 222 решения. Функция и работа алгоритма выбора могут быть разъяснены следующим образом.
В начале работы по охвату пола, когда топологическая карта еще не обеспечивает навигацию, робот 100 может случайным образом определять первую текущую секцию 300 и инициировать ее охват, как описано выше. Эта первая секция может называться корневой секцией и, например, соответствовать единице площади пола прямо впереди робота 100. После того, как охват корневой секции был завершен, топологическая карта может идентифицировать ее вторичную границу 304. Фрагменты 304a-f вторичной границы, которые не 'загромождены' и помечены как 'необработанные', могут предписывать дальнейшее исследование, в частности, поскольку они могут разблокировать дополнительную площадь пола, которая должна быть охвачена. Теперь может быть вызван алгоритм выбора, чтобы выбирать незагроможденный, 'необработанный' фрагмент вторичной границы для обработки (блок 222 блок-схемы последовательности операций на фиг. 2), и робот может двигаться к этому выбранному фрагменту вторичной границы (блок 223 блок-схемы последовательности операций на фиг. 2). В случае, когда сохраненные размеры выбранного фрагмента вторичной границы указывают, что он может быть пересекаемым (например, поскольку он достаточно широк для пересечения роботом), робот 100 может определять новую текущую секцию, расположенную на неисследованной стороне фрагмента вторичной границы (блок 210 в блок-схеме последовательности операций на фиг. 2), двигаться по направлению к точке E входа новой текущей секции и инициировать ее охват. В случае, когда размеры выбранного фрагмента вторичной границы указывают, что он является непересекаемым (например, поскольку длина фрагмента вторичной границы меньше характерного диаметра D корпуса 102 робота), но он может все еще разблокировать некоторую площадь пола, которая должна быть охвачена, робот 100 может приступать к выбранному фрагменту вторичной границы со специализированным движением в попытке охватить настолько много, насколько возможно (блок 224 в блок-схеме последовательности операций на фиг. 2). После того, как соответствующий выбранный фрагмент вторичной границы был, таким образом, обработан, он может быть помечен как таковой (блок 220 в блок-схеме последовательности операций на фиг. 2), и снова может быть вызван алгоритм выбора, чтобы определять, доступны ли дополнительные незагроможденные, 'необработанные' фрагменты вторичной границы. В случае, когда такой дополнительный фрагмент вторичной границы обнаруживается и выбирается, робот 100 может двигаться к выбранному фрагменту вторичной границы (блок 223 блок-схемы последовательности операций на фиг. 2). Когда требуется движение между секциями, чтобы достигать выбранного фрагмента вторичной границы, робот 100 может двигаться через узлы движения, необязательно сохраненные в топологической карте. По прибытии робот 100 может инициировать соответствующее действие охвата для того, чтобы обрабатывать выбранный фрагмент вторичной границы; соответствующее действие охвата может типично быть основано на ширине или длине фрагмента границы, как описано выше. Этот процесс исследования и обработки может продолжаться до тех пор, пока 'необработанных' фрагментов вторичной границы не останется в топологической карте, в этот момент стратегия охвата пола может быть завершена (блок 226 блок-схемы последовательности операций на фиг. 2).
Точная природа алгоритма выбора может отличаться для различных вариантов осуществления. Поскольку топологическая карта эффективно организует секции в структуру графа (в которой секции определяют узлы, а фрагменты вторичной границы, в которых не располагается препятствующий объект, определяют ветви, которые взаимосвязывают два узла), общеизвестные алгоритмы прохождения графа могут применяться, чтобы систематически расширять и исследовать топологическую карту. Полезным примером такого алгоритма является исследование преимущественно в глубину, в котором обработка начинается в корневой секции, и исследование, и обработка вдоль вырастающей ветви продолжается настолько далеко, насколько возможно, перед возвращением. Другие примеры включают в себя исследование преимущественно в ширину, исследование преимущественно кратчайшего пути и т.д.
Чтобы завершить обсуждение раскрываемой в настоящий момент стратегии охвата пола, фиг. 3H схематично иллюстрирует, на виде сверху, то, как умеренно загроможденная площадь 400 пола охватывается роботом 100 в соответствии со стратегией охвата пола, изложенной на фиг. 2. Фиг. 3H показывает многоугольные вторичные границы 304 различных охваченных секций, топологические взаимоотношения между этими секциями, и какие двойные ходы S1-S7 были выполнены в каждой из них. Текущая секция, охватываемая роботом 100, находится вверху справа на чертеже.
Хотя иллюстративные варианты осуществления настоящего изобретения были описаны выше, в частности, со ссылкой на сопровождающие чертежи, должно быть понятно, что изобретение не ограничивается этими вариантами осуществления. Вариации в раскрытых вариантах осуществления могут пониматься и выполняться специалистами в данной области техники при применении на практике заявленного изобретения, из изучения чертежей, раскрытия сущности и прилагаемой формулы изобретения. Ссылка по всей данной спецификации на "один вариант осуществления" или "вариант осуществления" означает, что отдельный признак, структура или характеристика, описанная в связи с вариантом осуществления, включена, по меньшей мере, в один вариант осуществления настоящего изобретения. Таким образом, появление фраз "в одном варианте осуществления" или "в варианте осуществления" в различных местах на всем протяжении этой спецификации не обязательно всегда обращается к одному и тому же варианту осуществления. Кроме того, отметим, что конкретные признаки, структуры или характеристики одного или более вариантов осуществления могут быть объединены любым подходящим образом, чтобы формировать новые, явно не описанные варианты осуществления.
Список элементов
100 автономный мобильный робот / робот-пылесос (RVC)
102 корпус
104 система привода
104a колеса
104b электромотор
104c аккумулятор
106 контроллер
108 система обработки пола
108a сопло
108b источник вакуума
108c контейнер для пыли
110 чувствительный элемент
200 стратегия охвата пола
202 начало стратегии охвата загроможденной площади пола
210 определение новой текущей секции
212 выполнение первоначального двойного хода
214 определение глубины секции для текущей секции и числа дополнительных двойных ходов, которые должны быть выполнены в ней
216 выполнение дополнительных двойных ходов от точки разветвления, в то же время построение карты препятствий текущей секции
218 определение вторичной границы текущей секции из карты препятствий и расширение топологической карты охватываемой площади пола
220 пометка ранее выбранного фрагмента вторичной границы как 'обработанного' в топологической карте
222 выбор следующего 'необработанного' фрагмента вторичной границы из топологической карты
223 движение к выбранному 'необработанному' фрагменту вторичной границы
224 в случае, когда выбранный 'необработанный' фрагмент вторичной границы является непересекаемым: воздействие на нее со специализированным движением
226 в случае, когда не осталось 'необработанных' фрагментов вторичной границы: выход из стратегии охвата загроможденной площади пола
300 секция
302 первичная граница
302a, b, c,... фрагменты первичной границы
304 вторичная граница
304a, b, c,... фрагменты вторичной границы
306 препятствующий объект
308 граница фактически охваченной площади пола
310 промежуточная площадь (между 308 и 302)
312 узел вторичной границы
400 площадь пола, которая должна быть охвачена
C центр секции
D характерный внешний радиус корпуса робота
d глубина секции
fork
d расстояние между входным краем секции и точкой разветвления
F точка разветвления.