2003
Доклады БГУИР
январь- март
Том 1, № 1
УДК 681.5
АВТОМАТИЗАЦИЯ ПРОГРАММИРОВАНИЯ КОНТУРНОГО ДВИЖЕНИЯ РОБОТА ПРИ ЛАЗЕРНОЙ РЕЗКЕ
А.П. ПАШКЕВИЧ, О.А. ЧУМАКОВ
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 9 января 2003
Предложены методы, позволяющие преобразовать трехмерную модель контура резки, полученную из САПР изделия, в программу управления роботом. При этом учитываются ограничения промышленных систем управления, обусловленные особенностями алгоритмов планирования движений манипулятора, а также оптимально используется кинематическая избыточность шестистепенного робота для операций резки. В результате генерируется плавная траектория движения инструмента манипулятора, которая может быть воспроизведена в реальном масштабе времени с заданной точностью.
Ключевые слова: робот, off-line программирование, автоматизация проектирования.
Введение
В настоящее время в промышленности все шире применяются робототехнологические комплексы (РТК) лазерной и плазменной резки, обеспечивающие прецизионную обработку деталей и высокую производительность в мелкосерийном производстве. Однако их широкое применение сдерживается сложностью программирования, которое может выполняться в ручном или автоматическом (автономном) режимах. Наиболее перспективным является второй метод, не требующий полной остановки оборудования и его исключения из производственного процесса [1].
Существующие системы автономного программирования [2] ориентированы, как правило, на технологию дуговой либо точечной контактной сварки и не могут быть использованы при роботизации резки трехмерных объектов сложной формы. Поэтому в данной работе рассматривается проблема автоматизации программирования РТК резки, в которых традиционные манипуляторы обладают кинематической избыточностью, обусловленной возможностью поворота инструмента вокруг режущего луча. Эта избыточность существенно усложняет программирование, но ее можно использовать для оптимизации движений робота. Другие проблемы, возникающие при программировании таких РТК, связаны с особенностями алгоритмов планирования движений, реализованных в системах управления промышленных роботов. Они проявляются в снижении скорости при малом шаге квантования контура, а также в отклонении траектории в узловых точках.
Предлагаемый подход учитывает указанные особенности и включает в себя два этапа. На первом из них производится преобразование исходного контура в оптимальный набор линейных и круговых сегментов, которые могут быть реализованы системой управления. На втором этапе осуществляется оптимизация движений робота и формирование соответствующей управляющей
программы. В результате генерируется плавная траектория, которая может быть воспроизведена в реальном масштабе времени с заданной точностью.
Сегментация траектории
Предположим, что исходные данные о траектории резки представлены в виде "обобщенной полилинии" (augmented line), созданной на основе каркасной или поверхностной модели изделия, которая описывается с помощью массива вертексов
fi = {1, ®2, ю3,... }, (1)
где Щ = ip,' ai X Pi = (px,' Pyi.Pzi ) — вектор положения /-й точки a , = {dxl,ayl, azl ) — соответствующий вектор ориентации инструмента, причем расстояние между соседними точками удовлетворяет ограничению ||p, - p—1\ < ASmin • Для отработки этой траектории роботом требуется построить новую последовательность вертексов И', состоящую из минимального количества узлов m и удовлетворяющую краевым условиям ю0 = ю 0; ю'гп = ю к, а также двум ограничениям
по точности, обусловленным особенностями алгоритмов управления движениями роботов, реализованных в промышленных контроллерах [4]:
max р(/ир'г-1 + (1 - и)pi, fi) < 5; Vi = 1 : m, (2)
¡-[0,1 \
■ cos а <5; V i = 1 : m -1, (3)
2 2
где 5 — требуемая точность контурного движения; p(p, fi) = minllpi - pli — расстояние от точки
i
p до траектории Q; а, — угол изгиба траектории Q ' в узле ю / : cosai = (pi - pi-1 ) ■ (p'i+1 - pi)/\p' - p'—11 • |p'1+1 - pi| ; St — путь торможения при заданной скорости резки; ¿Smin = vT0 — минимальный интервал между вертексами, зависящий от
скорости резки v и периода квантования системы управления T0.
Для сегментации исходной траектории (1) в соответствии с ограничениями (2)-(3) разработан эвристический алгоритм, приведенный ниже. Он обеспечивает последовательное формирование линейных и круговых сегментов максимальной длины с фиксированной начальной точкой. При этом более высоким приоритетом обладают линейные сегменты, требующие меньших вычислительных затрат при реализации в системе управления роботом. Входные данные:
•массив равноудаленных точек, описывающих исходную траекторию в виде "обобщенной
полилинии" {p,, a,}, i = 1 : к; •допустимое отклонение синтезируемой траектории 5max; •предельный радиус дугового сегмента Rmax; Выходные данные:
•массив точек {pi, ai}, i = 1 : к', определяющий концы сегментов;
•массив {mp'} i = 1 : к', определяющий дополнительные точки дуговых сегментов.
Основные шаги:
Инициализация: p\ = p1, mp1 = p1 ; флаг окончания массива endofpath=0; указатели границ сегмента i=1, i=1.
_While(endofpath=0) - выполняем цикл до тех пор, пока не будут обработаны все точки исходного
массива.
Полагаем done=0 (флаг окончания сегмента) Аппроксимация дуговым сегментом
j = i + 2
While(rfowe=0 & j<n) - выполняем цикл до тех пор, пока дуга с точками i, m, j отклоняется от траектории не более, чем на bmax и имеет радиус не более Rmax-
• Полагаем m = int ((i + j) / 2); R = 0,
• If fr j - Pm )*(Pm - Pi
then полагаем done=1, т.е. считаем, что точки лежат на одной прямой, else находим центр p0 и радиус R окружности, проходящей через точки Pi, pm, Pj. Для всех точекрк,при k=i+1 до j-1 вычисляем расстояние
до окружности pk =||pk — p0|| — R и сравниваем с 5max; если
pk>Smax x или R>Rmax, полагаем done=1.
• If done=0, then j=j+1; т.е. увеличиваем длину сегмента,
• If j > n then endofpath=1; т.е. найден конец траектории,
полагаем j = j — 1; i' = i' +1 и запоминаем найденный сег-
^ End of While
If j > i + 2 then
мент: pr = p.; pf = pm; г = j
else полагаем done=0. Аппроксимация линейным сегментом
j = г +1
While(rfowe=0 & j<n) — выполняем цикл до тех пор, пока отрезок с точками г, j отклоняется от траектории не более, чем на bmax
• Строим уравнение прямой, проходящей через точки pi, p ■.
• Для всех точек pk при k=i+1 до j-1 вычисляем расстояние до прямой pk и сравниваем с 5max; если р^>8тах, полагаем done=2.
• If done=0 then j=j+1; т.е. увеличиваем длину сегмента,
• If j > n then done=2; т.е. найден конец траектории, End of While
If done=2 then полагаем j = j — 1; i' = i' +1 и запоминаем найденный сег-
мент: p'f = р. ;i = j .
End of While
Оптимизация движений робота
Современные РТК лазерной и плазменной резки строятся, как правило, на базе манипуляторов с шестью степенями подвижности, которые применительно к данной операции обладают кинематической избыточностью. Это обусловлено тем, что допускается произвольное вращение инструмента вокруг режущего луча. Поэтому при разработке управляющих программ для робота целесообразно использовать избыточность для оптимизации движений манипулятора в пространстве обобщенных координат.
Предположим, что расположение систем координат робота "Base" и изделия " Workpiece" относительно глобальной системы координат "World" описывается 4х4-матрицами однородных преобразований 0Tb и 0Tw соответственно (рис. 1). Тогда кинематические свойства РТК резки
могут быть описаны матричным уравнением T (q) - 0 Tb T (сq1T (q3 )...T5 (qs )Г6 (q6 )• Tt,
(4)
где Tt — матрица, описывающая положение и ориентацию системы координат инструмента "Tool" по отношению к системе координат крепежного фланца "Flange"; Ti (qi) — матрицы, описывающие геометрическую структуру манипулятора в зависимости от значений обобщенных координат звеньев qi. Последние из указанных матриц существенно зависят от кинематической структуры робота, и для роботов антропоморфного типа их произведения могут быть представлены в виде [3]
Wy _ Tt =
CC 1 23 - S1 CS 1 23
SC 1 23 C1 S1S23
- S23 0 C 23
0 0 0
a2S2 a3S23 1
S4C5C6 -
- Ssc6 0
46 -4S6
C4C5S6 S4C6 C4S5 d6C4S5
S4C5S6 + C4C6 S4S5 d6S4S5
S5S6 C5 d6C5 + az
0 0 1
где Ci = cos qi; S, = sinq,; Ctj = cos(qi + qj); Sjj = sin(qi + qj); a,, d, — параметры Денавита-
Хартенберга, имеющие следующий смысл: d2 - расстояние между осью первого сустава и плоскостью вращения третьего звена; a2, d4 — длины второго и третьего суставов соответственно; a3 — расстояние между осью вращения третьего сустава и осью симметрии второго звена; d6 — расстояние от центра кисти до плоскости фланца. Для каждой узловой точки траектории ю, определим также систему координат и обозначим ее "Nodei" (рис. 1). Начало координат этой системы разместим в точке p', ось X направим вдоль траектории резки, ось Z — в направлении режущего
луча a', а ось Y — так, чтобы X, Y, Z образовывали правую тройку векторов.
Рис. 1. Геометрическая модель РТК
Соответствующую матрицу однородных преобразований обозначим °Т6, . Тогда манипу-
ляционную задачу робота можно представить как совмещение координатных осей фреймов °Т6, и
фреймов °Т (д) таким образом, что ось Х1 совпадает с осью 2^ а взаимное расположение оставшихся осей определяется с точностью до произвольного скалярного параметра у, описывающего поворот рассматриваемых фреймов вокруг оси резки:
T, R(r)=%(q)• H ,
(5)
где постоянная матрица Н = Ях(п)■ Яу(ж/2) учитывает порядок совмещения осей, а Ях, Яу,
Яг — операторы вращения вокруг X, У, 2 соответственно. В результате, применяя соответствующий алгоритм решения обратной задачи кинематики
а/у) = 1пуКт[°Т Я2 (у)Н-1 ], (6)
исходная совокупность сегментов траектории О' преобразуется в однопараметрическое семейство обобщенных координат а^У)- На практике целесообразно ограничиться дискретными значениями параметра у = 2л//£; / = 0:£ и множество {а.(у); У е [°,п]; I = 1: т} описать двумерной мат-
' 3 1 23 ™2"1
2 12
3 1 23
2
4
рицей, столбцы которой соответствуют одной и той же физической точке траектории резки, а элементами являются векторы обобщенных координат q либо соответствующие им локации инструмента Ь. При этом для каждого элемента этой матрицы целесообразно проверить существование решения обратной задачи кинематики и отсутствие столкновений робота и режущего инструмента с другими элементами РТК. Применяя указанные операции ко всем узлам траектории О', получаем, что множество допустимых локаций инструмента и соответствующих обобщенных координат представляется в виде "разряженной" двумерной матрицы (Ь/, q/}, каждый элемент которой представляет собой совокупность фрейма Ь/ и шестимерного вектора q/.
Набор таких матриц целесообразно представить в виде многослойного направленного графа с вершинами V = {Ьг/.} и ребрами Е = {(Ь/, Ьк1); г = к -1; У г, /, к,1}, где каждый слой
соответствует определенному индексу конфигурации М (рис. 2). Тогда для заданного индекса конфигурации функция у(0 определяет шесть траекторий суставов дк(0, к=1...6, каждая из которых может быть оценена скалярным критерием
I
(к)
г )1 =
1
|\Чк ((Р
(7)
который характеризует "объем движения" соответствующего сустава.
В результате рассматриваемая задача планирования движения робота сводится к следующей оптимизационной задаче на графе: для заданных множеств вершин V и ребер Е, найти "наилучший" путь длины п П(у0,...уп) = ^Ь0/ ^ Ь1 /2 ^ ...Ьп/^ с начальным состоянием
V0e.{Ь0j} и конечным состоянием Vne{Ьnj}, который обеспечивает парето-оптимальность векторного критерия качества (7).
Рис. 2. Графовая модель пространства поиска
Для упрощения описания алгоритмов обобщенные координаты, соответствующие положению Ьц, обозначим как дк(//), а траектории, соответствующие вектору решения Г, — как дк(//Уг). Используя эти обозначения, задачу минимизации аддитивного критерия (7) для каждой обобщенной координаты можно представить как
)(гЫ|?к(Лг)- Чк( -
^ Ш1П
г
и решить методом динамического программирования. Для доказательства предположим, что на ром шаге были найдены все оптимальные последовательности Г°(р,х) = (у0, ...,Ур-1 X с последним элементом хеГ и соответствующими показателями качества ^р(у). Тогда для следующего шага оптимальная последовательность Г°(р + 1,у) = (у0,...,Ур-1, Х,У) с последним элементом уеГр+1 может быть найдена из следующей рекурсии:
Рр+1 М = ШпК (Х) + |Чк (Р + 1,/г)-Чк ^^^
которая описывает алгоритм оптимизации каждой скалярной компоненты рассматриваемого векторного критерия. Для построения парето-оптимальных решений используется аналогичный рекурсивный алгоритм, в котором каждой компоненте критерия (7) назначаются весовые коэффициенты, изменяющиеся в процессе оптимизации.
Заключение
Разработанные методы позволяют преобразовать трехмерную модель контура резки, полученную из САПР изделия, в упорядоченную последовательность локаций, на основе которой генерируется программа управления роботом. При этом учитываются ограничения промышленных систем управления, обусловленные особенностями алгоритмов планирования движений манипулятора (искажения в узловых точках, снижение скорости при малых перемещениях, сегментация траектории на линейные и круговые участки), а также оптимально используется кинематическая избыточность шестистепенного робота для операций резки. Искомая траектория синтезируется в два этапа. На первом из них производится сегментация исходного контура, т.е. преобразование его в набор линейных и круговых сегментов максимальной длины. На втором этапе пространство поиска решений преобразуется в направленный граф и исходная задача формулируется в терминах теории комбинаторной оптимизации. Затем осуществляется линейная свертка векторного критерия качества, и методом динамического программирования формируется множество парето-оптимальных решений, соответствующих различным значениям весовых коэффициентов. В результате генерируется плавная траектория движения инструмента манипулятора, которая может быть воспроизведена в реальном масштабе времени с заданной точностью. Предложенные алгоритмы реализованы в подсистеме Laser САПР ROBOMAX и были использованы при решении реальных производственных задач по автономному программированию РТК резки для АМО ЗИЛ (г. Москва). Как следует из опыта эксплуатации, они позволяют эффективно синтезировать и оптимизировать программы роботизированной резки трехмерных деталей сложной формы и достичь существенного повышения экономической эффективности при мелкосерийном производстве.
COMPUTER AIDED PROGRAMMING OF CONTOUR MOTION FOR A LASER CUTTING ROBOT
A.P PASHKEVICH, OA. CHUMAKOV Abstract
The paper proposes a technique for transforming a CAD-model of a cutting contour into a robot control program. The design procedure takes into account constraints imposed by industrial robotic controls and their path planing algorithms. The kinematic redundancy of a robotic manipulator is used to optimise trajectory in the joint coordinate space. The technique yields a smooth path for a cutting tool, which can be implemented in real time with desired accuracy.
Литература
1. Geiger. M., Otto. A. Laser in der Elektronik produktion & Feinwerktechnik, Tagungsband des 3. Erlanger Seminars LEF 2000, Bamberg: Meisenbach, 2000.
2. Пашкевич А.П. // Справочник. Инженерный журнал. М., 1997. № 5, С. 27-33.
3. Pashkevich A., Dolgui A., Chumakov O. Optimal Control of Robotic Manipulator for Laser Cutting Applications. 15th Triennial World Congress of the International Federation of Automatic Control. Barcelona, SPAIN, 21th-26th July, 2002. Book of abstracts P. 273.
4. Чумаков О.А. // Тез. докл. II Междунар. науч.-практ. конф. "Моделирование. Теория, методы и средства". Новочеркасск, 2002. С. 45-49.
5. Sciavicco L., Siciliano B. Modelling and control of robot manipulators. Springer, New York, 2000.