Содержание к диссертации
Введение
Глава I. Средства организации структур и вычислений в системе управления промшпяенными роботами 9
1.1. Общие особенности внешних информационных связей систем управления промышленными роботами 9
1.2. Принципы построения параллельных алгоритмов 10
1.2.1.. Общие алгоритмические понятия II
1.2.2. Модель параллельных вычислений 13
1.2.3. Автономные блоки асинхронных алгоритмов и потоки действий 16
1.2.4. Доступ к данным * , 17
1.2.5. Квазипараллельные вычисления 18
1.3. Ключевые операторы и фазы выполнения автономных блоков 20
1.3.1. Фазы и фазовые интервалы 21
1.3.2. Логическая и динамическая корректность вычислений 24
1.4. Анализ структуры сигнальных связей в системе реального времени 28
1.4.1. Порождение структурированных каркасов раскрашенной сети Петри 29
1.4.2. Интерпретация структурированных каркасов 33
1.4.3. Межблочные сигнальные связи 35
1.5. Выводы по первой главе 37
Глава 2. Исследование функциональных особенностей систем управления промышленными роботами 39
2.1. Оценка требований к динамике реализации функ ций цикловых и позиционных систем 39
2.1 1. Состав основных функций управляющих устройств для простейших цикловых и позиционных систем 40
2.1.2. Анализ функциональных возможностей микропроцессорных управляющих устройств для цикловых и позиционных систем 45
2.1.3. Фазы реализации функций устройства управления промышленными роботами 47
2.2. Анализ состава функций систем управления контурными, позиционно-контурными и адаптивными промышленными роботами 49
2.2.1. Анализ семантики языков управления пози ционными и контурными роботами 49
2.2.2. Функциональные возможности объектных языков управления роботами 53
2.2.3. Функции интеллектуальных роботов 55
2.3. Выводы по второй главе 58
Глава 3. Исследование принципов структурирования и реализации алгоритмов управления промышленными роботами 60
3.1. Структурно-алгоритмические принципы построения систем управления промышленными роботами ... 60
3.1.1. Иерархия функциональных уровней 61
З.1..2. Ветви и классы функциональных модулей 67
3.1.3. Базисные модули и подсистемы 70
3.2. Реализация алгоритмов функционирования промышленных роботов средствами микропроцессорных управляющих комплексов 73
3.2.1. Разновидности межмодульных информационных связей 73
3.2.2. Методы реализации межмодульных сигнальных связей 80
3.2.3. Анализ методов распределения ресурса процессорного времени 89
3.2.4. Методы распределения оперативной памяти. 97
3.3. Выводы по третьей главе .100
Глава 4. Реализация сися'еш управления промышленными роботами для дуговой электросварки 102
4.1. Состав функций и общая алгоритмическая структура системы 102
4.2. Реализация базисных модулей и подсистем 103
4.3. Структура сигнальных связей 104
4.4. Выводы по четвёртой главе НО
Заключение 112
Литература 115
- Общие особенности внешних информационных связей систем управления промышленными роботами
- Оценка требований к динамике реализации функ ций цикловых и позиционных систем
- Структурно-алгоритмические принципы построения систем управления промышленными роботами
- Реализация алгоритмов функционирования промышленных роботов средствами микропроцессорных управляющих комплексов
Введение к работе
Интенсивное внедрение промышленных роботов (ПР) различных типов на предприятиях нашей страны и зарубежом обусловлено возрастающей эффективностью применения такого рода устройств в различных отраслях производства, а также открывающейся в связи с их применением широкой перспективой комплексной автоматизации.
В августе 1980 г. ЦК КПСС принял постановление "0 мерах по увеличению производства и широкоїлу применению автоматических манипуляторов в отраслях народного хозяйства в свете указаний ХХУ съезда КПСС", в котором отмечается необходимость интенсификации усилий по разработке и внедрению этой техники.
В отчётном докладе ЦК КПСС ХХУІ съезду говорится: "Поистине революционные возможности открывают создание и внедрение миниатюрных управляющих машин, промышленных роботов. Они должны получить самое широкое применение".
В связи с освоением массового производства универсальных микропроцессоров, полупроводниковой памяти с высокой степенью интеграции центр тяжести общей трудоёмкости разработок управляющих комплексов для ПР сместился в область формирования и реализации адекватных способов структурирования разрабатываемых комплексов и организации взаимодействия их структурных компонент. От эффективности принятых способов структурирования в значительной мере зависит эффективность всей работы по созданию комплексов и систем управления для ПР.
Вопросам создания систем управления роботами (СУР) посвящено большое количество статей и монографий. Подавляющее большинство этих публикаций содержит описания либо прикладных алгоритмов и методов реализации конкретных функций СУР (планирование действий,
- б -
анализ сцен, синтез траектории движения и т.п.), либо особенностей алгоритмической организации конкретных систем. Работ, посвященных поиску общих универсальных принципов структурирования и реализации СУР пока очень немного. Между тем, без получения конкретных приемлемых результатов в этой области исследователи и разработчики СУ для роботов смогут обмениваться продуктами своего труда» в основном, на уровне изложения идей, принципов и алгоритмов, а не на уровне готовых структурных решений.
Общие принципы задают направление развития создаваемых СУР, что позволяет избежать возникновения структурных тупиков, вынуждающих отказаться от имеющегося задела в виде надёжно работающих элементов и подсистем.
Цель работы. Исследование и разработка принципов конструирования систем алгоритмов функционирования управляющих устройств для ПР в части определения рациональных способов структурного построения системы (способов разбиения системы на функциональные составляющие), состава механизмов взаимодействия отдельных функциональных составляющих, определения эффективных методов реализации выбранных механизмов взаимодействия.
Методы исследований. Рациональные способы структурирования СУР определяются на основе анализа требований к составу функций ПР с учётом возможностей микроэлектронной элементной базы. В работе используются средства, методы и модели общей теории систем, теории множеств, теории графов, теории программирования.
Научная новизна. Предложена модель оператора параллельного вычислительного процесса; на базе этой модели сформулированы понятия сигнальной переменной, фазы реализации потока асинхронных вычислений, динамической корректности и срочности вычислений.
Предложен подход к реализации асинхронных вычислений с децентрализованным построением системы сигнальных связей.
Предложена структурная организация модульной системы управления ПР в виде функциональных ветвей иерархически упорядоченных модулей.
Сформулированы оптимальные (с точки зрения качества работы системы) методы распределения процессорного времени и квазиоптимальная модификация этих методов, допускающая эффективную реализацию.
Предложена эффективная стратегия разбиения функциональных блоков при использовании мультипроцессорной вычислительной системы.
Предложен инструмент моделирования синхронизирующих связей системы (раскрашенные сети Петри), являющийся эффективным средством анализа логической структуры разрабатываемых систем.
Предложен метод оптимизации представления данных, оформленных в виде развитых списочных структур.
Предложен метод классификации функциональных блоков СУР и построения глобальных имен, отражающих место соответствующих блоков в общей структуре системы и их назначение.
Практическая ценность. Разработанные в диссертации методы структурирования и реализации микропроцессорных СУР используются при разработке управляющих систем и комплексов для ПР различных типов, а также для исследовательских и экспериментальных робото-технических комплексов.
Предложенная в диссертации модификация формализма сетей Петри пригодна для анализа систем реального времени произвольного назначения.
Предложенные в диссертации методы преобразования представлений списочных структур позволяют оптимизировать затраты памяти на представление списков.
Построенная в диссертации система классификации алгоритмических модулей для управления роботами открывает перспективу систематизации вариантов решений по реализации функций ПР, решений по построению систем алгоритмов управления ПР.
Реализация результатов работы. Предложенные в диссертации методы построения алгоритмов функционирования СУР, принципы синхронизации параллельных вычислительных процессов реализованы в серийно выпускаемых управляющих устройствах для промышленных роботов, в типовой системе автоматизации исследований для ленинградских учреждений АН СССР. Соответствующие документы с указанием экономического эффекта приводятся в приложении.
Апробация работы. Сообщения и доклады по материалам диссертации представлялись на У Всесоюзном симпозиуме по теории, принципам устройства и применению роботов и манипуляторов (Ленинград, апрель 1974), ІУ Международной конференции по искусственному интеллекту (Тбилиси, сентябрь 1975), Юбилейной конференции Института автоматики и процессов управления ДВНЦ АН СССР (Владивосток, октябрь 1977), Всесоюзном совещании по робототехническим системам (Владимир, октябрь 1978), Л Всесоюзном совещании по робототехническим системам (Минск, май 1981), научной сессии Совета АН СССР "Робототехнические системы" и секции Совета по кибернетике АН СССР (Москва, март 1982), конференции "Автоматизированные системы управления в сварочном производстве" (Киев, май 1982), П симпозиуме специалистов СССР и ГДР по системам управления роботами (Москва, май 1983).
Общие особенности внешних информационных связей систем управления промышленными роботами
Сфера применения промышленных роботов охватывает очень широкое разнообразие производств самых различных типов - от обслуживания термоядерных установок [і] до автоматизации горнодобывающих производств [2] , от сборки приборов [з] до горячей объёмной штамповки [4, 5J . Так же широко разнообразие требований, предъявляемых к ПР, к составу функций, реализуемых системами управления ПР различных типов.
Вместе с тем, существует ряд факторов, определяющих характерные для всех типов ПР требования к их системам управления. Эти требования вытекают, в первую очередь, из общих для всех типов ПР особенностей информационной среды, в условиях которой функционируют их системы управления.
Состав информационного окружения системы управления ПР в самом общем виде может быть представлен схемой рис.1, на которой объекты, внешние по отношению к системе управления ПР, разбиты на шесть групп: 1) человек-оператор, взаимодействующий с системой за счёт использования пультовых средств ввода-вывода информации (клавиатура, дисплей, задающие рукоятки, устройства ввода речи, синтезаторы речи и т.п.); 2) управляющие системы высшего ранга, отвечающие за функционирование автоматизированного производства (участка) в целом; 3) управляющие системы смежных автоматических комплексов, для которых необходимо непосредственное взаимодействие с рассматриваемым ПР (например, управляющие системы соседних ПР); 4) обслуживаемое роботом технологическое оборудование (автоматика обрабатывающих станков, автоматизированная оснастка, кантователи, поворотные столы, сварочное оборудование и т.п.); 5) исполнительные устройства ГЕР (манипуляторы, захватные устройства, устройства перемещения ПР); 6) измерительные подсистемы ПР (датчики положения, скорости, тактильные и силовые датчики, локационные устройства, видеосистемы и т.п.) [б] .
Объекты каждой из перечисленных групп работают одновременно и в значительной мере независимо, асинхронно. Так же независимо и асинхронно генерируются сообщения, соответствующие информационным связям, указанным на рис.І; в этих условиях представляется естественной внутренняя организация системы управления ПР в виде самостоятельных (функциональных блоков (аппаратных или программных) выполняющих свои функции параллельно (квазипараллельно) во времени и тесно взаимодействующих друг с другом. Теория организации таких систем опирается на представления о структуре параллельных алгоритмов и реализации параллельных вычислений.
Постановка и практическое решение задач построения и реализации алгоритмических систем параллельного типа требуют привлечения качественно новых абстракций (концепций, терминов, изобразительных средств), методов построения и анализа создаваемых систем. При этом в полном объёме используются понятия, методы и средства, сформированные и освоенные на предыдущем этапе применения вычислительной техники для реализации отдельных последовательных алгоритмов обработки информации. В качестве примера можно указать фундаментальное понятие оператора как единицы действия и единицы конструирования алгоритмов [?] , концепцию схемы программы как основного инструмента исследования общих свойств и преобразований последовательных алгоритмов [8] , понятие переменной и т.п.
Основные понятия, используемые при построении и анализе параллельных алгоритмов, являются обобщениями понятий, сформировавшихся в ходе развития теории и практики построения алгоритмов сугубо последовательного типа. Это касается, в первую очередь, таких наиболее общих алгоритмических понятий, как "оператор", "вычислительный процесс", "переменная" и т.п.
Общее понятие алгоритма (и вычислительного процесса, реализующего некоторый алгоритм) опирается на представление о множестве упорядоченных (может быть - частично упорядоченных) действий QK , реализующих преобразования параметров текущего состояния S; определенной совокупности информационных структур (например, состояний регистров и других элементов памяти ЭВМ). Для построения и анализа последовательного алгоритма достаточно представления о составляющих его конструктивных элементах--операторах как об отображениях
Оценка требований к динамике реализации функ ций цикловых и позиционных систем
В настоящее время принято разделять ПР на два класса с существенно различающимися принципами управления: ПР, работающие по жёсткой (жёстко программируемые ПР) и по гибкой программе (адаптивные ПР) [_27] . По типам реализуемого движения различают роботы с контурным, позиционным и цикловым управлением [28І .
Общей особенностью цикловых и позиционных ПР является отсутствие существенных ограничений на характер движения между соседними узловыми точками программируемой траектории движения рабочего органа. В простейших цикловых роботах в двух крайних положениях каждой отдельной степени подвижности фиксируются механические упоры и имеется возможность программировать движение от одного из этих упоров к другому и обратно (в общем случае параллельно с этим движением может выполняться аналогичное движение по другой степени подвижности). При этом для предотвращения чрезмерных динамических перегрузок и износа механизма зачастую используется простое механическое демпфирование движения при подходе к упору [29, 30J : информация о значениях геометрических параметров программируемого движения в случае простейших цикловых роботов задаётся посредством требуемой установки механических упоров - в этом случае система управления не играет активной роли в процессе установки значений геометрических параметров движения робота.
Управляющая программа (УП), задающая информацию о требуемой последовательности движения робота, об обмене сигналами с технологическим оборудованием может формироваться (например, в простейших системах управления цикловыми ПР) так же без активного участия системы путем ручного набора на штекерных панелях, кулачковых барабанах и т.п. [27] . Таким образом, в случае простейших цикловых устройств система управления ПР не играет активной роли в процессе формирования УП, ориентированной на выполнение роботом конкретной технологической операции.
Важнейшей функцией любой системы программного управления ПР является интерпретация элементов УП: организация выработки управляющих воздействий (поступающих на исполнительные механизмы робота), операций обмена информацией с технологическим оборудованием, человеком-оператором, центральной ЭВМ (если такая существует) и т.п.; логический блок (аппаратный или программный), реализующий эту функцию, будем называть интерпретатором УП.
Еще две функции присущи любым системам управления ПР от примитивных до самых развитых: функция ввода директивной информации о пульта оператора (функция ввода директив), а также функция (подготовки и) вывода управляющих воздействий.
Рассмотрим пример (рис.9) простейшей разомкнутой [31] цикловой системы управления промышленным роботом, движения которого ограничиваются механическими упорами, программируются на штекерной панели и синхронизируются генератором последовательности тактовых сигналов. Пусть пульт оператора такого ПР содержит две кнопки: "пуск" и "стоп": функции ввода этих сигналов реализует блок AI, который выполняет присваивание %« := I (в случае поступления сигнала "пуск") или присваивание X» :=1 (в случае поступления сигнала "стоп").
Оператор У?3 (по сигналам %. генератора Л0 тактовых сигналов) выполняет элементы управляющей программы, набранной на штекерной панели. Исполнение операторов состоит в выдаче управляющих воздействий (например, сигналов открытия/закрытия клапанов пневмосистемы); распознаватель Р анализирует значение признака ОС а завершения сеанса работы ПР.
Структурно-алгоритмические принципы построения систем управления промышленными роботами
Общий алгоритм (система алгоритмов) функционирования конкретной системы управления ПР должен обеспечивать выполнение этим устройством конкретного подмножества из функций, рассмотренных в предыдущей главе, должны выполняться ограничения длительностей отдельных фаз реализации этих функций: всё это составляет требования к устройству с точки зрения его непосредственного использования.
Дополнительные требования к общему алгоритму диктуются соображениями эффективности конструирования алгоритмов, соображениями рационализации разработки, модификации и развития управляющих устройств; эти требования относятся, в основном (и в первую очередь) к принципам внутреннего структурно-алгоритмического построения системы управления и приниципам реализации конструируемых алгоритмов.
Важнейшим условием эффективности разработки развитых управляющих систем является использование принципа их модульного построения [78] . Составляющие систему модули представляют собой укрупнённые структурные элементы (алгоритмы или структуры данных), позволяющие строить (модифицировать, анализировать) систему, отвлекаясь, на определённом этапе, от несущественных подробностей, используя в новых разработках готовый (и, что особенно важно,- апробированный!) задел предшествовавших разработок. Дей ственность последнего из заказанных факторов находится в прямой зависимости от наличия ясной и оправданной стратегии общего развития систем рассматриваемого класса - от того, насколько последовательно выдерживаются принятые общие принципы структурного построения, а также от того, насколько естественны эти самые общие принципы.
Естественность и рациональность принципов иерархического построения развитых управляющих систем (и, в частности, систем управления 0Р) общепризнана (44, 50, 79, 80} . Ниже приводятся формулировки статуса для каждого из четырёх выделяемых нами иерархических уровней системы алгоритмов управления ПР. Эти формулировки получены как результат анализа и "усреднения" имеющихся в литературе предложений по расслоению систем рассматриваемого класса на иерархические уровни, они были испытаны и уточнены в ходе выполнения практических работ по созданию, модификации и развитию действующих вариантов систем управления ПР.
Каждый из выделяемых иерархических уровней подразделяется на два подуровня. Младший из подуровней (декларативный) каждого иерархического уровня содержит структуры данных, служащие для хранения текущей (обрабатываемой) информации, промежуточных результатов работы модулей уровня, а также для обмена информацией с модулями младшего иерархического уровня (или внешними - например, управляемыми устройствами).
Старший из подуровней (операционный) содержит операционные модули, автоматически интерпретируемые в ходе работы системы представления алгоритмов обработки информации, соответствующих статусу рассматриваемого иерархического уровня. Модулям опера ционного подуровня доступны декларативные модули того же иерархического уровня и декларативные модули непосредственно прилегающего старшего иерархического уровня (если такой существует).
Интерфейсный уровень. Предназначен для непосредственной реализации обмена информацией с внешними устройствами. Этот уровень включает (в качестве элементов своего декларативного подуровня) внешние регистры управляющего устройства - элементы и структуры данных, представляющие физические каналы информационных связей управляющего устройства с внешними (по отношению к управляющему устройству) источниками и приёмниками информации.
Основная задача модулей интерфейсного уровня - обеспечение своевременного обмена информацией с внешними регистрами. Модули этого уровня либо только выполняют (жёстко привязанные ко времени) пересылки информации между внешними регистрами и внутренними структурами данных системы, либо осуществляют (в ходе таких пересылок) неотложные операции обработки пересылаемой информации (например, перекодировка, коррекция или подсчёт числа передаваемых элементов данных).
Команды модулям интерфейсного уровня регламентируют динамику смены состояний исполнительных механизмов ПР. "Обеспечить такой-то график изменения показаний датчика положения", "Обеспечить постоянство скорости изменения обобщённой координаты" - вот типичная семантика такого рода команд [8ISJ .
Реализация алгоритмов функционирования промышленных роботов средствами микропроцессорных управляющих комплексов
Современные универсальные микропроцессоры и микропроцессорные ЭВМ обладают довольно высокой производительностью (сотни тысяч операций в секунду), развитой системой прерываний, возможностью подключения значительных объёмов непосредственно доступной оперативной памяти (десятки Кбайт), запоминающих устройств на магнитных носителях (магнитных лентах и дисках).
Это открывает перспективы эффективной реализации широкого набора функциональных возможностей устройств управления ПР с широким диапзоном значений динамических параметров, рассмотренных в главе 2. Одной из наиболее существенных характеристик принимаемых принципов реализации алгоритмов функционирования управляющего устройства является указание используемых разновидностей межмодульных информационных связей.
Будем считать, что алгоритм функционирования рассматриваемой системы представляется в виде совокупности («л/ элементарных операторов (машинных команд), множества хТ параметров и Е[ сигнальных переменных (с заданными начальными значениями). Множество j-ЛІ будем считать разбитым на операционные модули - непересекающиеся подмножества j-nj,, . . ifK\ элементарных операторов.
Непосредственная информационная связь между операционными моду-лями G и Н осуществляется за счёт пересечений Хн П X , множеств входных/выходных параметров этих блоков (пара С Н метрические информационные связи) и НиП Н » Н. N 2 мно-жеств сигнальных переменных (сигнальные связи). С точки зрения анализа возможного развития вычислительного процесса определяющее значение имеет структура сигнальных связей между операционными модулями.
Требования эффективности разработки и анализа алгоритмов приводят к необходимости наложения ограничений на состав допустимых пересечений временных интервалов исполнения элементарных операторов и на способы использования сигнальных переменных. Основное ограничение, связанное с модульным построением алгоритма, состоит в условии: временные интервалы /) ] и[ / ); (] выполнения элементарных операторов J? и Я і могут быть пересекающимися только в том случае, если flj и Л: принадлежат различным операционным модулям - назовём его условием несовместимости исполнения операторов, принадлежащих одному и тому же модулю (или просто - условием несовместимости).
Соблюдение условия несовместимости позволяет рассматривать процесс выполнения отдельного операционного модуля как строго последовательный вычислительный процесс. Тогда вся специфика, связанная с параллелизмом вычислительных процессов, протекающих в системе в целом, сосредотачивается на уровне межмодульных информационных связей; последовательность выполнения операторов отдельного операционного модуля определяется при этом динамикой смены значений специальной сигнальной переменной - указателя очередного подлежащего выполнению оператора (примером такого указателя служит регистр счётчика команд в процессоре ЭВМ с классической архитектурой jjB9] ). Условимся сокращённо называть эту специальную сигнальную переменную операторным указателем.
Соблюдение условия несовместимости отражает общепринятую практику построения управляющих систем; соглашения, касающиеся ограничений на характер использования сигнальных переменных, варьируются различными авторами и коллективами, отражая приверженность тем или иным особенностям стиля разработок: здесь пока нет жёстких устоявшихся традиций. В данном разделе мы рассмотрим один из вариантов таких соглашений, в основном отражающий наиболее распространённые стилистические особенности построения управляющих систем.
Рассмотрим подробнее характер использования операторных указателей. Для реализации широкого классе:: управляющих систем (охватывающего едва ли не все практические задачи сегодняшнего дня) достаточно использовать фиксированное число таких указателей, равное числу автономных блоков (см. главу I), составляющих систему. Б частном случае алгоритм функционирования управляющего устройства может представляться единственным автономным блоком Р и использовать единственную сигнальную переменную типа операторного указателя - и такой сугубо последовательный алгоритм может соответствовать развитой совокупности модулей, образующих управляющую систему.