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

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

§ 3.3. Математическое обеспечение адаптивных робототехнических систем

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

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

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

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

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

Рис. 3.15. Схема функционирования адаптивного робота
Рис. 3.15. Схема функционирования адаптивного робота

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

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

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

Рис. 3.16. Функциональная организация адаптивной системы (I1, ..., I6 - информационные модули; E1, ..., E6 - исполнительные модули)
Рис. 3.16. Функциональная организация адаптивной системы (I1, ..., I6 - информационные модули; E1, ..., E6 - исполнительные модули)

Каждый уровень иерархии может потребовать информации о внешней среде, однако ее содержание, безусловно, разнится от уровня к уровню. Так, для верхнего уровня, например, потребная информация о рабочей сцене может заключаться в выяснении того, присутствует ли требуемый объект или нет, тогда как для нижних уровней могут потребоваться данные о его расположении и ориентации. Таким образом, каждый уровень потребляет только ту информацию, которая необходима для решения его задачи. Информационные модули I1, ..., I6 предназначены для приема, переработки и выдачи информации о рабочей сцене как для своего собственного уровня иерархии, так и для вышестоящего уровня, модули E1, ..., E6 - исполнительные.

Рассмотрим кратко функции каждого уровня иерархии и его входы и выходы.

Верхний уровень 6, получив задание (например, собрать блок), сформированное человеком-оператором на некотором языке, понятном системе, формирует в своей ЭВМ последовательность подзадач, решающих в совокупности сформулированное задание (например, собрать узел 1 блока, собрать узел 2 и т. д.).

Уровень 5 формирует в микроЭВМ последовательность элементарных действий или макрооператоров, выполнение которых обеспечит решение подзадачи (например, взять узел 1, вставить узел 1 в узел 2 и т. д.).

Уровень 4 образует для этих элементарных действий последовательность элементарных операторов, реализующих эти действия (например, для взятия узла 1 надо вычислить положение точки P1, перейти в точку P1, закрыть схват и т. д.).

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

Реализация большей части уровней иерархии основана на использовании ЭВМ, и, следовательно, в той или иной степени они поддерживаются соответствующими фрагментами программного обеспечения.

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

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

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

Рис. 3.17. Структура специализированной операционной системы
Рис. 3.17. Структура специализированной операционной системы

Программное обеспечение состоит из программ двух типов: управляющих и обрабатывающих. Управляющие программы обеспечивают функционирование системы в целом и составляют, вообще говоря, ядро операционной системы. Обрабатывающие программы выполняют в основном преобразование информации по командам управляющих программ. Имеются программы управления исходными данными, управления задачами, управления объектом.

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

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

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

Рис. 3.18. Структура программного обеспечения
Рис. 3.18. Структура программного обеспечения

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

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

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

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

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

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

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

  • обучение показом (применяется для обычных программных роботов; см. § 2.1 и 2.2);
  • формирование программы движения с помощью проблемно-ориентированного языка (этот метод обучения можно назвать методом "рассказа").

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

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

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

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

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

Основные требования, предъявляемые к языку управления движением робота, заключаются в следующем:

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

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

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

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

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

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

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

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

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

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

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

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

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






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


Диски от INNOBI.RU



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