Научная статья на тему 'МЕТОД ФИЛЬТРА ЧАСТИЦ ДЛЯ ОПРЕДЕЛЕНИЯ ПЕРВОНАЧАЛЬНОГО ПОЛОЖЕНИЯ РОБОТА В ПОМЕЩЕНИИ'

МЕТОД ФИЛЬТРА ЧАСТИЦ ДЛЯ ОПРЕДЕЛЕНИЯ ПЕРВОНАЧАЛЬНОГО ПОЛОЖЕНИЯ РОБОТА В ПОМЕЩЕНИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
15
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Робот / определение положения / пространство Хафа / фильтр частиц / автономная навигация / логистический робот / Robot position determination / Hough space / particle filter / autonomous navigation / logistics robot

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бобков Александр Валентинович, Алхатиб Мажди Насиб

Рассмотрена задача определения собственного положения робота по данным лидара с использованием модифицированного фильтра частиц. Задача актуальна для многих практических приложений, связанных с разработкой и эксплуатацией автономных мобильных платформ, например, для логистических роботов на автоматизированном производстве и в складском хозяйстве. Рассмотрен наиболее используемый в случае решения указанной задачи метод фильтра частиц. Метод заключается в генерации виртуальных частиц, отображающих вероятное положение робота, изменении состояния частиц по данным одометрии и последующей фильтрации в соответствии с совпадением наблюдаемых и предполагаемых данных лидара. Выявлен недостаток метода, к которому относится большое начальное число частиц, необходимое для быстрой сходимости метода. Предложена модифицированная схема на основе предварительного детектирования крупных элементов сцены в данных лидара. Для этого предложено применять преобразование данных в пространство Хафа, что позволяет выявить наиболее крупные прямолинейные отрезки в данных лидара и соотнести их с картой помещения. Для исследования свойств предложенного алгоритма проведено математическое моделирование в средах MATLAB, ROS, Gazebo. Численные эксперименты показали, что модифицированный метод позволяет существенно снизить начальное число частиц и работать в режиме реального времени даже для больших помещений.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бобков Александр Валентинович, Алхатиб Мажди Насиб

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INTRODUCING THE PARTICLE FILTER METHOD IN DETERMINATION OF THE ROBOT INITIAL POSITION IN PREMISES

The paper considers the problem of determining the robot own position from the lidar data using a modified particle filter. The problem is relevant for many practical applications related to development and operation of the autonomous mobile platforms, for example, logistics robots in automated production and warehousing. The particle filter method most used in solving this problem is considered. The method involves generating the virtual particles that represent the robot probable position, changing the particles state according to the odometry data and subsequent filtering in accordance with matching in the observed and estimated lidar data. A drawback of the method was identified, i.e., high initial number of particles required in the method rapid convergence. The paper proposes a modified scheme based on preliminary detection of the large scene elements in the lidar data. It suggests introducing data transformation into Hough space for this purpose making it possible to identify the largest straight segments in the lidar data and correlate them with the premises map. Mathematical simulation was carried out in the MATLAB, ROS, and Gazebo environments to study the proposed algorithm properties. Experiments showed that the modified method could significantly reduce the particles initial number and make it possible to work in real time even in the large premises.

Текст научной работы на тему «МЕТОД ФИЛЬТРА ЧАСТИЦ ДЛЯ ОПРЕДЕЛЕНИЯ ПЕРВОНАЧАЛЬНОГО ПОЛОЖЕНИЯ РОБОТА В ПОМЕЩЕНИИ»

УДК 681.518

EDN: CTDPBE

МЕТОД ФИЛЬТРА ЧАСТИЦ ДЛЯ ОПРЕДЕЛЕНИЯ ПЕРВОНАЧАЛЬНОГО ПОЛОЖЕНИЯ РОБОТА В ПОМЕЩЕНИИ

А.В. Бобков М.Н. Алхатиб

alexander.bobkov@bmstu.ru МГТУ им. Н.Э. Баумана, Москва, Российская Федерация

Аннотация

Рассмотрена задача определения собственного положения робота по данным лидара с использованием модифицированного фильтра частиц. Задача актуальна для многих практических приложений, связанных с разработкой и эксплуатацией автономных мобильных платформ, например, для логистических роботов на автоматизированном производстве и в складском хозяйстве. Рассмотрен наиболее используемый в случае решения указанной задачи метод фильтра частиц. Метод заключается в генерации виртуальных частиц, отображающих вероятное положение робота, изменении состояния частиц по данным одометрии и последующей фильтрации в соответствии с совпадением наблюдаемых и предполагаемых данных лидара. Выявлен недостаток метода, к которому относится большое начальное число частиц, необходимое для быстрой сходимости метода. Предложена модифицированная схема на основе предварительного детектирования крупных элементов сцены в данных лидара. Для этого предложено применять преобразование данных в пространство Хафа, что позволяет выявить наиболее крупные прямолинейные отрезки в данных лидара и соотнести их с картой помещения. Для исследования свойств предложенного алгоритма проведено математическое моделирование в средах MATLAB, ROS, Gazebo. Численные эксперименты показали, что модифицированный метод позволяет существенно снизить начальное число частиц и работать в режиме реального времени даже для больших помещений

Ключевые слова

Робот, определение положения, пространство Хафа, фильтр частиц, автономная навигация, логистический робот

Поступила 09.02.2023 Принята 20.11.2023 © Автор(ы), 2024

Введение. Современное развитие промышленности невозможно представить без использования логистических роботов с той или иной степенью автономности. Автономные логистические роботы позволяют исключить человеческий фактор из вредных, опасных либо просто монотонных и неинтересных для человека видов деятельности. Изучению автономных мобильных роботов и автономной навигации посвящено множество научных исследований [1, 2]. В настоящей работе рассмотрена задача определения собственного положения робота (навигации) и наиболее важные алгоритмы ее решения.

Задача навигации мобильного робота заключается в определении его местоположения в среде и в нахождении пути, который приведет объект из текущего местоположения в заданное. Для навигации на поверхности Земли часто используется GPS, позволяющая определить текущее местоположение робота на карте и спланировать путь для обхода препятствий и достижения конечной цели. Однако при навигации в помещении использование GPS затруднено вследствие сильного ослабления сигналов элементами конструкций, а также многочисленных переотражений сигнала [3, 4]. Для помещений альтернативой GPS можно считать систему радиомаяков, однако их точное размещение представляет собой отдельную технически сложную задачу.

Из множества навигационных задач здесь ограничимся только определением первоначального положения робота. Такая задача решается при включении робота или после долгого перемещения робота в среде с числом ориентиров и их качеством, недостаточными для однозначного определения его положения.

Оценка положения робота с помощью фильтра частиц. Наиболее хорошо изученными алгоритмами определения положения робота по данным лидара являются различные варианты фильтра Калмана (расширенный фильтр Калмана (EKF) [5], фильтр Ульмана [6, 7] (фильтр Калмана без запаха, UKF)) и фильтр частиц (PF), или локализация Монте-Карло (MCL). Фильтр частиц [8-11], похожий на фильтр Калмана, широко применяется в задачах локализации робота ввиду нелинейности характеристики оценки. Это метод оценки состояния динамической системы, который принимает и обновляет ее текущее положение на основе информации о движении команд управления и наблюдения. Фильтр частиц использует частицы или образцы, которые являются гипотезами для системы, находящейся в одном единственном состоянии. Например, если имеется 1000 частиц, то существует 1000 предположений о вероятном местоположении системы (робота). Алгоритм работы фильтра частиц состоит из двух шагов. Первый

шаг — прогнозирование, которое зависит от информации о командном движении, такой как скорость. Второй шаг — внесение поправки, которая учитывает совпадение между наблюдаемыми данными и местоположением частицы. Далее увеличивается вес той частицы, которая имеет большее значение согласования. Затем выполняется повторная выборка частиц, чтобы ограничить число частиц и исключить частицы с низким весом.

Метод фильтра частиц позволил решить множество проблем в задаче определения собственного положения. Первые применения фильтра частиц были ограничены малоразмерными помещениями с известной картой [12]. В настоящее время существует множество подходов, которые в основном ориентированы на локализацию роботов в различных средах [13, 14], например, за счет совместного использования фильтра частиц и системы радиомаяков. Работа фильтра частиц с использованием системы ультразвуковых датчиков вместо лидара описана в [15-17].

Существует большое число вариантов фильтра частиц, позволяющих улучшить такие характеристики метода, как время вычислений и точность оценки местоположения.

Адаптивный МСЬ (АМСЬ) предложен Д. Фоксом для сокращения времени вычислений МСЬ [18]. АМСЬ — алгоритм локализации робота для навигации в двумерной среде, в котором используется относительная энтропия для оценки состояния робота на известной карте. Это позволяет рассчитывать число частиц, необходимое для МСЬ, вместо применения их фиксированного числа [19, 20]. Кроме того, существует еще один вариант МСЬ, который представляет собой локализацию Монте-Карло с преобразованием нормального распределения (ЫБТ-МСЬ). Это кусочно-непрерывное представление, в котором также используется фильтр частиц для оценки состояния робота на известной карте за счет представления пространства в виде набора нормальных распределений [21], что позволяет улучшить оценку положения.

Алгоритм адаптивной локализации Монте-Карло с преобразованием нормального распределения (АЫБТ-МСЬ), который обеспечивает большую точность и скорость вычислений, предложен в [22]. В алгоритме использованы дивергенция Кульбака — Лейблера, преобразование нормального распределения и систематическая повторная выборка.

Задачу определения собственного положения можно сформулировать следующим образом. Имеется перемещающийся внутри помещения робот. Робот имеет карту здания, поэтому он знает общую схему расположения стен и примерное расположение мебели, но не знает своего первоначального положения относительно карты. Он может быть где угод-

но, поэтому роботу необходимо использовать датчики и модель движения для оценки местоположения на карте. Пусть у робота есть лидар, возвращающий расстояние до объектов в поле зрения. Датчик возвращает облако точек, однако в реальности эти измерения зашумлены. Робот может сопоставить облако точек с картой окружающего пространства, чтобы определить свое местоположение.

В дополнение к зашумленным измерениям робот также может использовать данные одометрии. Точный расчет последующего положения вычисляется с использованием предыдущего положения и относительных измерений (линейной и угловой скорости). Ввиду наличия шума точность относительных измерений с течением времени снижается и им требуется корректировка.

Существует два возможных способа определения местоположения: 1) использование зашумленных данных лидара, которые определяют некоторые особенности окружающего пространства и которые можно сравнить с картой; 2) использованием зашумленных данных одометрии, которые оценивают пройденное роботом расстояние.

Для понимания того, как фильтр частиц решает проблему определения положения, рассмотрим следующую ситуацию. Будем полагать, что робот использует лидар для определения местоположения. Начальное местоположение робота на карте неизвестно. Можно утверждать, что робот находится в любой точке открытого пространства с равной вероятностью (рис. 1, а).

а б

Рис. 1. Равномерное распределение положения и направления робота (а) и распределение вероятностей местонахождения робота после первого измерения (б)

Будем измерять сцену с использованием лидара и в результате робот определит, есть ли перед ним препятствие или нет, а также расстояние до препятствия. Однако он не может определить точное местоположение, так как стен много и робот может находиться перед любой из них. Робот может знать, что это, вероятно, не угол, и не дверь, и не середина

комнаты, потому что стена находится близко. Поскольку данные зашум-лены, можно утверждать, что робот находится в одном из указанных мест с наибольшей вероятностью. Нельзя с полной уверенностью утверждать, что робот находится не в центре комнаты, так как он может смотреть на временное плоское препятствие, которого не было на карте. Такая вероятность мала, но она все же есть. Следовательно, после первого измерения распределение вероятностей местонахождения робота будет выглядеть так, как показано на рис. 1, б.

Пусть робот продолжает движение, чтобы увидеть другую деталь, например угол. Тогда можно снизить число возможных местоположений робота, удаляя те из них, которые не отвечают предыдущим измерениям. Если робот повернет налево и увидит угол, продолжит поворот и увидит другой угол, а затем увидит дверь, то он сможет использовать память, чтобы определить местоположение на карте. Основываясь на том, что робот видел и на оценках того, как он перемещался в окружающем пространстве и в каком направлении повернул, появляется возможность определить пройденный им путь и текущее местоположение.

Представим изложенное в виде формализованного алгоритма. Изначально у робота есть только карта комнаты и существует равная вероятность того, что он находится в любом ее месте и смотрит в любом направлении. Можно аппроксимировать распределение вероятностей, генерируя равномерное число случайных дискретных положений (см. рис. 1, а). Каждое положение или частица сохраняется как возможная оценка состояния робота.

Робот имеет информацию о перемещении (линейные и угловые скорости), которую можно использовать для каждой отдельной частицы, чтобы предсказать ее новое положение, если она движется так же, как и робот. Однако в этой информации существует неопределенность вследствие зашумленности данных одометрии и накапливающейся погрешности интегрирования, в силу чего реальное положение робота и положение частиц будут со временем расходиться. Чтобы избежать этого, необходимо использовать дополнительные навигационные данные для коррекции положения, например, получаемые с использованием лидара. В этом случае фильтр может последовательно просматривать все частицы и определять, какие данные вернет лидар, если положение частицы было бы реальным. Затем можно сравнить эти данные с данными лидара и определить, насколько вероятно, что данная частица отражает реальное состояние системы. Чем лучше совпадают данные, тем выше вероятность нахождения робота в состоянии текущей частицы (рис. 2).

Рис. 2. Оценка вероятности по данным лидара:

а — более вероятное положение; б — данные лидара; в — менее вероятное положение

Для каждой частицы развертка лидара (линия красного цвета, см. рис. 2) ориентируется относительно положения частицы, а затем вычисляется корреляция. Оценка корреляции:

Атп ~ А )(Втп ~ В )

5 = , т п , (1)

1

££(Amn - A )2 II XX(Bm„ - ßf

где т, п — координаты пикселей; Атп — точки карты; Втп — данные лидара; А, В — средние значения пикселей карты и лидара (препятствия отмечены единицами, проходимое пространство — нулями). Расчет 5 по (1) позволяет получить число пикселей на карте и лидаре, которые перекрывают друг друга. Оценка корреляции 5 изменяется в диапазоне 0-1, она максимальна при полном совпадении данных и минимальна при полном несовпадении. Поэтому ее можно рассматривать в качестве вероятности совпадения состояний частицы и робота.

Процесс расчета корреляции повторяется для каждой частицы. Оценки корреляции для разных этапов сохраняются, образуя предысторию, которая применяется для расчета суммарной вероятности реализации точки. Она может быть найдена, например, как среднее по предыстории.

Далее будем перераспределять частицы на основе рассчитанных вероятностей так, чтобы число более вероятных частиц увеличивалось, а менее вероятных — уменьшалось. Для этого удалим частицы с наименьшей вероятностью и сгенерируем новые вблизи частиц с высокой вероятностью. Это приведет к тому, что частицы будут собираться в тесный кластер вблизи наиболее вероятного положения робота [9].

Алгоритм фильтра частиц

1. Задать первоначальное равномерное распределение частиц (xí, yi, ф,-), i = 1, ..., N.

2. Получить данные одометрии (линейные (vx, Vy) и угловую (ш) скорости робота) и изменить положение каждой частицы: x, = x, + vx At,

yi = yi + Vy At, ф,- = ф,- + oAt.

3. Получить данные лидара B.

4. Для каждой частицы построить симуляцию данных лидара A и рассчитать вероятность их совпадения с реальными данными B по (1).

5. Рассчитать вероятность реализуемости каждой частицы как среднюю вероятность совпадения данных по предыстории p, = mean (Ski).

6. Выполнить перераспределение частиц: выбранное число Q частиц с наихудшей вероятностью удаляется, а вместо них генерируется новое на основе числа Q частиц с наилучшей вероятностью и небольшого случайного отклонения.

7. Повторить шаги 2-6.

Чем больше частиц сгенерировано, тем выше точность определения местоположения, но тем больше времени требуется для расчета, поэтому существует компромисс между точностью и скоростью.

Модифицированный фильтр частиц. Основной недостаток фильтра частиц — большой объем вычислений, связанный с необходимостью генерации и проверки большого числа гипотез-частиц для точного вычисления местоположения [11]. Это особенно важно при глобальной локализации, когда местоположением может быть любая точка на карте, и число требуемых частиц очень велико. В этом случае необходимо применять более рациональные подходы к фильтрации частиц. Пример такого подхода — адаптивная локализация Монте-Карло [10], которая пересчитывает число частиц после каждого поколения.

Альтернативный подход заключается в том, что необходимое число частиц может быть уменьшено за счет устранения заведомо маловероятных положений при использовании некоторых эвристических допущений.

1. Наличие существенного числа линейных ориентиров. При навигации внутри помещений основной ориентир — стены, которые, как правило, являются ровными и плоскими. Отражение луча лидара дает прямолинейный отрезок, который легко найти и который существенно менее подвержен шуму, чем отдельные измерения лидара.

2. Наличие преобладающих направлений. Стены и другие ориентиры в помещении расположены не произвольно, а с доминированием опреде-

ленных направлений, кратных 90°. Это позволяет ограничить диапазон значений углов частиц, удалив из рассмотрения заведомо неверные направления.

3. Возможность задания траектории движения и обхода ориентиров так, чтобы неопределенность положения снималась наиболее быстро.

Детектирование прямолинейных участков в данных лидара. В настоящее время существует большое число детекторов прямых (например, на основе преобразования Хафа [23] или метода ЯЛЫБЛС), которые обеспечивают хорошее качество детектирования и высокую скорость. Здесь используем детектор на основе расширенного преобразования Хафа вследствие его крайне высокой скорости работы.

Переведем данные лидара из полярной системы азимут-дальность в декартову систему:

х (а) = Я (а)соз а; у (а) = Я (а^т а; а = 1... 360°,

исключив данные с низкой мощностью и бесконечной дальностью.

Введем двумерное дискретное дуальное пространство (р, ф) параметров нормали к прямой и перенесем в него рассматриваемые точки в соответствии с преобразованием

р(ф) = х (а)соз ф + у (а^т ф. (2)

Выражение (2) представляет собой уравнение прямой в нормальной форме, где р и ф — длина и угол нормали к прямой, проходящей через точку (х, у). Выражение (2) превращает точку (х, у) исходного пространства в синусоиду в дуальном пространстве. Соответственно, каждая точка (р, ф) дуального пространства задает прямую в исходном пространстве (рис. 3, а).

Точка пересечения наибольшего числа синусоид в дуальном пространстве (р*, ф*) даст нормаль к прямой, проходящей через наибольшее число точек в исходном пространстве.

Представим дуальное пространство в виде массива счетчиков Н и массивов детекторов концов отрезков ( Ха , Уа , Хв, Ув ). Для каждой точки (х, у) отсчета лидара будем перебирать углы ф = 1... 360°. Для каждого угла ф найдем р(ф) и увеличим счетчик Н (р(ф), ф) на 1. Кроме того, изменим ячейки Ха (р(ф), ф), Уа (р(ф), ф), Хв (р(ф), ф),

-300 -200 -100 0 100 200 300

а б

Рис. 3. Детектирование отрезков: а — дуальное пространство параметров нормали: точки данных лидара в дуальном пространстве образуют синусоиды; точки, лежащие на одной прямой, формируют пучок синусоид, которые пересекаются в общей точке; б — найденные отрезки (данные лидара (—), длинный (—) и короткий (—) отрезки)

Ув (р(ф), ф) так, чтобы они содержали минимальное и максимальное значения координат х и у соответственно.

По окончании построений найдем максимум в массиве Н. Положение максимума Н (р*, ф*) даст параметры нормали к прямой, проходящей через максимальное число точек лидара, значения Хд (р*, ф*), УА (р*, Ф*), Хв (р*, ф*), Ув (р*, ф*) — координаты концов отрезка. Кроме того, величина р * также задает расстояние до найденной стены.

Аналогично можно найти и другие отрезки, проанализировав оставшиеся локальные максимумы.

При наличии высокого уровня шума в данных лидара можно дополнительно выполнить верификацию найденных отрезков, пройдя по найденным линиям и собрав точки вблизи нее.

Алгоритм детектирования прямолинейных участков

1. Представить пространство поиска в виде двумерных массивов размером Ятах х 360 и инициализировать их массив счетчиков Н = 0; массивы координат левых нижних углов Хд = Уд = *х>; массивы координат правых верхних углов Хв = Ув = 0.

2. Определить данные лидара по дальности Я (а) и мощности Р (а), а = 1... 360°.

3. Построить для каждого отсчета лидара R (а) с мощностью не ниже порога измерений P (а)> Pmin, а = 1... 360°, гармонический отклик в пространстве поиска.

3.1. Найти декартовы координаты а-й точки отражения луча лидара в исходном пространстве:

х (а) = R (a)cos а;

y (а) = R (a) sin а.

3.2. Построить отклик для каждого угла ф = 1... 360°.

3.2.1. Вычислить длину предполагаемой нормали к прямой

р = int [х (a) cos ф + y (a) sin ф].

3.2.2. Увеличить счетчик H (р, ф) = H (р, ф) +1.

3.2.3. Скорректировать концы отрезка:

Xa (р, ф) = min (Xa (р, ф), х (а));

Ya (р, ф) = min (Ya (р, ф), y (а));

Xb (р,ф) = max(Xb (р,ф), х(а));

Yb (р,ф) = max(Yb (р,ф), y (а)).

4. Найти счетчик H с максимальным значением h* = max (H) и его координаты р*, ф*.

5. Если значение h* меньше порогового, то существенные линейные ориентиры в поле зрения отсутствуют и робот продолжает движение в поисках ориентира.

6. Если значение h* оказалось выше порогового, то линейный ориентир полагается найденным и выполняется дополнительный поиск второго линейного ориентира с ортогональным направлением.

6.1. Найти максимум hi* = max (H) в области ф = ф* + 90 ±s. Если

значение h* больше порогового, то дополнительный линейный ориентир полагается найденным.

7. Выполнить фильтрацию частиц в соответствии с найденными линейными ориентирами.

Пример работы алгоритма представлен на рис. 3, б.

Ограничения на генерацию частиц. Наличие длинного отрезка в данных лидара позволяет ввести ограничения на ориентацию генерируемых частиц: направление частицы должно лежать в диапазоне ф* + 90k ± 8,

к = 0,1,2,3, в — допуск на ошибку. Если в помещении есть неортогональные стены или другие протяженные объекты, то они могут быть учтены аналогично. Это позволяет существенно снизить число частиц с заведомо неверной ориентацией: например, при в = 5° будет взят суммарный диапазон 40° вместо 360°, и алгоритм ускорится в 9 раз.

Наличие длинного отрезка в данных лидара задает ограничения и на положение, показывая, что камера находится именно на этом расстоянии от стен и только в такой ориентации (рис. 4, а).

Данные лидара

О

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Данные лидара

Рис. 4. Ограничения на положение камеры при наличии линейного (а) и углового (б) ориентиров

Наличие двух достаточно длинных и ортогональных отрезков в данных лидара позволяет задать точечный ориентир типа «угол» и еще более сократить область генерации точек (рис. 4, б). В этом случае существенная часть точек в заведомо неверных положениях просто исключается на ранних этапах. Однако здесь также появляется возможность того, что короткий отрезок создан не обозначенным на карте объектом, например, другим роботом.

Проверить соответствие расстояния от камеры до стены легко с использованием карты расстояний. В этом случае по заданной карте помещения для каждой точки заранее рассчитывается расстояние от нее

до ближайшей точки стены. В процессе проверки данных лидара найден* и

ное значение р сравнивается со значением расстояния в анализируемои точке с учетом некоторого допуска.

Ускорить процесс ориентации можно, задав более удачный маршрут обхода ориентиров. Маршрут строится так, чтобы обеспечить близкий

к оптимальному обход ориентиров, позволяющий как можно быстрее избавиться от неопределенности положения.

Ориентиры могут быть искусственными (например, фигурные маркеры) или естественными (например, стены, углы, проемы, а также специфические объекты, положение которых постоянно).

Вычислительный эксперимент. Для проверки предложенной модификации использовали MATLAB для реализации фильтра частиц и Gazebo для моделирования движения робота. Алгоритмы реализованы с использованием функции локализации Монте-Карло (MCL) на TurtleBot в среде Gazebo. Алгоритм требует известной карты, задача состоит в том, чтобы оценить положение и ориентацию робота на карте на основе движения робота и лазерного датчика.

Рассмотрим два варианта определения собственного положения робота: 1) глобальная локализация — робот может быть расположен в любом месте на карте (рис. 5, а); 2) локальная локализация — робот может находиться в определенной области на карте (рис. 5, б).

Рис. 5. Глобальная (а) и локальная (б) локализации с использованием фильтра частиц, конечное положение (в)

Робот перемещается по некоторой траектории, осматривая окружающую среду, и на каждом шаге вес частиц обновляется в зависимости от соответствия между данными лидара и картой. В конце пути робот может определить местоположение и ориентацию (рис. 5, в).

Выполним повторную выборку частиц, чтобы ограничить число частиц, исключить частицы с низким весом и сохранить частицы с большим

весом (веса зависят от совпадения). Необходимо получить хороший результат при оценке положения робота, когда используется большое число частиц. Однако это занимает больше времени, поэтому необходимо найти соотношение между числом частиц и временем выполнения. Для дальнейшей работы предложено использовать видеокамеру для повышения точности определения местоположения робота.

Для корректного определения начального положения робота в мире «Офис» среды Gazebo требуется первоначальная выборка примерно из 50 тыс. частиц (рис. 6, а). Для экспериментов использован компьютер с четырехъядерным процессором Intel® Core™ i7-4790 с тактовой частотой 3,6 ГГц. Время моделирования исходного алгоритма для 50 тыс. частиц составило 2,4 с на 1 итерацию. Из них 0,45 с составили постоянные затраты на моделирование, не связанные с расчетом положения частиц и не зависящие от их числа.

Рис. 6. Начальное распределение точек без учета данных лидара (а), с учетом ориентации (б), расстояния до стены (б) и ориентации и расстояния (б)

При наличии в поле зрения робота хотя бы одной стены можно ввести ограничения на ориентацию частиц. В этом случае существенная часть частиц может быть устранена как неправдоподобная по ориентации (рис. 6, б). Число частиц сокращается на порядок (без ухудшения качества работы алгоритма).

Наличие в поле зрения стены можно использовать и для задания ограничений на положение камеры. В этом случае существенная часть частиц может быть устранена как неправдоподобная по расстоянию до стены (рис. 6, в). Число частиц снова сокращается на порядок. Однако эффективность отсева будет сильно зависеть от положения робота относительно стены: число точек с малым расстоянием до стен больше, чем с большим.

Ограничения на угол и расстояние можно использовать одновременно. В этом случае получаем сокращение требуемого числа частиц на два порядка. Это позволяет алгоритму работать в режиме реального времени (рис. 6, г).

Следовательно, предложенная модификация фильтра частиц позволяет существенно сократить начальное число частиц за счет использования априорной информации и анализа карты помещения и существенно ускорить работу алгоритма определения первоначального положения с помощью фильтра частиц, делая возможным его применение для навигации внутри помещения.

Заключение. Рассмотрена задача определения собственного положения робота по данным лидара с применением модифицированного алгоритма фильтра частиц. Показано, что использование априорной информации о геометрии помещения вместе с детектором линейных ориентиров позволяет существенно сгладить основной недостаток фильтра частиц — большой объем вычислений при отсутствии серьезных ограничений на начальное местоположение мобильного объекта. Установлено, что применение детектора Хафа для данных лидара позволяет надежно детектировать линейные ориентиры даже в зашумленных данных, а наличие успешно найденных ориентиров — сократить требуемое число виртуальных частиц на два порядка и соответственно повысить скорость вычислений, сделав возможным работу алгоритма в реальном времени.

В дальнейшей работе предполагается использовать данные видеокамеры вместо лидара в целях увеличения числа доступных ориентиров в поле зрения и ускорения работы алгоритма ориентации, а также повышения его точности.

Среднее число частиц

Начальное распределение точек Распределение с учетом:

ориентации..................................

расстояния до стены..................

ориентации и расстояния .......

49 684

5 497 4 544 520

ЛИТЕРАТУРА

[1] Mohamed S.A.S., Haghbayan M.-H., Westerlund T., et al. A survey on odometry for autonomous navigation systems. IEEE Access, 2019, vol. 7, pp. 97466-97486.

DOI: https://doi.org/10.1109/ACCESS.2019.2929133

[2] Ullah I., Shen Y., Su X., et al. A localization based on unscented Kalman filter and particle filter localization algorithms. IEEE Access, 2019, vol. 8, pp. 2233-2246. DOI: https://doi.org/10.1109/ACCESS.2019.2961740

[3] Miura S., Hisaka S., Kamijo S. GPS multipath detection and rectification using 3D maps. IEEE ITSC, 2013, pp. 1528-1534.

DOI: https://doi.org/10.1109/ITSC.2013.6728447

[4] Kos T., Markezic I., Pokrajcic J. Effects of multipath reception on GPS positioning performance. Proc. ELMAR, 2010, pp. 399-402.

[5] Grewal M.S., Andrews A.P. Kalman filtering. Wiley, 2018.

[6] Rekleitis I.A. Particle filter tutorial for mobile robot localization. Technical Report TR-CIM-04-02. Centre for Intelligent Machines, McGill Univ., 2004.

[7] Del Moral P. Nonlinear filtering: interacting particle solution. Markov Process. Relat. Fields, 1996, vol. 2, no. 4, pp. 555-580.

[8] Zhang F., Li S., Yuan S., et al. Algorithms analysis of mobile robot SLAM based on Kalman and particle filter. IEEE ICMIC, 2017, pp. 1050-1055.

DOI: https://doi.org/10.1109/ICMIC.2017.8321612

[9] Thrun S., Burgard W., Fox D. Probabilistic robotics. Cambridge, MIT Press, 2005.

[10] Heilig A., Mamaev I., Björn H., et al. Adaptive particle filter for localization problem in service robotics. MATEC Web Conf., 2018, vol. 161, art. 01004.

DOI: https://doi.org/10.1051/matecconf/201816101004

[11] Marchetti L., Grisetti G., Iocchi L. A comparative analysis of particle filter based localization methods. In: Lakemeyer G., Sklar E., Sorrenti D.G., Takahashi T. (eds). RoboCup 2006: Robot Soccer World Cup X. RoboCup 2006. Lecture Notes in Computer Science, vol. 4434. Berlin, Heidelberg, Springer, 2006, pp. 442-449.

DOI: https://doi.org/10.1007/978-3-540-74024-7_44

[12] Thrun S. Particle filters in robotics. Proc. UAI, 2002, pp. 511-518. DOI: https://doi.org/10.48550/arXiv.1301.0607

[13] Fox D., Thrun S., Burgard W., et al. Particle filters for mobile robot localization. In: Doucet A., de Freitas N., Gordon N. (eds). Sequential Monte Carlo Methods in Practice. Statistics for Engineering and Information Science. New York, Springer, 2001, pp. 401-428. DOI: https://doi.org/10.1007/978-1-4757-3437-9_19

[14] Woo J., Kim Y.-J., Lee J., et al. Localization of mobile robot using particle filter. SICE-ICASE Int. Joint Conf., 2006, pp. 3031-3034.

DOI: https://doi.org/10.1109/SICE.2006.315151

[15] Valin J.-M., Michaud F., Rouat J. Robust localization and tracking of simultaneous moving sound sources using beamforming and particle filtering. Rob. Auton. Syst., 2007, vol. 55, iss. 3, pp. 216-228. DOI: https://doi.org/10.1016/j.robot.2006.08.004

[16] Arif S.A., Niaz M.H., Shabbir N., et al. RSSI based trilatertion for outdoor localization in Zigbee based wireless sensor networks (WSNs). IEEE CICN, 2018.

DOI: https://doi.org/10.1109/CICN.2018.8864943

[17] Wu K., Reju V.G., Khong A.W.H., et al. Swarm intelligence based particle filter for alternating talker localization and tracking using microphone arrays. IEEE/ACM Trans. Audio, Speech, Language Process., 2017, vol. 25, iss. 6, pp. 1384-1397.

DOI: https://doi.org/10.1109/TASLP.2017.2693566

[18] Fox D. Adapting the sample size in particle filters through KLD-sampling. Int. J. Rob. Res., 2003, vol. 22, iss. 12, pp. 985-1003.

DOI: https://doi.org/10.1177/0278364903022012001

[19] Gyorgy K., Kelemen A., David L. Unscented Kalman filters and particle filter methods for nonlinear state estimation. Procedia Technol., 2014, vol. 12, pp. 65-74.

DOI: https://doi.org/10.1016/jj.protcy.2013.12.457

[20] Montemerlo M., Thrun S., Koller D., et al. FastSLAM: a factored solution to the simultaneous localization and mapping problem. Proc. AAAI Conf. on Artificial Intelligence, 2002, pp. 593-598.

[21] Saarinen J., Andreasson H., Stoyanov T., et al. Normal distributions transform Monte-Carlo localization (NDT-MCL). IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2013, pp. 382-389. DOI: https://doi.org/10.1109/IROS.2013.6696380

[22] Lim T.Y., Yeong C.F., Su E.L.M., et al. Enhanced localization with adaptive normal distribution transform Monte Carlo localization for map based navigation robot. Electr. Eng., 2019, vol. 18, no. 3-2, pp. 17-24.

DOI: https://doi.org/10.11113/elektrika.v18n3-2.193

[23] Duda R.O., Hart R.E. Use of the Hough transformation to detect lines and curves in pictures. Commun. ACM, 1972, vol. 15, no. 1, pp. 11-15.

DOI: https://doi.org/10.1145/361237.361242

Бобков Александр Валентинович — канд. техн. наук, доцент кафедры «Системы автоматического управления» МГТУ им. Н.Э. Баумана (Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5, стр. 1).

Алхатиб Мажди Насиб — аспирант кафедры «Системы автоматического управления» МГТУ им. Н.Э. Баумана (Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5, стр. 1).

Просьба ссылаться на эту статью следующим образом:

Бобков А.В., Алхатиб М.Н. Метод фильтра частиц для определения первоначального положения робота в помещении. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение, 2024, № 1 (146), с. 74-92. EDN: CTDPBE

INTRODUCING THE PARTICLE FILTER METHOD IN DETERMINATION OF THE ROBOT INITIAL POSITION IN PREMISES

A.V. Bobkov alexander.bobkov@bmstu.ru

M.N. Alkhatib

Bauman Moscow State Technical University, Moscow, Russian Federation

Abstract

The paper considers the problem of determining the robot own position from the lidar data using a modified particle filter. The problem is relevant for many practical applications related to development and operation of the autonomous mobile platforms, for example, logistics robots in automated production and warehousing. The particle filter method most used in solving this problem is considered. The method involves generating the virtual particles that represent the robot probable position, changing the particles state according to the odometry data and subsequent filtering in accordance with matching in the observed and estimated lidar data. A drawback of the method was identified, i.e., high initial number of particles required in the method rapid convergence. The paper proposes a modified scheme based on preliminary detection of the large scene elements in the lidar data. It suggests introducing data transformation into Hough space for this purpose making it possible to identify the largest straight segments in the lidar data and correlate them with the premises map. Mathematical simulation was carried out in the MATLAB, ROS, and Gazebo environments to study the proposed algorithm properties. Experiments showed that the modified method could significantly reduce the particles initial number and make it possible to work in real time even in the large premises

Keywords

Robot position determination, Hough space, particle filter, autonomous navigation, logistics robot

Received 09.02.2023 Accepted 20.11.2023 © Author(s), 2024

REFERENCES

[1] Mohamed S.A.S., Haghbayan M.-H., Westerlund T., et al. A survey on odometry for autonomous navigation systems. IEEE Access, 2019, vol. 7, pp. 97466-97486.

DOI: https://doi.org/10.1109/ACCESS.2019.2929133

[2] Ullah I., Shen Y., Su X., et al. A localization based on unscented Kalman filter and particle filter localization algorithms. IEEE Access, 2019, vol. 8, pp. 2233-2246.

DOI: https://doi.org/10.1109/ACCESS.2019.2961740

[3] Miura S., Hisaka S., Kamijo S. GPS multipath detection and rectification using 3D maps. IEEE ITSC, 2013, pp. 1528-1534.

DOI: https://doi.org/10.1109/ITSC.2013.6728447

[4] Kos T., Markezic I., Pokrajcic J. Effects of multipath reception on GPS positioning performance. Proc. ELMAR, 2010, pp. 399-402.

[5] Grewal M.S., Andrews A.P. Kalman filtering. Wiley, 2018.

[6] Rekleitis I.A. Particle filter tutorial for mobile robot localization. Technical Report TR-CIM-04-02. Centre for Intelligent Machines, McGill Univ., 2004.

[7] Del Moral P. Nonlinear filtering: interacting particle solution. Markov Process. Relat. Fields, 1996, vol. 2, no. 4, pp. 555-580.

[8] Zhang F., Li S., Yuan S., et al. Algorithms analysis of mobile robot SLAM based on Kalman and particle filter. IEEE ICMIC, 2017, pp. 1050-1055.

DOI: https://doi.org/10.1109/ICMIC.2017.8321612

[9] Thrun S., Burgard W., Fox D. Probabilistic robotics. Cambridge, MIT Press, 2005.

[10] Heilig A., Mamaev I., Björn H., et al. Adaptive particle filter for localization problem in service robotics. MATEC Web Conf, 2018, vol. 161, art. 01004.

DOI: https://doi.org/10.1051/matecconf/201816101004

[11] Marchetti L., Grisetti G., Iocchi L. A comparative analysis of particle filter based localization methods. In: Lakemeyer G., Sklar E., Sorrenti D.G., Takahashi T. (eds). RoboCup 2006: Robot Soccer World Cup X. RoboCup 2006. Lecture Notes in Computer Science, vol. 4434. Berlin, Heidelberg, Springer, 2006, pp. 442-449.

DOI: https://doi.org/10.1007/978-3-540-74024-7_44

[12] Thrun S. Particle filters in robotics. Proc. UAI, 2002, pp. 511-518. DOI: https://doi.org/10.48550/arXiv.1301.0607

[13] Fox D., Thrun S., Burgard W., et al. Particle filters for mobile robot localization. In: Doucet A., de Freitas N., Gordon N. (eds). Sequential Monte Carlo Methods in Practice. Statistics for Engineering and Information Science. New York, Springer, 2001, pp. 401-428. DOI: https://doi.org/10.1007/978-1-4757-3437-9_19

[14] Woo J., Kim Y.-J., Lee J., et al. Localization of mobile robot using particle filter. SICE-ICASE Int. Joint Conf., 2006, pp. 3031-3034.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

DOI: https://doi.org/10.1109/SICE.2006.315151

[15] Valin J.-M., Michaud F., Rouat J. Robust localization and tracking of simultaneous moving sound sources using beamforming and particle filtering. Rob. Auton. Syst., 2007, vol. 55, iss. 3, pp. 216-228. DOI: https://doi.org/10.1016/jj.robot.2006.08.004

[16] Arif S.A., Niaz M.H., Shabbir N., et al. RSSI based trilatertion for outdoor localization in Zigbee based wireless sensor networks (WSNs). IEEE CICN, 2018.

DOI: https://doi.org/10.1109/CICN.2018.8864943

[17] Wu K., Reju V.G., Khong A.W.H., et al. Swarm intelligence based particle filter for alternating talker localization and tracking using microphone arrays. IEEE/ACM Trans. Audio, Speech, Language Process., 2017, vol. 25, iss. 6, pp. 1384-1397.

DOI: https://doi.org/10.1109/TASLP.2017.2693566

[18] Fox D. Adapting the sample size in particle filters through KLD-sampling. Int. J. Rob. Res., 2003, vol. 22, iss. 12, pp. 985-1003.

DOI: https://doi.org/10.1177/0278364903022012001

[19] György K., Kelemen A., David L. Unscented Kalman filters and particle filter methods for nonlinear state estimation. Procedia Technol., 2014, vol. 12, pp. 65-74.

DOI: https://doi.org/10.1016/j.protcy.2013.12.457

[20] Montemerlo M., Thrun S., Koller D., et al. FastSLAM: a factored solution to the simultaneous localization and mapping problem. Proc. AAAI Conf. on Artificial Intelligence, 2002, pp. 593-598.

[21] Saarinen J., Andreasson H., Stoyanov T., et al. Normal distributions transform Monte-Carlo localization (NDT-MCL). IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2013, pp. 382-389. DOI: https://doi.org/10.1109/IR0S.2013.6696380

[22] Lim T.Y., Yeong C.F., Su E.L.M., et al. Enhanced localization with adaptive normal distribution transform Monte Carlo localization for map based navigation robot. Electr. Eng., 2019, vol. 18, no. 3-2, pp. 17-24.

DOI: https://doi.org/10.11113/elektrika.v18n3-2.193

[23] Duda R.O., Hart R.E. Use of the Hough transformation to detect lines and curves in pictures. Commun. ACM, 1972, vol. 15, no. 1, pp. 11-15.

DOI: https://doi.org/10.1145/361237.361242

Bobkov A.V. — Cand. Sc. (Eng.), Assoc. Professor, Department of Automatic Control Systems, Bauman Moscow State Technical University (2-ya Baumanskaya ul. 5, str. 1, Moscow, 105005 Russian Federation).

Alkhatib M.N. — Post-Graduate Student, Department of Automatic Control Systems, Bauman Moscow State Technical University (2-ya Baumanskaya ul. 5, str. 1, Moscow, 105005 Russian Federation).

Please cite this article in English as:

Bobkov A.V., Alkhatib M.N. Introducing the particle filter method in determination of the robot initial position in premises. Herald of the Bauman Moscow State Technical University, Series Instrument Engineering, 2024, no. 1 (146), pp. 74-92 (in Russ.). EDN: CTDPBE

i Надоели баннеры? Вы всегда можете отключить рекламу.