
2426
.pdf
T3=A1∙A2∙A3; T4=T3∙A4. |
(4.166) |
Каждый из векторов множества { Rio3 } характерных точек стрелы вида
Rio3 = [xio3 yio3 zio3 1]T ; io3 [1; co3], |
(4.167) |
где xio3, yio3, zio3 – координаты точки io3 стрелы в собственной локальной декартовой системе координат (№ 3), переносится в инерциальную систему координат:
Rio3,0 =T3 × Rio3 ; io3 [1; co3], |
(4.168) |
здесь Rio3,0 – вектор положения точки io3 в инерциальной системе координат вида
R |
= [x |
y |
z |
1]T . |
(4.169) |
io3,0 |
io3,0 |
io3,0 |
io3,0 |
|
|
Для каждой точки io3 [1; co3] выполняется проверка условия превышения ее вертикальной координаты над соответствующей вертикальной координатой полидистантной поверхности препятствий с теми же координатами xio3, zio3:
yio3≥YЭ(xio3, zio3). (4.170)
Аналогичная проверка выполняется для множества { Rio4 } харак-
терных точек телескопического звена стрелы с использованием матрицы T4:
Rio4,0 |
=T3 × Rio4 ; |
io4 [1; co4]; |
(4.171) |
||
R |
= [x |
y |
z |
1]T ; |
(4.172) |
io4,0 |
io4,0 |
io4,0 io4,0 |
|
|
|
|
yio4≥YЭ(xio4, zio4). |
|
(4.173) |
В случае выполнения условия (4.170) для всех точек стрелы множества { Rio3 }, где io3 [1; co3], а также выполнения условия (4.173) для всех точек телескопического звена множества { Rio4 }, где io4 [1;
co4] значение отдельной компоненты с индексом iq8 вектора Cross индикатора пересечения звеньев ГПК с препятствиями принимается равным 0, что соответствует отсутствию пересечений. В противном случае значение отдельной компоненты вектора Cross индикатора пересечения звеньев ГПК с препятствиями принимается равным 1, что соответствует пересечению с препятствиями:
241

ìCross(iq8)=0 при
ïí("(io3Î [1,co3]); yio3 ³YЭ(xio3, zio3))Ù("(io4Î [1,co4]); yio4 ³YЭ(xio4, zio4));(4.174)
ïîCross(iq8)=1 в остальных случаях.
Учитывается специфика задачи, которая выражается в допущении, что подъем стрелового оборудования (увеличение значений координат q8, q9, q10 в пределах их возможных диапазонов при сохранении постоянных декартовых координат груза) в случае отсутствия пересечений с препятствиями не может приводить к пересечению с препятствиями. Тогда условие нахождения минимальных диапазонных значений управляемых координат qn8Н, qn9Н, qn10Н в начальной точке положения груза с учетом непересечения подвижных звеньев ГПК с препятствиями будет на отдельной итерации цикла iq8 [2; iq8max] выглядеть следующим образом:
qn8Н=q8(iq8); qn9Н=q9(iq8); qn10Н=q10(iq8) |
(4.175) |
при Cross(iq8)=0 и Cross(iq8–1)=1. |
|
По зависимостям, аналогичным (4.163)–(4.175), в цикле iq8 [1; iq8max] определяются уточненные минимальные диапазонные значения управляемых координат в конечной точке положения груза qk8Н, qk9Н, qk10Н. Максимальное значение индекса iq8max в этом случае определится следующим образом:
iq8max = ë(qk8B − qk8N ) u8 û. |
(4.176) |
Условие нахождения минимальных диапазонных значений управляемых координат qn8Н, qn9Н, qn10Н в конечной точке положения груза с учетом непересечения подвижных звеньев ГПК с препятствиями будет на отдельной итерации цикла iq8 [2; iq8max] выглядеть аналогично:
qk8Н=q8(iq8); qk9Н=q9(iq8); qk10Н=q10(iq8) |
(4.177) |
при Cross(iq8)=0 и Cross(iq8–1)=1. |
|
6. Определяется диапазон [qnд7; qkд7] допустимых значений угла поворота поворотной колонки q7 для генерации вершин графа дорожной карты, который в общем случае должен превышать диапазон из начального и конечного значений данной координаты [qn7; qk7], чтобы обеспечить обход возможных препятствий, однако будет меньше угла в 360°.
242

Для этого определяется приращение диапазона координаты q7:
dq7=δq7–(|qk7–qn7|/2), |
(4.178) |
где δq7 – заданная постоянная величина.
Диапазон допустимых значений угла поворота поворотной колонки будет равен
[qnд7 ; qkд7 |
]= íì[(qn7 − dq7 );(qk7 + dq7 )] |
при qn7 ≤ qk 7 ; |
(4.179) |
|||||||||||||
|
î |
[(q |
n7 |
+ dq |
7 |
);(q |
k 7 |
- dq |
7 |
)] |
при q |
n7 |
> q |
k7 |
. |
|
|
|
|
|
|
|
|
|
|
|
7. Используя вложенные циклы по индексам iqn8 [1; iqn8max] и iqk8 [1; iqk8max], варьируются значения управляемой координаты q8 в начальной и конечной точках положения груза qn8 и qk8 соответственно в пределах уточненных диапазонных значений управляемых координат вида (4.162) с шагом u8. При этом значения управляемых координат q9 и q10, определяемые в начальной и конечной точках положения груза по методике раздела 4.3, также будут варьироваться в пределах собственных уточненных диапазонных значений.
Для каждого сочетания значений [qn8; qn9; qn10] и [qk8; qk9; qk10] выполняется поиск оптимальной по значению целевой функции траек-
тории перемещения груза.
7.1. Окончательное значение целевой функции L* (T*, Ae* либо C*) как общий результат работы алгоритма принимается равным бесконечно большой величине:
Ae*=∞; T*=∞; C*=∞. |
(4.180) |
7.2. Определяются максимальные значения индексов iqn8 и iqk8 по уточненным диапазонным значениям:
iqn8max = ë(qn8B − qn8N ) u8 û; iqk8max = ë(qk8B − qk8N ) u8 û. |
(4.181) |
7.3. На каждой итерации индексов iqn8 и iqk8 по их значениям определяются текущие значения координаты q8 в начальной и конечной точках (qn8 и qk8):
qn8=qn8N+(iqn8–1)∙ u8; qk8=qk8N+(iqk8–1)∙ u8. |
(4.182) |
7.4. Определяются текущие значения координат qn9, qk9 и qn10, qk10, соответствующие текущим значениям координат qn8 и qk8 по методике раздела 4.3 [103, 107, 109, 112, 113, 115, 116].
243
7.5. Генерируется случайным образом множество вершин Sr={s2,…, sng–1} графа дорожной карты, представляющих собой точки в пространстве конфигураций ГПК, т.е. возможные положения груза в
пределах диапазонов координат [qnд7; qkд7] [q8min; q8max] [q9min; q9max]; [q10min; q10max], в которых он не пересекается с препятствиями.
Для создания дорожной карты при помощи генератора случайных чисел создается ng точек в пространстве конфигураций с координатами
sp=(q7p, q8p, q9p, q10p), p [2; ng–1], |
(4.183) |
где
q7p=qnд7+Rand∙(qkд7–qnд7); q8p=q8min+Rand∙(q8max–q8min); (4.184)
q9p=q9min+Rand∙(q9max–q9min); q10p=q10min+Rand∙(q10max–q10min).
Значения q7p, q8p, q9p, q10p, полученные для каждого значения индекса p, должны удовлетворять условиям непересечения подвижных звеньев ГПК и груза с эквидистантной (полидистантной) поверхностью [YЭ], что выражается проверкой по условиям (4.170) и (4.173) для подвижных звеньев ГПК, а также приведенным ниже аналогичным зависимостям для груза.
Формируется матрица перехода A5 из локальной системы координат груза в локальную систему координат телескопического звена:
где |
|
|
|
|
A5=Ax5 Aν5 Ay5Aω5, |
|
|
|
|
|
|
(4.185) |
|||||
é cos(− q8 ) |
sin(− q8 ) |
0 |
0ù |
|
|
|
é1 |
0 |
0 |
0 |
ù |
||||||
|
|
|
|
||||||||||||||
A |
ê- sin(- q |
|
) |
cos(- q |
|
) |
0 |
0ú |
; A |
= |
ê0 |
1 |
0 |
(-q )ú |
|||
= ê |
8 |
|
|
8 |
|
|
ú |
ê |
|
|
10 |
ú; |
|||||
v5 |
ê |
0 |
|
|
0 |
|
|
1 |
ú |
|
y5 |
|
ê |
|
1 0 |
ú |
|
|
ê |
|
|
|
|
0ú |
|
|
|
ê0 0 |
ú |
||||||
|
ë |
0 |
|
|
0 |
|
|
0 |
1û |
|
|
|
ë0 0 |
0 1 |
û |
||
|
|
|
|
é–cosq11 |
|
0 |
−sinq11 |
0ù |
|
|
|
|
|
||||
|
|
|
|
ê |
|
|
|
|
|
|
|
ú |
|
|
|
|
|
|
|
A |
= ê |
0 |
|
1 |
|
0 |
|
0ú |
, |
|
|
|
(4.186) |
||
|
|
w5 |
|
ê |
sinq11 |
|
0 |
|
cosq11 |
|
ú |
|
|
|
|
|
|
|
|
|
|
ê |
|
|
0 |
|
|
|
|
|
|||||
|
|
|
|
0 |
|
0 |
|
0 |
|
|
ú |
|
|
|
|
|
|
|
|
|
|
ë |
|
|
|
1û |
|
|
|
|
|
здесь q11 – поворот груза вокруг вертикальной оси грузового каната относительно стрелы крана.
Формируется матрица перехода из локальной системы координат груза в инерциальную систему координат:
244

Для каждой точки ig [1; cг] выполняется проверка условия превышения ее вертикальной координаты над соответствующей вертикальной координатой полидистантной поверхности препятствий с теми же координатами xig, zig:
yig≥YЭ(xig, zig). (4.191)
Блок-схема алгоритма проверки выполнения условия непересечения подвижных звеньев ГПК и груза с полидистантной поверхностью препятствий [YЭ] приведена на рис. 4.31. Данный алгоритм многократно используется как составная функциональная часть общего алгоритма ВДК. Выходным параметром алгоритма проверки пересечений является переменная Cross, принимающая значения 0 (отсутствие пересечений) и 1 (присутствие пересечений).
Кроме того, по методике раздела 4.4 выполняется проверка сгенерированной в пространстве конфигураций точки p по ограничению на устойчивость. В зависимости от результатов проверки переменная Opr принимает значение 0 (конфигурация устойчива) либо 1 (конфигурация не устойчива).
При выполнении условий (4.170), (4.173) и (4.191), а также ограничения на устойчивость (Opr=0) значение p увеличивается на 1, в противном случае генерация отдельной точки по (4.183), (4.184) повторяется.
Первая (p=1) и последняя (p=ng) точки траектории будут совпадать с начальной и конечной заданными точками:
s1=sнач=(qn7, qn8, qn9, qn10); sng=sкон=(qk7, qk8, qk9, qk10). (4.192)
7.6. Формируется матрица весов дуг N=[Li1,j1]ing1, j1=1. Выполняется
проверка видимости между текущей точкой si1 {Sr} и всеми прочими точками из множества sj1 {Sr}. Для этого используются два вложенных цикла: внешний i1 [1; ng] и внутренний j1 [1; ng]. Для каждого сочетания значений i1 и j1 для промежуточных точек осуществляется проверка выполнения условий (4.170), (4.173) и (4.191) при помощи рекурсивного алгоритма деления отрезка по методике, изложенной в разделе 3.8. При невыполнении данных условий для любой промежуточной точки вес дуги (si1,sj1) принимается равным бесконечно большому значению:
Li1,j1=∞. (4.193)
246

В случае выполнения данных условий вес дуги Li1,j1 вычисляют по выражениям T (4.4), Ae (4.5) или C (4.6) целевой функции.
7.7. Осуществляется поиск кратчайшего пути между двумя вершинами графа (sнач и sкон) при помощи алгоритма Дейкстры [216]. Результатом поиска является оптимальная траектория S с минимальным значением целевой функции, представляющая собой последователь-
ность из нескольких вершин графа дорожной карты Gr: S={sp}snp=1.
7.8. Осуществляется линейная интерполяция найденной траектории с равномерным ее разбиением на nЛ отрезков для последующей локальной оптимизации. Для этого для заданных значений шагов дискретизации всех управляемых координат ( q7, q8, q9, q10) в цикле p [2; sn] по методу «Манхеттен» [74] подсчитывается количе-
ство отрезков на каждой дуге найденной траектории {sp} snp=1, которое сохраняется в векторе no:
no(p–1)=(|q7(p)–q7(p–1)|)/ q7+(|q8(p)–q8(p–1)|)/ q8+ |
|
+(|q9(p)–q9(p–1)|)/ q9+(|q10(p)–q10(p–1)|)/ q10. |
(4.194) |
Подсчитывается коэффициент масштабирования knл как отношение требуемого количества отрезков траектории nЛ к общему для всей найденной траектории количеству отрезков, равному сумме всех элементов вектора no:
knл = nЛ |
sn |
(4.195) |
å no(p). |
||
|
p=1 |
|
Определяется количество отрезков на каждой дуге траектории, в сумме дающих nЛ отрезков:
no(p) = ëno(p)× knл û, p [1; sn]. |
(4.196) |
Осуществляется линейная интерполяция в no(p) промежуточных точках на каждой дуге p [1; sn] траектории. Под интерполяцией подразумевается вычисление значений каждой из управляемых координат груза в промежутках между узловыми точками найденной траектории, которое выполняется по известному алгоритму [65, 191].
7.9.Выполняется дискретная локальная оптимизация интерполированной траектории S по методике, изложенной в разделе 4.5.
7.10.Определяется уточненное значение целевой функции T, Ae или C оптимизированной траектории S по (4.4), (4.5) или (4.6) соответственно.
247

Пуск |
1 |
|
|
|
2 |
Ввод исходных данных: |
|
|
|
||
|
|
|
|
||
sш=(xш0,yш0,zш0)=(q1,q2,q3);sнач=(xн0,yн0,zн0);sкон=(xк0,yк0,zк0);{ R |
};{ R |
};{ R |
io4 |
}; |
|
|
is |
io3 |
|
|
{ Rig };[YПР];ng;δq7; uш; u8;nЛ; uл;δopt;lзап_г;lзап_в; v7кпред;v8,1;v8,2;v9,1;v9,2;v9,3;
v9,4;q9гран;mГР;mГРгран;v10,1;v10,2;v10,3;v10,4;q8min;q8max;q9min;q9max;q10min;q10max; q7; q8; q9; q10;m1;m2;m3;m4;x2,2;x3,31;y3,32;x3,33;x4,41;y3,42;y4,43;x2,54;α0;cГ1;cГ2; k7,1, k7,2, k8,1, k8,2, k8,3, k8,4, k9,1, k9,2, k10,1, k10,2
|
q6 |
|
3 |
break=1 |
4 |
5 |
Нет |
|
|
|
|
|
|
|
|
break=0 |
|
|
6 |
||||
q6=0; q6≤360°; |
|
|
|
|
|
|
|
||||
|
|
|
|
Да |
Вывод сообщения |
||||||
q6=q6+ uш |
|
|
|
|
|
||||||
|
|
|
7 |
|
об отсутствии тра- |
||||||
|
|
|
|
|
|
|
|||||
é– cosq6 |
0 |
−sin q6 |
q1 ù |
|
|
|
ектории |
8 |
|||
|
|
|
|
|
|||||||
ê |
0 |
1 |
0 |
|
q2 ú |
|
|
9 |
|
Останов |
|
T1= ê sin q6 |
0 |
cosq6 |
q3 ú |
|
Определение |
|
|
|
|||
ë 0 |
0 |
0 |
|
1 û |
[qn7]; [qn8В; qn8Н]; [qn9В; qn9Н]; [qn10В; qn10Н] – |
||||||
|
|
|
10 |
|
|
для начальной точки; |
|
|
|||
break1=0 |
|
|
[qk7]; [qk8В; qk8Н]; [qk9В; qk9Н]; [qk10В; qk10Н] – |
||||||||
|
|
|
|||||||||
|
|
|
для конечной точки |
|
|
||||||
|
|
|
11 |
|
|
|
|
||||
|
is |
|
|
|
по методике раздела 4.3 |
|
|
||||
|
|
|
|
|
|
12 |
|||||
is=1; is≤cs; |
|
|
|
|
|
|
|
|
|||
is=is+1 |
|
13 |
|
Построение полидистантной поверхности [YЭ] |
|||||||
|
|
вокруг реальной поверхности препятствий |
|||||||||
|
|
|
|
||||||||
R |
= T × R |
|
|
|
[YПР] по методике раздела 3.3 [94, 102] |
||||||
is,0 |
1 |
is |
|
|
|
|
|
|
|
|
|
|
|
|
14 |
Да |
|
iq 8 max |
= ë(q n 8 B − |
q n 8 N ) |
u |
8 û |
15 |
|
|
|
|
|
|||||||
yis0≥YПР(xis0, zis0) |
|
|
|
iq8 |
|
17 |
|
|
|||
Нет |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
16 |
|
|
|
iq8=1; iq8≤iq8max |
|
|
|
||
break1=1 |
|
|
|
|
|
|
|||||
|
|
|
|
iq8= iq8+1 |
|
19 |
|
||||
|
|
|
|
|
|
|
|
|
|||
|
|
|
18 |
|
|
|
|
|
|
||
|
|
|
|
qn8=qn8N+(iq8–1)∙ u8 |
|
20 |
|||||
|
is |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Формирование матриц A2,A3,A4 по (4.164), (4.165) |
||||||
|
|
|
|
|
|
||||||
break1=0 |
|
21 |
Нет |
|
T3=A1∙A2∙A3; |
T4=T3∙A4 |
22 |
|
|||
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
24 |
|
|
||
Да |
|
|
23 |
|
|
|
Cross(iq8)=0 |
|
|
||
|
|
|
|
|
|
|
|
||||
break=0 |
|
|
|
|
io3 |
25 |
|
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
|
io3=1; io3≤co3; |
|
|
|
||
|
q6 |
|
|
|
|
|
io3=io3+1 |
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
Rio3,0 = T3 × Rio3 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
Рис. 4.32. Блок-схема модифицированного алгоритма ВДК поиска траектории перемещения груза в пространстве конфигураций ГПК (начало)
248

iq8 |
28 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
|
|||
iq8=1; iq8≤iq8max |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|||
iq8= iq8+1 |
29 |
|
|
|
|
|
|
|
yio3≥YЭ(xio3, zio3) |
|
||||||
|
|
|
|
|
|
|
32 |
|||||||||
qk8=qk8N+(iq8–1)∙ u8 |
|
|
|
|
|
|
30 |
|
|
Нет |
|
|
||||
|
|
|
|
|
|
|
|
|
|
Cross(iq8)=1 |
|
|
|
|||
Формирование матриц A2, A3, A4 по (4.164), (4.165) |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
||||||||
T3=A1∙A2∙A3; |
T4=T3∙A4 |
33 |
|
|
|
|
|
|
|
|
|
|
35 |
|||
|
|
|
|
|
|
|
|
|
io3 |
|
|
|
|
|||
Cross(iq8)=0 |
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
io3 |
36 |
|
|
|
|
|
|
|
|
|
|
io4 |
|
39 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
io3=1; io3≤co3; |
|
|
|
|
|
|
|
|
|
|
io4=1; io4≤co4; |
|
|
|
||
io3=io3+1 |
|
|
38 |
|
|
|
|
|
|
|
io4=io4+1 |
|
|
40 |
||
37 |
|
|
Нет |
|
|
|
|
|
|
|
|
|||||
|
|
41 |
|
Rio4,0 = T4 × Rio4 |
|
|
|
|||||||||
Rio3,0 = T3 × Rio3 |
yio3≥YЭ(xio3, zio3) |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|||||||||
42 |
Да |
|
|
Cross(iq8)=1 |
|
|
|
45 |
Да |
|||||||
|
|
|
|
|
|
|
|
|
|
yio4≥YЭ(xio4, zio4) |
|
|||||
|
|
|
|
|
43 |
|
|
|
|
|
|
|||||
io3 |
|
io4 |
|
|
|
|
|
|
|
Нет |
|
46 |
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
io4=1; io4≤co4; |
|
|
|
|
|
|
Cross(iq8)=1 |
|
|
|
|||||
|
io4=io4+1 |
|
44 |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
47 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Rio4,0 = T4 × Rio4 |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
io4 |
|
|
|
|
||||
|
|
|
|
48 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Да |
|
|
|
|
|
|
|
|
|
||
|
yio4≥YЭ(xio4, zio4) |
|
|
|
|
|
|
|
|
51 |
||||||
|
Нет |
|
|
|
49 |
|
|
|
Cross(iq8)=0 |
|
|
Нет |
||||
|
Cross(iq8)=1 |
|
|
|
|
|
|
Cross(iq8–1)=1 |
|
|
|
|||||
|
|
|
|
|
|
50 |
|
|
|
|
Да |
|
|
|
52 |
|
|
|
io4 |
|
|
|
|
|
|
|
qn8Н=q8(iq8);qn9Н=q9(iq8); |
||||||
|
|
|
|
|
|
|
|
|
|
qn10Н=q10(iq8) |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
53 |
Нет |
|
|
|
|
|
|
|
|
54 |
|
|
Cross(iq8)=0 |
|
|
|
|
iq8 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Cross(iq8–1)=1 |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
55 |
|
|
|
|
|
|
|
|
56 |
qk8Н=q8(iq8);qk9Н=q9(iq8); |
|
|
|
|
|
|
|
|
||||||||
|
qk10Н=q10(iq8) |
|
|
|
|
|
|
dq7=δq7–(|qk7–qn7|/2) |
||||||||
58 |
|
|
|
|
|
|
= ì[(qn7 - dq7 );(qk 7 + dq7 )] |
|
|
|
57 |
|||||
iq8 |
[q |
|
; q |
|
] |
при qn7 £ qk 7; |
||||||||||
|
nд7 |
|
kд7 |
|
í[(q |
n7 |
+ dq |
);(q |
- dq )] |
при q |
n7 |
|
> q |
|||
|
|
|
|
|
|
|
î |
|
7 |
k 7 |
7 |
|
|
k 7 |
||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
Рис. 4.32. Блок-схема модифицированного алгоритма ВДК поиска траектории перемещения груза в пространстве конфигураций ГПК (продолжение)
249