та груза. Данное сочетание координат, рассмотренное в качестве примера, описывает довольно распространенный частный случай положения груза в форме тела вращения. Рассмотрение пяти из шести обобщенных координат груза позволило уменьшить размерность массивов числовых данных и объем вычислительных экспериментов, не меняя принципиальной сути полнофакторной задачи, и сократить таким образом общее время расчетов. Все предложенные методики могут быть модифицированы и для нахождения оптимальной траектории груза, положение которого описывается шестью обобщенными координатами после соответствующего изменения, в частности увеличения размерности используемых массивов и количества вложенных циклов.
Заданы линейные и угловые координаты груза в начальной sнач и конечной sкон точках траектории груза в пространстве (рис. 3.1):
sнач = [xн0; yн0; zн0; γн0; ωн0]; sкон = [xк0; yк0; zк0; γк0; ωк0], |
(3.1) |
где xн0, yн0, zн0 – линейные координаты точки начала локальной системы координат груза OgХgYgZg в неподвижной системе координат O0Х0Y0Z0, связанной с рабочей областью перемещений, соответствующие начальному положению груза;
xк0, yк0, zк0 – линейные |
Препятствия |
Начальная |
|
|||
координаты, |
соответст- |
Конечная |
|
|
||
вующие конечному по- |
точка sкон |
|
точка sнач |
|
||
|
(xн0, yн0, zн0, |
|
||||
ложению груза; γн0, ωн0 |
(xк0, yк0, zк0, |
|
|
|||
γк0, ωк0) |
L* |
γн0, ωн0) |
Yg |
|||
– координаты |
углов |
Yg Xg |
|
|||
поворота груза |
вокруг |
|
|
Zg |
||
осей Хg, Yg в начальной |
Zg |
|
|
Og |
||
точке; γк0, ωк0 – угловые |
Og |
|
Xg |
|
||
координаты, |
соответст- |
|
|
|
|
|
вующие конечному по- |
|
|
Y0 |
|
||
ложению груза в про- |
|
|
X0 |
Z0 |
||
странстве. |
Линейные |
|
|
O0 |
||
координаты |
заданы в |
Рис. 3.1. Начальное и конечное положения |
||||
условных |
линейных |
перемещаемого груза (пример) |
|
|||
единицах (УЛЕ), угло-
вые – в радианах. Исходные направления осей Хg, Yg и Zg для отсчета углов поворота γ и ω во всех точках траектории груза совпадают с направлениями осей Х0, Y0 и Z0 соответственно.
Ось X0 неподвижной системы координат согласно принятому допущению № 3 направлена параллельно линии, соединяющей две точ-
65
ки в пространстве: начальную sнач и конечную sкон точки траектории (линейные координаты условного центра груза), что формализуется условием
zн0=zк0. (3.2)
Как показали исследования, это позволяет упростить расчет и значительно уменьшить объем вычислений для большинства предлагаемых методик.
Предварительная обработка исходных данных в случае их неполного соответствия условиям задачи. Рассмотрим возможный расчет-
ный случай, когда начальная и конечная точки положения условного центра груза, а также исходная поверхность препятствий Y'ПР(x',z') заданы в некоторой прямоугольной системе координат O0'Х0'Y0'Z0', для которой выполняется допущение № 2 и не выполняется допущение № 3 (3.2). В этом случае исходные данные не полностью удовлетворяют условиям представления данной задачи. Необходимо осуществить перенос имеющихся исходных данных (координат дискретных точек), например полученных при решении других задач, в систему координат O0Х0Y0Z0, удовлетворяющую (3.2). Для этого необходимо использовать центроаффинное преобразование систем координат [122].
Преобразование системы координат O0'Х0'Y0'Z0', в которой описывается поверхность препятствий, с целью расположения начальной и конечной точек вдоль одной из осей координат (центроаффинное преобразование) выполняется по зависимостям, полученным с использованием метода однородных координат, после их упрощения
[122, 127].
|
|
xн0' |
|
|
[xн0' yн0' zн0'] |
|
|
|
|
|
|
|
Y0=Y0' |
|
|
xк0' |
X0' |
|
|
|
|
||
zк0' |
zн0' |
|
|
|
α' |
|
|
|
|||
|
|
|
|
||
|
|
xн0 |
|
|
X0 |
|
|
|
|
|
|
|
|
|
xк0 |
[xк0' yк0' zк0'] |
|
|
|
|
|
||
Z0 Z0'
Рис. 3.2. Центроаффинное преобразование системы координат O0'Х0'Y0'Z0' (вид сверху, навстречу оси Y0')
66
Пусть имеются точки начала и цели (конца) перемещения условного центра груза с линейными коорди-
натами [xн0' yн0' zн0'] и [xк0' yк0' zк0'] соответственно, задан-
ные в некоторой исходной системе координат
O0'Х0'Y0'Z0' (рис. 3.2). Пере-
ход от исходной O0'Х0'Y0'Z0'
к преобразованной O0Х0Y0Z0 системе координат будет
осуществляться поворотом вокруг вертикальной оси Y0'.
Угол поворота α' будет равен
α'=atn((xк0'–xн0')/(zк0'–zн0')). (3.3)
Точка с координатами x', y', z' в исходной системе координат O0'Х0'Y0'Z0' будет иметь в преобразованной системе координат O0Х0Y0Z0 следующие значения координат:
x=x'∙cos(α')–z'∙sin(α'); z= x'∙sin(α')+z'∙cos(α'); y=y'. (3.4)
Подобным образом необходимо получить значения координат в преобразованной системе X0Y0Z0 для всех точек поверхности препятствий. Затем в преобразованной системе координат необходимо сформировать ту же поверхность, но уже на новой равномерной дискретной сетке X0Y0 с заданным шагом
l=(xк0–xн0)/imax, |
(3.5) |
где imax – количество разбиений траектории на кусочно-линейные участки.
Для этого используется известный способ двухмерной табличной линейной интерполяции [65, 191, 193]. Интерполяция позволяет найти вертикальные координаты промежуточных точек вблизи расположенных в пространстве узловых точек поверхности YПР(x,z).
Возникает также задача преобразования двух угловых координат груза γ' и ω' (углов поворота груза вокруг собственных осей Хg, Yg соответственно), предварительно заданных в системе координат O0'Х0'Y0'Z0', в аналогичные угловые координаты γ и ω в преобразованной системе координат X0Y0Z0.
Используя метод однородных координат [12, 127], сочетание двух угловых поворотов груза на углы γ' и ω' вокруг собственных осей координат OgХgYgZg можно представить в виде матрицы Aτ' размером 4×4. Матрица Aτ' определяется в результате определенной последовательности перемножения матриц поворота системы координат груза OgХgYgZg вокруг соответствующих осей собственной системы координат, начальные направления которых совпадают с направлениями осей системы координат O0'Х0'Y0'Z0':
Aτ'=Aγ'∙Aω', |
(3.6) |
где Aγ', Aω' – матрицы поворота вокруг осей Хg и Yg соответственно, имеющие следующий вид [45, 127]:
67
é1 |
0 |
|
0 |
0ù |
|
écosω' |
0 |
− sin ω' |
0ù |
|
|||||
ê |
cosγ' |
|
sin γ' |
ú |
|
ê |
|
|
|
|
|
|
|
ú |
|
Aγ'= ê0 |
|
0ú; |
Aω'= |
ê |
0 |
1 |
0 |
|
|
0ú. |
(3.7) |
||||
ê |
- sin γ' |
cosγ' |
ú |
|
ê |
|
0 |
cosω' |
ú |
|
|||||
ê0 |
0ú |
|
êsin ω' |
0ú |
|
||||||||||
ë0 |
0 |
|
0 |
1û |
|
ë |
0 |
0 |
0 |
|
|
1û |
|
||
Отсюда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
é |
cosω' |
|
0 |
|
- sinω' |
|
|
0ù |
|
|
|||
|
|
|
|
|
|
|
|||||||||
|
|
ê |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sinω'×sinγ ' |
cosγ ' |
|
cosω'×sinγ ' |
|
0 |
ú |
|
|
|||||
|
Aτ '= |
ê |
|
|
ú . |
|
(3.8) |
||||||||
|
sinω'×cosγ ' |
- sinγ ' |
cosω'×cosγ ' |
|
|
|
|||||||||
|
|
ê |
|
ú |
|
|
|||||||||
|
|
ê |
|
0 |
ú |
|
|
||||||||
|
|
ë |
0 |
|
0 |
|
|
0 |
|
|
1 |
û |
|
|
|
В то же время матрица поворотов Aτ на углы γ и ω в системе координат O0X0Y0Z0 может быть получена по тем же зависимостям подстановкой в выражения (3.7), (3.8) значений γ и ω вместо γ' и ω':
|
|
|
Aτ=Aγ∙Aω. |
|
|
(3.9) |
|
|
xа' |
|
|
Для определения иско- |
|||
|
|
|
мых значений γ и ω предла- |
||||
|
xа |
zаg=1 |
|
||||
|
|
гается |
наиболее |
простой в |
|||
Y0 |
Xg |
|
X0' |
вычислительном |
отношении |
||
zа |
|
|
α' |
способ – использование пре- |
|||
zа' |
|
|
X0 |
образований |
координат век- |
||
|
|
а |
|
тора Rag некоторой точки а |
|||
|
|
|
|||||
|
|
Zg |
|
(рис. |
3.3), |
принадлежащей |
|
|
|
|
звену груза. |
|
|
||
|
|
|
|
|
|
||
Z0 |
Z0' |
|
|
В качестве примера ис- |
|||
|
|
|
|
пользовались |
|
координаты |
|
Рис. 3.3. Определение угловых координат груза γ и ω в системе координат O0Х0Y0Z0 (вид сверху, навстречу оси Y0)
вектора Rag =[xag yag zag 1]T ,
имеющие следующие значения в собственной системе координат груза в УЛЕ:
xаg=0; yаg=0; zаg=1. |
(3.10) |
При известных значениях γ' и ω' координаты вектора Rag могут быть перенесены в систему координат O0'Х0'Y0'Z0':
68
R '= [x |
a |
' |
y |
a |
' |
z |
a |
' |
1]T = Aτ '×R , |
(3.11) |
a |
|
|
|
|
|
ag |
|
а затем с использованием зависимостей (3.3), (3.4) – в систему координат O0Х0Y0Z0. В результате будут найдены численные значения координат вектора, задающего положение точки а в системе O0Х0Y0Z0:
R = [x |
a |
y |
a |
z |
a |
1]T . |
(3.12) |
a |
|
|
|
|
Согласно (3.8) и (3.11), при подстановке в данные выражения γ и ω вместо γ' и ω' и при значениях координат точки а в собственной систем груза по (3.10) получены следующие зависимости:
xa= –sinω; ya= sinγ ∙ cosω; za=cosγ ∙ cosω. |
(3.13) |
Отсюда |
|
ω=–arcsin(xa); γ= arcsin(ya/cosω). |
(3.14) |
Пуск 1
Задание поверхности препятствий Y'ПР(x',z'), начальной и
конечной точек положения груза: (xн0', yн0', zн0', γн0', ωн0') и (xк0', yк0', zк0', γк0', ωк0')
|
|
3 |
|
α'=atn((xn– x1)/(yn– y1)) |
|
||
|
|
||
i=1:imax |
4 |
|
|
5 |
|
||
k=1: kmax |
|
||
6 |
|||
|
|||
x(i)=x'(i)∙cos(α')–z'(j)∙sin(α'); z(j)= x'(i)∙sin(α')+z'(j)∙cos(α'); y=y'
xн0=xн0'∙cos(α')–zн0'∙sin(α'); zн0= xн0'∙sin(α')+zн0'∙cos(α'); yн0=yн0' xк0=xк0'∙cos(α')–zк0'∙sin(α'); zк0= xк0'∙sin(α')+zк0'∙cos(α'); yк0=yк0'
|
8 |
l=(xк0–xн0)/imax |
|
|
9 |
|
2
7
|
|
Двухмерная табличная интерполяция YПР(x,z) |
|
10 |
|
|
|
|
|
||
Вычисление значений γн0, ωн0 по γн0', ωн0', используя выражения |
|
||||
(3.8), (3.11), (3.3), (3.4), (3.14) |
|
|
11 |
||
|
|||||
Вычисление значений γк0, ωк0 по γк0', ωк0', используя выражения |
|||||
(3.8), (3.11), (3.3), (3.4), (3.14) |
|
|
|
||
Вывод результатов: YПР(x, z), |
12 |
|
(xн0, yн0, zн0, γн0, ωн0), (xк0, yк0, zк0, γк0, ωк0) |
|
|
Останов |
13 |
|
Рис. 3.4. Блок-схема алгоритма предварительной обработки исходных данных
69