МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
УДК 519. 87
СВЯЗЫВАНИЕ ОБЪЕКТОВ В СИСТЕМАХ СТРУКТУРНОГО МОДЕЛИРОВАНИЯ
© 2005 г. В.Е. Золотовский, В.П. Яковенко
Введение
Как правило, реальные физические системы представляют композицией большого числа объектов. Динамическое поведение каждого объекта описывается системой нелинейных дифференциальных уравнений, поэтому моделирование сводится к решению общей системы дифференциальных уравнений. С ростом числа компонент растет порядок общей системы и, следовательно, возрастает трудоемкость формирования и вычисления полученной математической модели. Персональные компьютеры, как правило, не обеспечивают необходимое время моделирования, а суперкомпьютеры существенно повышают стоимость расчётов. Необходимую эффективность (минимальные затраты на моделирование за заданное время) могут обеспечить только многопроцессорные или многомашинные комплексы. Однако использование многопроцессорных вычислителей создает определенные трудности при программировании задачи. Решение данной проблемы предлагается проводить с помощью понятий и методов структурного моделирования.
Идеи структурного моделирования опираются на следующие принципы [1, 2]. Моделируемая система формируется как некоторое множество компонент, число которых соответствует количеству реальных физических объектов. Каждой подсистеме уравнений, описывающих состояние объекта, ставится определенное количество аппаратных ресурсов, в оптимальном случае каждому объекту - один процессор системы. Таким образом, моделируемые подсистемы функционируют параллельно, и их взаимодействие обеспечивается за счет обмена данных в многопроцессорной системе. Данный подход отражает естественное функционирование системы и позволяет, во-первых, повысить скорость моделирования за счет параллельных вычислений, во-вторых, упростить программирование задач вследствие уменьшения сложности исходной системы.
Таким образом, моделирование сложной системы сводится к симуляции работы отдельных компонент этой системы и реализации процедур взаимодействия между ними. Перечислим основные задачи, которые необходимо решить при применении этих методов:
- задача формализации представления объектов как отдельных подсистем; формирование правил объединения объектов (подсистем) в единую систему моделирования;
- реализация моделей, описывающих поведение компонент;
- обеспечение параллельной работы всех моделей.
Структура системы
Задача симуляции физических объектов методами структурного моделирования требует разработки алгоритмов и специального программного обеспечения для реализации их. Ниже описывается программная система моделирования (рис. 1).
Рис. 1. Структура системы моделирования
Далее отдельные модели компонуются в общую модель (систему уравнений). Полученная система уравнений, включающая уравнения обмена, размещается по процессорам в соответствии с архитектурой базового вычислителя. Чаще разбиение проводится по
объектам на основе заданной структуры моделируемой системы. Как будет показано ниже, существуют различные способы формирования математического описания исследуемой системы. Полученная система уравнений решается при помощи численных методов. Поддержка нескольких численных методов позволяет проводить оценку точности решения при минимуме затраченного времени. Моделирование сложных систем требует распределённого решения полученной системы уравнений на многопроцессорной или многомашинной системе. Для каждого отдельного процесса определяются его собственные условия завершения процесса моделирования. Ведущий процессор производит проверку условий завершения всех вычислителей, а также осуществляет сбор данных мониторинга. Результатом моделирования являются временные и фазовые графические зависимости параметров исследуемой системы.
Применение структурных принципов предполагает наличие библиотек предопределенных элементов. При этом процесс программирования заключается в композиции библиотечных элементов и определении функциональных связей.
Интерфейсы системы моделирования
Входной интерфейс обеспечивает ввод решаемой задачи в систему. Традиционно основным средством описания исследуемой системы объектов является командный язык среды моделирования. Этот язык обладает высокой гибкостью и значительно облегчает описание больших однородных схем. Однако в системах структурного моделирования целесообразнее использовать визуальный интерфейс графического ввода схемы [3, 4]. Данный способ позволяет скрыть сложность синтаксических конструкций командного языка, он более нагляден и удобен, чем операторный способ описания систем. При вводе в систему моделирования больших сложных схем необходимо использовать принцип группировки моделей - иерархического представления схемы. Эти задачи успешно решаются при помощи визуального интерфейса.
При этом композиция схемы осуществляется из базового множества элементов системы моделирования (библиотеки элементов). Именно наличие библиотеки предопределённых элементов позволяет значительно сократить время описания больших схем. Процесс постановки задачи состоит из следующих этапов:
- определение исходной моделируемой системы в виде набора элементов и определения их взаимодействия друг с другом;
- поиск модели, соответствующей каждому элементу исходной системы в библиотеке моделей. Если модель отсутствует, то вызывается процедура создания новой модели;
- формирование структуры решаемой задачи посредством вызова и добавления в схему необходимых моделей из библиотеки, а также установки коммутаций между моделями.
Таким образом, входной интерфейс представляет собой редактор компонент, позволяющий набирать
схему из библиотечных элементов и определять связи и параметры элементов. Так же во входной интерфейс включается редактор библиотеки, позволяющий определять новые компоненты.
Представление моделей
Рассмотрим способы представления моделей в системе структурного моделирования. Динамика поведения природных объектов описывается дифференциальными уравнениями. Взаимодействие между объектами может быть описано посредством алгебраических уравнений. Таким образом, поведение системы физических объектов, которая сама представляет собой некий физический объект, может быть описано с достаточной точностью системой дифференциально-алгебраических уравнений.
Каждый объект в библиотеке объектов представляется тремя компонентами: входными/выходными портами, описанием модели (задается в математической нотации) и визуального представления. В общем виде это можно представить следующим образом (рис. 2).
Порты Тип объекта Порты
А Математическое описание А
B B
C C
Рис. 2. Формат библиотечного представления объекта
Для представления модели используются три компоненты:
1. Графическое представление:
3
2. Математическое описание:
-V + ю sin ©- iR
di ю 0
dt L
-isin ©- Ью + T d ю ю q d ю
dt J dt
3. Список задаваемых параметров:
Юо=, Vq=, b=, T=, J=.
Для описания взаимодействия объектов введём классификацию связей между ними. Можно выделить три класса обменов данными:
- направленный,
- ненаправленный,
- смешанный.
В первом случае объекты обмениваются независимыми переменными, определение которых происходит внутри самих объектов. Здесь различаются однонаправленные связи, когда передача идет в одном направлении, например от объектов с младшими номерами к объектам с большими номерами.
Двунаправленные связи, когда обмен идет как в прямом, так и в обратном направлении. Общим случаем являются двунаправленные связи с переменным числом параметров, когда обмен идет в прямом и обратном направлении с числом параметров больше двух.
Во втором случае обмен идет дуально связанными переменными, т.е. переменными, которые входят в оба объекта, и вычисление отдельных из них может отсутствовать.
Смешанный обмен возникает, когда оба описанных случая появляются одновременно.
Направленный обмен описывается следующим образом. Пусть имеется два объекта (рис. 3).
Каждый объект описывается системой уравнений ХЗ = ¥3(Ху), где ХЗ = {{,Х}2,...,X]п} множество искомых переменных. Например, для системы уравнений
Xl = Fl( X j) + /1( X 2}.) X 2 = F 2( X 2) + f2 (X i.),
(l)
Всё множество переменных, которые участвуют в обмене, входит в единое множество Ае Д5хиД5^1х. Для первого объекта Авх = Х}, где Х/ = {/2(/н),---Х2(/-+ш)}, аЛых = {Ху}, гдеХу = {хих1(/+1),...,х1(/+ш)}. Таким образом, при направленном обмене достаточно подключить к соответствующим портам переменные, вычисляемые в объекте.
Ненаправленный обмен между двумя объектами может быть описан следующим образом:
XX il = Fj1( X l);
X 2l = F2l(X1) + fi(Y); ,
X12 = Fl2( X 2); X 2 2 = F2 2( X 2) + f2(Y),
(2)
где Xl = {X n, X l2,..., X l„ }, X 2 = {X 2l, X 22,..., X 2m }.
где х1 - множество вычисляемых переменных первого блока Х1 е (Х 11уХ 21); х2 - множество вычисляемых переменных второго блока Х2 е (Х 12уХ 22); У -множество переменных, связывающих первый и второй объекты.
Подсистемы уравнений в системе (2) записаны так, как они задаются в библиотеке объектов. После объединения объектов (рис. 4) система определяет связанные переменные. Действительно, для того чтобы система (2) была замкнутой, вычисляемые переменные, куда входят и переменные обмена, должны быть равными, т.е.
Х 2 1 = Х 2 2 .
Соответственно уравнения для Х 21 и Х2 2 образуют множество Х, определяющих систему связи объектов. А в случае, если какая-либо переменная У/ из множества переменных Т входит в несколько уравнений
Порты 1 Порты
А1 А1
B1 B1
C1 C1
X
Порты 2 Порты
А2 А2
B2 B2
C2 C2
Рис. 3. Связывание двух объектов при направленном обмене
Порты 1 Порты Порты 2 Порты
А А А А
B B B B
C 1 C 2 1 C 2 C
Рис. 4. Связывание двух объектов при ненаправленном обмене
множества X 2, являющихся подмножеством X, то должно быть задано тождество, связывающее эти переменные. Например, если в X2 входят переменные X12,X22,X32 , то соответствующее тождество может иметь вид У = V (X12, X 22, X 3), где У - известное или вычисляемое значение, например константа; V -функция, связывающая переменные X12, X 22, X 32 .
Рассмотрим некоторые частные случаи.
1. Переменные У входят в уравнения объектов линейно и каждая переменная из множества У входит в уравнения объекта только один раз. В рассматриваемом случае система уравнений распадается на п систем уравнений, где п - число переменных У. Каждая система решается одновременно независимо друг от друга. Пусть имеем следующую систему:
X 2 ;1 = F2 j 1( X1) + K y; X 2 j 2 = F 2 j 2( X 2) + к 2УГ;
X 2 j 1 = X 2 j 2-
(3)
-VX2j 1(,-+1) + K 1vyr(,.+1) - bi = 0;
VX2j 2(i +1) + K2vyr0.+1) - b2 = 0,
(4)
AX - b = 0.
(5)
X = -AX + В; X(0) = 0
такой, что при t ^ ж X ^ 0. Тогда
VXi+1 = -aAX i + aB,
(6)
(7)
где а - параметр итерационного процесса. Его выбор обусловливается свойствами матрицы А и должен обеспечивать сходимость итерационного процесса. Для упрощения положим а = 1. С целью ускорения процесса сходимости использована экстраполяция приращений на р-шагов.
p-1
p-1
Связывание объектов происходит на уровне численного решения модели всей системы. При численном связывании моделей надо помнить, что вычисляемая переменная X1j■1и X2j2, а также связанная с ней переменная У■ должны определяться в одном временном шаге.
Рассмотрим связывание объектов при интегрировании системы (3) методом Адамса. Тогда имеем
VX 2j 10.+1) = ^2j 1 г) + НКУ(г+1); | VX 2 ■ 2 (.. +1) = ■ 2( X 2..) + НК 2УГ (..+1) . (
Проведя несложные преобразования, получим следующую алгебраическую систему
где Уг = НУГ;Ъх = НРу 1(X1г)+КхУп; Ъ2 =-(№г]2(X2.)+
+к Уп).
Для получения решения системы (4) можно в систему связывания объектов заложить прямые методы. Например, метод Крамера. Однако, если система (4) достаточно велика, то вычисления определителей занимает значительное время. Кроме того, все методы прямого вычисления неизвестных включает операцию деления, которая требует не менее п-циклов, где п -количество разрядов данных.
В этом случае для больших систем следует использовать итерационные алгоритмы. В общем случае систему (4) представим в следующем виде:
Организуя итерационный процесс как интегриро-
вание эквивалентной системы
VXl2 = ^ (Е - А) ■ = £ (Е - А) ]В = ФоВ,
1=о 1=0
р -1
где Ф 0 = £ (Е - А)1 - экстраполирующая матрица.
1=0
Так как X0 = 0, то X р = X 0 + VXЭ = Ф0В .
Для проведения следующего шага система (7) приводится в исходное состояние. Определяется текущее приращение VX +1 =- AX + В0, которое
принимается за новый вектор свободных В1 = VXp+1.
Затем выполняется шаг экстраполяции
VX 2э = Ф 0И1 и т.д.
Для ускорения процесса сходимости можно использовать корректировку матрицы Ф в процессе вычислений. Например, методом последовательных приближений
Фа = Е + Ф1 -1 (Е - А) (1 = 1,2,..., п) либо методом ускорения по Ньютону
Ф1 = Ф1-1 + Ф (1 -1) 1 1 ^ = Е - АФ1;(1 = 1,2,..., п.(
Для сравнения скорости сходимости рассматриваемых итерационных процессов воспользуемся асимптотической оценкой [5]. Пусть в = ^тах, а у = !т1П, где X - собственные значения матрицы А.
Предположим, что в процессе итерации наибольший на данном шаге коэффициент невязки в разложении Фурье приводится к нулю. Тогда для максимальной невязки а будет равно 1/р. Для произвольного шага I для Ti получим Ti = 1-^/р. Очевидно, что Ti будет максимальным при = у. Откуда получаем
д = тах| Тг | = 1 - у/р.
Асимптотическая скорость сходимости показывает, как быстро убывает невязка (5= - 1п д). Сохраняя в разложении первый член, получим
5= - (д - 1) = у/р = 1/к.
Тогда для предложенных методов получим следующие оценки (см. табл. 1)
Таблица 1
Алгоритм скорости сходимости
Метод S
Простая итерация 1/k
Экстраполяция на />-шагов 1/рк
Последовательные приближения экстраполирующей матрицы 1/2k, j - число приближений
Ускорение по Ньютону 1/rk, r=2n, n=2j, j - число приближений
предлагаемый алгоритм определения переменных обмена является универсальным.
Наличие системы обмена, библиотек объектов позволяет создавать значительные по размерам физические системы, которые исследуются на основе компьютерного моделирования без значительных затрат ручного труда. А это в свою очередь существенно уменьшает число ошибок и время подготовки системы к исследованиям.
Как следует из таблицы, наибольшей скоростью сходимости обладают последние два алгоритма, но они оказываются и наиболее сложными. Однако следует отметить, что все обменные операции между связанными объектами можно вынести в отдельный блок, что позволит формировать экстраполирующую матрицу одновременно с определением фазовых состояний объектов. Таким образом, шаг моделирования включает цикл интегрирования и цикл определения значений переменных обмена. При этом даже при небольшом числе приближений ( = 3-7) определение переменных обмена не превышает одного такта. Если число переменных (У) или количество объектов, подключенных к ведущему при ненаправленном обмене, больше двух, то это приводит лишь к увеличению размерности матрицы обмена, сохраняя все остальные параметры алгоритма без изменения. Таким образом,
Таганрогский радиотехнический университет
Литература
1. Гузик В.Ф., Золотовский В.Е., Третьяков В.С. Система моделирования объектов промышленной энергетики // Наука - производству 1999. № 1.
2. Гузик В.Ф., Золотовский В.Е., Ляпунцова Е.В. Исследование электрических сетей на структурных моделях // Компьютерные технологии в инженерной и управленческой деятельности. Сб. науч. тр. Таганрог, 1999.
3. Guzik V.Ph., Zolotovsky V.E., Chernukhin Y.V., Tretyakov S.V., Dougal R.A. Structural Modeling for Simulation of Power Electronic Systems // The 7th workshop on computers in power electronics. IEEE, Blacksburg, Virginia, 2000.
4. Гузик В.Ф., Золотовский В.Е., Чернухин Ю.В. Структурное моделирование силовых систем // Изв. ТРТУ. 2001. № 1.
5. Марчук Г.И. Методы вычислительной математики. Ново-
сибирск, 1973.
29 октября 2004 г.
УДК 621.865.8:001.891.573
ИССЛЕДОВАНИЕ УСТОЙЧИВОСТИ ВОЗМУЩЕННОГО ДВИЖЕНИЯ РОБОТА-МАНИПУЛЯТОРА НА БАЗЕ ПАНТОГРАФНОГО МЕХАНИЗМА
ПО ПЕРВОМУ ПРИБЛИЖЕНИЮ
© 2005 г. Д.Е. Притыкин, А.Н. Кабельков
Рассматривается задача исследования устойчивости возмущенного движения робота на основе панто-графного механизма [1]. Ранее для этого робота была разработана математическая модель и решена первая задача динамики по определению сил, необходимых для обеспечения его движения по заданной траектории (синтез программного движения) [2].
В процессе предварительного анализа устойчивости возникла необходимость уточнения математической модели манипулятора. В первую очередь были учтены веса всех звеньев механизма. Кроме того, теперь в модели предусматривается возможность наложения на ползуны приводов упругих связей и
учтено действие на ползуны сил вязкого трения. В результате расчетная схема манипулятора выглядит, как показано на рис. 1.
Полученная для этой схемы математическая модель в виде уравнений Лагранжа 2-го рода структурно не отличается от полученной ранее в [2]. В век-торно-матричной форме ее можно записать в виде уравнения
Дф 1, ф 2)ф + В (ф 1, ф 2, ф1, ф 2) = С (Ф1, Ф 2) + Я(ф 1, ф 2)6. Однако, естественно, изменился вид векторов
В (ф 1,ф 2,ф 1, ф 2 ) и С(ф 1, ф 2)