СПОСОБ И СИСТЕМА НАВИГАЦИИ ПОДВИЖНОГО ОБЪЕКТА С ИСПОЛЬЗОВАНИЕМ ТРЕХМЕРНЫХ ДАТЧИКОВ
METHOD AND NAVIGATION SYSTEM OF THE MOBILE OBJECT USING THREE-DIMENSIONAL SENSORS

ОБЛАСТЬ ТЕХНИКИ
[0001] Данное техническое решение относится, в общем, к вычислительным системам и способам, а в частности к системам и способам навигации подвижных объектов с использованием трехмерных датчиков.
УРОВЕНЬ ТЕХНИКИ
[0002] Из уровня техники известен патент US 20130096735 A1 «Warehouse vehicle navigation system and method», патентообладатель: Vocollect, Inc., дата публикации: 18.04.2013.
[0003] Навигационная система, описанная в патенте, базируется на видеокамере, а складское транспортное средство при этом предусматривает обязательное присутствие человека на борту. Также, хотя в названии заявлено понятие складского робота в широком смысле, по факту описание касается транспортировочной тележки для процедуры "пикинга" (сбора мелкооптового либо розничного заказа с первого яруса стеллажей). При этом способ и система навигации предусматривают необходимость маркировки каждой стойки уникальным цифровым кодом физически (т.е. по сути, уникальным маркером), а через видеокамеру осуществляется распознавание этого кода и идентификация местоположения робота. Таким образом, осуществляется навигация в продольном движении вдоль стеллажей. Расстояние до стеллажа, согласно способу, определяется по детекции афинного преобразования прямоугольной карточки маркера.
[0004] Из-за отсутствия коррекции изображения в данном техническом решении увеличивается погрешность данных. Также к недостаткам следует отнести то, что техническое решение предполагает близкое к идеальному фронтальное расположение маркера перед камерой, которое трудно достижимо в реальных условиях складского помещения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Данное техническое решение направлено на устранение недостатков, свойственных решениям, известным из уровня техники.
[0006] Технической задачей, решаемой в данном техническом решении, является создание способа навигации подвижного объекта внутри складского помещения, фиксирующего априорно известную структуру стеллажа.
[0007] Техническим результатом является повышение точности навигации подвижного объекта внутри складского помещения. Достижение указанного технического результата доказано в рамках испытаний данного технического решения на данных, снятых на реально функционирующем складе дистрибуции, в частности предлагаемое техническое решение позволило улучшить точность навигации на 7 см (ошибка уменьшена с 10 см до 3 см). Это проиллюстрировано на Фиг. 6.
[0008] Дополнительно повышается надежность функционирования системы.
[0009] Указанный технический результат достигается благодаря способу навигации подвижного объекта с использованием трехмерных датчиков, в котором получают данные трехмерной сцены складского помещения от по меньшей мере одного трехмерного датчика, установленного на подвижном объекте, и заранее известные истинные координаты точек стеллажей; формируют набор гипотетических координат точек стеллажей на основании данных трехмерной сцены складского помещения; определяют гипотетические координаты местоположения подвижного объекта; выполняют уточнение координат местоположения подвижного объекта на основании сопоставления гипотетических координат точек стеллажей и заранее известных истинных координат точек стеллажей, полученных выше.
[00010] В некоторых вариантах осуществления настоящего технического решения трехмерным датчиком является времяпролетный датчик или триангуляционный сканер или лазерная сканирующая система.
[00011] В некоторых вариантах осуществления настоящего технического решения данными трехмерной сцены является облако точек сцены.
[00012] В некоторых вариантах осуществления настоящего технического решения получают заранее известные истинные координаты точек стеллажей по беспроводному или проводному каналу передачи данных.
[00013] В некоторых вариантах осуществления настоящего технического решения получают заранее известные истинные координаты точек стеллажей, введенные оператором посредством устройства ввода/вывода данных.
[00014] В некоторых вариантах осуществления настоящего технического решения заранее известные истинные координаты точек стеллажей являются трехмерными.
[00015] В некоторых вариантах осуществления настоящего технического решения при формировании набора фронтов стеллажей на горизонтальной плоскости выполняют преобразование облака точек в растровое изображение.
[00016] В некоторых вариантах осуществления настоящего технического решения гипотетическими координатами местоположения подвижного объекта являются координаты местоположения подвижного объекта в предыдущем местоположении, в котором находился подвижный объект.
[00017] В некоторых вариантах осуществления настоящего технического решения гипотетические координаты местоположения подвижного объекта получают от другой системы навигации.
[00018] В некоторых вариантах осуществления настоящего технического решения выполняют уточнение координат местоположения подвижного объекта итерационно при движении подвижного объекта.
[00019] Также указанный выше технический результат достигается благодаря системе навигации подвижного объекта с использованием трехмерных датчиков содержит: по меньшей мере один трехмерный датчик, установленный на подвижном объекте и выполненный с возможностью получения данных трехмерной сцены складского помещения; по меньшей мере один компонент обработки; память для хранения инструкций, выполняемых посредством компонента обработки, причем компонент обработки выполнен с возможностью получения данных трехмерной сцены складского помещения от трехмерного датчика и заранее известных истинных координат точек стеллажей; формирования набора гипотетических координат точек стеллажей на основании данных трехмерной сцены складского помещения; определения гипотетических координат местоположения подвижного объекта; выполнения уточнения координат местоположения подвижного объекта на основании сопоставления гипотетических координат точек стеллажей и заранее известных истинных координат точек стеллажей, полученных выше.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00020] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:
[00021] На Фиг. 1 показана блок-схема осуществления способа навигации подвижного объекта с использованием трехмерных датчиков;
[00022] На Фиг. 2 показан пример осуществления подъезда подвижного объекта к фронту стеллажа;
[00023] На Фиг. 3 показан пример осуществления проецирования трехмерного облака точек на двумерную горизонтальную плоскость;
[00024] На Фиг. 4 показан пример растрового изображения, полученный в результате проецирования облака точек на горизонтальную плоскость (верхняя часть рисунка), а также растровое изображение фронта стеллажа (нижняя часть рисунка);
[00025] На Фиг. 5 показан пример осуществления системы навигации подвижного объекта с использованием трехмерных датчиков.
[00026] На Фиг. 6 показана столбчатая диаграмма с точностными характеристиками технического решения, испытанного на трехмерных данных, снятых на реально функционирующем складе, с искусственным зашумлением опорной/истинной координаты. Протестировано две конфигурации технического решения, причем на каждую конфигурацию приходится по четыре величины искусственного шума уточняемой координаты (всего 8 значений). На диаграмме видно, что при максимальной ошибке уточняемой координаты в 10 см, техническое решение улучшает ее до 3 см. Если же ошибка минимальна и составляет 3 см, техническое решение улучшает ее незначительно - до 2,5 см. Следует отметить что полученная точность навигации является минимальной в известном уровне технике и позволяет системе управления подвижного объекта качественно отрабатывать требуемые задания.
ПОДРОБНОЕ РАСКРЫТИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[00027] Ниже будут описаны понятия и определения, необходимые для подробного раскрытия осуществляемого технического решения.
[00028] Техническое решение может быть реализовано в виде распределенной компьютерной системы.
[00029] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[00030] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[00031] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические носители (CD, DVD и т.п.).
[00032] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[00033] Подвижный объект - автономно перемещающий технический объект, функционирующий в условиях складских помещений. К таким подвижным объектам могут относиться транспортные тележки, транспортировщики паллет, погрузочная техника различных кинематических схем, оснащенные различными силовыми агрегатами с различным уровнем участия человека в процессе управления, беспилотные летательные аппараты, не ограничиваясь.
[00034] Сцена (англ. scene) - изображение трехмерного пространства с расположенными в нем объектами.
[00035] Плоскость изображения (англ. image plan) - плоскость, на которой формируется двумерное изображение визуализируемой или растрируемой сцены.
[00036] Стеллаж - оборудование для хранения предметов, состоящее из многоярусных настилов (полок), закрепленных на стойках или боковых стенках, либо состоящее из закрепленных на стойках консолей (консольные стеллажи).
[00037] Палетные стеллажи (фронтальные) - фронтальные стеллажи, которые предназначены для хранения различных грузов на поддонах.
[00038] Облако точек (англ. point cloud) - набор вершин в трехмерной системе координат. Эти вершины, как правило, определяются координатами X, Y и Z и, как правило, предназначены для представления внешней поверхности объекта.
[00039] Фиг. 1 представляет собой блок-схему, показывающую способ навигации подвижного объекта с использованием трехмерных датчиков, который содержит следующие шаги.
[00040] Шаг 101: получают данные трехмерной сцены складского помещения от по меньшей мере одного трехмерного датчика, установленного на подвижном объекте, и заранее известные истинные координаты точек стеллажей.
[00041] В качестве трехмерного датчика могут использоваться времяпролетные датчики, триангуляционные сканеры, лазерные сканирующие системы, например лидары и т.д., не ограничиваясь. Под данными трехмерной сцены понимается полученное облако точек сцены. Дополнительно можно получать изображения. Заранее известные истинные координаты точек стеллажей получают по беспроводному или проводному каналу передачи данных, также они могут быть введены оператором посредством устройств ввода/вывода. Координаты точек стеллажей являются трехмерными.
[00042] В некоторых вариантах осуществления формируют набор фронтов стеллажей на горизонтальной плоскости на основании данных трехмерной сцены, полученных на предыдущем шаге.
[00043] На данном шаге осуществляют проецирование полученного ранее облака точек на горизонтальную плоскость и преобразование в растровое изображение (Фиг. 3). Преимущество растрового формата изображений очевидны - их легко редактировать (делать обрезку, изменять цвета, изменять размер изображения и т.д. и т.п.). Под проецированием на горизонтальную плоскость понимается исключение координаты по вертикали (Z) облака точек. Такое проецирование может интерпретироваться как проекция на горизонтальный пол или горизонтальный потолок для более ясного понимания. Далее осуществляют обработку полученного растрового изображения фильтром сглаживания интенсивностей пикселей. В некоторых вариантах осуществления может использоваться фильтр Гаусса, фильтр по скользящему нормализованному окну, медианный фильтр, билатеральный фильтр. Затем осуществляют обнаружение границ на изображении, которое может выполняться посредством алгоритма Кэнни, алгоритма Собеля, оператора Превитта, оператора Робертса, не ограничиваясь, после чего отбрасывают линии, длина которых меньше заданного порога, и сопоставляют набор полученных линий заранее заданным геометрическим параметрам стеллажей и околостеллажного пространства. В некоторых вариантах осуществления известна ширина коридора, вдоль которого справа и слева стоят искомые стеллажи. Измеряют расстояние в метрах между определенными на растровом изображении параллельными линиями (посредством перемножения количества пикселей на коэффициент, получаемый при формировании растрового изображения, т.е. сколько приходится метров/миллиметров на пиксель). Данное расстояние с малой погрешностью соответствует известной ширине вышеуказанного коридора. В некоторых вариантах осуществления это может быть расстояние между другими конструктивными элементами стеллажа, различимыми в виде сверху. Таким образом, каждая найденная линия в горизонтальной проекции (Фиг. 4), представляет собой фронт стеллажа (переднюю часть стеллажа), а набор полученных линий представляет собой набор фронтов стеллажей.
[00044] Шаг 102: формируют набор гипотетических координат точек стеллажей на основании данных трехмерной сцены складского помещения;
[00045] На следующем шаге осуществляют возврат из двумерной горизонтальной проекции по выделенному фронту стеллажа в трехмерное облако точек. Для этого набор отобранных линий в двумерном виде после фильтрации переводят в трехмерное облако точек. Только в данном случае используют не все облако точек, а только те точки, которые принадлежат найденному фронту стеллажа. После этого осуществляют проецирование облака точек фронта стеллажа во фронтальную вертикальную плоскость (учитывают координаты X и Z) и осуществляют преобразование полученной проекции в растровое изображение. Пример такого растрового изображения показан в нижней части Фиг. 4. Затем создают шаблон изображений стоек (вертикальный элемент стеллажа) и балок (горизонтальный элемент стеллажа) на основании заранее заданных геометрических параметров характерных конструктивов стеллажей. Шаблон представляет собой эталонное двумерное растровое изображение идеального участка конструктивного элемента во фронтальной проекции, предназначенной для дальнейшей процедуры корреляции. Затем осуществляют корреляцию каждого шаблона по растровому изображению вертикального фронта каждого стеллажа и находят максимумы корреляции.
[00046] В некоторых вариантах осуществления технического решения выполняют корреляцию, например по квадрату разницы:
[00047] где R(x,y) - интенсивность пикселя матрицы корреляции; Т(х',у') - интенсивность пикселя шаблона; I(х+х', у+у') - интенсивность пикселя растрового изображения либо, в общем случае, изображения, на котором ищется признак, описываемый шаблоном.
[00048] Максимумы корреляции могут быть представлены матрицей корреляции. Максимумы полученной матрицы корреляции и будут соответствовать гипотетическим координатам стеллажа. Далее преобразовывают координаты максимумов корреляции растрового изображения в трехмерные координаты, таким образом, получая набор гипотетических координат стоек стеллажа.
[00049] Шаг 103: определяют гипотетические координаты местоположения подвижного объекта.
[00050] В некоторых вариантах осуществления гипотетические координаты, которые далее уточняются, являются координатами местоположения подвижного объекта в предыдущем местоположении и известны заранее в системе.
[00051] В некоторых вариантах осуществления определяют гипотетические координаты местоположения подвижного объекта посредством их получения от другой системы навигации, работающей с большими погрешностями, например, посредством использования одометрии или инерциальной навигационной системы.
[00052] Шаг 104: выполняют уточнение координат местоположения подвижного объекта на основании сопоставления гипотетических координат точек стеллажей и заранее заданных известных истинных координат точек стеллажей, полученных выше.
[00053] На данном шаге сначала осуществляют сопоставление гипотетических координат точек стеллажей с заранее известными истинными координатами точек стеллажей по методу ближайшего соседа. Например, вокруг заранее известной истинной точки стеллажа Т находят гипотетические точки G1, G2 и G3. Определяют ближайшую точку посредством использования, например, евклидовой метрики, например, G3. Таким образом, в данном примере осуществления для заранее известной истинной точки Т ставят в соответствие точку G3 по методу ближайшего соседа.
[00054] Вышеописанный прием осуществляют для всех заранее известных истинных точек стеллажей. То есть берут заранее известную истинную координату точки стеллажа в плоском горизонтальном пространстве и находят посредством евклидовой метрики, не ограничиваясь, самую близкую гипотетическую координату.
0
[00055] Затем формируют функционал суммы дисперсий гипотетических координат точек стеллажей от заранее известных истинных координат точек стеллажей и по меньшей мере одной координаты подвижного объекта. Функционал - это формула, определяющая качество описания найденных гипотетических координат стеллажа, заранее известных (картированных). Она включает квадрат разности гипотетических координат стоек  и координат картированных стоек , а также квадрат разности искомой навигационной координаты подвижного объекта по найденным стойкам р и координаты предварительной р0. , , K - ковариации соответственно искомого положения, картирования и предыдущего местоположения подвижного объекта.
[00056] Процедура уточнения координат местоположения подвижного объекта
выполняется итерационно с высокой частотой во время движения подвижного объекта.
[00057] Затем определяют уточненную координату положения подвижного объекта из первой производной функционала по координатам подвижного объекта, например, по следующей формуле
[00058] Фиг. 5 представляет собой блок-схему, показывающую систему навигации подвижного объекта с использованием трехмерных датчиков, которая содержит:
[00059] по меньшей мере один трехмерный датчик, установленный на подвижном объекте и выполненный с возможностью получения данных трехмерной сцены складского помещения;
[00060] по меньшей мере один компонент обработки;
[00061] память для хранения инструкций, выполняемых посредством компонента обработки,
[00062] причем компонент обработки выполнен с возможностью:
[00063] получения данных трехмерной сцены складского помещения от трехмерного датчика и заранее известных истинных координат точек стеллажей;
[00064] формирования набора фронтов стеллажей на горизонтальной плоскости на основании данных трехмерной сцены, полученных на предыдущем шаге;
[00065] формирования набора гипотетических координат точек стеллажей на основании данных трехмерной сцены складского помещения и набора фронтов стеллажей;
[00066] определения гипотетических координат местоположения подвижного объекта;
[00067] выполнения уточнения координат местоположения подвижного объекта на основании сопоставления гипотетических координат точек стеллажей и заранее заданных координат точек стеллажей, полученных выше.
[00068] В некоторых вариантах осуществления, система 500 может быть мобильным телефоном, компьютером, устройством для обмена сообщениями, планшетом и персональным цифровым помощником и т.д.
[00069] Ссылаясь на Фигуру 5, система 500 может включать один или более следующих компонент: компонент 502 обработки, трехмерный датчик 503, память 504, компонент 506 питания, компонент 508 мультимедиа, интерфейс 512 ввода / вывода (I/О), сенсорный компонент 514, компонент 516 передачи данных.
[00070] В некоторых вариантах, компонент 502 обработки в основном управляет всеми операциями системы 500, например, дисплеем, передачей данных, работой видеокамеры и операцией записи. Компонент 502 обработки может включать в себя один или более процессоров 518, реализующих инструкции для завершения всех или части шагов из указанных выше способов. Кроме того, компонент 902 обработки может включать в себя один или более модулей для удобного процесса взаимодействия между компонентом 502 обработки и другими компонентами. Например, компонент 502 обработки может включать в себя мультимедийный модуль для удобного облегченного взаимодействия между компонентом 508 мультимедиа и компонентом 502 обработки.
[00071] В качестве трехмерного датчика 503 может использоваться любая известная из уровня техники технология получения и обработки информации об удаленных объектах с помощью активных оптических систем, использующих явления отражения света и его рассеяния в прозрачных и полупрозрачных средах. Например, это может быть времяпролетный датчик, триангуляционный сканер, лазерная сканирующая система, например лидар.
[00072] Память 504 выполнена с возможностью хранения различных типов данных для поддержки работы системы 500. Примеры таких данных включают в себя инструкции из любого приложения или способа, изображения, видео, и т.д. Память 504 может быть реализована в виде любого типа энергозависимого запоминающего устройства, энергонезависимого запоминающего устройства или их комбинации, например, Статического Оперативного Запоминающего Устройства (СОЗУ), Электрически Стираемого Программируемого Постоянного Запоминающего Устройства (ЭСППЗУ), Стираемого Программируемого Постоянного Запоминающего Устройства (СППЗУ), Программируемого Постоянного Запоминающего Устройства (ППЗУ), Постоянного Запоминающего Устройства (ПЗУ), магнитной памяти, флэш-памяти, магнитного или оптического диска.
[00073] В некоторых вариантах, компонент 506 питания обеспечивает электричеством различные компоненты системы 500. Компонент 506 питания может включать систему управления электропитанием, один или более источник питания, и другие узлы для генерации, управления и распределения электроэнергии к системе 500.
[00074] В некоторых вариантах, мультимедийный компонент 508 включает в себя экран, обеспечивающий выходной интерфейс между системой 500 и пользователем. В некоторых вариантах осуществления, экран может быть жидкокристаллическим дисплеем (ЖКД) или сенсорной панелью (СП). Если экран включает в себя сенсорную панель, экран может быть реализован в виде сенсорного экрана для приема входного сигнала от пользователя. Сенсорная панель включает один или более сенсорных датчиков в смысле жестов, прикосновения и скольжения сенсорной панели. Сенсорный датчик может не только чувствовать прикосновение или жест перелистывания, но и определять длительность времени и давления, связанных с режимом работы прикосновения и скольжения.
[00075] Интерфейс 512 ввода/вывода обеспечивает интерфейс между компонентом 502 обработки и периферийным интерфейсным модулем.
[00076] Сенсорный компонент 514 содержит один или более сенсоров и выполнен с возможностью обеспечения различных аспектов оценки состояния системы 500. Например, сенсорный компонент 514 может обнаружить состояния вкл/выкл системы 500, относительное расположение компонентов, например, дисплея и кнопочной панели прибора 500, изменение положения системы 500 или одного компонента системы 500, наличие или отсутствие контакта между пользователем и системой 500, а также ориентацию или ускорение/замедление и изменение температуры системы 500. Сенсорный компонент 514 содержит бесконтактный датчик, выполненный с возможностью обнаружения присутствия объекта, находящегося поблизости, когда нет физического контакта. Сенсорный компонент 514 содержит оптический датчик (например, КМОП или ПЗС-датчик изображения), выполненный с возможностью использования в визуализации приложения. В некоторых вариантах сенсорный компонент 514 содержит датчик ускорения, гироскоп, магнитный датчик, датчик давления или датчик температуры.
[00077] Коммуникационный компонент 516 выполнен с возможностью облегчения проводной или беспроводной связи между системой 500 и другими устройствами. Система 500 может получить доступ к беспроводной сети на основе стандарта связи, таких как WiFi, 2G или 3G, или их комбинации. В одном примерном варианте компонент 516 передачи данных получает широковещательный сигнал или трансляцию, связанную с ними информацию из внешней широковещательной системы управления через широковещательный канал. В одном варианте осуществления компонент 516 передачи данных содержит модуль коммуникации ближнего поля (NFC), чтобы облегчить ближнюю связь. Например, модуль NFC может быть основан на технологии радиочастотной идентификации (RFID), технологии ассоциации передачи данных в инфракрасном диапазоне (IrDA), сверхширокополосной (UWB) технологии, Bluetooth (ВТ) технологии и других технологиях.
[00078] В примерном варианте осуществления, память 504 включает инструкции, которые выполняются процессором 518 системы 500 для реализации описанных выше способов измерения расстояния до удаленных объектов. Например, энергонезависимым компьютерно-читаемым носителем может быть ПЗУ, оперативное запоминающее устройство (ОЗУ), компакт-диск, магнитная лента, дискеты, оптические устройства хранения данных и тому подобное.
[00079] Специалист в данной области техники может легко понять другие варианты изобретения из рассмотренного описания. Эта заявка предназначена для того, чтобы покрыть любые варианты использования или применения следующих общих принципов изобретения, и включая такие отклонения от настоящего изобретения, которые появляются в пределах известной или обычной практики в уровне техники. Предполагается, что описание рассматривается только как примерное, с сущностью и объемом настоящего изобретения, обозначенными формулой изобретения.
[00080] Следует принимать во внимание, что настоящее изобретение не ограничивается точными конструкциями, которые были описаны выше и проиллюстрированы на прилагаемых чертежах, и что различные модификации и изменения могут быть сделаны без отхода от области его применения. Предполагается, что объем изобретения ограничен только прилагаемой формулой.
[00081]