ООО «СинкТвин Технологии» +7 925 353-56-35 info@synctwin.ru

6-axis articulated robot (KUKA KR16, genserkins)

6-осевой шарнирный промышленный робот (serial 6R arm) на LinuxCNC genserkins. Геометрия по умолчанию = KUKA KR16 (Craig modified-DH, disk-verified FK 0.00 мм). DH-таблица — параметр, так что генератор переиспользуется для любого 6R-арма. Генерирует .ini + DH-HAL (+ standalone .hal + tools.tbl). Без назначенных приводов — вирт. оси (loopback); назначили серво суставам — рендерится EtherCAT.

R&Dдвойник и конфигурация; на железе не проверено

Паспорт типа станка

Оси, кинематика, рабочий орган

Тип станка — это кинематика и то, что конструктор умеет напечатать; числа экземпляра (ход, скорости, пределы) живут в двойнике конкретного станка.

Кинематика LinuxCNCgenserkins
КоординатыX Y Z A B C
ОсиX · Y · Z · A · B · C
Рабочая зона, мм370 × 190 × 284
Макс. подача18 000 мм/мин
Обороты головынет шпинделя
Рабочий орган по умолчаниюЗахват — Схват (пневматический или сервоприводной): берёт заготовку, переносит, ставит. Датчик зажима подтверждает, что деталь действительно взята.
E-STOP · щупесть · нет
Что печатает конструктор.ini · .hal · tools.tbl · kuka_kr16.tbl
Карточка станка

Что настраивается в двойнике

Шесть блоков карточки одинаковы у всех пород; поля ниже — те, что читает конструктор этого типа станка (имена из реестра, 30 полей).

  1. Оси — требования. Ход и рабочий диапазон, скорость и ускорение, роль в кинематике, передача механики. Всё, что нужно программе; приводное — у стенда.
  2. Рабочий орган. Голова на фланце: шпиндель, горелка, захват, лазер — объявляет сигналы, оси и глаголы программе.
  3. Инструмент и слоты. Стол слотов, вылет с названным происхождением; программа ссылается на слот, не на фрезу.
  4. Установка и ноль. Место детали и ноль живут в установке двойника, не в программе.
  5. «Сделать текущим». Выбор стенда и профилей его осей по ролям: станок к стенду не привязан — профили осей стенда.
  6. Монитор. DRO, строка, 3D по факту, съём материала — обратная связь.

Оси и ход

cartesian_reach_mm · clamp_max_acceleration_mm_s2 · clamp_max_velocity_mm_s · dh_a · dh_alpha_deg · dh_d · joint_limits_deg · max_joint_acceleration_deg_s2 · max_joint_velocity_deg_s · max_linear_acceleration_mm_s2 · max_linear_velocity_mm_s · servo_period_us

Шпиндель и голова

bench_no_gearbox · spindle_max_rpm

Приводы и шина

axis_drives · bus_identities · io_coupler_slave

Входы-выходы и безопасность

has_probe · io_coupler_modules · machine_outputs

Прочее

cartesian_rot_limit_deg · effector_kind · effector_tcp_offset_mm · end_effector · headless · home_deg · kinematics_boot · machine_name · simulation_mode · var_file

Программа-пример типа станка

перекладка A→B

Эталон породы: род motion, заготовка 40 × 30 × 10 мм. Проходит preflight без предупреждений и отправку без замечаний — иначе порода не настроена.

// ПЕРЕНОС БЕЗ ПЕРЕВОРОТА: взять деталь в точке A и положить в B.
// Ни болванки, ни фрезы: у рода `motion` автор называет ПУТЬ.
const a = [900, -300, 300];   // координаты ЯЧЕЙКИ, не детали
const b = [900, 300, 300];
const h = 150;                // высота переноса над захватом, мм

orient([180, 0, 0]);          // инструмент вниз
phase('подход');
moveTo([a[0], a[1], a[2] + h]);
jaws('open', { onTheMove: true });   // разводим НА ХОДУ
phase('захват');
moveTo(a, { feed: 1500 });
jaws('close');                // сомкнуть на пролёт детали
dwell(0.3);                   // дать зажиму сработать до подъёма
phase('перенос');
moveTo([a[0], a[1], a[2] + h], { feed: 1500 });
moveTo([b[0], b[1], b[2] + h]);
phase('укладка');
moveTo(b, { feed: 1500 });
jaws('open');                 // отпустить
moveTo([b[0], b[1], b[2] + h], { feed: 1500 });
операциядвижокслот · Øпараметры
Перекладка A→Bpython_motion_pathgrasp_from gripper_port home_abc home_xyz path_json

Сверяется с железом: смены инструмента нет. Все примеры типов станков — одной таблицей.