Содержание к диссертации
Введение
ГЛАВА 1. Манипуляционные роботы как объект управления и моделирование их динамики на параллельных вычислительных комплексах 10
1.1. Области применения и характеристики промышленных роботов 10
1.2. Математическое описание многостепенных манипуляторов 13
1.3. Назначение манипулятора PUMA-560 и его математическая модель 16
1.4. Архитектуры параллельной обработки данных и их классификация 24
1.5. Транспьютер – процессор для параллельных вычислений и связи с другими процессорами. Сети транспьютеров 42
1.6. Современные мультипроцессорные системы фирмы Parsytec и их возможности 49
1.7. Постановка задачи диссертации 55
ГЛАВА 2. Построение адаптивной системы управления манипуляционным роботом 57
2.1. Структура и задачи системы управления манипуляционным роботом. Алгоритмы управления динамикой траекторного движения робота 57
2.2. Адаптивные алгоритмы управления взаимосвязанной динамикой манипулятора 61
2.3. Построение адаптивной системы управления робота-манипулятора с алгоритмами параметрической настройки и мажорирующими функциями 63
2.4. Применение методов оптимизации для выбора коэффициентов настройки параметров адаптивного управления 67
2.5. Выводы по 2-й главе. Целесообразность параллельного решения задачи адаптивного управления 78
ГЛАВА 3. Реализация комплекса параллельных программ (КПП), моделирующего адаптивную систему управления роботом 80
3.1. Методы распараллеливания. Особенности параллельной обработки в задачах моделирования и управления динамическими системами 80
3.2. Системное программное обеспечение КПП. Параллельное программирование в OS PARIX 87
3.3. Параллельная реализация программной модели трехзвенного манипулятора 96
3.4. Построение геометрически распараллеленной адаптивной системы управления роботом-манипулятором 98
3.5. Состав и функции разработанного программного комплекса 101
3.6. Выводы по 3-й главе 109
ГЛАВА 4. Моделирование динамики траекторного движения манипулятора на комплексе параллельных программ (КПП) 111
4.1. Методика моделирования многостепенных механических систем на параллельных вычислительных структурах 111
4.2. Исследование на КПП динамики траекторного движения манипулятора при различных алгоритмах управления 117
4.3. Моделирование повышения отказоустойчивости распараллеленной системы управления манипуляционным роботом за счет использования одного или нескольких резервных процессоров 125
Заключение 128
Список литературы 130
- Транспьютер – процессор для параллельных вычислений и связи с другими процессорами. Сети транспьютеров
- Построение адаптивной системы управления робота-манипулятора с алгоритмами параметрической настройки и мажорирующими функциями
- Системное программное обеспечение КПП. Параллельное программирование в OS PARIX
- Исследование на КПП динамики траекторного движения манипулятора при различных алгоритмах управления
Введение к работе
Актуальность работы.
Развитие современного высокотехнологичного производства в значительной степени определяется совершенствованием механических и электромеханических систем, в особенности манипуляционных роботов (MP). Вследствие роста интенсивности технологических процессов, связанных с применением роботов и созданием гибких производственных систем, значительно ужесточились требования к характеристикам MP (статическая и динамическая точность, быстродействие, повышенная грузоподъемность и т.д.). В настоящее время задача достижения требуемой статической точности позиционирования робота в целом решена, и актуальной является задача повышения динамической точности. Динамическая ошибка робота зависит от алгоритма управления, скорости движения, формы траектории, и ряда других параметров.
Компьютерное моделирование в настоящее время является одним из главных средств повышения эффективности робототехнических систем. Альтернативные ему методы исследования таких систем обладают рядом существенных недостатков, подробно описанных в диссертации. Существующие универсальные пакеты прикладных программ для исследования систем автоматического управления обладают ограниченными возможностями моделирования нелинейных объектов и не позволяют в полной мере исследовать нелинейную систему управления взаимосвязанным многостепенным механическим объектом. В частности, возникают значительные трудности при реализации пространственного движения многостепенного объекта, наглядного представления информации о его динамике, реализации нелинейностей, присутствующих в дифференциальных уравнениях, описывающих объект.
Перспективным направлением развития современной высокопроизводительной вычислительной техники является использование параллельных архитектур. На их основе построены практически все современные суперкомпьютеры. В настоящее время быстрыми темпами развивается аппаратное обеспечение, системные библиотеки и оболочки для программирования на параллельных компьютерах. Тем не менее, разработка прикладных компьютерных программ, ориентированных на параллельные вычисления, производится недостаточно активно. Причина заключается в сложности адаптации существующих последовательных алгоритмов и программ к параллельным вычислительным архитектурам. Для эффективного применения параллельных компьютеров в ряде случаев необходимо радикально изменять структуру программы и производить минимизацию обменов данными между работающими параллельно процессорами.
Таким образом, разработка эффективных в вычислительном отношении параллельных программ для моделирования динамики манипуляционных роботов представляется актуальной задачей. Решение указанной задачи позволит значительно
-2-быстрее и в полном объеме проводить моделирование, а также будет способствовать развитию технологии параллельной обработки информации в целом.
Цели диссертации.
-
Разработка методики моделирования на параллельных вычислительных платформах систем управления манипуляционными роботами и подобными им объектами управления.
-
Анализ различных подходов к распараллеливанию вычислительных процессов. Выбор метода распараллеливания, который обеспечивает оптимальное время расчета управляющих воздействий и модели объекта управления.
-
Создание и отладка комплекса параллельных программ (КПП) для моделирования адаптивных систем управления манипуляционными роботами.
-
Исследование эффективности различных алгоритмов управления (анализ качества управления, быстродействия и т.д.) при помощи указанного программного комплекса.
-
Моделирование повышения отказоустойчивости распараллеленной системы управления манипуляционным роботом.
Научная новизна полученных результатов.
-
В разработанной методике параллельного моделирования многостепенных механических систем взаимоувязаны и упорядочены вопросы анализа математической модели исследуемой системы, выбора наиболее эффективной комбинации методов распараллеливания и технологии программной реализации параллельного моделирования.
-
В разработанном автором комплексе программ для моделирования системы управления манипуляционного робота используются специфические возможности параллельного программирования, в частности - организация синхронных и асинхронных каналов обмена данными между процессорами.
-
В работе средствами моделирования обоснована возможность использования резервных процессоров для повышения отказоустойчивости систем управления механическими объектами.
-
В диссертационной работе для определения наилучших численных значений настроечных коэффициентов алгоритмов адаптивного управления предложена процедура параметрической оптимизации на основе сформулированного автором критерия оптимальности. Процедура реализована в виде параллельной программы и заменяет моделирование по технологии "проб и ошибок", традиционно использовавшееся для поиска указанных коэффициентов.
Практическая ценность проведенного исследования.
1. Разработанный программный комплекс на базе параллельных процессоров фирмы Parsytec может быть использован для моделирования широкого класса систем
-3-управления манипуляционных роботов, а также для совершенствования существующих и разработки новых (в том числе адаптивных и параллельных) робототехнических систем.
-
Предложенная автором методика параллельного моделирования является методологической основой для разработки новых параллельных программ моделирования систем управления многостепенными механическими объектами и оценки их потенциальной эффективности, что ускоряет процесс разработки указанных программ и расширяет возможности моделирования как инструмента анализа и синтеза систем управления.
-
Моделирование систем управления манипуляционных роботов на параллельных вычислительных структурах является основой для проектирования перспективных систем управления роботов, реализующих сложные и интенсивные в вычислительном отношении эффективные алгоритмы управления. Как показало проведенное моделирование, применение адаптивного управления в 5-10 раз повышает динамическую точность воспроизведения манипулятором класса PUMA-560 сложных траекторий на высоких скоростях (по сравнению со штатным линейным алгоритмом управления).
-
Использование дополнительных (резервных) параллельных процессоров повышает отказоустойчивость системы управления, что практически важно для разработки высоконадежных робототехнических систем.
-
Применение предложенной процедуры оптимизации для расчета коэффициентов настройки адаптивных алгоритмов управления может позволить определить оптимальные в отношении динамической точности траєкторного движения манипулятора значения указанных коэффициентов.
-
Достигнуто существенное (в 1,5-2 раза по сравнению с последовательной программой) ускорение получения результатов численного исследования систем управления манипуляционных роботов за счет распараллеливания вычислений между тремя процессорами.
Реализация результатов работы.
Результаты и рекомендации, полученные в настоящей диссертационной работе, были использованы в Центре Сетевых и Параллельных Компьютерных Технологий (Санкт-Петербург), в фирме Parsytec-Петербург, а также в учебном процессе СПбГЭТУ "ЛЭТИ" по лекционному курсу "Адаптивные приводы и системы".
Апробация работы.
Основные результаты диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах: * Второй международный симпозиум «Интеллектуальные системы» (С-Пб, 1-4 июля
-4-1996г.);
«Fifth Baltic Olympiad on Automatic Control (BOAC'96). St.-Petersburg, October 2-4, 1996" (доклад на английском языке);
Научно-техническая конференция профессорско-преподавательского состава СПбГЭТУ (26 января - 7 февраля 1998г.).
Разработанное транспьютерное программное обеспечение для моделирования траєкторного движения робота демонстрировалось на выставке в Госкомвузе РФ, проходившей в Москве в феврале 1995 года.
Автор принимал участие в научно-техническом семинаре «Опыт и перспективы применения СС-систем производства фирмы «Parsytec Computer GmbH», проходившем 12 ноября 1997г. в Технопарке СПбГЭТУ.
Часть научных результатов получены автором в рамках персонального гранта М98-3.11К-371 категории "кандидатский проект" по направлению «Автоматика, телемеханика. Вычислительная техника» и при участии в госбюджетных НИР. Тематика гранта и НИР соответствует названию диссертационной работы.
Основные результаты диссертации, а также описание проделанной работы и результаты моделирования с 10.01.99г. доступны пользователям сети Интернет. Адреса сайтов, где размещены эти материалы: и . На известном российском сайте, целиком посвященном проблемам параллелизма, , также можно найти информацию о результатах настоящей работы.
Публикации.
По теме диссертации опубликовано 7 печатных работ, из них 4 статьи и 3 тезиса докладов на конференциях.
Структура диссертации.
Диссертация состоит из введения, четырех глав, заключения, списка литературы, включающего 105 наименований и двух приложений. Основная часть работы изложена на 117 страницах машинописного текста. Работа содержит 41 рисунок и 12 таблиц.
Транспьютер – процессор для параллельных вычислений и связи с другими процессорами. Сети транспьютеров
Фирма Inmos начала проектирование микропроцессора, ориентированного на параллельную обработку, еще в 1977г. [4,41]. Впоследствии разрабатываемый прибор получил название "транспьютер" (производное от слов транзистор и компьютер). По первоначальному проекту предполагалось создать простой процессор со стековой архитектурой, имеющий небольшой набор однобайтовых и одно-цикловых команд при полном отсутствии микропрограмм. Согласно этому проекту транспьютер имел архитектуру RISC (reduced instruction set computer) в чистом виде, хотя этот термин в то время еще отсутствовал. RISC-подход к архитектуре компьютеров характеризуют следующие особенности: небольшая по числу система простых команд фиксированного формата; одно-цикловое выполнение всех команд; простая система адресации; большое число регистров; кэш (обычно имеются два КЭШа - для данных и команд); отсутствие микропрограмм (делается упор на аппаратную реализацию команд); ориентация на язык высокого уровня. Все это позволяет существенно упростить управляющую логику процессора (особенно дешифратор команд) и сократить длительность цикла системы. RISC-процессоры очень компактны современная технология СБИС позволяет разместить на одном кристалле практически весь процессор с арифметико-логическим устройством (АЛУ), управлением, внутренней памятью и каналами связи, как это сделано в транспьютере [41,93]. К недостаткам компьютеров, построенных по RISC-идеологии, следует отнести отсутствие сложных команд и необходимость оптимизирующих компиляторов. Наличие только простых одно-цикловых команд приводит к увеличению размеров скомпилированных кодов; довольно большой процент от общего числа инструкций имеют команды обмена данными между регистрами и памятью. Разумеется, не все перечисленные выше особенности RISC-подхода присутствуют одновременно в каждой конкретной системе. Это относится и к транспьютерам. За период с 1978 по 1985 г., т. е. до начала серийного выпуска первого транспьютера T414, фирмой INMOS было разработано более 25 проектов. Окончательный вариант имел одно важное отличие от первоначального проекта: было установлено, что имеется много важных команд (в частности, поддерживающих параллельную обработку), которые могут быть выполнены только в виде последовательности циклов, а использование микропрограмм упрощает структуру процессора и увеличивает его производительность [18]. Поэтому из 110 команд транспьютера только 15 являются одно-цикловыми. В транспьютере имеется небольшое число регистров. Разработчики транспьютера отказались также от КЭШа. Функции КЭШа и большого числа программно доступных регистров, обычно присутствующих в RISC-системах, во многом выполняет оперативное запоминающее устройство (ОЗУ), расположенное на одном чипе с процессором.
Таким образом, транспьютер соединил в себе основные достоинства RISC-подхода с достоинствами микропрограммирования и использования быстрой внутренней памяти. Описание архитектуры транспьютеров с различной степенью подробности можно найти в [4,41,75,93]. Наибольшее распространение получил транспьютер T805 и в дальнейшем мы будем рассматривать именно его. Транспьютер T805 представляет собой 32-разрядный микропроцессор, в состав которого входят (рис. 1.19, 1.20): 1. ЦПУ с сокращенным набором команд (RISC), имеющее быстродействие до 35Мипс (миллионов простейших операций в секунду); 2. 64-разрядный сопроцессор (FPU) плавающей арифметики с пиковой производительностью до 3.5 МФлопс (миллионов операций с плавающей точкой в секунду), работающий параллельно с ЦПУ; 3. Внутрикристальное ОЗУ (On-chip RAM) емкостью 4Кбайт со скоростью обмена 120 Мбайт/с; 4. 32-разрядная шина памяти, позволяющая адресовать до 4Гбайт внешней по отношению к кристаллу памяти и имеющая быстродействие 40 Мбайт/с; 5. Четыре последовательных двунаправленных линии связи (Link), обеспечивающих взаимодействие транспьютера с внешним миром, работающих параллельно с ЦПУ и имеющих скорость передачи 5, 10 или 20 Мбит/с; 6. Таймер с разрешающей способностью 1 мкс; 7. Системные управляющие сигналы Инициализация, Анализ, Ошибка, управляющие загрузкой и анализом состояния транспьютера, сигнализирующие об ошибках; 8. Интерфейс внешних событий (Event), обеспечивающий асинхронную связь внутреннего процесса и внешнего события. Транспьютеры размещаются на транспьютерных модулях (TRAM или ТРАМ) - дочерних платах, содержащих транспьютер, ОЗУ, возможно, переключатели для выбора режимов, и интерфейс (включающий штекеры питания, 4-е линии связи, линии внешних событий и системных управляющих сигналов). В зависимости от состава ТРАМ может иметь разные физические размеры, которые стандартизованы и пронумерованы. Наименьший по размеру ТРАМ имеет номер 1, следующий - 2 и т.д. ТРАМы размещаются на объединительных платах, которые либо непосредственно включаются в некоторый компьютер (например, IMS B008 для IBM PC), либо, соединенные вместе, составляют сетевой компьютер (например, Parsytec GC). Вычислительные транспьютерные платы, подключаемые к компьютеру, имеют два вида: 1. Загружаемые по линии связи платы общего назначения, начальная загрузка которых осуществляется по линии связи, соединяющей главный компьютер и корневой транспьютер, специально выделенный для взаимодействия с главным компьютером (например, IMS В008 подключаемая к шине IBM PC, IMS В014 и IMS В016 - к шине VMEbus); 2. Загружаемые из ПЗУ платы, предназначенные для автономных и встроенных систем (например, INMOS-платы IMS В418 и IMS В016 с автономной начальной загрузкой). Архитектуры на базе транспьютеров можно использовать как машины класса МКМД с локальной памятью. Выделяют три основных класса применений транспьютеров [41,75]: в качестве плат-ускорителей для персональных компьютеров и рабочих станций; во встроенных системах (например, в контроллерах лазерного принтера и в космических системах); в параллельных компьютерах общего назначения. Следует отметить, что транспьютер был специально спроектирован как блок для построения параллельных систем. Он и по сей день используется для этой цели (в составе более мощных вычислительных систем), поэтому ему уделяется значительное внимание в настоящей работе.
Построение адаптивной системы управления робота-манипулятора с алгоритмами параметрической настройки и мажорирующими функциями
Рассматривая историю развития методов адаптивного управления манипуляторами, условно выделяют две фазы или временных периода, которые называются периодом аппроксимации и периодом линейной параметризации, соответственно. В течение первого периода, который закончился примерно в 1985 году, проблемы, связанные с относительной сложностью нелинейной структуры уравнений манипулятора решались обычно путем использования упрощенной модели объекта и введением разных дополнительных предположений, в большей или меньшей степени не соответствующих реальности. Например, адаптивное управление строилось для модели объекта, линеаризованной относительно некоторой номинальной задающей траектории (Lee, Chung). Использовались также предположения об отсутствии взаимодействия между степенями подвижности манипулятора (Koivo, Guo), о "медленном" по сравнению со скоростью процессов адаптации изменении переменных состояния объекта. Конечно, алгоритмы такого типа обладали свойством устойчивости лишь в ограниченном диапазоне задающих траекторий и массоинерционных параметров объекта. Первый адаптивный закон управления манипулятором, обеспечивающий устойчивое слежение за произвольной ограниченной достаточно гладкой задающей траекторией при любых конечных массоинерционных параметрах был предложен В.Фоминым [78]. Как и во всех последующих работах, посвященных проблеме построения глобально устойчивых адаптивных законов управления, он существенным образом использовал свойство линейности уравнений манипулятора относительно вектора массоинерционных параметров. Позже появились работы А.Тимофеева, Гинзбурга, Крейга, Ибарра, а также Р.Ортеги [100], в которых строились новые глобально устойчивые адаптивные алгоритмы управления жестким манипулятором. Общим недостатком всех алгоритмов, предложенных в указанных работах, была необходимость измерения ускорений звеньев манипулятора, что практически исключало возможность применения этих алгоритмов на практике. Ключевым моментом в появлении нового типа адаптивных законов стал установленный в 1984 году Аримото и Миязаки факт наличия взаимосвязи между матрицами инерции и кориолисовых центробежных сил. Пользуясь этой взаимосвязью, Слотин (J.Slotine) и Ли [102] построили относительно простой алгоритм, обеспечивающий асимптотическую устойчивость замкнутой системы и не требующий ни обращения матрицы инерции, ни измерения ускорений звеньев. В числе последующих исследований в данной области следует отметить статью Ниемейера и Слотина [99], в которой закону Слотина-Ли придается рекурсивный характер, а также работу [101], посвященную так называемому "комбинированному" (composite) подходу, то есть использованию в законе адаптации одновременно ошибки слежения (tracking error) и фильтрованной ошибки предсказания (prediction error), что позволяет улучшить сходимость адаптивных алгоритмов. В настоящее время уже известно значительное число различных глобально устойчивых алгоритмов адаптивного управления манипуляторами, большинство из которых может быть получено путем применения стандартных процедур метода скоростного градиента при надлежащем выборе целевого функционала и выражения для ошибки, что показано в ряде работ А.Л.Фрадкова [31,78,79]. Описанные выше алгоритмы не полностью решают проблему построения систем автоматического управления манипуляторами, рассчитанных на реальное, в том числе промышленное применение, что отмечается в работах [51,58,84]. Во первых, препятствием для реализации глобально устойчивых адаптивных алгоритмов управления манипуляторами является трудность выполнения в реальном масштабе времени объема вычислений, необходимого для реализации даже простейшего алгоритма типа Слотина-Ли для шестистепенного антропоморфного манипулятора типа "PUMA-560". Вторая причина, более принципиальная, состоит в том, что все глобально устойчивые адаптивные алгоритмы ориентированы на параметрическую неопределенность уравнений объекта, то есть на знание математического описания объекта с точностью до конечного числа постоянных параметров. При таком подходе все составляющие нелинейного описания объекта должны быть скопированы в законе управления, а, следовательно, эти составляющие должны быть точно известны. На практике же достаточно точную модель объекта построить нелегко, а иногда и невозможно. Иными словами, глобально устойчивые адаптивные алгоритмы рассчитаны на меньший уровень неопределенности, чем тот, который обычно имеет место в практических задачах. Поэтому в основу подхода к построению адаптивных систем управления манипуляторами, ориентированных на применение в реальных условиях, целесообразно положить иные принципы, исключающие точное копирование нелинейностей объекта и, следовательно, рассчитанных на больший уровень неопределенности. Принципы такого рода, по мнению автора, были предложены в ряде работ В.В. Путова [59-59]. В этих работах выдвинут подход к построению приближенных алгоритмов адаптивного управления, названный методом мажорирующих функций. В частности, для достаточно широкого класса нелинейных динамических объектов предложена процедура построения адаптивного управления, в которой используются лишь специально вводимые оценочные функции переменных состояния объекта и вектора управления, скорость роста которых при бесконечном возрастании аргумента не ниже, чем скорость роста соответствующих составляющих правых частей дифференциальных уравнений объекта. В связи с этим в качестве наиболее перспективных в отношении практической реализации для окончательного варианта распараллеленной системы управления роботом-манипулятором выбраны алгоритмы адаптивного управления с параметрической настройкой и мажорирующими функциями, подробно описанные в работах [13,14,51,56-59].
Системное программное обеспечение КПП. Параллельное программирование в OS PARIX
В этом параграфе будет рассматриваться вопрос об использованном для построения комплекса параллельных программ системном программном обеспечении (ПО). В задачи такого ПО входит синхронизация, связь, управление и контроль над параллельно выполняющимися (взаимосвязанными) процессами, независимо от решаемых ими задач.
Прикладные программы для рассмотренных в параграфе 1.6 параллельных систем можно реализовать как с помощью системы программирования INMOS toolset, так и средствами операционной системы PARIX (рис. 3.1) фирмы Parsytec, которая реализована в виде надстройки над OS AIX. При разработке прикладных программ, использующих пакет INMOS toolset, необходимо, чтобы взаимодействующие процессы располагались на одном процессоре, или на соседних.
В операционной системе PARIX (Parallel extensions to UNIX) удается избежать этой проблемы. При обращении к OS PARIX, последняя захватывает ресурсы всех процессоров в указанном разделе и запускает на них решаемую прикладную задачу (понятие раздела будет рассмотрено ниже). При работе в PARIX можно не задавать ни отображение сети процессов программы на сеть процессоров, ни их топологии. Эффективность выполнения программ, имеющая место наряду с простотой программирования, достигнута благодаря следующим свойствам OS PARIX: сеть процессоров имеет фиксированную регулярную топологию; исполняемые программы реализуют SIMD модель (одна и та же программа, параметризованная относительно идентификатора процессора, выполняется на всех процессорах); набор высокоуровневых коммуникационных операций использует микроядро ОС, работающее на всех процессорах и обеспечивающее маршрутизацию сообщений. При работе в системе PARIX принята следующая модель приложения: при запуске на каждом узле стартует одна и та же программа; она определяет свое положение в решетке раздела; программа организует обмен данными с другими своими копиями. Обмен данных в PARIX основан на концепции виртуальных связей (их также называют "линками") между процессорами, образующими каналы "точка-точка" между любыми процессорами. Набор созданных виртуальных связей задает виртуальную топологию (решетка, конвейер, дерево, гиперкуб). Виды виртуальных связей (links), доступных в PARIX: Синхронный канал. Это естественный для архитектуры Parsytec тип коммуникационного канала. Связанные синхронным каналом процессы синхронизуются при обмене данными: если одна сторона еще не готова к обмену данными, то другая будет ждать готовности. Следующие системные функции относятся к синхронным каналам: Send, Recv, Select, SendLink, RecvLink. Синхронная "случайная" передача. Это единственный способ передачи данных, при котором не требуется создавать коммуникационный канал. Данные передаются по системным каналам. Однако, при большом размере сообщения библиотечные вызовы автоматически создают виртуальный канал, с целью повышения скорости обмена. Для сообщений данного типа PARIX предоставляет системные функции SendNode и ReceiveNode. Асинхронный канал. Такой канал может осуществлять обмен данными не прерывая вычислений на узле. Прием/передача выполняются с буферизацией как на стороне передатчика, так и на стороне приемника. Канал этого типа является наиболее эффективным с вычислительной точки зрения. Для работы с асинхронными каналами используются следующие системные функции: Alnit, ASend, ARecv, ASync, Alnfo, AExit. В разработанных автором параллельных программах были использованы как синхронные, так и асинхронные каналы. Для создания программ, поведение которых зависит от исполняющего их процессора и его положения в сети. используются приведенные в табл. 3.4 константы. Эти константы используются для расчета общего числа процессоров nProcs и уникального идентификатора (номера) каждого из процессоров МуЮ (рис. 3.2): Примем следующую модель представления многопроцессорной системы: все процессоры "заполняют" ячейки в трехмерном кубе. При этом каждый процессор кроме своего порядкового номера имеет уникальные координаты (тройки целых положительных чисел). Поскольку в трехмерном кубе не может быть пропусков, занимаемое процессорами логическое пространство можно характеризовать положением угловых узлов.
Для систем типа Multicluster и Parsytec СС (параграф 1.6), используемых в данной работе для построения моделирующего комплекса, логическая конфигурация, как правило, линейна. Для Multicluster МС-3 с 16 транспьютерами ее можно записать в виде (0,0,0)-(15,0,0). Логическая конфигурация может быть относительно легко изменена. Так, в нашем случае возможны также конфигурации вида квадрата (0,0,0)-(4,4,0), (0,0,0)-(4,2,2) и др. Удобство той или иной конфигурации определяется характером решаемых задач. Например, для расчета матриц наиболее удобна конфигурация (0,0,0)-(4,4,0). Разделом [42] называют набор процессоров, выделенных в исключительное владение запущенному на этом разделе приложению. Конечная трехмерная решетка, включающая в себя все процессоры данной машины называется основным разделом. Основной раздел может делиться на несколько более мелких (и, возможно, перекрывающихся) разделов. Самым маленьким является раздел, состоящий из одного узла.
OS PARIX может запускать приложения не только на основном разделе, но и на любом из логических разделов. Так, можно запустить рассматриваемый в параграфе 3.4 комплекс параллельных моделирующих программ на четырехпроцессорном разделе 16-ти процессорного MultiCluster МС-3. При этом останутся свободными три четырехпроцессорных раздела. На них можно запустить другие задачи. Это свойство PARIX используется для проведения одновременного моделирования различных СУ робота на разных разделах, что будет более подробно описано в параграфах 3.5-3.6.
Исследование на КПП динамики траекторного движения манипулятора при различных алгоритмах управления
Высокая стоимость, зачастую приводящая к отсутствию экономического эффекта, предъявляет жесткие требования к надежности роботов. Зарубежные модели имеют весьма высокую надежность, обеспечивая коэффициент использования до 0.97 и длительный срок наработки на отказ. Лучшие зарубежные фирмы гарантируют 8-10 лет эксплуатации своих МР при двухсменной работе. Что касается отечественных роботов, то показатели их надежности заметно ниже: средний срок службы (причем полученный расчетным путем) составляет от 3 до 5 лет [28]. Автор настоящей работы предлагает использовать возможности распараллеливания системы управления манипуляционным роботом для повышения отказоустойчивости. Это становится возможным за счет использования одного или нескольких резервных процессоров. Однородность параллельных вычислительных платформ (в частности -транспьютерных) и наличие нескольких коммуникационных каналов у процессоров является фундаментальной основой обеспечения отказоустойчивости систем управления, построенных на их основе.
Автор, используя штатные подпрограммы системы PARIX, разработал параллельную программу "rezerv_p.c". Она предназначена для резервирования 1 процессора (он назван в программе как "rezerv", а в тексте - "резервный") и отслеживания отказов "рабочих" процессоров. Полный текст программы приведен в приложении 1.5. В программе используются возможности среды PARIX по созданию асинхронных каналов связи между процессорами и запуска так называемых ветвей (threads). Создается 1 ветвь резервного процессора, а также набор рабочих ветвей, равный числу доступных рабочих процессоров.
На первом этапе выполнения программы создаются виртуальные каналы связи между резервным процессором и всеми рабочими процессорами (по умолчанию их 3). При этом программа сама определяет число процессоров nProcs, на которых она запущена, при помощи операции nProcs = GET_ROOT ()- ProcRoot- nProcs; также определяется номер (идентификатор) каждого процессора ID при помощи операции ID=GET_ROOT()- ProcRoot- MyProcID; Таким образом, каждый из рабочих процессоров, определив свой номер, может теперь выполнять свою часть вычислительной задачи. На втором этапе резервный процессор с заданной периодичностью (например, 0.1 с) опрашивает все виртуальные асинхронные каналы связи, связывающие его с рабочими процессорами. Каждый рабочий процессор посылает в общей сложности число сообщений, задаваемых переменной MESSAGES_PER_WORK. Интервал между сообщениями в программе задается переменной TICKS_PER_SECOND и составляет, например, 0.2 секунды. Важное свойство PARIX заключается в следующем: на каждом узле изначально запущены идентичные приложения. Но поведение процесса изменяется в соответствии с позицией процессора в решетке раздела (нумерация процессоров подробно рассмотрена в параграфе 3.2 и представлена на рис. 3.2.). Функция GET_ROOT OS PARIX осуществляет доступ к глобальным данным о конфигурации раздела и положении текущего узла в решетке. Эта функция возвращает указатель на данные следующей структуры: typedef struct { int MyProcID; / номер процессора / int MyX; / координата X процессора / int MyY; / координата Y процессора / int MyZ; / координата Z процессора / int nProcs; / число процессоров / int DimX; / размер структуры в направлении координаты X / int DimY; / размер структуры в направлении координаты Y / int DimZ; / размер структуры в направлении координаты Z / } RootProc_t; Эти данные не являются независимыми, т.к. их связывает соотношение (3.9), которое также позволяет вычислить идентификаторы соседних процессоров. Таким образом, суть идеи повышения отказоустойчивости заключается в следующем. Резервный процессор на каждом шаге вычислений по асинхронному каналу связи получает текущие данные расчетов от других процессоров, и в случае выхода из строя одного из них, автоматически берет на себя его функции. Таких процессоров может быть несколько (в зависимости от ответственности выполняемой задачи – например, космические роботы). Возможен также вариант полного дублирования процессоров резервным комплектом с аналогичным отслеживанием функционирования основных процессоров и их автоматической "замены" в случае необходимости. В диссертационной работе получены следующие новые научные результаты. 1. Разработана методика моделирования многостепенных механических систем на параллельных вычислительных структурах, прошедшая апробацию применительно к задаче моделирования адаптивной системы управления манипуляционным роботом. 2. Разработан комплекс параллельных программ, функционирующий на базе параллельных процессоров с распределенной памятью, который позволяет моделировать в реальном времени системы управления роботами-манипуляторами с различными, в том числе адаптивными и параллельными, алгоритмами управления. 3. Показана возможность повышения отказоустойчивости распараллеленной системы управления манипуляционным роботом за счет использования дополнительных процессоров. 4. Предложена процедура оптимизации для поиска оптимальных коэффициентов настройки параметров адаптивного закона управления.