Автор: В.П. Тыщенко, студент, А.Н. Путин
Источник: Тыщенко, В. П. Разработка системы управления движением автономного робота на базе ROS / В. П. Тыщенко, А. Н. Путин, А. А. Кабанов // Перспективные направления развития отечественных информационных технологий : материалы II межрегиональной научно-практической конференции, Севастополь, 13–17 сентября 2016 года / Севастопольский государственный университет; науч. ред. Б.В. Соколов. – Севастополь: Федеральное государственное автономное образовательное учреждение высшего образования "Севастопольский государственный университет", 2016. – С. 101-102.
В.П. Тыщенко, студент, А.Н. Путин. Разработка системы управления движением автономного робота на базе ROS. Рассматривается задача разработки системы управления движением автономного робота на базе операционной системы ROS (Robot Operating System), в частности системы распознавания штрих кодов и управления группой роботов при движении по пересекающимся траекториям.
Робототехнический комплекс состоит и группы мобильных роботов (МР). Каждый МР имеет два управляемых колеса и несколько опорных. Основной вычислительный модуль МР достаточно мощный для установки на него операционной системы ROS, на борту также имеется видео камера и модуль Wi-Fi для связи с сервером, через который идет обмен данными между МР, а также он проводит расчеты возможных столкновений и корректирует движение группы МР. Необходимо разработать систему избегания столкновений между МР на перекрестных участках движения, а также систему считывания и распознания штрих кодов.
Для решения задачи избегания столкновений использовалось правило помехи справа, согласно которому при приближении к перекрестку МР должен уступить дорогу тем роботам, которые приближаются справа. При этом свои координаты и угол отклонения от оси абсцисс, роботы сообщают серверу, который в реальном времени соотносит их между собой.
В случае приближения МР к перекрестку на сервере запускается подпрограмма, строящая радиус-вектора между данным МР и всеми остальными. Для примера предположим, что робота всего два, координаты МР А – (x1; y1), МР В – (x2; y2), и МР А приближается к перекрестку. Модуль r вектора AB определяется по координатам (х1, у1), (х2, у2) положения центров роботов А и В соответственно. В случае, если r < 4 м, считается что расстояние опасно, и необходимо принять решение, является ли В помехой справа для А.
Система позволяет измерять угол отклонения направления движения робота А – угол θ1. Также можно определить угол между вектором AB и осью абсцисс – угол α: если вектор AB лежит в III или IV четверти, то α = -arccos((x2-x1)/r); если в I и II, то α = arccos((x2-x1)/r).
Определение помехи справа происходит по правилу: если θ1 - a лежит в диапазоне[0°;80°] (-360°; 280°], то робот В является помехой справа для А.
1. Документация ROS [Электронный ресурс]. – Режим доступа: http://wiki.ros.org, свободный.
2. Документация OpenCV [Электронный ресурс]. – Режим доступа: http://docs.opencv.org, свободный.