УДК DOI 10.52167/1609-1817-2023-128-5-268-276 А.Ю. Бектилевов1, Т.Р. Сабитов1, Л.Т. Тасболатова1 ,
П.М. Рахметов1, Д. Керимкулов2
1Satbayev University, Алматы, Казахстан
2Институт механики и машиноведения им. У. А. Джолдасбекова, Алматы, Казахстан E-mail:[email protected]
АЛГОРИТМ ПОСТРОЕНИЯ ПУТЕЙ ДЛЯ ГРУППЫ РОБОТОВ, ДВИЖУЩИХСЯ В ДВУХ ИЗМЕРЕНИЯХ В СРЕДЕ С НЕПОДВИЖНЫМИ ПРЕПЯТСТВИЯМИ
Аннотация. В данной статье предложен алгоритм построения путей для группы роботов, движущихся в двух измерениях в среде с неподвижными препятствиями.
Препятствия и карта местности задаются в виде множества отрезков. Разработана программа, реализующая алгоритм. Представлены результаты работы программы, рассмотрены достоинства и недостатки алгоритма. Алгоритм по принципу работы схож с RRT, поэтому наиболее эффективен для карт с малым количеством замкнутых пространств. Программа написана на языке C++ с использованием средств Qt и доступна для скачивания.
Ключевые слова. Алгоритм, планирование пути, робот, группа роботов, робототехника.
Введение.
Планирование пути - важная задача, возникающая при управлении роботами.
Применение отталкивающих и притягивающих множеств для управления подвижными объектами управления нашло свое отражение в трудах А.К. Платонова. В его труде для решения задачи выбора пути следования группы роботов использован метод потенциальных полей. Труды Брукса и Хатиба служат основным источником зарубежных ученых, а также стоит отметить метод «силовое поле» для управления подвижными роботами, идея которого принадлежит фирме «Hitachi».
Применение теоремы неустойчивости Ляпунова позвлолило созданию идеи трансформации точечных препятствий в репеллеры [1,2]. Суть этого метода позволяет обходиться без графического составления карты пути движения в среде с препятствиями.
Этот метод успешно использован для составления алгоритма в трехмерном пространстве в труде [3], а в [4] литературе этот метод применен для образования различных конфигурации в среде с препятствиями. Применение идеи представления репеллерами существующих препятствий при решении задач однотипных и разнотипных групп управления [5,6,7] также возможно. Основу однотипных и разнотипных групп часто представляют в виде интеллектуальных роботов, которые представляют собой систему, оснащенных мощными вычислительными комплексами, или системы, обладающие в своей структуре аппаратом нечеткой логики, искусственных нейронных сетей и разнообразных экспертных систем [8,9]. Формирование кластеров или же подгрупп применяется для решения конкретных задач, описанных в трудах [10,11].
Также известен метод RRT (rapidly exploring random trees) - алгоритм, представленный в 1998 году [12]. Он строит путь, используя случайную генерацию точек.
Сначала случайным образом на карте создаётся точка, затем находится ближайшая к ней вершина «древа» (изначально оно состоит из стартовой точки). Если необходимо, расстояние между точками уменьшается так, чтобы отрезок не задевал препятствия.
Полученная «ветвь» добавляется к «древу». Так продолжается, пока не построится маршрут от начальной точки к конечной.
RRT прост, не предполагает сложных математических вычислений и не требует больших компьютерных мощностей, поэтому существует множество его разновидностей и модификаций, к которым принадлежит рассматриваемый алгоритм. Поэтому за основу построения алгоритма пути для группы роботов был взят RRT алгоритм.
Основная задача данной статьи разработка программы на языке C++ с использованием средств Qt для построения путей для группы роботов, движущихся в двух измерениях в среде с неподвижными препятствиями.
Материалы и методы.
Решение поставленной задачи осуществлено на основе применения оптимизационных методов при определении текущего положения группы роботов относительно поставленной точки. Средства аналитической геометрии на основе полученных данных дают возможность скоординировать движение роботов.
Как было сказано во введении о наличии множества разновидностей и модификаций RRT, соответственно есть необходимость выбора подходящей модификации:
1) Карта и преграды представляются в виде отрезков (препятствия находятся внутри карты).
2) Точки генерируются в прямоугольной области.
3) Если между целевой точкой и какой-либо вершиной древа нет заграждений, то к ней будет проведён отрезок.
4) После того, как древо дойдёт до конечной точки, находится маршрут и происходит его оптимизация [13].
5) Отрезки путей могут рассматриваться, как препятствия.
Проверка пересечений.
Пользователь задаёт карту местности и преграды в виде отрезков (рисунок 1), что позволяет легко найти их пересечения с ветвями. По координатам концов одного из отрезков и ветви определяется, находятся ли они на одной или на разных прямых. Если они принадлежат одной прямой, проверяется, лежит ли какой-либо конец одного отрезка на втором. Когда отрезки лежат на разных прямых, по их уравнениям уточняется, параллельны они или пересекаются. В том случае, когда прямые пересекаются, находится точка пересечения и проверяется, принадлежит ли она двум отрезкам. Такая проверка происходит для каждого из отрезков карты и препятствий.
Рисунок 1 - Задавание ветвью препятствия Генерация ветвей.
Новые ветви создаются следующим образом: пусть X - множество абсцисс вершин карты, а Y - множество ординат, тогда x и y координаты новой точки будет случайным образом сгенерированы на интервалах (min(X), max(X)) и (min(Y), max(Y)) соответственно.
Далее находится ближайшая к точке вершина древа. В случае необходимости расстояние между точками уменьшается до установленного пользователем шага. Когда полученная ветвь не задевает препятствий и карту, она добавляется к древу. Затем проверяется, можно ли соединить её конец с целевой точкой, не пересекая отрезки. Если нет, образуется новая, пока условие не удовлетворится. Примерная карта местности представлена на рисунке 2.
Рисунок 2 - Карта местности (обозначена серым цветом) и область генерации точек (заштрихована)
Определение маршрута.
Как только условие выполнится, путём удаления лишних частей древа находится маршрут (рисунок 3). Тупиковые ветви ведут в никуда, поэтому один из их концов не является началом для другого отрезка. По данному свойству из древа убираются все ненужные элементы, оставляя только лишь маршрут. Создав контейнеры для начал и концов ветвей, проверяя наличие одних элементов в других и удаляя соответствующие отрезки древа, можно осуществить вышесказанное.
Рисунок 3 - Маршрут (голубые ветви) и тупиковые ветви (оранжевые) Оптимизация пути.
Оптимизация пути происходит, если начальную точку можно соединить с другой точкой маршрута, не задевая препятствий. Перебирая точки пути от конечной к стартовой и проверяя получаемые отрезки на пересечение с преградами, алгоритм находит оптимизированный путь (рисунок 4).
Рисунок 4 - Оптимизированный путь
Найденный путь может рассматриваться как препятствие для других роботов. Это гарантирует, что роботы не столкнутся.
Результаты.
Для реализации алгоритма была разработана программа на C++ с использованием средств Qt.
Были нарисованы карта, препятствия, а также начальные и конечные точки. После завершения работы алгоритма отобразились маршруты и время выполнения работы.
Результаты реализованного алгоритма для 3-х роботов: визуализация работы алгоритма построения древа и пути для предполагаемых 3-х роботов; оптимизированные маршруты для 3-х роботов и пересекающиеся маршруты для 3-х роботов соответственно представлены на рисунках 5, 6 и 7.
Рисунок 5 - Визуализация работы алгоритма (древо и пути для трех роботов)
Рисунок 6 - Оптимизированные маршруты для 3 роботов
Рисунок 7 - Пересекающиеся маршруты для 3 роботов Обсуждение.
Наиболее эффективно алгоритм работает для карт с малым количеством узких пространств, так как вероятность образования ветви в неисследованной области равна отношению площади этой области к площади прямоугольника, содержащем карту.
Поэтому создание точек внутри прямоугольной области вносит отрицательный вклад, хоть и позволяет избежать решения проблемы генерации точек внутри невыпуклого многоугольника.
Использование функции, запрещающей маршрутам пересекаться, может привести к тому, что пути, интерпретируемые как препятствия, сузят проходы к целевым точкам, либо полностью их перекроют. Поэтому пользователю нужно заранее решать, стоит ли её применять.
Случай, когда без пересечений с другими маршрутами построение пути невозможно представлен на рисунке 8.
Рисунок 8 - Случай, когда без пересечений с другими маршрутами построить путь невозможно
Так как представление преград в виде отрезков упрощает нахождение пересечений, в данной статье был использован именно этот метод. Однако это не исключает наличие более сложных методов определения столкновений, описанных во введении данной статьи.
В случае, когда ветвей слишком много, нахождение и оптимизация пути может занять значительное количество времени. Пользователю придётся подобрать нужный шаг, чтобы определение маршрута не затянулось, что может повлечь собой ошибку оператора.
В качестве примера на рисунке 9 показана работа алгоритма в замкнутых пространствах.
Рисунок 9 - Работа алгоритма в замкнутых пространствах Заключение.
Предложенный алгоритм наиболее продуктивен для открытых карт с малым количеством замкнутых пространств. В остальных случаях работа алгоритма зависит от настроек пользователя и может занять продолжительное время. Программа, реализующая алгоритм доступна для скачивания по ссылке: https://drive.google.com/drive/folders/10x- oo0pDhCpfLEoVPQ5yvlvBchREOu4Y?usp=share_link
ЛИТЕРАТУРА
[1] Юдинцев Б. С. Синтез нейросетевой системы планирования траекторий для группы мобильных роботов // Системы управления, связи и безопасности. 2019. № 4. С.
163-186. DOI: 10.24411/2410-9916-2019-10406.
[2] Антонов В. О., Гурчинский М. М., Петренко В. И., Тебуева Ф. Б. Метод планирования траектории движения точки в пространстве с препятствием на основе итеративной кусочно-линейной аппроксимации // Системы управления, связи и безопасности. 2018. № 1. С. 168-182.
[3] Афанасьев И. М., Сагитов А. Г., Данилов И. Ю., Магид Е. А. Навигация гетерогенной группы роботов (БПЛА и БНР) через лабиринт в 3D симуляторе Gazebo методом вероятностной дорожной карты // Второй Всероссийский научно-практический семинар «Беспилотные транспортные средства с элементами искусственного интеллекта»
Труды семинара. – Санкт-Петербург: Политехника-сервис, 2015. – С. 18-25.
[4] Пшихопов В. Х., Медведев М. Ю. Планирование движения группы подвижных объектов в двумерной среде с препятствиями // Известия Южного федерального университета. Технические науки. 2016. №2 (175). C. 6-22.
[5] Wahab M. N. A., Lee C. M., Akbar M. F., Hassan F. H. Path Planning for Mobile Robot Navigation in Unknown Indoor Environments Using Hybrid PSOFS Algorithm // IEEE Access. 2020. Vol. 8. P. 161805-161815. DOI: 10.1109/ACCESS.2020.3021605.
[6] Kennedy J., Eberhart R. Particle swarm optimization // Proceedings of ICNN'95 - International Conference on Neural Networks. 1995. Vol. 4. P. 1942- 1948. DOI:
10.1109/ICNN.1995.488968.
[7] Björnsson Y., Enzenberger M., Holte R., Schaeffer J. Fringe Search: Beating A* at Pathfinding on Game Maps // Proceedings of the 2005 IEEE Symposium on Computational Intelligence and Games (CIG05). – Colchester, Essex, UK, 2005. – P. 125-132.
[8] Павлов А. С., Рябцев С. С., Ахмедов С. Р., Трофимюк О. И. Разработка алгоритма децентрализованного управления группой беспилотных автомобилей на основе метода роя частиц // Труды VI Всероссийской научной конференции «Информационные технологии интеллектуальной поддержки принятия решений». – Уфа, 2018. – С. 168-173.
[9] Петренко В. И., Тебуева Ф. Б., Павлов А. С., Антонов В. О. Метод планирования пути при формировании конфигурации многофункционального модульного робота с использованием роевой стратегии управления // Труды VII Всероссийской научной конференции «Информационные технологии интеллектуальной поддержки принятия решений». – Уфа, 2019. – С. 184-189.
[10] Бройнль Т. Встраиваемые робототехнические системы: проектирование и применение мобильных роботов со встроенными системами управления. - Ижевск:
Ижевский институт компьютерных исследований, 2012. - 520 c.
[11] Zhang H.-Y., Lin W.-M., Chen A.-X. Path planning for the mobile robot: A review //
Symmetry. 2018. Vol. 10. P. 434-450. DOI: 10.3390/sym10100450.
[12] LaValle, S.M. Rapidly-Exploring Random Trees: A New Tool for Path Planning;
Technical Report; Computer Science Dept., Iowa State University: Ames, Iowa, 1998.
[13] S. Karaman and E. Frazzoli, “Incremental sampling-based algorithms for optimal motion planning,” in Proc. Robotics: Science and Systems (RSS), 2010.
REFERENСES*
[1] Judincev B. S. Sintez nejrosetevoj sistemy planirovanija traektorij dlja gruppy mobil'nyh robotov // Sistemy upravlenija, svjazi i bezopasnosti. 2019. № 4. S. 163-186. DOI:
10.24411/2410-9916-2019-10406.
[2] Antonov V. O., Gurchinskij M. M., Petrenko V. I., Tebueva F. B. Metod planirovanija traektorii dvizhenija tochki v prostranstve s prepjatstviem na osnove iterativnoj kusochno- linejnoj approksimacii // Sistemy upravlenija, svjazi i bezopasnosti. 2018. № 1. S. 168-182.
[3] Afanas'ev I. M., Sagitov A. G., Danilov I. Ju., Magid E. A. Navigacija geterogennoj gruppy robotov (BPLA i BNR) cherez labirint v 3D simuljatore Gazebo metodom verojatnostnoj dorozhnoj karty // Vtoroj Vserossijskij nauchno-prakticheskij seminar «Bespilotnye transportnye sredstva s jelementami iskusstvennogo intellekta» Trudy seminara. – Sankt-Peterburg Politehnika-servis, 2015. – S. 18-25.
[4] Pshihopov V. H., Medvedev M. Ju. Planirovanie dvizhenija gruppy podvizhnyh ob#ektov v dvumernoj srede s prepjatstvijami // Izvestija Juzhnogo federal'nogo universiteta.
Tehnicheskie nauki. 2016. №2 (175). C. 6-22.
[5] Wahab M. N. A., Lee C. M., Akbar M. F., Hassan F. H. Path Planning for Mobile Robot Navigation in Unknown Indoor Environments Using Hybrid PSOFS Algorithm // IEEE Access. 2020. Vol. 8. P. 161805-161815. DOI: 10.1109/ACCESS.2020.3021605.
[6] Kennedy J., Eberhart R. Particle swarm optimization // Proceedings of ICNN'95 - International Conference on Neural Networks. 1995. Vol. 4. P. 1942- 1948. DOI:
10.1109/ICNN.1995.488968.
[7] Björnsson Y., Enzenberger M., Holte R., Schaeffer J. Fringe Search: Beating A* at Pathfinding on Game Maps // Proceedings of the 2005 IEEE Symposium on Computational Intelligence and Games (CIG05). – Colchester, Essex, UK, 2005. – P. 125-132.
[8] Pavlov A. S., Rjabcev S. S., Ahmedov S. R., Trofimjuk O. I. Razrabotka algoritma decentralizovannogo upravlenija gruppoj bespilotnyh avtomobilej na osnove metoda roja chastic // Trudy VI Vserossijskoj nauchnoj konferencii «Informacionnye tehnologii intellektual'noj podderzhki prinjatija reshenij». – Ufa, 2018. – S. 168-173.
[9] Petrenko V. I., Tebueva F. B., Pavlov A. S., Antonov V. O. Metod planirovanija puti pri formirovanii konfiguracii mnogofunkcional'nogo modul'nogo robota s ispol'zovaniem roevoj strategii upravlenija // Trudy VII Vserossijskoj nauchnoj konferencii «Informacionnye tehnologii intellektual'noj podderzhki prinjatija reshenij». – Ufa, 2019. – S. 184-189.
[10] Brojnl' T. Vstraivaemye robototehnicheskie sistemy: proektirovanie i primenenie mobil'nyh robotov so vstroennymi sistemami upravlenija. Izhevsk: Izhevskij institut komp'juternyh issledovanij, 2012. 520 c.
[11] Zhang H.-Y., Lin W.-M., Chen A.-X. Path planning for the mobile robot: A review //
Symmetry. 2018. Vol. 10. P. 434-450. DOI: 10.3390/sym10100450.
[12] LaValle, S.M. Rapidly-Exploring Random Trees: A New Tool for Path Planning;
Technical Report; Computer Science Dept., Iowa State University: Ames, Iowa, 1998.
[13] S. Karaman and E. Frazzoli, “Incremental sampling-based algorithms for optimal motion planning,” in Proc. Robotics: Science and Systems (RSS), 2010.
Алдаберген Бектилевов, PhD, қауымдастырылған профессор, Satbayev University, Алматы, Қазақстан, [email protected].
Темірлан Сабитов, студент, Satbayev University, Алматы, Қазақстан, [email protected].
Лаура Тасболатова, докторант, Satbayev University, Алматы, Қазақстан, [email protected]
Перизат Рахметова, аға оқытушы, Satbayev University, Алматы, Қазақстан, [email protected]
Данияр Керимкулов, магистр, Ө.А. Джолдасбеков атындағы механика және машинатану институты, Алматы, Қазақстан, [email protected]
ОРНЫҚТЫ КЕДЕРГІЛЕРІ БАР ОРТАДА ЕКІ ӨЛШЕМДЕ ҚОЗҒАЛАТЫН РОБОТТАР ТОБЫНЫҢ ЖОЛДАРЫН САЛУ АЛГОРИТМІ
Аңдатпа. Бұл мақала бекітілген кедергілері бар ортада екі өлшемде қозғалатын роботтар тобына арналған жолдарды құру алгоритмін ұсынады. Кедергілер мен аумақтың картасы сегменттер жиынтығы ретінде көрсетілген. Алгоритмді жүзеге асыратын бағдарлама жасалды. Бағдарлама жұмысының нәтижелері ұсынылып, алгоритмнің артықшылықтары мен кемшіліктері қарастырылады. Алгоритм принципі бойынша RRT-ге ұқсас, сондықтан ол жабық кеңістіктер саны аз карталар үшін тиімді. Бағдарлама Qt құралдарының көмегімен C++ тілінде жазылған және жүктеп алуға жарамды.
Түйінді сөздер. Алгоритм, жолдар салу, робот, роботтар тобы, робототехника.
Aldabergen Bektilevov, PhD, associate professor, Satbayev University, Almaty Kazakhstan,[email protected].
Temirlan Sabitov, student, Satbayev University, Almaty, Kazakhstan, [email protected].
Laura Tasbolatova, doctoral student, Satbayev University, Almaty, Kazakhstan, [email protected].
Perizat Rakhmetova, senior lecturer, Satbayev University, Almaty, Kazakhstan, [email protected]
Daniyar Kerimkulov, мaster's degree, researcher at the Institute of Mechanics and Machine Science named after U. A. Dzholdasbekov, Almaty, Kazakhstan, [email protected]
PATH PLANNING ALGORITHM FOR A GROUP OF ROBOTS MOVING IN TWO DIMENSIONS IN THE ENVIRONMENT WITH FIXED OBSTACLES
Abstract. This paper proposes an algorithm for constructing paths for a group of robots moving in two dimensions in an environment with fixed obstacles. Obstacles and a map are specified as a set of segments. A program that implements the algorithm has been developed.
The results of the program work are presented, the advantages and disadvantages of the algorithm are considered. The algorithm is similar to RRT; therefore, it is most effective for maps with a small number of enclosed spaces. The program is written in C++ using Qt tools and is available for download.
Keywords. Algorithm, path planning, robot, group of robots, robotics.
*****************************************************************************