УДК 621.865.8
ОБУЧАЮЩАЯ СИСТЕМА «ROBOTINO» ДЛЯ МОБИЛЬНОЙ РОБОТОТЕХНИКИ
В.В. Михайлов, В.Г. Михайлов, И.Н. Рожнёв
Томский политехнический университет [email protected]
Представлены основные характеристики мобильных систем на примере использования подвижного робототехнического комплекса Robotino. Описана конструкция и принцип всенаправленного движения. Приведен пример построения в оболочке «Robotino View» учебной программы перемещения Robotino.
Ключевые слова:
Мобильный робот, характеристики, датчик, алгоритм перемещения.
Key words:
Mobile robot, features, sensor, travelling algorithm.
Причиной развития и изучения мобильных роботов является необходимость и желание использовать их в повседневной жизни людей - в офисах, больницах, музеях, библиотеках, супермаркетах, на спортивных объектах, в выставочных залах, аэропортах, железнодорожных станциях, учебных заведениях и, наконец, даже в домашнем хозяйстве. Автоматические самоходные тележки все чаще можно найти в составе транспортных систем на производственных предприятиях и в зонах повышенной опасности. Это мобильные роботы, перемещающиеся по поверхностям. Автоматическое определение маршрута предполагает либо передвижение вдоль ранее заданной траектории, либо произвольное определение маршрута в пределах какого-либо помещения. Поэтому различают свободное и предварительно заданное перемещение. В качестве модели для изучения характеристик мобильных систем удобно использовать подвижный робототехнический комплекс Robotino (рис. 1), оснащённый всенаправленным приводом [1]. Три двигателя привода обеспечивают перемещение системы во всех направлениях в горизонтальной плоскости, а также вращение вокруг вертикальной оси на месте. Система оснащена видеокамерой (5) и датчиками двух типов: цифровыми - для контроля фактической скорости (1) и аналоговыми - для измерения расстояния (3). Такое оснащение гарантирует выполнение широкого диапазона требований, предъявляемых к системам такого типа.
Каждый из датчиков может быть запрошен индивидуально через интерфейс ввода-вывода. Таким образом, можно избежать столкновения с препятствиями. Датчик антистолкновения (2) представляет собой узкую резиновую трубку, размещённую по периметру шасси Robotino. Внутри трубки расположены две электропроводящие полосы переключения, между которыми имеется малый зазор. При столкновении с препятствием эти поверхности замыкаются между собой, тем самым формируется сигнал для отключения привода. Такое отключение возможно в случае столкновения с препятствием при перемещении в любом направлении.
Михайлов Валерий
Васильевич, канд. техн. наук, ст. научн. сотр., доцент кафедры интегрированных компьютерных систем управ-ления Института кибернетики ТПУ.
E-mail: [email protected] Область научных интересов: технические средства автоматизации.
Михайлов Виталий Геннадьевич, магистрант кафедры интегрированных компьютерных систем управления Института кибернетики ТПУ. E-mail: [email protected] Область научных интересов: автоматизация технологических процессов и производств Рожнёв Иван Николаевич, ассистент кафедры интегрированных компьютерных систем управления Института кибернетики ТПУ.
E-mail:[email protected] Область научных интересов: разработка и применение мехатронных систем.
Рис. 1. Конструкция Robotino: а - размещение датчиков; б - блок управления и видеокамера
Блок управления содержит процессор с компактной картой памяти, модуль ввода-вывода и интерфейсы. Robotino оборудован девятью инфракрасными датчиками, которые установлены по периметру шасси под углом 40° к друг другу. Эти датчики позволяют определять расстояния до препятствий на пути перемещения Robotino. При помощи таких датчиков можно измерять расстояния до препятствий 4...30 смПри помощи видеокамеры оператор имеет возможность визуально контролировать, управлять и оценивать траекторию перемещения Robotino на основе изображения, воспроизводимого на экране ПК с помощью программной оболочки «Robotino View». Наличие аккумуляторных батарей даёт возможность Robotino автономно перемещаться в пределах зоны действия сети WLAN. Многочисленные датчики, видеокамера и программное обеспечение «Robotino View» обеспечивают систему необходимым «интеллектом».
Дополнительно к Robotino могут быть подключены индуктивные и инфракрасные оптические датчики, которые через интерфейс ввода-вывода связываются с всенаправленным приводом.
Robotino использует высокопроизводительный встроенный процессор Embedded PC, в состав которого входят:
• процессор PC 104 с Realtime Linux-Kernel;
• SDRAM 64 Mb;
• Compact Flash Card 256 Mb;
• Ethernet, 2*USB, 2*RS232, 1XPS2, 1 параллельный порт и 1 VGA коннектор;
• протокол Wireless LAN (WLAN) в соответствии с 802.11 g и 802.11 b.
«Сердце» управления Robotino образовывает сервер, использующий приложение Linux
[2]. Дистанционное управление всенаправленным приводом с использованием протокола WLAN производится с помощью клавиатуры ПК.
Мембранная клавиатура, встроенная в корпус блока управления, обеспечивает возможность управления следующими функциями Robotino без использования протокола WLAN:
• Старт бортового процессора для запуска вычислительных операций.
• Выбор языка меню.
• Включение статуса информации.
• Индикация состояния аккумуляторов.
• Конфигурация сетевых соединений.
• Выбор готовых автономных демонстрационных программ.
• TCP/IP - интерфейс, через который происходит связь с управляющим процессором с помощью протокола Wireless LAN.
С целью программирования и диагностики состояния монитор и клавиатура подключаются непосредственно к встроенному процессору PC 104. На базе Windows-C++ функциональной библиотеки можно подготовить приложения для управления Robotino через WLAN.
С помощью WLAN можно напрямую соединиться с системой управления робота. Тогда станет возможной непосредственная передача сигналов управления приводами, контроль показания датчиков, масштабирование и анализ изображения видеокамеры в реальном времени. Процессы и связи организуются с помощью «Robotino View» посредством соединения программных функциональных блоков. Программа управления соответствует представлению о движении робота и генерируется «интуитивно». Так достигается простое описание и программирование параллельных процессов (многозадачных режимов).
В оболочке «Robotino View» программирование осуществляется с помощью функциональных блоков, которые объединяются в единую программу [3]. Блоки разделены по вкладкам (рис. 2).
Logic
Mathematics Vector analysis Display
Image processing Generators Filter
Robotino Hardware Navigation Input devices Data exchange Sequence control Programs Рис. 2. Вкладки блоков
Имеются вкладки логических, математических блоков, работа с изображениями, а также вкладка, где указаны все блоки, относящиеся непосредственно к аппаратной части Robotino. В аппаратной части находятся функциональные блоки: двигатели, датчики расстояния, блок управления двигателями, цифровые и аналоговые входы, цифровые выходы, видеокамера и т.д.
На рис. 3 представлен пример программы, выполненной в оболочке «Robotino View». Алгоритм перемещения строится следующим образом. При помощи всенаправленного привода организуется прямолинейное движение при условии, что выход из программы произойдет, когда Robotino пройдет расстояние в один метр. Для реализации алгоритма перемещения достаточно использовать два двигателя и датчики антистолкновения. Остальные блоки - это константы, логические сравнения и блоки останова программы. Блокам двигателей устанавливается константа заданного перемещения. Когда величина пройденного пути будет равна или больше константы, то блок останова программы прекратит её выполнение и Robotino остановится. Также в программе имеется блок «Bumper», предусматривающий останов Robotino в момент срабатывания датчика антистолкновения при достижении препятствия.
Рис. 3. Программа для перемещения Robotino на определенное расстояние
Выводы
Программа, выполненная при помощи «Robotino View», предназначена для перемещения по заданному направлению на определенное расстояние. В программе используются два двигателя, которые управляются напрямую, с помощью констант. С одного двигателя поступают данные о пройденном пути и сравниваются с заданной константой. Когда пройденный путь будет равен или больше заданного, программа формирует команду останова.
Robotino - не человек, но его поведение можно описать как эмоциональное. «Бдительность», которая проявляется, например, при оценке расстояний до объектов, о которых сообщают датчики Robotino, программируется в виде реакций «Уступить!» или «Преследовать!». Так простым способом отображаются многие идеи для описания состояний Robotino.
СПИСОК ЛИТЕРАТУРЫ
1. Education and Research Robots: Robotino® // Festo Didactic. 2011. URL: http://www.festo-didactic.com/int-en/leaming-systems/education-and-research-robots-robotino/ (дата обращения: 10.09.2011).
2. Robotino® View // Festo Didactic. 2011. URL: http://www.festo-didactic.com/int-en/learning-systems/software-e-learning/robotino-sim-view/robotino-view-2.htm?fbid= aW50LmVuLjU1Ny4xNy4xOC4xMjE5LjcyNjY/ (дата обращения: 11.09.2011).
3. Graphical Programming Learning with Robots. Festo Didactic GmbH & Co. KG, 2007. - CD-ROM.
Поступила 20.09.2011 г.