国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

DDA 圓弧插補(bǔ)算法改進(jìn)研究

2021-02-02 01:00游達(dá)章談太振張業(yè)鵬
現(xiàn)代電子技術(shù) 2021年3期
關(guān)鍵詞:補(bǔ)點(diǎn)弦線切線

游達(dá)章,談太振,張業(yè)鵬,劉 攀

(湖北工業(yè)大學(xué) 機(jī)械工程學(xué)院 湖北省現(xiàn)代制造質(zhì)量工程重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430068)

0 引 言

插補(bǔ)算法是整個(gè)數(shù)控系統(tǒng)的核心。數(shù)控機(jī)床加工曲線時(shí),對(duì)其起點(diǎn)和終點(diǎn)之間,按照一定的方法用折線軌跡逼近、擬合所要加工的曲線[1],并計(jì)算出中間點(diǎn)位置的坐標(biāo)值,給出相應(yīng)的位移量,這就是插補(bǔ)。插補(bǔ)運(yùn)算具有實(shí)時(shí)性,每個(gè)插補(bǔ)中間點(diǎn)的計(jì)算精度影響系統(tǒng)的控制精度,中間點(diǎn)的計(jì)算速度又影響著系統(tǒng)的控制速度。

數(shù)字積分法(DDA)具有邏輯能力強(qiáng)、運(yùn)算速度快、易實(shí)現(xiàn)多標(biāo)聯(lián)動(dòng)等特點(diǎn)?,F(xiàn)階段圓弧插補(bǔ)算法在應(yīng)用上存在著誤差較大和溢出脈沖不均勻等缺點(diǎn)。文獻(xiàn)[2]通過非對(duì)稱累加器賦值,使得軸上脈沖分配更均勻,同時(shí)減少了插補(bǔ)次數(shù),插補(bǔ)算法難度不變。但是通過累加器改變初值的方式造成程序段進(jìn)給速度不一致,影響加工表面質(zhì)量。

文獻(xiàn)[3]基于數(shù)字積分法和時(shí)間分割混合,采用可控的插補(bǔ)周期進(jìn)行時(shí)間分割,滿足DDA 累加中對(duì)進(jìn)給速度的要求,從而消除了插補(bǔ)段之間的零頭距離,讓進(jìn)給速度更平滑。但是必須要求CNC 完成一次插補(bǔ)所需的最小周期不長于插補(bǔ)周期[4],對(duì)硬件要求高。區(qū)別于傳統(tǒng)時(shí)間分割法,粗插補(bǔ)利用插補(bǔ)周期及進(jìn)給速度計(jì)算步長完成分割,本文通過控制弓高誤差,利用固定長度弦和迭代矩陣計(jì)算插補(bǔ)點(diǎn)的方式對(duì)DDA 算法進(jìn)行改進(jìn),提高了插補(bǔ)精度及插補(bǔ)效率,并提出一種基于最小二乘法的評(píng)價(jià)方法對(duì)改進(jìn)后的算法做出評(píng)價(jià)。

1 基于時(shí)間分割法的DDA 算法分析

基于時(shí)間分割法的DDA 圓弧算法思想是在誤差范圍內(nèi)將圓弧轉(zhuǎn)化為一組直線來逼近,即需要計(jì)算出每個(gè)插補(bǔ)周期的坐標(biāo)增量值[5]。對(duì)于圓弧的逼近,目前數(shù)控系統(tǒng)使用有切線法、弦線法和擴(kuò)展DDA 法(割線)三種方式。

切線法和弦線法的逼近方式都屬于一階DDA,在計(jì)算三角函數(shù)時(shí),因?yàn)橐粋€(gè)插補(bǔ)周期轉(zhuǎn)動(dòng)角度θ 較小,利用泰勒展開:

取一階近似計(jì)算,造成進(jìn)給速度小于指令速度,每次插補(bǔ)的輪廓步長發(fā)生誤差積累?;跁r(shí)間分割法的擴(kuò)展DDA 法是目前精度最好的方式,它采用二階運(yùn)算,只需有限次加法、減法、乘法運(yùn)算,速度較高[4]。如圖1所示,做逆圓弧插補(bǔ)時(shí),設(shè)一個(gè)插補(bǔ)周期進(jìn)給步長為l,其徑向誤差δ=Ri-R,插補(bǔ)半徑為:

化簡,得:

(x0,y0)為圓弧起點(diǎn),在圓弧上則有:

式中所以徑向誤差δ≠0。由此可知,插補(bǔ)點(diǎn)如果不在圓弧上,就存在徑向誤差[4],在迭代插補(bǔ)時(shí),將形成較大的累計(jì)誤差,圓弧插補(bǔ)徑向誤差分析如圖1所示。

圖1 圓弧插補(bǔ)徑向誤差分析

2 圓弧插補(bǔ)算法改進(jìn)

由第1 節(jié)圓弧插補(bǔ)誤差分析可知,基于時(shí)間分割法的DDA 算法常用的三種方式存在精度誤差。因此,本文考慮對(duì)算法進(jìn)行改進(jìn)。與傳統(tǒng)時(shí)間分割法不同,改進(jìn)算法是在插補(bǔ)前通過縮放圓弧形成允許誤差帶[6],控制弓高誤差,利用連續(xù)的弦線擬合圓弧,最后通過DDA 完成各段直線插補(bǔ)擬合圓弧。

不失一般性,設(shè)起點(diǎn)、終點(diǎn)坐標(biāo)為(xs,ys),(xe,ye),圓心坐標(biāo)為(x0,y0),起點(diǎn)、終點(diǎn)相對(duì)原點(diǎn)偏置如下:

起點(diǎn)、終點(diǎn)向量掃過的夾角為τ,設(shè)起點(diǎn)、終點(diǎn)向量斜率存在,且為ks,ke,則有:

在第一象限逆圓弧插補(bǔ)中,設(shè)當(dāng)前位置為起始位置C(xs,ys),下一插補(bǔ)點(diǎn)的坐標(biāo)為B(x1,y1),設(shè)置允許誤差,切線對(duì)應(yīng)圓心角,其中,δ 為弓高誤差,R為圓弧半徑,分割圓弧如圖2 所示。

圖2 通過弓高誤差控制分割圓弧

轉(zhuǎn)換為旋轉(zhuǎn)矩陣:

式中xT,yT為迭代坐標(biāo),初始值為xs,ys,矩陣計(jì)算的結(jié)果L 為下一插補(bǔ)點(diǎn)坐標(biāo),并重新代入xT,yT中完成式(9)迭代計(jì)算。如圖3 所示,每計(jì)算一次插補(bǔ)點(diǎn),剩余夾角為τ-α。當(dāng)剩余夾角β =α,迭代計(jì)算下一插補(bǔ)點(diǎn)坐標(biāo);當(dāng)β <α 時(shí),不再計(jì)算,弦線由當(dāng)前點(diǎn)N 直接連接至終點(diǎn)B。有了插補(bǔ)點(diǎn)坐標(biāo),可通過相鄰點(diǎn)連接的弦完成圓弧逼近[7],再通過DDA 直線插補(bǔ)對(duì)每段逼近直線插補(bǔ)。終點(diǎn)判別過程如圖3 所示。

圖3 終點(diǎn)判別

3 圓弧擬合均差數(shù)學(xué)模型

同直線插補(bǔ)一樣,圓弧插補(bǔ)由x,y 方向移動(dòng)若干脈沖當(dāng)量來擬合圓弧軌跡[8]。不失一般性地,設(shè)最小二乘圓圓心為(xc,yc),半徑為R,最小二乘法擬合要求距離平方和最小[9]。由最小二乘圓公式可知:

式中(xi,yi)為離散點(diǎn)的坐標(biāo),即求解最小二乘圓圓心xc,yc和半徑R,使得最小。由于最小二乘圓計(jì)算方法無解析解,因此可對(duì)最小二乘法進(jìn)行一定的近似[9],采用近似函數(shù)進(jìn)行求解,為方便運(yùn)算,設(shè)函數(shù):

式中W =[xcycR]T。

對(duì)f (W )求偏導(dǎo),并令其為0,可得:

通過將xc,yc由uc,vc替換,修改坐標(biāo)原點(diǎn)位置,由于可得:

綜上,可得:

至此,可得出最小二乘圓圓心:

由以上分析可知,最小二乘圓的圓心和半徑是可解、存在的,這說明基于最小二乘圓近似算法可以作為圓弧插補(bǔ)的快速評(píng)價(jià)方法。

4 比較分析

通過圓弧插補(bǔ)均差數(shù)學(xué)模型,建立最小二乘圓擬合,利用Matlab 對(duì)切線法、弦線法、擴(kuò)展DDA、改進(jìn)DDA算法進(jìn)行仿真,基于這種快速評(píng)價(jià)方法進(jìn)行比較分析。仿真結(jié)果如圖4 所示。

圖4 中實(shí)點(diǎn)表示插補(bǔ)點(diǎn)分布,虛線表示最小二乘圓軌跡,實(shí)線為理想條件下要求的插補(bǔ)軌跡,由最小二乘圓擬合軌跡,顯然可得出改進(jìn)后的DDA 算法能夠更好擬合理論圓弧。最小二乘圓擬合情況如表1 所示。

圖4 算法仿真

分別計(jì)算切線法、弦線法、擴(kuò)展DDA 以及改進(jìn)DDA算法插補(bǔ)點(diǎn)最小二乘圓,其中,改進(jìn)DDA 算法誤差控制為δ=0.5,并求出插補(bǔ)點(diǎn)距離最小二乘圓距離平方和通過最小二乘圓實(shí)際求取的半徑精度、最大徑向誤差對(duì)4 種插補(bǔ)算法進(jìn)行對(duì)比,結(jié)果如表2 所示。

表2 插補(bǔ)情況對(duì)比

由表2 可得出,傳統(tǒng)圓弧插補(bǔ)最大誤差可能超過1 個(gè)脈沖當(dāng)量,而改進(jìn)插補(bǔ)誤差則總是控制在1 個(gè)脈沖當(dāng)量內(nèi),故改進(jìn)后DDA 算法最大誤差不超過1+δ,且改進(jìn)后的DDA 算法最小二乘擬合精度相對(duì)于已有的傳統(tǒng)DDA 算法提高了約20%,最大徑向誤差更小,運(yùn)行時(shí)間也更短。

5 結(jié) 語

通過本文的分析,經(jīng)過改進(jìn)后的DDA 算法用迭代矩陣計(jì)算插補(bǔ)點(diǎn)、弦線分割圓弧的方式逼近圓弧,可靠地提高了插補(bǔ)精度,在運(yùn)行時(shí)間上也得到很大的提升。同時(shí),也驗(yàn)證了基于圓弧插補(bǔ)均差數(shù)學(xué)模型的最小二乘圓評(píng)價(jià)插補(bǔ)精度具有一定的可行性。

猜你喜歡
補(bǔ)點(diǎn)弦線切線
等弦分割采樣的球面插補(bǔ)算法研究
心房顫動(dòng)射頻消融術(shù)中肺靜脈電隔離后補(bǔ)點(diǎn)消融位置及其補(bǔ)點(diǎn)消融數(shù)量分析
Mathstudio在弦振動(dòng)實(shí)驗(yàn)研究中的應(yīng)用
一種戰(zhàn)時(shí)人力資源補(bǔ)充分析方法
圓錐曲線的切線方程及其推廣的結(jié)論
增強(qiáng)型地面數(shù)字電視補(bǔ)點(diǎn)器的探討和研究
切線在手,函數(shù)無憂
過圓錐曲線上一點(diǎn)作切線的新方法
弦振動(dòng)特性研究
駐波演示實(shí)驗(yàn)研究
科尔| 宁城县| 大渡口区| 大埔县| 湛江市| 邵阳县| 梅河口市| 都江堰市| 济宁市| 视频| 高密市| 玛纳斯县| 卢湾区| 宁南县| 湄潭县| 皋兰县| 墨江| 徐州市| 六枝特区| 闽清县| 竹溪县| 明水县| 屯门区| 洛浦县| 双桥区| 武城县| 逊克县| 双柏县| 巴青县| 巩义市| 砀山县| 井陉县| 龙山县| 黄骅市| 新化县| 琼中| 郑州市| 永川市| 九龙县| 元阳县| 水富县|