
2426
.pdf
|
|
|
|
|
|
|
|
Пуск |
|
1 |
|
|
|
|
|
|
2 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ввод исходных данных: |
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
YПР;lзап_г;lзап_в;(Rg) |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ig |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
Определение lg_г, lg_в |
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
4 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rг =lg_г+lзап_г; Rв =lg_в+lзап_в |
|
5 |
|||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||||||||||||||||||
|
YЭ(i,k)=YПР(i,k), где i [1; imax]; k [1; kmax] |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
i=1:imax |
|
6 |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
k=1: kmax |
|
|
|
7 |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
∆i=–ëRг |
|
lû:+ ëRг |
lû |
8 |
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
∆k=– ëRг |
|
lû:+ ëRг |
|
lû |
9 |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i1=i+∆i |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
k1=k+∆k |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
(i1>imax) ˅ |
|
|
|
|
|
12 |
|
Да |
|
|
|||||||
Нет |
(i1<1) ˅ |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
(k1>kmax) ˅ |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
(k1<1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
|
|||
|
|
|
|
|
rp = |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
(Di ×Dl)2 + (Dk ×Dl)2 |
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
Нет |
|
|
14 Да |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
rp>Rг |
|
|
|
|
|
|
|
15 |
|
|
|
|||||
|
|
|
|
|
æ |
|
2 |
|
ö |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
Dy = ç1 |
- |
|
rp |
|
÷ × |
(R )2 |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
(Rг ) |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
è |
|
|
ø |
|
|
в |
|
|
|
|
|
|
|
|||||||
|
|
|
|
ç |
|
2 |
|
÷ |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
y~=YЭ(i,k)+∆y |
|
|
|
|
|
|
|
|
|
|
|||||||
|
Да |
|
|
|
|
|
17 Нет |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
y~>YЭ(i1,k1) |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
YЭ(i1,k1)=y~ |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
20 |
|
|
|
Вывод результатов: |
19 |
|||||||||||||||||||
Останов |
|
|
|
|
|
YЭ |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.11. Блок-схема алгоритма построения полидистантной поверхности вокруг поверхности препятствий
90

Горизонтальная полуось эллипса по (3.33) будет равна Rг =1,53 УЛЕ. Вертикальная полуось эллипса по (3.33) будет равна Rв =0,5 УЛЕ. Построенная в качестве примера для указанных значений полидистантная поверхность и кратчайшая траектория движения точки для нее приведены на рис. 3.9, б.
Полидистантная поверхность Эквидистантная поверхность
2 |
1 |
1 |
|
Положения груза |
2 |
|
|
Y0 X0 Z0
X0
Рис. 3.12. Кратчайшие траектории, найденные для одной и той же конфигурации препятствий: 1 – в среде с эквидистантной поверхностью; 2 – в среде с полидистантной поверхностью (вид сверху и вид сбоку)
На рис. 3.12 приведены для сравнения эквидистантная поверхность с эквидистантным радиусом 1,5 м и полидистантная поверхность с приведенными выше значениями Rг и Rв, а также кратчайшие траектории, найденные для одной и той же конфигурации препятствий в среде с эквидистантной поверхностью (кривая 1) и в среде с полидистантной поверхностью (кривая 2). Траектория 1 имеет большую длину, чем траектория 2 (14,15 и 13,2 УЛЕ соответственно), что позволяет сделать вывод о целесообразности использования предлагаемой модифицированной методики.
Разработанная методика позволяет сформировать полидистантную поверхность в виде матрицы высот [YЭ] вокруг любой реальной поверхности препятствий [YПР], заданной на двухмерной равномерной дискретной сетке с произвольным шагом. Методика предназначена для использования в составе методик поиска оптимального пути перемещения груза в системах автоматического управления мобильных ГПК.
91

3.4. Методика построения гиперповерхности минимальных значений вертикальных координат условного центра груза с учетом его угловых координат
Гиперповерхность минимальных вертикальных координат условного центра груза с учетом его угловых координат представляет собой функцию минимально возможных (при выполнении условия непересечения с препятствиями) значений вертикальной координаты y точки начала локальной системы координат груза OgХgYgZg, принятой за условный центр груза, в неподвижной системе координат O0Х0Y0Z0. Аргументами данной функции выступают оставшиеся 4 из пяти рассматриваемых координат груза в пространстве с препятствиями: Ymin=f(x, z, γ, ω). Эта функция в общем случае разрывная, легко может быть описана дискретно в виде 4-мерного массива Ymin(i,k,l,m), где индексы i, k, l, m соответствуют координатам x, z, γ, ω, заданным на равномерной решетке.
|
|
|
|
|
|
а) |
|
|
|
|
|
|
|
|
в) |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
|
|
|
|
|
|
|
x2 |
|
X0 |
|||||||
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
Z0 |
|
|
|
|
|
|
|
Z0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y0 |
z1 |
Y0 |
|
z2 |
||||||||||||||
|
|
|
γ1=0 |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
γ2>0 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
(Ymin)1 |
|
|
|
|
|
|
(Ymin)2 |
|
|
|
|
|
|
|
б) |
|
|
|
г) |
|
|
|
|
x1 |
X0 |
x2 |
X0 |
Рис. 3.13. Определение значений элементов массива гиперповерхности [Ymin]
92
Массив гиперповерхности [Ymin] использован в описанных ниже методиках дискретной оптимизации траектории перемещения груза в среде с препятствиями и позволяет значительно упростить предлагаемые алгоритмы [77].
Рис. 3.13 иллюстрирует, каким образом определяются значения элементов данного массива. Показаны два положения груза (а, б и в, г), которые отличаются друг от друга только значением угловой координаты γ. Высота гиперповерхности Ymin с учетом формы препятствий и формы груза при этом будет различной:
(x1= x2; z1= z2; γ1≠ γ2) → (Ymin)1 ≠ (Ymin)2. |
(3.39) |
Методика построения гиперповерхности [Ymin] заключается в следующей последовательности шагов [77].
1. Задание численных значений исходных данных: { Rig }; imax;
jmax; kmax; lmax; mmax; [YПР]; u; lзап_г; lзап_в.
2.Определение шага дискретности линейных координат l по
(3.5).
3.Определение максимальных и минимальных предельных значений угловых координат γmax, γmin, ωmax, ωmin:
γmax=γн0+(0,5∙lmax∙Δu); γmin=γн0–(0,5∙lmax∙Δu);
ωmax=ωн0+(0,5∙mmax∙Δu); ωmin=ωн0–(0,5∙mmax∙Δu). (3.40)
4.Построение полидистантной поверхности вокруг реальной поверхности препятствий по методике, изложенной в разделе 3.3 [94, 102]. В результате построения формируется дискретная матрица вы-
сот [YЭ] того же размера, что и исходная матрица препятствий [YПР]. Исходными параметрами при построении [YЭ] кроме исходной поверхности [YПР] будет пара значений параметров: lзап_г; lзап_в. Матрица [YЭ] задает собственно физические препятствия и определенную свободную область запрещенного для движения объекта пространства, примыкающую к физическим препятствиям.
5.Используя метод однородных координат [127], формируется 4- мерный массив [Ms] линейных смещений габаритных точек поверхности объемного тела груза в зависимости от всевозможных сочетаний угловых координат на дискретной равномерной сетке относительно нулевых значений угловых координат.
Данный массив размером (4∙cг∙lmax∙mmax) может быть представлен
как 3-мерный массив векторов (Rs)j смещения точек вида
93
v |
= [x j |
y j z j 1]T , |
j [1; (cг∙lmax∙mmax) ], |
|
(Rs)j |
(3.41) |
|||
определяемых как |
|
(Rs)j = (Aτ )k × (Rg)ig , |
(3.42) |
|
|
|
|||
где (Aτ)k – матрица вращения; ig [1; cг]; |
k [1; (lmax∙mmax)]. |
|
Матрица (Aτ)k определяется в результате определенной последовательности перемножения матриц поворота системы координат груза вокруг соответствующих осей собственной системы координат:
(Aτ)k = (Aγ)k∙(Aω)k, |
(3.43) |
где (Aγ)k, (Aω)k – матрицы поворота вокруг осей Хg и Yg соответственно, имеющие следующий вид:
|
é1 |
0 |
0 |
0ù |
|
écosωk |
0 |
− sinωk |
0ù |
||
(Aγ ) |
ê |
cosγk |
sinγk |
ú |
|
ê |
|
|
|
|
ú |
= ê0 |
0ú; (Aω) |
|
= ê |
0 |
1 |
0 |
0ú. (3.44) |
||||
k |
ê |
- sinγk |
cosγk |
ú |
k |
ê |
sinωk |
0 |
cosωk |
0 |
ú |
|
0 |
0 |
|
ê |
ú |
||||||
|
ê |
0 |
0 |
ú |
|
0 |
0 |
0 |
|
||
|
ë0 |
1û |
|
ë |
1û |
Отсюда |
|
|
|
|
|
|
|
|
|
|
|
|
é |
cosωk |
|
0 |
|
- sinωk |
|
0ù |
|
|
|
|
|
|
||||||
(Aτ ) |
|
ê |
sinωk ×sinγ k |
|
cosγ k |
|
cosωk ×sinγ k |
|
0 |
ú |
k |
= ê |
|
|
|
ú . (3.45) |
|||||
|
|
|
|
|
|
|
||||
|
êsinωk ×cosγ k |
|
- sinγ k |
|
cosωk ×cosγ k |
|
0ú |
|||
|
|
|
|
|
||||||
|
|
ê |
|
|
|
|
|
|
|
ú |
|
|
ë |
0 |
|
0 |
|
0 |
|
1 |
û |
Массив [Ms] будет иметь индексы (ik, ig, l, m), определяющие соответственно: ik =1, 2, 3 – смещения габаритной точки вдоль осей Х0, Y0, Z0 неподвижной системы координат; ig [1; cг] – номер габаритной
точки; l [1; lmax] – координату γ; m [1; mmax] – координату ω.
6. Исходя из условия непересечения груза с препятствиями и запрещенной зоной строится гиперповерхность минимальных возможных значений вертикальных координат [Ymin] точки начала локальной системы координат груза OgХgYgZg в неподвижной системе координат O0Х0Y0Z0 с учетом значений линейных координат x и z, а также его угловых координат γ и ω в 5-мерном пространстве.
Для этого, используя вложенные циклы по i, k, l, m, определяющие x, z, γ, ω соответственно, рассматриваются всевозможные сочета-
94

ния координат груза x, z, γ и ω на дискретной равномерной сетке, а для каждого сочетания указанных координат – последовательно все габаритные точки (Rg)ig , ig [1; cг].
Пуск |
1 |
2 |
|
|
Ввод исходных данных: (xн0, yн0, zн0, сн0, ωн0); (xк0, yк0, zк0, γк0, ωк0); imax; jmax; |
|
kmax; lmax; mmax; { R }; [YПР]; u; lзап_г; lзап_в |
|
|
ig |
l= (xк0 – xн0)/imax; |
γmax=γн0+(0,5∙lmax∙Δu); γmin=γн0–(0,5∙lmax∙Δu); |
ωmax=ωн0+(0,5∙mmax∙Δu); ωmin=ωн0–(0,5∙mmax∙Δu).
Построение полидистантной поверхности [YЭ] вокруг реальной поверхности
препятствий [YПР] по методике раздела 3.3 [94, 102]
3
4
|
|
|
|
|
6 |
|
|
|
j=0; k=1 |
5 |
|
16 |
|
|
|
|
|
|
l=1:lmax |
|
|
7 |
|
i=1:imax |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
17 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||
|
γk =(l–0,5∙lmax)∙Δu |
|
|
|
|
|
k=1:kmax |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
|
|
|
|
|
m=1:mmax |
|
|
8 |
|
|
|
||||
|
|
|
|
|
|
9 |
|
|
l=1:lmax |
|
|
|||
|
|
|
|
|
|
|
|
|
19 |
|
||||
|
ωk =(m–0,5∙mmax)∙Δu |
|
|
10 |
|
|
m=1:mmax |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
|
|
Задание матрицы (Aτ)k |
|
|
|
ig=1:cг |
21 |
|
|||||||
|
со значениями углов |
|
|
|
|
|
||||||||
|
|
|
|
γk, ωk |
|
|
|
|
|
|
ix= (i∙ |
l+Ms(1, ig, l, m))/ |
l ; |
|
|
|
|
|
|
11 |
|
|
iz= (k∙ |
l+Ms(3, ig, l, m))/ |
l |
|
|||
|
|
|
|
ig=1:cг |
|
|
|
|
22 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
12 |
|
|
Коррекция ix, iz по (3.47) |
23 |
|||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
j=j+1 |
|
|
|
|
|
|||||
|
|
|
|
|
|
13 |
|
Yc(ig)=YЭ(ix,iz)–Ms(2,ig,l,m) |
|
|||||
|
|
|
|
|
|
|
|
|
||||||
|
(Rs) |
j |
= (Aτ ) × (Rg) |
, |
|
|
|
|
24 |
|||||
|
|
|
k |
|
ig |
|
|
|
|
Ymin(i,k,l,m)=min(Yc(ig)) |
|
|||
|
j [1; (cг∙lmax∙mmax)] |
|
|
|
|
|
||||||||
|
|
|
14 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ms(ik, ig, l, m)=(Rs)ik |
; |
|
|
Вывод результатов |
25 |
|
|||||||
|
|
|
|
ik [1; 3] |
|
|
|
|
|
|
|
[Ymin] |
|
|
|
|
|
|
|
|
15 |
|
|
|
Останов 26 |
|
|
||
|
|
|
|
k=k+1 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.14. Блок-схема алгоритма построения гиперповерхности минимальных значений вертикальных координат условного центра груза для пяти учитываемых обобщенных координат
Используя массив Ms(ik, ig, l, m) линейных смещений габаритных точек в зависимости от значений угловых координат, определяют значения индексов ix и iz линейных координат x и z текущей габаритной точки на равномерной сетке с учетом смещений:
95
ix= (i∙ l+Ms(1, ig, l, m))/ l ; iz= (k∙ l+Ms(3, ig, l, m))/ l . |
(3.46) |
Значения индексов ix и iz, вычисленные по (3.46), проверяются на выполнение условия невыхода за границы диапазонов заданной сетки ix [1; imax]; iz [1; kmax] соответственно и при необходимости корректируются. Условия коррекции выглядят следующим образом:
ìix |
при |
1 |
≤ ix ≤ imax ; |
ìiz |
при |
1 |
≤ iz ≤ kmax ; |
|
ï |
при |
ix |
<1; |
ï |
при |
iz |
<1; |
(3.47) |
ix = í1 |
iz = í1 |
|||||||
ï |
|
|
ix > imax . |
ï |
|
|
iz > kmax . |
|
îimax при |
îkmax при |
|
По индексам ix и iz, полученным по (3.46), (3.47), для различных габаритных точек груза при одних и тех же значениях координат формируется одномерный вектор Yc высот точки начала координат груза, элементы которого определяются по зависимости
Yc(ig)=YЭ(ix,iz) – Ms(2, ig, l, m). |
(3.48) |
Отдельный элемент массива гиперповерхности [Ymin] определяется как минимальный элемент вектора Yc:
Ymin(i,k,l,m)=min(Yc(ig)), ig [1; cг]. |
(3.49) |
Блок-схема алгоритма построения гиперповерхности минимальных значений вертикальных координат условного центра груза приведена на рис. 3.14.
3.5. Методика дискретной локальной оптимизации заданной траектории в неоднородном организованном трехмерном пространстве
Локальная оптимизация отдельной заданной траектории S может быть выполнена при соблюдении условия непересечения груза с эквидистантной (полидистантной) поверхностью вокруг препятствий [80, 94, 102]. В случае, если имеется некоторая траектория, в общем случае не являющаяся оптимальной, локальная оптимизация позволяет сравнительно быстро достичь положения ближайшего локального оптимума по целевой функции L путем последовательного изменения положения точек траектории sp, p [1; imax]. Поскольку траектории и полидистантная поверхность [YЭ] заданы дискретно на равномерной
96

сетке, предлагается следующий алгоритм дискретной локальной оптимизации отдельной траектории [80].
Последовательно для каждой из точек sp траектории с координатами
sp=(xp, yp, zp, γp, ωp), |
(3.50) |
где p [1; imax]; xp=p∙Δl,
осуществляется дискретная оптимизация точек из интервала p [2; (imax–1)], т.е. точка sp перемещается в новое положение, минимизирующее целевую функцию L. Поскольку значение целевой функции L (3.19) определяется дискретно в виде суммы, при изменении положения одной точки будут меняться значения только двух слагаемых этой суммы, поэтому вместо значения L при оптимизации может быть использовано значение Lp, вычисление которого занимает в (imax/2) меньше времени по сравнению с L:
çæ |
|
|
|
|
|
+÷ö |
|
||||||||||||||||||
(xp - xp−1 )2 + (y p - y p−1 )2 + (z p - z p−1 )2 |
|
||||||||||||||||||||||||
Lp = ç |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
÷ + |
|
|
|
|
|
|
× |
(γ |
|
-γ |
|
)2 |
+ (ω |
|
|
-ω |
|
|
)2 |
|
|
|
||||||
ç+ c |
|
p |
p−1 |
p |
p−1 |
|
|
÷ |
|
||||||||||||||||
è |
|
|
γω |
|
|
|
|
|
|
|
|
|
|
|
|
ø |
|
||||||||
çæ |
|
|
|
+÷ö |
|
||||||||||||||||||||
(xp - xp+1 )2 + (yp - y p+1 )2 + (z p - z p+1 )2 |
|
||||||||||||||||||||||||
+ ç |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
÷. |
(3.51) |
|
ç |
+ c |
γω |
× |
|
(γ |
p |
-γ |
p+1 |
)2 |
+ (ω |
p |
-ω |
p+1 |
)2 |
|
|
÷ |
|
|||||||
è |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ø |
|
При использовании в качестве целевой функции СВД линейных и угловых перемещений появляется возможность дополнительного сокращения времени расчетов. Вместо значения Lp при оптимизации может быть использовано значение Lp1 – СВД от точки искомого оптимума sp с учетом препятствий до предварительно определенной точки sp1, находящейся в пространстве обобщенных координат груза на прямой линии между точками sp–1 и sp+1 без учета препятствий.
При отсутствии препятствий между sp–1 и sp+1 точка sp1 с координатами (xp1, yp1, zp1, γp1, ωp1), находящаяся посредине между точками sp–1 и sp+1, будет являться оптимумом при любом значении весового коэффициента cγω в выражении (3.51). Следовательно, точка sp, определенная с учетом препятствий как ближайшая к sp1, будет являться оптимумом при наличии препятствий. При оптимизации положения отдельной точки sp в качестве оптимизируемой функции может быть использовано значение Lp1, вычисление которого занимает еще в 2 раза меньше времени по сравнению с Lp:
97

|
çæ |
|
|
+÷ö |
|
||||||||||
Lp1 |
(xp - xp1 )2 + (yp - yp1 )2 + (z p - z p1 )2 |
|
|||||||||||||
= ç |
|
|
|
|
|
|
|
|
|
|
|
|
÷. |
(3.52) |
|
+ c × |
(γ |
|
-γ |
|
)2 + (ω |
|
-ω |
|
)2 |
|
|||||
|
ç |
p |
p1 |
p |
p1 |
|
÷ |
|
|||||||
|
è |
|
γω |
|
|
|
|
|
|
ø |
|
Это позволяет использовать для оптимизации положения отдельной точки траектории метод полного перебора на ограниченной об- ласти-гиперкубе с центром в исходном положении точки sp.
Описание методики локальной оптимизации для отдельной точки траектории приведено в пп. 1–9 [80].
1. Для текущего значения p определяются оптимальные значения координат (xp1, yp1, zp1, γp1, ωp1) точки sp без учета препятствий, т.е. на прямой между точками sp–1 и sp+1:
xp1=(xp–1+xp+1)/2; yp1=(yp–1+yp+1)/2; zp1=(zp–1+zp+1)/2; |
|
γp1=(γp–1+γp+1)/2; ωp1=(ωp–1+ωp+1)/2. |
(3.53) |
Соответствующие индексы координат на равномерной дискретной сетке определяются следующим образом:
p= xp1/ l ; jp= yp1/ l ; kp= zp1/ l ; |
|
lp= (γp1–γmin)/ u ; mp= (ωp1– ωmin)/ u . |
(3.54) |
2. В случае, если для индексов, полученных по (3.54), выполняется условие нахождения точки sp над гиперповерхностью [Ymin]
yp≥Ymin(p,kp,lp,mp), |
(3.55) |
оптимизация по текущей точке sp завершается, и начинается оптимизация по следующей точке sp+1. В противном случае выполняется следующий п. 3.
3. Используя вложенные циклы по k, l, m, определяющие z, γ, ω соответственно, для оптимизируемой точки sp с фиксированным p рассматриваются всевозможные сочетания координат груза z, γ и ω на дискретной равномерной сетке для ограниченной области-гиперкуба с центром в исходном положении точки sp. Для этого варьируются индексы k, l, m в следующих диапазонах (области-гиперкубе):
k [(kp–dkp); (kp+dkp)]; l [(lp–dlp); (lp+dlp)]; m [(mp–dmp); (mp+dmp)], (3.56)
где kp, lp, mp – индексы, соответствующие координатам zp, γp, ωp точки sp до оптимизации; dkp, dlp, dmp – положительные целочисленные зна-
98

чения приращений индексов k, l, m соответственно, определяющие область гиперкуба и удовлетворяющие условиям
dkp<<kmax; dlp<<lmax; dmp<<mmax. |
(3.57) |
4. Значения индексов k, l, m, варьируемые по (3.56), проверяются на выполнение условия невыхода за границы диапазонов исходной
сетки k [1; kmax]; l [1; lmax]; m [1; mmax] соответственно и при необходимости корректируются. Условия коррекции выглядят следующим
образом:
ìk |
при |
1 ≤ k ≤ kmax ; |
ìl |
при |
1≤ l ≤ lmax ; |
ï |
при |
k <1; |
ï |
при |
l <1; |
k = í1 |
l = í1 |
||||
ï |
|
|
ï |
|
|
îkmax при k > kmax . |
îlmax при l > lmax . |
ìm при 1≤ m ≤ mmax ; |
|
||
ï |
при |
m <1; |
(3.58) |
m = í1 |
|||
ïm |
max |
при m > m . |
|
î |
max |
|
5. Для каждого сочетания значений индексов k, l, m в области гиперкуба определяются текущие значения координат yu, zu, γu, ωu оптимизируемой точки sp с учетом препятствий:
ìy |
p |
при |
y |
p |
³ Y |
(p,k,l,m); |
(3.59) |
||
yu = í |
|
|
min |
y |
|
< Y (p,k,l,m); |
|||
Y |
|
(p,k,l,m) |
при |
p |
|
||||
î min |
|
|
|
|
|
min |
|
||
zu=k∙Δl; |
γu=l∙Δu; |
ωu=m∙Δu, |
|
где u [1; (dkp∙2+dlp∙2+dmp∙2)] – индекс, соответствующий уникальному сочетанию значений индексов k, l, m и координат yu, zu, γu, ωu. Для каждого значения u из приведенного диапазона в массиве [tgu] запоминаются соответствующие значения координат yu, zu, γu, ωu.
6. Для каждого сочетания значений координат yu, zu, γu, ωu в области гиперкуба определяется расстояние (Lp1)u:
|
çæ |
|
|
+÷ö |
|
||||||||||
(Lp1 ) |
(xp - xp1 )2 + (yu - yp1 )2 + (zu - z p1 )2 |
|
|||||||||||||
= ç |
|
|
|
|
|
|
|
|
|
|
|
|
÷. |
(3.60) |
|
+ c × |
(γ |
|
- γ |
|
)2 + (ω |
|
- ω |
|
)2 |
|
|||||
u |
ç |
u |
p1 |
u |
p1 |
|
÷ |
|
|||||||
|
è |
|
γω |
|
|
|
|
|
|
ø |
|
7. По выходе из циклов по k, l, m определяется значение индекса um, соответствующее минимальному значению (Lp1)u:
99