[发明专利]一种基于S曲线加减速算法的NURBS曲线双向自适应插补方法有效
申请号: | 201710994472.7 | 申请日: | 2017-10-23 |
公开(公告)号: | CN107817764B | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 张承瑞;倪鹤鹏;袁佶鹏;姬帅;胡天亮;刘亚男 | 申请(专利权)人: | 山东大学 |
主分类号: | G05B19/4103 | 分类号: | G05B19/4103 |
代理公司: | 济南金迪知识产权代理有限公司 37219 | 代理人: | 王楠 |
地址: | 250061 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 曲线 减速 算法 nurbs 双向 自适应 | ||
1.一种基于S曲线加减速算法的NURBS曲线双向自适应插补方法,其特征在于,包括步骤如下:
(1)提取数据;利用NC解释器获取NURBS曲线数据和运动参数至运动数据缓冲区;
(2)预处理阶段;扫描获得NURBS曲线的关键特征,所述关键特征包括NURBS曲线的断点,根据断点将NURBS曲线划分为块,计算每个块的NURBS曲线的弧长和曲率;根据每个块内曲线的曲率将块划分为段;
步骤(2)中,预处理阶段包括以下子模块步骤:
2-1、读取NURBS曲线数据和运动参数,所述曲线数据包括:阶数P、控制点{Pi}、节点向量{ui}、权因子{wi},所述运动参数包括指令进给速度F、最大加速度、最大加加速度;
2-2、在NURBS曲线的断点处划分曲线:
根据读取的曲线数据,检测判断曲线中的断点,利用断点将总的NURBS曲线分为不同的块,每一个块可以表示为[ubi,ubi+1],ubi和ubi+1分别代表该区间块的起点位置和块的终点位置,bi=1,2…..n,n为块的个数;
2-3、对每一个划分的块计算弧长和曲率;
利用基于辛普森规则的自适应正交方法求得每个块的弧长lbi,在计算弧长期间,同时求得每个块的边界节点的曲率,NURBS曲线C(u)的参数ubi处的曲率κ(ubi)表示如下:
把求得的每个块的弧长和曲率,生成特征数据缓冲区{[ubi,κ(ubi),lbi]};
2-4、判断每个块上的关键点,在每一个划分的块上再依据关键点划分为不同的段,对于第i个段,可以获得数据缓冲区其中ui和是该段的起点参数和该段的起点的限制进给速度,uj和是该段的终点参数和该段的终点的限制进给速度,lij是该段的弧长;
2-5、优化各段的进给速度,获得每个段的起始进给速度、终点进给速度,存入新的数据缓冲区为第i段的节点矢量,为第i段的起始进给速度,为第i段的终点进给速度,为第i段的弧长;优化方法为反向规划和正向规划两部分结合组成的双向进给率预测方法,包括步骤如下:
2-5-1、根据标准S曲线加减速算法反向规划并更新数据缓冲区
2-5-2、根据标准S曲线加减速算法正向规划并更新数据缓冲区进入反向规划校正模块;
2-5-3、读取当前块的总段数k;
2-5-4、判断本段起始速度是否大于若是,进入2-5-5;若否,将当前段数k更新为k-1,返回步骤2-5-4;
2-5-5、根据提出的自适应进给调度方法进行反向插补,将反向插补结果存储到数据缓冲区{[uj,C(uj)]};判断是否大于反向最大速度且剩余弧长是否大于0,若是,重新进入2-5-5;若否,进入2-5-6;
2-5-6、判断是否小于等于反向最大速度且若是,将k更新为k-1,返回步骤2-5-4;若否,进入2-5-7;
2-5-7、使用更新
(3)实时插补阶段;利用步骤(2)中得到的每个段的曲线数据和运动参数,获取该段内各周期的进给长度,进而找到新的插值点。
2.根据权利要求1所述的基于S曲线加减速算法的NURBS曲线双向自适应插补方法,其特征在于,步骤2-2中,检测判断为断点的情况包括以下两种:一种是判断有C0连续性的点是断点;一种是判断具有C1连续性的点,如果其节点向量的相应控制点是两个及以上控制点时将该点归为断点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710994472.7/1.html,转载请声明来源钻瓜专利网。