数控技术 - 直线插补 - 逐点比较法

数控技术-直线插补 - 逐点比较法

前言:还有5天要考《数控技术》了,开始(复习)预习时发现,考点之一是直线插补。这个知识点不是我上个学期的课程设计——运动控制卡的主要功能之一吗。我当时对直线插补的理解还是很简单的:一边两点取中间打折,使线段更加平滑。现在看了理论实现后发现,可以说不是一个东西了,所以甚是感觉有趣。

排除掉要应付大学考试,直线插补这个知识点还是很主要的。特地写篇笔记记录,防止以后忘记。

1.解释

  • 逐点比较法,顾名思义,逐个点比较。每次进给都会得到一个点,然后再和目标线段比较误差。根据误差决定下一次进给的方向,循环反复。
  • 该方法有个重要定义:只适用于两轴决定的平面,每次进给都只能沿轴方向,必须且只能选一个轴方向。

数学定义很重要,嗯……

  • 下面直接看效果图,图源自网络 。实践时,XY轴就是电机控制,每次移动一定单位量。

在这里插入图片描述

2.过程步骤

  • 根据视频教程的总结,可访分为5步:①得出偏差函数;②偏差判别;③坐标进给;④新的偏差计算;⑤终点判别,如果没到就重复②,循环反复;

(0)符号

  • 为下面的内容做些规定,用符号代替名词,方便阅读。
  1. 原点 O

( x s , y s ) (x_s,y_s) (xs,ys)

  1. 终点 E

( x e , y e ) (x_e,y_e) (xe,ye)

  1. 中间点 P;(ij表示各轴进给的次数)

( x i , y j ) (x_i,y_j) (xi,yj)

(1)公式由来

  • 因为进给是单位量,所以得到的中间点P会出现3种情况:在线段上方,在线段中,在线段下方。
  • 逐点比较法的重点是 比较偏差 ,为了方便,定义用斜率比较偏差。

下面公式例子 部分 只列举一种情况,排版原因不穷举了。

  • 用线段OP的斜率与OE比较:斜率,在线段上方;斜率 相等 ,在线段中;斜率,在线段下方。

y j x i > y e x e \frac{y_j}{x_i} > \frac{y_e}{x_e} xiyj>xeye

  • 数学式子要漂亮,为了方便计算,化简成与零作比较。

y i ∗ x e − y e ∗ x i > 0 y_i*x_e - y_e*x_i >0 yixeyexi>0

  • 这个式子就定义为偏差函数,决定了进给方向。

F = x e ∗ y j − x i ∗ y e > 0 F = x_e*y_j - x_i*y_e > 0 F=xeyjxiye>0

  • 结合第一象限的图,点P位于线段下方时,进给就要 向上 ,靠近线段;位于线段上方时,进给就要 向前 ,靠近线段。即分别沿y轴正方向,x轴正方向进给。同时规定,在线段中时,也属于线段上方,沿x轴进给。

( + Δ x ) (+ \Delta x) (+Δx)

  • 计算新的偏差函数,然后整理化简可得,新的偏差就等于,上一个偏差减去点E的y轴坐标,或上一个偏差加上点E的x轴坐标。

F 1 = x e ∗ y j − ( x i + 1 ) ∗ y e = ( x e ∗ y j − x i ∗ y e ) − y e = F − y e F 1 = x e ∗ ( y j + 1 ) − x i ∗ y e = ( x e ∗ y j − x i ∗ y e ) + x e = F + x e F_1 = x_e*y_j - (x_i+1)*y_e = (x_e*y_j - x_i*y_e) - y_e = F - y_e \\ F_1 = x_e*(y_j+1) - x_i*y_e = (x_e*y_j - x_i*y_e) + x_e = F + x_e F1=xeyj(xi+1)ye=(xeyjxiye)ye=FyeF1=xe(yj+1)xiye=(xeyjxiye)+xe=F+xe

  • 到这里就很明朗了,我只需计算初始的偏差函数,然后每次新的偏差函数根据终点E坐标和进给方向计算。无须在意中间点P的坐标。巧妙啊

F 1 = F − y e F 1 = F + x e F_1 = F - y_e \\ F_1 = F + x_e F1=FyeF1=F+xe

  • 关于终点的判别,有2种方法:总步长法、总坐标法。原理都一样,其实得到轨迹图后分开xy轴,会发现就是在走 三角形 。比如走到点(x_s,y_e)再走到点(x_e,y_e),所以,其实只要总步数够了一定能到达终点。

N = ∣ x e ∣ + ∣ y e ∣ N = |x_e| + |y_e| N=xe+ye

  • 又或者,只要三角形的最长边已经走完了,也代表已经走到终点了。

3.例题

最后还是要做个题目练练手,不能转头就忘记了。

题目:加工第一象限直线OE,起点为坐标原点,终点坐标为E(6,3),试用逐点比较法对该段直线进行插补,并画出插补轨迹。

  1. 偏差函数

F = x e ∗ y i − x i ∗ y e = 6 ∗ 0 − 0 ∗ 3 = 0 F = x_e*y_i - x_i*y_e = 6*0 - 0*3 = 0 F=xeyixiye=6003=0

  1. 偏差判别

F = 0 F = 0 F=0

  1. 坐标进给

( + Δ x ) (+ \Delta x) (+Δx)

  1. 偏差计算

F 1 = F − y e = − 3 F_1 = F - y_e = -3 F1=Fye=3

  1. 终点判别,等于零时代表结束。

n = ∣ x e ∣ + ∣ y e ∣ − 1 = 9 − 1 = 8 n = |x_e| + |y_e| - 1 = 9 - 1 = 8 n=xe+ye1=91=8

  1. 循环第二步。
脉冲偏差判别进给方向偏差计算终点判别
00,(6,3)9
10=0+x0-3=-38
2-3<0+y-3+6=37
33>0+x3-3=06
40=0+x0-3=-35
5-3<0+y-3+6=34
63>0+x3-3=03
70=0+x0-3=-32
8-3<0+y-3+6=31
93>0+x3-3=00
  • 可以发现,第一个偏差和最后一个偏差 总是 为0的。这是因为起点和终点肯定都在线段上,这个点也在坐标轴的 整值 上。

4.补充

(1)其他象限的线段

  • 当线段的 朝向 是其他象限时,情况和第一象限类似。下面介绍2种方法,需要注意的是,下面两种方法得到的结果是 不一样 的,这就很奇葩了……
  • 可以选择从偏差函数重新推导一遍得到结果,也就是视频中提到的 分别处理法 ,不常用,需要记多个公式。
  • 可以采用相对进给的方法,将坐标取绝对值计算,即将线段转为第一象限。计算出的结果是远离坐标轴还是靠近坐标轴,根据结果相对得到原本的进给方向。为 坐标变化法 ,一般也常用这个,好用。

(2)坐标轴上的线段

  • 这个更加简单了,只需要沿一个坐标轴进给就好了。另一个坐标轴一直不用进给。
  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值