Параметризованную кривую R(t) будем называть сплайн-кривой на
поверхности сферы S3, которая сглаживает угол в ориентации P2 .
Предлагаемое решение этой проблемы, которое рассматривается в дальнейших разделах, базируется на сглаживании дуг больших окружно-
стей сферы S3, которые соединяют точку Q1 с точкой P2 и точку P2 с
точкой Q2.
Здесь следует заметить, что выбор ориентаций Q1 и Q2 зависит от
различных кинематических или геометрических требований к сглаживающей сплайн-кривой R(t). Например, ориентации Q1 и Q2 могут быть
выбраны настолько близко к ориентации P2, насколько это позволяют кинематические и динамические характеристики робота-манипулятора.
9.6. Построение дуг больших окружностей по ориентациям
Рассмотрим две различные ориентации P1 и P2 , которые заданы ортогональными матрицами. Определим дугу большой окружности на единичной сфере S3 , которая соединяет ориентацию P1 с ориентацией P2.
Для этого определим ортогональную матрицу R, которая удовлетворяет следующему условию:
RP1 = P2.
Найдем из этого уравнения матрицу R, получим
R = P2 P1T .
Ортогональная матрица R описывает некоторый поворот R(n,ϕ), ось n и
угол ϕ которого могут быть найдены при помощи формул (3.12)−(3.16). Используя полученную матрицу поворота R(n,ϕ), определим парамет-
ризованную кривую
P(u) = R(n,uϕ)P1
для u [0, 1]. Очевидно, что параметризованная кривая P(u) имеет следующие граничные точки:
P(0) = P1, P(1) = P2 ,
т. е. параметризованная кривая P(u) соединяет ориентацию P1 с ориентацией P2. Учитывая результаты, полученные в разделе 6.5, делаем заключение, что параметризованная кривая P(u) описывает дугу большой
окружности на единичной сфере S3. Эта окружность определяется как пересечение единичной сферы S3 и двух гиперплоскостей
w p = 0, u p = 0,
где векторы w и u заданы следующим образом:
w =[1 0 0 0], u =[0 n1 n2 n3 ].
Таким образом, определенная параметризованная кривая P(u) опи-
сывает дугу большой окружности ориентаций на единичной сфере S3 между точками P1 и P2.
На рис. 9.6 показан пример дуги большой ориентационной окружности, построенной с использованием приведенной формулы.
Рис. 9.6. Дуга большой ориентационной окружности
9.7. Сглаживание ориентационных дуг
Возьмем три различные ориентации, которые описаны ортогональными матрицами P1, P2 и P3. Рассмотрим две дуги окружностей ориентаций
P(u) = R(m,uϕ)P1 |
(9.21) |
для u [0, 1] и |
|
Q(u) = R(n,uψ)P2 |
(9.22) |
для u [0, 1], которые имеют следующие граничные ориентации: |
|
P(0) = P1, P(1) = Q(0) = P2 , Q(1) = P3. |
(9.23) |
Из этих равенств видно, что дуги окружностей P(u) и Q(u) соединяют ориентацию P1 с ориентацией P2 и ориентацию P2 с ориентацией P3 соответственно. В общем случае дуги ориентационных окружностей P(u) и Q(u) образуют угол в точке P2. Проблема состоит в том, чтобы построить ориентационную кривую R(u), которая удовлетворяет следующим граничным условиям:
R(0) = P1, |
R(1) = P3, |
(9.24) |
R(k ) (0) = P(k ) (0), |
R(k ) (1) = Q(k ) (1) |
(9.25) |
для k {1, 2, ..., n}, где n N. Параметризованная кривая R(u) будет назы-
ваться параметризованной кривой, сглаживающей параметризованные кри-
вые P(u) и Q(u) или просто сглаживающей параметризованной кривой.
Для того чтобы построить сглаживающую параметризованную кривую R(u), переопределим дугу ориентационной окружности P(u) сле-
дующим образом:
P(u) = R(m,(u −1)ϕ)P2 ,
где u [0, 1]. Теперь, используя сглаживающие полиномы wn (u), которые были определены в разделе 7.5, определим параметризованную кривую
R(u) = R(n, wn (u)uψ)R(m,(1− wn (u))(u −1)ϕ)P2, |
(9.26) |
где u [0, 1]. Покажем, что эта параметризованная кривая удовлетворяет
граничным условиям, заданным равенствами (9.24) и (9.25).
Теорема 1. Параметризованная кривая, заданная формулой (9.26), удовлетворяет граничным условиям, заданным равенствами (9.24) и (9.25).
Доказательство. Из определения параметризованной кривой R(u) следует, что
R(0) = R(n,0)R(m,−ϕ)P2 = R(m,−ϕ)P2 = P1, R(1) = R(n,ψ)R(m,0)P2 = R(n,ψ)P2 = P3.
Значит, граничные условия (9.24) выполняются.
Теперь покажем, что также выполняются граничные условия (9.25). Для этого найдем значения параметрических производных кривой R(u)
в граничных точках. Используя теорему из раздела 7.8, получим
(R(n, wn (u)uψ)R(−m,(1− wn (u))(1−u)ϕ))(k ) (0) = R(k ) (−m,(1−u)ϕ))(0), (R(n, wn (u)uψ)R(−m,(1− wn (u))(u −1)ϕ))(k ) (1) = R(k ) (n,uψ)(1)
для k {1, 2, ..., n}, где n N. Отсюда следует, что
R(k ) (0) = (R(n, wn (u)uψ)R(−m,(1− wn (u))(1−u)ϕ))(k ) (0)P2 =
= (R(−m,uϕ))(k ) (0)P2 = P(k ) (0)
и аналогично
R(k ) (1) = (R(n, wn (u)uψ)R(m,(1− wn (u))(1−u)ϕ))(k ) (1)P2 =
= (R(n,uψ))(k ) (1)P2 = R(k ) (1)
для k {1, 2, ..., n}, где n N. Таким образом, граничные условия (9.25)
также выполняются. Теорема доказана.
Очевидно, что ортогональные повороты являются автоморфизмами сферы S3. Поэтому важно, чтобы кривые, моделируемые на поверхности сферы S3, были инвариантны относительно выбора ортогональных систем координат. В следующей теореме доказано, что параметризованная кривая R(u) удовлетворяет этому требованию.
Теорема 2. Ориентационная параметризованная кривая R(u), опре-
деленная равенством (9.26), инвариантна относительно поворотов ортогональной системы координат с центром в фиксированной точке про-
странства E3.
Доказательство. Рассмотрим евклидово аффинное пространство E3
и зафиксируем в нем некоторую точку. Выберем в пространстве E3 произвольную ортогональную систему координат с центром в этой точке. Обозначим через R ортогональную матрицу перехода к новой системе координат с центром в этой же фиксированной точке. Для краткости изложения введем следующие обозначения:
R−(u) = R(m,(1− wk (u))(u −1)ϕ), R+(u) = R(n, wk (u)uψ).
Тогда ориентация P2 и матрицы ортогональных поворотов R−(u) и R+(u)
преобразуются при переходе к новой системе координат следующим образом:
R2 = R−1R2R,
R−(u) = R−1R−(u)R, R+(u) = R−1R+(u)R.
Используя эти равенства, координатное представление параметризованной ориентационной кривой R(u), определенной равенством (9.26), пре-
образуется при переходе к новой системе координат следующим образом:
R−1R(u)R = R−1R+(u)R−(u)P2 R = = R−1R+(u)RR−1R−(u)RR−1P2R = = R+(u)R−(u)P2 = R(u).
Отсюда следует, что параметризованная ориентационная кривая R(u),
которая определена относительно новой системы координат, может быть получена из исходной параметризованной ориентационной кривой R(u)
посредством того же поворота R. Теорема доказана.
Рис. 9.7. Угол между ориентационными |
Рис. 9.8. Угол между ориентационными |
дугами с осями ориентаций |
дугами без осей ориентаций |
Рис. 9.9. Сглаживание угла между дугами ориентационных окружностей
На рис. 9.7 и 9.8 показан один и тот же угол между дугами ориентационных окружностей, который в дальнейшем сглаживается. На рис. 9.9 показан пример сглаживания угла между дугами ориентационных окружностей.
9.8. Сглаживание углов ориентационной ломаной линии
Теперь приведем детальное описание алгоритма построения параметризованной кривой R(t) Cn на поверхности сферы S3, которая сглаживает угол в ориентации P2, образованный дугами больших окружностей. Для этой цели введем следующие обозначения. Пусть Ri (t), где i {1, 2, 3}, описывает i-й сегмент сглаживающей сплайн-кривой R(t).
Тогда проблема сглаживания угла в точке стыковки дуг больших ориентационных окружностей может бытьрешена по следующемуалгоритму.
Шаг 1. Выполняем следующие вычисления:
1. Определяем ось m и угол поворота ϕ1 из ортогональной матрицы
R(m,ϕ ) = Q P−1, |
|
1 |
1 |
1 |
|
используя для этого формулы (3.12)–(3.16). |
|
2. Генерируем параметризованную кривую |
|
R1(t) = R(m,u(t)ϕ1)P1, |
(9.27) |
где |
|
|
|
u(t) = t −t1 t2 −t1
для t [t1,t2 ].
Здесь узлы t1 и t2 могут быть выбраны, принимая во внимание неко-
торые кинематические или геометрические требования. Видно, что в этом случае параметризованная ориентационная кривая R1(t) имеет следующие граничные точки:
R1(t1) = R(m,u(t1)ϕ1)P1 = R(m,0)P1 = P1, R1(t2 ) = R(m,u(t2 )ϕ1)P1 = R(m,ϕ1)P1 = Q1.
Шаг 2. Выполняем следующие вычисления:
1. Определяем оси m, n и углы поворотов ϕ2 , ψ1 из ортогональных матриц
R(m,ϕ2 ) = P2Q1−1, R(n,ψ1) = Q2 P2−1,
используя для этого формулы (3.12)–(3.16).
2. После этого в соответствии с формулой (9.26) генерируем параметризованную кривую
R2 (t) = R(n,wn (u(t))u(t)ψ1)R(m,(1− wn (u(t)))(u(t) −1)ϕ2 )Q1, (9.28)
где
u(t) = t −t2 t3 −t2
для t [t2 ,t3 ].
Здесь wn (u) обозначают сглаживающие полиномы, которые были оп-
ределены в разделе 7.5. Значение индекса n должно соответствовать требуемой степени непрерывности составной кривой. Для того чтобы обеспечить параметрическую непрерывность составной кривой R(t) в ориен-
тации Q1 значение узла t3 определяется из условия
t3 = t2 + (t2ϕ−t1) ϕ2. 1
Очевидно, что в этом случае параметризованная кривая R2 (t) имеет следующие граничные ориентации:
R2 (t2 ) = R(n,0)R(−m,ϕ2 )Q1 = R(−m,ϕ2 )Q1 = Q1, R2 (t3) = R(n,ψ1)R(−m,0)Q1 = R(n,ψ1)Q1 = Q2.
Шаг 3. Выполняем следующие вычисления:
1. Определяем ось n и угол поворота ψ2 из ортогональной матрицы
R(n,ψ |
2 |
) = P Q−1, |
|
|
3 |
2 |
|
используя для этого формулы (3.12)–(3.16). |
|
2. Генерируем параметризованную кривую |
|
R3 (t) = R(n,u(t)ψ2 )Q2 , |
(9.29) |
где |
|
|
|
|
u(t) = t −t3 t4 −t3
для t [t3,t4 ].
Для того чтобы обеспечить параметрическую непрерывность составной кривой R(t) в ориентации Q2 , значение узла t4 определяется из ус-
ловия
t4 = t3 + (t3ψ−t2 ) ψ2. 1
Очевидно, что в этом случае параметризованная кривая R3 (t) имеет следующие граничные точки:
R3 (t3) = R(n,u(t3)ψ2 )Q2 = R(n,0)Q2 = Q2, R3 (t4 ) = R(n,u(t4 )ψ2 )Q2 = R(n,ψ2 )Q2 = P3.
Тогда параметризованная кривая R(t) при t [t1, t4 ] может быть определена следующим образом:
R(t) = Ri (t),
где t [ti ,ti+1] для i {1, 2, 3}. Очевидно, что определенная таким образом параметризованная кривая R(t), имеет следующие свойства:
1.Из равенств (9.27)–(9.29) следует, что параметризованные кривые Ri (t) проходят через ориентации P1 , Q1 , Q2 и P3 .
2.Из теоремы 1, доказанной в разделе 9.7, следует, что параметризованная кривая R(t) имеет n-ю степень непрерывности, т. е. R(t) Cn.
3.Кроме того, из теоремы 2, доказанной в разделе 9.7, следует, что параметризованная кривая R(t) инвариантна относительно перехода ме-
жду ортонормальными системами координат с центром в сфере S3 . Следовательно, параметризованная кривая R(t) удовлетворяет всем
сформулированным в разделе 9.5 требованиям.