Научная статья на тему 'Аппаратно-программный комплекс для управления платформой-роботом'

Аппаратно-программный комплекс для управления платформой-роботом Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1024
199
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РОБОТОТЕХНИКА / РОБОТОТЕХНИЧЕСКАЯ ПЛАТФОРМА / АВТОНОМНОЕ УПРАВЛЕНИЕ / ЖЕСТОВОЕ УПРАВЛЕНИЕ / МИКРОПРОЦЕССОР / ДАТЧИК / ДРАЙВЕР / ROBOTICS / ROBOTIC PLATFORM / AUTONOMOUS CONTROL / GESTURE CONTROL / MICROPROCESSOR / SENSOR / DRIVER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кондратьев К. Л., Харитонов В. И.

В статье представлены разработка аппаратно-программного комплекса для управления робототехнической платформой и программно-алгоритмического обеспечения для автономного движения и бесконтактного управления робототехнической платформой.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кондратьев К. Л., Харитонов В. И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Hardware and software complex for robotic platform control

The article presents the development of hardware-software complex for controlling a robotic platform as well as software and algorithmic support for autonomous motion and non-contact control of a robotic platform.

Текст научной работы на тему «Аппаратно-программный комплекс для управления платформой-роботом»

Аппаратно-программный комплекс для управления платформой-роботом

Кондратьев К.Л., проф. Харитонов В.И.

Университет машиностроения [email protected], + 7-(926)-056-25-46

Аннотация. В статье представлена разработка аппаратно-программного комплекса для управления робототехнической платформой и программно-алгоритмического обеспечения для автономного движения и бесконтактного управления робототехнической платформой.

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

Робототехника широко внедряется во все сферы человеческой деятельности. Это спасательные работы на месте катастроф, борьба с терроризмом, обезвреживание взрывоопасных предметов, охрана специальных объектов и т.п. Функционирование робототехнических систем связано с выполнением разнообразных измерений и сложных способов обработки информации, поступающей с датчиков.

Структура разработанной на кафедре «АиПУ» робототехнической платформы показана на рисунке 1.

Инфракрасный дальномер

Преобр азовате ли

Датчик Холла

Ультразвуковой дальномер

■А -У

6PS

Радар

Лидар

Преобр азовате ли

-А -У

Оператор СТЗ

Порты ВВ -4 ~Т Аппаратные драйверы

э

СО ю в 5 о m Л m -л —1 Средства передачи -

Л h-CL О с 3 Q. О информации оператору

M

Аппаратные

-1 —>

3 н Q. О -i интерфейсы

Двигатели

Приложение в ОС Windows

Механиче ские звенья обеспече

ния движения

Светодиодные индикаторы

LCD-дисплей

Рисунок 1. Структурная схема системы управления робототехнической платформой-роботом

В состав системы управления платформы-робота входят датчики информации окружающей среды, которые представлены ультразвуковым дальномером, инфракрасным дальномером и датчиком Холла. Для нормализации сигналов с этих датчиков служат преобразователи, осуществляющие преобразование аналоговых сигналов в унифицированный сигнал [1]. Преобразование унифицированных сигналов выполняют входные порты ЭВМ. Сигналы с GPS и радара служат для обеспечения координатно-временной информации и поступают на входные порты ЭВМ.

Управление может осуществляться как в режиме беспилотного управления, так и с помощью оператора. Оператор через систему технического зрения (СТЗ) может управлять платформой. На рынке комплектующих представлено много СТЗ, ориентированных на решение различных задач, но в нашем проекте используется контроллер Kinect, предназначенный для прямого дистанционного трехмерного измерения объектов и сцен. Формат снимаемых данных - трехмерные 3D-сцены, тип освещения сцены - проецирование сетки из инфракрасных точек. Пространственный жестовый интерфейс Microsoft Kinect позволяет управлять платформой при помощи жестовых команд.

К выходным портам ЭВМ подключены аппаратные драйверы управления исполнительными двигателями, обеспечивающие согласование сигналов по уровню токов, и аппаратные интерфейсы, обеспечивающие связь с человеком-ператором путем вывода на светодиодную

матрицу буквенно-цифровой информации.

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

Функциональная особенность аппаратно-программного комплекса состоит в интеллектуализации управления движением за счет использования локальных и визуальных датчиков [2]. Система имеет априорную информацию о среде и в процессе функционирования получает текущую информацию как о внешней среде, так и о собственном состоянии. Ее целью является принятие решений, связанных с анализом внешней среды [4].

Структура и алгоритм функционирования системы показаны на рисунке 2.

Рисунок 2. Алгоритм функционирования задач управления робототехнической

системы

Программное обеспечение и алгоритм управления обеспечивают работу платформы в двух режимах: в автономном режиме и в режиме оператора. В режиме оператора система технического зрения реализована в виде видеокамеры Ктей.

Алгоритмы управления и обработки информации с камеры Ктей сосредоточены в процессоре ноутбука, так как производительности бортового микроконтроллера недостаточно.

Управление исполнительными механизмами платформы осуществляется микроконтроллером Arduino Mega2560.

Программа управления движением робототехнической платформой написана на двух языках программирования: C# (Си-шарп) [5] и Wiring [7]. Программа состоит из двух подпрограмм [6]: подпрограмма для автономного движения и подпрограмма для жестового управления оператором. Каждая подпрограмма состоит из отдельных модулей: модуль опроса датчиков, модуль обработки данных, модуль связи платформы с ПК, модуль управления передвижением платформы, модуль обработки видеоизображения с камеры Kinect, модуль тестирования ПО.

Программный модуль спроектирован с помощью языков программирования C# и Wiring. Объем программы составляет 702 строки, включая тексты программ на C# и Wiring.

Фрагмент текста программы на языке C# [5], отвечающий за распознавание жестов оператора и передачу полученных данных [6] с ноутбука во встроенный микроконтроллер робототехнической платформы, приведен ниже:

Режим оператора или автономный режим активизируется нажатием клавиши «Выбор управления» и реализуется в виде подпрограммы «Оператор» [5] или «Автономный режим»

Задача подпрограммы «Оператор» обеспечивать бесконтактное управление робототехнической платформой посредством жестов оператора, находящегося в поле зрения камеры Kinect.

Задача подпрограммы «Автономный режим» обеспечивать автономное передвижение робототехнической платформы в пространстве, используя датчики состояния внешнего мира.

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

Основной особенностью робототехнической системы является применение уже готового набора «Матрешка Z», из которого собраны шесть многозвенных конечностей так, чтобы обеспечить требуемую траекторию движения робототехнической платформы (рисунок 3).

int zd = 80;

if (wrY :> shcY && wlY > shcY && wlX < shcX && wrX :> гИсХ)//руки вверх -вперед {

SP1.0pen(); SP1.Write("Front"J; delay(zd); SPREAD = "1"; SP1.Close();

labe 11. Content += SPREAD.;

goto Ml;

[6].

I

Рисунок 3. Компоновочная схема макета Рисунок 4. Общий вид конечности

робототехнической платформы

Каждая из конечностей выполнена в виде трех последовательно соединенных скоб «Амперка» с тремя встроенными сервоприводами, которые задают диапазон углов поворота от 0 до 180 градусов. Общий вид конечности показан на рисунке 4. Конечности смонтированы на корпусе платформы так, что образуют шестиногую шагающую конструкцию. Достоинством конструкции является нахождение опор конечностей на окружности, что положительно влияет на мобильность платформы и обеспечивает заданные характеристики. За счет наличия у платформы шести конечностей достигается плавность ее передвижения и обеспечивается горизонтальное пространственное положение рабочей поверхности платформы.

Система управления платформой реализована в виде аппаратно-программного комплекса, изображенного на рисунке 5.

Рисунок 5. Аппаратные средства управления платформой

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

Критерии выбора датчиков информации обеспечивают получение на их выходах данных установленного формата [3]. Микроконтроллер Arduino Mega позволяет принимать и обрабатывать как цифровые, так и аналоговые сигналы унифицированного формата. Сервопривод FT5519M и драйверы моторов AMP-B001 удовлетворяют требованиям по необходимой нагрузке и мощности. Аккумулятор Hyperion G3 способен обеспечить непрерывное перемещение платформы в течение 14 минут со скоростью 2 км/ч.

Данная комплектация выбрана для конкретной цели, предназначенной для участия в соревнованиях по робототехнике и тестировании программно-аппаратного обеспечения.

В режиме «Оператор» используется видеокамера Kinect, подключенная к ноутбуку, как показано на рисунке 6.

Управление платформой в режиме оператора.

Видеокамера Kinect оснащена инфракрасным излучателем, который проецирует сетку из инфракрасных точек, и инфракрасным датчиком, который воспринимает отраженный инфракрасный свет. Оператор находится перед видеокамерой Kinect. Видеокамера через ноутбук связана с ЭВМ по сети Wi-Fi. Инфракрасный датчик считывает жесты оператора, управляющего платформой, ноутбук анализирует полученные изображения и интерпретирует их как команды.

В процессе проектирования была разработана программа информационного обмена между ЭВМ и сервоприводами платформы. Управляющая ЭВМ генерирует ШИМ-сигналы на сервоприводы платформы. Разработана система команд, обеспечивающая жестовое управление платформой (таблица 1).

Рисунок 6. Структурная схема подсистемы восприятия среды и управления

платформой оператором

В таблице представлены жесты оператора и соответствующие им движения робота.

Жесты оператора Команды микроконтроллера Движение робота

Руки вверх 0x0001 Вперед

Левая и правая рука влево 0x0010 Влево

Левая и правая рука вправо 0x0011 Вправо

Руки перекрещены на груди 0x0100 Назад

Руки опущены 0x0000 Стоп

Выводы

Отладка и тестирование работы программ проводились в режиме "Оператор". В ходе тестирования решена задача обработки данных с камеры Kinect и распознавания жестов оператора, отлажена передача данных на микроконтроллер Arduino Mega2560, отработана программа управления по передвижению робототехнической платформы в необходимых направлениях, апробированы модули ввода данных с датчиков.

Экспериментально подтверждено, что робототехническая платформа выполняет движения в необходимых направлениях с учетом локальных препятствий в режиме реального времени, на основе данных, получаемых с датчиков.

По результатам соревнований на Международном робототехническом фестивале «Ро-бофест-2013» работа получила 1-е место в номинации «Фристайл». На СНТК-2014 аппаратно-программный комплекс шагающей платформы был удостоен 1-го места в номинации «Лучшая работа в области автоматизации и управления на производстве» и 1 -го места в номинации «Лучшая работа в области перспективных транспортных средств».

Литература

Управление в технических системах. Под редакцией В.И. Харитонова. - М.: Форум, 2010. Дж. Фрайден. Мир электроники. Современные датчики. Справочник.. Техносфера. Москва, 2006.

Мясников В.И. Микропроцессорные системы. Учебное пособие, Йошкар-Ола, 2005. Меша К.И., Семенихин Г.И., Харитонов В.И. Информационное обеспечение систем управления. Учебное пособие. Москва, 2012. Герберт Шилдт - С#. Полное руководство. Вильямс, 2011. Герберт Шилдт. Самоучитель С++. СПб.: БХВ-Петербург, 2009. Уилли Соммер. Программирование микроконтроллерных плат Агёшпо. БХВ, 2012.

1. 2.

3.

4.

5.

6. 7.

i Надоели баннеры? Вы всегда можете отключить рекламу.