Назад в библиотеку

Разработка системы управления движением автономного робота на базе ROS

Автор: В.П. Тыщенко, студент, А.Н. Путин
Источник: Тыщенко, В. П. Разработка системы управления движением автономного робота на базе 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, свободный.