一种基于ARM9嵌入式系统和FPGA的NURBS曲线分段插补方法转让专利
申请号 : CN201310003017.8
文献号 : CN103048953B
文献日 : 2014-11-12
发明人 : 聂明星 , 蒋新华 , 陈兴武 , 李光炀 , 邵明 , 陈青霞 , 聂作先 , 朱悦涵 , 郑积仕 , 王光耀
申请人 : 福建工程学院
摘要 :
权利要求 :
1.一种基于ARM9嵌入式系统和FPGA的NURBS曲线分段插补方法,其特征在于包括2个步骤:
1)粗插补
从NC代码文件中提取NURBS曲线描述的工件信息,得到控制点集合{Pi}、权因子集合{wi}及指令速度F;
采用二阶泰勒展开近似法对NURBS曲线进行预插补,得到预插补点集合{(ui,vi,ρi)},系统根据弓高误差变化情况自动识别曲线小曲率半径区,并动态调整预插补点进给速度,得到调整后的插补点速度集合:插补误差模型为:
ki为曲线在参数ui处的曲率,有:
根据插补弓高误差和最大弓高误差限制关系,动态调整插补进给速度方程为:系统根据小曲率半径区插补点速度集合和曲率变化情况提取出小曲率半径区速度特征点:以相邻速度特征点对NURBS曲线进行分段,得到分段曲线:m m+1
Lm={(C(ui),C (ui+1))}
采用自适应辛普森方法计算分段曲线长度,得到四元组{us,ue,vi,Si}表示的曲线段数据,该数据包括曲线段首尾端点参数、进给速度、曲线段长度的信息;由ARM9嵌入式系统通过总线将曲线段数据写入到FPGA的FIFO队列中;
2)精插补
FPGA读取FIFO队列中曲线段数据,采用S型加减速方法进行加减速处理,根据NURBS曲线定义式实时生成插补点坐标;
外围电路将各进给轴运动分量以脉冲量形式输出到电动机的信号控制端口,实现电动机伺服控制。
2.根据权利要求1所述的一种基于ARM9嵌入式系统和FPGA的NURBS曲线分段插补方法,其特征在于系统根据小曲率半径区插补点速度集合和曲率变化情况提取出小曲率半径区速度特征点,具体步骤是:所述的小曲率半径区预插补点速度集合为:
其中: 为第m个小曲线半径区起始参数;
采用贪心算法对小曲率半径区进行扫描,提取小曲率半径区的最低速度插补点,具体为:Step1速度特征点初始化:令特征点进给速度Vf=F,参数Uf=1;
Step2插补点参数计算:由参数ui,进给速度V(ui)根据二阶泰勒展开式计算参数ui+1;
Step3敏感点判断:根据圆弧近似插补误差模型计算弦C(ui)C(ui+1)的弓高误差ERi,如果ERi大于最大弓高误差限制δmax,则动态调整进给速度V(ui),此时C(ui)为敏感点,执行Step4;如果ERi小于等于最大弓高误差限制δmax,当曲线扫描结束,执行Step5;否则,执行Step2;
Step4速度特征点检测:如果Vf>Uf,则当前敏感点为新的速度特征点,令Vf=V(ui),Uf=ui,执行Step2;如果Vf≤Uf,预插补点C(ui)即为小曲率半径区速度特征点,当曲线扫描结束,执行Step5;否则,继续检测下一个小曲率半径区速度特征点,执行Step1;
Step5算法结束:得到NURBS曲线速度特征点集合
说明书 :
一种基于ARM9嵌入式系统和FPGA的NURBS曲线分段插补
方法