ОПТИМИЗАЦИЯ ПЛАНИРОВАНИЯ ТРАЕКТОРИЙ МОБИЛЬНЫХ РОБОТОВ ПРИ ВЫПОЛНЕНИИ МНОЖЕСТВА ЗАДАЧ В ПОМЕЩЕНИИ

OPTIMIZING MOBILE ROBOT NAVIGATION FOR MULTIPLE TASK EXECUTION
Цитировать:
Нгуен А.В., Хоанг В.Т. ОПТИМИЗАЦИЯ ПЛАНИРОВАНИЯ ТРАЕКТОРИЙ МОБИЛЬНЫХ РОБОТОВ ПРИ ВЫПОЛНЕНИИ МНОЖЕСТВА ЗАДАЧ В ПОМЕЩЕНИИ // Universum: технические науки : электрон. научн. журн. 2025. 4(133). URL: https://7universum.com/ru/tech/archive/item/19749 (дата обращения: 05.12.2025).
Прочитать статью:
DOI - 10.32743/UniTech.2025.133.4.19749

 

АННОТАЦИЯ

Данная работа посвящена разработке решений по оптимизации маршрутов движения мобильных роботов в сложных рабочих средах, таких как крупные здания или промышленные цеха, где роботы должны перемещаться по множеству пунктов назначения и выполнять различные задачи. Были предложены и сравнены два основных подхода: Решение 1, комбинация алгоритма Дейкстры для поиска кратчайшего пути между двумя узловыми точками с методом полного перебора всех возможных перестановок пунктов назначения; Решение 2, комбинация алгоритма Дейкстры с генетическим алгоритмом для оптимизации выбора последовательности пунктов назначения, тем самым минимизируя общее расстояние, пройденное роботом. Результаты экспериментов показали, что для задач с количеством пунктов назначения, не превышающим 5, первое решение обеспечивает более высокую эффективность с точки зрения времени обработки, которое составляет менее 3 секунд. Полученные результаты открывают широкие возможности для применения в разработке систем автоматизированных роботов для промышленных и гражданских сред, где роботы должны перемещаться и выполнять задачи по сложным маршрутам.

ABSTRACT

This study focuses on the development of path optimization solutions for mobile robots in complex operating environments, such as large buildings or factories, where robots must navigate through multiple destinations and perform various tasks. Two main approaches were proposed and compared: Solution 1, which combines the Dijkstra algorithm to find the shortest path between two nodes with a method of enumerating all possible permutations of destinations; and Solution 2, which combines the Dijkstra algorithm with a genetic algorithm to optimize the selection of destination sequences, thereby minimizing the robot's total travel distance. The experimental results demonstrate that for tasks with up to 5 destinations, the first solution yields higher efficiency in terms of processing time, with computation times under 3 seconds. With these achieved results, this research opens up broad application potential in the development of automated robot systems for industrial and civilian environments where robots need to navigate and perform tasks along complex paths.

 

Ключевые слова: установка траектории движения робота, автономный робот.

Keywords: Path planing for robot, indoor robot, self-propelled robot.

 

1. Введение

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

В основе задачи планирования движения лежит учет таких факторов, как топография местности, поставленная задача, скорость, характер движения и динамические характеристики робота [4,5]. Это означает определение траектории движения, по которой робот должен перемещаться к заданной целевой позиции, избегая столкновений с препятствиями в рабочей зоне. Обычное планирование маршрута требует карты местности, целевой позиции, а затем разработки решения для достижения роботом цели в процессе работы.

Исследование решения задачи планирования траектории движения робота как в помещении, так и на открытом воздухе привело к разработке множества решений, предложенных исследователями, таких как: метод потенциального поля [6]; решение для построения траектории движения робота, сочетающее диаграмму Вороного и потенциальное поле [7]; метод дорожной карты (Road Map) [8]; метод Q-обучения [9], ... Каждое решение имеет свои преимущества и недостатки, а выбор конкретного решения во многом зависит от среды работы и требований задачи движения робота. В теории графов также существует множество решений для поиска оптимального маршрута для робота, таких как алгоритм Dijkstra, алгоритм Bellman-Ford, алгоритм A*, ... Однако эти алгоритмы обычно касаются поиска оптимального маршрута между двумя конечными точками в графе или от одной вершины ко всем остальным. В этом исследовании авторы хотели бы рассмотреть более углубленный вопрос: как найти оптимальный маршрут через несколько вершин для применения в задаче построения плана движения сервисного робота при выполнении нескольких задач (перевозка предметов первой необходимости, товаров, оборудования, ...) с несколькими целевыми точками. Средой работы робота являются многоэтажные здания с множеством комнат или цеха с большими площадями и пересекающимися маршрутами.

 

Рисунок 1. Карта рабочей среды робота на 16-м этаже здания S1/ университета имени Ле Куи Дона

 

На рисунке 1 показан план 16-го этажа здания S1 Университета Ле Куи Дон. На этом этаже размещены сервисные роботы для помощи в транспортировке необходимого оборудования между различными комнатами.

Предположим, что робот, находящийся в комнате 3 (узел 3), получает задание доставить оборудование A в комнату 6 (узел 6), затем оборудование B из комнаты 17 (узел 22) и доставить его в пункт сбора в комнате 19 (узел 16).

Применяя алгоритм Dijkstra, можно определить оптимальный маршрут для робота от одной точки ко всем остальным. Таким образом, при выполнении вышеуказанного задания робот, отправляясь из узла 3, должен пройти через узлы 6 и 22 (порядок прохождения еще не определен) для выполнения задания. Затем он возвращается в узел 16 (пункт сбора). Применяя алгоритм Dijkstra, мы определяем оптимальные маршруты через обязательные узлы (3, 6, 22, 16), как показано в таблице 1.

Таблица 1.

Оптимальный маршрут через 2 узла

Целевой узел

Оптимальный маршрут, рассчитанный по алгоритму Dijkstra

Общая дистанция перемещения (м)

1

3 - 6

3-4-5-6

20

2

3-22

3-22

3

3

6-22

6-5-4-3-22

23

4

22-6

22-3-4-5-6

23

5

6-16

6-5-16

7

6

22-16

22-3-4-5-16

22

 

Как мы видим, с помощью алгоритма Dijkstra можно рассчитать только оптимальный маршрут через две точки. Этот результат подходит только для планирования движения робота при перемещении между двумя узлами для выполнения задачи. Однако в задаче, где роботу необходимо выполнить несколько задач, как в приведенном выше примере (необходимо отправиться из узла 3, затем в узлы 6 (забрать оборудование A) и 22 (забрать оборудование B), а затем вернуться в узел 16), применение только алгоритма Dijkstra не позволяет найти оптимальный маршрут, поскольку возможны различные варианты, а именно:

Вариант 1: Если следовать маршруту от узла 3 через узел 6 (забрать оборудование A), к узлу 22 (забрать оборудование B), а затем к узлу 16 (конец). Тогда маршрут движения будет в следующем порядке: узлы 3-4-5-6-5-4-3-22-3-4-5-16 (выделенные узлы - это узлы, которые необходимо пройти, невыделенные узлы - это промежуточные узлы движения на карте, чтобы показать оптимальный маршрут через два обязательных узла), а общая дистанция будет: 20+23+22 = 65 м.

Вариант 2: Если следовать маршруту от узла 3 через узел 22, затем к узлу 6, а затем к узлу 16, то маршрут движения будет в следующем порядке: узлы 3-22-3-4-5-6-5-16, а общая дистанция будет: 3+23+7 = 33 м.

Таким образом, хотя расстояние между двумя узлами и является кратчайшим, при объединении нескольких задач с несколькими узлами, через которые необходимо пройти, возникает множество вариантов с разной общей стоимостью. В приведенном выше случае мы рассматриваем только случай, когда робот должен выполнить задачи в двух узлах (узлы 6 и 22), поэтому будет 2 варианта движения. В действительности роботу придется выполнять гораздо больше задач, поэтому в процессе построения маршрута движения робота будет очень много разных вариантов. Если роботу необходимо пройти через n обязательных узлов для выполнения различных задач, у нас будет n! вариантов движения через обязательные узлы. Здесь мы говорим только об обязательных узлах, которые необходимо посетить для выполнения задач, а промежуточные узлы в процессе движения робота между двумя обязательными узлами будут рассчитаны с помощью алгоритма Dijkstra. В этом случае, как правило, когда робот выполняет не слишком большое количество задач, например, менее 5 узлов, которые необходимо пройти, что соответствует менее 5! = 120 вариантов, мы можем применить метод перебора всех возможных вариантов для нахождения наилучшего варианта. Однако при выполнении более крупных задач этот процесс становится невозможным из-за слишком большого объема вычислений и неоптимальности по времени в процессе расчета плана движения робота.

Например, если необходимо пройти через 10 обязательных узлов, мы имеем:

- Количество вариантов движения: 10! = 3 628 800 вариантов

- Каждый вариант требует прохождения 10 обязательных узлов, таких как D1D2...D10, и нам необходимо найти оптимальный маршрут для 9 пар узлов DiDi+1.

- Предварительное время для поиска оптимального маршрута для 2 любых пар узлов (рассчитанное на основе обычного значения при применении к графу с примерно 100 узлами): 0,002 (с).

Результаты расчетов показывают, что общее время, необходимое для определения оптимального маршрута для робота с 10 точками перемещения, составляет: 10! * 9 * 0,002 = 65.318,4 (с) (что эквивалентно 18,144 часам). Таким образом, даже при наличии всего 10 точек перемещения, время, необходимое для выполнения компьютером, уже превышает 18 часов. Это время обработки показывает непрактичность текущего подхода к построению маршрута движения робота, когда он должен пройти через множество обязательных точек для выполнения множества задач.

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

В этом исследовании авторы также предлагают решение для определения способа движения робота при прохождении узлов (например, если маршрут установлен как 2-3-4, то, согласно карте движения, как робот узнает, что ему нужно двигаться прямо при прохождении узла 3, или если маршрут 2-3-22, то как робот узнает, что ему нужно повернуть направо при прохождении узла 3,...).

Кроме того, авторы предлагают решение для упаковки информации о плане движения робота (пакет информации включает: последовательность узлов для перемещения в порядке, способы перемещения и задачи, выполняемые в узлах робота). Этот пакет информации устанавливается в центре мониторинга и управления и отправляется роботу по стандарту TCP/IP через локальную сеть Wi-Fi (WLAN). На основе полученной информации о плане движения робот может надежно выполнять свои задачи. Такой способ однократной передачи информации также повысит надежность работы робота, сократит время взаимодействия между роботом и центром мониторинга и управления, а также оптимизирует скорость передачи данных между роботом и центром мониторинга и управления.

2. Методы решения задачи планирования движения робота

2.1. Общее решение

Процесс планирования движения и выполнения задач роботом представлен на рисунке 2.

 

Рисунок 2. Комплексное решение для планирования движения и выполнения задач роботом

 

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

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

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

2.2. Создание рабочей среды для робота

Рабочая среда робота, смоделированная в данном исследовании, описывает рабочую среду медицинского транспортного робота Vibot-1, работающего в помещении, например, в больницах или карантинных зонах, для выполнения таких задач, как доставка еды, лекарств, вынос мусора и т. д. В частности, авторы моделируют рабочую среду робота на 16-м этаже здания S1 Университета Ле Куи Дон, аналогично работе робота в больнице или карантинной зоне (Рисунок 1). Узлы предназначены для определения местоположения комнат и пересечений маршрутов. Определение узлов осуществляется с помощью QR-кодов или штрих-кодов. Маршруты, соединяющие точки перемещения, отмечены линиями, по которым движется робот.

 

Рисунок 3. Граф узлов с весами ребер, соответствующих расстояниям между узлами

 

На основе карты рабочей среды робота на 16-м этаже здания S1 Университета Ле Куи Дон мы можем представить ее в виде графа, как показано на рисунке 3. На графе показаны узлы и соответствующие расстояния между узлами (эквивалентные расстояниям на реальной карте 16-го этажа).

2.3. Блок-схема алгоритма

На основе решения, представленного в разделе 2.1, можно построить блок-схему алгоритма процесса построения плана движения робота, сочетающую определение способа движения и задач, которые роботу необходимо выполнить. Блок-схема алгоритма представлена на рисунке 4.

 

Рисунок 4. Блок-схема алгоритма

 

Несколько основных шагов в процессе установки плана движения робота:

Шаг выбора комнаты для перемещения:

Во-первых, на основе карты местности 16-го этажа (Рисунок 1) определяется матрица точек, эквивалентная определению комнат и соответствующих узлов. Например, если необходимо попасть в комнату 5, роботу необходимо перейти к узлу 5. Однако, если роботу необходимо попасть в комнату 10, ему необходимо переместиться к эквивалентному узлу 13, ...

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

Шаг поиска оптимального маршрута движения робота:

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

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

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

 

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

 

Шаг определения способа движения робота в узловых точках:

Наблюдая за рисунком 1, карта движения робота на 16-м этаже представлена 27 узлами, из которых 19 узлов соответствуют комнатам с 1 по 19, а 12 узлов представляют собой точки пересечения. Мы видим, что в точках, не являющихся точками пересечения, во время движения по маршруту робот может двигаться только вперед или разворачиваться. В точках пересечения робот может двигаться более гибко.

С другой стороны, после шага поиска оптимального маршрута робота была определена последовательность узлов (описанная в порядке), через которые роботу необходимо пройти для выполнения задачи. Если объединить эту последовательность узлов с картой местности 16-го этажа, то видно, что в точках пересечения у робота есть только одна возможная траектория движения.

Например, наблюдая за рисунком 5, мы видим, что если робот находится в узле 3, а маршрут движения, установленный для робота, составляет 1, 2, 3, 22, ..., то это означает, что робот должен повернуть направо в узле 3. Исходя из этой идеи, авторы предлагают решение для определения способа движения робота в узловых точках путем создания матриц условий, определяющих способ движения робота. Эти матрицы представлены на рисунке 6.

 

Рисунок 6. Матрицы условий поворота налево (a), поворота направо (b), разворота (c)

 

Шаг объединения маршрута движения, способа движения и задач, которые роботу необходимо выполнить:

В процессе передачи информации о плане движения и задачах, которые роботу необходимо выполнить, из центра мониторинга и управления роботу, чтобы избежать потери или прерывания информации, влияющих на процесс получения задач роботом, а также для оптимизации скорости передачи информации (в данном случае среда передачи использует сеть WLAN со стандартом передачи TCP/IP), авторы предлагают решение по созданию пакетов данных, связанных с каждым узлом, который роботу необходимо посетить при выполнении задачи. Пакет данных, связанный с каждым узлом, представлен на рисунке 7.

 

Рисунок 7. Пакеты данных в узловых точках

 

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

- На основе результатов задачи определения задачи в узлах (соответствующих комнатам) можно определить, необходимо ли роботу выполнять какую-либо задачу в этой точке (да/нет), и если да, то какую задачу? (задачи кодируются символами 1/2/3, ...).

- На основе результатов задачи определения способа движения в узловых точках также известен способ движения робота в любой узловой точке из последовательности узлов, через которые роботу необходимо пройти. Например, способ движения в n-м узле: 1 - движение прямо по маршруту; 2 - поворот налево; 3 - поворот направо; 4 - разворот, ...

На основе этих результатов будет создана матрица, содержащая пакеты данных с информацией обо всех точках, через которые роботу необходимо пройти в порядке следования. Пакет информации включает: состояние узловой точки, задачу в узловой точке, а также способ движения в узловой точке. Все эти данные кодируются в виде последовательности данных и отправляются на управляющий компьютер (NI MyRIO), установленный на роботе, через сеть WLAN. Затем робот декодирует этот набор данных и выдает информацию для движения робота.

3. Экспериментальные результаты

3.1. Разработка программы

Для экспериментального подтверждения предложенного алгоритма авторы разработали экспериментальную программу в среде LabVIEW. Компьютер в центре мониторинга и управления был подключен к управляющему компьютеру (установленному на роботе) через сеть WLAN. Интерфейс программы управления в центре представлен на рисунке 8 и состоит из 5 основных областей:

- (1): Область отображения схемы местности для движения робота. Позволяет оператору взаимодействовать с изображением для выбора комнат, в которые роботу необходимо переместиться для выполнения задачи.

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

- (3): Область, позволяющая оператору выбирать задачи, которые роботу необходимо выполнить в комнатах.

- (4): Область, позволяющая установить режим ручного или автоматического управления.

- (5): Область отображения изображения, полученного с IP-камеры, установленной на роботе.

 

Рисунок 8. Интерфейс программы управления в центре

 

3.2. Разработка модели сервисного робота для эксперимента

a) Разработка модели робота

Для проведения экспериментальной оценки процесса перемещения робота по заданному маршруту, авторский коллектив разработал модель робота для поддержки экспериментальной работы (Рисунок 9).

 

Рисунок 9. Структура робота

 

Структура робота представлена на Рисунке 9. Робот спроектирован из семи компонентов:

Контроллер: NI MyRIO.

Источник питания Vision CP1270 12V – 7Ah

Мотор-редуктор: DCM50-775 24VDC 400RPM

Энкодер: 13ppr.

Силовая цепь: Драйвер двигателя DC BTS7960 43A

Датчик следования по линии: TCRT5000

Колеса: ZD Racing 150mm

b) Разработать программу для создания сети передачи данных

Для облегчения обмена сигналами между Роботом и центральным компьютером, группа предлагает использовать функцию создания сетевых переменных между центральным компьютером и NI MyRIO. Это позволяет авторам создать библиотеку и общие параметры между центральным компьютером и NI MyRIO, обеспечивая непрерывный обмен информацией в реальном времени. Библиотека для системы представлена на Рисунке 10.

 

Рисунок 10. Структура библиотеки передачи данных по WLAN

 

Блок 1, мы настраиваем параметры связи между Роботом 2 (NI MyRIO) и центральным компьютером; Блок 2 определяет формат данных для связи; Блок 3, расположенный на устройстве NI MyRIO на Роботе 2, отвечает за запись данных о положении робота в переменную "DiemHT"; Блок 4, работающий на центральном компьютере, считывает данные о положении робота (DiemHT) из сети WLAN.

3.3. Эксперимент

a) Экспериментальная оценка процесса расчета оптимального маршрута движения робота

В данной экспериментальной работе с целью оценки скорости вычислений при определении маршрута движения робота были использованы два решения:

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

Решение 2: комбинация алгоритма Дейкстры и генетического алгоритма для определения оптимального маршрута движения робота.

В ходе эксперимента авторский коллектив использовал граф, описывающий 16-й этаж здания S1 (Рисунок 1) с 19 комнатами (26 точками). Для повышения точности авторы провели эксперименты для каждого случая, начиная с прохождения роботом 2 узловых точек (соответствует посещению 2 разных комнат для выполнения задачи) до 15 узловых точек. Каждый эксперимент проводился одинаково для обоих решений, каждый запуск программы повторялся 3 раза, а среднее время вычислений использовалось в качестве параметра оценки. Результаты эксперимента представлены в Таблице 2.

Таблица 2.

Результаты эксперимента

Начал./Конеч. точка

Количество узловых точек, через которые должен пройти робот

Расстояние перемещения

Время вычисления (C )

Решение 1

Решение 2

Решение 1

Решение 2

1

0;14

2.3

36

36

0.2

2.2

2

0;14

2.3.4

36

36

0.5

2.4

3

0;14

2.3.4.5

36

36

2.1

2.64

4

0;14

2.3.4.5.6

44

44

10.1

2.8

5

0;14

2.3.4.5.6.8

56

56

68.5

4.2

6

0;14

2.3.4.5.6.8.11

70

70

451.2

6.8

7

0;14

2.3.4.5.6.8.11.12

 x

70

 x

10.2

8

0;14

2.3.4.5.6.8.11.12.13

 x

70

26.7

9

0;14

2.3.4.5.6.8.11.12.13.17

 x

70

 x

35.4

10

0;14

2.3.4.5.6.8.11.12.13.17.18

 x

79

 x

50.5

11

0;14

2.3.4.5.6.8.11.12.13.17.18.19

 x

83

 x

60.1

12

0;14

2.3.4.5.6.8.11.12.13.17.18.19.23

 x

89

 x

80.2

13

0;14

2.3.4.5.6.8.11.12.13.17.18.19.23.25

 x

95

 x

98.4

14

0;14

2.3.4.5.6.8.11.12.13.17.18.19.23.25.20

 x

101

 x

112.5

15

0;14

2.3.4.5.6.8.11.12.13.17.18.19.23.25.20.22

 x

105

126.3

16

0;14

2.3.4.5.6.8.11.12.13.17.18.19.23.25.20.22.16

 x

118

 x

135.8

 

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

 

Рисунок 11. График сравнения времени построения оптимального маршрута движения робота

 

Рисунок 12. Оптимальное расчетное расстояние

 

Наблюдая Таблицу 2 и Рисунок 11, можно заметить, что при определении маршрута движения робота через 3 обязательные узловые точки (и менее) время вычисления по Решению 1 (комбинация алгоритма Дейкстры и последовательного перебора всех возможных комбинаций) быстрее, чем по Решению 2 (комбинация алгоритма Дейкстры и генетического алгоритма). Однако, если количество обязательных узловых точек превышает 3, то Решение 2 вычисляется быстрее. Особенно, когда количество узловых точек превышает 3, время вычисления по Решению 1 резко возрастает и становится практически невозможным при количестве узловых точек более 5.

Наблюдая Таблицу 2 и Рисунок 12, также видно, что при количестве узловых точек более 6 Решение 1 не дает результатов (из-за слишком большого времени вычислений, что неприемлемо для практического применения). Однако, Решение 2, несмотря на увеличение времени вычислений, обеспечивает определение оптимального маршрута движения робота за приемлемое время.

b) Эксперимент по настройке программы для выполнения роботом задач по схеме 16-го этажа здания S1

Для проверки общей работоспособности системы, включая: возможность создания информационных пакетов и передачи информации от центра управления и мониторинга к роботу; определение оптимального маршрута движения; определение способа движения в узловых точках при выполнении различных задач (1- доставка еды; 2- доставка лекарств; 3- сбор мусора), авторский коллектив разработал имитацию рабочей среды (движение робота по линии) на 2-м этаже здания S1, используя разработанную модель робота для экспериментальной проверки системы.

 

Рисунок 13. (a) Структура программы управления, (b) фотографии реального эксперимента

 

Структура программы управления и область тестирования представлены на Рисунке 13. Результаты тестирования представлены в Таблице 3.

Таблица 3.

Статистика результатов испытаний планирования движения робота

Эксперимент

Раз 1

Раз 2

Раз 3

Раз 4

Раз 5

Параметры настройки

Комната, в которую должен прибыть робот

1;2;3

2;1;3

6;7;8

8;7;6

4;15

Задача для выполнения

1

2

3

1

2

Результаты построения плана движения, включающие способ движения и задачу для выполнения

Порядок точек, которые необходимо посетить

0;2;3

0;2;3

6;8;11

6;8;11

25;4

Маршрут последовательности точек, которые необходимо посетить

0;0;1;2;3

0;1;2;3

0;1;2;3;4;5;6;7;8;7;9;10;11

0;1;2;3;4;5;6;7

8;7;9;10;11

0;1;26;24;25;24;26;1;2;3;4

Способ передвижения в узловых точках

Прямо

0;1;2

0;1;2

0;1;2;3;4;5;6;7;9

0;1;2;3;4;5;6;7;9

0;26;26;2;3

 

Поворот налево

 

 

7;10

7;10

24;

Поворот направо

 

 

 

 

1;24;1

Разворот

0

 

8

8

25

Завершение задачи

3

3

11

11

4

Время вычисления (по счетчику встроенного компьютера)

<1s

<1s

<1s

<1s

<1s

Точность задачи построения траектории движения робота (визуально)

точно

точно

точно

точно

точно

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

гарантировано

гарантировано

гарантировано

гарантировано

гарантировано

Декодирование пакета информационных данных о плане движения робота

точно

точно

точно

точно

точно

 

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

4. Заключение

В данной работе представлен новый подход к оптимизации маршрута движения робота, особенно в крупных рабочих средах, таких как промышленные цеха, склады или многоэтажные здания, где требуется перемещение робота по сложным маршрутам и выполнение многозадачности. Были предложены и сравнены два основных решения: (1) комбинация алгоритма Дейкстры с методом полного перебора всех возможных перестановок, и (2) комбинация алгоритма Дейкстры с генетическим алгоритмом.

Результаты эксперимента показали, что для задач с количеством точек назначения, не превышающим 5 узловых точек, первое решение обеспечивает более высокую эффективность с точки зрения времени обработки, при времени вычислений менее 3 секунд. Однако, когда количество задач превышает 5, второе решение демонстрирует превосходство в вычислительной эффективности. Это обеспечивает важную основу для выбора оптимального решения маршрутизации в зависимости от сложности задачи и рабочей среды. Кроме того, в исследовании также предложены решения для определения способа движения робота в узловых точках посредством построения матрицы условий движения, а также методы упаковки и передачи данных маршрута и задачи через сеть WLAN с использованием протокола TCP/IP. Результаты эксперимента подтвердили надежность и эффективность этих решений.

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

 

Список литературы:

  1. Tang Quoc Nam, Hoang Van Tien, Nguyen Anh Van, Nguyen Dinh Quan, (2023). Development of an autonomous mobile robot system for hospital logistics in quarantine zones. Intelligent Systems and Networks, 752, pp.271-281. DOI:10.1007/978-981-99-4725-6_34.
  2. Tuomi, A., Tussyadiah, I. P., & Stienmetz, J. (2021). Applications and Implications of Service Robots in Hospitality. Cornell Hospitality Quarterly, 62(2), 232–247.
  3. A. Grau, M. Indri, L. Lo Bello and T. Sauter. (2017). Industrial robotics in factory automation: From the early stage to the Internet of Things. Proc. IECON 2017–43rd Annu. Conf. IEEE Ind. Electron. Soc., pp. 6159-6164, 2017
  4. Anh Van Nguyen. (2022). Use of Image Processing Technology to Identify the Position of Indoor Robot. Lecture Notes in Mechanical Engineering, 835-845. Doi: https://doi.org/10.1007/978-3-030-99666-6_122
  5. Anh Van Nguyen, The Hung Tran. (2022). Determining Objects Surface and Its Characteristics by Mathematical Approach. Lecture Notes in Mechanical Engineering, 861-866. Doi: https://doi.org/10.1007/978-3-030-99666-6_125
  6. J. Barraquand, B. Langlois, J.-C. Latombe (1992). Numerical potential field techniques for robot path planning. IEEE Transactions on Systems, Man, and Cybernetics, Vol 22, 224-240.
  7. Evgeni Magid, Roman Lavrenov, llya Afanasyev (2017). Voronoi-based trajectory optimization for UGV path planning. International Conference on Mechnical, System and Control Engineering. 383-387.
  8. Priyadarshi Bhattacharya, Marina L. Gavrilova (2008). Roadmap-Based path planning – Using the Voronoi diagram for a clearance- based shortest path. IEEE Robotics & Automation Magazine. 58-66.
  9. Amit Konar, Indrani Goswami Chakraborty, Sapam Jitu Singh (2013). A Deterministic improved Q-learning for path planning of a mobile robot. IEEE Transactions on Systems, Man, and Cybernetics, Vol 43, 1141-1153.
Информация об авторах

канд. техн. наук, преподаватель, Технический Университет имени Ле Куи Дона, Вьетнам, г. Ханой

PhD, lecturer, Le Quy Don technical university, Vietnam, Hanoi

аспирант, Технический Университет имени Ле Куи Дона, Вьетнам, г. Ханой

PhD student, Le Quy Don technical university, Vietnam, Hanoi

Журнал зарегистрирован Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), регистрационный номер ЭЛ №ФС77-54434 от 17.06.2013
Учредитель журнала - ООО «МЦНО»
Главный редактор - Звездина Марина Юрьевна.
Top