Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

BUILDING NAVIGATION RECONFIGURABLE MODELS FOR MOBILE ROBOTS

Nguyen Trang Hoang Thuy 1, 2
1 National Research Tomsk State University
2 Viet Nam Maritime University
The key issue of mobile robot development is locating and navigating the robot in an unknown environment. Navigation and location techniques often have to use a mainframe system to process information received from the robot about the environment in which it traveled. In fact, mobile robots are usually very small, so robot also needs optimal, compact and appropriate technical problem-solving. There are many proposed methods, but these methods only solve algorithmically and the way to process information received from robots on hardware devices is not mentioned. Using the right hardware techniques for mobile robots is also a challenge for scientific researchers. This article describes the way to build a high-performance reconfigurable model based on the principles of parallel architecture combined with the SLAM algorithm for mapping mobile robots in indoor environments. Mobile robots will be built on the ROS platform in the Gazebo environment, putting obstacles that robots are not known, combining in parallel with the SLAM algorithm and the Octomap method. The reconfigurable model is designed in a Matlab environment consisting of many identical computational components, being controlled automatically based on the robot’s location and distance parameter. The results show that the built model will receive high-precision map, quickly and simultaneously with robot movement. In addition, this model can be installed on an IC, PC or FPGA, so this model has high practical applicability
Reconfigurable computing environment
high-performance reconfigurable model
high-performance computing system
SLAM
binary logic model

Появление роботов в значительной степени поддержало человеческую производственную деятельность. Робототехника стала неотъемлемой частью научных исследований. Сегодняшние автономные роботы способны заменить людей, работающих в опасных средах. Одним из методов, который ознаменовал большой скачок в применимости роботов, является метод SLAM – он позволяет роботам перемещаться в закрытых или недоступных пространствах, анализировать свое местоположении в реальном времени, позиционировать препятствия и при передвижении картировать окружающее их пространство [1]. Целью исследования является повышение эффективности компьютерной обработки и синтеза данных путем разработки и изучения реконфигурируемых алгоритмов и моделей компьютерных сред для обработки информации, картографирования для помощи в навигации робота в среде, в которой он движется.

Slam и Octomap

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

В настоящее время Slam используется на многих рынках и во многих приложениях, существующих в мире. Можно начать с мобильных телефонов и множества приложений дополненной реальности для большого количества беспилотных автомобилей и дронов, перемещающихся и летающих полностью автономно. Эта технология в настоящее время достаточно широко используется и продолжает исследоваться [6–8].

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

С годами алгоритм совершенствовался, аппаратная часть также улучшалась. Внедрение этой технологии уже происходит от CPU к GPU, а теперь даже на мобильных телефонах. Таким образом, повышение энергоэффективности и снижение массогабаритов – это вопрос исследований, представляющий сегодня большой интерес для молодых ученых. Существует множество алгоритмов SLAM, опубликованных для повышения производительности вычислений картирования и полной траектории. В этой статье предлагается метод аппаратной обработки, а именно создание микрочипа с использованием параллельных методов для оптимизации получаемой информации, а также для достижения высокой производительности [1; 3; 9].

Для оптимизации в работе с данными используется метод Octomap – это метод представления эффективно размещающихся сеточных карт в 3D. Он основан на октодереве с использованием вероятностных оценок занятости. Метод Octomap обеспечивает максимальную гибкость для области карты и ее разрешения. Кроме того, этот метод помогает эффективно представить моделирование последовательных данных при минимальных требованиях к памяти [10; 11].

nguen1.tif

Рис. 1. SLAM

nguen2a.tif nguen2b.tif

Рис. 2. Сервер SLAM для платформенной установки

nguen3.tif

Рис. 3. Связь элементарных вычислений построена в 4 слоя на основе метода Octomap

На основе метода Octomap строится модель автоматического картирования с 4 слоями, каждый слой будет состоять из 4 групп, каждая группа будет иметь 4 основных вычислительных компонента (рис. 3). Соединение этих элементарных компонентов в группах, а также между группами и слоями вместе осуществляется по логическому правилу. Когда элементарные вычисления в группе получают значение, равное единице, три других вычислительных элемента в группе также получают значение, равное единице. Когда элементарные вычисления в группе получают нулевое значение, три оставшихся элементарных вычисления в группе также получают значение, равное нулю.

Каждый элементарный вычислитель (ЭВ) имеет 10 входов, 5 выходов и 5 разрядов управляющего сигнала z. Для каждого из возможных наборов значений сигнала z мы будем иметь свой (индивидуальный) выходной сигнал. ЭВ, рассматриваемый в работе, описывается следующим образом [12–14]:

nguen01.wmf

nguen02.wmf

nguen03.wmf

nguen04.wmf

nguen05.wmf

nguen06.wmf

nguen07.wmf

nguen08.wmf

nguen09.wmf

nguen10.wmf

nguen11.wmf

nguen12.wmf

nguen13.wmf

nguen14.wmf

nguen15.wmf, (*)

где f1, f2, f3, f4, f5 – выходы ЭВ, x1, x2, x3, x4, q5, q6, q7, q8, q9, q10 – входы, z1, z2, z3, z4, z5 – настроенные входы.

Построение высокопроизводительной реконфигурируемой среды

Для повышения эффективности, экономии энергии, компактности, простоты в использовании – идеальным будет создание перестраиваемой вычислительной среды. Эта среда на самом деле представляет собой модель, разработанную с множеством небольших перестраиваемых автоматов. В частности, автомат внутри среды реализует новый подходящий для нее алгоритм для ускорения вычислительной обработки. Автоматами в среде будут элементарные вычислительные компоненты с идентичной структурой. Такой автомат будет настроен на основе регулируемого сигнала разряда z [15–18].

Построение перестраиваемых автоматов (ПА) также называется элементарными вычислениями, основанными на построении автоматических отображений. Автоматическое отображение построено по принципу зависимости изменения выходного сигнала от входного сигнала [15; 16].

Каждый ЭВ имеет 10 входов, 5 выходов и 5 разрядов управляющего сигнала z. С каждым набором из 5 контактов сигнал z будет иметь разный выходной сигнал.

Имитационная модель, основанная на формуле (*), показана на рис. 4.

Моделирование в среде Gazebo

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

В среде Gazebo, когда робот движется, положение робота может быть определено на основе каждого координатного кадра, переданного роботом. Через лазерный датчик собираются данные о расстоянии от робота до препятствия. Эти данные о расстоянии сравниваются с размерами робота, далее определяется положение ячейки, содержащей препятствие, и устанавливается для этой ячейки значение 1. То есть во сколько раз расстояние от робота до объекта больше размера робота, столько раз будет вычислено количество квадратов от робота до препятствия, при том что размещение указанной ячейки с препятствием равно единице [15; 16].

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

nguen4.tif

Рис. 4. Элементарный вычислитель создан в перестраиваемой вычислительной среде

nguen5.tif

Рис. 5. Робот Turtlebot 3 Waffle в Gazebo

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

Когда робот перемещается в симуляционной обстановке Gazebo (рис. 5), вокруг него возникают препятствия. Робот получает данные о расстоянии от него до объекта с лазерного датчика. Затем для каждого координатного кадра также фиксируются данные о координатах положения робота, и обрабатывается соответствующая информация.

В этом методе предполагается, что размер робота соответствует ячейке. И текущая построенная область обладает размерами 6×6. Когда робот движется прямо вперед, собранные данные о расстоянии обрабатываются и сравниваются с размером робота, исходя из чего можно вычислить, какие ячейки содержат препятствия, а какие нет.

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

При применении метода Octomap связь между элементами в этой реконфигурируемой среде показана на рис. 6.

При создании этой среды в программном обеспечении Matlab результаты, полученные, как показано на рис. 7, будут реконфигурированы ЭВ в этом чипе путем настройки разрядов управляющих сигналов. Эти ЭВ конструктивно похожи, они изменятся только при изменении управляющих ими сигнальных разрядов. Для среды размером 6x6 необходимо построить ЭВ, соответствующие данной среде (рис. 8), т.е. потребуется 36 ЭВ.

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

nguen6.tif

Рис. 6. Подключение среды реконфигурации по методу Octomap

nguen7.tif

Рис. 7. Среда реконфигурации, встроенная в Matlab

nguen8.tif

Рис. 8. Карта робота получается при прямом движении из начальной позиции в конечную позицию окружающей среды

Заключение

Создание модели реконфигурируемой вычислительной среды, возможность ее размещения на мобильных роботах, программирование и автоматическое отображение каждого движения робота в данной среде – это новый подход к SLAM. Кроме того, становится совершенно выгодно создавать подобные модели, поскольку возможность реконфигурировать электромобили во время программирования, а не проектировать компоненты оборудования, не может быть установлена на электронных устройствах. Использование этой модели на ПЛИС или на компьютере, на микрочипе или на других устройствах имеет широкое практическое применение и может широко использоваться в мире.