Skip to main content

Создание лэйаута в PowerMIll

Данная статья посвящена созданию лэйаута и кинематической модели в CAD программе PowerMill. На примере робота KUKA KR6 R900 на подвижной тележке, используемого в офисе RISE automation в Москве.

 1. Для создания кастомного лэйаута необходимо выбрать референс для дальнейшего редактирования.

Поскольку наш кастомный лэйаут предполагает использование робота KUKA, выберем подходящий референс из стандартной библиотеки роботов. В нашем случае внешние оси (позиционеры, треки) не используются, по этому выбираем стандартный лэйаут робота KUKA KR300

image.png

Находим .mtd и .robconfig файлы выбранного стандартного лэйаута и копируем их в отдельную папку, в которой будут храниться файлы нашего кастомного лэйаута. Предположим папка KR6 R900

image.png

2. Далее необходимо найти CAD 3д модель. В случае с роботами KUKA 3д модели можно найти на сайте KUKA Xpert. Скачиваем архив, в котором находим файлы сборки робота KUKA KR6 R900 и всех осей по отдельности. Файлы моделей осей роботов нужно сохранить в формате STP, или другом формате, который откроется при импорте модели в PowerMill.

Импортируем модели осей по отдельности в PowerMill. Экспортируем оси по отдельности в формате .dmt и сохраняем в папку KR6 R900.

Как правило официальные cad 3д модели роботов сохранены в мировой системе координат робота.

Робот KUKA KR6 R900 установлен на подвижной тележке.

image.png

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

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

image.pngimage.png

image.pngimage.png

Далее используя инструмент Измерение и Трансформируя стол, подгоняем грани столешницы к значениям с реального робота

image.png

image.png

image.png

image.png

Таким образом мы подогнали 3д модель стола под необходимые координаты по осям Y и Z. В данном случае ограничимся этими осями. Для того чтобы подогнать положение по оси X, нам бы потребовалось найти еще одну грань с ярко выраженной точкой на оси X.

Далее экспортируем модель тележки в формате .dmt

Помимо 3д модели робота, нам понадобится Datasheet на модель KR6 R900. Находим его там же на сайте KUKA Xpert или просто в гугле.

image.png

3. В папке KR6 R900 открываем файл KR300.mtd используя текстовый редактор по типу NotePad++. 

image.png

В первую очередь необходимо отредактировать блоки Machine part, в них содержится информация о осях робота, их кинематике и структуре взаимодействия.

На примере разберем блок  RobotAxis2, в котором содержится информация о второй оси робота

image.png


<control_info ADDRESS="A" (Уникальный айди данной оси) MIN="-185" MAX="185" (Лимиты перемещения оси, берутся из datasheet) PRIORITY="AUTO" (Дефолтная настройка приоритета оси, можно настроить в софте) HOME="0" (домашнее положение оси) />

<simple_rotary X="350.0" Y="0.0" Z="675.0" (Координаты расположения оси вращения оси, берутся из datasheet) I="0" J="1" K="0" (Направление СК вращения оси, в данном случае оставляем как есть) />

image.png

<dmt_file>
          <path FILE="KR300-R2500/BC.dmt" (Здесь указывается имя файла 3д модели нужной оси. Файл должен иметь расширение .dmt и находиться в одной папке с файлом KR300.mtd)  />
          <rgb R="255" G="110" B="0" (Здесь можно задать цвет 3д модели. В данном случае оставляем стандартный цвет KUKA)  />
 </dmt_file>

 <dmt_file>
          <path FILE="KR300-R2500/BCMotor.dmt" /> 
          <rgb R="50" G="50" B="50" />
  </dmt_file> (в данном сегменте добавляется 3д модель двигателя 2 оси робота. В нашем случае такой 3д модели нет, по этому данный сегмент необходимо удалить)

image.png

Далее описываются правила взаимодействия гидравлического балансира робота, а в частности объектов piston и cylinder. Эти объекты присутствуют на роботе KUKA KR300, лэйаут которого мы взяли за основу. В нашем роботе KR6 R900 балансир отсутствует, по этому данные блоки необходимо удалить. 

image.png

Итоговый вид блока RobotAxis2.

По такой же логике проходимся по остальным блокам RobotAxis.  

Модель тележки мы добавляем выше описания робота. Блок с описанием тележки будет выглядеть следующим образом: 

image.png

После этого мы можем загрузить получившийся лэйаут в библиотеку PowerMill и открыть его. Для этого добавляем лэйаут в окне библиотека роботов, задаем название и указываем путь к .mtd файлу KR6R900

image.png

В папке CustomSchemas находим наш лэйаут из двойным нажатием открываем его.

Если в .mtd файле допущены ошибки, то PowerMill покажет уведомление с указанием строки где допущена ошибка.

image.png

После успешного открытия обнаруживаем что система координат инструмента отсутствует.

Возвращаемся в .mtd файл и находим блоки head_attach_point и table_attach_point в начале документа.

image.png

В строке head_attach_point указывается точка крепления инструмента. Для шпинделя эта точка будет находится на патроне для фрезы. в нашем случае к 6 оси робота крепится инструмент с карандашом.

Взглянем на координаты откалиброванной точки tcp на роботе. 

image.png

Видим, что длина инструмента равна 99.7 мм, а смещение по оси X = -1.4 мм

В соответствии с этими данными можем выставить head_attach_point в центре фланца робота со смещением по оси Х. 

Координаты центра фланца относительно мировой СК берем так же из datasheet image.png