При известных реальных конструктивных параметрах a*, t*, а*
(/ = 1, п ) звеньев руки, используя равенство Mq„ = Мпр, можно определить
n-мерный вектор q* значений обобщенных координат, учитывающий погрешности изготовления и сборки манипулятора. Однако такой алгоритм нахождения решения крайне неудобен. Это связано с тем, что наличие первичных ошибок Да, Ф 0, Дґ, Ф 0, Да, Ф 0 приводит к кинематическим
структурам, для которых не существует решения обратной задачи о положениях в явном виде (см. гл. 3). Вместе с тем равенство М0„ = Мпр, в котором матрица М0„ составлена по номинальным значениям параметров а,,
г„ а, (т. е. Да, = Дг, = Да, = 0), для подавляющего большинства используемых
структур роботов дает решения д,(/ = 1, п ) в явном виде. Последние связаны
с q* соотношением
Для программных координат ф соответственно можно записать
V* =V,-+AV,-
Для получения расчетных зависимостей Aq = Aq(qiy Да,, Дг,, Да,), учитывающих первичные ошибки изготовления и сборки манипулятора, целесообразно воспользоваться известным правилом [30] переноса ошибок и линеаризацией исходных формул.
Задача состоит в поиске таких значений Дд,, которые компенсируют
обусловленный погрешностями Да/5 Ath Да,, (/ = 1, п ) шестимерный вектор
AS = [Ax, Ay, Az, в*, 0r 0z]r,
где Ax, Ay, Az — смещения центра n-й системы координат, a Qx, 0>( 0г — малые углы ее поворота относительно осей базовой системы координат, например
Хо, Yq, Zq.
Из элементов вектора AS можно составить (см. гл. 3) [4 х 4]-матрицу АМ0п малых смещений Аде, Ay, Az и поворотов 0Л, ву, 6Z координатной
системы рабочего органа манипулятора относительно ее номинального положения
‘1 |
-в* |
в, |
! Дх" |
ег |
1 |
-е, |
і Ay |
-в. |
в, |
1 |
і ^ |
о |
0 |
0 |
I 1 j |
Именно в таком виде (с одинаковым физическим содержанием элементов) представим матрицы малых смещений и поворотов рабочего органа механической руки, определяемые в одном случае погрешностями Да,, At,-, Асіі (і = 1, п ) конструктивных параметров звеньев руки, а в другом — приращениями Aqi обобщенных координат.
Тогда для первого случая элементы четвертого столбца матрицы ДМол(Да, At, Аа) будут элементами четвертого столбца матрицы (M0rt-MQrt), а ее подматрица направляющих косинусов определяется произведением
дк;„(да, Дг, Да)=(к0п-к;п)(к;„г1.
Во втором случае последовательным дифференцированием произве-
п
дения м;„ = Пм;., по обобщенным координатам qi(i = l, n ) определим
/=1
сначала матрицу:
дм;„(д9) — — £4г^,(аси/а*)ми.,
;=1 i=i
а затем комбинацией ее четвертого столбца и подматрицы
AK*0n(Aq) = AKln(Aq)(K*0nr1
получим [4 х 4]-матрицу ДМоп(Д<?).
Приравняв соответствующие элементы (т)41, (т)42, (йТ)43, (т)32, (т)13, (т)21 матриц AMjn(Да, At, Аа) и ДМо„(Д^), получим искомые расчетные зависимости в виде шести независимых линейных однородных
JAq = AS,
(7.2) |
где J = [dSj/dg,-] — [6 x и]-матрица Якоби, связывающая приращения обобщенных координат qt и изменения элементов ASj вектора задания. При этом элементы матрицы J рассчитывают с учетом фактических размеров a*, a*, t* звеньев руки.
Отметим, что матрицу ДМо„(Да, At, Да) и, соответственно, вектор AS можно вычислить и по другому — линеаризовав исходное выражение М0л по соответствующим параметрам а„ г„ а, (і = 1, п ) и определив затем полный дифференциал функции М0п при заданных погрешностях Да,-, Д f„ Да,,
(i = 1, п ). Однако точность последующего решения задачи компенсации в этом случае ухудшится за счет ошибок линеаризации.
Решение системы (7.2) при п = 6 имеет вид
Д^Г’Дв. (7.3)
Нахождение решения, т. е. вектора корректирующих поправок Aq, связано с обращением матрицы J. Эта процедура ограничивает практическое использование решения (7.3), во-первых, из-за возможного изменения ранга матрицы (ее вырожденности) в особых конфигурациях, а, во-вторых, из-за применимости только к ПР с шестью степенями подвижности. Ниже рассмотрено решение этой системы с использованием известного [1,3] аппарата псевдообратных матриц и нахождением псевдорешения при любых размерности и ранге матрицы J.
Рассмотрим два практически важных случая. Пусть число степеней подвижности робота п < 6. В этом случае вектор задания уже не имеет 6 независимых компонент, а вектор ошибок сохраняет размерность, равную
6. Система (7.2) становится несовместной и точного решения не существует. Задача может быть решена путем выбора некоторого компромисса — все требования могут быть удовлетворены не полностью. Будем искать значения Aqt, которые так частично компенсируют компоненты вектора
AS, что обеспечивается минимум квадрата евклидовой нормы || є ||2 = еге
вектора невязки є = AS — JAq.
Этому условию ^||є||2=о) соответствует нормальная система уравнений
JrMq = JrAS, (7.4)
которая независимо от системы (7.2) всегда совместна [3]. Для рассматриваемого случая и < 6 из (7.4) следует единственное решение
Aq = [JrJr’JrAS,
где [JrJ]_lJr= J+- псевдообратная матрица для матрицы J при линейной независимости столбцов последней.
Если число степеней подвижности п> 6, система по своим возможностям становится "избыточной" и имеет множество решений. Выбор приемлемого решения можно осуществить, используя критерий минимальности нормы вектора решения Aq. Это означает требование минимальности суммы квадратов величин корректирующих поправок по всем степеням подвижности робота. Такое решение называется нормальным псевдорешением системы линейных уравнений, причем каждая система линейных уравнений имеет единственное нормальное псевдорешение. В рассматриваемом случае нормальное псевдорешение системы (7.2) имеет вид
Aq = Jr[JJr]_1 AS,
где Jr[JJr]_1 — псевдообратная матрица для матрицы J при линейно независимых строках последней, которую также обозначают J+.
Найденные выражения для компенсирующих поправок обобщенных координат и известный вектор Дфд ошибок установки нулей датчиков
положения позволяют найти корректирующие поправки для управляющей программы, компенсирующие геометрические ошибки положения рабочего органа робота
Aj/r = AAq — Аі|ід = АГ AS — Дфд. (7.5)