Методологические аспекты применения учебных робототехнических комплексов в подготовке специалистов по информационным технологиям

Вид материалаДокументы

Содержание


2. Вопросы программирования промышленного робота-манипулятора FANUC M-20iA
1: J P[1: Home] 100% FINE
If r[1]>=3 jump label1
3. Автоматизированные системы сбора и обработки информации
Подобный материал:

Методологические аспекты применения учебных робототехнических комплексов в подготовке специалистов
по информационным технологиям

Т.А. Лепихин,
Санкт-Петербургский государственный университет, факультет Прикладной математики – процессов управления
LepikhinTA@gmail.com


В статье затрагиваются вопросы использования робототехнических систем в учебном процессе для студентов, обучающихся по направлениям «Информационные технологии», «Прикладная математика и информатика» факультета ПМ-ПУ СПбГУ.

Рассматриваются методологические особенности проведения занятий (выполнение лабораторных и курсовых работ) с модельными объектами управления, представленными в статье [1], а также с промышленным роботом FANUC M-20iA [2].

1. Введение

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

Промышленный робот FANUC M-20iA применяется при подготовке бакалавров указанных направлений по дисциплине «Вопросы программирования промышленного робота-манипулятора». Дисциплина посвящена информационной и программной поддержке применения робота-манипулятора FANUC M-20iA. В процессе обучения бакалавры знакомятся с различными формализованными методами формирования алгоритмов функционирования робототехнических систем, решают задачи реализации и адаптации известных алгоритмов, проводят численные эксперименты.

Модельные объекты управления «горизонтальный пружинный маятник» и «груз на наклонном желобе» задействуются в курсе «Автоматизированные системы сбора и обработки информации», предназначенном для подготовки магистров по направлению «Информационные технологии». В рамках этого курса предполагается обучение студентов теоретическим основам сбора и обработки данных, цифровых систем, преобразования сигналов из цифровой в аналоговую форму и обратно, применения всевозможных сенсоров, а также практическим аспектам построения систем сбора и обработки информации. При этом на всех этапах взаимодействия с указанными выше устройствами магистры проводят самостоятельные исследования при решении комплекса разнообразных задач, начиная с построения компьютерных и математических моделей объектов, заканчивая настройкой конечных интерфейсов и сенсоров.

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

Кратко рассмотрим содержание и особенности представленных курсов.

2. Вопросы программирования промышленного робота-манипулятора FANUC M-20iA

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

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

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

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

Остановимся подробнее на каждой части курса. Во введении приводится обзор существующих робототехнических комплексов и рассматриваются следующие вопросы:
      • виды роботов; роботы-манипуляторы, антропоморфные роботы; отличия промышленных роботов;
      • обзор роботов-манипуляторов; характеристики и требования;



Рис. 1 Роботы-манипуляторы FANUC
      • устройство роботов-манипуляторов FANUC; область их применения;
      • устройство контроллера; назначение, характеристики [3];



Рис. 2 Управляющий модуль FANUC R-30iA
      • инструмент, его назначение и виды;
      • программное обеспечение.

Основным предметом изучения первой части курса является непосредственно робот FANUC M-20iA. Здесь уделяется внимание следующим вопросам:
      • способы программирования робота;
      • виды движений; системы координат;
      • особенности встроенного языка программирования; составление программ, оптимизация кодов.

Программы представляют собой последовательность команд, исполняемых роботом. В таблице 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

Таблица 1 Пример линейной программы робота.

Представленная программа выполняет прямолинейное движение робота из позиции «Home» в позицию «2», однако, не доходя позиции, робот продолжает движение к следующему пункту назначения, т.к. указан параметр «CNT100». Робот движется из позиции «3» по дуге через точку «4» в позицию «5», затем в позиции «6» и «7». Из седьмой позиции робот возвращается в исходную позицию «Home».

Во второй части рассматриваются варианты усложнения и оптимизации программ. Для того чтобы робот выполнил какой-либо набор движений несколько раз, можно добавить такие же строки кода, но это не оптимально, поэтому, как и во многих языках программирования, здесь существует возможность формирования цикла. Цикл создается с помощью операторов условия и перехода к метке. Пример цикла продемонстрирован в таблице 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

Таблица 2 Пример цикла.

В указанной части кода применяются не только операторы условия, но и регистры, а также некоторые инструкции. Дополним код еще двумя важными действиями – смыканием и размыканием инструмента типа «захват». Для этого необходимо добавить четыре строки, содержащие регистры робота «Register Output». Приведем ниже последовательность команд, в результате которых робот осуществляет движение из одной позиции в другую, захватывает груз, переносит в следующую позицию, отпускает и возвращается в исходную. Выполнение программы сделаем в цикле.
  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
  1. L P[6] 2000 mm/sec FINE OFFSET PR[3]
  2. RO[1]=OFF
  3. RO[2]=ON
  4. L P[7] 2000 mm/sec FINE
  5. J P[1: Home] 100% FINE
  6. R[1]=R[1]+1
  7. IF R[1]<=3 JUMP LABEL1
  8. CALL HOME

Таблица 3 Программа переноса груза из одного положения в другое.

Приведем список параметров, задаваемых в каждой строке кода программы в виде таблицы.



Параметр

Варианты

Описание

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

Вызов скрипта

Таблица 4 Описание параметров программы.

3. Автоматизированные системы сбора и обработки информации

Основной акцент при описании курса сделаем на рассмотрении практических аспектов построения систем сбора и обработки информации. Базовым программным пакетом, используемом при моделировании и проведении экспериментов в данном курсе является MATLAB-Simulink.

В качестве источников и приемников данных выбраны следующие устройства:
  • объекты управления «горизонтальный маятник», «груз на наклонном желобе» – через плату PCL-818L и порт RS-232.
  • звуковая карта компьютера;
  • устройство видео-захвата;
  • локальная сеть Ethernet.

Взаимодействие с любым внешним устройством предполагает выполнение нескольких этапов:
  1. Построение модели в подсистеме Simulink в соответствии со схемой, показанной на рис.3.




Рис. 3 Общая схема компьютерной модели взаимодействия

с аппаратным обеспечением
  1. Настройка блоков, участников взаимодействия для успешного сбора и передачи информации;
  2. Обработка, преобразование и дополнение сигналов в соответствии с поставленными задачами.

Для построения указанной модели в системе 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. Заключение

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


Литература
  1. Веремей Е.И., Лепихин Т.А. Инновационная учебно-исследовательская среда моделирования информационных процессов. Тр. 3-й междунар. конф. «Совр. инф. техн. и ИТ-образов. – М.: МАКС Пресс, 2008. – С. 207–214.
  2. Лепихин Т.А. Использование промышленного робота FANUC в учебном процессе. //Тр. IV международной научно-практической конференции «Современные информационные технологии и ИТ-образование». – М.:МАКС Пресс, 2009.– C. 339–345
  3. W. Schollenberger. Training Manual Operating and programming basic course. Trainingcenter FANUC Robotics Deutschland GmbH. Neuhausen. 2008.

- -