Декабрь 2010. Робот для лазерной резки специального стекла KUKA KR60HA.
Заказчик, в собственности которого этот робот оказался, поначалу не предполагал, что ему потребуется задействовать этот уникальный агрегат по управляющей программе (предполагалось, что программы будут набираться с пульта управления вручную), поэтому никаких программных пакетов для генерации управляющих программ закуплено не было. Тем не менее, этот же Заказчик - пользователь NX (Unigraphics) и все модели разрабатывает в этом пакете. Естественно, обозначилась проблема - "Как получить траекторию движения инструмента робота из Unigraphics NX?".
Попытки обратиться в российское представительство KUKA результатов не принесли, все ответы сводились либо к коммерческим предложениям на закупку нового (недешевого) программного обеспечения, либо к категорическому "Это секретная информация!".
Пришлось обратиться непосредственно в KUKA.de и - огромное спасибо службе технической поддержки (Martin Hintermayr) - оперативно были получены все ответы на поставленные вопросы по форматам управляющих KRL-программ, получены руководства по программированию. Более того, первые тестовые программы были любезно проверены на наличие синтаксических ошибок и т.п.
Каким образом была получена управляющая программа?
Первый опыт был проделан на "поздравительной открытке" - на носу НОВЫЙ 2011-й год! Текст этой картинки был сформирован в NX, размещен на листе A4.
А вот для получения управляющей программы пришлось обойтись БЕЗ модуля мехобработки в NX! Почему? Заказчик - научно-исследовательский институт и располагал всего лишь 1-й лицензией на CAD-модуль NX. Поэтому как формирование траектории так и ее постпроцессирование пришлось выполнить в библиотеке UGOPEN.
Программы успешно были отработаны на роботе, ниже - результат.
Пока нет возможности выключать лазер при переходе от одного контура к другому - чуть позже.
Приведенный опыт - самый первый в получении управляющей программы для робота KUKA из NX. в планах - получение многоосевых программ для резки сложных пространственных конструкций (для чего этот робот и приобретался)
24 декабря 2010
Для получения траектории движения робота было создано небольшое приложение UGOPEN, формирующее положение "инструмента" на обрабатываемой поверхности в соответствии с определенными требованиями. Дело в том, что в отличие от вращающейся фрезы для решения описываемой задачи необходимо должным образом ориентировать инструмент по отношению к траектории и к обрабатываемой поверхности, для чего совершенно недостаточно просто описать положение вектора инструмента (как это делается во фрезерной обработке). Самая близкая аналогия, которая приходит на ум - полет самолета по определенному маршруту, когда в каждой точке определены положение самолета, углы крена, тангажа и рыскания.
28 декабря 2010.
Я долго бился с задачкой вычисления углов Эйлера для этого робота и для облегчения жизни всех столкнувшихся с аналогичной задачей размещаю здесь небольшую форму для вычисления углов Эйлера по компонентам векторов повернутой системы координат X1Y1Z1. Результат расчета будет отправлен на указанный e-mail, поэтому - указывайте корректные адреса электронной почты. А мне будет любопытно узнать, кто воспользовался этим "калькулятором".
I have long struggled with puzzles calculate the Euler angles for the robot and to make life easier all faced with a similar problem post here a short form for calculating the Euler angles of the components of the vectors rotated coordinate system X1Y1Z1. The result of calculation will be sent via e-mail, so - specify the correct email address. And I'll be curious to find out who used this "calculator".
Это мой первый опыт программирования в PHP и я вполне допускаю, что при рассчете углов могут быть допущены неточности или ошибки. Буду благодарен всем сообщившим о замеченных неточностях.
This is my first experience programming in PHP and I fully admit that the calculation of angles may be inaccuracies or errors. I would be grateful to all report any bugs or inaccuracies found.
24 января 2011 г.
Мой первый ONLINE постпроцессор, позволяющий конвертировать исходный CLS-файл в KRL-файл для робота KUKA. Применяемый алгоритм пересчета вектора ориентации инструмента в углы Эйлера всегда выдает A=0.0, т.е. превращает робот в 5-осевой фрезерный станок
Продолжение следует!