*诗涛 贺 (中国科学院大学数学科学学院)
B样条曲线拟合是计算机辅助几何设计中的经典问题,在不同的领域中被广泛应用。这一问题在近年的研究中被重新提起,以解决具有新要求的拟合问题,比如计算机数控加工中的G01光顺要求路径满足全局误差约束。这一问题具体是说:给定G01数据点,构造一条B样条曲线对数据点进行拟合,拟合曲线和数据点按顺序所连折线段的Hausdorff距离不能大于给定常数。 本研究提出了一个算法以解决具有误差约束的3次B样条拟合问题,包括逼近问题和插值问题。Piegl和Tiller曾提出带有插值点处导矢方向约束的插值问题,本研究对这一问题也进行了关注。以上3种拟合问题都可以在本研究所提出的算法框架下解决。 算法包含两个阶段:在第一阶段,通过将全部数据点都取为B样条曲线的控制点,并在每条相邻数据点所连线段内取两个互 异控制点,可以根据一个含有$n$个点的数据集算出$3n-2$个控制点。使用Riesenfeld方法可以根据控制点生成节点矢量,由此得到一条3次B样条初始拟合曲线。可以证明,按上述方法所生成的拟合曲线满足Hausdorff距离约束。 在第二阶段,需要对初始拟合曲线的控制点进行优化,得到满足约束的优化拟合曲线。首先,本研究对非均匀B样条曲线证明了基于节点的强凸包性。相比于经典的B样条强凸包性,这一性质使用了节点信息,不再用控制点本身、而是以控制点的线性组合作为顶点生成凸包。这使得可以将定义在节点区间上的一段B样条曲线段的端点作为顶点,且这样构造的凸包对曲线段的逼近效果优于以控制点自身作为顶点生成的凸包,更适合被用来对B样条曲线进行位置控制。 在上述性质的基础上,本研究在$R^2$和$R^3$中分别定义了基本结构,由此得以将全局误差控制转化为局部误差控制,并能够逐段地对定义在每个节点区间上的B样条曲线段进行误差控制。基于几何上的分析,本研究给出并证明了对任意误差限进行Hausdorff距离控制的充分条件,并证明了它可被写为一系列线性和凸二次约束,这一条件在$R^2$和$R^3$中都成立。此外,本研究还证明了插值约束和导矢方向约束都可被写为线性约束。因为误差可以被先验地严格约束,所以在算法中目标函数可以直接被取为光滑函数,而无需像传统方法一样将目标函数取为距离项和光顺项的线性组合,避免了调节光顺项参数的问题,且无需使用脚点参数更新等方法多次求解优化模型。在算法的第二阶段只需要求解一个凸二次约束二次规划(QCQP)问题,就可以将之前提到的3种拟合问题都解决,而实验结果展示了拟合算法的有效性。 时间样条算法是计算机数控加工中的前沿算法,本研究将提出的拟合算法与3轴时间样条算法相结合以做出改进。在3轴加工中,zigzag路径被大量使用。全局B样条拟合方法难以在保持较小误差限的情况下对zigzag路径进行光顺,原有的时间样条方法也不例外。而本研究提出的改进时间样条算法能够解决这一问题,得到满足运动学约束和误差约束、实现Bang-Bang控制的时间样条曲线。
Math formula preview: