发明名称 一种五轴数控侧铣加工用刀具半径补偿方法
摘要 本发明涉及一种五轴数控侧铣加工用刀具半径补偿方法,包括:指令预读分析:确定刀具偏置方向和刀具半径,确定加工路径上各点的刀心点坐标和刀轴矢量;确定映射平面:根据路径各点的刀轴矢量和刀心点坐标确定各点对应的映射平面;确定映射关系:确定编程坐标系与映射平面坐标系的空间坐标转换关系;映射平面内的刀具半径补偿:将编程坐标系下各点的刀心点坐标转换为映射平面坐标系内的坐标,确定各点对应的刀具补偿矢量;确定空间刀具半径补偿矢量:确定映射平面坐标系补偿后的刀心点坐标,确定各点经过空间刀具补偿后对应的刀心点坐标。本发明解决了在五轴加工中刀具半径补偿功能失效的问题,使五轴NC程序的适用性得到提高,可操作性更强。
申请公布号 CN102371504B 申请公布日期 2014.04.02
申请号 CN201010256165.7 申请日期 2010.08.18
申请人 中国科学院沈阳计算技术研究所有限公司;沈阳高精数控技术有限公司 发明人 林浒;于东;郑飂默;张富彦;张晓辉;杨富枝;王峰
分类号 B23Q15/16(2006.01)I 主分类号 B23Q15/16(2006.01)I
代理机构 沈阳科苑专利商标代理有限公司 21002 代理人 李晓光
主权项 1.一种五轴数控侧铣加工用刀具半径补偿方法,其特征在于包括以下步骤:指令预读分析:在编程坐标系中确定刀具偏置方向和刀具半径,确定加工路径上各点的刀心点坐标和刀轴矢量;确定映射平面:根据上述步骤中得到的路径各点的刀轴矢量和刀心点坐标确定各点对应的映射平面;以P<sub>i</sub>点为映射坐标系坐标原点,<img file="FSB0000119047500000011.GIF" wi="371" he="105" />为Z轴组成新坐标系P<sub>i</sub>′X′Y′Z′,P<sub>i</sub>′X′Y′就是所要计算的映射平面;确定映射关系:通过编程坐标系中的中间点的刀轴矢量和中间点的刀心点坐标,确定编程坐标系与映射平面坐标系的空间坐标转换关系;映射平面内的刀具半径补偿:通过上述步骤中确定的空间坐标转换关系,将编程坐标系下各点的刀心点坐标转换为映射平面坐标系内的坐标,利用平面轮廓刀具半径补偿方法即G41、G42,在映射平面坐标系内确定各点对应的刀具补偿矢量;确定空间刀具半径补偿矢量:根据上述根据刀具补偿矢量确定映射平面坐标系补偿后的刀心点坐标,逆向使用空间坐标转换关系,确定各点经过空间刀具补偿后对应的刀心点坐标;所述确定映射平面包括路径起始点、中间点以及终点的映射平面,其中对于路径中间点由相邻的指令位置点和中间位置点以及中间点的刀轴矢量确定映射平面,通过以下公式得到:<![CDATA[<math><mrow><mfenced open='' close=''><mtable><mtr><mtd><mrow><mo>(</mo><msub><mi>c</mi><mi>x</mi></msub><mo>,</mo><msub><mi>c</mi><mi>y</mi></msub><mo>,</mo><msub><mi>c</mi><mi>z</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msub><mi>l</mi><mi>i</mi></msub></mfrac><mfenced open='|' close='|'><mtable><mtr><mtd><mi>I</mi></mtd><mtd><mi>J</mi></mtd><mtd><mi>K</mi></mtd></mtr><mtr><mtd><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub></mtd><mtd><msub><mi>y</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub></mtd><mtd><msub><mi>z</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>z</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>n</mi><mi>x</mi></msub></mtd><mtd><msub><mi>n</mi><mi>y</mi></msub></mtd><mtd><msub><mi>n</mi><mi>z</mi></msub></mtd></mtr></mtable></mfenced><mi></mi></mtd></mtr><mtr><mtd><mo>=</mo><mrow><mo>(</mo><mfrac><mrow><msub><mi>n</mi><mi>z</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>n</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>z</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msub><mi>l</mi><mi>i</mi></msub></mfrac><mo>,</mo><mfrac><mrow><msub><mi>n</mi><mi>x</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>z</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>n</mi><mi>z</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msub><mi>l</mi><mi>i</mi></msub></mfrac><mo>,</mo><mfrac><mrow><msub><mi>n</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>n</mi><mi>x</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msub><mi>l</mi><mi>i</mi></msub></mfrac><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>a</mi><mi>x</mi></msub><mo>=</mo><msub><mi>n</mi><mi>y</mi></msub><msub><mi>c</mi><mi>z</mi></msub><mo>-</mo><msub><mi>n</mi><mi>z</mi></msub><msub><mi>c</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mi>y</mi></msub><mo>=</mo><msub><mi>n</mi><mi>z</mi></msub><msub><mi>c</mi><mi>x</mi></msub><mo>-</mo><msub><mi>n</mi><mi>x</mi></msub><msub><mi>c</mi><mi>z</mi></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mi>z</mi></msub><mo>=</mo><msub><mi>n</mi><mi>x</mi></msub><msub><mi>c</mi><mi>y</mi></msub><mo>-</mo><msub><mi>n</mi><mi>y</mi></msub><msub><mi>c</mi><mi>x</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:I、J、K为从编程坐标系所看到的刀具终点方向,(c<sub>x</sub>,c<sub>y</sub>,c<sub>z</sub>)和a<sub>x</sub>、a<sub>y</sub>、a<sub>z</sub>为映射平面内相互垂直的任意两个方向的正交单位矢量;x<sub>i</sub>、y<sub>i</sub>、z<sub>i</sub>为刀心点P<sub>i</sub>(x<sub>i</sub>,y<sub>i</sub>,z<sub>i</sub>)的坐标;x<sub>i+1</sub>、y<sub>i+1</sub>、z<sub>i+1</sub>为刀心点P<sub>i+1</sub>(x<sub>i+1</sub>,y<sub>i+1</sub>,z<sub>i+1</sub>)的坐标;n<sub>x</sub>、n<sub>y</sub>、n<sub>z</sub>为刀心点P<sub>i</sub>的刀轴矢量;<![CDATA[<math><mrow><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><msqrt><msup><mrow><mo>(</mo><msub><mi>n</mi><mi>z</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>n</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>z</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>n</mi><mi>x</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>z</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>n</mi><mi>z</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>n</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>n</mi><mi>x</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>;</mo></mrow></math>]]></maths>所述编程坐标系与路径中间点的映射平面的空间坐标转换关系包括:从映射平面所在坐标系到编程坐标系的齐次变换矩阵T为<![CDATA[<math><mrow><mi>T</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>c</mi><mi>x</mi></msub></mtd><mtd><msub><mi>c</mi><mi>y</mi></msub></mtd><mtd><msub><mi>c</mi><mi>z</mi></msub></mtd><mtd><mo>-</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><msub><mi>c</mi><mi>x</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><msub><mi>c</mi><mi>y</mi></msub><mo>+</mo><msub><mi>z</mi><mi>i</mi></msub><msub><mi>c</mi><mi>z</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>a</mi><mi>x</mi></msub></mtd><mtd><msub><mi>a</mi><mi>y</mi></msub></mtd><mtd><msub><mi>a</mi><mi>z</mi></msub></mtd><mtd><mo>-</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><msub><mi>a</mi><mi>x</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><msub><mi>a</mi><mi>y</mi></msub><mo>+</mo><msub><mi>z</mi><mi>i</mi></msub><msub><mi>a</mi><mi>z</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>n</mi><mi>x</mi></msub></mtd><mtd><msub><mi>n</mi><mi>y</mi></msub></mtd><mtd><msub><mi>n</mi><mi>z</mi></msub></mtd><mtd><mo>-</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><msub><mi>n</mi><mi>x</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><msub><mi>n</mi><mi>y</mi></msub><mo>+</mo><msub><mi>z</mi><mi>i</mi></msub><msub><mi>n</mi><mi>z</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>从编程坐标系到映射平面坐标系的齐次变换矩阵T′为<![CDATA[<math><mrow><msup><mi>T</mi><mo>&prime;</mo></msup><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>c</mi><mi>x</mi></msub></mtd><mtd><msub><mi>c</mi><mi>y</mi></msub></mtd><mtd><msub><mi>c</mi><mi>z</mi></msub></mtd><mtd><mo>-</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><msub><mi>c</mi><mi>x</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><msub><mi>c</mi><mi>y</mi></msub><mo>+</mo><msub><mi>z</mi><mi>i</mi></msub><msub><mi>c</mi><mi>z</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>a</mi><mi>x</mi></msub></mtd><mtd><msub><mi>a</mi><mi>y</mi></msub></mtd><mtd><msub><mi>a</mi><mi>z</mi></msub></mtd><mtd><mo>-</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><msub><mi>a</mi><mi>x</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><msub><mi>a</mi><mi>y</mi></msub><mo>+</mo><msub><mi>z</mi><mi>i</mi></msub><msub><mi>a</mi><mi>z</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中c<sub>x</sub>、c<sub>y</sub>、c<sub>z</sub>和a<sub>x</sub>、a<sub>y</sub>、a<sub>z</sub>为映射平面内相互垂直的任意两个方向的单位矢量;x<sub>i</sub>、y<sub>i</sub>、z<sub>i</sub>为刀心点P<sub>i</sub>(x<sub>i</sub>,y<sub>i</sub>,z<sub>i</sub>)的坐标;n<sub>x</sub>、n<sub>y</sub>、n<sub>z</sub>为刀心点P<sub>i</sub>的刀轴矢量。
地址 110171 辽宁省沈阳市浑南新区南屏东路16号