|
3.5. Языки программирования и инструментальные средстваДля выполнения определенного задания робот должен быть обучен этому. В настоящее время существуют два способа обучения: методом показа и формированием программы движения с помощью проблемно-ориентированного языка (методом "рассказа"). Первый способ заключается в предварительном исполнении роботом требуемого задания с помощью человека-оператора и запоминании состояния в процессе исполнения в той или иной форме. Когда задание запомнено, оно может быть повторено. Второй способ обучения основан на записи задания в терминах языка управления движением. В этом случае задание представляет собой описание последовательности действий робота, сенсорных систем, а также арифметические операции, которые обеспечат выполнение задания. При этом степень детализации задания зависит от уровня входного языка: чем выше уровень языка, тем значительней степень обобщения, с которой формулируются задания. Так, например, для развитого языка можно представить себе такую программу, осуществляющую сборку: Для языка же низкого уровня эта программа может выглядеть так: Установим теперь, какой способ представления задания является наиболее приемлемым для адаптивного робота. Ясно, что в режиме обучения показом учет недетерминированности внешней среды является довольно сложным делом. Действительно, если мы на этапе обучения не знаем точно, в какую точку надо прийти роботу (как в рассмотренном выше примере с конвейером), то в этом случае необходимы специальные:
Недостаток этого метода заключается в том, что робот, к сожалению, утрачивает в некоторой степени свою универсальность, если понимать ее как способность решать широкий класс задач. Действительно, переход робота от одной задачи к другой связан не только с его переобучением, но и с перепрограммированием способов поведения в том случае, когда он сталкивается с недетерминированностью, и осуществить перепрограммирование часто бывает трудно, поскольку эти алгоритмы, как правило, встроены в программное обеспечение. Метод формирования рабочей программы на проблемно-ориентированном языке лишен этих недостатков: он позволяет реализовать самые разнообразные формы поведения адаптивного робота, прост в обращении и, что самое главное, позволяет формировать широкий класс заданий для робота, ставя, таким образом, в соответствие универсальности исполнительного механизма универсальность программного обеспечения. В настоящее время наблюдается очень бурное развитие проблемно-ориентированных языков управления движением робота, причем это касается не только адаптивных, но и программных роботов. Сейчас сложилась ситуация, подобная той, которая была 10-15 лет назад с языками программирования: число языков исчислялось сотнями и казалось, что их увеличению не будет конца. Однако в настоящее время положение стабилизировалось - выжило несколько языков программирования, которые получили достаточно широкое применение. Процесс стабилизации числа языков управления роботами наблюдается и сейчас. Не рассматривая эти языки подробно, обратим лишь внимание на те их характеристики, которые придают роботу адаптивные свойства. Языки программирования управления. Язык управления движением робота должен удовлетворять следующим требованиям:
Кроме того, синтаксис языка должен быть легким при обучении, чтении и написании программ, чтобы непрофессиональный программист мог легко его изучить и программировать на нем. Сформулированные выше требования удовлетворить достаточно трудно, так как в настоящее время нет методов, позволяющих формализовать эти требования. Из всего обилия языков, существующих в настоящее время, рассмотрим те из них, которые получили наиболее широкое распространение. - язык высокого уровня для описания манипуляционных задач. В систему программирования входит алголоподобный язык, транслятор, система управления манипулятором и внешними устройствами. Система предназначена для автоматизации процессов сборки при поточном производстве. включает стандартный набор операторов, обеспечивающих формирование блоков, циклов, рекурсий, макроопределений, различных типов данных Как язык реального времени представляет средства задания:
Рис. 3.19. Фрагмент программы на языке На рис. 3.19, а, б приведены два фрагмента программ на языке . В соответствии с первой программой (рис. 3.19, а) робот осуществляет поисковое движение в плоскости P1 до тех пор, пока усилие в направлении оси z, вызванное контактом с искомым объектом, не превысит определенной величины, после чего поиск заканчивается. Вторая программа (этот фрагмент относится к калибровке телевизионной системы) обеспечивает считывание видеоинформации с телевизионной системы и предварительную обработку этой информации, состоящую в выделении координат центра тяжести и ориентации объекта (переменные . - язык низкого уровня для программирования адаптивного сварочного робота [53]. Язык разработан для упрощения программирования сложных операций. В отличие от этот язык не требует больших вычислительных мощностей (для его реализации достаточно микро-ЭВМ). В состав языка входят следующие инструкции:
На рис. 3.20 приведен фрагмент программы на языке . Рис. 3.20. Фрагмент программы на языке PLAW При исполнении этого задания выполняются следующие операции:
- язык программирования промышленных роботов. Это один из наиболее распространенных языков в настоящее время. Он разработан для семейства роботов "Пума" обеспечивающих выполнение широкого класса заданий, в частности сборки, дуговой сварки, окраски, а также транспортных операций. - это мультизадачная система программирования реального времени, включающая кроме интерпретатора с языка еще и монитор, в функции которого входит:
- язык низкого уровня, требующий детального планирования всех действий. В состав языка входит набор инструкций, с помощью которых выполняются следующие операции.
На рис. 3.21 приведена программа на языке VAL [30], обеспечивающая определение местоположения 10 деталей с помощью телевизионной системы и их транспортировку на подставку. Прокомментируем часть этой программы, связанную с обеспечением адаптивных свойств поведения манипуляционного робота. Строка 2 программы инициирует визуальный сенсор и считывает видеоинформацию в память ЦВМ. Далее эта картинка обрабатывается: находится требуемый объект и определяются его координаты. Если объект не найден, то картинка считывается повторно, в противном случае определяются координаты объекта (строка 3), манипулятор перемещается в эту точку, захватывает объект и переносит его на подставку. После того как 10 деталей будут таким образом перенесены, оператору выводится сообщение об окончании задания. Рис. 3.21. Программа на языке VAL Система VAL, пожалуй, в настоящее время в наибольшей степени удовлетворяет требованиям, высказанным выше в отношении программного обеспечения адаптивных роботов. Она обладает как развитым монитором, так и языком программирования, которые в совокупности обеспечивают эффективное взаимодействие человека-оператора с роботом. Завершая наше обсуждение* языков программирования адаптивных роботов, отметим, что проблема разработки средств и способов общения человека с роботом является чрезвычайно актуальной и требует для своего решения совместных усилий математиков, инженеров и технологов. Исследовательский инструментальный робототехнический комплекс. В настоящее время задачи, которые могут выполнять роботы, становятся все разнообразнее и сложнее. Программное обеспечение робототехнических систем (в основном это касается адаптивных роботов) требует больших вычислительных мощностей, которыми могут не располагать робототехнические комплексы. В связи с этим особое значение приобретают инструментальные робототехнические системы, которые выполняют функции подготовки и отладки программ. Рассмотрим архитектуру и возможности исследовательского инструментального робототехнического комплекса (рис. 3.22), разработанного в МВТУ им. Н. Э. Баумана на кафедре "Автоматические системы". Рис. 3.22. Исследовательский инструментальный робототехнический комплекс Ядром комплекса является антропоморфный электромеханический манипулятор ПРАМЭ-5-МВТУ, управляющая мини-ЭВМ "СМ-4" и микро-ЭВМ "Электроника-60". Управляющая ЦВМ снабжена набором устройств, обеспечивающих выполнение описанных выше основных функций, в следующем комплекте:
Исполнительный механизм комплекса - манипуляционный робот ПРАМЭ-5-МВТУ, представляющий собой электромеханический робот антропоморфного типа с семью степенями подвижности (см. рис. 1.6). Он позволяет реализовать как простые технологические операции (например, транспортные), так и более сложные (сборочные, сварку и окраску). Система управления робота представляет собой блок цифровых следящих приводов, который состоит из плат согласования, преобразователей код-ШИМ, обработки сигналов от цифровых импульсных датчиков, используемых в качестве датчиков обратной связи, и усилителей мощности. Наличие в усилителе мощности цифровой схемы токоограничения позволяет существенно расширить диапазон мощностей применяемых электродвигателей (от единиц до сотен ватт). Программное обеспечение комплекса представляет собой специализированную систему, ядро которой построено на базе операционной системы реального времени (ОС РВ) и обеспечивает мультизадачный режим работы. Функции, выполняемые программным обеспечением, совпадают с функциями программного обеспечения промышленных робототехнических систем и определяют более широкие возможности для человека-оператора в формировании, отладке и тестировании рабочих программ, работы с внешними устройствами, представляя ему для этого мощные средства операционной системы. В состав операционной системы входят, в частности, модули, обеспечивающие имитацию исполнения рабочей программы с помощью графического дисплея: человек-оператор имеет возможность сформировать рабочую сцену на экране дисплея и проимитировать исполнение заданной технологической операции, динамически меняя некоторые параметры (рис. 3.23). Рис. 3.23. Имитация движения манипулятора (с экрана графического дисплея) Система технического зрения позволяет ввести в управляющую ЦВМ изображение рабочей сцены 128×128 дискрет с 8-ю градациями яркости, которое впоследствии воспринимается и обрабатывается соответствующими модулями, входящими в состав программного обеспечения (на рис. 3.24 изображен оцифрованный фрагмент такой сцены). В настоящее время разработан проблемно-ориентированный язык, представляющий собой язык низкого уровня (типа двигательного ассемблера), который позволяет программировать движение робота как на уровне элементарных операторов, так и на уровне макрооператоров, обеспечивающих сколь угодно сложную последовательность движений. Этот язык включает в себя операторы следующих типов:
Рис. 3.24. Оцифрованное изображение рабочей сцены (с экрана графического дисплея) Программы, сформированные и отлаженные на инструментальном комплексе, могут быть переданы для использования на промышленной системе минимальной конфигурации (см. п. 2.5) по каналу последовательного обмена или с помощью гибких магнитных дисков. |
|
|||
© ROBOTICSLIB.RU, 2001-2019
При копировании материалов проекта обязательно ставить ссылку на страницу источник: http://roboticslib.ru/ 'Робототехника' |