ЛУКИНОВ Александр Павлович
кандидат технических наук, доцент кафедры «Робототехника и мехатроника» (ФГБОУ ВПО МГТУ «Станкин») e-mail: [email protected]
УДК 621.865.8
Метод решения труднорешаемых задач кинематики многозвенных механизмов
А.П. Лукинов
Рассмотрен новый регулярный метод решения обратной задачи кинематики многозвенных механизмов последовательной структуры, основанный на сканировании пространства параметров многомерных моделей в функциях переменной натурального ряда чисел (номеров).
Ключевые слова: обратная задача кинематики, сканирование в функциях номеров.
Method for solving intractable problems of kinematics of multilink mechanisms
A.P. Lukinov
The article considers a new regular method to solve the inverse problem of kinematics for consecutive structure iterative mechanisms. The method is based on scanning of the multidimensional models space parameters in functions of the natural numbers variable.
Keywords: inverse problem of kinematics, scanning in functions of numbers.
В теории многозвенных механизмов последовательной структуры, в том числе, в робототехнике, существует ряд задач, регулярных символьных решений которых не найдено. К ним относятся, например, решение обратной задачи кинематики (ОЗК) для многозвенных механизмов сериесной (последовательной) структуры (МСС). Не утверждая, что регулярных символьного решений не может быть найдено, будем называть такие задачи труднорешаемыми.
Задачи кинематики в практической и теоретической робототехнике играют важнейшую роль, так как их решение необходимо для построения программных траекторий манипулирования, для оптимизации геометрических параметров многозвенных механизмов, 3D-ани-мации пространственных движений, а также для других приложений.
В данной работе рассмотрен регулярный численный метод решения ОЗК МСС, основанный на сканировании пространства параметров многомерных моделей в функциях переменной натурального ряда чисел (номеров) [1, 2].
Краткие сведения о методе сканирования пространства параметров модели в функциях натурального ряда чисел. Модели объекта Ф„(а)=0,
у=1, 2, ...,¥, отражающие его свойства, рассматриваются как функции вектора изменяемых параметров проектирования или управления
а = (а1, а2, ..., ау, ..., а7)т, аС A,
где ау- —действительная переменная, определенная на промежутке ауд < ау- < ау;2, рассматриваемом как диапазон допустимого изменения параметра (параметрическое ограничение), у =1,2,..., /. Каждая компонента ау представи-ма в виде дискретного подмножества
а/0у) = ау1 + + ^ау(9у—1) < ау;2,
где (1ау- — шаг разбиения ау; 0у- — номер интервала разбиения диапазона значений у'-го параметра (локальная, у-я целочисленная переменная) на дискретные значения, 0у=1, 2, ..., 0у; 0у. — количество дискретных значений у-й локальной переменной (мощность у-го подмножества локальных номеров). Принимаем 0у = йоог[(ау,2 — — ауд)/^ау] при округлении с недостатком, или 0у = ееЩ(ау,2 — ауд)/^ау] при округлении с избытком, где йоог(*) и еей(*) — операции округления до меньшего и большего целого. Определяется также вектор переменных: 0 = (01, 02,..., 0/). Шаг разбиения (сканирования) зависит от условий проектирования, например, от нормального ряда чисел, с учетом разрядности применяемых ЭВМ или разрешающей способности датчиков состояния и т. п. или определяется по теореме отсчетов [3].
Пересечение подмножеств а/0у),у =1,2,., /, выделяет в пространстве параметров A /-мерные элементы с длиной ребер ^ау. Если пронумеровать все эти элементы, то каждому номеру / (глобальная целочисленная переменная): / = 1, 2, ..., I, где I = 0102 ... 0^, можно поставить в соответствие дискретное значение каждого параметра ау[0у(/)] = ау(/) = ау, , = = ауд+^ау[0у(/)—1], вектор а(/) = а/ = [а^/), а2(/), .-, ау(/), ..., а/(/)]т= {ау(/)} и функции (модели объекта) Фу(а;)=Фу(/)=0, у=1, 2, ...,¥, / = = 1, 2, ..., I. При этом, исходная функция становится одномерной, и возможна ее простая визуализация в виде плоских графиков.
Применим также метод дискретизации, когда задается значение 0у, тогда (1ау- = (ау,2 —
- ау,1)/0у.
Установим правило (которое может быть не единственным) назначения глобальных номеров /(0) при заданных номерах 0у:
/(0) = 0!+ 0Х(02 - 1) + 0!02(0з - 1) + ...
+ 0Х02... 0/-1(0/ -1), (1)
называемое, прямой задачей кодирования, у =
= 1,2,..., /, 0у =1,2,., 0/.
Для уравнения (1) решение обратной задачи кодирования существует в рекуррентной форме [1]:
0/0 = ЩмО') - 0уАоог{0у-1[К-1(О --1]},у = 1,2,..., /, / = 1,2,..., I, (2)
где Щ-О = 1 + Аоог{[К-2(/) — 1^Эу-1} Vу= 2, 3, ..., /, иначе / при у = 1; floor(*) — операция округления числа до ближайшего меньшего целого.
Трудоемкость прямой задачи кодирования: операции сложения, Иа-пз =2/ - 2, операции умножения, Мт-пз = /(/- 1)/2.
Трудоемкость обратной задачи кодирования: Ма_03=/(31 + 1) - 1; Ж„-оз = 2/1.
Сканирование пространства действительных параметров применимо к функциям действительного переменного, к функционалам от функций действительного переменного, к функциям, полученным применением операторов к функциям действительного переменного. Среди математических объектов сканирования выделяют: целевые функции (ЦФ) — решающие функции, критерии качества и т. п., Фу(а(), V = 1, 2 , ... , V, операции над которыми приводят к решению поставленной задачи; ограничения на ЦФ, Ф„д < Ф/а(-) < Ф„,2, V = 1, 2 , ... , V; функциональные ограничения, сг1 (ф/а;) < сг,2, г = 1, 2 , ... ,Я. Функциональные ограничения — объективно существующие связи между параметрами, вытекающие из физических, технических, экономических и подобных условий.
К объектам сканирования применимы, следующие типовые операторы и процедуры.
П1. Оператор выделения допустимых номеров, определяемых функциональными ограничениями сг1 < ф/а;) < с,2, г = 1, 2, ..., Я:
Сдоп_ф_; = £>1,£>2,1 — 2Г,( — 2Я,(, , = 1, 2, •••,!, (3)
где С,- = ЩсЛ1 < ф/а,) < сЛ2,1,0), Щху,*) - логическая функция, возвращающая у, если выполняется х, иначе возвращается I. Функция ^ визуализируема как плоский график бинарной функции номеров со значениями 1 или 0.
П2. Оператор выделения допустимых номеров, определяемых ограничениями на ЦФ Фу1 < < Фу(а,) < Фу,2, V =1,2,..., ¥ '
Сдоп ц i Cl,iC2,i Zv,i
(4)
где = < ФЛ«,) < Фу,2,1,0); ,= 1,2, ... ,1.
П3. Оператор выделения допустимых номеров, определяемых всеми ограничениями,
Сдоп_; Сдоп_ф_; Сдоп_ц_; Сдоп_п_(, (5)
где ^доп п , — прочие виды ограничений.
П4. Процедура сжатия области определения целевых функций, т. е. формирования на базе функции Ф(а,) = Ф(0, определенной на всем множестве номеров , е [1,1], функции Ф(ал) = Ф(л), определенной только на номерах, 5 =1,2,..., Е < I, соответствующих только допустимым значениям параметров а,:
Ф(л) = Ф(«,),
где а, = [а^л), а2(л) , — , а/л), — , а/л)]; а/л) = = ау> = ау;1+^ау[9у(/л) — 1]; 4=Д+1-Е — л-й элемент массива Л; Л = 8ог1;(0) — одномерный массив (1x7), полученный сортировкой массива 0: й='Сдоп ,, так, что все ненулевые значения массива 0 сдвинуты вправо; Е = Сдоп_1+ Сдоп_2+ + ...+^доп 1 — количество номеров в функции выделения ^доп ,, не содержащих нули. Эффективность сжатия оценивается коэффициентом сжатия Кс=1/Е.
Процедура сжатия может существенно снизить трудоемкость решения задачи по времени и памяти и ее эффективность зависит от количества и качества используемых ограничений.
П5. Оператор выделения полного множества номеров, в которых существуют экстремумы функции £ = Ф(«г) в области допустимых номеров:
^extr i Imin i + Imax i,
(6)
ГДе Imin i ^Zmin.iZiDonJ, Imax._i iZimax i Сдоп_(, i 1, 2, • • •, I;
Zmin i = if[(f-i > f) П (f <fm),1,0] V i =2, 3, ...,(I-1),
Zmin 1 = if(fl < f2, 1,0), Zmin I = if(fl < fl-1, 1,0), Zmax i = if[(f-1 (f) П (f >f^1),1,0] V (i = 2, 3,...,(I — -1), Zmax.1 = ff (f2,1,0), Zmax.I = ff(f-1,1,0).
П6. Оператор выделения номеров, в которых существуют глобальные экстремумы функции f = Ф(а,) в области допустимых номеров:
(Im
i ^ДОП iZ]
min г ii ^min г i ^ 0;
ГДе Z mi Z
min г i
= if«
Доп i max г i max г
1
Jif (f < fk ,1,0)
k=1
i (0), =1,1,0 t:
(7)
э max г i
,.= if H
2if(f > fk 1,0)
k=1
= 1,1,0 t.
П7. Процедура табличного метода решений систем нелинейных уравнений на интервалах унимодальности. Данная процедура применяется для систем, в которых количество уравнений равно количеству независимых действительных переменных.
Пусть задана система нелинейных алгебраических уравнений:
/ («) = /0,^ = 1,2, —,¥ = /,
где а — вектор действительных ограниченных, ау1 < ау < ау2, у=1, 2, ..., /, переменных размерности / (вектор аргументов), асА, и функции /(а) таковы, что V v=1, 2, ..., ¥=/, /,(«) не содержат аддитивных констант. Требуется найти интервалы на множестве параметров а, на которых /(а) унимодальны.
Схема решения при заданных 0у, ау-!, ау2, У =1,2, — , /.
Процедура подготовки таблицы интервалов решений.
1. Определяем: I = (01+1)(02+1) — (07 + 1); йау = = (ау,2 - ау,!)/0у; К^,) = 1+ Поог{[Ку_2(/) --1]/0у_1| (у = 2,3,..../, иначе , при у = 1;
0у(,) = Ку.-1(,) - 0уПоог{0у-1[ Ку.-1(,) -
- 1]}; ау[0у(,)] = ауд + йау70у(,)-1] = ау,,; а, = = [а! ,,а2 ;-, — ,а/;]т и записываем (а,) = /0у, , = 1,2, ... ,1,у = 1,2,..., /^ =1,2, — ,¥ = /.
2. Посредством процедуры 5 строим функции выделения экстремумов каждой функции Д^Х
С|у Стп_ц/ +Спах_1',/, / 1, 2, ... ,1, ^ 1, 2, У /.
3. Находим: глобальные номера, !ет=/^,,г: Iev*0, содержащие, экстремумы каждой v-й компоненты Д(а,); их количество 1„; значения функций Д(а,) при / = и формируют таблицы значений экстремумов, ДД(а1ет(>^)), ^ =1, 2, ... , 1„, V =1, 2, ..., V = /. Полученная таблица является атрибутом поставленной задачи и позволяет найти интервальные решения для раз-
личных значений Д^, V = 1, 2
V = /.
Поиск интервального решения для заданного вектора ^0=(Д01,Д0,2,.,Д0 К)т, составленного из правых частей системы нелинейных алгебраических уравнений Д(а) = Д0 , V = 1, 2, ... , V, осуществляется программой, например, по следующей схеме. Для каждого значения Д0у, по таблице Д,^ находим ближайшие значения Д[а^(^)]</0^[а^+1)] и соответствующие им значения а1ет(уу) и а1ет(>^+1), ^ =1, 2,..., I- 1. Каждому ж =1, 2,..., IV -1 может соответствовать несколько табличных значений. В этом случае отбираются только пары номеров, такие, что определяемые ими естественные значения параметров присутствуют как результат поиска в каждой таблице ДуНайденные пары компонент вектора параметров а и определяют интервалы существования решения Д(£к) = Д0л,, V = 1, 2,., V = /. Точные решения системы Д(£к) = Дк,, V =1, 2, ... V, лежат в промежутках
Еу',ке [ау',1,к,ау',2,к], у = 1, 2, •••, /, £к = (Е1,к, Е2,к , "•,
Рассмотренная схема поиска не единственна, но обсуждение многочисленных вариантов ее программной реализации выходит за рамки данной статьи.
П8. Процедура метода отыскания решений систем нелинейных уравнений на интервалах унимодальности на основе принципа дихотомии. Пусть задана система нелинейных алгебраических уравнений, удовлетворяющих процедуре П7, и получены интервалы существования решения, [ауу,1,ауу,2]. Требуется найти вектор £ = (Е 1, .-, Еу, .-, действительных переменных, такой, что 8=|н(а)-и0|-100%/|и0|<5доп, где и(а) = = Д1(а),...,Д(а), ..., Д(а),]т; щ= (Д0Л,...,Д0у ,..., / ау, 1 < Еу < ау, 2, у = 1, 2, ..., /.
Схема решения задачи представлена ниже.
1. Полагаем 0j = 0 = 2, вычисляем йау-= = (ау-,2-ау,1)/0, Vу = 1, 2, ... , /. Формируем процедуру кодирования по !=(0+1)/ номерам.
2. Формируем вектор а/у = {ау(/,у)}: ау(/,у) = = у+ауд+^уХО-Щау, где у = 0иД Е — единица младшего разряда применяемой ЭВМ, и ЦФ в виде: •Л/,у)=|и(/,у)-и)|, где и(/,у) = [Д (а;.у), а,,у),...,
Ду(а/;1), "•, Д/(а/,у)]т; и0=(Д0,1, ^0,2,.--, Д0,у,.'-, Д0,/]т.
3. Находим п: /(п,у)=т1п//(/,у) при у = 0, применяя процедуру 6. Если 5 = |и(п,У) -—и0|-100%/|и0| < 5доп, то задача решена, иначе назначаем новые более узкие параметрические ограничения, по правилу: ау1= ЩаД^у) = ауд,ауд, И:[ау(п,у) = ау;2, ауд+йау, И?(с1<с2,ау;1,ау,1+йау)]}, где
= /(п,У) при у = 0; е2 = /(п,у) при у = Е,у =1, 2, ., /, и переходим к 2.
Поясним логику формирования новых границ для каждой итерации.
На рисунке 1 показан ход изменения проекции сечений пространства функции/(ау/) = =/(/,у=0) на интервале унимодальности, в случае, когда изменяется только параметр ау,, при остальных фиксированных параметрах. Отметим, что на интервалах унимодальности множество проекций функция /(/,у) при у = 0 в каждом сечении будет положительной и будет иметь один минимум.
Рис. 1. Схема назначения границ ограничений параметров:
а — минимум явно на первой половине интервала [ау1,ау'2]; б — минимум на второй половине интервала [ап , а. 2]; в — определенности нет, у * 0
Тогда , если ау(п ,у=0)=ау; 1 , то точный минимум проекции /(/,у=0) на у'-ю ось будет лежать
ВШзехэшш] выкшшпх ©аведжшй
между ау-д и ау;1+йау- (рис. 1, а). Если ау(п,у = 0) = = ау,2, то точный минимум проекции /(/,у=0) (при у = 0) будет лежать между ау1+йау и ау,2, (рис. 1, б). Если минимум проекции /(п ,у = = 0) = ау,1 + йау, то минимум может быть как слева, так и справа от точки ау;1+ йау- (рис. 1, в). Для разрешения неопределенности примем у = =Е > 0 и вычислим с2 =/(п, У = Е) и сравним это значение с точкой с1 = /(п,У = 0). Тогда, если с!>с2, то минимум будет лежать между ауд+йау- и ау;2, иначе, минимум будет лежать между ауД и ау;1+йау-.
Возможности метода сканирования в функциях номеров. 1. Решение различных задач проектирования с использованием многомерных функций (сложные расчеты, оптимизация, идентификация, синтез систем и механизмов).
2. Расширение возможностей существующих математических методов.
3. Плоская визуализация многомерных функций.
4. Исследование пространства параметров по частям.
5. Распараллеливание исследования пространства параметров.
6. Моделирование и исследование алгоритмов.
7. Тестирование и проверка «закрытых» программных средств.
Применение метода сканирования к решению ОЗК МСС. Решение ОЗК ищут на найденном регулярным символьным методом решении прямой задачи кинематики (ПЗК), например, методом матриц Денавита —Хартенберга с методикой их формирования, приведенной в книге [4]:
«(О) = Ля) = [и(в)х, и(я)2, ... , и(#)/]т =
= [Д/)]т = №)|ад]т. (8)
Здесь и(о) — объединение векторов Р(о) и £(#) в блочный вектор положения и ориентации (вектор позы); Р(о) = [Рх(о),Ру(о),Рг(о)]т = = [м!(о),м2(о),м3(о)]т — вектор положений системы координат выходного звена (СКВЗ) МСС в базовой системе координат (БСК); О = (дь q2 ,..., / —вектор конфигураций;
Р (о )
Рх (О) Ру (О )
Р (о )
= А (о )
Т(д) Р (д)
(9)
где Ау(ду) — матрица Денавита —Хартенберга для у-го звена, у = 1, 2, — , / < 6; А(о) = = А1(^1)А2(?2) — Ау(#у) — А/(д/);
S(q) = [««), =
Р^+Т^ = Р(о) + =
[«4(о),«5(о),"б(о)]т (10)
— вектор ориентаций СКВЗ в БСК; S_(q) = Т0)5; s = [5х,лу,5г]т — характеристический радиус-вектор, жестко определенный в СКВЗ,
Т (О ) =
Тц (о ) /12(0) 71з(О) Т21(0 ) Т22(0 ) Т23(9 ) /31(0 ) /32(0 ) Тзз(0 ) А(0 )11 А(0 )12 А(0 )13
А (0 )21 А (О )22 А (О )23
А(0 )31 А(о )32 А(о )33
— матрица ориентаций СКВЗ в БСК.
Символьная запись решения (8) крайне громоздка, а его обратное символьное решение, О = ф(и), как решение системы трансцендентных уравнений, известно только для отдельных моделей.
Методом прямого сканирования (тривиальное решение) пространства параметров решение ОЗК МСС может проводиться по приведенной ниже тривиальной процедуре.
Процедура тривиального решения. Задаются исходные данные: решение ПЗК в форме (8); ограничения на области допустимых конфигураций, у < д д,^ бдопу = ^,2 - 0 с бДоП, у = = 1, 2, ..., /< 6; характеристический радиус-вектор 5 = [лх,лу,5г]т; требование по точности решения задачи, АЦу>0; ЦФ Ф(о) ^ ттд; точка в БСК, относительно которой решается ОЗК,
1
1
0
0
Р0 и связанные с ней ориентация, S 0 = Т^, поза и0 = [Р0^0], матрица ориентаций Т0. Затем выполняется процедура сканирования, определяются: I; ,,; ^ = я(/) = = (дм,,..,д7, 1 )т; Ф(- = Ф(/) = Ф(#г). Находится номер п: Ф(п) = = шт;Ф;-. Тогда я(п), будет вектором решений ОЗК.
Выбор ЦФ при решении ОЗК МСС определяется задачами, в которых ОЗК МСС используется. Такими ЦФ могут быть:
♦ минимум нормы отклонения вектора позы в форме
Ф(#) = ||Ho-B(e)|Hmin;
эквивалентные ему формы:
j <6
Ф(Я ) = 21мо,/ ~ uj (q min,
j=i
Ф(9 )= П[|м0,j - Uj (q min].
(11)
(12) (13)
Однако прямое сканирование крайне трудоемко, и, хотя и не является непреодолимым препятствием в решении задачи, требует значительных вычислительных ресурсов ЭВМ. Так, например, при ограничениях на изменение обобщенных координат: ду;1 = 0 < д] < ду;2 = 2п, при разрешающей способности приводов звеньев в 0,001 рад, количество точек полного сканирования будет составляет I« 6,153 1022. В задачах проектирования при использовании в САПР робототехнических систем, прямое сканирование приводит к снижению производительности разработчика, в системах управления — вызывает потребность в дорогих особо быстрых компьютерах.
Трудоемкость можно снизить, например, за счет следующих приемов:
прием 1. Сокращение зоны параметрических ограничений в области допустимых конфигураций за счет: обоснованного назначения ограничений из инженерных и эксплуатационных условий (экспертное ограничение параметров); нахождения всей объективной совокупности функциональных ограничений и ограничений на ЦФ, полученных как аналитически, так и опытным путем с дальнейшим сжатием области сканирования ЦФ; предвари-
тельного (грубого) обучения робота оператором, с дальнейшим нахождением точных решений на узких интервалах; применения процедуры решения систем нелинейных уравнений на интервалах унимодальности;
прием 2. Снижение размерности задачи, например, преобразованием векторно-матрично-го уравнения (9) к следующему виду:
A3 U3 ) 1 A2 («2 ) 1 A1 («1 ) 1
= A 4 («4 )a 5 (g 5 )a 6 (g 6)
(14)
Правая часть уравнения (14) является решением ПЗК для трехзвенного МСС типа Р = = КЯа, д5, д6). Для механизмов с взаимно-перпендикулярными осями кинематических пар символьное решение ОЗК можно найти [2] в форме д = /(дь д2, дзЛ), 1 = 4, 5, 6. Полученные выражения подставляем в (10) и находим выражение
' —0
[Лх0 Л0,0,1] , =Д («1 )a2(g2 к(gз К («12,gзр 0) х х4 («1 ,q 2,q 3р 0 )a6 (g 1 ,q 2,g 3p 0)
или
S 0=T(gx,g2,q3,P0)s.
(15)
Применив к уравнению (14) процедуру сканирования и найдя минимум невязки |S_0-S(gM, g2,,, «ърРЖ, получим номер п, по которому найдем сначала решения gx(n), g2(n), g3(n), а затем и решения g4(n), g5(n), «6(п);
прием 3. Использование функциональных ограничений для задачи с сокращенной размерностью с последующим сжатием области определения. Так как решение ОЗК должно выполняться для всех элементов матричного уравнения T0=I(q), то можно построить функциональные ограничения типа —max /AUj) < < \Т0лк - I(q,)s,k| < maxj(AU), s, k = 1, 2, 3, и най-
ВШзехэшш] выкшшпх ©аведжшй
дя подмножество / е I, удовлетворяющее первому, например, при л = 1, к = 1, функциональному ограничению, сжать область номеров до 1Г<1, и т. д.;
прием 4. Применение параллельных вычислений. Пусть мощность точек сканирования I, а мультипроцессорная система управления роботом содержит К контроллеров, тогда первый контроллер может решать задачу поиска интервального минимума ЦФ любым принятым способом на интервале [1,1/К], второй контроллер на интервале [(//К)+1,2//К], и т. д. Затем из К интервальных минимумов выбирается глобальный минимум.
Решение ОЗК вдоль траектории Р(О с ориентацией £(0 может находиться разными способами. Например, траектория и ориентация рассматриваются как последовательность точек «(¿о), «(¿о+ЛО,..., и(^). Тогда формирование программной траектории в пространстве обобщенных координат может осуществляться по приведенным выше методам.
Другой способ — интегральный. Рассмотрим решение ОЗК КМ МСС методом интегрирования ОЗК КМ МСС для скоростей.
Исходные данные: символьное матричное решение ПЗК МСС для положений и ориента-ций в виде и(4) = У(^); диапазон допустимого изменения компонент вектора обобщенных координат у < ау < ау,2, у = 1, 2, ..., J< 6; символьное матричное решение ПЗК МСС скоростей в виде У(¿) = йи[q(t)]/dt = {ди[q(¿)]/ /дq}[dq(f)/dt], в области у < ^ < ау,2, интервал решения ¿0 < t < ¿к, начальные условия и0 = «(¿о).
Процедура решения:
1) применив метод сканирования в функциях натурального ряда чисел (номеров) к решению ОЗК МСС и(q) = /(q) в области у < ау < 4у,2, у = 1, 2, ..., J< 6, найти qo = q(to);
2) если ае1:{ди^(0]^} ф 0 Vt: ¿0 < t < 4, то построить матрицу Щ) = = [д«^(0)/дг]-1, иначе решения данным методом нет;
3) умножив слева У(t) = йи[q(t)]/dt = = [д«[q(1)]/дq][йq(t)/dt ] на #(0, получим
= ад^и^Ж = ЭД{д«^(0]^} [dq(t)/dt ] = dq(t)/dt;
4) решить относительно q(t) систему обыкновенных дифференциальных уравнений dq(t)/dt = #[#(11))] на интервале ¿о < t < tk при начальных условиях q(t0)=q0.
В этом алгоритме основная проблема — определение начальных условий q0=ф(«0), которые и находят методом сканирования.
Пример решения ОЗК МСС типа В*ВВ*ВВ*В для заданной точки с применением сканирования в функциях номеров. Задана исходная графическая КМ МСС типа В*ВВ*ВВ*В (рис. 2), имеющая следующие геометрические параметры: все обобщенные координаты ду = Ру, углы относительного разворота систем координат звеньев уу, относительные смещения систем координат звеньев йу и dу указаны в таблице М(/) V Vу = 1, 2 ,..., 6. Вектор ориентаций, жестко заданный в системе координат {Х6,У6, Z6}, имеет вид s:=(sx, л, лх:=1/31/2, лу:=1/31/2, лг:=1/31/2.
Заданы значения вектора положения Ро:=(Ро,х,Ро,у,Ро,г)т: Ро,х:=916,2691, ^=112,6498, Р0 г: = 1385,9482, и ориентации в точке Р0, £О:=(^О,х, ^ ^о,г)т: ^=915,8874, ^=111,8144, £0д: = 1316,3436, [мм], формирующие вектор позы «о:=(Ро,х,Ро,у,Ро,гА,хД,уД,г)т. Принятые ограничения на изменение обобщенных координат, полученные, например, из условий предварительного обучения или табличного решения ПЗК, составляют, рад: ::=4,5650
412:=4,8443; а21: = 3,1569; а2,2 а3 х: = 1,3988; д3 2: = 1,6782; д4 1
=3,4363 =2 2о15
Рис. 2. Графическая КМ МСС типа В*ВВ*ВВ*В:
с11 = 485 мм; <12 = 520 мм; с13 = 550 мм; с14 = 620 мм; с15 = 530 мм; й6 = 610 мм; а6 = 480 мм
#4 2: = 2,4808; д51: = 5,2453; д5,2: = 5,5246; ^6Д:=1,3263; д6Д:=1,6056.
Требуется для заданных значений вектора позы и0, найти значение вектора конфигураций д0. Требуемая относительная точность решения: по положению — 5Рдоп < 0,001%; по ориентации — 5ЛДоп < 0,001%. Выбрана целевая функция Ф(#)=|и(#) — и0|^ш1п.
Этап 1 (подготовительный).
1.1. Решаем ПЗК МСС типа В*ВВ*ВВ*В методом матриц Денавита — Хартенберга. Для решения примера используем среду МаШСАБ, что позволит читателю, не являющимся профессиональным программистом, проверить излагаемый подход. Составим таблицу исходных данных М(/) по методике [4], приняв в МаЛСАБ ORIGIN:=0:
М (/ ): =
'у в у У у ¿у
1 —п/2 0 485
2 д 2 —п/2 0 520
3 д 3 п/2 0 550
4 —п/2 0 620
5 д 5 —п/2 0 530
6 д 6 0 480 610
Здесь «/» имеет смысл действительной непрерывной переменной, имеющей смысл, например, времени. Стандартная матрица Де-навита — Хартенберга примет вид, Ау(/)=Ау(/) V V у =1, 2, ..., 6, где
А у (/ ): =
008 у ( /) — 008( М( /) у у ( /) 81п( М( /) у 2) 8Шу ( /) М( /) у3 008у (/)
8Шу ( /) 008( М( /) у 2)008у ( /) —81п( М( /) у 2) 008 у ( /) М( /) у 3 81П у ( /)
0 ¡¡1п( М( 1)1,2) 008( М( /) у,2) М( ¡)1,4
0 0 0 1
Решение ПЗК: и1 : = {А(/)0 3, А(/)1 3, А(/)2 3, [Т(/)5]0, 0, [Т(/)5]1, 0, [Т(/)5]2,0}т, 'где А(/):=А Д/)
мшшшшь
А ( Ос,0 А ( 00,1 А (/)
II Т( А (/)1,0 А (/>1,1 А (/)
А (/)2,0 А (/)2,1 А (/)
0,2
2,2
1.2. Сформируем процедуру сканирования, положив: у:=0, 0:=2; /:=(0+1)6=729; /:=1, 2, ...,
/; /):=/; 0у( /):=^-1(/)-0А00г[(Ам( /)-1)/0];
у):=1+А00г[(£м(/)-1)/0] V у=1, 2 ,..., 6. Этап 2 (оперативное решение задачи).
2.1. Положить: дуд:=дуд и ду,2:=ду,2 V/=1, 2,...,6; ¿ду:=(?у,2—«у,1>/2; Ц(/,у):=у + ^,1 + [0у(/)-1]¿ду; Р0',у):=А(/,у)0,3; Ру(/,у):=А(/,у)1,3; РДу):=А(/,у)2,3; Р( /,у):=[Рх(/,у), РД /,у), Рг( /,у)]т; /,у):=А(/,7)0,0' Я 0,0+ А <Л У )0,1^ 1,0+ А (Л У )0,2^ 2,0; С У ): =
= А(/,у)1,0^0,0+А(/,у)1,1^1,0+А(/,7)1,2^2,0; S_г(/,у): = =А(/,у)2,0^0,0+А(/,У)2,1Й1,0+А(/,7)2,2^2,0; S_(/,Y): =
= [Я_х(/,У), Я_у(/,У), у)]т: В(/,У): = {РХ(/,Я),
Ру( /',у),Рг( /,у),[Рх(/,у)+^_х( /,у)],[Ру(/,у)+5_у(/,у)], [Рг(i,y)+S_z(/,у)]}т; где А(/,я)„,„, = 0,1,2 — развернутые символьные выражения элементов матрицы А( /,у), полученные с использованием символьной математики среды МаШСАБ; у = 0и£ — вспомогательная действительная переменная; — переменная натурального ряда чисел (номеров).
2.2. Вычислить минимум в функциях номеров, положив /:=\и(/,у) — м0|:
П
¿ЭД > /к ,1,0)1 = 1Д,0
\к=1
2.3. Вычислить: 5Р:=|Р0-Р(п,у)|-100/|Р0|; 5Я=|5 - 5(п,У)|-100/150|.
Если 5Р < 5Рдоп и 5S< 5Sдоп, то 5, иначе 4.
2.4. Определить новые границы поиска решения посредством дихотомии, вычислив: с 1: = |Р 0( п ,у)|; С2: = |Р0(п, ^ 1 )|, где у:=0, у 1 :=^=10—15; дуд:^^,^п,у) = дуд,дуД, 1^14уд( п, У )=«у,2, д 1,1+¿ду ,1Т(С1 < С2, ду,1, д и+¿ду)]}; qу■,2:=qу■,1+dqу■ V у=1,2,...,6. Перейти к 1.
2.5. Вычислить: вектор абсолютных погрешностей решения в области поз Vu:=u(n,y)—и0, для заданныхР0 и 50 ду(Р0Д):=ду(п,У) Vу =1,2 ,..., 6.
При заданных исходных данных за 12 итераций получено решение: д1=4,7663, д2=3,3411, д3=1,5177, д4=2,3376, д5=5,4647, д6=1,4027. Абсолютная погрешность решения ЛРх=0,019, ЛРу=0,0013, ЛРг=0,0052, Л£,=0,005, ЛSy=0,006, ЛS=0,0105.
Выводы
1. Рассмотренный регулярный метод позволяет решать трудноразрешимые многопараметрические задачи кинематики, например, ОЗК МСС, регулярным методом.
2. Метод сканирования позволяет строить имитационные модели сложных процедур в доступной среде, например в среде МаШСАО, допускает визуализацию многомерных процессов и состояний, исследование алгоритмов.
3. Предлагаемый метод является удобным инструментом для конструирования алгоритмов и моделей компьютерных программ в области проектирования и управления многозвенными механизмами.
4. Определенным недостатком метода сканирования является большой объем вычислений, что затрудняет решение задач реального времени, но не является препятствием для его успешного применения в системах относительного времени, например в САПР робототехни-ческих систем.
5. Существует набор приемов снижения трудоемкости решения, который позволяет решать задачи проектирования процессов реального времени.
Литература
1. Лукинов А.П. Парето-оптимизация проектов меха-тронных устройств в среде MathCAD // Мехатроника, автоматизация, управление. 2005. № 1. С. 4—18.
2. Лукинов А.П. Проектирование мехатронных и робото-технических устройств. СПб.: Изд-во «Лань», 2012. 608 с.
3. Джерри А. Дж. Теорема отсчетов Шеннона, ее различные обобщения и приложения // ТИИЭР. Т. 65. 1977. № 11. С. 53—162.
4. Зенкевич С.Л., Ющенко А.С. Управление роботами. М.: Изд-во МГТУ им. Н.Э. Баумана, 2000. 400 с.
5. УайндД. Методы поиска экстремума. М.: Наука, 2007. 267 с.
Статья поступила в редакцию 07.08.2012