Способ навигации мобильного сервисного робота
MOBILE ROBOT SERVICE NAVIGATION METHOD

Изобретение относится к области робототехники, а именно к способам навигации мобильного сервисного робота, осуществляющего технологические функции на коммерческих объектах, в частности, операции, связанные с инвентаризацией.
Известно изобретение «Система и способ навигации робота» (патент CN №108375976 от 22.01.2018).
Система содержит следующие программные модули:
- модуль устранения ошибок, использующийся для устранения накопленных ошибок, сгенерированных в процессе построения карты, посредством обнаружения с обратной связью с использованием картографического алгоритма;
- модуль глобального планирования пути, использующийся для выполнения глобального планирования пути на построенной карте с использованием быстрого алгоритма обхода случайного дерева;
- модуль локального планирования пути, использующийся для выполнения локального планирования пути на построенной карте с использованием алгоритма локального динамического окна для предотвращения столкновения с препятствиями;
- модуль устранения ошибок, содержащий:
-- блок построения подкарт с обратной связью, представляющий подкарты в виде сетки, в узлах которой находится вероятность нахождения препятствия в данном узле сетки;
-- блок сопоставления текущего скана сканирующего устройства с текущей подкартой для определения положения и ориентации устройства относительно текущей подкарты, которое максимизирует оценку правдоподобия соответствия между текущим сканом и вероятностной подкартой с помощью оптимизационного решателя CERES;
- блок глобальной оптимизации, который используется для оптимизации положения всех подкарт относительно друг друга и позиций сканирующего устройства с использованием метода SPA (sparsepose adjustment);
- блок устранения кумулятивных ошибок, использующий метод ветвей и границ со стратегией поиска в глубину, для нахождения позиции и ориентации сканирующего устройства относительно ближайших подкарт;
-- блок построения вспомогательной карты, который используется для определения, была занята точка сетки или нет; и если нет, то дальнейшие действия осуществляются в зависимости от достижения или не достижения порогового значения вероятности занятости для каждой точки сетки подкарт.
Целью функционирования модуля глобального планирования пути данной системы навигации не является построение пути для планомерного обследования площади помещения с целью поиска и распознавания стационарных и нестационарных стеллажей с товарами.
Способ навигации робота включает использование быстрого алгоритма обхода случайного дерева для планирования глобальных маршрутов на построенной карте.
Планирование глобальных маршрутов в данной системе и способе навигации робота не включает построение пути для планомерного обследования площади помещения с целью поиска и распознавания стационарных и нестационарных стеллажей с товарами.
Известен способ отслеживания уровня запаса товаров в магазине (заявка US №20170193434 от 09.11.2016), включающий:
- начало движения роботизированной системы для определения расположения комплекта стеллажей внутри магазина во время цикла сканирования; прием от роботизированной системы набора изображений, каждое из которых записывается роботизированной системой в течение цикла сканирования и соответствует одной путевой точке в наборе путевых точек маршрута, расположенных вдоль комплекта стеллажей; идентификацию в наборе изображений набора пустых ячеек в комплекте стеллажных конструкций; идентификацию товара, соответствующего каждой пустой ячейке в наборе пустых ячеек, на основе назначений местоположения товара; для первого товара, соответствующего первой пустой ячейке в наборе пустых ячеек, генерирование первого запроса на пополнение первой пустой ячейки единицей первого товара в течение цикла сканирования; по завершении цикла сканирования - формирование глобального списка пополнения запасов; определение размера пополнения второго поднабора пустых ячеек в наборе пустых ячеек, причем каждой пустой ячейке во втором подмножестве пустых ячеек назначается товар со значением, меньшим, чем первое значение первого товара.
Начало движения роботизированной системы для отображения комплекта стеллажных конструкций в результате цикла сканирования в продуктовом магазине, в котором генерация глобального списка пополнения запасов осуществляется на основе изображений, собранных в ходе цикла сканирования, выполненного роботизированной системой.
Генерация первого запроса товара осуществляется во время выполнения цикла сканирования роботизированной системой путем передачи первого запроса первому вычислительному устройству, связанному с партнером магазина; а формирование глобального списка пополнения запасов включает, по завершении цикла сканирования, распределение частей глобального списка пополнения запасов по нескольким вычислительным устройствам, связанным с ассоциированными хранилищами.
Способ дополнительно содержит этапы, на которых: во время последующего обслуживания части глобального списка пополнения запасов вычислительным устройством и после этапа пополнения запасов вручную в хранилище, осуществляют начало движения роботизированной системы для формирования изображения множества стеллажных конструкций во время второго цикла сканирования; прием второго набора изображений от роботизированной системы, каждое из которых записывается во время второго цикла сканирования и соответствует одной путевой точке в наборе путевых точек; запись в память каждой ячейки в наборе ячеек как заполненной, недостаточно заполненной, пустой или неправильно заполненной на основе сравнения визуальных данных в каждой ячейке, идентифицированной во втором наборе изображений, и генерирование списка отклонений между глобальным списком пополнения запасов и состоянием магазина во время второго цикла сканирования на основе меток, назначенных каждому интервалу в наборе интервалов.
Область применения данной роботизированной системы ограничена коммерческими объектами с фиксированным расположением стеллажей.
Известен способ автоматического построения маршрута для получения изображений полок в магазине (заявка US №20180001481 от 19.05.2017, прототип способа), включающий следующие этапы: отправку роботизированной системы для автономного картографирования площади помещения магазина; получение карты помещения магазина от роботизированной системы; доступ к статической карте, определяющей расположение стеллажных конструкций и координаты местонахождения стеллажных конструкций внутри магазина; генерирование глобальной карты путем корректирования местонахождения объектов на статической карте с объектами, детектированными при движении робота; определение системы координат на глобальной карте; определение набора путевых точек на глобальной карте на основе положений стеллажных структур в пределах глобальной карты и возможностей формирования изображений стеллажных конструкций, причем каждая путевая точка содержит местоположение и ориентацию относительно системы координат; маркировка каждой путевой точки в наборе путевых точек адресом стеллажной конструкции, ближайшим к путевой точке; выгрузка набора путевых точек в роботизированную систему для выполнения в последующей процедуре формирования изображения; доступ к первому изображению, содержащему визуальные данные, записанные роботизированной системой, когда они занимают первую путевую точку в наборе путевых точек во время процедуры формирования изображения; обнаружение первой полки на первом изображении; определение адреса первой полки на основе первого адреса первой стеллажной конструкции, связанной с первой путевой точкой, и вертикального положения первой полки в первом изображении. При изменении состава и/или расположения стеллажей в помещении коммерческого объекта необходимо предварительное занесение в память робота карты расположения стеллажей с товарами с заранее нанесенными на нее путевыми точками, что усложняет реконфигурацию маршрута объезда помещения.
Недостатками данного способа являются:
- его низкая производительность вследствие необходимости проведения двух различных процедур: построения карты магазина и сканирования изображения товаров на стеллажах;
- необходимость привлечения человека для сопоставления стеллажей, что исключает полную автономность работы робота;
- необходимость в изменении инфраструктуры помещения коммерческого объекта путем добавления недолговечных оптически распознаваемых маркеров (баркодов).
Техническая задача, решаемая изобретением - повышение производительности способа навигации мобильного сервисного робота на коммерческих объектах, характеризуемых периодической сменой расположения и конфигурации стеллажей.
Техническая задача решена в способе навигации мобильного сервисного робота, имеющего подвижную платформу, сенсоры, контроллер сенсоров, двигатели колес, контроллер двигателей колес, блок человеко-машинного интерфейса и блок коммуникаций, сервисное устройство, и оснащенного системой навигации, содержащей:
- компьютер, размещенный на подвижной платформе мобильного сервисного робота, сконфигурированный для навигации с использованием карт на коммерческом объекте, использующий:
- - программный модуль формирования статической карты помещения коммерческого объекта с разбиением на зоны с указанием порядка сканирования зон;
- - программный модуль формирования глобальной карты помещения коммерческого объекта и определения координат текущего местонахождения мобильного сервисного робота;
- - программный модуль формирования маршрута движения;
- - программный модуль управления движением,
- - программный модуль обработки информации сенсоров,
- программный модуль навигации;
- программный модуль распознавания стеллажей, включающий:
- получение статической карты помещения коммерческого объекта от программного модуля формирования статической карты;
- построение глобальной карты помещения коммерческого объекта программным модулем формирования глобальной карты путем сканирования пространства, окружающего мобильный сервисный робот, с помощью сенсоров мобильного сервисного робота;
- задание системы координат на глобальной карте помещения коммерческого объекта,
при этом способ навигации дополнительно включает следующие шаги формирования статической карты помещения:
- задание первой зоны сканирования;
- формирование задания: контур объезда совпадает с контуром текущей зоны сканирования;
- генерацию путевых точек программным модулем навигации для объезда заданного контура объезда;
- получение входных данных от программного модуля распознавания стеллажей: контур обнаруженного объекта и признак завершения обследования контура;
- анализ признака завершения обследования контура при обнаружении контура, в противном случае - проверка условия завершения сканирования текущей зоны и наличия следующих зон для сканирования;
- формирование задания: контур объезда совпадает с контуром обнаруженного объекта и переход к шагу генерации путевых точек программным модулем навигации для объезда заданного контура объезда в случае, если контур не обследован;
- проверка условия завершения сканирования текущей зоны и наличия следующих зон для сканирования в случае, если обследование контура текущей зоны сканирования завершено;
- формирование задания: путевая точка совпадает со стартовой позицией, если сканирование текущей зоны завершено, и других зон для сканирования нет;
- переход к этапу формирования задания: контур объезда совпадает с контуром текущей зоны сканирования в случае, если сканирование текущей зоны не завершено;
- переход к сканированию следующей зоны сканирования в случае, если сканирование текущей зоны завершено, но есть другие зоны для сканирования.
Для дополнительного повышения производительности способа распознавание стеллажей программным модулем распознавания стеллажей включает следующие этапы:
- получение входных данных от программного модуля формирования глобальной карты помещения коммерческого объекта и определения координат текущего местонахождения мобильного сервисного робота, содержащих глобальную карту и координаты местоположения мобильного сервисного робота;
- поиск на глобальной карте помещения коммерческого объекта контуров геометрических фигур;
- проверка условия, что у обнаруженной геометрической фигуры нет признака «распознанная»; в случае, если обнаружена ранее распознанная геометрическая фигура и робот не находится на стартовой позиции - переход к шагу получения входных данных от программного модуля формирования глобальной карты помещения коммерческого объекта и определения координат текущего местонахождения мобильного сервисного робота;
- завершение распознавания стеллажей в случае обнаружения только ранее распознанных геометрических фигур и нахождении робота на стартовой позиции;
- отметка обнаруженной геометрической фигуры как «распознанная» и вычисление площади геометрической фигуры в случае обнаружении контура не распознанной ранее геометрической фигуры;
- сравнение площади обнаруженной геометрической фигуры с заданным в программном модуле распознавания стеллажей пороговым значением;
- отметка контура обнаруженной геометрической фигуры в качестве стеллажа в случае превышения площади найденной геометрической фигуры порогового значения, заданного в программном модуле распознавания стеллажей;
- анализ признака завершения обследования найденного контура геометрической фигуры;
- отметка найденного контура геометрической фигуры на глобальной карте, как обследованного в случае, если обследование данного контура завершено;
- отметка найденного контура геометрической фигуры на глобальной карте как не обследованного в случае, если обследование данного контура не завершено;
- возвращение к шагу поиска на глобальной карте помещения коммерческого объекта контуров геометрических фигур.
Для ускорения процесса навигации генерация путевых точек программным модулем навигации включает следующие этапы:
- получение входных данных от программного модуля навигации, содержащих сформированный контур для объезда;
- проверка полученного контура на соответствие контуру зоны;
- генерация уменьшенного контура для объезда (по принципу формирования уменьшенного контура внутри) в случае, если полученный контур является контуром зоны;
- генерация увеличенного контура для объезда (по принципу формирования увеличенного контура вокруг) в случае, если полученный контур не является контуром зоны;
- нанесение на сгенерированный контур для объезда путевых точек на выбранном расстоянии друг от друга (первая путевая точка - ближайшая к местоположению мобильного сервисного робота);
- вывод путевых точек и завершение генерации путевых точек.
Решение технической задачи - повышение производительности способа навигации мобильного сервисного робота на коммерческих объектах, характеризуемых периодической сменой расположения и конфигурации стеллажей - достигается за счет совокупности следующих отличительных признаков способа, дополнительно включающего следующие шаги:
- задание первой зоны сканирования;
- формирование задания: контур объезда совпадает с контуром текущей зоны сканирования;
- генерацию путевых точек программным модулем навигации для объезда заданного контура объезда;
- получение входных данных от программного модуля распознавания стеллажей: контур обнаруженного объекта и признак завершения обследования контура;
- анализ признака завершения обследования контура при обнаружении контура, в противном случае - проверка условия завершения сканирования текущей зоны и наличия следующих зон для сканирования;
- формирование задания: контур объезда совпадает с контуром обнаруженного объекта и переход к шагу генерации путевых точек программным модулем навигации для объезда заданного контура объезда в случае, если контур не обследован;
- проверка условия завершения сканирования текущей зоны и наличия следующих зон для сканирования в случае, если обследование контура текущей зоны сканирования завершено;
- формирование задания: путевая точка совпадает со стартовой позицией, если сканирование текущей зоны завершено, и других зон для сканирования нет;
- переход к этапу формирования задания: контур объезда совпадает с контуром текущей зоны сканирования в случае, если сканирование текущей зоны не завершено;
- переход к сканированию следующей зоны сканирования в случае, если сканирование текущей зоны завершено, но есть другие зоны для сканирования.
Данная совокупность признаков системы и способа навигации мобильного сервисного робота не обнаружена в процессе патентно-информационного поиска, следовательно, техническое решение соответствует критерию «новизна». Оно также не следует явно из уровня техники, что свидетельствует о его соответствии критерию «изобретательский уровень».
На фиг. 1 показана структурная схема мобильного сервисного робота.
На фиг. 2 показана функциональная схема программного обеспечения компьютера мобильного сервисного робота.
На фиг. 3 показана схема работы навигации мобильного сервисного робота в программном модуле навигации.
На фиг. 4 показана схема распознавания стеллажей в программном модуле распознавания стеллажей.
На фиг. 5 показана схема генерации путевых точек в программном модуле навигации.
Система навигации мобильного сервисного робота (фиг. 1), имеющего подвижную платформу 1, сенсоры 2, контроллер 3 сенсоров 2, двигатели 4 колес (не показаны), контроллер 5 двигателей 4 колес, блок 6 человеко-машинного интерфейса, блок 7 коммуникаций и сервисное устройство 8, включающая:
- компьютер 9, размещенный на подвижной платформе 1 мобильного сервисного робота, сконфигурированный для навигации с использованием карт на коммерческом объекте, использующий (фиг. 2):
- - программный модуль 10 формирования статической карты помещения коммерческого объекта с разбиением на зоны с указанием порядка сканирования зон;
- - программный модуль 11 формирования глобальной карты помещения коммерческого объекта и определения координат текущего местонахождения мобильного сервисного робота;
- - программный модуль 12 формирования маршрута движения;
- - программный модуль 13 управления движением,
- - программный модуль 14 обработки информации сенсоров,
- - программный модуль 15 навигации;
- - программный модуль 16 распознавания стеллажей.
Способ навигации мобильного сервисного робота (фиг. 3), оснащенного системой навигации, включает:
- получение статической карты помещения коммерческого объекта от программного модуля 10 формирования статической карты помещения коммерческого объекта;
- построение глобальной карты помещения коммерческого объекта программным модулем 11 формирования глобальной карты помещения путем сканирования пространства, окружающего мобильный сервисный робот, с помощью сенсоров 2 мобильного сервисного робота;
- задание системы координат на глобальной карте помещения коммерческого объекта программным модулем 11 формирования глобальной карты,
при этом он дополнительно включает следующие шаги формирования статической карты помещения:
- задание первой зоны сканирования;
- формирование задания: контур объезда совпадает с контуром текущей зоны сканирования;
- генерацию путевых точек программным модулем 15 навигации для объезда заданного контура объезда;
- получение входных данных от программного модуля 16 распознавания стеллажей: контур обнаруженного объекта и признак завершения обследования контура;
- анализ признака завершения обследования контура при обнаружении контура, в противном случае - проверка условия завершения сканирования текущей зоны и наличия следующих зон для сканирования;
- формирование задания: контур объезда совпадает с контуром обнаруженного объекта и переход к шагу генерации путевых точек программным модулем 15 навигации для объезда заданного контура объезда в случае, если контур не обследован;
- проверка условия завершения сканирования текущей зоны и наличия следующих зон для сканирования в случае, если обследование контура текущей зоны сканирования завершено;
- формирование задания: путевая точка совпадает со стартовой позицией, если сканирование текущей зоны завершено, и других зон для сканирования нет;
- переход к этапу формирования задания: контур объезда совпадает с контуром текущей зоны сканирования в случае, если сканирование текущей зоны не завершено;
- переход к сканированию следующей зоны сканирования в случае, если сканирование текущей зоны завершено, но есть другие зоны для сканирования.
Распознавание стеллажей программным модулем 16 распознавания стеллажей включает следующие этапы:
- получение входных данных от программного модуля 11 формирования глобальной карты помещения коммерческого объекта и определения координат текущего местонахождения мобильного сервисного робота, содержащих глобальную карту и координаты местоположения мобильного сервисного робота;
- поиск на глобальной карте помещения коммерческого объекта контуров геометрических фигур;
- проверка условия, что у обнаруженной геометрической фигуры нет признака «распознанная»; в случае, если обнаружена ранее распознанная геометрическая фигура и робот не находится на стартовой позиции - переход к шагу получения входных данных от программного модуля 11 формирования глобальной карты помещения коммерческого объекта и определения координат текущего местонахождения мобильного сервисного робота;
- завершение распознавания стеллажей в случае обнаружения только ранее распознанных геометрических фигур и нахождении робота на стартовой позиции;
- отметка обнаруженной геометрической фигуры как «распознанная» и вычисление площади геометрической фигуры в случае обнаружении контура не распознанной ранее геометрической фигуры;
- сравнение площади обнаруженной геометрической фигуры с заданным в программном модуле 16 распознавания стеллажей пороговым значением;
- отметка контура обнаруженной геометрической фигуры в качестве стеллажа в случае превышения площади найденной геометрической фигуры порогового значения, заданного в программном модуле 16 распознавания стеллажей;
- анализ признака завершения обследования найденного контура геометрической фигуры;
- отметка найденного контура геометрической фигуры на глобальной карте, как обследованного в случае, если обследование данного контура завершено;
- отметка найденного контура геометрической фигуры на глобальной карте как не обследованного в случае, если обследование данного контура не завершено;
- возвращение к шагу поиска на глобальной карте помещения коммерческого объекта контуров геометрических фигур.
Генерация путевых точек программным модулем 15 навигации включает следующие этапы:
- получение входных данных от программного модуля 15 навигации, содержащих сформированный контур для объезда;
- проверка полученного контура на соответствие контуру зоны;
- генерация уменьшенного контура для объезда (по принципу формирования уменьшенного контура внутри) в случае, если полученный контур является контуром зоны;
- генерация увеличенного контура для объезда (по принципу формирования увеличенного контура вокруг) в случае, если полученный контур не является контуром зоны;
- нанесение на сгенерированный контур для объезда путевых точек на выбранном расстоянии друг от друга (первая путевая точка - ближайшая к местоположению мобильного сервисного робота);
- вывод путевых точек и завершение генерации путевых точек. Описание работы системы и способа навигации.
Работа системы и способа навигации мобильного сервисного робота осуществляется следующим образом (фиг. 1, 2).
Этап «Настройка»: ввод в память компьютера 9 мобильного сервисного робота с помощью блока 6 человеко-машинного интерфейса или с помощью сервисного устройства 8 через блок 7 коммуникаций статической карты коммерческого объекта с нанесенными на нее границами коммерческого объекта, разбивкой коммерческого объекта на зоны и указанием последовательности сканирования роботом зон.
Этап «Старт»: При поступлении команды «старт» программный модуль 15 навигации получает от программного модуля 10 формирования статической карты с разбиением на зоны с указанием порядка сканирования зон исходные данные в виде статической карты с разбиением на зоны с указанием порядка сканирования зон. Получив исходные данные, программный модуль 15 навигации автоматически генерирует путевые точки (фиг. 5) по маршруту объезда контура первой зоны. Сгенерированные путевые точки передаются в программный модуль 12 формирования маршрута движения, который по полученным путевым точкам генерирует маршрут движения. Сформированный маршрут движения передается на исполнение программному модулю 13 управления движением, который, в свою очередь, учитывая окружающую динамическую ситуацию, получаемую от сенсоров 2 через контроллер 3 обработки сигналов сенсоров 2, программный модуль 14 обработки информации сенсоров 2 и модуль 11 формирования глобальной карты и определения координат текущего местонахождения мобильного сервисного робота, формирует команды управления движением. Команды управления движением подаются для выполнения контроллеру 5 двигателей 4. Контроллер 5 двигателей 4 приводит в движение колеса (не показаны) мобильного сервисного робота. Мобильный сервисный робот начинает движение из стартовой позиции по маршруту, сформированному программным модулем 13 управления движением.
Этап «Движение»: После выполнения этапа «Старт» мобильный сервисный робот приходит в движение и запускается параллельная работа программных модулей 11-16.
Программный модуль 14 обработки информации сенсоров 2 получает данные от различных сенсоров 2, сканирующих окружающее пространство, и после первичной обработки данных контроллером 3 обработки сигналов сенсоров 2 передает сводную информацию программному модулю 11 формирования глобальной карты и определения координат текущего местонахождения мобильного сервисного робота и программному модулю 13 управления движением. Программный модуль 11 формирования глобальной карты и определения координат текущего местонахождения мобильного сервисного робота строит по мере обследования пространства коммерческого объекта карту обнаруженных препятствий и глобальную карту помещения и определяет текущие координаты местонахождения мобильного сервисного робота.
Текущая карта обнаруженных препятствий передается программного модулю 13 управления движением. Работа программного модуля 13 управления движением, контроллера 5 двигателей 4 и колес мобильного сервисного робота соответствует этапу «Старт».
Программный модуль 16 распознавания стеллажей анализирует контуры объектов на текущей версии глобальной карты. В случае обнаружения в текущей зоне не идентифицированного (не обследованного) контура объекта, который может быть стеллажом, программный модуль 16 распознавания стеллажей формирует для программного модуля 15 навигации задание на обследование обнаруженного контура. По мере объезда обнаруженного контура программный модуль 16 распознавания стеллажей определяет соответствие признаков обнаруженного контура свойствам стеллажа и присваивает обнаруженному контуру признак «Стеллаж». По мере объезда стеллажа по периметру программный модуль 16 распознавания стеллажей маркирует обследованную часть контура и, по завершении обследования всего контура, присваивает данному контуру признак «Обследован».
Программный модуль 15 (фиг. 2) навигации, получив от программного модуля 16 (фиг. 2) распознавания стеллажей информацию об обнаружении нового контура или необследованного (недообследованного) стеллажа, приступает к генерации путевых точек (фиг. 5) для объезда обнаруженного контура.
После получения от программного модуля 16 распознавания стеллажей информации (признака) полного обследования текущего контура, программный модуль 15 навигации возвращается к процессу объезда текущей зоны. В случае обнаружения программным модулем 16 распознавания стеллажей нового контура программный модуль 15 навигации вновь прерывает объезд текущей зоны и переходит к объезду обнаруженного контура. После завершения объезда текущей зоны программный модуль 15 навигации приступает к генерации путевых точек для объезда следующей зоны. Далее работа идет по описанному выше алгоритму. После завершения объезда последней зоны программный модуль 15 навигации формирует последнюю путевую точку - стартовая позиция, и мобильный сервисный робот возвращается на стартовую позицию. Работа программных модулей 10-16 завершается.