В данной статье мы разберемся, что такое 3D печать и какая бывает кинематика 3D принтеров.

1. 3D печать. Какая она на вкус?

Технологий печати существует большое множество, от FDM (FFF), по которой печатает больше 90% принтеров на данном портале, до SLA/DLP/LCD (с фотополимерами) и SLS/SLM (спекание порошка с помощью мощных лазеров)
Нас на начальном этапе интересует FDM - послойное наплавление расплавленного прутка. На картинке ниже изображен хотенд (Hot end) - та часть экструдера 3D принтера, где происходит расплавление прутка.

Пластиковый пруток подается через тефлоновую трубку и радиатор в термобарьер, и через него в нагревательный блок. Там плавится и выходит через сопло. Сопло имеет определенный диаметр, который маркируется на нем.Часто его делают из латуни, так как материал недорогой,легко обрабатывается. От сопла зависит точность печати. Чем меньше сопло, тем больше ниточек укладывается в один мм.

Нагреватель и терморезистор образуют обратную связь для контроля и регулировки температуры. То есть подача напряжения на нагреватель зависит от того какую температуру показывает терморезистор, а процессор сравнивает ее с заданной.Далее видим нагревательный блок. В него с одной стороны вкручивается сопло, а с другой - термобарьер.

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

Наиболее часто выполняется из нержавеющей стали. У нее теплопроводность ниже, чем у обычной,нелегированной стали. Для предотвращения плавления прутка выше термоблока сверху на термобарьер накручивается радиатор и обдувается кулером. Все достаточно просто.
Очень часто возникает протечка расплавленного пластика через резьбу.Это означает, что сопло не поджало термобарьер в нагревательном блоке. Поэтому при разборке и сборке хотэнда вкручиваем сначала термобарьер в нагревательный блок, а потом поджимаем соплом. Если у вас при закручивании сопла остается зазор между торцем сопла и нагревательным блоком, то это нормально, зазор для того, что бы поджать соплом термобарьер.Для того, чтобы подать пруток в нужное время и в нужном месте необходим фидер (feeder), то есть устройство подачи прутка.
Иногда его выполняют совмещенным с хотэндом, и тогда такой тип экструдера (это все вместе хотэнд+фидер) называют директом (direct), то есть подача прямая, без трубок.Та же фидер делают отдельно, а подачу прутка осуществляют через фторопластовую трубку. Называют такую систему - боуден (bowden).Это делается для того, чтобы облегчить движущуюся часть. По части положительных моментов и недостатков - у каждой конструкции они,несомненно, есть.
Директ экструдер:
1. Достоинства:
а) Более надежный за счет меньшего числа соединений для подачи пластика;
б) Менее придирчив к материалам, которыми печатает, в частности резиной на основе каучуков проблематично печатать на боуден экструдерах;
2. Недостатки:
а) Большой вес, за счет этого при ускорениях/замедлениях можно наблюдать небольшую рябь на поверхности детали;
б) Габариты. Они очень сильно влияют на область построения. Скажем, как на картинке выше, директ с 4 цветами был бы очень громадным. А для боудена это в самый раз.
Боуден экструдер:
1. Достоинства:
а) Вынесенный мотор снижает вес движущихся частей принтера, а их меньшая инерционность не влияет на поверхность модели;
б) Катушка не дергается вслед за моделью, а то при витков катушки с директом получим пропуск шагов, так как каретка будет тянуть за собой катушку.
2. Недостатки:
а) Настройки ретракта (вытягивание прутка обратно при холостых перемещениях, что бы расплавленный пластик, расширяясь не сочился из сопла) сложнее, так как пруток меньше внутреннего диаметра трубки, он имеет свойство тянуться;
б) Сложнее, чем на директе, выбрать все зазоры, чтобы печатать различными гибкими пластиками. Все, кто говорит,что на боудене печать невозможна гибкими пластиками - нагло врут. Я . И вполне успешно.

Теперь переходим непосредственно к механике и ее калибровке.

Часть 2. Механика. Что, как и чем дергает?

Существует весьма ограниченное число кинематических схем, под которые написана прошивка, и которые вполне сносно отрабатывают перемещения.
Рассмотрим все, от самых распространенных:
1. Конструкция и кинематика от Джозефа Прюши (не надо читать Прусся,Праша и прочее, это имя человека, в конце концов).

Перемещение вдоль каждой из осей обеспечивается своим независимым мотором. Перемещение по оси Z (вверх-вниз) обеспечивается с помощью 2 моторов и с помощью кинематической пары винт-гайка. Часто используются шпильки М5, в последнее время все чаще ставят винты с трапециеидальной резьбой.
Вот винт с трапециеидальной резьбой. Как шпильки с метрической резьбой выглядят прикладывать не буду.Единственное, что объясню относительно перемещения по шпилькам и трапециям - для производства трапеций берут калиброванный пруток и прокатывают между роликов, находящихся под углом. Получаются винтовые канавки. Такой метод, априори, дает лучшее качество и точность шага, нежели у строительных шпилек по далеко не самому высокому квалитету.Для подключения одновременно 2 двигателей на одну ось (и на 1 разъем) применяется следующая схема.Соединение последовательное, 2 провода запаиваются, а оставшиеся обжимаются. На цвета можно не обращать внимания, главное, что бы обмотки звонились. А и В это обмотки, а 1 и 2 - выводы.
Плюсы данной кинематики:
1) Независимое перемещение каждой из осей. Легко поймать понять какая ось пропускает шаги. Кинематика перекочевала в принтеры от фрезерных ЧПУ, поэтому многие производители делают на ней настольные фрезерные станки, вместо экструдера предлагают установить лазер для гравировок или резки, шпиндель для фрезеровки плат, экструдер для шоколада или даже теста, что б печь блины.На фото выше - принтер ZMorph. Он может использоваться и как принтер (с одним или двумя экструдерами), как гравировщик (установка Dremel), лазером для гравировок и так далее. Небольшое презентацонное видео.Фрезерный станок на этой кинематике. Замечу, что для фрезеровки необходимо использовать для перемещения пару винт-гайка,а не ремни, они не предназначены для таких нагрузок.

Принтеры для печати шоколадом и для выпечки блинов по вашему эскизу. Стоит заметить, что шоколадки типа Аленка или Бабаевские использовать не рекомендуется, так как они уже имеют в своем составе какао-масло и при переработке (расплавка и затвердевание) результат непредсказуем. Необходимо использовать шоколад в галлетах, например бельгийский Callebaut, так как в нем нет какао-масла, и для окончательной заливки его нужно добавить. Для такого типа шоколада на каждой пачке есть график его кристализации. Масло желательно брать в порошке. Для более подробной информации рекомендую погуглить про темперирование шоколада. 2) Кинематика проста как два пальца. Ее очень просто собрать. Многие даже собирают на старых DVD дисководах. 3) Легко изменяется под свои нужды, размер экструдера тоже имеет небольшое значение, так как он выступает вперед и не мешает движению остальных частей. Многие ставят второй экструдер, или делают сопла качающимися, что бы сопли одного экструдера не оставались на детали, при печати вторым соплом.Поэтому для данной кинематики существует огромное число вариаций экструдера, на любой вкус, на очень известном сайте .
Недостатки данной кинематики:
1) Сложная калибровка. Да, поскольку стол "дрыгается" печатать сложновато качественно, ибо деталь+стол при резкой смене направления перемещения по инерции стремяться ехать дальше. Получаются некрасивые артефакты печати. И для качественной печати нужна небольшая скорость. А вообще, все зависит от рамы. У меня первым принтером была китайская прюша. С акриловой рамой. А акрил не очень-то жесткий. А как известно, жесткость принтера как и ЧПУ - самое важное. И печатать можно было более или менее качественно на скоростях 40-50 мм/с. Далее я его на стальную раму от МЗТО.И после этого без потери качества печати смог печатать на скоростях до 100 мм/с.
2) Деламинация. Из-за открытого корпуса и постоянно перемещающейся платформы горячий воздух, можно сказать, постоянно сдувается, а охлаждая излишне деталь сквозняками мы увеличиваем и без того большую усадку нейлонов,абс и прочих капризных пластиков. Кто-то шьет шубу для принтера из ткани, а кто-то довольствуется и коробками.Но цель, как всегда, одна и та же - уменьшить влияние сквозняков на усадку детали.

Основные моменты правильной калибровки принтеров с данной кинематикой:
1) Установить принтер на ровную поверхность. Желательно горизонтальную. Для этого необходим пузырьковый уровень. Далее устанавливаем по уровню положение оси X. 2) Переводим в домашнее положение. Делается либо в меню принтера командой Home/Домой, если печатаете с компьютера, то или командой G28 в строку команд, или специальными кнопками с иконкой домика.

Далее подкручиваем винт стола так, что бы сопло касалось стекла. Не давило на стекло, а касалось. Смотрим на просвет и крутим. После этого перемещаем экструдер к другому углу стрелками в +Х, +Y с ПК, или через меню Точно так же крутим винтик до соприкосновения с соплом. И повторяем операцию для остальных точек.
Постараюсь избавить вас от ошибок. На фото принтера выше стекло на столе крепится аж 8 зажимами. И вполне возможно, что по центру будет горб. Чтобы избежать подобных проблем стекло стоит закреплять 3 зажимами. Плоскость строится, как известно из начертательной геометрии, по 3 точкам. И калибровка будет проще в этом случае. Просто подкручиваем винт над концевиком по Z.Чтобы сопло касалось стекла посередине той стороны, на которой стоит 1 зажим. Дальше перегоняем хотенд в угол где еще один зажим, подкручиваем винт стола, и повторяем операцию с другим углом.
Касательно вобблинга.
Всякие антивобблинговые системы вроде установки продшипника в верхнюю опору не работают.Просто потому, что поставить идеально параллельно и в одной плоскости 4 далеко не идеально ровных циллиндра - задача нереальная. Особенно на хлипкой акриловой раме с печатными деталями. Поэтому, если принять за константу прямизну валов, и выставить их параллельно на раме (чисто гипотетически), а винты освободить (снизу муфта для крепления к мотору) и гайки для крепления оси Х. Винты за счет своей кривизны будут вертеться как миксер, но на печать это не будет влиять.Иначе конструкция будет работать на то, кто же окажется сильнее на сопротивление изгибу. И будет получаться далеко не ровная стенка. Оно вам надо?

2. Конструкция по типу кинематики принтеров компании Felix printers.

Таких принтеров много, такие делает МЗТО (mz3d.ru), уже упомянутые Felix. По сути кинематика та же, что и у Prusa. Независимые друг от друга оси. Только теперь стол ездит не вдоль одной оси, а сразу вдоль целых двух. Вдоль оси Z, и по оси Y.Конструкция стола примерно такая. На валах по Z ездит платформа. Сзади висит двигатель. По рельсам при помощи ремня передвигается стол. Хотенд передвигается только вдоль одной оси. Конструкция весьма забавна, так как стол весит куда больше хотенда, а его пытаются перемещать по 2 осям сразу.

Плюсы данной кинематики:
1) Отсутствует второй мотор по оси Z. Пресловутого вобблинга нет просто потому, что есть 2 вала и 1 винт. Винт, так же не стоит закреплять сверху. Если это не ШВП.
ШВП это отдельная тема. Если брать качественную ШВП, скажем, от тех же Hiwin, то она изготавливается как минимум по 7 классу точности (если катанная, а если шлифованная, то класс еще выше) и устанавливаться должны в подшипниковых опорах. Со стороны привода - 2 радиально-упорных подшипника back-to-back,а с другого конца - радиальный со свободной посадкой для компенсаци теплового расширения.

Цель установки ШВП - обеспечение точности перемещения. Если же ее устанавливать неправильно - деньги на ветер, и точность будет не выше пары винт-гайка с трапециеидальной резьбой. Для FDM c лихвой хватит точности трапеций.
2) Много места для установки директ-экструдера. Как и в предыдущей кинематике есть простор для творчества, подбирать тот самый, единственный и неповторимый экструдер, который вам по душе.
3) Жесткая рама. Есть возможность сделать нормальную раму. Жесткую,прочную. Да хоть чугуниевую. Ребята из Феликса решили не забивать голову и лепят из алюминиевого профиля. МЗТО пошли дальше, погнули стальной лист. А полку под установку стола отфрезеровали из листа алюминия.
4) Если брать конструкцию Феликса на профиле, то с помощью замены пары кусков профиля и винта по Z можно увеличить область печати.Только обязательно добавить жесткости. А то получится как это чудо конструкторской мысли. Большое, бессмысленное и беспощадное.

Недостатки кинематики:
1) Несомненно, большие дергающиеся массы. Стол вперед-назад,а если включить движение по Z при холостых перемещениях (Z-hope), то будет дискотека.
2) Нет возможности сделать ему нормальную термокамеру. Стол двигается вперед-назад и градиент температуры просто сдувается. Отсюда проблемы при печати нейлонами или ABS. Небольшие сквознячки в комнате с легкостью покажут вам где раки зимуют как усаживается материал.

Калибровка стола данного принтера аналогична калибровке стола у Prusa, только несколько проще. Проще за счет того, что ось X вам выставлять по уровню не надо, она автоматически выставлена при сборке рамы. Подводим сопло к столу и крутим барашки.

3. Кинематика Ultimaker.
Одна из наиболее распространенных вариаций Cartesian кинематики.

Таких принтеров не очень много, но они есть. Вариация от Zortrax заслуживает внимания. Вариант того же Raise более приближен к классике.У Zortrax установлены двойные валы, причина проста - на них стоит директ экструдер с полноразмерным двигателем Nema 17. У Raise Dual стоит двойной директ экструдер, поэтому классические 6 мм валы заменены на 8 мм. А общий вес "головы" составляет почти 900 грамм.Кинематика построена полностью на валах. Они выступают одновременно и как направляющие, и как шкивы. Кинематика так же относится к Cartesian кинематикам с независимым перемещением вдоль каждой оси своим мотором. Очень привередлива к прямоте валов. Если использовать кривые валы можно получить весьма забавные артефакты на стенках моделей. И они будут по всем 3 координатам. Чаще всего это выглядит как разная толщина первого слоя и небольшие волны по стенкам. Поэтому вся соль и высокая цена оригинальных Ultimaker только в качественных комплектующих. А именно в прямых валах. Ремни используются часто кольцевые, что упрощает систему их натяжки, так как важно, чтобы все 4 ремня были одинаково натянуты.

Плюсы данной кинематики:
1) Стол движется только вдоль одной оси. Вертикальной. И градиент температур никоим образом от этого не страдает. Стол консольный, поэтому желательно предусмотреть ребра жесткости или учесть это толщиной стола.Отгиб металла на столе работает как ребро жесткости.Многие китайские клоны комплектуются такими вот ребрами жесткости для стола. 2) При всей кажущейся сложности кинематической схемы она проста и каждая ось перемещается с помощью своего же мотора.
3) Корпус закрытый, что защищает от сквозняков, и следовательно деламинации. Некоторые для пущего эффекта ставят акриловую дверцу.

Минусы кинематики:
1) Для хорошей печати мало купить пачку ровных валов. Собрать все эти валы правильно воедино та еще задачка. Заодно и купить хорошие подшипники. Не то, китайское барахло, что чаще втюхивают на али, а нормальные подшипники. Если подшипники, что ставят в корпус будут плохо вращаться - печать будет рывками и со сдвигом слоев. Последствия можно спросить у Вани (Plastmaska). Так же, покупая леопардовые втулки латунные подшипники с графитовыми вставками будьте готовы к тому, что они будут люфтить. А если будет люфт - вся конструкция будет стучать. А так же, китаезы любят вместо бронзы впихивать латунь. А при равномерном износе латуни и графита на валах будет будет маслянистая липкая черная пленка, из-за чего перемещения будут происходить тяжелее. Хорошие втулки предлагает Илья (tiger). Он же и про эти сложности. 2) Необходимо выставить правильно все параллели валов. Предлагаю воспользоваться таким девайсом.4 вала, что идут вдоль стенок корпуса автоматически встают правильно, а вот крестовину важно выставить правильно, что бы получить углы 90 градусов в плоскости XY.
3) Конструкция не предусматривает увеличение области печати с помощью пары кусоков профиля, поэтому размеры хотенда имеют значение. Директ сложновато поставить, но можно при желании.

Калибровка стола проще некуда. Стол часто на 3 точках крепления. Перемещаем хотенд по 3 точкам и крутим барашки.

4. Кинематика, используемая фирмой Makerbot.
Так же, весьма широко распространена. В частности принтеры компании Makerbot, BQ, BCN3D ,Magnum, клон магнума - Zenit и вполне сносные реплики makerbot - Flashforge и Hori работают на данной кинематической схеме.В данном случае мы имеем независимое движение каждой из осей, с Z столом и всеми вытекающими из этого сторонами.
Основной недостаток заключается в том, что на катающейся балке с одной стороны висит двигатель, создавая эдакий дисбаланс. Этот недостаток компенсировали в двухэкструдерном варианте - BCN3D Sigma. Там у каждой bowden-головы для перемещения вдоль балки есть свой двигатель. И они установлены по краям балки и уравновешивают друг друга. Для равномерного перемещения каждого из краев балки применяется 2 вала, шкивы и ремни. Ремни необходимо натягивать одинаково.
Достоинства кинематики:
1) Независимое перемещение каждой из осей.
2) Движущийся по Z стол. Градиент температур не страдает "сдуванием".
3) Закрытый корпус. Если не закрытый, то есть вполне нормальный с точки зрения эстетики шанс закрыть его.
4) Масштабируемость кинематики возможна. Различные BigREP и иже с ними с метровыми областями печати используют именно эту кинематику, так как различные H-bot/CoreXY будут адово звенеть по причине наличия 4-5 метровых ремней и их растяжения во время ускорений.
Недостатки кинематики:
1) Неуравновешенные массы на движущейся балке, отсюда максимальная скорость печати, с приемлемым качеством не больше 60-80 мм/с. Некоторые умудряются их уравновесить и это не столь заметно.
2) Громоздкие конструкции на валах, дабы избежать дисбалланса при перемещениях.
3) Необходимо следить, чтобы натяжения ремней справа и слева были одинаковы.

4. Кинематика H-bot/CoreXY.
Следующая по распространению. Так же, Cartesian. Два мотора неподвижны, но перемещают каретку по направляющим с помощью одного длинного куска ремня, или с помощью двух, но покороче. Математика сложнее, чем у предыдущих, так как необходимо синхронизировать поворот обоих роторов двигателя. То есть, для перемещения вдоль каждой оси нужно вращать оба мотора, а для перемещения по диагонали - всего 1.

По сути математика для вращения моторов одна и та же, а реализация в механике разная. Один из самых больших недостатков H-bot перед CoreXY состоит в том, что при перемещениях ремень стремится повернуть балку.На картинке слева это заметно, силы справа и силы слева создают крутящий момент. Поэтому для реализации этой кинематики необходима жесткость кинематической схемы. Чаще всего ее реализуют в рельсах.С жесткой балкой. Некоторые делают, конечно, на валах, но по итогу - это не фонтан.А потом понимают это и переезжают на рельсы.Ибо они и проще в сборке и настройке, и выдумывать каретки, что б хорошо валы закрепить не нужно.
CoreXY, в отличии от H-bot, приводится в движение при помощи двух ремней.И так, для простоты понимания, опишу положительные и отрицательные стороны каждой вариации этой кинематики.
H-bot.
Достоинства:
1) Ремень необходим всего один, а схема предусматривает его работу без скручиваний.
2) Натягивать один ремень удобнее, чем 2, поэтому в этой схеме нужен всего один нормальный натяжитель.Можно даже так.
Недостатки:
1) Ремень имеет свойство растягиваться со временем, а так как величина растяжения напрямую зависит от длины, то необходимо следить за его натяжением. Иначе получатся некрасивые волны на поверхности перед остановками.При слабой натяжке ремня каретка будет иметь такой люфт.
2) Необходимо выставлять ролики строго перпендикулярно плоскости XY, так как при небольшом перекосе ролика ремень будет съедаться об буртики ролика. И мы получим такую вот бяку.Проверено на своей шкуре и принтере ZAV. Поэтому всегда рекомендую нормально закреплять ролики, а не консольно, дабы избежать изгиба оси ролика от натяжки ремня.
3) Сложная математика, из-за чего на скоростях выше 100 мм/с могут быть проблемы с нехваткой ресурсов 8 битных плат.
CoreXY.
Достоинства:
1) Два коротких куска ремня. Их проще найти, чем один длинный.
2) Силы уравновешивают балку, а не стремятся ее повернуть, поэтому эту кинематику можно собирать и на валах.
Недостатки:
1) Есть схемы с перекручиванием ремней и перехода ремня с одного уровня на другой - для ремня это не очень приятно. Особенно, когда один ремень трется об другой. На видео этот момент есть.

2) Сложность нятяжки ремней. Их необходимо натягивать одинаково, иначе силы нятяжки будут стремиться повернуть каретку.
3) Сложность сборки и разработки. Необходимо выдержать вертикальность роликов, относительно горизонтальности площадки для установки моторов и рельс. Небольшой перекос роликов приведет к тому, что ремень будет стремиться съехать по ролику, а если будет упираться в буртик ролика, то будет скрипеть, если буртик большой, а если маленький - то будет пытаться на него заехать, как на фото из описания h-bot.

Общий недостаток кинематики - плохая масштабируемость. То есть ставить такую кинематику для области печати больше 300*300 весьма проблемно просто из-за удлинений ремня при печати. Для небольших принтеров с большой скоростью печати - одна из лучших кинематик.

5. Delta кинематика.
Кинематика основана на движениях дельта-робота.Только вместо захватов устанавливается хотенд. Имеет свои проблемы с настройкой, но на печать можно залипать очень долго. Редко когда устанавливают директ-экструдеры, так как эффектор (площадка для установки хотенда) часто крепится на магнитах и необходимо максимально разгрузить его. Но для уменьшения длины трубки (а конкретнее, влияния длины трубки на качество печати за счет правильной настройки ретрактов (вытягивания пластикового прутка назад с целью уменьшения его вытекания от расширения)) на качество печати, экструдер вешают на те же каретки, но на отдельных подвесах. За счет этого уменьшается длина bowden трубки и увеличивается качество печати.

Достоинства:
1) Легко кастомизируется. Для увеличения высоты достаточно прикупить 3 куска профиля подлиннее, и увеличить максимальную высоту в настройках.
2) Занимает мало места. Она чаще высокая, чем громоздкая по длине и ширине, за счет этого компактность.
3) Если сделать легкий эффектор (каретка, на которой установлен хотенд), то можно добиться больших скоростей без потери качества печати.
4) Перемещение по высоте не отличается от перемещения по XY. Таким образом, нет залипания линейных подшипников на переездах стола, как у Cartesian принтеров, лишних двигателей, катающихся на балке...
5) Отсутствие выступающих частей дает возможность закрыть корпус и придать раме жесткости.
6) Эстетическая часть - на работу дельты интереснее залипать.
Недостатки:
1) Сложная математика перемещений, рекомендуется ставить сразу 32-битные платы.
2) Сложная настройка. Частая проблема в настройке - убрать так называемую "линзу", ведь каждый стержень вращается с радиусом, и при некорректной настройке у вас печатаемая плоскость будет либо выпуклой,либо вогнутой линзой. 3) Сложно и дорого сделать жесткую раму, что бы ее не болтало от постоянных дрыганий кареток.
4) Сложность установки директ-экструдера. Он получается тяжелым, а так как многие дельты делаются на магнитах, то не будет возможности разогнаться. Хотя, есть одно аккуратное и легкое решение - установка готового директ-экструдера с редуктором. Как, например E3D Titan Aero или Bondtech BMG. 5) Проблемы точности изготовления деталей - любые неровности и несоосности будут видны, даже если они на одной оси. И они складываются по осям. Резюмируя , хотите небольшой принтер (не больше 300*300 мм) с шустрой кинематикой? Тогда вам к Ultimaker или H-bot/CoreXY. Нужен принтер с большой областью печати или с 2 независимыми экструдерами? Тогда к Makerbot. Если печатать вазочки, кальяны и достаточно высокие детали - дельта. Для всего остального есть классика - Prusa. Эксперименты с двойными каретками, шоколадом, гравировками? Да все что угодно. И самое главное - дешево.Можно даже 4 цвета прикрутить.

Прямая и инверсная кинематика - это два разных способа вращения суставов в цепи. Из них более простым и требующим меньших вычислительных затрат является прямая кинематика (Forward Kinematics - FK), но при этом она лишена многих интуитивно по­ нятных возможностей управления, которыми обладает инверсная кинематика (Inverse Kinematics - IK), обеспечивающая вращение суставов по цепи.

В случае прямой кинематики каждый сустав просто поворачивается вручную, как это было сделано в предыдущем разделе с примером скелета. При повороте корневого суста­ ва цепи (например, плечевого сустава) вращательное движение передается по цепи сус­ тавов дальше вниз и перемещает все дочерние суставы. На рис. 8.9 представлена создан­ ная в предыдущем разделе структура руки с повернутым суставом плеча. Хотя создать такое движение относительно несложно и в Майя просто рассчитать его, для располо­ женных ниже по цепи суставов оно недостаточно точное. Если, например, необходимо прикоснуться запястьем к другому объекту, то сначала необходимо повернуть плечо, по­ том локоть, а потом, возможно, настроить поворот обоих суставов так, чтобы в точности

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

В то же время инверсная кинематика намного более сложная математически, но вместе с тем предусматривает точную регулировку суставов конечностей и, когда остальная часть иерархии уже установлена, помогает управлять движением этих суставов. В инверсной ки­ нематике движение сустава конечности (на самом деле управляющего положением сустава маркера (handle)) приводит к повороту суставов вверх по цепи, поэтому движение распро­ страняется по цепи в обратном (backward), или инверсном (inverse), направлении.

Инверсная кинематика использует маркеры инверсной кинематики (IK handle), или просто маркеры IK, и решатели инверсной кинематики (IK solver), или просто решатели IK. Маркер инверсной кинематики проходит по суставам, на которые распространяется его влияние, эти суставы называют цепью управляемой инверсной кинематикой (IK chain), и сквозь эту же цепь проходит линия маркера (handle wire). Управляющий вектор (handle vector) выходит из начального сустава и заканчивается в конечном, в ко­ тором располагается конечный исполнительный элемент (end effector). После добавления решателя IK в рассмотренную в предыдущем примере цепь суставов можно будет ани- мировать простым перемещением сустава запястья. При этом плечо и локоть будут вра­ щаться так, чтобы вся рука двигалась правильно, как показано на рис. 8.10.

Рис. 8.9. Прямая кинематика: при Рис. 8.10. Перемещение цепи сус- повороте сустава, старшего в тавов с помощью перемещения ко- иерархии, перемещается вся цепь печного исполнительного элемента суставов маркера инверсной кинематики

Чтобы выполнить правильный поворот всех суставов (от начального до конечного) цепи, управляемой инверсной кинематикой, при котором конечный сустав окажется на месте конечного исполнительного элемента, решатель IK обращается к позиции конеч­ ного исполнительного элемента цепи и выполняет необходимые вычисления. Когда ко­ нечный исполнительный элемент перемещается, решатель IK преобразует значения его перемещений в значения поворотов суставов и суставы соответственно обновляются. Обычно управляемая инверсной кинематикой цепь распространяется только на три сус-

тава, но суставов в ней может быть и больше, особенно если используется маркер инверс­ ной кинематики сплайна (IK Spline handle), который управляет лежащими в его основе суставами с помощью кривой. Среди реализованных в Maya решателей инверсной кине­ матики можно выделить четыре (и соответствующие типы инверсной кинематики): ре­ шатель ikrP для расчета инверсной кинематики вращения плоскости (IK rotat e Plane), решатель ikSC для расчета инверсной кинематики простой цепи (IK Single Chain), реша­ тель ikSpline для расчета инверсной кинематики сплайна (IK Spline) и решатель ikSpring для расчета инверсной кинематики пружины (IK Spring). Каждый тип реша­ теля IK имеет собственный тип маркера IK.


Перевод осуществил Pavel A. Chuvanov, участник проекта Almighty.

Кинематика - есть процесс вычисление позиции в пространстве для конца взаимосвязанной структуры при заданных углах поворота всех шарнирных точек (Joints). Это легко осуществляется, если есть только одно решение. Инверсная кинематика делает обратное. Для данной конечной точки вычисляются необходимые углы поворота шарниров таким образом, чтобы удалось достичь этой конечной точки. При этом могут возникнуть трудности, если есть много или бесконечно много решений.

Данный процесс чрезвычайно полезен в робототехнике. Например, вы захотели, чтобы рука робота потянулась и взяла объект. Если программа знает местоположение объекта относительно плечевого сустава, то ей достаточно расчитать углы поворота шарниров чтобы достичь объекта. Также инверсная кинематика полезна в 3D играх. Возьмем для примера дракона с очень длинной шеей. Дракон должен реалистично изогнуть шею и слопать игрока стоящего на полу. Или игрок захотел поднять с пола некий объект или нажать на кнопку. Пользователь увидит на экране как игрок потянется и коснется объекта, вместо того чтобы просто махнуть рукой где-то вблизи объекта (как например в Alone In The Dark).

Мы поработали с инструментом Joint и разобрались, как он работает. Теперь давайте посмотрим, как можно управлять суставами более простым способом. В этой главе я расскажу про некоторые из таких средств, и затем мы сможем использовать их далее для риггинга нашего персонажа. И первым инструментом, с которым я вас познакомлю, это один из самых важных инструментов, о которых вы должны узнать – это инструмент IK Handle. Я просто расскажу, что такое инверсная кинематика (Inverse Kinematics), как она работает и основы того как ее настроить.

Инверсная кинематика - один из двух способов управлять суставами скелета. Первый способ называется Forward Kinematics (прямая кинематика), и по сути это вращение. С помощью него вы поворачиваете и возвращаете суставы на место и это, вероятнее всего, наиболее естественный способ манипулярования, так как наши суставы как раз просто поворачиваются в различных направлениях, а также вокруг друг друга. То есть каждое движение нашего тела - это поворот какого-то сустава.

Инверсная кинематика основана на понятии Goal - цель, то есть места, куда должен повернуться сустав. Это позволяет нам указать конечную позицию сустава при повороте. Самый простой способ запомнить это – понять что, прямая кинематика основана на вращении сустава, а инверсная кинематика основана на позиции сустава, в которой он должен оказаться в пространстве, когда мы вращаем его.

Давайте я вам быстро покажу пример. У меня здесь две одинаковые цепочки суставов. Первая цепочка суставов не имеет обратной кинематики, поэтому управление ею происходит через Forward kinematics, а на нашей правой цепочке у нас установлен IK Handle, позволяющий управлять суставами с использованием Inverse Kinematics. Я перейду к окну проекции вид сбоку. И я немного приближу модель в окне проекции, чтобы лучше видеть.

Еще раз, Forward Kinematics - это поворот. Я хочу выбрать конец этой цепочки суставов и переместить вот этот сустав в центр координат. Я буду вращать все эти суставы вокруг одной точки. Давайте сразу начнем это делать. Я нажму клавишу E, чтобы включить инструмент Rotate, и как видите, когда мы начинаем его вращать, то довольно непросто достичь цели при помощи одних только поворотов. Так что я поверну этот сустав вот так, а этот так, а этот снова поверну немного назад, и возможно нужно опять повернуть этот. Я сейчас делаю все на глаз, и не делаю слишком аккуратно при расположении этих суставов, потому что вращение и положение суставов не слишком совпадают друг с другом.

Inverse kinematics делает этот процесс гораздо более простым. Если мы хотим точно куда-то переместить эту цепочку с инверсной кинематикой, все, что мне нужно сделать, щелкнуть по этому крестику внизу, он называется IK Handle1. Теперь я могу нажать W, чтобы перейти к инструменту Move, и просто переместить мой сустав в цель.

Вот так просто. Мауа автоматически поворачивает все суставы равномерно, чтобы достичь цели. Но если же я например выведу сустав за пределы этой цели, у нас появляются проблемы. Поэтому мы не можем достичь любой точки, какой хотим, но если выбирать точки поближе, все получится. Как вы могли заметить, эти два метода используются в различных ситуациях.

Обычно Forward Kinematics дает нам более естественное перемещение, так как оно основано на поворотах, что очень натурально выглядит в анимации персонажей. Но оба метода имеют место быть. Я показал вам, как это работает, теперь давайте я покажу вам, как быстро их настроить. Давайте создадим новую сцену File / New Scene и получим пустое пространство. И перейдем к окну проекции вид сбоку. Я выберу Skeleton / Joint tool.

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

Мы можем перейти в Skeleton, IK handle tool, или можно использовать вот этот значок, они оба работают одинаково. Теперь нам нужно выбрать первый сустав, из которого будем делать IK цепочку, пусть он будет верхним. И теперь последний сустав, он будет нижним. У нас есть промежуточные суставы, но это важно, что я именно выбираю сразу последний.

И у нас появился IKHandle1. Мы можем выбрать его, нажать W, и как видите, мой сустав посередине сгибается в этом направлении. Если бы я сделал мою цепь прямой, IKHandle бы не сработал, так как не понял бы, в каком направлении сгибать сустав, поэтому мы и сделали тут небольшой изгиб. Давайте заглянем в Аутлайнер. Видите, вот наши суставы.

А IKHandle - это отдельный объект и он не находится на цепочке суставов. Поэтому мы можем перемещать его отдельно и менять положение суставов. Вот основы того, как работать с IK Handles и инверсной кинематикой в Мауа.

Поэтому нужно запомнить, что у нас есть два способа управлять суставами, прямая кинематика и инверсная кинематика, и каждый имеет свои преимущества

Урок адаптирован под версию 3ds max 2009.

Инверсная кинематика является основой, на которой строится персонажная анимация. Она работает совсем не так, как работает прямая кинематика - потомки приводят в движение родительские объекты. Потомок, который вызывает трансформации других объектов по законам инверсной кинематики, называется либо эффектором (Effector), если он расположен в середине иерархической цепочки, либо конечным эффектором (EndEffector), если он является конечным объектом данной цепочки. Через эффектор осуществляется манипулирование всей иерархической цепочкой. При этом трансформация конечного эффектора обеспечивает трансформацию всех объектов иерархической цепи по законам инверсной кинематики, а трансформация просто эффектора приводит к тому, что положение объектов, стоящих по иерархии ниже его, меняется по законам прямой кинематики, а объектов с более высокой иерархией - по законам инверсной кинематики.

В качестве примера откройте файл Table_ lamp3-1. max . Иерархическая цепь объектов здесь уже создана. Чтобы ее увидеть, выполните команду Select by Name и в окне Select from Scene разверните структуру объекта. В данном случае конечным эффектором иерархической цепочки является самый нижний в иерархии объект Reflector.

Установите режим инверсной кинематики. Для этого на панели Hierarchy (Иерархия) откройте закладку IK (Инверсная кинематика) и щелкните кнопкой Interactive IK (Интерактивная инверсная кинематика). Выделите объект Support и переместите его в сторону. Вместе с ним точно так же переместятся и все остальные объекты. Теперь выделите, например, объект Lever02 и переместите его в любую сторону. Его перемещение вызовет изменение положения всех остальных объектов, включая объект Support, являющийся самым высшим в иерархии. При этом положение объектов, стоящих по иерархии ниже перемещаемого объекта (в данном случае это объекты Hinge03, Lever03, Reflector), будет меняться по законам прямой кинематики, а объектов с более высокой иерархией (Hinge02, Lever01, Hinge01, Support) - по законам инверсной кинематики.

Обратите внимание, что при перемещении рычага Lever02 положение и ориентация всех объектов меняются непредсказуемым образом. Это связано с тем, что по умолчанию для объектов, управляемых посредством эффектора, допустимы любые варианты перемещения и вращения, хотя на практике они могут трансформироваться только каким-либо определенным образом. При инверсной кинематике эти проблемы регулируются на закладке IK панели Hierarchy с помощью параметров, задаваемых в свитках Sliding Joints (Скользящие соединения) и Rotational Joints (Вращательные соединения).

Кроме того, можно определить в системе объект, который будет играть роль ограничителя. Terminator (Ограничитель) - это последний объект системы инверсной кинематики, начиная с верхнего уровня, который не подвергается влиянию при движении дочернего объекта. Для определения ограничителя достаточно выделить объект и в свитке Object Parameters (Параметры объекта) установить для него флажок Terminator .

Выделите объект Hinge01, перейдите на вкладку Hierarchy (Иерархия) | IK (Инверсная кинематика) и включите команду Interactive IK (Интерактивная инверсная кинематика). В свитке Object Parameters (Параметры объекта) установите флажок для Terminator . Передвиньте объект Lever02 в любую сторону. При этом объект Hinge01 и его родительский объект Support останутся неподвижными (рис. 1.1).

Рис. 1.1. Шарнир Hinge01 определен в качестве ограничителя

Продолжение урока вы можете найти в книге Горелика А.Г. « «.