Материал: 2426

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Заданы линейные и угловые координаты груза в начальной 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') заданы в некоторой прямоугольной системе координат O00'Y0'Z0', для которой выполняется допущение № 2 и не выполняется допущение № 3 (3.2). В этом случае исходные данные не полностью удовлетворяют условиям представления данной задачи. Необходимо осуществить перенос имеющихся исходных данных (координат дискретных точек), например полученных при решении других задач, в систему координат O0Х0Y0Z0, удовлетворяющую (3.2). Для этого необходимо использовать центроаффинное преобразование систем координат [122].

Преобразование системы координат O00'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. Центроаффинное преобразование системы координат O00'Y0'Z0' (вид сверху, навстречу оси Y0')

66

Пусть имеются точки начала и цели (конца) перемещения условного центра груза с линейными коорди-

натами [xн0' yн0' zн0'] и [xк0' yк0' zк0'] соответственно, задан-

ные в некоторой исходной системе координат

O00'Y0'Z0' (рис. 3.2). Пере-

ход от исходной O00'Y0'Z0'

к преобразованной O0Х0Y0Z0 системе координат будет

осуществляться поворотом вокруг вертикальной оси Y0'.

Угол поворота α' будет равен

α'=atn((xк0'–xн0')/(zк0'–zн0')). (3.3)

Точка с координатами x', y', z' в исходной системе координат O00'Y0'Z0' будет иметь в преобразованной системе координат O0Х0Y0Z0 следующие значения координат:

x=x'∙cos(α')–z'∙sin(α'); z= x'∙sin(α')+z'∙cos(α'); y=y'. (3.4)

Подобным образом необходимо получить значения координат в преобразованной системе X0Y0Z0 для всех точек поверхности препятствий. Затем в преобразованной системе координат необходимо сформировать ту же поверхность, но уже на новой равномерной дискретной сетке X0Y0 с заданным шагом

l=(xк0xн0)/imax,

(3.5)

где imax – количество разбиений траектории на кусочно-линейные участки.

Для этого используется известный способ двухмерной табличной линейной интерполяции [65, 191, 193]. Интерполяция позволяет найти вертикальные координаты промежуточных точек вблизи расположенных в пространстве узловых точек поверхности YПР(x,z).

Возникает также задача преобразования двух угловых координат груза γ' и ω' (углов поворота груза вокруг собственных осей Хg, Yg соответственно), предварительно заданных в системе координат O00'Y0'Z0', в аналогичные угловые координаты γ и ω в преобразованной системе координат X0Y0Z0.

Используя метод однородных координат [12, 127], сочетание двух угловых поворотов груза на углы γ' и ω' вокруг собственных осей координат OgХgYgZg можно представить в виде матрицы Aτ' размером 4×4. Матрица Aτ' определяется в результате определенной последовательности перемножения матриц поворота системы координат груза OgХgYgZg вокруг соответствующих осей собственной системы координат, начальные направления которых совпадают с направлениями осей системы координат O00'Y0'Z0':

Aτ'=Aγ'Aω',

(3.6)

где Aγ', Aω' – матрицы поворота вокруг осей Хg и Yg соответственно, имеющие следующий вид [45, 127]:

67

é1

0

 

0

0ù

 

écosω'

0

− sin ω'

0ù

 

ê

cosγ'

 

sin γ'

ú

 

ê

 

 

 

 

 

 

 

ú

 

'= ê0

 

0ú;

'=

ê

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

û

 

 

В то же время матрица поворотов на углы γ и ω в системе координат 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 могут быть перенесены в систему координат O00'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к0xн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