|
|
|
|
|
|
|
|
Пуск |
|
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