МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ДЛЯ ОПРЕДЕЛЕНИЯ ОТКЛОНЕНИЙ ИНСТРУМЕНТА ОТ ЖЕЛАЕМОЙ ТРАЕКТОРИИ В ПРОЦЕССЕ РОБОТИЗИРОВАННОЙ МЕХАНИЧЕСКОЙ ОБРАБОТКИ С УЧЕТОМ ЖЕСТКОСТИ РОБОТА
Аннотация и ключевые слова
Аннотация:
В статье рассмотрены преимущества и недостатки использования промышленных роботов для управления инструментом в процессе механической обработки. Сделан вывод о том, что основным недостатком роботов является их низкая жесткость. Разработана математическая модель для расчета отклонения инструмента от желаемой траектории в процессе роботизированной механической обработки. Для прогнозирования отклонений в предложенной модели используется метод виртуальных пружин, обеспечивающий разумный компромисс между точностью моделирования и вычислительной сложностью. Модель реализована в Matlab с использованием пакета Robotics System Toolbox и URDF-описания промышленного робота. Она включает в себя учет внешних сил, моментов, а также динамических параметров, таких как скорость и ускорение, звеньев робота. Отклонения инструмента рассчитываются как в конфигурационном, так и в декартовом пространствах. Приведены результаты апробаций модели на тестовой траектории движения инструмента на примере промышленного робота ABB IRB 120. По результатам моделирования сделан вывод о существенном влиянии конфигурации робота на точность движения инструмента. Показано, что даже при отсутствии внешних нагрузок неудачный выбор конфигурации робота может вызывать значительные отклонения инструмента под действием силы тяжести. Разработанная модель может применяться как инструмент для повышения точности роботизированной обработки и оптимизации параметров производственного процесса.

Ключевые слова:
промышленный робот, динамическая жесткость, метод виртуальных пружин, траектория движения, Matlab
Текст
Текст (PDF): Читать Скачать

Введение. Роботизация является одной из основных тенденций современной промышленности. Промышленные роботы могут использоваться для выполнения большого количества различных задач, в частности, широкое распространение получили роботы для захвата, транспортировки и установки заготовок и деталей, сборки изделий и укладки готовой продукции. Роботизация не обошла стороной и сферу механической обработки. И хотя в ней задействованы лишь
1,4 % от общего числа промышленных роботов [1], роботизированная механическая обработка вызывает все больший интерес у современных исследователей.

Роботы, используемые в механической обработке, делятся на три категории в зависимости от выполняемых операций:

  •  роботы для захвата, перемещения и базирования заготовки – используются для точного позиционирования заготовки перед механической обработкой, выполняемой без непосредственного участия робота;
  •  роботы для захвата, перемещения и удержания заготовок – используются для удержания и управления заготовкой в процессе обработки;
  •  роботы для захвата и удержания инструмента – используются для удержания и управления режущим инструментом в процессе обработки.

Наибольший интерес для исследований и дальнейшего развития представляют роботы третьей категории. В настоящее время механическая обработка, как правило, выполняется при помощи металлорежущих станков с ЧПУ. Однако по сравнению с ними промышленные роботы обладают рядом преимуществ. Во-первых, промышленные роботы имеют большее рабочее пространство, что упрощает обработку крупногабаритных деталей [2]. Во-вторых, промышленные роботы обладают большей гибкостью, то есть могут выполнять больший спектр различных задач в постоянно меняющихся требованиях производства. В-третьих, эксплуатация промышленных роботов зачастую обходится дешевле, а их внедрение способствует снижению себестоимости механической обработки до 30 % [3].

Несмотря на описанные преимущества, широкое внедрение промышленных роботов в механическую обработку ограничено рядом их недостатков [4]. Одним из основных недостатков является сложность их программирования. В отличие от станков с ЧПУ, для которых существует единый стандартизированный язык программирования, промышленные роботы используют собственные уникальные языки, определяемые производителями, что усложняет процесс их внедрения в производство, поскольку при этом требуется дополнительное обучение персонала. Однако главными недостатками промышленных роботов по сравнению со станками с ЧПУ являются их более низкая точность и недостаточная повторяемость операций: наибольшее распространение в механической обработке получили роботы с последовательной кинематической структурой, в которой каждое отдельное звено несет на себе вес всех последующих, что приводит к увеличению массы отдельных элементов конструкции и способствует большему отклонению инструмента от желаемой запрограммированной траектории, из-за чего снижается и точность обработки. Поэтому важной задачей является прогнозирование и компенсация отклонений инструмента от желаемой траектории в процессе механической обработки [5].

Описание модели. Для предварительной оценки отклонения инструмента в среде моделирования Matlab была разработана математическая модель в виде скрипта. Расчет отклонения инструмента состоит из нескольких этапов:

  1. Инициализация параметров промышленного робота;
  2. Импорт траектории движения инструмента и инициализация параметров процесса обработки;
  3. Формирование траектории движения рабочего органа робота;
  4. Моделирование процесса воспроизведения рабочим органом заданной траектории с внешним усилием и определение отклонений инструмента.

На первом этапе расчета определяются параметры промышленного робота. Для работы с роботами в Matlab используется пакет Robotics System Toolbox. При этом робот представляется в виде объекта rigidBodyTree, в котором кинематическая структура робота представляется в виде иерархического соединения жестких тел (звеньев) и соединяющих их шарниров. Создать объект rigidBodyTree можно двумя способами: с помощью представления Денавита-Хартенберга и с помощью файла в формате URDF (Unified Robot Description Format) – формат, используемый для описания роботов в Robotic Operating System (ROS). В первом случае в среде Matlab создается матрица с параметрами Денавита-Хартенберга для моделируемого робота, по которой последовательно создаются его соединения – звенья и шарниры. А во втором случае, файл в формате URDF импортируется в Matlab с помощью функции importrobot. Второй подход является более универсальным, поскольку он позволяет учесть не только кинематическую структуру робота, но и его динамические свойства, такие как массу, центр тяжести, коэффициент трения и тензор инерции каждого звена, а также ограничения поворота шарниров, тогда как представление Денавита-Хартенберга информацию о данных параметрах не содержит.

Описание робота в формате URDF может быть составлено вручную или же с помощью специальных инструментов. Например, плагин SW2URDF позволяет создавать файл в формате URDF с описанием промышленного робота на основе его твердотельной модели в SolidWorks. Кроме того, большое количество готовых URDF-файлов для промышленных роботов уже разработаны сообществом и производителями роботов. В частности, большой вклад в адаптацию ROS для промышленных приложений и разработку открытых библиотек для этих целей внес проект ROS-Industrial [6].

Кроме кинематических и динамических характеристик, важным параметром робота является его жесткость. В робототехнике могут использоваться три подхода к моделированию жесткости: метод конечных элементов (МКЭ), матричный структурный анализ (МСА) и метод виртуальных пружин (МВП) [7].

При использовании МКЭ сложная структура робота разбивается на некоторое конечное число простых элементов, связь между которыми определяется с помощью соответствующих матриц жесткости. Преимуществом использования МКЭ является его высокая точность и возможность определения деформации в любой отдельно взятой части робота, а недостатком – высокая сложность вычисления. Возможность применения такого подхода зачастую ограничена памятью компьютера.

Метод МСА является упрощением МКЭ – в этом случае в качестве конечных элементов используются достаточно большие элементы – 3D-балки, при этом их количество, как правило, соответствует количеству звеньев робота. Преимуществом использования МСА является более простая по сравнению с МКЭ модель для анализа жесткости, а недостатком – трудность применения для анализа робота в нагруженном состоянии [8]. МКЭ и МСА как правило используются для анализа жесткости робота на стадии его проектирования, когда важна точность, а не скорость вычислений.

МВП является наиболее простым в реализации подходом для анализа жесткости робота. В этом случае в стандартную жесткую недеформируемую модель добавляются виртуальные пружины, которые описывают упругие деформации звеньев робота. Такой подход обеспечивает разумный компромисс между точностью модели и вычислительной сложностью [9]. Преимуществом МВП является возможность его использования для прогнозирования и компенсации отклонения инструмента при механической обработке в режиме онлайн, то есть непосредственно в процесс обработки, а недостатком – сложность корректного подбора коэффициента жесткости пружин.

В разработанной модели для ускорения расчета используется МВП. В этом случае жесткость робота выражается в виде диагональной матрицы, размерность которой зависит от количества звеньев робота:

KΘ=diag(k1,k1, …, kj) ,            (1)

где KΘ – конфигурационная матрица жесткости; kj – коэффициент жесткости j-го звена.

Для определения коэффициентов жесткости могут использоваться два подхода: аналитический и экспериментальный. В первом случае жесткость каждого звена робота рассчитывается на основе жесткости его отдельных элементов (таких как электродвигатель, вал, зубчатый ремень, волновой редуктор и др.) [10], а во втором для определения жесткости проводится серия экспериментов [11]. Экспериментальный подход является более точным, но требует больших временных затрат. Исследования показывают, что погрешность аналитического подхода для определения жесткости может достигать 17 % [12].

На втором этапе расчета определяется желаемая траектория движения инструмента. Для этого используется файл в формате .csv, который импортируется в Matlab с помощью функции readtable. Помимо траектории движения инструмента, входным параметром модели для расчета отклонений является и сила в процессе резания, которая в каждой точке движения инструмента представлена в виде матрицы:

F=FXFYFZTXTYTZT ,             (2)

где FX, FY, FZ – силы, воздействующие на инструмент в процессе обработки вдоль осей X, Y и Z соответственно; TX, TY, TZ – крутящие моменты, воздействующие на инструмент в процесс обработки вдоль осей X, Y и Z соответственно.

На третьем этапе расчета на основе желаемой траектории движения инструмента строится траектория движения рабочего органа робота. Она может быть построена как в декартовом, так и в конфигурационном пространствах. Для задач механической обработки оптимальным является второй подход, так как он позволяет достичь высокой точности и плавности движения рабочего органа и инструмента, а также учитывает физические и кинематические ограничения робота, хотя и является более ресурсозатратным для реализации, поскольку в этом случае на каждом шаге вычислений приходится решать обратную задачу кинематики (ОЗК) [13].

Robotics System Toolbox позволяет использовать аналитические и численные методы для решения ОЗК. В разработанной модели используется аналитическое решение, составленное с помощью функций analyticalInverseKinematics и generateIKFunction. Для генерации траектории движения рабочего органа используется функция minjerkpolytraj, которая позволяет создать плавную траекторию с минимальным рывком, что особенно полезно в задачах, где требуется минимизировать вибрации и обеспечить плавность движения рабочего органа и инструмента, например, при полировке.

На четвертом этапе рассчитываются отклонения инструмента в каждой точке его движения. Как правило, расчет отклонений проводится в декартовом пространстве. Для этого из (1) определяется декартова матрица жесткости:

KX=J-T(KΘ-KC)J-1 ,                   (3)

где KX – декартова матрица жесткости; J – матрица Якоби для робота в его текущей точке; KC – комплементарная матрица жесткости, которая описывает влияние взаимодействий между различными степенями свободы робота на его жесткости.

В том случае, если робот в анализируемой конфигурации находится вдали от сингулярных положений, матрицей KC при расчетах можно пренебречь [14]. Кроме того, для расчета отклонений инструмента удобнее работать не с матрицей жесткости, а с матрицей податливости:

CX=KX-1=J(KΘ-KC)J ,         (4)

где CX – декартова матрица податливости:

CX=CttCtrTCtrCrr ,

где Ctt – матрица, отвечающая за линейные перемещения инструемента; Ctr – матрица, которая описывает взаимосвязь между линейными и угловыми перемещениями инструмента; Crr – матрица, отвечающая за угловые перемещения инструмента.

Зная матрицу податливости CX и вектор внешних сил и моментов F, можно определить отклонения инструмента в любой точке траектории:

ΔX=CXF ,                           (5)

где ΔX – вектор отклонений инструмента в декартовом пространстве, который представляет собой матрицу размерностью 6×1:

ΔX=dxdydzδxδyδzT ,      (6)

где dx, dy, dz – отклонения инструмента вдоль осей X, Y и Z соответственно; δx, δy, δz – отклонения углов поворота инструмента вокруг осей X, Y и Z соответственно.

Недостатком такого порядка расчета отклонений является отсутствие учета динамических параметров выполняемого процесса, а именно скоростей и ускорений шарниров, а также моментов сил, возникающих в шарнирах робота при движении инструмента по заданной траектории. Чтобы учесть динамические параметры процесса, необходимо перейти от декартового к конфигурационному пространству.

Для определения скоростей и ускорений шарниров в разработанной модели используется численное дифференцирование методом правосторонней разности [15], которое осуществляется сразу после генерации траектории движения рабочего органа. После чего, для расчета моментов сил решается обратная задача динамики (ОЗД). В Robotics System Toolbox для этого используется функция inverseDynamics, в основе которой лежит уравнение динамики робота [16]:

τ=Mqq+Cq,qq+Gq+J(q)TFext , (7)

где M(q) – матрица масс в конфигурационном пространстве для конфигурации q; q  – ускорения шарниров робота;  Cq,q  – матрица кориолисовых и центробежных сил для конфигурации q при скоростях шарниров q ; G(q) – вектор сил и моментов гравитации, необходимых для удержания всех шарниров при заданной гравитации; J(q) – геометрический Якобиан; Fext – матрица внешних сил.

При этом важно отметить, что матрица Fext – это не тоже самое, что и матрица F из (2). Матрица Fext содержит информацию о силах, действующих не только на инструмент, но и на другие звенья робота, а для ее создания используется функция externalForce.

По рассчитанным моментам сил можно по закону Гука определить отклонения шарниров в конфигурационном пространстве [17]:

Δq=KΘ-1τ .                        (8)

Тогда угол поворота шарниров (конфигурация робота) с учетом отклонений:

q=qт+Δq ,                      (9)

где q – матрица с углами поворота шарниров,
qс – матрица с созданными с помощью решения ОЗК углами поворота шарниров, необходимыми для движения инструмента по заданной траектории.

Чтобы перейти от конфигурационного к декартовому пространству нужно решить задачу прямой кинематики для углов поворота шарниров q. В Robotics System Toolbox для этого используется функция getTransform, которая позволяет получить матрицу однородного преобразования между выбранным звеном, в нашем случае инструментом, и базовой системой координат. Чтобы определить декартовые координаты из полученной матрицы однородного преобразования нужно использовать функцию tform2trvec для определения декартовых координат положения инструмента и функцию tform2eul для определения углов Эйлера, описывающих поворот инструмента в пространстве. Отсюда отклонения инструмента определяются как разность между желаемой и рассчитанной траекторией.

Основная часть. Разработанная модель для расчета отклонений инструмента была испытана на тестовой траектории движения инструмента из [18]. Тестовая траектория задается системой уравнений:

&x=rcosΘ&y=rsinΘ&z=R2-r2sin2Θ ,            (10)

где были приняты следующие значения: r = 0,15 м; R = 0,5 м; θ = [0, 2π].

В качестве робота был выбран промышленный робот ABB IRB 120, матрица жесткости которого представлена в [12], а описание в формате URDF взято из [6].

На рис. 1 показано визуальное отображение выбранной модели робота в Matlab и тестовой траектории в начальной точке движения инструмента.

Значения сил и моментов в моделируемом процессе возрастали по экспоненциальному закону:

F(t)=FМ(1-e-αt) ,             (11)

где FМ – максимальное значение силы в процессе обработки; α – параметр, определяющий скорость роста силы. В качестве значений были выбраны:

FМ=5 5 20 0,3 0,3 0,1T ;

α=5 .

Время прохождения инструментом по заданной траектории было выбрано равным 10 с. Рассчитанные в результате моделирования такой траектории суммарные отклонения инструмента по ориентации и положению показаны на рисунке 2, а на рисунках 3 и 4 показаны тестовая и рассчитанная траектория движения инструмента на интервалах времени 0,75–1,25 с и 4,83–5,33 с.

 

Рис. 1. Кинематическая структура робота и моделируемая траектория движения инструмента

Рис. 2. Отклонение инструмента по ориентации и положению

Рис. 3. Траектория движения инструмента на участке времени 0,75-1,25 с

Рис. 4. Траектория движения инструмента на участке времени 4,83-5,33 с

 

 

Выводы

В рамках исследования была разработана математическая модель в Matlab для расчета отклонения инструмента от желаемой траектории в процессе роботизированной механической обработки с использованием метода виртуальных пружин. Разработанная модель была использована для предсказания отклонений инструмента на тестовой траектории.

Анализ полученных графиков (рисунки 2–4) показывает, что наибольшие отклонения инструмента по положению и ориентации наблюдаются на участках времени 0–2 с и 8–10 с, при этом даже в начальной точке, когда на инструмент не действуют внешние силы F, а также скорости и ускорения шарниров равны нулю, отклонения инструмента только под действием силы тяжести больше, чем на участке времени 3–7 с. Это объясняется выбранной исходной конфигурацией робота, которая в данном случае не является оптимальной. Поиск конфигурации с минимальной податливостью требует дополнительного анализа и планируется к рассмотрению в последующих исследованиях.

По полученным результатам можно сделать вывод, что при относительно малых скоростях звеньев основное влияние на отклонения инструмента оказывает конфигурация робота, а не динамические параметры процесса. Поэтому важной задачей, которую нужно решать при роботизированной обработке, является определения оптимального взаимного расположения робота и заготовки: их нужно располагать так, чтобы в процессе обработки робот постоянно находился в конфигурациях, максимально удаленных от сингулярных. Кроме того, при наличии избыточных степеней свободы у робота, нужно обязательно подбирать их оптимальные значения так, чтобы минимизировать отклонения инструмента в процессе механической обработки.

Для повышения точности предложенной модели рекомендуется дополнительно учитывать зазор между сочленениями робота, которые вносят в каждое звено робота дополнительную степень свободы, собственные колебания промышленного робота, а также использовать более точные подходы к определению параметров жесткости робота.

Список литературы

1. Kiefer D., Luo X., Reimer A., Evans D. Robotic Machining: Status, Challenges and Future Trends // Proceedings of the 28th International Conference on Automation and Computing (ICAC). Birmingham, United Kingdom. 2023. Pp. 1–6. DOI:https://doi.org/10.1109/ICAC57885.2023.10275148.

2. Barsan A. A Brief Review of Robotic Machining // Acta Universitatis Cibiniensis. Technical Series. 2019. № 71. Pp. 9–13. DOI:https://doi.org/10.2478/aucts-2019-0003.

3. Caro S., Dumas C., Garnier S., Furet B. Workpiece placement optimization for machining operations with a KUKA KR270-2 robot // Proceedings of the IEEE International Conference on Robotics and Automation. Karlsruhe, Germany. 2013. Pp. 2921–2926. DOI:https://doi.org/10.1109/ICRA.2013.6630982.

4. Kim S.H., Nam E., Ha T.I., Hwang S. H., Lee J. H., Park S.H., Min B.K. Robotic Machining: A Review of Recent Progress // International Journal of Precision Engineering and Manufacturing. 2019. № 20. Pp. 1–14. DOI:https://doi.org/10.1007/s12541-019-00187-w.

5. Belchior J., Guillo M., Courteille E., Maurine P., Leotoing L., Guines D. Off-line compensation of the tool path deviations on robotic machining: Application to incremental sheet forming // Robotics and Computer-Integrated Manufacturing. 2013. № 29. Pp. 58–69. DOI:https://doi.org/10.1016/j.rcim.2012.10.008.

6. ROS-Industrial [Электронный ресурс]. URL: https://rosindustrial.org/ (дата обращения: 09.04.2025)

7. Wu K., Li J., Zhao H., Zhong Y. Review of Industrial Robot Stiffness Identification and Modelling // Applied Sciences. 2022. Vol. 12. № 17, 8719. Pp. 1–24. DOI:https://doi.org/10.3390/app12178719.

8. Klimchik A., Wu Y., Pashkevich A., Caro S., Furet B. Optimal Selection of Measurement Configurations for Stiffness Model Calibration of Anthropomorphic Manipulators // Applied Mechanics and Materials. 2012. № 162. Pp. 161–170. DOI:https://doi.org/10.4028/www.scientific.net/AMM.162.161.

9. Попов Д.И., Климчик А.С. Моделирование жесткости для шагающих роботов // Компьютерные исследования и моделирование. 2019. Т. 11. № 4. С. 631–651. DOI:https://doi.org/10.20537/2076-7633-2019-11-4-631-651.

10. Chen S., Zhang T., Shao M. A 6-DOF articulated robot stiffness research // Proceeding of the 12th World Congress on Intelligent Control and Automation (WCICA). Guilin, China. 2016. Pp. 3230–3235. DOI:https://doi.org/10.1109/WCICA.2016.7578374.

11. Gao K., Zhou X., Wang R., Fan M., He X. Joint Stiffness Identification Based on Robot Configuration Optimization Away from Singularities // Applied Sciences. 2023. Vol. 13. № 8, 4922. Pp. 1–15. DOI:https://doi.org/10.3390/app13084922.

12. He Z., Song M., Zhang X., Huang G. A New Prediction Method of Displacement Errors Caused by Low Stiffness for Industrial // Robot. Sensors. 2022. Vol. 22. № 16, 5963. Pp. 1–13. DOI:https://doi.org/10.3390/s22165963.

13. Peters J., Schaal S. Learning operational space control // Proceedings of Robotics: Science and Systems (RSS). Philadelphia. 2006. Pp. 1–8.

14. Gao K. Optimization of Robot Milling Accuracy Based on a New Stiffness Performance Index // IEEE Access. 2024. № 12. Pp. 105211-105218. DOI:https://doi.org/10.1109/ACCESS.2024.3435911.

15. Рафальский И.В., Арабей А.В., Лущик П.Е. Прикладная информатика: пособие по специальности 1-42 01 01 «Металлургическое производство и материалообработка (по направлениям)». Минск: БНТУ, 2021.

16. Featherstone R. Rigid Body Dynamics Algorithms: Springer. United States. 2008. 272 p.

17. Souflas T., Gerontas C., Bikas H., Stavropoulos P. On the Optimization of Robot Machining: A Simulation-Based Process Planning Approach // Machines. 2024. Vol. 12. № 8, 521. Pp. 1–25. DOI:https://doi.org/10.3390/machines12080521.

18. Ni H., Ji S., Ye Y. Redundant Posture Optimization for 6R Robotic Milling Based on Piecewise-Global-Optimization-Strategy Considering Stiffness, Singularity and Joint-Limit // Symmetry. 2022. Vol. 14. № 10, 2066. Pp. 1–14. DOI:https://doi.org/10.3390/sym14102066.


Войти или Создать
* Забыли пароль?