Curve-Based Slicer for Multi-Axis DLP 3D Printing
Centre for Perceptual and Interactive Intelligence (CPII); The University of Manchester; The Chinese University of Hong Kong
问题背景
数字光处理(DLP)3D 打印以高分辨率和快速成型著称,但传统系统只有单一竖直成型轴、逐层平面固化。这带来两个根本性问题:大悬垂区域必须加支撑(内部管腔等区域的支撑打印后无法去除,还会造成表面损伤和材料浪费),以及台阶伪影。这两个问题的共同根源都是全局固定的平面层构建方向。
多轴运动被视为破局手段。在熔丝制造(FFM)领域,动态调整工具朝向已经能实现无支撑打印、提升表面质量和力学强度。但把这套思路移植到 DLP 更困难:DLP 一次性固化整层树脂,无法在单层内自由改变朝向,只能在相邻层之间调整取向,并借助 UV 光的灰度控制来调节局部固化厚度。
本文提出首个通过优化层取向连续变化来保证复杂自由曲面可制造性的多轴 DLP 切片器。
制造目标
将一系列有取向的平面 \(\{P_i\}\) 逐步对齐到树脂槽底部完成打印。对每一层,”已打印部分”指模型坐标系(MCS)中位于该平面”下方”的子集。成功制造需同时满足:
- 无碰撞:实现每层位姿时,已打印部分不得与环境障碍物(尤其是树脂槽)碰撞。
- 连通性:新形成的层必须与已打印结构保持连接,防止出现悬浮区域。
- 表面质量:优化 \(P_i\) 法向与模型表面法向之间的夹角,抑制陡峭悬垂和台阶伪影。
- 平滑运动:层间取向变化应尽量小,保证硬件运动平稳快速。
难点在于同时兼顾局部(MCS 中的层)和全局(世界坐标系 WCS 中打印件与障碍物的碰撞)。全局碰撞还耦合了模型在 MCS 中的初始摆放取向,用一个变换 \(Q \in SE(3)\) 表示。
核心方法
曲线表示与变量
作者用一条四维贝塞尔曲线表示成型平台的运动轨迹:
\[\tilde{c}(t) = \sum_{k=0}^{n} p_k B_k^n(t), \quad t \in [0,1]\]
控制点 \(p_k = (x_k, y_k, z_k, \theta_k) \in \mathbb{R}^4\),前三维定义 MCS 中的空间曲线 \(c(t) \in \mathbb{R}^3\),第四维 \(\theta(t)\) 表示绕切向的额外旋转自由度。实现中用 6 个控制点:更少自由度不足,更多则易产生数值振荡。
在每个参数 \(t\) 处,由点 \(c(t)\) 和切向 \(t(t) = \dot{c}(t)\) 定义切平面,即动态变化的打印平面 \(P(t)\),它与模型 \(M\) 相交得到一层。局部标架采用 Bishop 标架(避免法向退化问题),再叠加绕切向的 \(\theta(t)\) 旋转,构成完整的工具标架 \(O_T\)。物理制造时通过刚体变换 \(T(t) \in SE(3)\) 把 \(O_T\) 对齐到树脂槽中心的参考标架 \(O_W\):模型点 \(q\) 先经 \(Qq\) 变到 MCS,再经 \(T(t)Qq\) 变到 WCS。
优化问题与多曲线
单曲线的切片问题写为带约束的优化:
\[\min_{\{p_k\}, Q} \mathcal{L}(\{p_k\}, Q, M) \quad \text{s.t.} \quad \Gamma(\{p_k\}, Q, M) = 0\]
其中 \(\mathcal{L}\) 聚合表面质量等软目标,\(\Gamma\) 保证中间形态的可制造性(无碰撞、连通、完整)。单条曲线常常无法满足 \(\Gamma = 0\),因此扩展为多曲线:第 \(j\) 条曲线负责第 \(j\) 个区域,各曲线起点处的切平面定义有序半空间,把模型划分为若干凸区域:
\[M_j := \{q \in M \mid \forall k \le j,\ (Qq - c_k(0)) \cdot \dot{c}_k(0) \ge 0 \wedge (Qq - c_{j+1}(0)) \cdot \dot{c}_{j+1}(0) < 0\}\]
与以往在每个分区内保持恒定打印方向的做法不同,本文在每个区域内优化轨迹,且所有曲线控制点联合优化,使空间划分在优化中动态演化。以往固定方向分解方法可视为本方法的一个特例(每个子区域退化为一条直线切片曲线)。
计算流程
采样实体 \(\Omega \subset M\)(评估无碰撞、连通、完整)和表面 \(\Psi \subset \partial M\)(评估表面质量、无支撑);用一条竖直直线初始化曲线集;用基于梯度的求解器优化所有曲线;对每个子区域检查 \(\Gamma_j = 0\) 是否沿轨迹满足,若不满足则把该曲线在 \(t=0.5\) 处用 de Casteljau 算法一分为二(子曲线精确表示原曲线)并重新优化;循环直到全部满足;最后按可制造层厚自适应切片。初始曲线 \(c_1\) 的首控制点固定在成型平台平面上且 \(\dot{c}_1(0)=(0,0,1)\),保证首层可制造。
制造目标的可微化
为使目标对控制点和 \(Q\) 可微,作者定义点 \(q\) 在时刻 \(t\) 是否接触槽底的状态函数:
\[D(q,t) := \delta((q - c(t)) \cdot \dot{c}(t)) R(q)\]
其中 \(R(q)\) 用 Heaviside 函数刻画树脂槽底部有效工作区域 \([-R_X, R_X] \times [-R_Y, R_Y]\)。是否已打印由 \(s(q,t) := \max_{\tau \in [0,t]} D(q,\tau)\) 给出。实现时把 Heaviside 换成 sigmoid \(\sigma_\beta(x) = 1/(1+\exp(-\beta x))\),Dirac delta 换成 sigmoid 的导数,max 换成 log-sum-exp,得到可微权重 \(w(q,t) \approx s(q,t)\)。点的局部打印方向(LPD)为:
\[d(q) := \int_0^1 \dot{c}(t) D(q,t)\, dt\]
各项损失:
- 碰撞避免:环境障碍建模为凸多面体 \(E_k = \{x \mid A_k x + b_k \le 0\}\),成型平台也算已打印部分。损失 \(L_{CO} := \sum_{q \in \Omega} \int_0^1 w(Qq,t) \sum_k \sigma_\beta(-\mathrm{LSE}_\alpha(A_k T(t) Qq + b_k))\, dt\),无碰撞时为零。
- 完整性:要求 \(s(q,1)=1\),损失 \(L_{CP}_j := \sum_{q \in \Omega_j} (1 - w(q,1))\)。
- 无支撑(悬崖角):对表面点,要求 \(-n_q \cdot d(q)/\|d(q)\| \le \sin\eta\),损失用 ReLU 惩罚违反项,并用点密度 \(\rho_q\)(15 近邻平均距离)加权。
- 无支撑(悬浮):悬浮点是沿 LPD 低于所有邻居的孤立局部极小,损失用 sigmoid 和 LSE 近似构造。
- 表面质量:让表面法向与 LPD 尽量正交,\(L_{SQ}_j := \frac{A_s}{A_\Psi} \sum \rho_q |n_q \cdot d_j(q)/\|d_j(q)\||\),仅作用于用户选定区域。
总目标 \(\mathcal{L}_j := \omega_{SQ} L_{SQ}_j + \omega_{CA} L_{CA}_j\),约束 \(\Gamma_j := L_{CO}_j + L_{CP}_j + L_{FL}_j\)。悬浮损失作为硬约束(悬浮直接导致打印失败),悬崖角作为软目标(整层同时固化,大悬崖角主要影响表面质量而非导致失败)。
实现要点
- 采样点平均间距略小于典型层厚(0.2 mm)。
- 总损失写成加权和 \(\sum_j \mathcal{L}_j + \omega_\Gamma \sum_j \Gamma_j\),惩罚权重 \(\omega_\Gamma = 100\)。
- 用 Adam 优化器,初始学习率 1.0e-3,每 1000 次迭代为一 epoch 并折半,从上一 epoch 最优结果续算。
- 平滑参数 \(\alpha = \beta = 1\mathrm{e}{+}3\);权重 \(\omega_{SQ}=0.1\)、\(\omega_{CA}=1.0\);悬崖角材料参数 \(\eta = 0.698\)(约 40°),由物理打印实测得到。
- 曲线初始化用竖直直线,末控制点略高于模型;\(\theta\) 初值置零。分裂时用两个启发式:悬浮启发式(把末控制点移到最近悬浮点并让切向近似垂直于该点邻域平均方向)和边缘启发式(相邻曲线区域轻微重叠),二者都加快收敛。
- 后处理密集采样曲线,用相邻样点切平面切片,步长 1.0e-3;层厚受最大可制造厚度 \(\tau_{max}\) 限制(材料相关,可标定),超过则细分步长。
实验结果
计算实验在 RTX 4090 上用 JAX + Optax(Adam)完成。测试模型包括 Toroidal-Tubes(亏格 4,三条曲线,悬浮点从 3 降到 0)、Hook(单曲线,中轴线会碰撞而优化后无碰撞)、Yoga(单曲线消除大悬垂)、Woman(两条曲线,人脸区域做表面质量优化)、Bunny(两条曲线,背部表面质量优化)、Fertility(单曲线并联合优化摆放取向)。所有模型优化均在一分钟内完成,曲线优化占主要耗时,后处理通常几秒内完成。
消融实验表明:联合优化摆放取向 \(Q\) 能显著扩大解空间、更好地减少悬垂;去掉悬浮损失会产生大量悬浮点,只留悬浮损失而去掉悬崖角损失则产生更多大悬崖角区域,二者互补;悬浮启发式和边缘启发式都能加速收敛。
物理实验用自建平台(树脂槽 + UV 投影仪 + UR5e 机械臂,ROS2 控制,重复精度 ±0.03mm,投影波长 450nm,有效区域 144mm×81mm,灰度图分辨率 1920×1080,Anycubic 标准树脂 V2)。所有模型均在 4 小时内成功制造,层数最多约 2.0k。Bunny 的物理消融显示启用表面质量损失能显著减少背部台阶伪影。
局限与结论
局限包括:环境障碍(尤其树脂槽)仍可能阻碍某些无支撑轨迹(如 Armadillo 尾部会碰撞,需手动加单个支撑);碰撞避免损失只考虑打印件与环境障碍,不含机械臂本身与环境的碰撞(目前靠 IK 求解器剔除不可行位姿,不保证存在无碰撞臂运动);未考虑打印过程中部分结构的力学稳定性(如 Fertility 底部需手动加支撑以增强初始层强度);此外机械和热变形可能引入分区之间的错位。
结论:本文提出首个曲线切片器,联合生成取向动态变化的平面层与模型分区,把制造目标(表面质量、悬垂)与约束(无碰撞、无悬浮)编码为损失并通过控制点联合优化,还可整合摆放取向优化。方法在保留 DLP 高分辨率和高速优势的同时,显著增强了其处理复杂几何的能力,并通过数值与物理实验验证了有效性。