Соответствующие перекрестные ссылки на заявку
[0001] Данная заявка представляет собой национальную фазу международной заявки PCT/CN2021/085960, которая испрашивает приоритет по заявке на патент КНР №202010872327.3, поданной 26 августа 2020 года, при этом в данный документ путем ссылки включено полное содержание обеих упомянутых заявок.
Техническая область
[0002] Данное изобретение относится к технической области самоходных роботов, а именно к способу, устройству для обнаружения препятствий, самоходному роботу и носителю для хранения данных.
Предыдущий уровень техники
[0003] По мере развития технологий искусственного интеллекта появились разнообразные интеллектуальные роботы, например, роботы-пылесосы, роботы для мытья полов, пылеуловители, газонокосилки и т.д. Упомянутые роботы для уборки в процессе работы способны автоматически идентифицировать окружающие препятствия и выполнять соответствующие операции по их обходу. Такие роботы для уборки не только высвобождают рабочую силу и экономят затраты человеческих ресурсов, но и повышают эффективность уборки.
[0004] Однако устройство для сбора изображений робота-пылесоса способно лишь идентифицировать лишь ограниченный перечень типов препятствий. Как правило, этот процесс представляет собой сопоставление изображения сфотографированного препятствия с изображениями препятствий, имеющимися в базе данных. В случае успешного совпадения сфотографированный объект идентифицируется как препятствие определенного типа, например, обувь и т.д. Кроме этого, робот-пылесос также может идентифицировать препятствие с помощью лазерного устройства. Однако лазерное устройство, как правило, устанавливается на верхней части робота-пылесоса; излучение и прием сигнала для идентификации препятствий вокруг робота-пылесоса осуществляется лазером в горизонтальном направлении. И так как робот-пылесос имеет определенную высоту, как и лазерное устройство, это приводит к тому, что лазерное устройство способно обнаруживать лишь те препятствия, высота расположения которых превышает высоту самого робота-пылесоса. По этой причине робот может наталкиваться на препятствия, имеющие небольшую высоту, что отрицательно сказывается на восприятии пользователем.
Сущность изобретения
[0005] Принимая это во внимание, пример реализации данного изобретения представляет способ, устройство для обнаружения препятствий, самоходный робот и носитель для хранения данных, предназначенные для того, чтобы самоходный робот был способен обходить любые препятствия, находящиеся в определенном диапазоне высот.
[0006] В соответствии с аспектом данного изобретения, предложен способ обнаружения препятствий, предназначенный для использования самоходным роботом, который включает в себя следующее: информация о препятствии конвертируется в информацию о дальности; упомянутая информация о дальности трансформируется в схему облака точек, выполняется определение данных о координатах опорной точки упомянутого препятствия; в упомянутой схеме облака точек в направлении высоты определяется эффективный диапазон анализа; и, основываясь на данных о координатах упомянутой опорной точки, определяют наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа.
[0007] Как вариант, определение, основываясь на данных о координатах опорной точки, наличия/отсутствия препятствий в упомянутом эффективном диапазоне анализа может включать в себя следующее: данные о 3D координатах опорной точки в упомянутом эффективном диапазоне анализа трансформируют в данные 2D координат; в упомянутом эффективном диапазоне анализа, основываясь на данных 2D координат опорной точки, определяют наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа.
[0008] Как вариант, определение, основываясь на данных 2D координат опорной точки, наличия/отсутствия препятствий в упомянутом эффективном диапазоне анализа может включать в себя следующее: выполняется получение карты вероятностей, сформированной в процессе продвижения упомянутого самоходного робота; и из данных 2D координат всех упомянутых опорных точек на основе упомянутой карты вероятностей отфильтровывают данные о координатах точек шумовых помех.
[0009] Как вариант, упомянутое отфильтровывание из данных 2D координат опорной точки, основываясь на упомянутой карте вероятностей, данных о координатах точек-шумов может включать в себя следующее: выполняется получение данных о координатах положения препятствия на упомянутой карте вероятностей, при этом на упомянутой карте вероятностей значение вероятности упомянутого препятствия больше предварительно заданного порогового значения вероятности; выполняется сравнение упомянутых данных о координатах положения препятствия и упомянутых данных 2D координат опорной точки и если определено, что расстояние между упомянутыми данными о координатах положения препятствия и упомянутыми данными о 2D координатах опорной точки превышает предварительно заданное значение, выполняется отфильтровывание упомянутых данных 2D координат.
[0010] Как вариант, упомянутое определение, основываясь на данных о координатах опорной точки, наличия/отсутствия препятствий в упомянутом эффективном диапазоне анализа может включать в себя следующее: выполняется кластеризация опорной точки в упомянутом эффективном диапазоне анализа, при этом опорные точки, расстояние по данным координат которых от соседних опорных точек меньше второго заданного значения, принимают в качестве отдельной области; определяют размеры отдельной области, соответственно; и если упомянутый размер больше или равен третьему заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа.
[0011] Как вариант, упомянутый размер отдельной области может включать в себя как минимум один из следующих параметров: площадь/объем отдельной области, диаметр отдельной области, минимальное расстояние через геометрический центр отдельной области.
[0012] Как вариант, способ может включать в себя следующее: в случае наличия препятствия в упомянутом эффективном диапазоне анализа выполняется определение того, является ли диапазон размера упомянутого препятствия меньше предварительно заданного порогового значения; и если размер упомянутого препятствия меньше предварительно заданного порогового значения, то при входе упомянутого самоходного робота в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения.
[0013] В соответствии с аспектом данного изобретения предложен способ обнаружения препятствий, предназначенный для использования самоходным роботом, который включает в себя следующее: информация о препятствии конвертируется в информацию о дальности; упомянутая информация о дальности трансформируется в схему облака точек, в упомянутой схеме облака точек выбирается эффективный диапазон анализа; и если в упомянутом эффективном диапазоне анализа определено наличие препятствия, то, опираясь на упомянутые размеры препятствия, осуществляется соответствующая навигация.
[0014] Как вариант, навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, может включать в себя следующее: если размер упомянутого препятствия меньше предварительно заданного порогового значения, то при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения.
[0015] Как вариант, навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, может включать в себя следующее: в соответствии с размером или диапазоном размеров упомянутого препятствия выполняется определение расстояния до этого препятствия, и при приближении упомянутого самоходного робота на упомянутое расстояние от препятствия начинается выполнение стратегии обхода препятствия.
[0016] Как вариант, способ также может включать в себя следующее:
[0017] Выполняется определение данных о координатах опорной точки упомянутого препятствия;
[0018] Выполняется кластеризация опорной точки в упомянутом эффективном диапазоне анализа, при этом точки, расстояние по данным координат которых от соседних опорных точек меньше второго заданного значения, принимаются в качестве отдельной области; определяются размеры отдельной области, соответственно; и если упомянутый размер отдельной области больше или равен третьему заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа.
[0019] Как вариант, упомянутый размер отдельной области может включать в себя как минимум один из следующих параметров: площадь/объем отдельной области, диаметр отдельной области, минимальное расстояние через геометрический центр отдельной области, высота отдельной области.
[0020] Как вариант, навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, может включать в себя следующее: если определено, что высота упомянутого препятствия больше предварительно заданной высоты, выполняется стратегия обхода препятствия.
[0021] В соответствии с аспектом данного изобретения предложено устройство обнаружения препятствий, предназначенное для использования самоходным роботом, которое включает в себя следующее: блок конвертации, который используется для конвертации информации о препятствии в информацию о дальности; блок трансформации, который используется для трансформации упомянутой информации о дальности в схему облака точек и определения данных о координатах опорной точки упомянутого препятствия; блок определения, который используется для определения эффективного диапазона анализа в упомянутой схеме облака точек в направлении высоты; блок анализа, который используется для определения в упомянутом эффективном диапазоне анализа, основываясь на данных о координатах опорной точки, наличия/отсутствия препятствий в упомянутом эффективном диапазоне анализа.
[0022] В соответствии с аспектом данного изобретения предложен самоходный робот, который включает в себя процессор и запоминающее устройство, в упомянутом запоминающем устройстве хранятся команды компьютерной программы, которые могут быть выполнены процессором, а выполнение упомянутым процессором упомянутых команд компьютерной программы приводит к реализации последовательности любого из упомянутых выше способов.
[0023] В соответствии с аспектом данного изобретения предложен машиночитаемый носитель для хранения данных, в котором хранятся команды компьютерной программы; вызов и исполнение упомянутых команд компьютерной программы процессором приводит к реализации последовательности любого из упомянутых выше способов.
[0024] В сравнении с предыдущим уровнем техники данное изобретение имеет следующие полезные эффекты:
[0025] Согласно примерам реализации данного изобретения, предложены способ, устройство для обнаружения препятствий, самоходный робот и носитель для хранения данных, в том числе в рамках способа обнаружения препятствий с помощью дальностного изображения, полученного самоходным роботом в определенном диапазоне высот, выполняется преобразование координат и кластеризация данных дальностного изображения и на основании этого точно определяется наличие/отсутствие препятствия в текущем дальностном изображении. Данный способ позволяет выполнять обнаружение любых предметов, располагающихся на маршруте движения самоходного робота, устраняет имеющееся на предыдущем уровне техники ограничение, связанное с типом обнаруживаемых препятствий, устраняет недостаток, связанный с высотой обнаружения препятствий лазерным устройством, способствует дальнейшему улучшению способностей самоходного робота в обнаружении препятствий и повышает способности самоходного робота в обходе препятствий.
Описание чертежей
[0026] В целях предоставления более понятного описания примеров реализации данного изобретения или технических решений предшествующего уровня техники ниже приводится обобщенный обзор чертежей, которые необходимы для использования при описании примеров реализации и предшествующего уровня техники. Совершенно очевидно, что представленные в нижеприведенном описании чертежи иллюстрируют лишь отдельные примеры реализации данного изобретения и могут использоваться обычным техническим персоналом данной сферы для получения других чертежей реализации изобретения без использования изобретательского труда.
[0027] Фиг. 1 представляет собой схему способа применения согласно примеру реализации данного изобретения;
[0028] Фиг. 2 представляет собой объемную схему конструкции самоходного робота согласно примеру реализации данного изобретения;
[0029] Фиг. 3 представляет собой вид сверху конструкции самоходного робота согласно примеру реализации данного изобретения;
[0030] Фиг. 4 представляет собой вид снизу конструкции самоходного робота согласно примеру реализации данного изобретения;
[0031] Фиг. 5 представляет собой схему технологического процесса способа обнаружения препятствия самоходным роботом согласно примеру реализации данного изобретения;
[0032] Фиг. 6 представляет собой схему принципиальной конструкции бинокулярного дальномера согласно примеру реализации данного изобретения;
[0033] Фиг. 7 представляет собой схему геометрической конструкции бинокулярного дальномера согласно примеру реализации данного изобретения;
[0034] Фиг. 8 представляет собой схему плоской системы координат согласно примеру реализации данного изобретения;
[0035] Фиг. 9 представляет собой схему объемной системы координат согласно примеру реализации данного изобретения;
[0036] Фиг. 10 представляет собой схему способа кластеризации согласно примеру реализации данного изобретения;
[0037] Фиг. 11 представляет собой схему технологического процесса способа обнаружения препятствия самоходным роботом по другому примеру реализации данного изобретения;
[0038] Фиг. 12 представляет собой схему конструкции устройства для обнаружения препятствия согласно примеру реализации данного изобретения;
[0039] Фиг. 13 представляет собой схему конструкции устройства для обнаружения препятствия по другому примеру реализации данного изобретения;
[0040] Фиг. 14 представляет собой конструкционную схему электронной конструкции робота согласно примеру реализации данного изобретения.
Конкретные способы реализации
[0041] Для более точного понимания целей примера реализации данного изобретения, его технических решений и преимуществ ниже в сочетании с прилагаемыми чертежами согласно примеру реализации данного изобретения приводится точное и полное описание технического решения, представленного в примере реализации данного изобретения. Очевидно, что описанный пример реализации представляет собой не полный перечень, а лишь часть примеров реализации данного изобретения. Все другие примеры реализации, которые обычный технический персонал данной сферы, основываясь на описанном здесь примере реализации данного изобретения, может представить без использования изобретательского труда, относятся к сфере защиты данного изобретения.
[0042] Согласно некоторым примерам реализации данного изобретения предложен один из возможных способов его применения, который включает в себя устройство автоматической уборки 100, к примеру, самоходный робот, робот для мойки полов, пылесос, газонокосилку и т.п. В некоторых примерах реализации данного изобретения. В данном примере реализации, как показано на Фиг. 1, в качестве примера для описания взят домашний самоходный робот. В процессе работы самоходного робота в режиме реального времени с помощью расположенного в передней части устройства для сбора изображений выполняется получение изображения переднего поля обзора, на основании анализа изображения поля обзора определяется наличие/отсутствие препятствия 200 и других препятствий и в соответствии с результатом идентификации осуществляется управление маршрутом движения самоходного робота. В данном примере реализации робот может быть оснащен одним или несколькими устройствами для сбора изображений, чтобы осуществлять сбор изображений при следовании по маршруту движения. Робот также может быть оснащен сенсорным дисплеем или иметь возможность управления с помощью мобильного терминала, чтобы принимать команды управления от пользователя. Самоходный робот также может быть оснащен датчиками разного типа, к примеру, амортизатором, датчиком обрыва, ультразвуковым датчиком, инфракрасным датчиком, магнитометром, акселерометром, гироскопом, дистанциометром и другим сенсорным оборудованием. Кроме этого, робот может быть оснащен модулем wi-fi, модулем Bluetooth и другими модулями беспроводной связи, позволяющими подключаться к интеллектуальным терминалам или серверу, и с помощью модуля беспроводной связи получать команды управления, передаваемые через интеллектуальный терминал или сервер.
[0043] Как показано на Фиг. 2, устройство автоматической уборки 100 способно перемещаться по полу посредством различных комбинаций перемещений относительно образованных корпусом 110 трех взаимно перпендикулярных осей: продольной оси X, поперечной оси Y и центральной вертикальной оси Z. Направление приводного движения вперед по продольной оси X обозначается как «вперед», а направление приводного движения назад по продольной оси X обозначается как «назад». Направление поперечной оси Y по существу является направлением, проходящим между правым и левым колесами робота по оси, границы которой определяются центральной точкой модуля ведущего колеса 141.
[0044] Устройство автоматической уборки 100 поворачиваться относительно оси Y. Когда передняя часть устройства автоматической уборки 100 поднята вверх, а задняя часть опущена вниз, такое положение называется «наклон вверх»; когда передняя часть устройства автоматической уборки 100 опущена вниз, а задняя часть поднята вверх, такое положение называется «наклон вниз». Кроме этого, робот 100 может поворачиваться относительно оси Z. В прямом направлении устройства автоматической уборки 100, когда устройство автоматической уборки 100 отклонено в правую сторону по оси X, это называется «поворот вправо»; когда устройство автоматической уборки 100 отклонено в левую сторону по оси X, это называется «поворот влево».
[0045] Как показано на Фиг. 3, устройство автоматической уборки 100 включает в себя корпус 110, сенсорную систему 120, систему управления, систему привода 140, систему уборки, систему питания и интерактивную систему человек-машина 180.
[0046] Корпус робота 110 включает в себя в переднюю часть 111, заднюю часть 112 и имеет почти круглую форму (и передняя, и задняя части имеют круглую форму), либо может иметь другую форму, включая, но не ограничиваясь конструкцией в виде буквы D, в которой передняя часть имеет прямоугольную форму, а задняя часть имеет почти круглую форму, и конструкцией прямоугольного вида, в которой и передняя, и задняя части имеют форму прямоугольника или квадрата.
[0047] Как показано на Фиг. 3, сенсорная система 120 включает в себя расположенное на корпусе робота 110 устройство определения положения 121, расположенные на амортизаторе 122 в передней части 111 корпуса робота 110 датчик столкновения и датчик приближения, расположенный в нижней части корпуса робота датчик обрыва и расположенные внутри корпуса робота магнитометр, акселерометр, гироскоп (Gyro) и дистанциометр (ODO, «одограф»), которые используются для того, чтобы предоставлять в систему управления 130 разную информацию о положении и информацию о состоянии движения робота. Устройство определения положения 121 включает, но не ограничивается видеокамерой и лазерным дальномером (LDS, «прямое лазерное структурирование»).
[0048] Как показано на Фиг. 3, передняя часть 111 корпуса робота 110 может нести на себе амортизатор 122. В процессе уборки, когда модуль приводного колеса 141 перемещает робот по полу, амортизатор 122 с помощью расположенной на нем сенсорной системы, к примеру, с помощью инфракрасного датчика, может обнаруживать одно или несколько событий на маршруте движения устройства автоматической уборки 100. Посредством обнаружения амортизатором 122 такого события, к примеру, препятствия или стены, устройство автоматической уборки 100 может с помощью модуля приводного колеса 141 соответствующим образом реагировать на такое событие, например, удалиться от препятствия.
[0049] Система управления 130 устанавливается на главной плате электрической цепи внутри корпуса робота 110 и включает в себя энергозависимое и/или энергонезависимое запоминающее устройство, к примеру, жесткий диск, флеш-память или запоминающее устройство с произвольным доступом; вычислительный процессор связи, к примеру, центральный процессор или прикладной процессор. Прикладной процессор в соответствии с информацией о препятствиях, полученных в виде обратной связи от лазерного дальномера, с помощью алгоритма позиционирования, например, такого как одновременная локализация и картирование (SLAM, «одновременная локализация и картирование»), создает моментальную карту пространства, в котором находится робот. При этом с учетом информации о расстоянии и скорости, получаемой от установленных на амортизаторе 122 датчиков, включая датчик обрыва, магнитометр, акселерометр, гироскоп, дистанциометр и другие датчики, осуществляется комплексное определение того, в каком текущем рабочем состоянии находится самоходный робот, каково его местоположение и пространственное положение, к примеру, положение на пороге двери, на ковре или у обрыва, заедание вверху или внизу, наполнение пылесборника, положение захвата и т.д. Кроме этого система способна, исходя из ситуации, предлагать конкретную стратегию последующих действий, обеспечивая более полное соответствие работы робота требованиям владельца и улучшая опыт пользователя.
[0050] Как показано на Фиг. 4, система привода 140 на основе команд привода, содержащих информацию о расстоянии и углах (к примеру, о составляющих х, у и θ), управляет перемещением робота 100 по полу. Система привода 140 включает в себя модуль приводного колеса 141, который способен одновременно управлять левым и правым колесом для более точного управления движением робота. Предпочтительно, чтобы модуль приводного колеса 141 включал в себя отдельно модуль левого приводного колеса и модуль правого приводного колеса. Модули левого и правого ведущих колес располагаются противоположно друг другу на поперечной оси, определяемой корпусом 110. Чтобы обеспечить роботу возможность в более устойчивым и более мощном движении по полу, робот также может быть оснащен одним или несколькими ведомыми колесами 142, которые включают в себя, но не ограничиваются всенаправленным колесом. Модуль приводного колеса включает в себя ходовое колесо и приводной двигатель, а также управляющую электрическую цепь, которая осуществляет управление работой приводного двигателя. Модуль приводного колеса также может быть подсоединен к электрической цепи измерения тока возбуждения и дистанциометру. Модуль приводного колеса 141 может разъемным способом присоединяться к корпусу 110, что обеспечивает удобство в его демонтаже и обслуживании. Приводное колесо может иметь опускную подвеску со смещением, посредством мобильной фиксации, например, с помощью поворотного примыкающего соединения, фиксироваться на корпусе робота 110 и принимать на себя пружинное смещение, направленное вниз и в сторону от корпуса робота 110. Пружинное смещение позволяет ведущему колесу с определенным усилием поддерживать контакт с поверхностью пола и тягу, одновременно обеспечивая определенное давление контакта чистящих элементов устройства автоматической уборки 100 с полом 10.
[0051] Система уборки может представлять собой систему сухой уборки и/или систему влажной уборки. В системе сухой уборки основной функционал уборки обеспечивает система уборки 151, конструкция которой включает в себя валиковую щетку, пылесборник, вентилятор, воздуховыпускное отверстие и соединительные элементы, используемые для соединения четырех указанных узлов. Имеющая определенное взаимодействие с поверхностью пола валиковая щетка осуществляет сбор находящегося на поверхности пола мусора и поднимает его к передней части отверстия пылесборника, которое располагается между валиковой щеткой и пылесборником; после чего мусор под действием создаваемого вентилятором и проходящего через пылесборник потока воздуха всасывается в пылесборник. Система сухой уборки также может включать в себя боковую щетку с поворотной осью 152, поворотная ось которой располагается под определенным углом относительно поверхности пола; щетка используется для перемещения мелкого мусора в зону работы валиковой щетки системы уборки.
[0052] Система питания включает в себя аккумуляторную батарею, к примеру, никель-металлогидридный аккумулятор или литиевый аккумулятор. Аккумуляторная батарея может быть подсоединена к электрической цепи управления зарядкой, электрической цепи измерения температуры зарядки аккумуляторного блока и электрической цепи измерения пониженного напряжения аккумулятора; электрическая цепь управления зарядкой, электрическая цепь измерения температуры зарядки аккумуляторного блока и электрическая цепь измерения пониженного напряжения аккумулятора соединяются с электрической цепью управления микроконтроллера. Зарядка главного устройства осуществляется посредством соединения расположенных в боковой и нижней части корпуса электродов зарядки с зарядной станцией. В результате оседания пыли на оголенных частях зарядных электродов в процессе зарядки создается эффект накопления электрического заряда, что приводит к расплавлению и деформации пластмассового корпуса устройства вокруг электродов, вплоть до деформации самих электродов, что в результате приводит к невозможности продолжения пользования функцией зарядки.
[0053] Интерактивная система человек-машина 180 включает в себя кнопки на панели управления главным устройством, которые используются для выбора функций пользователем. Система также может включать в себя дисплей и/или индикаторы и/или динамик; дисплей, индикаторы и динамик показывают пользователю текущее состояние прибора и опции функций. Система также может включать в себя программу мобильного клиентского терминала. Для устройства автоматической уборки с функцией навигации маршрута в мобильном клиентском терминале для пользователя может отображаться карта пространства, в котором находится устройство, а также местоположение робота, за счет этого обеспечивается более богатый и эргономичный набор функций для пользователя.
[0054] Согласно некоторым примерам реализации данного изобретения предложен способ обнаружения препятствий, который используется в вышеописанном самоходном роботе. Посредством установленного в самом самоходном роботе устройства сбора изображений осуществляется получение изображения переднего поля обзора, анализ этого изображения и определение наличия/отсутствия препятствия на этом изображении; в соответствии с результатом идентификации осуществляется управление маршрутом движения самоходного робота.
[0055] На Фиг. 5 представлена последовательность реализации способа. Способ обнаружения препятствий, который применяется в самоходном роботе, в полной мере включает в себя нижеприведенную последовательность реализации способа, при этом порядковые номера шагов последовательности не обязательно должны иметь указанный порядок:
[0056] Шаг S502: информация о препятствии, собранная устройством сбора изображений, конвертируется в информацию о дальности. Устройство сбора изображений может представлять собой видеокамеру или другое соответствующее устройство.
[0057] В среде 3D компьютерной графики или компьютерного зрения информация о дальности объекта представляет собой изображение или канал изображения, которые, в том числе, содержат информацию о расстоянии от поверхности объекта в локации до точки обзора. Уровень серого тона каждого пикселя в изображении дальности можно использовать для отображения дальности расположения какой-либо точки в локации от устройства сбора изображений.
[0058] В том числе, способ получения информации о дальности, может, к примеру, представлять собой бинокулярное объемное зрение. В рамках данного способа с помощью двух расположенных на определенном расстоянии друг от друга видеокамер осуществляется одновременное получение двух изображений одной и той же локации, полученные изображения обрабатываются алгоритмом объемного сопоставления для нахождения соответствующих пиксельных точек. Затем в соответствии с принципом триангуляции выполняется расчет параллактической информации, которая после конвертации может использоваться для получения информации о дальности объекта в локации. На основе метода объемного сопоставления также можно с помощью нескольких изображений одной и той же локации, полученных под разными углами, получить информацию о дальности в данной локации.
[0059] На Фиг. 6 представлена принципиальная схема работы бинокулярного объемного зрения. OL и OR являются соответственно оптическими центрами левой и правой видеокамер, их оптические оси и плоскости формирования изображения представлены на Фиг.6. Предположим, что внутренние и внешние параметры бинокулярных видеокамер абсолютно идентичны, фокусное расстояние задано как f, расстояние между оптическими центрами (базисная линия) задано как В, бинокулярные видеокамеры располагаются на одной плоскости, то есть координаты по оси Y их центров проекции имеют одинаковое значение. Точками отображения пространственной точки Р (x,y,z) на бинокулярных камерах в один и тот же момент времени будут соответственно точки Рлев и Рправ.
[0060] Как показано на Фиг. 7, в соответствии с законом подобия треугольников:
[0061] После преобразования получаем:
[0062] Из вышеприведенной формулы видно, что после определения фокусного расстояния f, базисной линии левой и правой видеокамер b (можно получить с помощью априорной информации или калибровки камер), параллакса d (отношение между пиксельной точкой левой камеры (xl,yl) и соответствующей точкой (xr,yr) в правой камере) становится возможным определить расстояние от пространственной точки Р до самоходного робота (дальность) z.
[0063] Шаг S504: трансформация упомянутой информации о дальности в схему облака точек и определение данных о 3D координатах всех опорных точек упомянутого препятствия. В том числе, под опорной точкой может подразумеваться любая точка на препятствии, расстояние до которой можно измерить, включая, но не ограничиваясь граничными точками препятствия, характерными точками препятствия и т.д.
[0064] Каждый пиксель изображения дальности удовлетворяет системе координат пикселей и системе координат изображения, каждая точка в схеме облака точек удовлетворяет мировой системе координат. Ниже приводится подробное описание принципа преобразования изображение дальности в схему облака точек.
[0065] В процессе формирования изображения видеокамерой используется четыре системы координат: пиксельная система координат, система координат изображения, система координат камеры и мировая система координат. Как показано на Фиг. 8, в пиксельной системе координат левый верхний угол изображения принимается за начало координат О0, а абсциссы (u,v) соответственно представляет количество столбцов и строк пикселей в этом изображении. В системе координат изображения за начало координат принимается точка пересечения оптической оси камеры и плоскости изображения, которая обычно является центром плоскости изображения; ось х располагается параллельно оси u, ось у располагается параллельно оси v. Пусть точка O1 в пиксельной системе координат O0-uv имеет координаты (u0,v0), a dx и dy являются физическими размерами единичного пикселя по горизонтальной и вертикальной осям; тогда между двумя системами координат имеется следующая связь:
[0066] Однородную матрицу можно выразить как:
[0067] В результате дальнейшего преобразования получаем:
[0068] На Фиг. 9 представлена схема принципа формирования изображения камерой. О является оптическим центром камеры, zc является оптической осью камеры, O1 является точкой пересечения оптической оси и плоскости изображения. Система координат 0-xcyczc является системой координат камеры, а система координат 0w-xwywzw является мировой системой координат, расстояние 001 является фокусным расстоянием f камеры.
[0069] Соотношение преобразования по формуле из системы координат камеры в систему координат изображения имеет вид:
[0070] Выразим с использованием однородной матрицы:
[0071] Соотношение преобразования между мировой системой координат и системой координат камеры имеет вид:
[0072] где R - матрица поворота; Т - матрица параллельного переноса.
[0073] Необходимо пояснить, что приведенное выше принципиальное описание представлено исключительно в ознакомительных целях и не является единственным решением, ограничивающим принцип преобразования.
[0074] Шаг S506: в упомянутой схеме облака точек в направлении высоты выбирается эффективный диапазон анализа.
[0075] Высота самоходного робота, как правило, составляет более 10 см, поэтому устройство лазерного измерения расстояния, расположенное в верхней части этого самоходного робота, как правило, может обнаруживать лишь препятствия, имеющие высоту более 10 см. Высота преодоления препятствия самоходного робота составляет 1-2 см, поэтому предпочтительно, чтобы выбранный диапазон высот составлял 3-9 см. В этом случае направление поля обзора видеокамер будет обращено в рабочем направлении самоходного робота в процессе его работы, что обеспечит возможность лазерному дальномеру контролировать слепую зону. В этом случае проведение анализа точек 3D данных в полученной схеме облака точек в диапазоне высот 3-9 см позволит точно определять наличие соответствующего целевого препятствия.
[0076] Шаг S508: в упомянутом эффективном диапазоне анализа, основываясь на данных о координатах всех упомянутых опорных точек, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа.
[0077] Способ в качестве доступного для выбора конкретного способа реализации, когда в упомянутом эффективном диапазоне анализа, основываясь на данных о координатах всех упомянутых опорных точек, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа, может включать в себя следующую последовательность реализации способа:
[0078] Шаг S508-2: если данные координат представляют собой 3D координаты, то выполняется конвертация данных 3D координат всех упомянутых опорных точек в упомянутом эффективном диапазоне анализа в данные 2D координат. Подробное описание процесса конвертации представлено выше и здесь дополнительно не приводится. За счет преобразования 3D данных облака точек в данные 2D координат можно эффективно снизить объем обработки данных и повысить эффективность обработки данных.
[0079] Шаг S508-4: в упомянутом эффективном диапазоне анализа, основываясь на данных 2D координат всех упомянутых опорных точек, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа.
[0080] Используемый в качестве доступного для выбора конкретный способ реализации, когда в упомянутом эффективном диапазоне анализа, основываясь на данных 2D координат всех упомянутых опорных точек, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа, может включать в себя следующую подпоследовательность:
[0081] Шаг S508-4-2: получение карты вероятностей, сформированной в процессе продвижения упомянутого самоходного робота.
[0082] Самоходный робот в процессе продвижения в режиме реального времени осуществляет обнаружение препятствий. В случае обнаружения препятствия на карту добавляется значение вероятности, соответствующее его предварительно оцененному положению. Для части локации, в которой не обнаружено препятствий, рассчитывается соответствующая область карты, значение вероятности в этой области будет более низким.
[0083] Карта вероятности включает в себя текущую оценку среднего значения и изменения вектора состояния системы. Первое показывает положение объекта на карте от имени мировой системы отсчета; второе отображает неточности соответствующих опорных точек на карте, а также степень взаимной зависимости этих неточностей.
[0084] Упомянутая карта вероятностей представляет собой карту, на которой проставляются соответствующие метки о наличии/отсутствии препятствий, определяемых самоходным роботом посредством архивного опыта его многократной оценки данной позиции на наличие/отсутствие препятствий в процессе его продвижения по своей траектории. Одновременно с этим осуществляется маркировка значения вероятности того, является ли эта позиция препятствием; к примеру, значение вероятности существования препятствия в этой позиции может иметь значение 80% или 30%. Карта вероятностей хранится в запоминающем устройстве самого самоходного робота, при этом данные вероятностей и данные о позициях постоянно обновляются в ходе работы самоходного робота.
[0085] Шаг S508-4-4: из данных 2D координат всех упомянутых опорных точек на основе упомянутой карты вероятностей отфильтровываются данные о координатах точек шумовых помех; на основе данных 2D координат всех упомянутых опорных точек, полученных после фильтрации, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа.
[0086] Используемый в качестве доступного для выбора конкретный способ реализации, когда из данных 2D координат всех упомянутых опорных точек на основе упомянутой карты вероятностей отфильтровываются данные о координатах точек шумовых помех, может включать в себя следующую подпоследовательность:
[0087] Шаг S508-4-4-2: получение данных о координатах положения препятствия на упомянутой карте вероятностей, при этом на упомянутой карте вероятностей значение вероятности упомянутого препятствия больше предварительно заданного порогового значения вероятности.
[0088] Выбираемый на карте вероятностей объект в виде препятствия является объектом, значение вероятности которого превышает предварительно заданное пороговое значение. Например, если коэффициент вероятности объекта-препятствия А составляет 50%, а коэффициент вероятности другого объекта-препятствия В составляет 60%, и при этом пороговое значение коэффициента вероятности задано в значении 55%, то будут учитываться данные координат объекта-препятствия В, а объект-препятствие А будет игнорироваться. После определения необходимых для выбора объектов-препятствий на карте вероятностей можно получить данные о координатах каждого объекта-препятствия; например, как В (x1,y1).
[0089] Шаг S508-4-4-4: выполняется сравнение упомянутых данных о координатах положения препятствия и упомянутых данных 2D координат всех опорных точек и в случае, если расстояние между упомянутыми данными о координатах положения препятствия и упомянутыми данными о 2D координатах всех опорных точек превышает предварительно заданное значение, выполняется отфильтровывание упомянутых данных 2D координат.
[0090] Например, выполняется сравнение значения координат В (x1,y1) выбранного на карте вероятностей объекта-препятствия со значением координат С (х0,у0) произвольной точки С из данных, полученных от бинокулярных видеокамер. Если расстояние от данных координат положения упомянутого препятствия до данных 2D координат упомянутых опорных точек превышает предварительно заданное значение, выполняется отфильтровывание упомянутых данных 2D координат; то есть, если точки В (x1,y1) и С (х0,у0) отдалены на достаточное расстояние друг от друга, выполняется отфильтровывание упомянутых данных 2D координат; в этом случае такая точка С (х0,у0) признается шумом. В том числе, предварительно заданное значение может определяться на основе экспериментальных данных; здесь в отношении этого каких-либо ограничений не предусматривается.
[0091] Используемый в качестве доступного для выбора конкретный способ реализации, когда в упомянутом эффективном диапазоне анализа, основываясь на данных 2D координат всех упомянутых опорных точек, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа, может включать в себя следующую последовательность:
[0092] Выполняется кластеризация всех упомянутых опорных точек в упомянутом эффективном диапазоне анализа, при этом точки, расстояние по данным координат которых от соседних опорных точек меньше второго заданного значения, принимаются в качестве отдельной области; определяются размеры каждой отдельной области; в случае, если упомянутый размер больше или равен третьему заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа.
[0093] Как показано на Фиг. 10, к примеру, в диапазоне высот 3-9 см рассчитывается расстояние между координатами каждой находящейся в этом диапазоне на изображении опорной точки и координатами соседней точки, при этом точки, значение расстояния от которых меньше второго предварительно заданного значения, принимаются в качестве отдельной области, например, областей D, Е, F и G. А области Н и К, расстояние в которых превышает предварительно заданное второе значение, определяются как точки-шум. В том числе второе и третье предварительно заданные значения могут настраиваться в зависимости от размера пикселя, здесь каких-либо ограничений не приводится.
[0094] Затем определяются размеры каждой отдельной области; в случае, если упомянутый размер больше или равен третьему заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа. Упомянутый размер отдельной области может включать в себя как минимум один из следующих параметров: площадь каждой отдельной области, диаметр каждой отдельной области (диаметр области может быть измерен, если форма области приближена к форме круга), минимальное расстояние через геометрический центр каждой отдельной области. Как показано на Фиг. 10, в отношении областей D, Е, F и G можно сделать вывод о том, что они относятся к препятствиям, при этом каждая точка в области является точкой поверхности препятствия. В то же время можно сделать вывод о том, что области Ни К не являются препятствиями.
[0095] Используемый в качестве другого доступного для выбора конкретный способ реализации, когда в упомянутом эффективном диапазоне анализа, основываясь на данных координат всех упомянутых опорных точек, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа, может включать в себя следующую последовательность:
[0096] Выполняется кластеризация всех упомянутых опорных точек в упомянутом эффективном диапазоне анализа, при этом все точки, расстояние по данным 3D координат которых от соседних точек меньше четвертого заданного значения, принимаются в качестве отдельных объемных областей; определяются размеры каждой отдельной объемной области; в случае, если упомянутый размер больше или равен пятому заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа.
[0097] К примеру, в диапазоне высот 3-9 см рассчитывается расстояние между координатами каждой находящейся в этом диапазоне опорной точки и координатами соседней точки в диапазоне 3D пространства, при этом точки, расстояние которых от соседних точек меньше четвертого заданного значения, принимаются в качестве отдельной области; после прослеживания всех координатных точек последовательно определяются размеры каждой отдельной объемной области, если упомянутый размер больше или равен пятому заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа. Упомянутый размер отдельной области может включать в себя как минимум один из следующих параметров: объем каждой отдельной области, диаметр каждой отдельной области (диаметр области может быть измерен, если форма области приближена к форме круга), минимальное расстояние через геометрический центр каждой отдельной области, высота отдельной области. В том числе четвертое и пятое предварительно заданные значения могут настраиваться в зависимости от размера пикселя, здесь каких-либо ограничений не приводится.
[0098] Способ в качестве доступного для выбора конкретного способа реализации, когда выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа, затем может включать в себя следующее:
[0099] Шаг S510: в случае наличия препятствия в упомянутом эффективном диапазоне анализа выполняется определение того, является ли диапазон размера упомянутого препятствия меньше предварительно заданного порогового значения; в случае, если диапазон размера упомянутого препятствия меньше предварительно заданного порогового значения, то при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения боковой щетки.
[00100] Согласно упомянутой последовательности реализации способа можно определить, является ли объект препятствием; далее, в соответствии с размером площади отдельной области можно определить размер препятствия и с учетом экспериментальных данных задать предварительно заданное пороговое значение, которое может представлять собой площадь или количество пикселей в отдельной области, каких-либо конкретных ограничений к предельному значению не применяется. В случае превышения данного порогового значения объект относится к крупногабаритным препятствиям, в противном случае объект относится к малогабаритным препятствиям. В отношении малогабаритных препятствий можно не применять обход препятствия, при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения боковой щетки, чтобы предотвратить отбрасывание малогабаритного препятствия во внешнюю среду. В отношении крупногабаритных препятствий при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется операция обхода препятствия.
[00101] Согласно некоторым примерам реализации данного изобретения предложен способ обнаружения препятствий; в рамках данного способа с помощью дальностного изображения, полученного самоходным роботом в определенном диапазоне высот, выполняется преобразование координат и кластеризацию данных дальностного изображения и на основании этого точно определяется наличие/отсутствие препятствия в текущем дальностном изображении. Данный способ позволяет выполнять обнаружение любых предметов, располагающихся на маршруте движения самоходного робота, устраняет имеющееся на предыдущем уровне техники ограничение, связанное с типом обнаруживаемых препятствий, устраняет недостаток, связанный с высотой обнаружения препятствий лазерным устройством, способствует дальнейшему улучшению способностей самоходного робота в обнаружении препятствий и повышает способности самоходного робота в обходе препятствий.
[00102] На Фиг. 11, согласно некоторым примерам реализации данного изобретения, представлен способ обнаружения препятствий по другому примеру реализации данного изобретения, который применяется в самоходном роботе и может включать в себя следующую последовательность реализации способа:
[00103] Шаг S1102: информация о препятствии, собранная устройством сбора изображений, конвертируется в информацию о дальности.
[00104] Описание процесса данного шага представлено в описании шага S502 приведенного выше примера реализации и здесь дополнительно не приводится.
[00105] Шаг S1104: упомянутая информация о дальности трансформируется в схему облака точек, в упомянутой схеме облака точек выбирается эффективный диапазон анализа;
[00106] Описание процесса трансформации упомянутой информации о дальности в схему облака точек представлено в описании шага S504, описание процесса выбора эффективного диапазона анализа в упомянутой схеме облака точек представлено в описание шага S5011, здесь дополнительно не приводится.
[00107] Шаг S1108: выполняется определение наличия/отсутствия препятствия в упомянутом эффективном диапазоне анализа и, опираясь на упомянутые размеры препятствия, выполняется соответствующая навигация.
[00108] Используемый в качестве одного из способов реализации способ, когда, в том числе, выполняется определение наличия/отсутствия препятствия в упомянутом эффективном диапазоне анализа, может включать в себя следующую подпоследовательность:
[00109] Шаг S1108-1: выполняется кластеризация всех упомянутых опорных точек в упомянутом эффективном диапазоне анализа;
[00110] Шаг S1108-2: точки, расстояние по данным координат которых от соседних опорных точек меньше второго заданного значения, принимаются в качестве отдельной области;
[00111] Шаг S1108-3: определяются размеры каждой отдельной области;
[00112] Шаг S1108-4: в случае, если упомянутый размер отдельной области больше или равен третьему заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа. По выбору, упомянутый размер отдельной области может включать в себя как минимум один из следующих параметров: площадь/объем каждой отдельной области, диаметр каждой отдельной области, минимальное расстояние через геометрический центр каждой отдельной области.
[00113] Используемая в качестве одного из способов реализации навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, может включать в себя следующее: в случае, если диапазон размеров упомянутого препятствия меньше предварительно заданного порогового значения, то при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения боковой щетки.
[00114] Например, для препятствий, имеющих относительно малые размеры, можно выбирать относительно большое расстояние обхода препятствия, чтобы минимизировать вероятность отбрасывания этого препятствия во внешнюю среду с близкого расстояния. Говоря конкретно, в соответствии с размером площади отдельной области можно определить размер препятствия и с учетом экспериментальных данных задать предварительно заданное пороговое значение, которое может представлять собой площадь или количество пикселей в отдельной области, каких-либо конкретных ограничений к предельному значению не применяется. В случае превышения данного порогового значения объект относится к крупногабаритным препятствиям, в противном случае объект относится к малогабаритным препятствиям. В отношении малогабаритных препятствий можно не применять обход препятствия, при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения боковой щетки, чтобы предотвратить отбрасывание малогабаритного препятствия во внешнюю среду.
[00115] Используемая в качестве одного из способов реализации навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, также может включать в себя следующее: в соответствии с размером упомянутого препятствия или диапазоном, в котором находится этот размер, выполняется определение расстояния до этого препятствия, и при приближении упомянутом самоходным роботом на упомянутое расстояние от препятствия начинается выполнение стратегии обхода препятствия.
[00116] В отношении крупногабаритных препятствий, которые превышают предварительно заданное пороговое значение, при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется операция обхода препятствия. В обычных условиях, чем больше определяемый размер препятствия, тем меньше расстояние, на котором начинается выполнение обхода препятствия; потому что чем больше препятствие, тем меньше влияния оказывает на него боковая щетка, вплоть до того, что двигающийся робот может просто пройти вдоль препятствия.
[00117] Используемая в качестве одного из способов реализации навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, может конкретно включать в себя следующее: в случае, если определено, что высота упомянутого препятствия больше предварительно заданной высоты, выполняется стратегия обхода препятствия. Таким образом, выполнение уклона от препятствия требуется только в отношении препятствий, высота которых превышает определенное числовое значение. При относительно небольшой высоте имеется возможность просто переехать это препятствие, что позволяет еще более уменьшить площадь, недоступную для уборки.
[00118] Как показано на Фиг. 12, согласно некоторым примерам реализации данного изобретения, представлено устройство для обнаружения препятствий, используемое для выполнения последовательности способа, упомянутого в описанном выше примере реализации. Другие аналогичные последовательности реализации способа имеют аналогичный технический эффект и здесь дополнительно не описываются. Говоря конкретно, упомянутое устройство для обнаружения препятствий может включать в себя следующее:
[00119] Блок конвертации 1202, который используется для конвертации информации о препятствии, собранной устройством сбора изображений, в информацию о дальности.
[00120] Блок трансформации 1204, который используется для трансформации упомянутой информации о дальности в схему облака точек и определения данных о координатах всех опорных точек упомянутого препятствия.
[00121] Блок определения 1206, который используется для выбора эффективного диапазона анализа в упомянутой схеме облака точек в направлении высоты.
[00122] Блок анализа 1208, который используется для выполнения в упомянутом эффективном диапазоне анализа, основываясь на данных о координатах всех упомянутых опорных точек, анализа наличия/отсутствия препятствий в упомянутом эффективном диапазоне анализа.
[00123] По выбору, упомянутый блок анализа 1208 также может использоваться для выполнения конвертации данных 3D координат всех упомянутых опорных точек в упомянутом эффективном диапазоне анализа в данные 2D координат. В упомянутом эффективном диапазоне анализа, основываясь на данных 2D координат всех упомянутых опорных точек, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа.
[00124] По выбору, упомянутый блок анализа 1208 также может использоваться для следующего: выполняется получение карты вероятностей, сформированной упомянутым самоходным роботом в процессе продвижения; из данных 2D координат всех упомянутых опорных точек на основе упомянутой карты вероятностей отфильтровываются данные о координатах точек шумовых помех; на основе данных 2D координат всех упомянутых опорных точек, полученных после фильтрации, выполняется анализ на наличие/отсутствие препятствий в упомянутом эффективном диапазоне анализа.
[00125] По выбору, упомянутый блок анализа 1208 также может использоваться для следующего: выполняется получение данных о координатах положения препятствия на упомянутой карте вероятностей, при этом на упомянутой карте вероятностей значение вероятности упомянутого препятствия больше предварительно заданного порогового значения вероятности; выполняется сравнение упомянутых данных о координатах положения препятствия и упомянутых данных 2D координат всех опорных точек и в случае, если расстояние между упомянутыми данными о координатах положения препятствия и упомянутыми данными о 2D координатах всех опорных точек превышает предварительно заданное значение, выполняется отфильтровывание упомянутых данных 2D координат.
[00126] По выбору, упомянутый блок анализа 1208 также может использоваться для следующего: выполняется кластеризация всех упомянутых опорных точек в упомянутом эффективном диапазоне анализа, при этом точки, расстояние по данным координат которых от соседних точек меньше второго заданного значения, принимаются в качестве отдельной области; определяются размеры каждой отдельной области; в случае, если упомянутый размер больше или равен третьему заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа. Упомянутый размер отдельной области может включать в себя как минимум один из следующих параметров: площадь/объем каждой отдельной области, диаметр каждой отдельной области, минимальное расстояние через геометрический центр каждой отдельной области.
[00127] Также может включать в себя следующее: блок управления (на схеме отсутствует), который в случае наличия препятствия в упомянутом эффективном диапазоне анализа используется для определения того, является ли диапазон размера упомянутого препятствия меньше предварительно заданного порогового значения; в случае, если диапазон размера упомянутого препятствия меньше предварительно заданного порогового значения, то при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения боковой щетки; в случае, если диапазон размеров упомянутого препятствия больше или равен предварительно заданному пороговому значению, при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется операция обхода препятствия.
[00128] Согласно некоторым примерам реализации данного изобретения, представлено устройство для обнаружения препятствий, которое использует бинокулярные камеры самоходного робота, чтобы получить дальностное изображение в определенном диапазоне высот, а затем посредством преобразования координат, кластеризации данных и другой обработки данных дальностного изображения точно определяет наличие/отсутствие препятствий в текущем дальностном изображении. Данный способ позволяет выполнять обнаружение любых предметов, располагающихся на маршруте движения самоходного робота, устраняет имеющееся на предыдущем уровне техники ограничение, связанное с типом обнаруживаемых препятствий, устраняет недостаток, связанный с высотой обнаружения препятствий лазерным устройством, способствует дальнейшему улучшению способностей самоходного робота в обнаружении препятствий и повышает способности самоходного робота в обходе препятствий.
[00129] Как показано на Фиг. 13, согласно некоторым примерам реализации данного изобретения, представлено устройство для обнаружения препятствий, используемое для выполнения последовательности способа, упомянутого в описанном выше примере реализации. Другие аналогичные последовательности реализации способа имеют аналогичный технический эффект и здесь дополнительно не описываются. Говоря конкретно, упомянутое устройство для обнаружения препятствий может включать в себя следующее:
[00130] Блок конвертации изображений 1302, который используется для конвертации информации о препятствии, собранной устройством сбора изображений, в информацию о дальности.
[00131] Блок трансформации изображений 1304, который используется для трансформации упомянутого дальностного изображения в схему облака точек и определения данных о координатах всех опорных точек упомянутого препятствия.
[00132] Блок выбора диапазона 1306, который используется для выбора эффективного диапазона анализа в упомянутой схеме облака точек.
[00133] Блок выполнения навигации 1308, который используется для определения наличия/отсутствия препятствия в упомянутом эффективном диапазоне анализа и, опираясь на упомянутые размеры препятствия, осуществления соответствующей навигации.
[00134] Используемый в качестве одного из способов реализации блок выполнения навигации 1308, который также используется для следующего: выполняется кластеризация всех упомянутых опорных точек в упомянутом эффективном диапазоне анализа, при этом точки, расстояние по данным координат которых от соседних точек меньше второго заданного значения, принимаются в качестве отдельной области; определяются размеры каждой отдельной области; в случае, если упомянутый размер отдельной области больше или равен третьему заданному значению, подтверждается наличие препятствия в упомянутом эффективном диапазоне анализа. По выбору, упомянутый размер отдельной области может включать в себя как минимум один из следующих параметров: площадь/объем каждой отдельной области, диаметр каждой отдельной области, минимальное расстояние через геометрический центр каждой отдельной области, высота отдельной области.
[00135] Используемая в качестве одного из способов реализации навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, может включать в себя следующее: в случае, если диапазон размеров упомянутого препятствия меньше предварительно заданного порогового значения, то при входе упомянутым самоходным роботом в предварительно заданный диапазон расстояния от упомянутого препятствия выполняется снижение скорости вращения боковой щетки.
[00136] Используемая в качестве одного из способов реализации навигация, которая осуществляется, опираясь на упомянутые размеры препятствия, также может включать в себя следующее: в соответствии с размером упомянутого препятствия или диапазоном, в котором находится этот размер, выполняется определение расстояния до этого препятствия, и при приближении упомянутом самоходным роботом на упомянутое расстояние от препятствия начинается выполнение стратегии обхода препятствия.
[00137] Согласно некоторым примерам реализации данного изобретения, представлен машиночитаемый носитель для хранения данных, в котором хранятся команды компьютерной программы; вызов и исполнение упомянутых команд компьютерной программы процессором приводит к реализации последовательности любого из упомянутых выше способов.
[00138] Согласно некоторым примерам реализации данного изобретения, представлен робот, который включает в себя процессор и запоминающее устройство, в упомянутом запоминающем устройстве сохраняются все команды компьютерной программы, которые могут быть выполнены процессором, а выполнение упомянутым процессором упомянутых команд компьютерной программы приводит к реализации последовательности любого из упомянутых выше способов.
[00139] Как показано на Фиг. 14, робот может включать в себя обрабатывающее устройство (к примеру, центральный процессор, графический процессор и т.п.) 1401, который может в соответствии с программой, хранящейся на постоянном запоминающем устройстве (ROM) 1402, или программой, загружаемой из запоминающего устройства 1408 в оперативную память (RAM) 1403, выполнять соответствующие операции или обработку. В оперативной памяти (RAM) 1403 также хранятся разные программы и данные, необходимые для работы электронного робота 1400. Устройство обработки 1401, постоянное запоминающее устройство ROM 1402 и оперативная память RAM 1403 взаимно соединены общей шиной 1404. Порт ввода/вывода (I/O) 1405 также подсоединен к общей шине 1404.
[00140] Как правило, к порту I/O 1405 могут подключаться следующие устройства: включая, к примеру, сенсорный дисплей, сенсорную панель, клавиатуру, мышь, видеокамеру, микрофон, акселерометр, гироскоп и другое устройство ввода 1406; включая, к примеру, жидкокристаллический дисплей (LCD), динамик и виброузел, и другое устройство вывода 1407; включая, к примеру, жесткий диск и другое запоминающее устройство 1408; и устройство связи 1409. Устройство связи 1409 может разрешать электронному роботу выполнять обмен данных по беспроводному или проводному каналу связи с другими роботами. Несмотря на то, что на Фиг. 14 изображен электронный робот, оснащенный различными устройствами, тем не менее, следует понимать, что реализация или наличие всех показанных устройств не является обязательным требованием. В порядке альтернативы может быть реализовано или использовано большее или меньшее количество устройств.
[00141] В частности, в соответствии с примером реализации данного изобретения процесс, описанный в приведенной выше справочной схеме технологического процесса, может быть реализован в виде компьютерной программы для робота. Например, пример реализации данного изобретения может включать в себя программный продукт для робота, который включает хранящуюся на машиночитаемом носителе компьютерную программу; данная компьютерная программа содержит программный код, который используется для реализации способов, представленных на схеме технологического процесса. В таком примере реализации данная компьютерная программа может быть установлена после скачивания из сети посредством устройства связи 1409 или может быть установлена из запоминающего устройства 1408 или из постоянного запоминающего устройства ROM 1402. Выполнение данной компьютерной программы устройством обработки 1401 приводит к выполнению упомянутого функционала, ограниченного методом, реализуемым согласно примеру реализации данного изобретения.
[00142] Необходимо отметить, что упомянутый машиночитаемый носитель по данному изобретению может представлять собой машиночитаемый носитель в виде сигнала, машиночитаемый носитель для хранения или любую комбинацию двух вышеупомянутых носителей. Машиночитаемый носитель для хранения данных может, к примеру, представлять собой, но не ограничиваться электрической, магнитной, оптической, электромагнитной, инфракрасной или полупроводниковой системой, устройством или прибором, или представлять собой любое сочетание из вышеперечисленных средств. Более конкретный пример машиночитаемого носителя для хранения данных может включать в себя, но не ограничиваться следующим: иметь электрическое соединение с одним или несколькими проводами, портативный компьютерный диск, жесткий диск, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), стираемое программируемое постоянное запоминающее устройство (EPROM или флэш-память), оптическое волокно, портативное постоянное запоминающее устройство в виде компакт-диска (CD-ROM), оптическое запоминающее устройство, магнитное запоминающее устройство или представлять собой любое сочетание из вышеперечисленных средств. В данном изобретении машиночитаемый носитель для хранения данных может являться любым материальным носителем, который содержит или хранит программу, используемую системой, устройством или прибором выполнения команд или их сочетанием. В настоящем раскрытии машиночитаемый носитель в виде сигнала может включать в себя сигнал данных, распространяемый в основной полосе частот или как часть несущей волны и несущий машиночитаемый программный код. Распространяемый сигнал данных такого типа может использовать разные формы включая, но не ограничиваясь электромагнитным сигналом, оптическим сигналом или любым соответствующим сочетанием вышеуказанных сигналов. Машиночитаемый носитель в виде сигнала также может представлять собой любой машиночитаемый носитель, помимо машиночитаемого носителя для хранения данных, который способен осуществлять отправку, распространение или передачу программы, используемой системой, устройством или прибором выполнения команд или их сочетанием. Содержащийся в машиночитаемом носителе программный код может передаваться с помощью любой соответствующей среды, включая, но не ограничиваясь следующим: электрический кабель, волоконно-оптический кабель, радиочастота и т.п., или с помощью любого сочетания вышеуказанных средств.
[00143] Упомянутый машиночитаемый носитель может размещаться в упомянутом роботе, либо может располагаться отдельно и не являться комплектной составляющей данного робота.
[00144] Код компьютерной программы, который может быть написан на одном или нескольких языках программирования или в их сочетании и предназначенный для выполнения операций по данному изобретению; упомянутые языки программирования могут включать в себя языки объектно-ориентированного программирования, например, Java, Smalltalk, С++, а также могут включать в себя обычные процедурные языки программирования, такие как язык «С» или языки программирования подобного типа. Программный код может полностью выполняться на компьютере пользователя, частично выполняться на компьютере пользователя, выполняться в качестве отдельного программного пакета, выполняться частично на компьютере пользователя и частично на удаленном компьютере или полностью выполняется на удаленном компьютере или сервере. В ситуациях, имеющих отношение к удаленному компьютеру, удаленный компьютер может быть подключен к компьютеру пользователя через любую сеть, в том числе через локальную сеть (LAN) или глобальную сеть (WAN), либо может быть подключен к внешнему компьютеру (например, по сети интернет с помощью интернет-провайдера).
[00145] Представленные на изображении схемы технологических процессов и блок-схемы графически изображают системную структуру функционал и работу, которые могут быть реализованы системой, способом или компьютерной программой по любому примеру реализации данного изобретения. В этом отношении каждый блок в схеме технологического процесса или блок-схеме может представлять определенный модуль, программный сегмент или часть кода, содержащие один или несколько выполняемых команд, которые используются для реализации определенной логической функции. Также следует обратить внимание на то, что в некоторых альтернативных вариантах реализации указанные в блоках функции могут появляться в порядке, отличном от порядка, указанного на изображениях. К примеру, два отображенных один за другим блока фактически могут выполняться параллельно или иногда выполняться в обратном порядке, в зависимости от задействованного функционала. Также следует обратить внимание на то, что каждый блок в блок-схеме и/или схеме технологического процесса, равно как и сочетание этих блоков, могут реализовываться посредством выполнения определенных функций или специальной операционной системой на основе аппаратного обеспечения, либо могут реализовываться с использованием сочетания специального аппаратного обеспечения и компьютерных команд.
[00146] Вышеописанные примеры реализации устройства носят исключительно иллюстративный характер, в том числе модули, упомянутые как раздельные компоненты, могут являться или не являться физически разделенными, а компоненты, отображаемые как модули, могут являться или не являются физическими модулями, то есть могут располагаться как в одном определенном месте, так и быть распределены по нескольким компонентам сети. Чтобы реализовать цель примеров реализации изобретения, в зависимости от фактической необходимости можно выбрать несколько модулей или все модули. Обычный технический персонал данной сферы, без использования изобретательского труда, может понять и реализовать указанные цели.
[00147] В завершении также следует указать, что вышеприведенные примеры реализации используются исключительно для описания технических решений данного изобретения и не создают для данного изобретения каких-либо ограничений; несмотря на то, что настоящее изобретение было подробно описано со ссылкой на вышеприведенные примеры реализации, технический персонал данной сферы должен понимать, что он, тем не менее, может модифицировать представленные в вышеприведенных примерах реализации технические решения или заменять часть содержащиеся в них технических характеристик на другие эквивалентные характеристики, при этом все произведенные модификации и замены не отходят от сущности и сферы технических решений примеров реализации настоящего изобретения.
название | год | авторы | номер документа |
---|---|---|---|
ОБРАБОТКА ОБЛАКА ТОЧЕК | 2019 |
|
RU2767775C1 |
Способ обработки данных и система технического зрения для роботизированного устройства | 2021 |
|
RU2782662C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/РЕКОНСТРУКЦИИ АТРИБУТОВ ТОЧЕК ОБЛАКА ТОЧЕК | 2019 |
|
RU2803766C2 |
СПОСОБ ЛОКАЛИЗАЦИИ РОБОТА В ПЛОСКОСТИ ЛОКАЛИЗАЦИИ | 2015 |
|
RU2662913C2 |
СПОСОБ И СИСТЕМА ПРЕДИКТИВНОГО ИЗБЕГАНИЯ СТОЛКНОВЕНИЯ МАНИПУЛЯТОРА С ЧЕЛОВЕКОМ | 2018 |
|
RU2685996C1 |
УСТРОЙСТВО УПРАВЛЕНИЯ ВЫСОКОАДАПТИВНЫМ АВТОНОМНЫМ МОБИЛЬНЫМ РОБОТОМ | 2019 |
|
RU2705049C1 |
СПОСОБ ТРЕКИНГА ОБЪЕКТОВ НА ЭТАПЕ РАСПОЗНАВАНИЯ ДЛЯ БЕСПИЛОТНЫХ АВТОМОБИЛЕЙ | 2022 |
|
RU2798739C1 |
СПОСОБ ИНСПЕКЦИИ ГОРНОГО ОБОРУДОВАНИЯ | 2020 |
|
RU2815329C1 |
Способ трехмерной реконструкции резьбы отверстий под шпильки главного разъёма корпуса реактора и автоматической идентификации дефектов | 2022 |
|
RU2791416C1 |
СПОСОБ И СИСТЕМА АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ ТРЕХМЕРНЫХ МОДЕЛЕЙ ГОРОДОВ | 2017 |
|
RU2638638C1 |
Изобретение относится к области самоходных роботов. Технический результат заключается в повышении точности обнаружения препятствий самоходным роботом. Способ обнаружения препятствий, который применяется в самоходном роботе, содержит: конвертацию информации о препятствии в информацию о дальности; трансформацию упомянутой информации о дальности в схему облака точек и определение данных о координатах опорной точки упомянутого препятствия; определение эффективного диапазона анализа в направлении высоты в упомянутой схеме облака точек; и определение, на основе данных о координатах опорной точки, имеется ли препятствие в упомянутом эффективном диапазоне анализа; в случае наличия препятствия в упомянутом эффективном диапазоне анализа, определение, является ли размер препятствия меньшим предварительно заданного порогового значения; и, если размер препятствия меньше предварительно заданного порогового значения, управление самоходным роботом для снижения скорости вращения боковой щетки, когда самоходный робот находится в пределах предварительно заданного диапазона расстояний от препятствия. 5 н. и 9 з.п. ф-лы, 14 ил.
1. Способ обнаружения препятствий, который применяется в самоходном роботе, содержащий:
конвертацию информации о препятствии в информацию о дальности;
трансформацию упомянутой информации о дальности в схему облака точек и определение данных о координатах опорной точки упомянутого препятствия;
определение эффективного диапазона анализа в направлении высоты в упомянутой схеме облака точек; и
определение, на основе данных о координатах опорной точки, имеется ли препятствие в упомянутом эффективном диапазоне анализа;
в случае наличия препятствия в упомянутом эффективном диапазоне анализа, определение, является ли размер препятствия меньшим предварительно заданного порогового значения; и,
если размер препятствия меньше предварительно заданного порогового значения, управление самоходным роботом для снижения скорости вращения боковой щетки, когда самоходный робот находится в пределах предварительно заданного диапазона расстояний от препятствия.
2. Способ по п. 1, в котором определение, на основе данных о координатах опорной точки, имеется ли препятствие в эффективном диапазоне анализа, включает в себя:
конвертацию данных 3D координат опорной точки в упомянутом эффективном диапазоне анализа в данные 2D координат; и
определение, на основе данных 2D координат опорной точки, имеется ли препятствие в упомянутом эффективном диапазоне анализа.
3. Способ по п. 2, в котором определение, на основе данных координат опорной точки, имеется ли препятствие в эффективном диапазоне анализа, также включает в себя:
получение карты вероятностей, сформированной в процессе продвижения упомянутого самоходного робота; и
отфильтровывание данных о координатах точки шумовых помех из данных 2D координат каждой опорной точки на основе упомянутой карты вероятностей.
4. Способ по п. 3, в котором отфильтровывание данных о координатах точки шумовых помех из данных 2D координат опорной точки на основе карты вероятностей включает в себя:
получение данных о координатах положения препятствия на упомянутой карте вероятностей, при этом на упомянутой карте вероятностей значение вероятности упомянутого препятствия больше предварительно заданного порогового значения вероятности; и
сравнение упомянутых данных о координатах положения препятствия и упомянутых данных 2D координат опорной точки и отфильтровывание упомянутых данных 2D координат, если определено, что расстояние между упомянутыми данными о координатах положения препятствия и упомянутыми данными 2D координат опорной точки превышает первое предварительно заданное значение.
5. Способ по любому из пп. 1-4, в котором определение, на основе данных 2D координат опорной точки, имеется ли препятствие в упомянутом эффективном диапазоне анализа, включает в себя:
кластеризацию опорной точки в эффективном диапазоне анализа, при этом все опорные точки, расстояние по данным координат которых от соседних опорных точек меньше второго заданного значения, принимают в качестве отдельной области; и
определение размера соответствующей отдельной области и, если размер отдельной области больше или равен третьему заданному значению, определение наличия препятствия в упомянутом эффективном диапазоне анализа.
6. Способ по п. 5, в котором упомянутый размер отдельной области включает как минимум один из следующих параметров:
площадь/объем отдельной области, диаметр отдельной области, минимальное расстояние через геометрический центр отдельной области.
7. Способ обнаружения препятствий, который применяется в самоходном роботе, содержащий:
конвертацию информации о препятствии в информацию о дальности;
трансформацию информации о дальности в схему облака точек и выбор эффективного диапазона анализа в упомянутой схеме облака точек; и,
если определено наличие препятствия в упомянутом эффективном диапазоне анализа, выполнение навигации в соответствии с размерами препятствия;
при этом выполнение навигации в соответствии с размерами препятствия включает в себя следующее:
если определено, что размер препятствия меньше предварительно заданного порогового значения, то самоходным роботом управляют для снижения скорости вращения боковой щетки, когда самоходный робот находится в пределах предварительно заданного диапазона расстояний от препятствия.
8. Способ по п. 7, в котором выполнение навигации в соответствии с размерами препятствия включает в себя:
определение расстояния до препятствия в соответствии с размером или диапазоном размеров упомянутого препятствия и управление самоходным роботом для начала выполнения стратегии обхода препятствия при приближении к препятствию на упомянутое расстояние.
9. Способ по п. 7, также включающий в себя:
определение данных о координатах опорной точки упомянутого препятствия;
кластеризацию опорной точки в упомянутом эффективном диапазоне анализа, при этом опорные точки, расстояние по данным координат которых от соседних опорных точек меньше второго заданного значения, принимают в качестве отдельной области;
определение размера соответствующей отдельной области; и
если размер упомянутой отдельной области больше или равен третьему заданному значению, определение наличия препятствия в упомянутом эффективном диапазоне анализа.
10. Способ по п. 9, в котором упомянутый размер отдельной области включает как минимум один из следующих параметров:
площадь/объем отдельной области, диаметр отдельной области, минимальное расстояние через геометрический центр отдельной области, высота отдельной области.
11. Способ по п. 10, в котором выполнение навигации в соответствии с размерами препятствия включает в себя:
если определено, что высота упомянутого препятствия больше предварительно заданной высоты, выполнение стратегии обхода препятствия.
12. Устройство для обнаружения препятствий, которое применяется в самоходном роботе, содержащее:
блок конвертации, выполненный с возможностью конвертации информации о препятствии в информацию о дальности;
блок трансформации, выполненный с возможностью трансформации упомянутой информации о дальности в схему облака точек и определения данных о координатах опорной точки упомянутого препятствия;
блок определения, выполненный с возможностью определения эффективного диапазона анализа в направлении высоты в упомянутой схеме облака точек;
блок анализа, выполненный с возможностью определения, в упомянутом эффективном диапазоне анализа на основе данных о координатах опорной точки, имеется ли препятствие в упомянутом эффективном диапазоне анализа; и
блок управления, выполненный с возможностью определения того, является ли размер препятствия меньшим предварительно заданного порогового значения, в случае наличия препятствия в упомянутом эффективном диапазоне анализа, и управления самоходным роботом для снижения скорости вращения боковой щетки, когда самоходный робот находится в пределах предварительно заданного диапазона расстояний от препятствия, если размер препятствия меньше предварительно заданного порогового значения.
13. Самоходный робот, который включает в себя процессор и запоминающее устройство, при этом в упомянутом запоминающем устройстве хранятся команды компьютерной программы, исполняемые процессором, и исполнение упомянутым процессором упомянутых команд компьютерной программы приводит к реализации этапов способа по любому из пп. 1-11.
14. Машиночитаемый носитель для хранения данных, на котором хранятся команды компьютерной программы, при этом вызов и исполнение упомянутых команд компьютерной программы процессором приводит к реализации этапов способа по любому из пп. 1-11.
CN 107491070 A, 19.12.2017 | |||
CN 107928566 A, 20.04.2018 | |||
JP 5452442 B2, 26.03.2014 | |||
Способ и устройство для уборки | 2017 |
|
RU2673857C1 |
JP 2004033340 A, 05.02.2004. |
Авторы
Даты
2024-05-08—Публикация
2021-04-08—Подача