Метод автоматизации перемещения плазмотрона шестиосным роботом-манипулятором
Автор: Калашников А. С., Руденко М. С., Кучеренко А. Д., Гирн А. В., Михеев А. Е.
Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau
Рубрика: Технологические процессы и материалы
Статья в выпуске: 4 т.22, 2021 года.
Бесплатный доступ
В статье приставлен метод автоматизации создания траекторий движения плазмотрона шестиостным роботом-манипулятором. Система автоматизации создавалась на базе промышленного робота компании KUKA. Автоматизация создания траекторий движения плазмотрона над поверхностью детали реализована следующим образом: создается траектория движения плазматрона в графическом редакторе в формате .dwg. Созданный файл загружается в CAM-программу для станков с ЧПУ. CAM-программа преобразует вектор или область, заданную векторами, в управляющую команду в g-code формате, которая затем преобразуется в KRL программой, написанной на языке программирования Python. Разработка программы состояла из двух этапов: создание прямолинейных движений и создание криволинейных движений. Представлен результат работы метода.
Плазменное напыление, промышленный робот, python, автоматизация
Короткий адрес: https://sciup.org/148323933
IDR: 148323933 | УДК: 621.785.53 | DOI: 10.31772/2712-8970-2021-22-4-700-707
The method of the automation of the plasmotron movement by six-axis robotic manipulator
The article presents a method for automating the creation of trajectories of the plasmatron motion by a six-axis robotic manipulator. The automation system was created on the basis of an industrial robot from KUKA. The automation of the creation of trajectories of the plasmatron over the surface of the part is implemented as follows: the trajectory of the plasmatron is created in a graphic editor in the .dwg format. The created file is loaded into the CAM program for CNC machines. A CAM program converts a vector or an area specified by vectors into a control command in g-code format, which is then converted to KRL by a program written in the Python programming language. The development of the program consisted of two stages: the creation of rectilinear movements and the creation of curvilinear movements. The result of the method is presented.
Текст научной статьи Метод автоматизации перемещения плазмотрона шестиосным роботом-манипулятором
В аэрокосмической, металлургической, нефтедобывающей промышленности с каждым годом повышаются требования по безопасности, надёжности и долговечности изделий при эксплуатации в экстремальных условиях (воздействие высоких температур, динамических нагрузок, коррозионных сред и т. д.). Для обеспечения этих требований возникает необходимость наносить на изделия защитные покрытия. Одним из способов нанесения защитных покрытий является плазменное напыление, которое широко используют в аэрокосмической технике [1–4].
С каждым годом количество изделий, используемых в ракетно-космической технике, растет, усложняются их форма и размеры [5–8]. В связи с этим способы нанесения плазменных покрытий становятся практически невыполнимыми. Рабочим органом для нанесения покрытий является плазмотрон [9–10]. В плазмотроне создается струя низкотемпературной плазмы, в которую подается порошок материала покрытия, порошок расплавляется под воздействием температуры плазмы и наносится на подложку-изделие. Однако для получения покрытия плазмотрон необходимо перемещать над поверхностью подложки по определённой траектории и с определенной скоростью. Для этого плазмотрон размещают на роботе-манипуляторе, который обеспечивает его движение.
На рынке представлено большое количество промышленных роботов-манипуляторов, которые могут передвигать плазматрон в процессе напыления, например роботы компаний KUKA, Doosan ROBOTICS, АВВ и др. [11–13]. Робот-манипулятор представляет собой шестиосевой промышленный механизм с приводами и редукторами. На установочном фланце оси А6 устанавливается плазмотрон (рис. 1).
Рис. 1. Оси шестиосного промышленного робота-манипулятора и возможность их передвижения
Fig. 1. Axes of a six-axis industrial robotic arm and the possibility of their movement
Существуют плазматроны, которые способны наносить покрытие в сложно достижимые места [14], но без программы автоматизации движения плазматрона их эффективность падает. Компании-производители промышленных роботов предоставляют платные программные обеспечения для создания управляющих программ, возможности функционала которых чрезмерны для передвижения плазмотрона во время нанесения покрытия. Приобретение таких программ- ных обеспечений не целесообразно, однако программирование траекторий в ручном режиме является трудоемким. Поэтому задача разработки метода автоматического управления пере- движения плазматрона промышленным роботом является актуальной.
Система автоматизации процесса управления передвижения разрабатывалась для промышленного робота серии KUKA KR16-2, стоит отметить, что метод может работать и с другими версиями промышленных роботов. В случае перемещения плазмотрона 6-осным роботом KUKA, управление им обеспечивается с переносного программирующего устройства – пульта управления KUKA smartPAD. Роботы-манипуляторы компании KUKA программируется на языке KRL. Траектории движения плазматрона можно задавать следующими видами команд:
-
– движение Point-to-Point (PTP) – перемещение происходит вдоль быстрейшей траектории, которая, как правило, не является прямой линией. Из-за того, что оси робота совершают вращательные движение, нелинейные траектории выполняются быстрее линейных;
-
– линейное движение (LIN) – движение выполняется по прямой линии;
-
– круговое движение (CIRC) – движение по круговой траектории. Задаются вспомогательная (лежащая на траектории) и целевая точки;
-
– движения SPLINE – для сложных изогнутых траекторий [11].
Автоматизация создания траекторий обработки плоской поверхности реализована следующим образом: создается траектория движения плазматрона в графическом редакторе в формате .dwg. Созданный файл загружается в CAM-программу для станков с ЧПУ. CAM-программа преобразует вектор или область, заданную векторами, в управляющую команду в g-code фор- мате, которая затем преобразуется в KRL программой, написанной на языке программирования Python.
Для этого требуются создать программу на пульте управления KUKA smartPAD. Установить начальную точку и сохранить её. Программа на пульте управления сохранятся в двух файлах.
начало
Действия оператора”!
Создание файлов на smartPAD и их сохранение для дальнейшей работы
Python программа
^ конец
Загрузка нового файла управляющей программы в Kuka
Анализ сохраннех файлов и управляющей программы (g-code) и формирование файла управляющей программы в требуемом виде
Создание управляющей программы для детали в САМ программе ________ (g-code) ________
Установка детали и задание начальной точки
Рис. 2. Блок-схема автоматизированного алгоритма создания управляющей программы
Fig. 2. The flowgraph of an automated algorithm for creating a control program
В первом файле формата .src хранится код программы, а во втором файле формата .dat хранятся координаты точек, углы поворота осей и другие необходимые параметры.
Разработанная нами программа на языке Python производит синтаксический анализ файлов с пульта управления KUKA smartPAD и файла траектории в g-code формате с CAM-программы с помощью регулярных выражений, используя модуль re [15]. Затем программа формирует файл с управляющей траекторией, дополняя код программы в файле с форматом .src . Данный файл загружается на пульте управления KUKA smartPAD.
Алгоритм действий создания управляющей программы представлен в блок-схеме на рис. 2.
Созданная программа преобразует g-code формат в KRL в движение LIN, что было реализовано на первом этапе разработки метода. Далее расстояние между точками траектории анализируется и определяется, лежат они на прямолинейном или криволинейном участке, что было реализовано на втором этапе разработки.
Первый этап
На первом этапе реализовано создание прямолинейных траекторий (движение LIN), что необходимо и достаточно для нанесения покрытия на прямоугольные участки поверхности детали.
В созданной траектории движения CAM программой начальная точка задается нулевыми координатами, для этого, как указано в блок-схеме, требуется задать начальную точку, по которой будут пересчитываться все точки траектории. Траектория в g-code формате представлена на рис. 3. Эти данные переводятся в формат KRL. Учитывается возможность наличия изменения координаты по одной оси. Лишние для нас данные, такие как обороты шпинделя и другие, игнорируются.
XI.177Y-32.378
X1.601Y-32.322
XI.458Y-32.232
XI.342Y-32.116
XI.252Y-31.973
XI.196Y-31.812
XI.177Y-31.647
Рис. 3. Задание прямолинейного движения в управляющей программе в g-code формате и в KRL
|
LIN |
{X |
1.177, |
Y -32.378} |
|
LIN |
{X |
1.601, |
Y -32.322} |
|
LIN |
{X |
1.458, |
Y -32.232} |
|
LIN |
{X |
1.342, |
Y -32.116} |
|
LIN |
{X |
1.252, |
Y -31.973} |
|
LIN |
{X |
1.196, |
Y -31.812} |
|
LIN |
{X |
1.177, |
Y -31.647} |
Fig. 3. Specifying a rectilinear motion in the control program in g-code format and in KRL
Второй этап
На втором этапе оценены команды движения CIRC и SPLINE для кривых участков траекторий, так как использование LIN для этих целей приводит к долгому «зависанию» плазмотрона над одной областью, что нарушает расчетный режим напыления. Результаты оценки показали, что для поставленной задачи выгоднее использовать движение SPLINE, так как оно обеспечивает плавное движение с заданной скоростью без «зависаний», в отличие от CIRC.
Алгоритм реализации с движением SPLINE основан на программе первого этапа с дальнейшим анализом точек траектории. Кривую линию CAM-программа делит на множество точек, соответственно, оценивая расстояние между двумя соседними точками по формуле rn = ^(xn+1 - xn )2 + (yn+1 - yn )2, можно определить, лежат они на прямой или кривой линии и, в соответствии, с этим изменить команду линейного движения на SPLINE.
LIN {X 975.198, Y 247.396} SPLINE
SPL {X 975.145, Y 247.579}
SPL {X 975.119, Y 247.772}
SPL [X 975.122, Y 247.967}
SPL {X 975.154, Y 248.159}
SPL {X 975.214, Y 248.341} 5LIN {X 976.686, Y 250.156} ENDSPLINE
LIN [Z 280.168}
LIN [X 974,664, Y 257.487}
Рис. 4. Задание криволинейного движения в управляющей программе (KRL)
Fig. 4. Defining a curvilinear movement in the control program (KRL)
Для достижения этого необходимо устранить отсутствие одной из координат точки при её повторении (при движении параллельно осям X или Y). Начало движения SPLINE задается командой SPLINE и заканчивается командой ENDSPLINE, движение внутри этого блока формируется командой SPL для кривой линии и командой SLIN для прямой линии. Перемещение по оси Z формируется изменением только этой координаты, осуществляется движением LIN. Команды в управляющей программе имеют вид, представленный выше на рис. 4.
Заключение
Созданная программа на языке Python позволяет программировать движение плазматрона на 6-осном роботе-манипуляторе KUKA KR16-2, используя CAM-программу для станков с ЧПУ. При этом упрощается создание траекторий движения плазматрона по поверхности изделий. В таблице представлены этапы автоматизации создания траекторий движения плазматрона. Для визуализации результата программы на установочном фланце робота-манипулятора был установлен маркер, который отобразил заданную траекторию.
Этапы автоматизации создания траекторий
|
№ |
Отображение траекторий |
Вид |
|
1 |
В графическом редакторе |
^^^^^ |
|
2 |
В CAM-программе для станков с ЧПУ |
|
|
3 |
В g-code формате |
X73.500Y-41.038 Х-73.500Y-41.038 X-73.500Y-33.577 X73.500Y-33.577 Х73.500Y-26.115 Х-73.500 X-73.500Y-18.654 Х73.500Y-18.654 |
|
4 |
В KRL |
LIN {X 907.113, Y 209.41} LIN {X 907.113, Y 216.871} LIN {X 1054.113, Y 216.871} LIN {X 1054.113, Y 224.333} LIN {X 1030.237, Y 224.333} SPLINE SPL {X 1030.745, Y 224.91} SPL {X 1031.229, Y 225.514} SPL {X 1031.685, Y 226.142} SPL {X 1032.113, Y 226.793} |
В дальнейшем планируется доработать программу для объемных траекторий, например, используя в CAM-программе чистовую обработку рельефа объемной детали, можно напылять покрытие плазматроном на объемные детали несложных форм, такие как рефлектор. А также планируется уменьшить число шагов алгоритма автоматизации внедрением Python-программы в CAM-программу макросом и рассмотреть другие варианты автоматизации.
Список литературы Метод автоматизации перемещения плазмотрона шестиосным роботом-манипулятором
- Хасуй А. Техника напыления. М. : Машиностроение, 1975. 288 с.
- Кудинов В. В Плазменные покрытия. М. : Наука, 1977. 270 с.
- Михеев А. Е., Колмыков В. А. Повышение эксплуатационных характеристик поверхностей элементов конструкций летательных аппаратов. Автоматизация процессов обработки. М. : МАКС Пресс, 2002. 224 с.
- Зуев, Д. М., Шахматов А. В., Ханов В. Х. Концепция реконфигурируемой космической лаборатории на примере космического аппарата ReshUCube // Космические системы. М. : Перо, 2021.С. 17-18.
- Aysha S. Hameed, Bindu G. R-Single segment approach and landing guidance and control for an unpowered reusable launch vehicle / Aerospace Science and Technology. 2021. No. 115. P. 106777. Doi: https://doi.org/10.1016/j.ast.2021.106777.
- Формирование сложнопрофильных деталей космических аппаратов методом селективного лазерного сплавления / А. И. Ананьев, Ю. П. Борщев, М. Ю. Квардаков и др. // Вестник НПО им. С. А. Лавочкина. 2017. № 1(35). С. 87-92.
- Ethan P. Hopping, Wensheng Huang, Kunning G. Xu. Small Hall Effect Thruster with 3D Printed Discharge Channel: Design and Thrust Measurements // Aerospace. 2021. Vol. 8. P. 227. Doi: https://doi.org/10.3390/aerospace8080227.
- Lawand Lydia, Massimo Panarotto, Petter Andersson, Ola Isaksson, Michael Kokkolaras. Dynamic Lifecycle Cost Modeling for Adaptable Design Optimization of Additively Remanufactured Aeroengine Components // Aerospace. 2020. No. 8. P. 110. Doi: https://doi.org/10.3390/aerospace 7080110.
- Плазмотрон для нанесения покрытий из тугоплавких дисперсных материалов / А. Е. Михеев, А. В. Гирн, Д. В. Раводина, И. О. Якубович // Сибирский журнал науки и технологий. 2018. Т. 19, № 2. С. 365-372. Doi: 10.31772/2587-6066-2018-19-2-365-372.
- Напыление покрытий плазмотроном с подачей порошка спутно плазменному потоку / А. Е. Михеев, А. В. Гирн, И. О. Якубович, М. С. Руденко // Сибирский аэрокосмический журнал. 2021. Т. 22, № 1. С. 194-200. Doi: 10.31772/2712-8970-2021-22-1-194-200.
- Компания KUKA Roboter [Электронный ресурс]. URL: https://www.kuka.com (дата обращения: 28.11.2021).
- Производитель промышленных роботов Doosan Robots [Электронный ресурс]. URL: https://doosanrobots.ru (дата обращения: 28.11.2021).
- Промышленные роботы ABB [Электронный ресурс]. URL: https://new.abb.com/products/ robotics/ru/ (дата обращения: 28.11.2021).
- Плазмотрон для нанесения покрытий на внутренние поверхности изделий / А. Е. Михеев, А. В. Гирн, И. О. Якубович, М. С. Руденко // Сибирский журнал науки и технологий. 2020. Т. 21, № 2. С. 274-278. Doi: 10.31772/2587-6066-2020-21-2-274-278.
- re - Regular expression operations [Электронный ресурс]. URL: https://docs.python.org/3/ library/re.html (дата обращения: 28.11.2021).