亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        三點(diǎn)圓法參數(shù)自適應(yīng)插補(bǔ)算法

        2021-06-24 08:18:00曹智梅
        機(jī)電工程技術(shù) 2021年5期
        關(guān)鍵詞:圓心圓弧極值

        曹智梅

        (廣東松山職業(yè)技術(shù)學(xué)院,廣東韶關(guān) 512126)

        0 引言

        普通數(shù)控機(jī)床具備直線和圓弧插補(bǔ)功能。對于非圓曲線的加工,通常是在曲線上取若干個點(diǎn),在保證插補(bǔ)誤差的前提下,兩相鄰點(diǎn)間采用直線的方式進(jìn)行插補(bǔ),這種插補(bǔ)計算方便,數(shù)學(xué)處理簡單,但所得的逼近點(diǎn)數(shù)量較多,逼近線段較短,且各直線段連接處存在尖角,影響零件的加工質(zhì)量。隨著科技的進(jìn)步,數(shù)控系統(tǒng)計算能力的增強(qiáng),社會對數(shù)控加工產(chǎn)品的質(zhì)量要求越來越高,圓弧插補(bǔ)得到了更廣泛的應(yīng)用。

        圓弧插補(bǔ)就是在插補(bǔ)誤差允許的范圍內(nèi),用無數(shù)條微小的圓弧段來替代非圓曲線。采用微小圓弧段進(jìn)給時,要解決各段圓弧尺寸的計算,以及圓弧順逆的判斷,以便使用系統(tǒng)已有的G02/G03指令來加工。與直線插補(bǔ)相比,圓弧插補(bǔ)能減少插補(bǔ)的段落數(shù),提高插補(bǔ)質(zhì)量。

        采用圓弧段逼近曲線,目前常采用的方法有三點(diǎn)圓法、曲率圓法、相切圓法[1]等。其中曲率圓法的本質(zhì)是二點(diǎn)圓法,其計算過程中涉及到四次方程的求解,計算復(fù)雜。而相切圓法雖然加工出的零件表面質(zhì)量好,但整個計算過程非常復(fù)雜,同時要將曲線的拐點(diǎn)作為計算單元的分割點(diǎn),增加了數(shù)控編程的難度。

        三點(diǎn)圓法是在非圓曲線上按一定規(guī)律取3個已知點(diǎn),根據(jù)三點(diǎn)定圓的原理計算圓弧的基本尺寸,再通過控制最大插補(bǔ)誤差來修正插補(bǔ)點(diǎn)的位置。本文對傳統(tǒng)三點(diǎn)圓法進(jìn)行了改進(jìn),以參數(shù)中間點(diǎn)替代極值點(diǎn)[2],簡化三點(diǎn)圓法插補(bǔ)誤差計算,在滿足加工質(zhì)量的前提下,其計算過程簡便,插補(bǔ)效率高。

        1 圓弧計算及順逆判斷

        1.1 圓弧計算

        三點(diǎn)圓弧計算如圖1所示。

        圖1 三點(diǎn)圓弧計算

        已知A(x1,y1)、B(x2,y2)、C(x3,y3)為圓上的三點(diǎn),假設(shè)圓心坐標(biāo)O(x0,y0),圓弧半徑為R,如圖1所示,則根據(jù)圓的特性可知,AO=BO=CO=R。則有:

        分別將3個方程式展開:

        將方程兩兩相減,并令:

        若D=0則:

        即A、B、C三點(diǎn)共線或有兩個點(diǎn)重合或三點(diǎn)重合。

        當(dāng)D≠0可解得:

        1.2 圓弧順逆判斷方法

        在數(shù)控機(jī)床中要編寫通過三點(diǎn)的圓弧程序,除了要計算圓弧的圓心坐標(biāo)和半徑,還必須判斷出圓弧是順時針還是逆時針,從而決定程序中采用G02還是G03。順(逆)時針圓弧如圖2所示。圖2(a)~(b)的兩段圓弧均通過A、B、C三點(diǎn),其中A為圓弧的起點(diǎn),B為圓弧的中點(diǎn),C為圓弧的終點(diǎn)。

        圖2 順(逆)時針圓弧

        可以很直觀地看出,對于圖2(a),當(dāng)點(diǎn)A繞著圓心經(jīng)過點(diǎn)B到達(dá)點(diǎn)C,即AO經(jīng)過BO到達(dá)CO時,其旋轉(zhuǎn)的方向與時鐘的轉(zhuǎn)動方向相同,即為順時針圓弧,同理,對于圖2(b)則為逆時針圓弧。

        在進(jìn)行程序編程時,由于在曲線上選用的三點(diǎn)是在動態(tài)變化的,無法采用這種直觀的方法進(jìn)行圓弧順逆的判斷,必須要找到一個條件來判斷,而且這個條件是可以用公式進(jìn)行量化,通過量化的結(jié)果進(jìn)行判斷,并且判斷的結(jié)果是唯一。

        李柯等[3]介紹了采用角度的正切來判斷圓弧順逆,這種方法沒有考慮到角度正切無意思的情況,且整個判斷過程復(fù)雜,計算難度大。與之相比,利用向量叉積來判斷圓弧的順逆是一個比較好的選擇。

        1.3 向量叉積含義

        兩個向量的叉積為一個新的向量。根據(jù)定義,兩個向量的叉積大小等于這兩個向量組成的平行四邊形的面積,其方向垂直于兩個向量所決定的平面,其指向按右手定則從第一個向量轉(zhuǎn)向第二個向量。當(dāng)向量叉積為負(fù)時,表示從第一個向量旋轉(zhuǎn)到第二個向量是順時針;當(dāng)向量叉積為正時,表示從第一個向量旋轉(zhuǎn)到第二個向量是逆時針。

        向量的叉積對圓弧的順逆判斷有一個很好的提示,如圖3所示。圖中,三點(diǎn)圓弧中的起點(diǎn)A和中點(diǎn)B兩點(diǎn)構(gòu)成的向,起點(diǎn)A和終點(diǎn)C兩點(diǎn)構(gòu)成的向量對于圖3(a),按右手定則,向量的指向?yàn)榇怪庇诋?dāng)前平面指向屏幕內(nèi)部,即向量叉積為負(fù)值,對照圖2可知,此時圓弧為順時針;對于圖3(b),按右手定則,向量的指向?yàn)榇怪庇诋?dāng)前平面指向屏幕外部,即向量叉積為正值,對照圖2可知,此時圓弧為逆時針。

        圖3 向量叉積的正負(fù)

        1.4 圓弧順逆判斷條件

        已知A(x1,y1)、B(x2,y2)、C(x1,y1)三點(diǎn),則向=(x2-x1,y2-x1),=(x3-x1,y3-x1),向和向的叉積為2×2的行列式,則:

        利用右手法則進(jìn)行判斷:

        2 三點(diǎn)圓法插補(bǔ)誤差計算

        插補(bǔ)算法的原理就是通過控制最大插補(bǔ)誤差來完成插補(bǔ)點(diǎn)的篩選,所以插補(bǔ)誤差的計算是整個插補(bǔ)算法的核心[4]。

        2.1 兩點(diǎn)間的距離公式

        若已知A(x1,y1)、B(x2,y2)兩點(diǎn),則兩點(diǎn)間的距離d可用公式表達(dá)為

        2.2 插補(bǔ)誤差算法原理

        插補(bǔ)誤差算法原理如圖4所示。

        圖4 插補(bǔ)誤差算法原理

        在要加工的曲線f(x)上依次取三點(diǎn)A、B、C,過三點(diǎn)作圓弧,圓弧的圓心為點(diǎn)O,圓弧的半徑為R,則AO=BO=CO=R。設(shè)P為曲線上從A到C間的任意一點(diǎn),P到點(diǎn)O的距離為d,即d=PO。則曲線f(x)在AC間的插補(bǔ)誤差δ可表示為δ=|d-R|,最大誤差為:

        式中:最大誤差δmax即為插補(bǔ)誤差。若在式中,A、B、C三點(diǎn)坐標(biāo)已知,則R為常數(shù),求δmax則轉(zhuǎn)化為求d的極值,即點(diǎn)P到點(diǎn)O的極值距離,由于點(diǎn)P為曲線上AC間的任意一點(diǎn),求的極值即為求點(diǎn)O到曲線f(x)(x∈[x1,x3])的最大(或最短)距離。

        2.3 點(diǎn)到曲線極值距離的求解

        求點(diǎn)到曲線的極值距離,就是求點(diǎn)到曲線的最大(或最短)距離??刹捎枚瘮?shù)條件極值的拉格朗日乘數(shù)法,再比較邊界點(diǎn)到原點(diǎn)的距離,這些點(diǎn)也就是要找的極值點(diǎn)。

        這種計算點(diǎn)到曲線極值距離的方法雖然比較精確,但計算過程較復(fù)雜,涉及到格朗日函數(shù)的構(gòu)建以及偏導(dǎo)數(shù)的求解,且對于若干段微小圓弧插補(bǔ)來說,此種方法也不便采用。

        2.4 插補(bǔ)誤差簡化算法(一級簡化)

        求解點(diǎn)到曲線的極值距離相對復(fù)雜。換一種思路,如果將該段曲線離散點(diǎn)的數(shù)量取成有限點(diǎn),求各離散點(diǎn)到圓心的距離,并找出各距離中的極值,由于此段圓弧是微小段,所取點(diǎn)的數(shù)量不必多,甚至僅取少數(shù)幾個點(diǎn)即可滿足誤差精度計算要求。

        圖5 插補(bǔ)誤差簡化算法

        插補(bǔ)誤差簡化算法如圖5所示。在曲線f(x)上,依次取A(x1,y1)、B (x2,y2)、C (x3,y3)。由于所取的三點(diǎn)A、B、C既在圓弧上,又在曲線上,因此該三點(diǎn)對應(yīng)的插補(bǔ)誤差為0,誤差的極值點(diǎn)在AB間,或BC間。為求極值,將AB間和BC間分別將參數(shù)進(jìn)行n等分,即AB間和BC間各取n-1個點(diǎn),AB間每相鄰的兩個點(diǎn)間的參數(shù)增量為間每相鄰的兩個點(diǎn)間的參數(shù)增量為,設(shè)AB段中的第i個點(diǎn)為Hi,則Hi(xhi,yhi)坐標(biāo)為:

        設(shè)BC段中的第i個點(diǎn)為Ki,則Ki(xki,yki)坐標(biāo)為:

        則點(diǎn)Hi和Ki到圓弧圓心點(diǎn)O(x0,y0)的距離分別為:

        當(dāng)i的取值從1到n-1時,計算每個對應(yīng)的點(diǎn)Hi和Ki到圓心的距離,找出其極值點(diǎn),即求出插補(bǔ)誤差δh和δk,若整個圓弧段的允許插補(bǔ)誤差為δ允,則:

        設(shè)曲線f(x)的允許插補(bǔ)誤差為δ允,通過比較δh、δk、δ允三者的大小,可以實(shí)現(xiàn)參數(shù)自適應(yīng)的插補(bǔ)算法。當(dāng)時δh≤δ允且δk≤δ允,直接進(jìn)入下一段圓弧的插補(bǔ),否則減少A、B、C三點(diǎn)間的參數(shù)增量,重新計算。

        2.5 插補(bǔ)誤差的實(shí)用簡化算法(二級簡化)

        上述求δh和δk計算中,分別將AB和BC進(jìn)行參數(shù)n等分(n≥2),n取得越大,則計算精度越高,但帶來的問題是計算量成幾何級數(shù)增加。

        圖6 插補(bǔ)誤差實(shí)用簡化算法

        在實(shí)際加工中,為了簡化計算,可以將n取最小值2(此時i=1)。如圖6所示,此時僅在AB和BC段分別進(jìn)行參數(shù)二等分,即在AB和BC兩段各取一個參數(shù)中間點(diǎn)H1和K1,并將H1和K1作為誤差的極值點(diǎn)。分別用兩點(diǎn)間的距離公式計算H1和K1到圓心的距離dh1和dk1,此時δh=|dh1-R|,δk=|dk1-R|。

        3 三點(diǎn)圓法參數(shù)自適應(yīng)插

        3.1 插補(bǔ)算法的參數(shù)表達(dá)

        與一般的曲線方程相比,參數(shù)方程具有更好的計算特性,為了方便計算,通常要將曲線方程y=f(x)改寫成參數(shù)方程的形式,即:

        在曲線上依次取A、B、C三點(diǎn),若A、B、C點(diǎn)對應(yīng)的參數(shù)分別為t1、t2、t3,為了計算方便,令,即三點(diǎn)按等參數(shù)Δt的方式進(jìn)行選取。

        AB和BC段的參數(shù)中間點(diǎn)H1、K1對應(yīng)的參數(shù)分別為:

        求出H1和K1兩點(diǎn)的參數(shù)就可以求出兩點(diǎn)的坐標(biāo):

        通過兩點(diǎn)的坐標(biāo),分別計算點(diǎn)到圓心的距離,并計算δh和δk,比較δh、δk和δ允三者的大小關(guān)系。當(dāng)δh、δk在允許的誤差范圍內(nèi)時,繼續(xù)進(jìn)行下一段圓弧的插補(bǔ);當(dāng)δh、δk不同時滿足插補(bǔ)誤差條件時,則重新取點(diǎn)進(jìn)行插補(bǔ)運(yùn)算,直至圓弧插補(bǔ)滿足誤差條件為止。

        3.2 算法流程框圖

        在設(shè)計算法流程框圖時,把參數(shù)作為變量,通過控制插補(bǔ)誤差來修正插補(bǔ)參數(shù),通過參數(shù)的改變來不斷重新選取插補(bǔ)點(diǎn),直至插補(bǔ)結(jié)束。

        首先按等參數(shù)Δt的方式在曲線上取A、B、C三點(diǎn),并計算三點(diǎn)的坐標(biāo)。

        再接下來,計算圓弧的圓心坐標(biāo)O(x0,y0),圓弧的半徑R,計算參數(shù)中間點(diǎn)H1和K1的坐標(biāo),計算H1和K1到圓心的距離以及δh和δk。

        圖7 三點(diǎn)圓法插補(bǔ)算法流程

        比較δh、δk和δ允三者的大小關(guān)系。當(dāng)δh≤δ允和δk≤δ允同時滿足時,繼續(xù)進(jìn)行下一段圓弧的插補(bǔ);不同時滿足時,減少參數(shù)增量Δt,重新取A、B、C三點(diǎn)進(jìn)行運(yùn)算,直至滿足誤差許可條件為止。圖7所示為三點(diǎn)圓法插補(bǔ)算法流程。

        4 插補(bǔ)應(yīng)用實(shí)例

        4.1 加工橢圓曲線

        橢圓曲線在實(shí)際中應(yīng)用廣泛,數(shù)控考證和數(shù)控大賽中常有涉及。若要加工的橢圓曲線方程為為方便各點(diǎn)的坐標(biāo)計算,將橢圓的標(biāo)準(zhǔn)方程轉(zhuǎn)化為參數(shù)方程:。設(shè)加工的起點(diǎn)為(50,0),根據(jù)三點(diǎn)圓法參數(shù)自適應(yīng)插補(bǔ)算法原理,編寫宏程序O0001[5],如表1所示。

        表1 宏程序O0001

        續(xù)表

        4.2 插補(bǔ)算法分析

        為了更好地分析插補(bǔ)算法效果,將程序O0001導(dǎo)入數(shù)控仿真軟件進(jìn)行驗(yàn)證。由于橢圓為軸對稱圖形,故只驗(yàn)證t∈[0,90]的區(qū)間,即第一象限。其驗(yàn)證的加工軌跡如圖6所示。

        在進(jìn)行編程時,只控制了最大插補(bǔ)誤差,而沒有限制最小插補(bǔ)誤差,所以在實(shí)際加工中,參數(shù)增量的選取對插補(bǔ)過程有著一定的影響。在程序O0001中,分別增加3個變量,一個計算插補(bǔ)的圓弧段數(shù),一個計算最大插補(bǔ)誤差,一個計算最小插補(bǔ)誤差,并將3個變量最終以坐標(biāo)的形式輸出。在進(jìn)行插補(bǔ)時,初始設(shè)置的參數(shù)增量會對插補(bǔ)計算產(chǎn)生影響。表2所示為對Δt=2、Δt=4、Δt=6、Δt=10、Δt=12參數(shù)增量情況進(jìn)行的誤差統(tǒng)計。

        圖6 第一象限橢圓仿真加工軌跡

        表2 參數(shù)增量對插補(bǔ)的影響

        從表2可以看出,隨著參數(shù)增量的增加,插補(bǔ)所需要的圓弧段逐漸減少,最終趨于恒定,當(dāng)插補(bǔ)參數(shù)增量較小時,其最大插補(bǔ)誤差小于允許誤差,其插補(bǔ)的圓弧段數(shù)量增多,插補(bǔ)質(zhì)量相對較好,但插補(bǔ)時間較長。

        當(dāng)參數(shù)增量的增加時,最大插補(bǔ)誤差也增大,最終趨于恒定值0.005(插補(bǔ)允許誤差,由程序來控制),所以也可以看出,參數(shù)增量的改變不會改變最大插補(bǔ)誤差,從而也驗(yàn)證了該算法的正確性。但最小插補(bǔ)誤差也始終小于最大插補(bǔ)誤差,所以整個插補(bǔ)范圍內(nèi)都滿足插補(bǔ)誤差要求。當(dāng)然,合理選擇參數(shù)增量的大小可以減少插補(bǔ)圓弧段數(shù),減少插補(bǔ)時間,提高插補(bǔ)效率。

        將程序輸入數(shù)控機(jī)床進(jìn)行加工,加工出的產(chǎn)品也滿足插補(bǔ)誤差條件,進(jìn)一步驗(yàn)證了算法正確性。

        5 結(jié)束語

        本文在研究圓弧插補(bǔ)的基礎(chǔ)上,提出三點(diǎn)圓法參數(shù)自適應(yīng)插補(bǔ)算法,主要研究工作有:

        (1)已知圓弧上的三點(diǎn),計算出圓弧圓心的坐標(biāo)和圓弧半徑,并分析出三點(diǎn)共線的情形;

        (2)利用向量的叉積來判斷圓弧的順逆,并推導(dǎo)出判別公式,該判別方法簡單,通用性強(qiáng);

        (3)分析三點(diǎn)圓法插補(bǔ)的誤差計算原理,以參數(shù)中間點(diǎn)替代極值點(diǎn)來計算插補(bǔ)誤差,簡化計算過程,在插補(bǔ)過程中,合理選擇參數(shù)增量的大小,可以提高插補(bǔ)效率;

        (4)提出三點(diǎn)圓法參數(shù)自適應(yīng)插補(bǔ)算法,給出了算法的插補(bǔ)原理和算法流程圖,該算法能應(yīng)用于拋物線、雙曲線、正弦曲線、橢圓等多種非圓曲線,通用性強(qiáng),與文獻(xiàn)[6]的方法相比,具有更好的算法優(yōu)勢;

        (5)以橢圓曲線的加工為例,給出了三點(diǎn)圓法參數(shù)自適應(yīng)插補(bǔ)算法的完整程序,并在仿真軟件和機(jī)床上驗(yàn)證了算法的正確性和適用性。

        猜你喜歡
        圓心圓弧極值
        二次曲線的一個類似圓心的性質(zhì)
        淺析圓弧段高大模板支撐體系設(shè)計與應(yīng)用
        極值點(diǎn)帶你去“漂移”
        極值點(diǎn)偏移攔路,三法可取
        外圓弧面銑削刀具
        一類“極值點(diǎn)偏移”問題的解法與反思
        以圓周上一點(diǎn)為圓心作圓的圖的性質(zhì)及應(yīng)用
        匹配數(shù)為1的極值2-均衡4-部4-圖的結(jié)構(gòu)
        數(shù)控車削圓弧螺紋程序編制與加工
        等截面圓弧無鉸板拱技術(shù)狀況評價
        永久免费毛片在线播放| 久久亚洲中文字幕精品一区四| 久久精品成人一区二区三区蜜臀| 中文字幕有码人妻在线| 国产亚洲精品美女久久久| 亚洲精品国产v片在线观看| www.五月激情| 中文字幕人妻被公喝醉在线 | 久久精品国产99国产精品澳门| 97久久人人超碰超碰窝窝| 国产日产精品久久久久久| 人妻免费黄色片手机版| 国产一区二区三区四色av| 天堂无码人妻精品av一区| 91香蕉视频网| 国产一级黄片久久免费看| 欧美乱妇高清无乱码免费| 亚洲欧美激情精品一区二区| 午夜无码一区二区三区在线| 精品黄色一区二区三区| 精品国产三级a∨在线欧美| 成人黄色网址| 九九99久久精品午夜剧场免费| 中文字幕成人精品久久不卡91| 国产在热线精品视频| 精品性高朝久久久久久久| 中文字幕偷拍亚洲九色| 丰满少妇被猛进去高潮| 亚洲国产成人精品无码一区二区| 精品国内自产拍在线视频| 日韩av一区二区在线观看| 久久久久亚洲精品男人的天堂| 国产精品福利视频一区| 亚洲中文字幕女同一区二区三区| 日韩免费精品在线观看| 无码尹人久久相蕉无码| 99精品成人片免费毛片无码| 亚洲人妻精品一区二区三区| 色88久久久久高潮综合影院| 亚洲国产精品久久久久久久| 日韩久久免费精品视频|