Параллельный станок-гексапод (платформа Стюарта) на LinuxCNC genhexkins: подвижная платформа на 6 линейных штангах, полная поза X Y Z A B C. Геометрия (радиусы базы/платформы, разнос пар, высота, ход) — параметры → анкеры штанг в genhexkins.*. Привод штанг = EtherCAT IS620N (CiA-402/CSP). Генерирует .ini + geom-HAL (+ production HAL + ethercat-conf.xml + tools.tbl).
Тип станка — это кинематика и то, что конструктор умеет напечатать; числа экземпляра (ход, скорости, пределы) живут в двойнике конкретного станка.
| Кинематика LinuxCNC | genhexkins |
| Координаты | X Y Z A B C |
| Оси | X · Y · Z · A · B · C |
| Рабочая зона, мм | 240 × 240 × 200 |
| Макс. подача | 12 000 мм/мин |
| Обороты головы | нет шпинделя |
| Рабочий орган по умолчанию | Шпиндель — Вращающийся инструмент на фланце: фрезерует, сверлит, зенкует. Обороты задаёт станок или частотник — тогда «обороты» уезжают в регистр Modbus. |
| E-STOP · щуп | есть · нет |
| Что печатает конструктор | .ini · .hal · tools.tbl · ethercat-conf.xml · geksapod_hx6.tbl |
Шесть блоков карточки одинаковы у всех пород; поля ниже — те, что читает конструктор этого типа станка (имена из реестра, 30 полей).
max_angular_acceleration_deg_s2 · max_angular_velocity_deg_s · max_linear_acceleration_mm_s2 · max_linear_velocity_mm_s · max_strut_acceleration_mm_s2 · max_strut_velocity_mm_min · servo_period_us
spindle_max_rpm
axis_drives · bus_identities
has_probe · machine_outputs
base_pair_half_angle_deg · base_radius_mm · encoder_counts_per_rev · end_effector · headless · home_height_mm · machine_name · platform_pair_half_angle_deg · platform_radius_mm · simulation_mode · strut_ferror_mm · strut_lead_mm · strut_min_ferror_mm · strut_stroke_mm · tilt_limit_deg · var_file · workspace_xy_mm · workspace_z_mm
Эталон породы: род motion, заготовка 40 × 30 × 10 мм. Проходит preflight без предупреждений и отправку без замечаний — иначе порода не настроена.
// ШЕСТЬ СТЕПЕНЕЙ СВОБОДЫ ОДНИМ ПУТЁМ: платформа идёт по квадрату и
// на каждой стороне держит СВОЙ наклон, а в конце разворачивается
// вокруг своей оси. Положение и ориентацию гексапод задаёт вместе —
// это и есть то, чего декартов стол не умеет.
const r = param('полуразмер квадрата', 60); // зона ±120 мм
const z = param('высота обхода', 400); // зона 300…500 мм
const t = param('наклон', 10); // предел ±20°
orient([0, 0, 0]); // платформа горизонтально
phase('выход на высоту обхода');
moveTo([r, 0, z]);
phase('сторона 1');
orient([0, t, 0]);
moveTo([0, r, z], { feed: 1500 });
phase('сторона 2');
orient([t, 0, 0]);
moveTo([-r, 0, z], { feed: 1500 });
phase('сторона 3');
orient([0, -t, 0]);
moveTo([0, -r, z], { feed: 1500 });
phase('сторона 4');
orient([-t, 0, 0]);
moveTo([r, 0, z], { feed: 1500 });
phase('разворот платформы');
orient([0, 0, 15]);
moveTo([0, 0, z], { feed: 1500 });
| операция | движок | слот · Ø | параметры |
|---|---|---|---|
| Обход с наклоном платформы | python_motion_path | — | grasp_from home_abc home_xyz path_json |
Сверяется с железом: смены инструмента нет. Все примеры типов станков — одной таблицей.
Руководство «Станки» · Все типы станков и кинематики · Как пишется программа этого рода · От программы к станку · Стенд и железо