МАШИНОСТРОЕНИЕ
УДК 621.865
М. М. Кожевников, О. А. Чумаков, В. М. Шеменков, И. Э. Илюшин
МЕТОДЫ И АЛГОРИТМЫ ПЛАНИРОВАНИЯ ТРАЕКТОРИЙ РОБОТОВ-МАНИПУЛЯТОРОВ ДЛЯ ЛАЗЕРНОЙ РЕЗКИ
UDC 621.865
M. M. Kozhevnikov, O. A. Chumakov, V. M. Shemenkov, I. E. Ilushin
METHODS AND ALGORITHMS FOR ROBOTIC MANIPULATOR TRAJECTORY PLANNING IN LASER CUTTING
Аннотация
Рассмотрены новые методы и алгоритмы, обеспечивающие эффективное планирование траекторий роботов-манипуляторов в процессе лазерной резки. Предложенный подход обеспечивает сегментацию траектории режущего инструмента линейными и дуговыми участками максимальной длины и его движение с постоянной скоростью в точках сопряжения сегментов.
Ключевые слова:
робот-манипулятор, лазерная резка, планирование траекторий.
Abstract
The paper considers new methods and algorithms which ensure effective planning of trajectories for robotic manipulators in the process of laser cutting. The proposed approach provides the segmentation of the cutting tool trajectory into linear and arc sections of maximum length and its movement at a constant speed at the junction points of segments.
Keywords:
robotic manipulator, laser cutting, trajectory planning.
Введение
В условиях современного производства широкое применение находят технологические линии, автоматизированные с использованием промышленных роботов. При этом перспективным направлением является применение роботов-манипуляторов в технологическом процессе лазерной резки. В настоящее время лазерная резка в основном осуществляется портальными манипуляторами, работающими в декартовой системе координат и не позволяющими эффективно выполнять операции лазерной резки в трёхмерном пространстве [1].
Шестиосные роботы-манипуляторы обладают значительными возможностями по ориентированию режущего инструмента в пространстве, однако их внедрение в технологический процесс лазерной резки существенно ограничено из-за отсутствия эффективных методов и алгоритмов планирования траекторий в условиях высоких скоростей резки [2, 3].
Современные технологические процессы лазерной резки используют лазеры с мощностью 500...7500 Вт, которые позволяют достаточно эффективно резать металлические листы, пластик и керамические материалы толщиной от 0,1 до 40 мм. При этом должна обеспе-
© Кожевников М. М., Чумаков О. А., Шеменков В. М., Илюшин И. Э., 2019
чиваться точность позиционирования режущего инструмента от ±0,005 до ±0,3 мм в зависимости от толщины заготовки. Скорость при движении режущего инструмента по заданному контуру изменяется в диапазоне 800...3000 мм в минуту [1]. В качестве режущего инструмента обычно используется твердотельный лазер, при этом манипулятор обеспечивает ориентирование лазерного луча вдоль нормали к криволинейной поверхности заготовки.
Планирование траекторий движения робота-манипулятора может производиться посредством ручного обучения, при котором контур резки предварительно наносится на поверхность заготовки, а затем человек-оператор с помощью пульта управления робота перемещает режущий инструмент вдоль данного контура, сохраняя в память контроллера промежуточные точки. При этом для достижения требуемой степени точности позиционирования и соблюдения ограничений на положение, ориентацию и скорость режущего инструмента необходимы проведение многократных прогонов программы управления и значительные затраты времени. Альтернативой является автономный подход к планированию траектории, при котором управляющая программа формируется на основе трехмерных компьютерных моделей робота, режущего инструмента и заготовки [3, 4]. При создании таких систем возникает ряд новых научных задач, связанных методиками и алгоритмизацией задачи планирования траектории лазерной резки.
Основная часть
Современные системы управления промышленными роботами-манипуляторами обеспечивают перемещение технологического инструмента в декартовых координатах с линейной, круговой либо сплайновой интерполяцией [1], что приводит к необходимости разбиения
любого сложного контура лазерной резки на небольшие участки с требуемой точностью построения траектории. С учетом этого предлагаемый подход к планированию траектории предполагает реализацию этапов сегментации контура резки и формирования узловых точек траектории, поиска допустимых локаций режущего инструмента в узловых точках, сглаживания траектории в окрестности узловых точек. Рассмотрим последовательно данные этапы.
Сегментация контура резки и формирование узловых точек траектории. Исходный контур для лазерной резки можно достаточно эффективно описать в виде так называемой обобщенной полилинии
П = (ДО1, ДО2, доз, ..., доа}, (1)
где до i = (pi, ai}; pi - радиус-вектор, соответствующий точке с номером i, pi = (pxi, pyi, pzi); ai - вектор ориентации режущего инструмента в точке с номером i, ai = (axi, ayi, azi).
Расстояние между двумя соседними точками контура равно ASmin:
|Pi - Pi-l\ = ASmrn. (2)
Целью сегментации контура для лазерной резки является формирование новой последовательности П', образованной минимальным количеством точек m и соответствующей граничным условиям
= ©'m = ©. (3)
Для введения ограничения на точность обозначим через р( П , П')
функцию вычисления максимального расстояния между исходным и сегментированным контуром. Тогда ограничение на точность сегментации будет иметь вид:
р( ß , ß' ) < ö, (4)
где ö - предельно допустимое отклонение сегментированной траектории ß'
от исходного контура (1).
Предложен метод сегментации контура резки, основанный на аппроксимации исходного избыточного множества точек линейными и дуговыми участками максимальной длины, причем начальная точка участка фиксируется. На первом этапе предполагается, что необходим дуговой сегмент и через точки с номерами i, m = i +1, j = i + 2 строится окружность. Радиус этой окружности сравнивается с предельно допустимым значением. Если радиус меньше предельно допустимого значения, то конечная точка участка передвигается в точку с номером j = j +1, а также вычисляется номер средней точки m = int((i + j')/2), где int() - символическое обозначение функции округления до целого числа. Повторно рассчитывается радиус окружности и сравнивается с предельным значением. Помимо этого, вычисляется расстояние между промежуточными точками pk (значение k изменяется в диапазоне от k = i + 1 до j- 1) и окружностью. Сдвиг конечной точки дугового участка продолжается до тех пор, пока радиус окружности не превышает предельного значения и расстояние между окружностью и промежуточными точками меньше допустимого значения.
Формирование линейного сегмента начинается с точек с номерами i, j = i + 1, при этом выполняется перемещение конечной точки линейного участка и контроль соответствия расстояния между промежуточными точками pk (значение k изменяется в диапазоне от k = i + 1 до j - 1) и линией допустимому значению. Если данное расстояние превысило допустимое значение, процесс формирования линейного сегмента закончен. Алгоритм сегментации, построенный в соответствии с вышеописанным подходом, представлен
на рис. 1. Тестирование данного алгоритма сегментации выполнено с использованием пакета Matlab. Пример сегментации контура лазерной резки, образованного сплайном, приведен на рис. 2.
Поиск допустимых локаций режущего инструмента в узловых точках. Рассмотрим системы координат на примере роботизированной ячейки для лазерной резки на базе робота Fanuc 710iC/50. Для описания положения и ориентации всех элементов этой ячейки используются: мировая система координат (World); система координат режущего инструмента (Tool); базовая система координат робота (Base); система координат фланца для крепления режущего инструмента (Flange) (рис. 3).
С учетом перечисленных систем координат матрица, описывающая положение и ориентацию режущего инструмента в мировой системе координат, имеет вид:
T = T x bTi(qi) x 1T2(q2) x... x x 4T5(q5) x 5T6(q6) x FTt, (5)
где 0Tb - матрица положения и ориентации базы робота относительно мировой системы «World»; FTt - матрица положения и ориентации режущего инструмента относительно системы координат фланца робота «Flange»; T(qi) -матрицы геометрической структуры робота-манипулятора, зависящие от величин обобщённых координат q.
В системах управления роботами-манипуляторами Fanuc 710iC матри-
0^ ft1 цы tb и tt можно корректировать
при помощи программных инструкций. В частности, матрица положения и ориентации базы робота может быть пара-метризирована следующим образом:
% = Rz(aB) x Ry(bB) x Rx(Cb) x
x Tx(xB) x Ty(Ув) x Tz(zBX (6)
где Ях, Яу, Яг - матрицы поворота относительно осей х, у, г в зависимости от соответствующих углов поворота базы манипулятора ав, Ьв, св; ТХ, Ту, Тг - мат-
рицы, описывающие сдвиг базы манипулятора вдоль осей х, у, г в зависимости от соответствующих линейных
сдвигов хв, ув, гв.
Bx.v0НЫ е óa/aibis:
■ ма с сив р авно уд аленных т оч ек_ описывающих исходную тр аект орию-в вид е "оооощешюйпо.ти:1шин:: |рi. я.;}..i = 1
■ допустимое отклонение синтезнр\"емойтраектории Qmax.1
■ предельный радиус дугового сегмента ÍZ/nuz-Быхо0ны£ данные:
* массив точек jp^, а'}. í ■=■ J: if . определяющий концы сегментов,
• мае сие ¡^/í'} í = i: f . определяющий дополнительные точит дуговые сегментов.
Основные шаги
Илпциализацня: р[= ™p\ = p- . флаг окончания! массива endefpath = О указатели границ сегмента ¿ = L ¡ =1 —WhDe^njíc¡)Jfpíir.h. = -0) — ьвгполняемцнкл до тех пор. пока не будут обработаны все точки исходного массива
Полагаем don&= 0 (флаг окончания сегмента) Аппрп-ксимацид дугииым сетаеитом j=1+2
г— YiTiil« (d ti лt' = О & j<rií— выполняем пикл до тех пор. пока дуга с точками г 42, / откл оняет ся от тр а ект ории неб о л е е, ч ем на ¿»игс и iE се ет р а дну с неб о ле е Ая ах.
* Полагаем ля= int({i—J) 1R = 0
* If -Pj ()■< sr
then полагаем done = 1 т.е. считаем, что точки лежат на одной прямой
íls-e находим центр ръ и р а дну с R окру жно стн. пр охо дящей ч е р es т очки р £, p.«. р. Для вс ex точек pi при Л = í-¡- Г до J— ] вычисляем расстояние до окружности i°'fr=|tPjt— Pol-и сравниваем с-¿.ник; если или R> Лдл, полага ем doпя = I
* if done = -0. then/ =;'+1: т.е. уЕеличиваем длину сегмента
* Jíj>n thfji sndofpaih = J; т e найден конец ipаекторин _ ГшЗ oí While
If j > then полагаем j= J — i: г' = i' Э- I и запоминаем найденный
сегмент: р' = р : ~*р\- = i = j dsí по ляга еы de tie = О: Аппрак симания ли и е и нъем сегментом
J = 1 ' ..........
|—lMiild = Q &_/<.№) — выполняем цикл до тех пор, пока Отрезок с
точками i,j отклоняется от траектории не более, чем на й^де
* Стр оим у р авненне прямой, пр ох одяще н ч ер ез т очки р р.■
г Для всех точек pi при Л: =¿-5-1 до I вычисляем расстояние до прямой püi сравниваем с й.ядз:; если ря>о-яах. полагаем done=2
* If done = 0 th-e n.J = i+1; т.е. уве личива ем длину с егмент а
* lfj>jj then ioihe= 2; т.е. найден конец траектории L- End of Whi1*
Lf áom = 2 thin полагаем j= j — 1: г' = i' — L и запоминаем найденный сегмент: р\ = р,: j = j
— End of While
Рис. 1. Алгоритм сегментации контура лазерной резки
Рис. 2. Сегментация контура лазерной резки, образованного сплайном
Рис. 3. Системы координат робота-манипулятора Рапис 7101С/50 в процессе лазерной резки
Для параметризации режущего инструмента использованы следующие параметры (рис. 4): Т- смещение режущего инструмента относительно фланца; Ь - длина режущего инструмента; Б - угол, задающий поворот режущего инструмента вокруг фланца ро-
бота. С учетом этих параметров матрица положения и ориентации режущего инструмента относительно системы координат фланца будет иметь вид:
X -
cos( D) -sin( D) 0 - L
sin( D) cos( D) 0 0
0 0 1 T
0 0 0 1
. (7)
Системы координат сегментов траектории резки формируются следующим образом: ось X всегда направляется вдоль траектории лазерной резки; ось Zi представляет собой нормаль к поверхности заготовки; ось К формирует совместно с осями X, Zi правостороннюю систему координат. Тогда соответ-
ствующие матрицы преобразования имеют вид:
0t _ Worldt _ Worldt x WpieceT
Яапт Янnrn l.i niora -*- Я.
Segnii
Wplece
Segml'
(8)
где
Wpiecej^
И
World r
ЧЬцщ " ^реесе - матPицы, описывающие положение и ориентацию сегмента траектории с номером У относительно заготовки и системы координат заготовки относительно базовой координатной системы.
"TCP " Tool Center Point
Рис. 4. Параметризация режущего инструмента
С учетом матриц преобразования (5)-(8) планирование траектории лазерной резки может быть произведено путем последовательного совмещения системы координат, связанной с рабочей точкой режущего инструмента, с системами координат сегментированного контура 15ет , причем угол поворота у вокруг оси и остается свободным параметром:
Tsegmt х Rz(у) - TRobot(qX
(9)
где ТКоЬо1 (д) - матрица, описывающая положение и ориентацию режущего инструмента в мировой системе координат в зависимости от вектора д, задающего значения углов в сочленениях манипу-
лятора, °ТКоШ(д) =0 Т {; &(у) - матрица поворота режущего инструмента на угол у вокруг нормали к поверхности заготовки .
Отметим, что изменения величины угла у в диапазоне у = 2п//2; / = 0...к могут быть использованы как для обхода столкновений при движении манипулятора, так и для оптимизации траектории.
Для перехода к обобщенным координатам решается обратная задача кинематики для робота-манипулятора
q - k ( %egnit х R (У) ),
(10)
где к() - функция вычисления обратной задачи кинематики робота-манипулятора; д - вектор, задающий углы в со-
членениях манипулятора.
Применением преобразования (10) для всех ранее полученных сегментов вдоль контура резки формируются траектории робота в пространстве обобщенных координат, соответствующие допустимым локациям режущего инструмента.
Сглаживание траектории в окрестности узловых точек. Движение режущего инструмента вдоль участка траектории обычно делится на три этапа: разгон, движение с постоянной скоростью и торможение, длительность которых привязана к параметру квантования Т0, обеспечиваемому системой управления роботом. Каждый этап выполняется за 2.4 такта квантования Т0, при этом при планировании траектории
роботизированной лазерной резки важно соблюсти «качество» стыковки двух сегментов. Стыковка может быть реализована путем остановки режущего инструмента в точке стыковки, однако вместе с тем происходит пережигание материала заготовки. Поэтому целесообразно обеспечить движение режущего инструмента с постоянной скоростью, причем при приближении к точке стыковки необходимо выполнить сглаживание траектории для плавного перехода на следующий участок. При этом режущий инструмент проходит на расстоянии 81 от точки стыковки (рис. 5, а), причем 81 увеличивается с ростом угла между прямолинейными участками траектории (рис. 5, б).
Рис. 5. Сопряжение сегментов траектории режущего инструмента
Современные системы управления роботами-манипуляторами позволяют достаточно эффективно реализовать сглаживание путем применения соответствующих программных инструкций. При этом на этапе планирования траектории лазерной резки необходимо определить минимально допустимую длину сегмента с учетом реальных ограничений системы управления.
Опишем два состыкованных прямолинейных сегмента векторами (см. рис. 5, б). При выполнении интерполяции траектории на каждом сегменте системой управления производится изменение параметра а, причем в начальной точке сегмента этот параметр равен 1, а в конечной - 0. При сопряжении сегментов торможение на первом сегменте совмещено с разгоном на вто-
ром. Это позволяет обеспечить движение режущего инструмента в окрестности точки сопряжения сегментов. Тогда при движении без остановки в окрестности точки сопряжения результирующий вектор будет иметь вид:
Р0-2 = аР + (1"«1) Р +
+ (1 -«2)(Р2 - Р). (11)
отклонение траектории определяется по формуле
Р - Р =ах( Р -Р?) + «2( Р -ф = = а(* -т)2 Р0-1 + Ь? Р2-1. (14)
При равенстве пути разгона и пути торможения (а = Ь) и £ = т/2 в точке стыковки сегментов величина отклонения
Выражение (11) можно перегруппировать относительно Р1 :
Р-Р2 =а1(Р0 -р) + + (1 -а2)(Р2 -ф. (12)
Зависимости величины параметра а от времени при торможении и разгоне имеют вид:
а
1(t)_a(t-т)2; а^/)_bt2, (13)
- - 1 2- 1 2-Р- Р = а- т2 Р0-1 + а4 т2 Р~2-1. (15)
Каждое слагаемое выражения (15) равно БР/4, где Бр - длина участка траектории, на которой происходит разгон режущего инструмента (рис. 6). Тогда максимальную величину отклонения 81 можно определить как
8, _ 2—sin 1 4
а^ St а 90°--l_— cos—,
2 J 2 2'
(16)
где £ - время; а, Ь - коэффициенты; т - конечное значение времени на интервале разгона и торможения.
Тогда на интервале времени £ е [0, т]
где Бт - длина участка траектории, на которой происходит торможение режущего инструмента.
Рис. 6. Искажение траектории лазерной резки в точках сопряжения сегментов
Длительность участков разгона и торможения должна соответствовать ограничениям по скорости и ускорению
— ¿тах; М — Smax, Машиностроение
\qi(t)| ^ qimax; Ь(t)| ^ qmax; 1 _ 1. 6, (17)
где s(t) - закон движения рабочей точки режущего инструмента; q(t) - обобщенные координаты робота-манипулятора.
Ограничения (17) можно записать в виде
T>max<
As . Aq . Aq2 . . AC6
? . ? .
qimax q2r
>. (18)
Сбг
Если (а5 у5 2р) и (Xе уЕ 2е) - координаты начальной и конечной точек участка разгона (торможения), то
У я! ••• Яб ) и (ЯЕ ?2е ... я6Е) - обобщенные координаты, соответствующие начальной и конечной точкам участка разгона (торможения).
As=
Aq = С - с§
(19)
При этом минимальная величина т ограничена количеством тактов квантования системы управления
Т > nmin ' T0,
(20)
где Яшь = 2...4.
Тогда с учетом ограничений (18) и (20) выражение для определения минимальной длины сегмента будет иметь вид:
х max
Asmin _ ST0 Х
nmin' 1 + int
T • S
V 0 Jmax у
(21)
Выводы
Разработаны новые эффективные методы и алгоритмы для планирования траекторий роботов-манипуляторов в технологическом процессе лазерной резки. Предложенный метод планирования траектории обеспечивает сегментацию контура движения режущего инструмента линейными и дуговыми участками, поиск допустимых локаций робота-манипулятора и сглаживание траектории с учетом ограничений системы управления. Приведенные алгоритмы позволяют учесть реализацию системой управления роботом команд движения по линейным и круговым сегментам. Разработанные методы и алгоритмы могут быть применены при создании интеллектуальных систем управления промышленными роботизированными технологическими комплексами для высокоскоростной лазерной резки.
СПИСОК ЛИТЕРАТУРЫ
1. Dolgui, А. Multiobjective optimisation of robot motion for laser cutting application / А. Dolgui, A. Pashkevich, O. Chumakov // International Journal Of Computer Integrated Manufacturing. - Tailor and Francis, London. - 2004. - Vol. 17, № 2. - P. 171-183.
2. Dolgui, А. Manipulator motion planning for high speed robotic laser cutting / A. Dolgui, A. Pashkevich // International Journal of Production Research. - Tailor and Francis, London. - 2009. - Vol. 47, № 20. - P. 5691-5715.
3. Moharana, B. Optimization and Design of a Laser-Cutting Machine using Delta Robot / B. Moharana, R. Gupta, B. K. Kushawaha // International Journal of Engineering Trends and Technology. - 2014. - Vol. 10, № 4. - P. 176-179.
4 Dolgui, А. Manufacturing process planning for laser cutting robotic systems / A. Dolgui, A. Pashke-vich // Proceedings of the 17th World Congress The International Federation of Automatic Control Seoul, Korea, July 6-11, 2008. - P. 14822-14827.
5. Кожевников, М. М. Планирование оптимальных траекторий промышленных роботов-манипуляторов на основе статистических моделей конфигурационного пространства / М. М. Кожевников, О. А. Чумаков, И. Э. Илюшин // Информационные технологии и системы: материалы Междунар. науч. конф. - Минск: БГУИР, 2013. - С. 58-59.
Статья сдана в редакцию 20 марта 2019 года
Михаил Михайлович Кожевников, канд. техн. наук, Могилевский государственный университет продовольствия. Тел.: +375-222-64-96-76.
Олег Анатольевич Чумаков, канд. техн. наук, Белорусский государственный университет информатики и радиоэлектроники. Тел.: +375-172-93-86-73.
Владимир Михайлович Шеменков, канд. техн. наук, Белорусско-Российский университет. Тел.: +375-222-23-02-53.
Игорь Эдуардович Илюшин, Могилевский государственный университет продовольствия. Тел.: +375-222-64-96-76.
Mikhail Mikhailovich Kozhevnikov, PhD (Engineering), Mogilev State University of Food Technologies. Phone: +375-222-64-96-76.
Oleg Anatolievich Chumakov, PhD (Engineering), Belarusian State University of Informatics and Radioelec-tronics. Phone: +375-172-93-86-73.
Vladimir Mikhailovich Shemenkov, PhD (Engineering), Belarusian-Russian University. Phone: +375-222-23-02-53. Igor Eduardovich Ilushin, Mogilev State University of Food Technologies. Phone: +375-222-64-96-76.