Меню
Главная
Авторизация/Регистрация
 
Главная arrow Математика, химия, физика arrow Алгоритм построения кубических интерполяционных сплайнов в задачах управления работой приводов с прогнозированием динамики нагрузки

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


Введение

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

При таком способе представления внешней нагрузки для расчета управляющего воздействия в данной системе используется работа A, которую должен совершать двигатель на заданном периоде импульсного управления T. Необходимая величина работы на отрезке изменения времени [ti, ti+1] как функция времени будет рассчитываться по формуле:

. (1)

Как следует из общего вида формул, получаемых после раскрытия интеграла (1), в них входят только производные по t, порядков от 1 до k. В частности, в случае использования модели нагрузки второго порядка максимальный порядок производных по t в формуле (1) равен 2. Поскольку сама зависимость (t) в (1) явно не входит, то это свойство решаемой задачи можно использовать для упрощения вспомогательной задачи интерполирования траектории перемещения вала по заданным ее узловым точкам.

Допустим, задан упорядоченный массив узлов Рi = (ti, i) (i = 0, ..., n), лежащих на траектории перемещения. Для построения кусочно-полиномиальной кривой второй степени гладкости, проходящей через заданные узлы, наилучшим решением являются интерполяционные кубические сплайны [1, 2], которые на промежутках между узлами представляют собой кубические параболы, непрерывно соединяющиеся в точках t1, ..., tn-1 (называемых внутренними) с гладкостью степени 2. Также они обладают следующим важным свойством. Если наложить на сплайн в начальном и конечном узле краевые условия (t0) = (tn) = 0, то он будет минимизировать функционал

,

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

Рассмотрим глобальную переменную t. В математической форме полная совокупность геометрических условий относительно t, накладываемых на кубические параболы {Si (t), i=1,2,…,n}, имеет вид:

а) (t) = Si (t) при ti-1 t ti; i =1, 2, …, n. - условие кусочности (t);

б) Si (ti-1) = Pi-1; Si (ti) = Pi, i = 1, 2, …, n - условия прохождения сплайна Si (t) через заданные узлы ломаной Pi-1 и Pi;

в) , i = 1, …, n-1 - гладкость порядка 1 во внутренних узлах;

г), i=1, …, n-1 - гладкость порядка 2 во внутренних узлах;

д) S1(t0) = Sn(tn) = 0 - краевые условия в начальном и конечном узлах. (2)

Общепринятым методом построения кубических интерполяционных сплайнов является использование локальных сплайнов Эрмита. Данные сплайны строят по двукратным узлам ti, в которых помимо значений Si (ti) заданы также величины первых производных Si(ti). Поскольку в исходной задаче значения первых производных Si(ti) не задаются, их рассматривают в качестве неизвестных величин задачи, для решения которой составляют линейную систему уравнений. Матрица ее трёхдиагональна, что позволяет решать систему при помощи специальную упрощенной модификации метода Гаусса - метода прогонки [1, 2]. Основными стадиями метода прогонки являются:

1) расчет коэффициентов матрицы,

2) прямая прогонка,

3) обратная прогонка.

Расчет трудоемкости реализации алгоритма прогонки (таблица 1) показывает, что при максимальном сокращении расчетных формул вычислительные затраты при построении n сплайнов относительно невелики и составляют (после суммирования пп.1-3 таблицы 1): сложений 9n-3, умножений 8n-3, делений 4n-2.

Табл.1. Расчет минимального числа расчетных операций при построении n сплайнов

Стадии

Сложения и вычитания

Умножения

Деления

1. Расчет коэффициентов матрицы

5n-2

4n-2

(n-1)

2. Прямая прогонка

3n-1

3n-1

3n-2

3. Обратная прогонка

n

n

1

4а.Переход к каноническому виду по i

5n

5n

0

4б.Переход к каноническому виду по t

19n

28n

2n

ИТОГО при переходе к каноническому виду по ti,

14n-3

13n-3

4n-2

ИТОГО при переходе к каноническому виду по х

28n-3

36n-3

6n-2

Существенной особенностью данного метода является то, что:

1) независимой переменной каждого сплайна Si является нормированная на отрезке [ti-1; ti ] локальная переменная i = (t - ti-1)/hi, где hi =( ti - ti-1),

2) результирующие сплайны Si имеют вид полиномов Эрмита,

При каждом расчете значений сплайна Si переход 1) от глобальной переменной t к локальной i при однократном расчете длин отрезков {} требует выполнения одного вычитания и одного деления.

Однако затраты при расчете полинома Эрмита 2) по сравнению с использованием схемы Горнера для кубического полинома (3 сложения и 3 умножения) слишком высоки и при большом числе расчетов значений сплайна Si необходимо перейти от полинома Эрмита к каноническом виду по локальной переменной i. Данный переход при максимальном сокращении расчетных формул при построении n сплайнов требует относительно невысоких вычислительных затрат (п.4а таблицы 1): сложений 5n, умножений 5n.

Таким образом, для построения n сплайнов в форме канонических полиномов, зависящих от локальных переменных i, необходимо затратить (сумма пп.1-4а таблицы 1): сложений 14n-3, умножений 13n-3, делений 4n-2.

Существенной особенностью интерполирования при решении рассмотренной выше задачи управления является то, что в формулы интегралов работ (1) входят только старшие коэффициенты {C1, C2, C3} канонических кубических полиномов, зависящих от глобальной переменной t. Свободный коэффициент C0 не входит. Переход от сплайнов в форме полиномов Эрмита, зависящих от локальных переменных i, к каноническим полиномам по глобальной переменной t, требует значительных вычислительных затрат (п.4б таблицы 1). В сумме для построения n сплайнов в форме канонических полиномов, зависящих от глобальной переменной t, необходимо затратить (сумма пп.1-3 и 4б таблицы 1): сложений 28n-3, умножений 36n-3, делений 6n-2.

Постановка задачи

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

Введем для упрощения расчетов новую относительную глобальную переменную = t - t0.

Постановка задачи. На плоскости O задан набор из (n +1) точки вида , i = 0 ,…, n. Рассмотрим на отрезках [] кубические сплайны:

Si () = C0i + C1i + C2i 2/2 + C3i 3/3, i = 1, …, n. (3)

Необходимо найти коэффициенты C1i, C2i, C3i всех сплайнов Si () (i = 1, …, n) из условия гладкости степени 2 во внутренних узлах при заданных краевых условиях:

S1(0) = 0; Sn(n) = 0. (4)

Поскольку свободные коэффициенты C0i сплайнов Si () не требуется определять, рассматриваем вместо Si () их первые производные, которые являются квадратными параболами вида:

Di() = (Si ()) = C1i + C2i + C3i 2. (5)

Таким образом, частичное решение задачи интерполирования (без определения свободных коэффициентов) сплайнов Si (), зависящих от глобальной переменной , сведено к полному расчету коэффициентов C1i, C2i, C3i, i = 1, …, n соответствующих им квадратных парабол {Di()} (5).

Прямой метод частичного решения задачи интерполирования

Для решения задачи полного расчета коэффициентов C1i, C2i, C3i, i = 1, …, n квадратных парабол {Di()}, зависящих от глобальной переменной , предложено использовать упрощённый (по сравнению с прогонкой, основанной на использовании полиномов Эрмита) метод, основная идея которого заключается в непосредственном расчете искомых коэффициентов без использования промежуточных представлений. Поэтому метод назван прямым.

Для определённости параболу D1() будем называть начальной, параболы D2() - Dn-1() - внутренними, Dn() - конечной. Как и в методе прогонки, в предлагаемом методе для расчета искомых коэффициентов используем прямой и обратный ход.

Прямой ход.

Основная идея прямого хода заключается в том, что старший коэффициент текущей параболы Di() (i = 1, …, n-1) линейно выражается через старший квадратный коэффициент C3i+1 следующей за ней параболы Di+1(), а свободный C1i и линейный C2i коэффициенты параболы Di() выражаются C3i:

C3i = A3i C3i+1 + B3i;

C1i = A1i C3i + B1i;

C2i = A2i C3i + B2i. (6)

Отдельно рассмотрим начальную параболу D1(), внутренние параболы D2() - Dn-1() и конечную Dn().

1. D1(). Из условия S1(0) = 0 следует: (D1(0)) = C21+C310 = 0. Отсюда получаем: C21 = 0. При этом для коэффициента

C21: A21 = В21 = 0. (7)

Из условий прохождения сплайна S1() через точки и следует:

S1 (0= 0) = C01 = 0; S1 (1) = C01+ C11 1 + C21 12/2 + C31 13/3 = 1 .

Вычтем из второго соотношения первое с учетом C21 = 0:

C111 + C31 13/3 = 1, где 1 = 1 - 0.

Из этого равенства выразим линейную зависимость C11 (C31):

C11 = 1 /1 - C31 12/3 = A11 С31 + В11; A11 = -12 /3; В11 = 1 /1. (8)

Расчетные формулы для выражения младших коэффициентов C11 и C21 начальной параболы через старший C31 следующие:

A11 = -12 /3; В11 = 1/1;

A21 = 0; В21 = 0. (9)

Выражение (6) для старшего коэффициента C31 у начальной параболы определяется при анализе параболы D2().

2. Рассмотрим внутренние параболы Di(), i = 2, …, n -1.

К началу их анализа для предыдущей параболы Di-1() известны линейные зависимости:

C1i-1 = A1i-1 C3i-1 + В1i-1;

C2i-1 = A2i-1 C3i-1 + В2i-1. (10)

Подставим формулы парабол Di-1 () и Di () в условия гладкости второй степени в узле = i-1 для сплайнов Si-1 () и Si () (Si-1(i-1) = Si(i-1); Si-1(i-1) = Si(i-1)):

C1i-1 + C2i-1 i-1 + C3i-1 i-12 = C1i + C2i i-1 + C3i i-12;

C2i-1 + 2C3i-1 i-1 = C2i + 2C3i i-1.

Умножая обе части второго соотношения на (-i-1), складываем его с первым. При этом получим систему уравнений более простого вида:

C1i-1 - C3i-1 i-12 = C1i - C3i i-12;

C2i-1 + 2C3i-1 i-1 = C2i + 2C3i i-1.

Подставим в уравнения полученной системы зависимости (10):

(A1i-1 - i-12)C3i-1 + В1i-1 = C1i - C3i i-12;

(A2i-1 +2i-1) C3i-1 + В2i-1 = C2i + 2C3i i-1. (11)

интерполирование сплайн нагрузка

Из условий Si (i-1) = i-1; Si (i) = i получим уравнение:

C1i + C2i(i-1 + i) /2 + C3i(i-12 + i-1i + i2) /3 = i / i, (12)

где i = i - i-1, i = i - i-1.

Складывая (12) с первым уравнением (11) и вторым, умноженным на (i-1 + i) /2, получим соотношение, содержащее только коэффициенты C3i-1 и C3i:

(A1i-1 - i-12)C3i-1 + В1i-1 + (A2i-1 + 2i-1) C3i-1(i-1 + i) /2 + В2i-1(i-1 + i) / 2 + C3i(i-12 + i-1i + i2) /3 = i / i - C3i i-12 + 2C3ii-1 (i-1 + i) / 2.

Преобразуя его, выразим C3i-1 через C3i:

C3i-1 [A1i-1 + A2i-1(i-1 + i) /2 + i-1i] = C3i[-(i-12 + i-1i + i2) /3 + i-1i] + i / i-1 - В1i-1 - В2i-1(i-1 + i)/2;

C3i-1 = A3i-1 C3i + B3i-1;

(i)кв =i2; A3i-1 = - (i)кв / (3К); B3i-1 = (i / i - В1i-1 - В2i-1 icp) /К;

icp = (i-1 + i) /2 ; К = A1i-1 + A2i-1icp + i-1i. (13)

После подстановки (13) в уравнения системы (11) выражаем из них искомые зависимости C1i(C3i) и C2i(C3i):

C1i = (A1i-1 - i-12)C3i-1 + В1i-1 +C3i i-12 = (A1i-1 - i-12)(A3i-1 C3i-1 + B3i-1) + В1i-1 +C3i i-12 = A1i C3i + B1i,

Fi = A1i-1 - (i-1)кв; A1i = A3i-1 Fi + (i-1)кв; B1i = B3i-1 Fi + В1i-1;

C2i = (A2i-1 +2i-1) C3i-1+ В2i-1 - 2C3i i-1 = (A2i-1 +2i-1) (A3i-1 C3i-1 + B3i-1)+ В2i-1 - 2C3i i-1 =A2i C3i + B2i;

где (i-1)у2 =2i-1; Gi = A2i-1 + (i-1)у2; A2i = A3i-1 Gi - (i-1)у2; B2i = B3i-1 Gi + В2i-1

Расчетные формулы для выражения младших коэффициентов C1i и C2i и старшего коэффициента C3i-1 параболы Di-1 через старший коэффициент C3i параболы Di следующие:

(i-1)кв=(i-1) 2; (i)кв =i2; icp = (i-1 + i) /2 ; i = i - i-1, i = i - i-1;

К = A1i-1 + A2i-1icp + i-1i; Fi = A1i-1 - (i-1)кв; (i-1)у2 =2i-1; Gi = A2i-1 + (i-1)у2;

A3i-1 = - (i)кв / (3К); B3i-1 = (i / i - В1i-1 - В2i-1 icp) /К;

A1i = A3i-1 Fi + (i-1)кв; B1i = B3i-1 Fi + В1i-1;

A2i = A3i-1 Gi - (i-1)у2; B2i = B3i-1 Gi + В2i-1. (15)

3. Конечная парабола Dn().

К началу ее анализа для предыдущей параболы Dn-1() известны зависимости:

C1n-1 = A1n-1C3n-1 + В1n-1;

C2n-1 = A2n-1 C3n-1 + В2n-1. (16)

Из условий гладкости второй степени в предпоследнем узле = n-1 для сплайнов Sn-1() и Sn() (S n-1(n -1) = Sn(n -1); S n-1(n -1) = Sn(n -1)) получим:

C1n-1 + C2n-1 n-1 + C3n-1 n -12 = C1n + C2n n -1 + C3n n -12;

C2n-1 + 2C3 n-1 n-1 = C2n + 2C3n n -1.

Аналогично умножаем обе части второго соотношения на (-n-1), складываем его с первым и получаем систему более простого вида:

C1n-1 - C3n-1 n -12 = C1n - C3n n -12;

C2n-1 + 2C3n-1 n -1 = C2n + 2C3n n -1.

Подставим в уравнения системы зависимости (16):

(A1n-1 - n -12)C3n-1 + В1n-1 = C1n - C3n n-12;

(A2n-1 + 2n -1)C3n-1 + В2n-1 = C2n + 2C3n n -1. (17)

Аналогично из условий Sn(n-1) = n -1; Sn(n ) = n получим уравнение:

C1n + C2n(n -1 + n )/ 2 + C3n(n -12 + n -1 n + n 2)/ 3 = n / n, (18)

где n = n - n -1, n = n - n -1.

Дополнительно для данной параболы из второго краевого условия (4) получим еще одно уравнение:

C2n + 2C3n n = 0. (19)

Четыре уравнения системы (17) - (19) содержат 4 неизвестных коэффициента: C3n-1; C1n ; C2n; C3n. Найдем их величины.

Выразим из (17) C2n (C3n):

C2n = A3n C3n + B3n,

где A3n = - 2n; B3n = 0. (20)

Полученное выражение подставим во второе выражение (17) и найдем зависимость C3n -1 (C3n):

(A2 n -1 + 2n -1)C3 n -1 + В2 n -1 = - 2C3 n n + 2C3 n n -1;

C3 n -1 = A3 n -1 C3 n + B3 n -1,

где A3n -1 = - 2n / (A2 n-1 + 2n -1); B3 n -1 = - В2 n -1 / (A2 n-1 + 2 n -1). (21)

Подставляя данную зависимость в первое уравнение (17), найдем из него выражение для C1n (C3n):

(A1 n -1 - n -12)[-(2 n C3 n + В2 n -1)/(A2 n -1 + 2n -1)] + В1 n -1 = C1n - C3 n n -12;

C1 n = A1 n C3 n + B1 n,

где A1 n = [-2n (A1 n -1 - n-12)/(A2 n -1 + 2 n -1) + n -12];

B1 n =В2 n -1 (A1 n -1 - n -12)/(A2 n -1 + 2n -1)+В1 n -1. (22)

Подставляя зависимости (20) и (22) в уравнение (18), найдем из него выражение для коэффициента C3n:

[-2n (A1n -1 - n -12) / (A2 n -1 + 2 n -1) + n -12]C3 n + В2 n -1(A1 n -1 - n -12)/(A2 n -1 + 2n -1) + В1 n -1 - 2C3 n n(n -1 + n)/ 2 + C3 n(n -12 + n -1 n + n 2)/ 3 = n / n;

C3 n =[n/n-В2 n -1(A1 n -1 - n -12)/(A2 n -1 + 2n-1)-В1n -1]/[-2 n(A1n -1- n -12) / (A2 n -1+2n -1)-2n (2n -1+n)/3]. (23)

Таким образом, для конечной параболы Dn() величина старшего коэффициента C3n определяется не зависимостью вида (6), а формулой (23).

Для сокращения числа расчетных операций предложен следующий алгоритм расчета коэффициентов конечной параболы {C1n; C2n; C3 n}и значения старшего коэффициента C3 n -1 параболы Dn -1():

C3 n =[n/n-В2 n -1 Е n -В1n -1]/[F n( Е n+(G n+n)/3];

(n-1)кв=n -12; G n=2n -1; H n=1/(A2 n-1+G n); Е n=(A1n -1- (n-1)кв)H n; F n =-2 n;

C1n = [F nЕ n + (n -1)кв] C3 n + В2 n -1Е n +В1 n -1;

C2n = (- 2n) A3n C3n;

C3 n -1 = F n H n C3 n - В2 n -1H n. (24)

Обратный ход.

Заключается в последовательном расчете коэффициентов оставшихся квадратных парабол Di(), i = n-1,…,1. Выполняется в последовательности, обратной прямому ходу.

Для каждой параболы Di() (i=n-1,…,1), по уже рассчитанному значению старшего коэффициента C3i+1 параболы Di+1() по формулам (6) вначале рассчитывается старший коэффициент C3i , а по нему - младшие C1i и C2i.

Расчетный алгоритм и оценка его трудоемкости

Начальные данные: координаты точек , (i = 0, …, n), 0 = 0.

Необходимо определить: массивы коэффициенты C1i, C2i, C3i набора сплайнов Si () (i = 1, …, n), обеспечивающих гладкость второй степени во внутренних узлах при краевых условиях: S0(0) = 0; Sn -1(n) = 0.

Начальные действия. Вводим вспомогательные массивы{A3i}, {В3i}, {A1i}, {В1i}, {A2i}, {В2i}, в которых номера элементов изменяются от 1 до n -1. Поскольку в расчетах коэффициентов соседних парабол повторяются вычисления квадратов значений времени i, то перед началом вычислений предварительно рассчитываем их:

(i)кв =i2; 1, …, n . (25)

Шаг 1. Прямой ход. Расчет вспомогательных коэффициентов A11, В11, A21, В21 для начальной параболы D1(). Из (9) следует:

A11 = -(1)кв / 3; В11 = (1 - 0)/1; A21 = В21 = 0. (26)

Шаг 2. Прямой ход. Цикл по внутренним параболам (i = 1, …, n -1). Расчет вспомогательных коэффициентов A1i, В1i, A2i, В2i для внутренней параболы Di(), а также коэффициентов A3i-1, В3i-1 для параболы Di-1() выполняем по формулам (15):

icp = (i-1 + i) /2 ; i = i - i-1, i = i - i-1; К = A1i-1 + A2i-1icp + i-1i;

Fi = A1i-1 - (i-1)кв; (i-1)у2 =2i-1; Gi = A2i-1 + (i-1)у2;

A3i-1 = - (i)кв / (3К); B3i-1 = (i / i - В1i-1 - В2i-1 icp) /К;

A1i = A3i-1 Fi + (i-1)кв; B1i = B3i-1 Fi + В1i-1;

A2i = A3i-1 Gi - (i-1)у2; B2i = B3i-1 Gi + В2i-1. (27)

Шаг 3. Прямой ход. Расчет коэффициентов C3n, C1n, C2n, C3 n-1 выполняем по формулам (24):

G n=2n -1; H n=1/(A2 n-1+G n); Е n=(A1n -1- (n-1)кв)H n; F n =-2 n;

C3 n =[n/n-В2 n -1 Е n -В1n -1]/[F n( Е n+(G n+n)/3];

C1n = [F nЕ n + (n -1)кв] C3 n + В2 n -1Е n +В1 n -1;

C2n = (- 2n) A3n C3n;

C3 n -1 = F n H n C3 n - В2 n -1H n. (28)

Шаг 4. Обратный ход. Цикл по параболам с номерами i = n -1, …, 1. Расчет их коэффициентов C1i, C2i, C3i.

C3i = A3i C3i+1 + B3i;

C1i = A1i C3i + B1i;

C2i = A2i C3i + B2i. (29)

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

C0i = i - C1i i - C2i i2 /2 - C3i i3 / 3, i = 1, …, n. (30)

Суммарные затраты на выполнение прямого сокращенного метода расчета коэффициентов кубических интерполяционных сплайнов представлены в таблице 2.

Табл. 2. Количество расчетных операций при построении n сплайнов

Стадии

Сложения и вычитания

Умножения

Деления

1. Начальные действия

0

n

0

2. Прямой ход. Расчет переходных коэффициентов A11, В11, A21, В21 для начальной параболы D1() (26)

1

0

2

3. Прямой ход. Расчет в цикле по внутренним параболам (i = 1, …, n -1) переходных коэффициентов A1i, В1i, A2i, В2i, A3i-1, В3i-1 (27)

13(n-2)

8(n-2)

4(n-2)

4. Прямой ход. Расчет коэффициентов конечной параболы C3n, C1n, C2n и коэффициента C3 n-1 (28)

10

14

4

5. Обратный ход (29)

3(n-1)

3(n-1)

0

ИТОГО

16n-18

12n-5

4n-2

Заключение

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

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

Список литературы

1. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. - М.: Лаборатория Базовых Знаний, 2002 г. - 632 с.

2. Гданский Н.И. Геометрическое моделирование и машинная графика. - М.: МГУИЭ, 2003 г. - 236 с.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
 
Предметы
Агропромышленность
Банковское дело
БЖД
Бухучет и аудит
География
Документоведение
Естествознание
Журналистика
Информатика
История
Культурология
Литература
Логика
Логистика
Маркетинг
Математика, химия, физика
Медицина
Менеджмент
Недвижимость
Педагогика
Политология
Право
Психология
Религиоведение
Социология
Статистика
Страховое дело
Техника
Товароведение
Туризм
Философия
Финансы
Экология
Экономика
Этика и эстетика
Прочее