FANUC G06.2 NURBS:控制点坐标不变,改变R为什么会改变曲线?
以15i-MB的G06.2格式区分阶、权重和节点,利用三个控制点的原创有理二次曲线算例说明R变化会改变刀路,也说明控制点不必位于曲线上。
NURBS程序中,XYZ相同并不表示曲线相同;地址R在这里也不是圆弧半径。如果后处理只保留控制点、把权重统一成1,可能改变刀路,而程序的起点和终点仍然完全一致。
按具体版本解释P、R、K
FANUC 15i/150i-MB编程手册B-63784EN/01,§4.17,第121–126页(原厂手册公开镜像)中,G06.2的P表示阶,R表示控制点权重,K表示节点。P3是三阶、二次曲线,不是三次;省略权重按1处理。节点数等于控制点数加阶数。本文限定该版已配置NURBS功能的系统,不把较新系列的扩展语法混入。
三个控制点的原创反例
设平面控制点A=(0,0)、B=(10,20)、C=(20,0),单位mm;阶为3,节点向量取[0,0,0,1,1,1],权重取[1,w,1]。这是一段有理二次曲线。对0≤t≤1,它的几何表达为:
P(t)=[(1−t)²A+2wt(1−t)B+t²C]/[(1−t)²+2wt(1−t)+t²]。
t是曲线参数,不是秒,也不代表匀速运动的时间比例。取t=0.5,代入后横坐标始终为10,而纵坐标为20w/(1+w):
| 中间点权重w | P(0.5) | 距中间控制点B |
|---|---|---|
| 0.5 | (10,约6.667) mm | 约13.333 mm |
| 1 | (10,10) mm | 10 mm |
| 2 | (10,约13.333) mm | 约6.667 mm |
三条曲线的两端都在A和C,却经过不同中间位置。控制点B提供几何约束,并不是刀具必须经过的中间停靠点。把w=2擅自改成1,本例在t=0.5处就相差约3.333 mm。
为什么只检查XYZ会漏掉错误
NURBS的几何对象由控制点、权重、节点和阶共同确定。核对导出数据时,既要检查坐标,还要检查这几类数据是否保留对应关系。例如本例3个控制点、阶3,应有6个节点;末尾节点记录不能因“不含坐标”就被清理工具删除。
本例是原创离线曲线,不是可直接运行的NC程序。实际15i-MB还要求开始位置与首控制点衔接,并有刀补等模式限制;曲线数学正确,不等于程序上下文已满足。
几何正确之后再判断速度
相同t步长一般不对应相同弧长,不能把上表参数位置当作加工时间位置。应先验证几何曲线,再由对应控制器的插补与速度约束评估运动,避免用控制点间的折线长度估算NURBS刀路长度。更多高级插补资料见OPTION栏目。
