Статья посвящена созданию прототипа мобильного робота для работы с интеллектуальной системой управления. В работе кратко приведено описание системы управления, с которой предстоит работать разрабатываемому прототипу. Рассмотрены основные комплектующие, составляющие прототип и их взаимодействие друг с другом. Представлен интерфейс взаимодействия ключевых компонентов прототипа друг с другом при помощи шины I2C и специальных символов. В заключении приведено исследование особенностей функционирования разработанного прототипа мобильного робота с интеллектуальной системой управления.
Ключевые слова: мобильные роботы, интеллектуальная система управления, одноплатный компьютер, микроконтроллер, ультразвуковой датчик.
Введение. Задача о движении колесного робота относится к довольно сложному разделу теоретической механики, который посвящен исследованию движения систем абсолютно твердых тел с неголономными связями. Связи — это ограничения, накладываемые на координаты и скорости точек механической системы. С математической точки зрения связи выражаются дифференциальными уравнениями. В случае, когда эти дифференциальные уравнения не могут быть проинтегрированы и сведены к уравнениям только для координат точек системы, связь называется неголономной [1].
Неголономные механические системы используются тогда, когда накладываются определенные ограничения на скорость, но отсутствуют какие-либо ограничения на позицию. Проще говоря, локальное движение ограничено, однако, глобальное движение является неограниченным.
В данной работе для исследования особенностей разработанной системы управления будем использовать подобный робот.
Краткое описание разработанной интеллектуальной системы управления движением автономного мобильного робота. Структура используемой системы управления [2] представлена на рисунке 1. Она состоит из ряда подсистем, часть которых построена на базе технологий искусственного интеллекта и методов выделения объектов на изображении.
Рис. 1. Структура системы управления мобильным роботом
Система управления позволяет мобильному роботу работать в ручном и в автоматическом режиме. Автономность достигается за счет использования двух нечетких регуляторов, подсистемы распознавания фигур, а также информационно-измерительной подсистемы, включающей в себя три ультразвуковых датчика и веб-камеру, установленных на борту МР. Кроме того, система управления дает возможность реализовать голосовое управление роботом.
Разработка и исследование прототипа мобильного робота. На рисунке 2 изображен неголономный двухколесный мобильный робот с дифференциальным приводом. Скорость робота ограничена направлением вращения колес и при условии отсутствия проскальзывания робот не может двигаться в направлении перпендикулярном вектору движения. Тем не менее, робот может поворачиваться на месте при вращении колес в разных направлениях. Это говорит о том, что глобальное положение робота является неограниченным.
Рис. 2. Схема прототипа мобильного робота
Движение робота происходит в горизонтальной плоскости O 1 X 1 Y 1 . На рисунке X и Y обозначают положение центра оси робота — отрезка, соединяющего ведущие колеса шасси, по отношению к глобальной системе координат, θ указывает направление движения мобильного робота относительно оси X 1 в глобальной системе координат. ICC обозначает мгновенный центр скоростей — точка, вокруг которой будет происходить вращение при поворотах. Переменная r есть радиус колес робота, а l расстояние между центрами колес. Переменные v и ω характеризуют линейную и угловую скорость соответственно, где ω L — скорость вращения левого колеса, ω R — скорость вращения правого колеса. Поворот робота осуществляется путем подачи на двигатели управляющих напряжений разных знаков.
Аппаратная часть разрабатываемой системы состоит из трех основных частей: одноплатного компьютера, микроконтроллера и блока питания. Наглядно структура аппаратной части представлена на рисунке 3.
Рис. 3. Аппаратная часть прототипа мобильного робота
Центральной и основной частью системы является одноплатный компьютер Raspberry PI 3 Model B+. Данный компьютер необходим для работы нечетких регуляторов и подсистемы распознавания фигур, обеспечивающих движения мобильного робота к цели в среде с препятствиями. А также для работы подсистемы голосового управления, построенной на базе движка распознавания CMUSphinx [3]. Для работы нечеткого регулятора, одноплатному компьютеру требуются информация с датчиков расстояния, которые подключены к микроконтроллеру Arduino UNO. К микроконтроллеру через драйвер двигателя L298N подключены два мотор-редуктора Gear Motor 48:1, приводящие в движение ведущие колеса мобильного робота.
Еще одним элементом аппаратной части мобильного робота является система питания. Она состоит из трех литий-ионных аккумуляторов 18650, защищенных платой защиты BMS 3S, а также двух понижающих преобразователей напряжения (DC-DC XL4005 и DC-DC T80), питающих основные компоненты робота. Выбор литий-ионных аккумуляторов обусловлен их высокой энергоемкостью, отсутствием «эффекта памяти», меньшим весомом по сравнению с щелочными и кислотными аккумуляторами, а также относительно быстрым временем заряда [4].
В качестве основного источника информации об окружающей среде используется совокупность ультразвуковых дальномеров HC-SR04, расположенных на передней части мобильного робота и, измеряющих расстояние до препятствий слева, спереди и справа. А также веб-камера A4Tech PK-720MJ для получения изображения окружающего пространства вокруг робота.
Собранный прототип представлен на рисунке 4.
Рис. 4. Прототип мобильного робота
Так как основные элементы системы управления расположены на Raspberry PI, то необходимо осуществить коммуникацию между Raspberry PI и Arduino UNO. Обмен информацией между устройствами осуществляется при помощи шины I2C. Основная проблема заключается в последовательной отправки и получении сообщений. Для решения этой проблемы был разработан набор специальных символов, которые отправляются перед посылкой информации и принимающая сторона не будет совершать никаких действий, до тех пор, пока не поступит соответствующий символ. В зависимости от работающей в данный момент подпрограммы набор символов отличается.
При ручном режиме работы используется набор символов, представленный в таблице 1.
Таблица 1
Символы, используемые при ручном режиме работы системы управления
Отправка со стороны Raspberry PI |
|||
‘F’ |
Движение вперед |
‘L’ |
Движение налево |
‘R’ |
Движение направо |
‘{’ |
Поворот налево (небольшой) |
‘}’ |
Поворот направо (небольшой) |
‘<’ |
Поворот налево |
‘>’ |
Поворот направо |
‘B’ |
Движение назад |
‘U’ |
Разворот |
‘P’ |
Остановка |
‘S’ |
Остановка и выход из ручного режима |
||
Отправка со стороны Arduino UNO |
|||
‘U’ |
Отправка данных с ультразвуковых датчиков |
||
Символы, используемые при работе в автоматическом режиме представлены в таблице 2.
Таблица 2
Символы, используемые в автоматическом режиме работы системы управления
Отправка со стороны Raspberry PI |
|||
‘Y’ |
Фигура найдена |
‘U’ |
Запрос на получение данных ультразвуковых дальномеров |
‘N’ |
Фигура не найдена |
‘E’ |
Отправка результата второго нечеткого регулятора |
‘P’ |
Остановка |
‘C’ |
Продолжение движения после остановки |
‘S’ |
Остановка и выход из автоматического режима |
||
Отправка со стороны Arduino UNO |
|||
‘>’ |
Робот начинает движение |
||
‘<’ |
Робот заканчивает движение |
||
‘U’ |
Отправка данных с ультразвуковых датчиков |
||
При выборе режима работы системы управления используется набор символов, представленный в таблице 3.
Таблица 3
Символы, используемые при выборе режима работы системы управления
Отправка со стороны Raspberry PI |
|||
‘A’ |
Работа в авто. режиме |
‘S’ |
Остановка |
‘M’ |
Работа в ручном режиме |
‘T’ |
Изменить максимальную скорость вращения колес |
Исследование прототипа заключалось в последовательной проверке доступных режимов работы. В процессе работы в ручном режиме, мобильный робот успешно выполнил все поданные на него команды, как с пульта управления, так и голосовые команды. Процесс работы представлен на рисунке 5.
Рис. 5. Работа в ручном режиме
Исследование автоматического режима работы заключалось в перемещении прототипа мобильного робота из начальной точки в целевую самостоятельно без помощи человека оператора. Процесс движения к целевой точке представлен на рисунке 6.
Рис. 6. Работа в автоматическом режиме
В процессе движения, в консоль выводится информация о текущем положении и площади целевой фигуры, а также значения расстояний до препятствия. Как видно, робот благополучно достиг целевой точки.
Основные результаты и выводы. Разработан прототип мобильного робота, исследование которого показало, что для работы с разработанной системой управления в полной мере необходима замена некоторых компонентов, в частности, замена мотор-редукторов, поскольку выбранные в данные работе двигатели не обеспечивают стабильного и точного движения по ровной поверхности, и замена текущей веб-камеры на камеру с большим разрешением и частотой кадров, а также с большим углом обзора, что позволит улучшить работу алгоритма распознавания подсистемы распознавания фигур интеллектуальной системы управления.
Литература:
- Левин В. Е. Аналитическая механика. Сборник задач: учеб. пособие [Текст] / В. Е. Левин, Д. А. Красноруцкий. — Новосибирск: Изд-во НГТУ, 2017. — 28 с.;
- Топорин А. А. Система интеллектуального управления движением автономного мобильного робота [Текст] / Топорин А. А. // Материалы студенческой научно-практической конференции «Автоматизация и информационные технологии (АИТ-2020). Том 4: Сборник докладов института автоматизации и робототехники. — М.: ФГБОУ ВО «МГТУ «СТАНКИН», 2020. — С.225–228;
- Overview of the CMUSphinx toolkit [Электронный ресурс] // cmusphinx.github.io: Open source speech recognition toolkit resource URL: https://cmusphinx.github.io/wiki/tutorialoverview/ (дата обращения: 10.07.2020);
- Технологии аккумуляторов для ЦОД: сравнение литий-ионных (Li-ion) аккумуляторов со свинцовокислотными аккумуляторами с регулирующим клапаном (VRLA) [Электронный ресурс] // apc.ru: Сайт APC by Schneider Electric URL: https://www.apc.ru/WP229 (дата обращения: 10.07.2020).