← Назад в библиотеку Источник

УДК 004.31, 004.78

РАЗРАБОТКА РАДИОУПРАВЛЯЕМОЙ СЕНСОРНОЙ ПЛАТФОРМЫ

Бровкина Д.Ю., Приходько Т.А.

Донецкий национальный технический университет,

кафедра компьютерной инженерии

daniellebee@bigmir.net

В статье рассматриваются варианты разработки радиоуправляемой 

платформы, которая может быть оснащена различными сенсорами. В 

результате таких модификаций платформа может послужить основой 

для создания относительно простого робота.

 

Актуальность

Робот – это автомат для осуществления механических действий, подобных тем, которые производит человек, выполняющий физическую работу. Неизменным образцом для разработки роботов с самого начала развития робототехники и по сегодняшний день является человек. При создании роботов чаще всего основной задачей является замена человека в опасных и экстремальных условиях работы, чем можно не только облегчить работу человеку, но также добиться максимального качества и точности результатов работы, а также не подвергать человека риску. Именно поэтому робототехника активно развивается, разработка роботов остается актуальной [1].

 

Постановка задачи

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

При разработке робота главным вопросом являются его возможности. Функциональность робота напрямую зависит от задач, которые в дальнейшем ему необходимо будет выполнять. Чем больше задач должен выполнять робот, тем больше функций необходимо заложить в его конструкцию. Для выполнения каких-либо рутинных механических работ на производстве достаточно возможностей неподвижного робота. Однако если возникает потребность в выполнении более разнородных задач, нужно обеспечить мобильность конструкции. Мобильные роботы способны не только выполнять рутинные работы, но и передвигаться, обследовать территории, при этом, собирая необходимые данные (для этого робота планируется снабдить необходимыми сенсорами и датчиками). Это позволит выполнять работы в местах и условиях, при которых для человека выполнение тех же действий было бы невозможным или опасным [3].

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

Разработка проекта

После предварительного анализа (который приведен ниже) из множества существующих вариантов для реализации такой платформы выбрана аппаратная вычислительная платформа Arduino. Эта платформа представляет собой плату, состоящую из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также различных портов ввода-вывода для программирования и интеграции с другими схемами. Существует множество ее модификаций [2]. В данной работе используется плата Arduino Mega 2560 (рис. 1).

Рисунок 1. Аппаратная платформа Arduino Mega2560

Достоинством данной платы по сравнению с другими модификациями является большое количество портов ввода-вывода, то есть в дальнейшем есть возможность расширить количество дополнительных сенсоров и вспомогательных плат. Плата Arduino Mega 2560 имеет 54 цифровых входа/выхода (14 из которых могут использоваться как выходы ШИМ), 16 аналоговых входов, 4 последовательных порта UART, кварцевый генератор 16 МГц, USB коннектор, разъем питания, разъем ICSP и кнопку перезагрузки.

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

Программирование устройств Arduino осуществляется с помощью специального языка, основанного на C/C++. Он прост в освоении, и на данный момент Arduino — это, пожалуй, самый удобный способ программирования устройств на микроконтроллерах.

Для плат Arduino существует огромное количество сенсоров и плат расширения. В данной работе для управления двигателями и, таким образом, передвижения платформы использовалась вспомогательная плата L293D Motor Drive Shield (рис.2) [5].

Рисунок 2. Плата L293D MotorDrive Shield

Плата с рис.2 позволяет подключить к Arduino 4 электродвигателя постоянного тока, 2 шаговых либо 2 серводвигателя. В данной работе для обеспечения точности выполнения поворотных движений платформы и дальнейшей возможности расширения к двум из четырех возможных портов были подключены попарно соединенные (левая пара и правая пара) электродвигатели.

Рисунок 3. Конструкция платформы

Сама конструкция, на которую крепятся платы и двигатели представляет собой небольшой металлический блок с четырьмя колесами (рис. 3).

Анализ аналогов и альтернатив

В проекте использовалась плата Arduino, однако это далеко не единственный вариант для реализации подобной платформы. Помимо различных модификаций платы Arduino, существуют и их аналоги, однако большинство созданы по аналогии и совместимы с Arduino. Именно потому среди аналогов хочется выделить отладочную плату LaunchPad (MSP-EXP430G2) компании Texas Instruments (рис. 4). Внешне она напоминает Arduino, но с ней не совместима.

Рисунок 4 - Отладочная плата LaunchPad (MSP-EXP430G2)

Комплект LaunchPad включает целевую плату с панелькой под 14-/20-выводной корпус DIP, интегрированной схемой эмулятора для быстрого внутрисистемного программирования и отладки микроконтроллеров MSP430 Value Line посредством протокола Spy Bi-Wire (2-проводной JTAG). Микромощная FLASH-память микроконтроллера MSP430 может быть стерта и записана в течение нескольких секунд без использования внешнего источника питания. Отладочная плата LaunchPad также оснащена пользовательскими светодиодами и кнопками с программируемыми функциями и 10-выводными разъемами для подключения внешних устройств.

Главное достоинство этой схемы по сравнению с Arduino – это цена.

Еще одна интересная альтернатива ArduinoLego Mindstorms. Lego Mindstorms представляет собой конструктор с программируемым блоком на микроконтроллере Atmel AT91, а также с набором сенсоров. Этот набор позволяет создать конструкцию желаемой формы. Однако этот вариант значительно проигрывает Arduino как в функциональности (на программируемом блоке очень мало портов ввода-вывода, что позволяет подключить совсем небольшое количество сенсоров, либо вынуждает жертвовать мобильностью), так и в цене.

Перспективы дальнейших исследований

Результатом выполненной работы является мобильная платформа, которая уже способна перемещаться, однако пока только по записанной программе. В дальнейшем планируется оснастить эту платформу сенсорами для расширения ее функционала и обеспечения удаленного управления. Для данной платформы может быть реализовано как управление по сети Wi-Fi с помощью специального адаптера, так и управление голосовыми командами с помощью блока распознавания речи. Также планируется оснастить платформу ультразвуковым сенсором для определения расстояния до ближайших объектов и нахождения препятствий на пути. Возможности данной платформы довольно широкие и имеется еще множество сенсоров и датчиков, которые в дальнейшем смогут дополнить эту простую платформу до многофункционального робота [4].

Список источников

  1. Юревич Е.И. «Основы робототехники». - 2-е изд., перераб. и доп. - Спб.: БХВ-Петербург, 2005. - 416 с.: ил.
  2. Аппаратная платформа Arduino. Электронный ресурс. Режим доступа: http://arduino.ru
  3. Конструирование роботов: Пер. с франц./ Андре П., Кофман Ж.-М., Лот Ф., Тайар Ж.-П – М.: Мир, 1986. – 360 с., ил
  4. Michael McRoberts «Beginning Arduino». – 2010. – 459 с., ил
  5. Motor Shield - Arduino motor. Электронный ресурс. Режим доступа: http://www.ladyada.net/make/mshield/index.html