Новости
Библиотека
Карта сайтов
Ссылки
О сайте

предыдущая главасодержаниеследующая глава

3.5. Языки программирования и инструментальные средства

Для выполнения определенного задания робот должен быть обучен этому. В настоящее время существуют два способа обучения: методом показа и формированием программы движения с помощью проблемно-ориентированного языка (методом "рассказа").

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


Для языка же низкого уровня эта программа может выглядеть так:


Установим теперь, какой способ представления задания является наиболее приемлемым для адаптивного робота. Ясно, что в режиме обучения показом учет недетерминированности внешней среды является довольно сложным делом. Действительно, если мы на этапе обучения не знаем точно, в какую точку надо прийти роботу (как в рассмотренном выше примере с конвейером), то в этом случае необходимы специальные:

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

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

Метод формирования рабочей программы на проблемно-ориентированном языке лишен этих недостатков: он позволяет реализовать самые разнообразные формы поведения адаптивного робота, прост в обращении и, что самое главное, позволяет формировать широкий класс заданий для робота, ставя, таким образом, в соответствие универсальности исполнительного механизма универсальность программного обеспечения.

В настоящее время наблюдается очень бурное развитие проблемно-ориентированных языков управления движением робота, причем это касается не только адаптивных, но и программных роботов. Сейчас сложилась ситуация, подобная той, которая была 10-15 лет назад с языками программирования: число языков исчислялось сотнями и казалось, что их увеличению не будет конца. Однако в настоящее время положение стабилизировалось - выжило несколько языков программирования, которые получили достаточно широкое применение. Процесс стабилизации числа языков управления роботами наблюдается и сейчас. Не рассматривая эти языки подробно, обратим лишь внимание на те их характеристики, которые придают роботу адаптивные свойства.

Языки программирования управления. Язык управления движением робота должен удовлетворять следующим требованиям:

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

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

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

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

  • параллелизма
  • синхронизации
  • обработки особых случаев
Рис. 3.19. Фрагмент программы на языке ><img src='pic/000082.jpg' border='0'>
Рис. 3.19. Фрагмент программы на языке

На рис. 3.19, а, б приведены два фрагмента программ на языке . В соответствии с первой программой (рис. 3.19, а) робот осуществляет поисковое движение в плоскости P1 до тех пор, пока усилие в направлении оси z, вызванное контактом с искомым объектом, не превысит определенной величины, после чего поиск заканчивается. Вторая программа (этот фрагмент относится к калибровке телевизионной системы) обеспечивает считывание видеоинформации с телевизионной системы и предварительную обработку этой информации, состоящую в выделении координат центра тяжести и ориентации объекта (переменные .

- язык низкого уровня для программирования адаптивного сварочного робота [53]. Язык разработан для упрощения программирования сложных операций. В отличие от этот язык не требует больших вычислительных мощностей (для его реализации достаточно микро-ЭВМ). В состав языка входят следующие инструкции:

  • управления движением робота (перемещение от точки к точке с использованием различных способов интерполяции);
  • управления сварочным оборудованием;
  • управления периферийными устройствами (на уровне включения/выключения соответствующих каналов);
  • условные и безусловные операторы управления прохождением программы. Условные операторы реализуют проверку флагов и каналов с последующим условным ветвлением;
  • управление сенсорными системами. Это управление осуществляется на уровне обмена данными (посылка/прием) с сенсорами;
  • сервиса.

На рис. 3.20 приведен фрагмент программы на языке .

Рис. 3.20. Фрагмент программы на языке PLAW
Рис. 3.20. Фрагмент программы на языке PLAW

При исполнении этого задания выполняются следующие операции:

  • оператор 1 - устанавливается необходимая скорость;
  • оператор 2 - манипулятор перемещается в точку P10;
  • оператор 3 - проверяется работа сенсора;
  • оператор 4 - после достижения точки P10 производится поиск точки E20; если он удачен (об этом свидетельствует соответствующий сигнал сенсора), то текущее состояние запоминается, в противном случае управление передается на метку 50.
  • операторы 5, 6 - аналогичны операторам 3, 4, но движение горелки осуществляется относительно запомненной на предыдущем шаге точки E20.

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

  • задание и преобразование координат точек позиционирования как в декартовой системе, так и в форме углов в подвижных сочленениях;
  • редактирование программ, написанных на языке ;
  • управление исполнением программ пользователя;
  • сервисные операции (работа с файлами, расположенными на внешнем устройстве; управление состоянием системы; калибровка датчиков).

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

  1. Управления конфигурацией манипулятора. Эти инструкции выбирают одну из восьми возможных (для антропоморфной кинематики механизма) конфигураций.
  2. Управления движением манипулятора. Система обеспечивает два способа интерполяции при переходе от точки к точке: интерполяция на уровне углов в шарнирах и на уровне координат захвата, обеспечивая в последнем случае движение захвата по прямой. Широкий набор операторов управления движением позволяет задавать в качестве параметров как абсолютные координаты целевых точек, так и относительно перемещения, сохраняющие ориентацию захвата.
  3. Управления захватом. Эти инструкции обеспечивают открывание и закрывание захвата. Одна из команд (GRASP) вносит элемент адаптации в поведение робота, измеряя отклонение действительного расстояния, на которое закрылся захват, от указанного в параметре оператора: в том случае, если эти расстояния не совпадают, осуществляется аварийный останов манипулятора или переход на помеченный оператор.
  4. Арифметических действий над числами. Эти операторы выполняют элементарные арифметические действия (сложение, вычитание, умножение, деление, вычисление остатка от деления) над целыми числами.
  5. Арифметических действий над координатами точек позиционирования. Операторы этого типа работают с описателями точек позиционирования: они обеспечивают их создание и модификацию.
  6. Управления прохождением программы и связь с внешними устройствами. Этот класс инструкций содержит операторы безусловной и условной передач управления. Условия, заставляющие менять естественную последовательность выполнения рабочей программы, определяются состоянием канала, который связан с внешним устройством.
  7. Сервиса. Инструкции этого класса обеспечивают человека-оператора дополнительными возможностями по заданию режимов работы системы, ее калибровки, вводу/выводу и т. д.

На рис. 3.21 приведена программа на языке VAL [30], обеспечивающая определение местоположения 10 деталей с помощью телевизионной системы и их транспортировку на подставку. Прокомментируем часть этой программы, связанную с обеспечением адаптивных свойств поведения манипуляционного робота. Строка 2 программы инициирует визуальный сенсор и считывает видеоинформацию в память ЦВМ. Далее эта картинка обрабатывается: находится требуемый объект и определяются его координаты. Если объект не найден, то картинка считывается повторно, в противном случае определяются координаты объекта (строка 3), манипулятор перемещается в эту точку, захватывает объект и переносит его на подставку. После того как 10 деталей будут таким образом перенесены, оператору выводится сообщение об окончании задания.

Рис. 3.21. Программа на языке VAL
Рис. 3.21. Программа на языке VAL

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

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

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

Рассмотрим архитектуру и возможности исследовательского инструментального робототехнического комплекса (рис. 3.22), разработанного в МВТУ им. Н. Э. Баумана на кафедре "Автоматические системы".

Рис. 3.22. Исследовательский инструментальный робототехнический комплекс
Рис. 3.22. Исследовательский инструментальный робототехнический комплекс

Ядром комплекса является антропоморфный электромеханический манипулятор ПРАМЭ-5-МВТУ, управляющая мини-ЭВМ "СМ-4" и микро-ЭВМ "Электроника-60". Управляющая ЦВМ снабжена набором устройств, обеспечивающих выполнение описанных выше основных функций, в следующем комплекте:

  • память 128 К 16-битовых слов;
  • накопители на магнитных дисках;
  • накопители на гибких магнитных дисках;
  • накопители на магнитной ленте;
  • накопители на кассетной магнитной ленте;
  • алфавитно-цифровой дисплей;
  • графический дисплей;
  • аппаратура КАМАК, связывающая нестандартные устройства с ЦВМ;
  • ТВ-система, включающая контроллер, монитор и камеру;
  • пульт обучения;
  • стойка управления;
  • исполнительный механизм.

Исполнительный механизм комплекса - манипуляционный робот ПРАМЭ-5-МВТУ, представляющий собой электромеханический робот антропоморфного типа с семью степенями подвижности (см. рис. 1.6). Он позволяет реализовать как простые технологические операции (например, транспортные), так и более сложные (сборочные, сварку и окраску). Система управления робота представляет собой блок цифровых следящих приводов, который состоит из плат согласования, преобразователей код-ШИМ, обработки сигналов от цифровых импульсных датчиков, используемых в качестве датчиков обратной связи, и усилителей мощности. Наличие в усилителе мощности цифровой схемы токоограничения позволяет существенно расширить диапазон мощностей применяемых электродвигателей (от единиц до сотен ватт).

Программное обеспечение комплекса представляет собой специализированную систему, ядро которой построено на базе операционной системы реального времени (ОС РВ) и обеспечивает мультизадачный режим работы. Функции, выполняемые программным обеспечением, совпадают с функциями программного обеспечения промышленных робототехнических систем и определяют более широкие возможности для человека-оператора в формировании, отладке и тестировании рабочих программ, работы с внешними устройствами, представляя ему для этого мощные средства операционной системы. В состав операционной системы входят, в частности, модули, обеспечивающие имитацию исполнения рабочей программы с помощью графического дисплея: человек-оператор имеет возможность сформировать рабочую сцену на экране дисплея и проимитировать исполнение заданной технологической операции, динамически меняя некоторые параметры (рис. 3.23).

Рис. 3.23. Имитация движения манипулятора (с экрана графического дисплея)
Рис. 3.23. Имитация движения манипулятора (с экрана графического дисплея)

Система технического зрения позволяет ввести в управляющую ЦВМ изображение рабочей сцены 128×128 дискрет с 8-ю градациями яркости, которое впоследствии воспринимается и обрабатывается соответствующими модулями, входящими в состав программного обеспечения (на рис. 3.24 изображен оцифрованный фрагмент такой сцены). В настоящее время разработан проблемно-ориентированный язык, представляющий собой язык низкого уровня (типа двигательного ассемблера), который позволяет программировать движение робота как на уровне элементарных операторов, так и на уровне макрооператоров, обеспечивающих сколь угодно сложную последовательность движений. Этот язык включает в себя операторы следующих типов:

  • элементарные операторы управления движением;
  • операторы условной и безусловной передачи управления;
  • арифметические операторы (преобразование данных);
  • макросы.
Рис. 3.24. Оцифрованное изображение рабочей сцены (с экрана графического дисплея)
Рис. 3.24. Оцифрованное изображение рабочей сцены (с экрана графического дисплея)

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

предыдущая главасодержаниеследующая глава






Пользовательского поиска


Диски от INNOBI.RU



© Злыгостев Алексей Сергеевич, подборка материалов, оцифровка, статьи, оформление, разработка ПО 2001-2017
При копировании материалов проекта обязательно ставить активную ссылку на страницу источник:
http://roboticslib.ru/ "RoboticsLib.ru: Робототехника"