Методологические аспекты применения учебных робототехнических комплексов в подготовке специалистов по информационным технологиям
Т.А. Лепихин,
Санкт-Петербургский государственный университет, факультет Прикладной математики - процессов управления
В статье затрагиваются вопросы использования робототехнических систем в учебном процессе для студентов, обучающихся по направлениям «Информационные технологии», «Прикладная математика и информатика» факультета ПМ-ПУ СПбГУ.
Рассматриваются методологические особенности проведения занятий (выполнение лабораторных и курсовых работ) с модельными объектами управления, представленными в статье [1], а также с промышленным роботом БАКИС М-201А [2].
Введение
Подготовка студентов по направлениям «Информационные технологии» и «Прикладная математика и информатика» предполагает исследование широкого круга задач, связанных со сбором, хранением и обработкой информации, разработкой программного обеспечения с использованием современных компьютерных и информационных технологий.
Промышленный робот БАКИС М-201А применяется при подготовке бакалавров указанных направлений по дисциплине «Вопросы программирования промышленного робота-манипулятора».
Дисциплина посвящена информационной и программной поддержке применения робота-манипулятора БАКИС М-201А. В процессе обучения бакалавры знакомятся с различными формализованными методами формирования алгоритмов функционирования робототехнических систем, решают задачи реализации и адаптации известных алгоритмов, проводят численные эксперименты.
Модельные объекты управления «горизонтальный пружинный маятник» и «груз на наклонном желобе» задействуются в курсе «Автоматизированные системы сбора и обработки информации», предназначенном для подготовки магистров по направлению «Информационные технологии». В рамках этого курса предполагается
обучение студентов теоретическим основам сбора и обработки данных, цифровых систем, преобразования сигналов из цифровой в аналоговую форму и обратно, применения всевозможных сенсоров, а также практическим аспектам построения систем сбора и обработки информации. При этом на всех этапах взаимодействия с указанными выше устройствами магистры проводят самостоятельные исследования при решении комплекса разнообразных задач, начиная с построения компьютерных и математических моделей объектов, заканчивая настройкой конечных интерфейсов и сенсоров.
Особая значимость предлагаемых курсов определяется их практической ориентацией, связанной с непосредственным взаимодействием с реальными информационными системами. Это способствует лучшему пониманию особенностей применения изучаемых подходов на практике, преодолению возникающих при этом трудностей, и как следствие - определению направлений усовершенствования известных и развития новых методов решения поставленных задач.
Кратко рассмотрим содержание и особенности представленных курсов.
Вопросы программирования промышленного робота-манипулятора РАШС М-201Д
Указанный курс дает возможность студентам изучить аспекты программирования промышленных систем, их особенности, познакомиться с задачами, решаемыми с помощью робототехнических комплексов.
Курс состоит из введения и двух частей. Во введении даются основные понятия, анализируются существующие робототехнические комплексы, их преимущества и недостатки, указывается сфера применения различных типов роботов.
Первая часть посвящена изучению типов движения робота, особенностей движения в различных системах координат и способам фиксирования положений робота. При этом для наглядной демонстрации изучаемого материала составляются несложные программы.
Во второй части основное внимание уделяется синтаксическим конструкциям встроенного языка программирования робота. Изучаются и применяются на практике условные операторы, формирование циклов. Формируются более сложные программные модули, которые допустимо выполнять автономно. Кроме того, в этой части освещаются особенности использования специальных инструкций, выполняемых роботом. Здесь также рассматривается работа с внутренними регистрами и взаимодействие с внешними интерфейсами робота.
Остановимся подробнее на каждой части курса. Во введении приводится обзор существующих робототехнических комплексов и рассматриваются следующие вопросы:
• виды роботов; роботы-манипуляторы, антропоморфные роботы; отличия промышленных роботов;
• обзор роботов-манипуляторов; характеристики и требования;
• устройство роботов-манипуляторов БАКиС; область их применения;
• устройство контроллера; назначение, характеристики [3];
Рис. 2 Управляющий модуль ЕЛМиС Я-ЗОгЛ
• инструмент, его назначение и виды;
• программное обеспечение.
• Основным предметом изучения первой части курса является непосредственно робот БАЫиС М-201А. Здесь уделяется внимание следующим вопросам:
• способы программирования робота;
• виды движений; системы координат;
• особенности встроенного языка программирования; составление программ, оптимизация кодов.
Программы представляют собой последовательность команд, исполняемых роботом. В таблице 1 приведен пример такой программы.
Таблица 1 Пример линейной программы робота .1: J P[1: Home] 100% FINE 2: L P[2] 2000 mm/sec CNT100 3: L P[3] 2000 mm/sec FINE 4: C P[4]
: P[5] 2000 mm/sec FINE 5: L P[6] 2000 mm/sec FINE 6: L P[7] 2000 mm/sec FINE 7: J P[1: Home] 100% FINE_
Представленная программа выполняет прямолинейное движение робота из позиции «Home» в позицию «2», однако, не доходя позиции, робот продолжает движение к следующему пункту назначения, т.к. указан параметр «CNT100». Робот движется из позиции «3» по дуге через точку «4» в позицию «5», затем в позиции «6» и «7». Из седьмой позиции робот возвращается в исходную позицию «Home».
Во второй части рассматриваются варианты усложнения и оптимизации программ. Для того чтобы робот выполнил какой-либо набор движений несколько раз, можно добавить такие же строки кода, но это не оптимально, поэтому, как и во многих языках программирования, здесь существует возможность формирования цикла. Цикл создается с помощью операторов условия и перехода к метке. Пример цикла продемонстрирован в таблице 2.
Таблица 2 Пример цикла
1:R[1]=0
2:LABEL1
3:J P[1] 100% FINE
4:L P[2] 2000mm/sec
5:R[1]=R[1]+1
6:IF R[1]>=3 JUMP LABEL1_
В указанной части кода применяются не только операторы условия, но и регистры, а также некоторые инструкции. Дополним код еще двумя важными действиями - смыканием и размыканием инструмента типа «захват». Для этого необходимо добавить четыре строки, содержащие регистры робота «Register Output». Приведем ниже последовательность команд, в результате которых робот осуществляет движение из одной позиции в другую, захватывает груз, переносит в следующую позицию, отпускает и возвращается в исходную. Выполнение программы сделаем в цикле.
Таблица 3. Программа переноса груза из одного положения в другое
1: R[1]=0 2: PR[2,3]=-30 3: PR[3,3]=30 4: LABEL1
5: J P[1: Home] 100% FINE
6: L P[2] 2000 mm/sec FINE OFFSET PR[2]
7: RO[1]=ON
8: RO[2]=OFF
9: L P[3] 2000 mm/sec FINE
10:C P[4]
: P[5] 2000 mm/sec CNT100 11:L P[6] 2000 mm/sec FINE OFFSET PR[3] 12: RO[1]=OFF 13: RO[2]=ON 14: L P[7] 2000 mm/sec FINE 15: J P[1: Home] 100% FINE 16: R[1]=R[1]+1 17: IF R[1]<=3 JUMP LABEL1 18:CALL HOME
Приведем список параметров, задаваемых в каждой строке кода программы в виде таблицы.
Таблица 4. Описание параметров программы
№ Параметр Варианты Описание
1 Тип Движения J(Joint) Движение из позиции в позицию, оптимальное в смысле использования осей робота
L (Linear) Прямолинейное движение из позиции в позицию
C (Circular) Движение по дуге через промежуточную позицию
2 Тип операции P[1:Home] P[2] Позиция с координатами в соответствующей системе координат
R[1]=0 Регистр (аналог переменной)
RO[1]=ON Регистр выходного сигнала
PR[i, j]= -30 Регистр позиционирования. Служит для внесения динамических изменений в значения координат позиций
3 Скорость движения Задается в %, mm/sec, deg/sec, rad/sec, m/sec в режиме движения Joint задается в процентах. Линейная скорость задается в мм/сек или м/сек
4 Тип достижени я позиции FINE Точный переход в заданную позицию и остановка в ней
CNTxx xx=1-100 Сглаживание движения. При значении «100» - робот практически вплотную подходит к заданной позиции, но чуть не доходит и движется к следующей без паузы. При значении «1» - срезает на некотором расстоянии, не снижая скорости.
5 Пустой параметр Возможность добавления различных инструкций
Offset PR[3] Изменение координат позиции на значения, записанные в позиционном регистре
LABELi Метка перехода
JUMP Переход к метке
CALL Вызов скрипта
3. Автоматизированные системы сбора и обработки информации
Основной акцент при описании курса сделаем на рассмотрении практических аспектов построения систем сбора и обработки информации. Базовым программным пакетом, используемом при моделировании и проведении экспериментов в данном курсе является MATLAB -Simulink.
В качестве источников и приемников данных выбраны следующие устройства:
• объекты управления «горизонтальный маятник», «груз на наклонном желобе» - через плату PCL-818L и порт RS-232.
• звуковая карта компьютера;
• устройство видео-захвата;
• локальная сеть Ethernet.
Взаимодействие с любым внешним устройством предполагает выполнение нескольких этапов:
1.Построение модели в подсистеме Simulink в соответствии со схемой, показанной на рис. 3.
Conversion Feedback Filtering
Л V
Output to device
Рис. 3. Общая схема компьютерной модели взаимодействия
с аппаратным обеспечением
2. Настройка блоков, участников взаимодействия для успешного сбора и передачи информации;
3. Обработка, преобразование и дополнение сигналов в соответствии с поставленными задачами.
Для построения указанной модели в системе Simulink существуют набор библиотек типовых блоков, предназначенных для работы с внешними устройствами. В них входят «Data Acquisiton», «Image Acquisition», «Instrument Control», «Real-Time Windows Target». Указанные библиотеки содержит в себе следующие блоки: Analog Input/Output, Digital Input/Output; Stream Input/Output, Packet Input/Output; Encoder input, Frequency output; From Video device; Query Instrument/To Instrument, предназначенные для решения соответствующих задач.
Проанализируем настройки параметров блоков. Первоначально, требуется выбрать тип устройства, с которым предполагается работать. Примеры устройств показаны на рис.4. Кроме того, необходимо указать внутренние настройки блоков, такие как скорость передачи информации, частота дискретизации, адреса портов, виды входных и выходных сигналов, дополнительные ограничения.
Рис. 4 Типы внешних и внутренних устройств, участников взаимодействия Обработка поступающих с устройств сигналов производится в центральном блоке «Conversion / Feedback / Filtering», представленном на рис. 3. Здесь происходит преобразование сигналов в удобный вид, формирование фильтрации шумов, построение модулей обратной связи.
В связи с тем, что курс построен по принципу «от простого к сложному», первые занятия предполагают знакомство с физическими устройствами, применяемыми в них датчиками, преобразованием сигналов из аналоговой формы в цифровую и обратно.
По мере ознакомления с азами взаимодействия с устройствами, студентам предоставляется возможность самим генерировать сигналы, передаваемые на устройства. Очевидно, что сначала как такового блока обратной связи в приведенной схеме нет (рис. 3), а блоки «Input from Device», «Output to Device» не связаны между собой. Входные данные записываются в рабочее пространство, либо демонстрируются в виде графиков в специальных осциллограммах. В качестве управляющих сигналов подаются тригонометрические функции и импульсы с определенной амплитудой, частотой, сдвигом. Для сетевых устройств формируются простейшие пакеты информации.
При накоплении студентами определенного опыта, задания усложняются, и им приходится строить различные варианты обратной связи и формировать фильтрующие модули.
Приведем некоторые затрагиваемые в рамках курса темы занятий, проводимых с использованием указанных выше устройств:
• общее устройство объектов комплекса; сенсоры, их типы и особенности использования в различных областях применения; сервоприводы, их виды и характеристики;
• интерфейсы взаимодействия внешних устройств с вычислительной машиной;
• преобразование сигналов, АЦП, ЦАП; устройства сопряжения (плата Advantech PCL-818L);
• особенности межсетевого взаимодействия.
В процессе изучения курса студенты выполняют лабораторные и курсовые работы. Примеры решаемых при их выполнении задач представлены ниже:
• формирование комбинированных командных сигналов и потоков данных в зависимости от времени и других условий, анализ реакции устройств;
• учет сигнала «input from device» при формировании управляющего воздействия, построение обратной связи; синтез ПИД-регуляторов;
• построение адаптивных и простых фильтров сигналов;
• передача данных по Ethernet с помощью MATLAB;
• обработка аудио/видео сигналов.
Заключение
Рассмотрены ключевые моменты применения робототехнических комплексов в дисциплинах «автоматизированные системы сбора и
обработки информации» для магистров и «вопросы программирования промышленного робота-манипулятора» специалистов и бакалавров по направлению «Информационные технологии». Значимым результатом обучения студентов в рамках указанных дисциплин является накопленный ими опыт преодоления всевозможных трудностей при исследовании реальных динамических систем и оперировании с ними, наличие которого, безусловно, является преимуществом при
трудоустройстве.
Литература
1. Веремей Е.И., Лепихин Т.А. Инновационная учебно-исследовательская среда моделирования информационных процессов. Тр. 3-й междунар. конф.
«Совр. инф. техн. и ИТ-образов. - М.: МАКС Пресс, 2008. - С. 207-214.
2. Лепихин Т.А. Использование промышленного робота FANUC в учебном процессе. //Тр. IV международной научно-практической конференции
«Современные информационные технологии и ИТ-образование». - М.:МАКС Пресс, 2009.- C. 339-345 1.W. Schollenberger. Training Manual Operating and programming basic course. Trainingcenter FANUC Robotics Deutschland GmbH. Neuhausen. 2008.