Робототехника.Фу, Ли, Гонсалес (962794), страница 34
Текст из файла (страница 34)
Однако он требует большого числа вычислений в процессе управления манипулятором, и, кроме того, им нельзя пользоваться при вырожденной конфигурации манипулятора. Второй способ, называемый способом планирования траекторий с ограниченными отклонениями, требует дополнительного этапа планирования. На этом этапе производится выбор узловых точек в количестве, достаточном для того, чтобы траектория в пространстве присоединенных переменных между узловыми точками задавалась путем линейной интерполяции и при этом отклонения охвата от прямолинейной траектории не превышали бы заданной величины.
Этот способ существенно снижает количество вычислений, необходимых на каждом участке траектории. Кватернионы. В последние дессятилетня аппарат кввтернионов успешно применялся в задачах анализа пространственного движения механизмов. Мы воспользуемся кватернионамн для упрощения описания ориентации схвата манипулятора в за- 203 даче планирования прямолинейной траектории. Кватернион представляет собой упорядоченную четверку вещественных чисел з, а, Ь, с, связанных соответственно с четырьмя базиснымн элементами: вещественным числом +1 и тремя другими единичными элементами 1, ], (с, обладающими следующими свойствами: (г = ]г = (сг = — 1 1]=(с, ]14=1, И=], )1= — й, (44[= — 1, 1(4= — ).
Единичные элементы 1, 1, (с можно рассматривать как базисные векторы декартовой системы координат в трехмерном пространстве. В этом случае кватернион Я может быть записан в виде суммы скалярной части з и векторной части О: Я = [з + ч] = з + а1 + Ь1 + с(с = (з, а, Ь, с). (4-4-44) Следующие понятия и свойства являются основными в алгебре кватернионов. ° Скалярная часть 1;1;з. ° Векторная часть Я: а1+ Ь1+ с(4.
° Кватернион, сопряженный 1;1: з — (а! + Ь1+ с(с). ° Норма д . зг+ аз+ Ьг+ гг ° Кватернион, обратный ' на+аз+Ьг+на ' йа Единичный кватернион: з + а! + Ь1 + с(4, где з'+ а' -1- -[- Ьг-1- сг =1, Важно отметить, что подмножествами кватернионов являются вещественные числа (з, О, О, О), комплексные числа (з, а, О, 0) и векторы трехмерного пространства (О, а, Ь, с).
Сложение (вычитание) двух кватернионов производится путем сложения (вычитания) всех соответствующих элементов задающей кватернион четверки чисел. Произведение двух кватернионов вычисляется следующим образом: ФЪ = (з, + О,1+ Ь,] + с й) (з, + аг1 + Ь,] + огк) = =(з,зг — ч! чг+ з,ч, + з!чг+ ч! Х ч,).
(4.4-45) Это выражение получается непосредственным применением распределительного закона обычной алгебры, но с учетом порядка перемножения единичных элементов В общем случае произведение двух векторов трехмерного пространства, записанных в форме кватернионов, представляет собой не вектор, а кватерннон, т, е, если О! = [О+ ч!] =(О, аь Ьь с!) н Яг =' [О+ чг] =(О, аг, Ьг, сг), то в соответствии с выражением (4.4-45) ФЯг = — чг ч, + ч, Х чг.
204 Алгебра кватернионов дает простой и удобный аппарат описа- ния конечных поворотов в трехмерном пространстве. Если вве- сти обозначения О=юп[ — 1, С вЂ” сов[ — 1. то поворот Ро((п, 0) на угол 8 вокруг оси и можно представить кватернионом 1401 (и, 6) — [соз [ — ~ + з1п [ — ~ и) . (4.4-46) Пример. Поворот на 90' вокруг вектора й, сопровождаемый поворотом на 90' вокруг вектора ], можно представить в виде произведения кватернионов (соз 45' + ] з 1п 45') (соз 45' + (с 6!и 45') = (1гг2 + ]/2 + й/2 + 1/2) = = ~1/2+ . — 1 = [соз60'+ з(п60' !+1+а чгз 1 г . г+1+йч чгз 2 л ~(з 1 = ЕО1[ 1, 120'~. Результирующим является поворот на 120* вокруг оси, составляющей одинаковые углы с осями 1, 1, (с. Отметим, что результирующий поворот можно было бы определить, воспользовавшись матрицами поворотов, рассмотренными в гл. 2, Однако кватернионы дают гораздо более простую форму представле. ния.
Таким образом, для описания поворотов можно пользоваться как матрицами, так и кватернионами. В заключение этой части раздела в табл. 4.5 приведены вычислительные затраты, необходимые для выполнения некоторых обычных операций с поворотами, при описании с помощью кватернионов и при матричном представлении. Таблица 4Д. Вычислительные затраты при описании вращений матрицами и кватериионами Описание с помощью кеатернпоноа Описание с помощью матрии Оперении 9 сложений, 16 умножений 16 сложений 24 умноже ння 6 сложений, 9 умножений 12 сложений, 22 умножения 4 умножения, 1 квадратный корень, 1 арктангенс 2 квадратных корня, 8 сложений, 10 умножений, 1 арктангенс и- по!1 .
61 206 Способ управления в декартовых координатах. За время Т требуется перевести схват манипулятора из узловой точки Гс в узловую точку Г>, обеспечив прямолинейное движение. Здесь Е! (! = О, 1) представляет собой матрицу однородного преобра- зования, задающую положение системы координат схвата в уз- ловой точке: Й Р! Движение вдоль выбранной траектории представляет собой поступательное перемещение точки начала системы координат охвата из положения р4 в положение р, и одновременное вращение системы координат охвата, переводящее ее ориентацию из Й4 в Й!. Пусть Х(Т) — доля пути, которую остается пройти манипулятору в момент й При равномерном движении имеем (4.4-47) т где Т вЂ” полное время движения вдоль рассматриваемого участка траектории, а 1 — время, прошедшее с момента начала движения вдоль этого участка.
Положение и ориентация системы координат охвата в момент 1 определяются соответственно ра- венствами Р(г) = Р! А(г) (Р! Р4) Й(1) = Й, Йо1(п, — ОХ(1)), (4.4-48) (4.4-49) где Йо1(п, О) — поворот на угол О вокруг оси п, переводящий матрицу ориентации охвата из Й, в Й,: Йо1(п, О) = Й4 'Й!.. (4,4-50) 206 Последнее равенство означает, что Йо1(п, О) описывает в форме кватерниона поворот, задаваемый матрицей Й4 !Й!. Слелует отметить, что вектор р, — рс в равенстве (4,4-48) и вектор п и угол О в равенстве (4.4-49) в том случае, если система координат Г! неподвижна, достаточно вычислить только один раз.
С другой стороны, если точка, в которую должен быть перемещен охват, движется, то меняется и матрица Г!. В этом случае р! — р,, и и О должны вычисляться на кажлом шаге, и, как показал Тэйлор [282], может иметь место ситуапия погони.
Если охват манипулятора должен переходить с одного участка траектории на другой с постоянным ускорением, между участками будет иметь место интервал разгона или торможения Для реализации такого движения ускорение должно включаться за время т до прохода точки пересечения рассматриваемых участков и выключаться через время т после прохода этой точки. Из этого требования вытекают граничные условия для участка перехода (4.4-51) (4.4-52) (4.4-53) (4.4-54) Р(Т! т) = Р~ Т Р (Т! + т) = Р! + т Ы >'!а! !4> Р(') ~>-г: — 1 т, ,>> Р (г) ~!!-г,4- Ар, р, Р„АР, = р, — р,; Т, н Т, — соответственно интервалы времени, в течение которых проходятся первый и второй участки.
Если на участке перехода действует постоянное ускорение !44 —,р(1) = а, (4.4-55) то двукратным интегрированием (4.4-55) с учетом граничных у ° словий получаем равенство, описывающее поступательное движение системы координат схвата: >)г (, 1>Р 4тТ! Р>+ 4 Т где 1'= Т! — 1 — время до момента пересечения двух участков траектории. Аналогично получастся уравнение, описывающее изменение ориентации системы координат охвата: Й(') Й! Й ~ !' 4~т~ !1 Г где н Й01(оп О,)=й Й,.
Йо1(п!, О!)= Й4 Й! Последние два равенства обозначают представление соответствующих заданных матрицами поворотов в форме кватернионов. Полученные уравнения, описывающие поступательное и вращательное движение системы координат схвата, обеспечивают плавный переход между лвумя участками траектории. Слелует отметить, что угловое ускорение будет постоянным только в том случае, если п, и п> параллельны илн если одна из угловых ско- 0 0 ростей !р,= — „, или !р,= — „. равна нулю.
! т! Траектория с ограничеинымн отклонениями. Описанный выше способ формирования траектории в декартовых координатах требует существенных затрат вычислительного времени. Кроме того, в реальном времени весьма сложно реализовать учет ограничений на движение манипулятора в пространстве присоединенных переменных. Существует ряд возможностей устранить эти трудности. Можно заранее (до осуществления 207 208 движения) получить и записать в память вычислителя решение обратной задачи кинематики, моделируя работу алгоритма.
Реализовать заданное движение в этом случае не составит труда, поскольку последовательность точек управления будет просто считываться из памяти компьютера. Другой возможный путь состоит в том, чтобы заранее вычислить значения присоединенных координат в некоторой последовательности точек каждого из участков траектории и затем осуществить интерполяцию полиномами низкой степени. Сложность такого подхода состоит в том, что число промежуточных точек, необходимое для осуществления движения, достаточно близкого к прямолинейному, зависит от выполняемого движения. Априорный выбор интервала, достаточно малого для того, чтобы обеспечить малые отклонения от прямолинейного движения, приводит к резкому возрастанию объема предварительных вычислений и используемых ресурсов памяти.
Учитывая все это, Тэйлор [282] предложил способ планирования траекторий в пространстве присоединенных переменных, называемых траекториями с ограниченными отклонениями. Этот метод позволяет на этапе предварительных вычислений выбрать промежуточные точки в количестве, достаточном для того, чтобы отклонения планируемой траектории схвата от прямолинейной не превышали некоторых заданных пределов.