專利名稱:用于微調機器人程序的方法
技術領域:
本發明涉及一種用于微調機器人程序的方法,該機器人程序用于一個包括工業機器人、刀具和工件的機器人應用中,該工件將由該刀具沿著一個包括工件上的多個期望姿態的路徑加工。該機器人程序包括多個程序指令,該程序指令包括相應于期望姿態的編程姿態。根據本發明的方法可用于對離線和在線編程的機器人程序進行微調。
本發明在例如各種類型的加工應用——比如修補、去毛邊(debarring)、銑、鋸、磨和鉆等需要高精度的機器人應用中特別有用。本應用在例如電弧焊、水噴射切割、激光切割、膠合和裝配等應用中也是有用的。
背景技術:
機器人程序包括多個控制機器人運動的程序指令。機器人程序基于多個確定了刀具和工件之間關系的編程姿態。一個姿態由一個位置和一個方向兩者確定。一個編程姿態包括在運行機器人程序時期望刀具相對于一個工件獲得的位置和方向。機器人程序的生成包括一個確定路徑姿態的第一步驟和基于確定的姿態產生程序指令的下一個步驟。
機器人應用是一種使用工業機器人來完成一項工作的應用。機器人經常用在對工件的表面進行加工的應用中。現有為機器人編程的方法包括在線教導機器人做出一系列姿態。這些姿態確定了一個在加工工件過程中機器人應當遵循的機器人路徑。通過在編程過程中沿著期望的路徑引導刀具經過多個位置和方向教導機器人如何完成一個任務。然后就基于編程姿態產生了機器人程序。然而,通過教導為機器人編程是耗時的,尤其是如果工件具有復雜的幾何構型時。
一個應用的精度主要受到機器人結構的可重復性和能夠移動與旋轉刀具到期望的位置和方向的精度的限制。在許多例如機加工、激光切割、激光焊接等高精度的應用中,機器人的可重復性足夠好但肉眼很難發現刀具的正確位置和方向。而且,即使有很長編程經驗的機器人編程人員要想獲得所需的精度,也需很多時間。
高級計算機編程語言和CAD/CAM的運用已經使得為更加復雜的應用進行離線機器人編程變得更可行。使用工業機器人必須考慮到例如坐標框架等機器人工作單元的部件和由部件引起的誤差。工件和刀具的坐標系統相對于機器人坐標系必須以高精確度知悉。因此,校準成為應用機器人離線編程的關鍵。然而,在機器人在校準后運行離線產生的程序時,仍然會由于機器人運動中的誤差和工件和刀具坐標系的校準誤差而存在誤差。因此,今天使用的用于校準坐標系的校準方法沒有為需要非常高精度的應用提供足夠高的精度。
發明內容
本發明的目的是提供一種用于微調機器人程序的方法,該方法提高了應用的精度。
此目的通過一個用于微調一個針對機器人應用的機器人程序的方法實現,其中該方法包括定義一個微調坐標系,選擇一個所述的編程姿態,在微調坐標系中計算所選定的姿態,在微調坐標系中為所選姿態產生一個或多個程序指令,由機器人運行所述的一個或多個程序指令,確定在運行所述一個或多個程序指令之后獲得的姿態和期望的姿態之間的差值,根據所述差值調整微調坐標系使得獲得的姿態接近期望的姿態,在調整后的坐標系中為所選姿態產生一個或多個程序指令,以及為至少另一個的編程姿態重復該方法。
由此,獲得了一個新的調整后的機器人程序,它為工件的加工結果提供了較高的精度。該同一局部微調坐標系能夠用于為所述姿態附近的其他編程姿態進行重新編程,或者路徑上的每個姿態能夠具有其本身的局部微調坐標系。通過為一個姿態重新編程意味著為該姿態生成了一個或多個新的機器人程序指令,并且先前的程序指令被新的程序指令所替代。根據本發明的方法在對應用進行校準和編程之后才實施。通過此方法,可在沿路徑在每個姿態上都獲得高精度。
必須相對于機器人坐標系得知微調坐標系。通常,一個依附于機器人基座上的機器人坐標系被用作機器人的參照坐標系。優選地,微調坐標系是一個相對于工件坐標系固定的坐標系,該工件坐標系是相對于工件固定的坐標系。工件坐標系通常已經相對于機器人坐標系被定義了。機器人程序指令確定了針對一個機器人運動的編程姿態、與該編程姿態相關的工件坐標系和定義于該機器人上的刀具坐標系。為了能夠相對于工件坐標系調整編程目標姿態,微調坐標系相對于工件坐標系定義,并且目標姿態相對于微調坐標系定義。
另外一個調整目標姿態的方式是,相對于刀具坐標系定義一個微調坐標系,并且當針對一個特定的編程姿態計算機器人的運動時將該微調坐標系用作刀具坐標系。
在每個目標姿態都需要一個微調坐標系的情況下,微調坐標系可以定義為沿著路徑總是改變其姿態的路徑坐標系。在此情況下也可以使用編程姿態本身的位置和方向,即微調坐標系定義為與所選定的姿態具有相同的方向和位置的坐標系。在本發明的詳細描述中,為簡單起見描述了相對于工件坐標系定義該微調坐標系的情況。
根據本發明的一個實施例,對路徑上的下一姿態重復進行微調,并且該微調包括在前一姿態的局部微調坐標系中計算所述下一編程姿態,將機器人程序運行到前一姿態局部微調坐標系中的所述下一編程姿態,測量在獲得的下一姿態和期望姿態之間的差值,調整前一姿態的局部微調坐標系的拷貝使得該下一獲得的姿態接近期望姿態,以及將調整后的局部微調坐標系的拷貝保存為所述下一姿態的局部微調坐標系。這樣,前一姿態的局部微調坐標系用于確定路徑上下一姿態的局部微調坐標系。這樣做的優點是,如果彼此鄰近的姿態共用一個作相同調整的微調坐標系,那么需要更少的數據來確定微調。
根據本發明的一個實施例,獲得的姿態和期望姿態之間的差值是通過將機器人從獲得的姿態移動到期望姿態,并且記錄在所述機器人移動過程中機器人姿態的改變來進行測量的。這樣,使用機器人來測量獲得的姿態和期望姿態之間的差值。使用機器人測量的優點是無需特定的測量單元。
根據本發明的一個實施例,工件上刀具所獲得的姿態和刀具的期望姿態由一個位置測量單元測量,并且由來自所述測量單元的測量值之間的差值來計算所獲得的和期望的姿態之間的差值。使用位置測量單元測量的優點是使用位置測量單元較容易和較安全,并且提供了比使用機器人測量的測量結果更高的精度。
根據本發明的一個實施例,該方法包括在該編程姿態上疊加一個偏移距離,將機器人程序運行到所述疊加了偏移距離的編程姿態,并且在為姿態重新編程之前去掉該偏移距離。為了更容易地在工件和刀具上進行測量,在編程路徑上的姿態疊加了一個偏移距離。例如,如果使用刀具來銑、磨或鉆工件的內部結構,必須在路徑的位置上疊加一個偏移距離以使得能夠完成測量。優選地,所述偏移距離對應一個足夠大的距離,以便能夠用位置測量單元在刀具和工件之間測量。
根據本發明的一個實施例,該方法進一步包括當在一個為前一姿態調整了的微調坐標系中確定該編程姿態時,檢查在獲得的姿態和期望姿態之間是否存在一個實質性的差值,以及如果在獲得的姿態和期望姿態之間存在一個實質性的差值,基于所述測量差值調整微調坐標系,使得獲得的姿態接近期望的姿態,并且將調整后的微調坐標系保存為該姿態的局部微調坐標系,而如果在獲得的姿態和期望姿態之間不存在實質性的差值,則將用于計算該編程姿態的微調坐標系保存為局部微調坐標系。根據本實施例,僅當在期望姿態和所獲得姿態之間存在一個顯著差值時,才進行微調坐標系的調整,否則不作調整。從而,如果在期望的和獲得的姿態之間僅有小的差值,那么該姿態就使用為前一姿態進行調整了的局部微調坐標系。
即使依照前面實施例的微調方法將刀具精確地定位到期望姿態,在用機器人加工工件之后仍然會存在誤差。這是有賴于這樣一個事實機器人不是剛性的,而在刀具的力的作用下會發生變形。依照一個本發明的實施例,該方法還包括補償機器人這種變形的程序,它包括沿著在一個具有期望幾何形狀的參照工件上的所述路徑測量至少一個姿態,運行用于所述應用的機器人程序,由此刀具加工一個實際工件,沿著在加工后的實際工件上的所述路徑測量至少一個相應的姿態,計算在參照工件上所測量的姿態和在加工后的工件上所測量的姿態之間的差值,根據參考工件上的和加工后的工件上的所測量的姿態之間的所述計算的差值調整該姿態的局部微調坐標系,使得加工后的工件上的姿態接近參照工件上的姿態,存儲該姿態的調整后的局部微調坐標系,以及根據該姿態的調整后的局部微調坐標系對該姿態重新編程。由于該微調方法包括一個對微調坐標系的額外調整以及對路徑上的姿態的重新編程的步驟,機器人應用的精度得到進一步提高。優選地,測量參照工件上的多個路徑姿態和加工后工件上的相應路徑姿態,并且根據本發明的該實施例,這些路徑姿態的微調坐標系將經歷一個額外的調整。
本發明的另外一個目的是提供一種用于調節離線編程的機器人程序的計算機程序產品,以在工件上獲得加工結果的更高的精度,其中該機器人程序包括多個編程姿態,該編程確定了一個刀具和一個工件之間的關系。此目的通過一個根據相應的附后的權利要求的計算機程序產品達到,當在一個計算機上運行該計算機程序產品時,它執行根據本發明的方法。該計算機程序能夠通過任何計算機可讀的介質或例如互聯網的網絡提供。
容易認識到,根據本發明的、由附后的方法權利要求集所限定的方法適于通過一個計算機程序執行,當該計算機程序在一個處理器單元上運行時它具有相應于發明方法中的步驟的指令。即使沒有在權利要求中清楚地表達出來,本發明覆蓋了一個計算機程序產品以及根據附后的方法權利要求的方法。
本發明的另外一個目的是提供一個計算機可讀的介質,該介質上記錄有一個用于微調機器人程序的程序,當所述的程序在計算機上運行時,該程序的目的是使計算機執行上述計算機程序產品的步驟。
該計算機程序產品可以在一個機器人的控制器上運行,或者在任何其它包括一個處理器和合適存儲器的計算機上運行。
現在將通過描述本發明的不同實施例并參考附圖更詳細地解釋本發明。
圖1顯示了一個工業機器人的應用和在該應用中定義的坐標系。
圖2a-c顯示了期望姿態和在執行一個程序指令后獲得的姿態之間的差值。圖2b-c顯示了沿著圖2a中線A-A的截面視圖。
圖3顯示了一個數字化儀及其坐標系。
圖4和5解釋了微調所必需測量是如何根據本發明的實施例完成的。
圖6顯示了根據本發明實施例的微調坐標系的進一步調整。
圖7顯示了如何能用機器人來進行測量。
圖8顯示了當工件由機器人操縱并且刀具固定在空間內時的微調。
圖9顯示了由一個安裝在工件上的數字化儀完成的測量。
圖10顯示了當向機器人程序姿態疊加一個偏移時由數字化儀完成的測量。
具體實施例方式
選擇來描述根據本發明的方法的機器人應用是機械加工,但該方法也能夠用于需要高精度的任何類型的應用。
圖1示出了一個機器人應用,它包括一個工業機器人1、一個安裝在機器人上的刀具2和一個要由刀具加工的工件3。工件3連接到一個夾具4上。機器人1包括一個基座6,該基座牢靠地安裝在一個底座上。該機器人還包括一個支撐件7,該支撐件7可相對于基座6繞著一個第一豎直軸線旋轉。在支撐件7的上端,一個第一機械臂8安裝成繞著一個第二水平軸線可旋轉。在第一機械臂的外端,一個第二機械臂9相對于第一機械臂安裝成繞著一個第三軸線可旋轉。第二機械臂9相對于該臂的內部件安裝成繞著一個第四軸線可旋轉。第二機械臂9在其外端支撐了一個所謂的機械手10,該機械手10可繞著一個第五軸線旋轉,而第五軸線垂直于第二機械臂9長度方向的軸線。機器人還包括一個刀具架11。機械手的外部件及刀具架11相對于機械手的內部件可繞著一個第六軸線旋轉。
該機器人還包括一個控制器12用于控制機器人的運動。控制器包括至少一個用于執行機器人程序指令的處理器和用于存儲機器人程序的存儲器。
本發明的方法最重要的是對機器人應用進行微調所使用的不同的坐標系。機器人本身的位置通常由一個機器人基座坐標系來描述,該坐標系具有原點Orb和軸Xrb、Yrb和Zrb。機器人基座坐標系位于機器人的基座6上。此外,一個機器人刀具坐標系Ort、Xrt、Zrt、Yrt定義在刀具2的中心點(TCP)上。一個原點為Oo、軸為Xo、Yo、Zo的工件坐標系定義在工件上。刀具坐標系、工件坐標系和機器人基座坐標系之間的關系通過對這些坐標系的校準而獲知。
機器人的任務是沿著定義了姿態P1-P8的一個路徑移動刀具2。一個姿態確定了刀具坐標系在程序執行過程中必須獲得的位置和方向。由此,每個編程姿態確定了刀具坐標系Ort在工件坐標系Oo中的姿態。然而,當運行機器人程序時,刀具實際獲得的姿態會與期望姿態P1-P8有某些程度的偏離。
本發明的目的是以這種方式微調一個離線生成的機器人程序在機器人程序運行時獲得的刀具姿態盡可能地接近工件上的期望刀具姿態P1-P8。為此目的,提供了一個具有期望幾何構形的參照工件。然后能夠測量獲得的刀具姿態和參照工件上的期望刀具姿態之間的差值。例如,參照工件是一個在CNC機床上以高精度銑削出來的工件。一個例如數字化儀或機器人本身的位置測量單元用來進行該測量。
為了進行這種微調,引入了一個原點為Oft、軸為Xft、Yft和Zft的微調坐標系。微調坐標系Oft和工件坐標系之間的關系是確定的。由于工件坐標系相對于機器人基座坐標系是已知的,微調坐標系相對于機器人基座坐標系將是已知的,并且機器人可以在機器人程序中確定編程姿態時使用該坐標系。在此實施例中,微調坐標系與工件坐標系不同,但也可以將工件坐標系用作微調坐標系。在另外一個實施例中,還可以將微調坐標系用作局部刀具坐標系。
選擇路徑上的多個編程的姿態用于微調。可以選擇所有的編程姿態,或者僅選擇一些姿態。選定的姿態之間的距離應當足以獲得微調的必需精度。在這里描述的實施例中,選擇所有的編程姿態P1-P8用于微調。所選定的編程姿態P1-P8在局部調整后的微調坐標系Oft中計算。
圖2a-c解釋了根據本發明一個實施例的微調。使用一個參照工件15來測量獲得的姿態和期望姿態之間的差值。微調坐標系Oft相對于工件坐標系Oo定義。存在一個機器人程序,其包括對于工件上的編程姿態P1-P8的指令。編程姿態P1在微調坐標系Oft中計算。從而,在微調坐標系中計算的、編程姿態P1的機器人指令由機器人執行。圖2a和2b顯示了在程序指令執行完后的刀具姿態。如圖2b所示,在所獲得的姿態和期望姿態之間存在差值,因為刀具2是傾斜的并且與參照工件15有一段距離。
圖2c顯示了刀具2相對于工件15的期望姿態。期望姿態和獲得的姿態之間的差值得以確定。該差值可通過在位置上的微小偏移和對微調坐標系Oft進行微小旋轉而得到補償。在圖2c中顯示了如何通過調整微調坐標系Oft到一個新的微調坐標系Oft’而獲得刀具2的期望姿態。然后根據獲得的姿態和期望姿態之間所確定的差值對微調坐標系Oft進行調整使得獲得的姿態接近期望姿態。調整后的微調坐標系Oft’存儲為姿態P1的局部微調坐標系。在每個隨后的姿態P2-P8中,相對于參照工件來測量獲得的刀具姿態和期望刀具姿態之間的差值。此差值通過調整前一姿態的微調坐標系得以補償,使得獲得的姿態接近該期望姿態。調整后的微調坐標系存儲為該姿態的局部坐標系。
因此,為了補償測量誤差,為實際的姿態定義一個局部微調坐標系,并且改變該局部微調坐標系的位置和方向以補償所確定的刀具姿態誤差。當機器人刀具從一個編程姿態移動到下一個時,機器人程序中使用了前一姿態的局部微調坐標系。這意味著如果刀具姿態誤差在兩個連續姿態中相同,那么它們將在機器人程序中共用同樣的局部微調坐標系。在最壞情況下,微調針對每個程序姿態產生一個微調坐標系,但通常一個微調坐標系能夠由幾個編程姿態共用。
刀具姿態差值例如通過用機器人操縱刀具直到刀具到達相對于工件的期望姿態——即圖2c所示的姿態來測量。機器人從獲得的姿態移動到期望姿態并且在所述移動機器人過程中機器人姿態的改變被記錄下來。這可在肉眼觀察下完成,但是有時精確度不夠好并且如果操作者需要非常接近刀具以觀察和減小刀具姿態誤差時會存在安全問題。可以替代使用一個例如3D數字化儀的測量單元。利用這種測量單元,可以測量位置甚至方向,這取決于測量單元的自由度的數量和使用的探針類型。數字化儀可以是機械式的或者是光學的,并且如果能接受較低的精確度也可以是基于超聲波、磁場和微波(GPS)的3D測量系統。
在圖3中顯示了一個有六個自由度的數字化儀20,其具有一個數字化儀基座坐標系dB,具有原點Odb和軸Xdb、Ydb、Zdb,以及一個數字化儀工具坐標系dt,具有原點Odt和軸Xdt、Ydt、Zdt。圖中的工具是一個用于位置測量的測量探針22,而另外也可以使用在圖中示出的具有一個固定板25的探針24以探測位置和傾角,它用在例如當為一個銑削加工面編程時。還可以在數字化儀中放入實際的機器人刀具并且使用數字化儀為機器人路徑編程并校準工件坐標系和機器人的工具坐標系。然而,在此情況下,使用數字化儀以對機器人程序中的刀具姿態進行微調而進行測量。
現在將參考圖4和5解釋在工件上銑出一個曲面的情況下,如何根據本發明的實施例利用一個例如數字化儀的測量單元進行測量。如圖4,該機器人被編程為以一個銑刀2銑削加工該表面。為獲得銑削加工的高精度,銑刀2的位置和方向必須相對于要進行銑削加工的工件非常精確。接下來描述如何獲得這種精度。包括多個刀具姿態的機器人程序借助于機器人或一個數字化儀進行編程。編程姿態被定義于該微調坐標系中。一個已經高精度銑削加工的參考工件15設置在機器人1和數字化儀20附近。使用數字化儀20用來在參考工件15的銑削加工面上的幾個位置26處測量以獲得表面的位置和方向,并由此獲得待編程的期望的姿態Pi。在圖4和5中使用了一個點測量探針22,那么必須至少測量三個點以獲得表面的方向(法向矢量方向)。如果替代使用盤形探針,為獲得表面方向(表面法向)只需測量一處。所有的測量是在數字化儀基座坐標系中進行的。
機器人或者如圖所示帶有實際的刀具2,或者帶有一個參照刀具,該參照刀具具有為測量而良好形成的表面。在到達機器人路徑的第一姿態P1之前機器人程序一直運行。當程序運行時,機器人根據程序指令移動并且刀具獲得編程姿態。當刀具2到達編程姿態時,如圖5所示用數字化儀測量刀具上的表面或者安裝在刀具上的參照結構。參照結構例如是一個平面、一個球或一個圓柱,它們確定了一個錐形或立方形。已知該測量表面和該刀具表面的幾何模型之間的幾何關系,在測量值和刀具表面的幾何模型之間進行最優擬合計算,以獲得在數字化儀基座坐標系中的刀具坐標系Xt、Yt、Zt。
在測量值和刀具表面的幾何模型之間的最優擬合例如通過幾何模型的平移和旋轉、借助于最小均方的方法來最小化測量值和模型表面之間的距離來進行。可選地,其他最優化算法,例如高斯-牛頓算法,可以代替最小均方的方法。幾何模型可以由一個工件的CAD模型給出,或者以解析形式或者以一個例如多邊形或樣條函數的近似形式給出。在是立方體的情況下,數學模型是立方體平面的方程。
計算在測量的刀具坐標系Xt、Yt、Zt的位置與方向和參照結構表面上的測量的姿態Pi的坐標系Xpi、Ypi、Zpi的位置與方向之間的差值。姿態Pi的位置由數字化儀直接在參照工件表面上測量,而姿態Pi的方向信息通過在靠近期望位置Pi的工件表面上測量至少多于兩個的位置而獲得。如果使用如圖3所示的探針25,當把板25壓靠在工件表面上時可直接從數字化儀獲得方向。此后對微調坐標系Xft、Yft、Zft作出相應調整,從而獲得一個調整后的微調坐標系Xft’、Yft’、Zft’。
調整后的微調坐標系存儲為該姿態的一個局部微調坐標系。機器人程序指令中的姿態被重新編程以使其基于新的調整后的局部微調坐標系。當執行路徑中下一姿態的接下來的機器人移動指令時,仍然可以使用該新的局部微調坐標系。對下一姿態重復進行上述測量。如果現在期望姿態和獲得的姿態之間的差值很小,將前一姿態的局部微調坐標系用于該姿態,否則計算一個新的調整后的微調坐標系并且將其保存為該姿態的局部微調坐標系,并且用于對該姿態重新編程。對于所有的編程姿態重復進行此微調算法,直到路徑結束。
微調的結果在圖5中右側的小圖中顯示。刀具坐標系的期望位置和方向以坐標系Xpi、Ypi、Zpi描述,而當運行機器人程序時獲得的坐標系的姿態以Xt、Yt、Zt給出。通過測量獲得的姿態和期望姿態之間的差值并且移動和旋轉微調坐標系以補償姿態誤差,刀具將更靠近期望的位置和方向。
即使通過上述微調方法使刀具精確地位于期望位置,在用機器人銑削加工后仍然會存在誤差。這是因為機器人不是剛性的,而是是會在刀具的力的作用下變形。為對此進行補償,使用了一個將參考圖6進行描述的方法。根據圖4和5使用數字化儀在一個參照工件15上的幾個點26處測量銑削加工表面并且數字化儀的基座坐標系不發生移動是先決條件。現在一個實際未加工的工件3安裝在其夾具4上,并且機器人1以根據上述方法微調后的機器人程序進行銑削加工。在銑削加工后使用數字化儀在實際工件3的銑削加工表面上測量多個點27。針對每個編程姿態計算在實際工件3的銑削加工表面和參照工件15的表面之間的位置和方向的差值。調整局部微調坐標系Xftl、Yftl、Zftl以補償該計算出的差值。調整后的局部微調坐標系保存為新的局部微調坐標系Xftl’、Yftl’、Zftl’。如果兩個姿態具有相同的局部微調坐標系,若需要,為兩個姿態中的一個計算一個新的局部微調坐標系。
現在針對一個新的工件,使用機器人程序內的新的局部微調坐標系來運行機器人程序。上述測量和計算不斷重復,并且如果現在差值對于應用來說足夠小,那么利用前面存儲的微調坐標系對路徑重新編程,否則就計算新的調整后的局部微調坐標系以改善補償。
圖7顯示了可用機器人1本身來首先在參照工件上、然后在由機器人銑削加工的工件上進行測量。使用機器人測量的優點是它可以自動進行。測量探針22可如刀具那樣操作,例如通過一個刀具交換器在機器人上自動安裝和拆卸。
圖8顯示了當工件3由機器人操縱并且一個刀具28固定在機器人單元上時進行的微調。由于現在是微調坐標系Xft、Yft、Zft移動并且刀具坐標系固定,該方法有一些變化。一個參照工件15安裝在機器人上。參照表面定義在工件表面上,或者相對于工件固定。或者在工件本身上尋找合適的參照表面,或者一個具有良好形成表面的參照結構安裝在工件上。在此實施例中,一個立方形的參照結構32安裝在工件上。
刀具坐標系Xt、Yt、Zt的位置和方向借助于數字化儀20測量,例如,通過對刀具28的參照表面、或者對安裝在刀具上的一個參照結構的參照表面或者在一個參照刀具的參照表面進行測量。測量值用于最優擬合參照表面或者參照結構的幾何模型。然后,在已知了參照結構的幾何構形和刀具坐標系的關系時,刀具坐標系的位置和方向可以在數字化儀基座坐標系中計算。在圖9中,一個錐形的參照結構32安裝在刀具上,以通過錐形幾何模型和錐形表面上的測量點之間的最優擬合獲得刀具坐標系。
路徑姿態P1-P8由數字化儀編程。從而,數字化儀在編程過程中測量工件上的期望姿態。相對于工件或參照結構30的表面的幾何模型確定一個微調坐標系Xft、Yft、Zft。相對于該確定了的微調坐標系計算編程姿態。機器人程序運行到路徑的第一姿態,隨后工件移動到第一姿態P1。通過在參照表面上或在工件上的參照結構30上測量多個點并且通過對相應的參照表面或參照結構30進行最優擬合,來相對于數字化儀確定工件的位置。數字化儀執行該測量。由于路徑姿態和參照結構之間的關系已知,能夠計算所獲得的編程姿態。如果計算的編程姿態偏離了由數字化儀編程的姿態,就調整微調坐標系以減小偏離。調整后的微調坐標系存儲為該姿態的局部微調坐標系。
此后,機器人運行到下一個編程姿態并且相對于微調坐標系測量該姿態。在前一姿態的微調坐標系中計算該姿態,并且如果該姿態與由數字化儀確定的姿態偏離太多,那么就為該姿態確定一個新的微調坐標系,并且通過調整該新的微調坐標系補償誤差。調整后的微調坐標系存儲為該姿態的局部坐標系。如果姿態偏離很小,將前一姿態的同樣的微調坐標系用于該姿態。重復該過程直到編程路徑到達末端。
圖9顯示如果數字化儀安裝在工件上,該測量將和圖5相同。當機器人移動工件3時,數字化儀的基座坐標系Xdb、Ydb、Zdb將跟隨該移動并且在工件上的路徑姿態P1-P8將相對于數字化儀坐標系一直不變。相反,以刀具坐標系Xt、Yt、Zt將相對于數字化儀基座坐標系移動。對于機器人程序中的每個姿態,數字化儀測量刀具坐標系,并且由于工件上的期望姿態已經由數字化儀在編程過程中測量,將能夠測量在機器人運行程序時刀具獲得的姿態與工件上的期望姿態之間的差值。
在圖9中,參照結構32安裝在刀具上,以通過圓錐表面和圓錐幾何模型上的測量點的最優擬合獲得刀具坐標系。然后,由于已知圓錐和刀具坐標系之間的關系,刀具坐標系能夠在數字化儀基座坐標系中計算。注意在圖中僅使用了三自由度的數字化儀。當然在此情況下也可使用有六自由度的數字化儀。在此情況下一個問題將會是可能刀具上的參照結構和工件之間存在碰撞。因此,應當由工件表面向外的一個偏移值生成微調機器人程序。之后,當微調結束后去掉該偏移值。
當機器人程序已經借助于參照工件而進行了微調之后,參照工件被代之以一個原料(未加工的)工件并且運行該微調機器人程序。然后可以用數字化儀測量工件上加工過的部分,并且根據圖6,通過調整微調坐標系可以對路徑進行一個新的修正。在圖9所示的應用中,刀具的方向可能不重要,那么通常只調整微調坐標系的位置就足夠了。
應當指出,能夠定義幾個工件坐標系并且將它們用作微調坐標系。然而,通常在一個工件上存在幾條路徑,那么使工件坐標系處理工件的總體幾何構形和不同路徑的局部姿態調整兩者將是困難的。在稍后的階段,還可能在機器人程序中借助于微調坐標系重新計算單個姿態,這使得能夠在工件坐標系中對工件進行微調之后表達編程姿態。
先前已經指出,在機器人程序姿態中疊加了一個偏移,以便能夠在運行程序時,刀具上的參照結構不與工件發生碰撞。如果用刀具在工件上銑、磨、或鉆加工內部結構,這會更加重要。這例示于圖10中,其中對一個半徑為R的銑輪35進行編程以銑削加工工件內的一個圓柱孔36。
現在將結合圖10描述這種情況下的過程。在一個參照工件的精確加工的孔38內,由一個數字化儀20對刀具姿態編程。該數字化儀測量孔38在圓柱形內表面上的幾個點40以便能夠確定刀具35的方向和位置。由數字化儀的測量值可生成一個機器人程序,其中帶有由數字化儀確定的刀具位置和方向。沿圓柱中心軸線方向的偏移值d被疊加到每個編程姿態上。帶有偏移值的程序由機器人運行,該機器人帶有參照刀具、或者安裝了一個參照結構42的實際刀具、或者由刀具幾何構形本身所確定的參照結構。對于機器人程序中的每個或一些姿態pj,機器人都停止并且使用數字化儀在刀具參考結構42上的表面上測量。由這些測量值和參照結構的幾何模型進行最優擬合,并且在數字化儀基座坐標系Xdb、Ydb、Zdb中計算刀具坐標系Xt、Yt、Zt。
現在計算在疊加偏移后在圓柱孔內的姿態上的期望刀具坐標系和測量的刀具坐標系姿態之間的差值。如果該差值過大,計算一個對于該姿態的微調坐標系以補償該姿態差值。和以前一樣,當運行機器人到程序的下一姿態時將使用該微調坐標系Oft。如果在程序的下一姿態,該測量到的差值很小,與前一編程姿態相同的微調坐標系也將用于該姿態,否則將確定一個新的微調坐標系以補償姿態誤差。然后通過從微調程序中去掉該偏移值而生成真實的程序。
優選地,機器人運行該帶有一個垂直于參照工件表面的偏移值的該機器人程序。偏移應當越小越好,但是不能小于能夠用數字化儀測量刀具姿態的值。如果能夠在用數字化儀編程之后不移動數字化儀基座就能拆卸工件,那么通常無需在微調過程中運行該帶有偏移值的機器人程序。
本發明不限于公開的實施例,而是可以在下列權利要求范圍內改變或改進。例如,方法中的步驟的順序可以不同于這里描述的步驟的順序。例如,微調坐標系可相對于機器人基座坐標系、刀具坐標系、工件坐標系或本應用中的任何其他坐標系定義。
權利要求
1.一種用于微調機器人程序的方法,該機器人程序用于一個包括一個工業機器人、一個刀具和一個工件的機器人應用中,該工件將由該刀具沿著一個包括位于工件上的多個期望姿態的路徑進行加工,該機器人程序包括多個程序指令,該程序指令包括相應于該期望姿態的編程姿態,其中該方法包括a)定義一個微調坐標系,b)選擇一個所述的編程姿態,c)在該微調坐標系中計算所述選定的姿態,d)在該微調坐標系中為所述選定的姿態產生一個或多個程序指令,e)由該機器人運行所述一個或多個程序指令,f)確定在運行所述一個或多個程序指令后所獲得的姿態和期望姿態之間的差值,g)根據所述差值調整該微調坐標系,使得所獲得的姿態接近該期望姿態,h)在調整后的微調坐標系中為所選定的姿態產生一個或多個程序指令,i)對于至少另一個編程姿態重復步驟b至h。
2.如權利要求1所述的方法,包括將所述調整后的微調坐標系存儲為該姿態的局部微調坐標系,在其中對于路徑上的下一姿態重復步驟b至h,并且包括在前一姿態的局部微調坐標系中為所述下一編程姿態計算和產生一個或多個程序指令,運行該程序指令到達所述下一編程姿態,確定所獲得的下一姿態和期望的下一姿態之間的差值,調整該前一姿態的局部微調坐標系的拷貝使得該下一獲得的姿態接近該期望姿態,并且將調整后的局部坐標系的拷貝存儲為所述下一姿態的局部微調坐標系。
3.如權利要求1所述的方法,其中確定所獲得的姿態和期望姿態之間的差值的步驟包括將該機器人從所獲得的姿態移動到期望姿態,并且記錄在所述移動機器人過程中機器人姿態的變化。
4.如權利要求1所述的方法,其中步驟f包括借助于一個位置測量單元測量所述刀具所獲得的姿態和該刀具在所述工件上的期望姿態,并且將所獲得的和期望的姿態之間差值計算為所述測量單元的測量值之間的差值。
5.如權利要求1所述的方法,其中該方法包括向所述編程姿態疊加一個偏移距離,運行該程序指令到達疊加了該偏移距離的所選姿態,并且在執行步驟i之前去掉該偏移距離。
6.如權利要求1和4所述的方法,其中所述偏移距離對應于一個足夠大的距離,以能夠用所述位置測量單元在所述刀具和工件之間測量。
7.如權利要求2所述的方法,其中包括檢查在所獲得的姿態和期望姿態之間是否存在一個實質性的差值,并且如果在所獲得的和期望的姿態之間存在一個實質性的差值,基于所述測量到的差值對所述微調坐標系進行調整,使得所獲得的姿態接近期望姿態,并且將調整后的微調坐標系存儲為該姿態的一個局部微調坐標系,而如果在所獲得的和期望的姿態之間不存在一個實質性的差值,用于計算編程姿態的該微調坐標系被存儲為局部微調坐標系。
8.如權利要求1所述的方法,其中所述微調坐標系定義為一個工件坐標系,該工件坐標系定義為相對于該工件固定。
9.如權利要求1所述的方法,其中所述微調坐標系相對于一個與所述刀具以固定關系定義的刀具坐標系定義,并且該微調坐標系用作一個局部刀具坐標系。
10.如權利要求1所述的方法,其中所述微調坐標系定義為一個路徑坐標系。
11.如權利要求1所述的方法,其中所述微調坐標系定義為一個與該選定姿態具有相同方向和位置的坐標系。
12.如權利要求1所述的方法,其中該方法還包括沿著位于一個具有期望幾何構形的參照工件上的所述路徑測量至少一個姿態,運行所述應用的機器人程序,由此所述刀具加工一個實際工件,沿位于該被加工的真實工件上的所述路徑測量至少一個相應的姿態,計算該參照工件上的測量姿態和被加工工件上相應的測量姿態之間的差值,以及根據該計算得到的參照工件上的和被加工工件上的測量姿態之間的差值調整該姿態的局部微調坐標系,使得被加工工件上的姿態接近該參考工件上相應的姿態,存儲該姿態的調整后的局部微調坐標系,以及基于該姿態的調整后的局部微調坐標系為該姿態產生一個或多個新的程序指令。
13.如權利要求12所述的方法,其中該方法包括沿著該參照工件上的所述路徑測量多個姿態,沿著被加工的實際工件上的所述路徑測量多個相應的姿態,計算參照工件上所測量的姿態和被加工工件上相應的測量姿態之間的差值,并且根據計算得到的參照工件上的和被加工的實際工件上的測量姿態之間的差值,針對每個所測量的姿態調整局部微調坐標系,存儲這些姿態的調整后的局部微調坐標系,并且基于這些姿態的調整后的局部微調坐標系為該姿態產生一個或多個新的程序指令。
14.如權利要求1所述的方法,其中所述的期望姿態通過在一個具有期望幾何構形的參照工件上進行測量而獲得。
15.一種用于微調機器人程序的計算機程序產品,該機器人程序用于一個包括一個工業機器人、一個刀具和一個工件的機器人應用中,該工件將由該刀具沿著一個包括工件上的多個期望姿態的路徑加工,該機器人程序包括多個程序指令,該程序指令包括相應于期望姿態的編程姿態,其中該計算機程序產品包括程序指令,這些程序指令被加載到一個計算機中時,導致該計算機執行a)接收該編程姿態,b)接收有關一個微調坐標系的信息,c)選擇一個所述的編程姿態,d)在該微調坐標系中計算該選定的姿態,e)在該微調坐標系中為該選定的姿態產生一個或多個程序指令,j)命令執行所述一個或更多程序指令,由此將該機器人移動到所選定的姿態,f)確定該獲得的姿態和期望姿態之間的差值,g)根據所述差值調整該微調坐標系,使得所獲得的姿態接近該期望姿態,h)將調整后的微調坐標系存儲為該選定姿態的局部微調坐標系,以及i)在調整后的微調坐標系中為所選定的姿態產生一個或多個程序指令,j)對至少另一個的編程姿態重復步驟c至i。
16.如權利要求15所述的計算機程序產品,包括將所述調整后的微調坐標系存儲為所選定姿態的局部微調坐標系,并且對路徑上的下一姿態重復步驟c至i,其中在步驟d、e和g中將前一姿態的局部微調坐標系用作下一姿態的微調坐標系。
17.如權利要求15所述的計算機程序產品,包括接收所獲得的姿態或期望姿態的測量值,并且通過計算在所述測量值和該編程姿態之間的差值確定在所獲得的姿態和期望姿態之間差值。
18.如權利要求17所述的計算機程序產品,包括接收來自一個位置測量單元的所獲得的姿態的測量值,并且通過計算所獲得的姿態的所述測量值和編程姿態之間的差值確定所獲得的姿態和期望姿態之間差值。
19.如權利要求17所述的計算機程序產品,包括在執行所述指令之后接收機器人姿態,并且通過計算所接收的機器人姿態和編程姿態之間的差值確定所獲得的姿態和期望姿態之間差值。
20.一種其上記錄有一程序的計算機可讀介質,該程序用于微調一個機器人程序,其中當所述程序在計算機上運行時,該程序使得該計算機執行如權利要求15至19中任一項所述的程序的步驟。
全文摘要
一種用于微調機器人程序的方法,該機器人程序用于一個包括一個工業機器人、一個刀具和一個工件的機器人應用中,該工件將由刀具沿著一個包括工件上的多個期望姿態的路徑加工,該機器人程序包括多個程序指令,該程序指令包括相應于期望姿態的編程姿態,其中該方法包括定義一個微調坐標系Xft、Yft、Zft,選擇一個所述的編程姿態pi,在該微調坐標系中計算所選定的姿態,在該微調坐標系中為所選定的姿態產生一個或多個程序指令,由該機器人運行所述一個或多個程序指令,確定在運行程序指令后獲得的姿態和期望姿態之間的差值,根據所述差值調整該微調坐標系,在調整后的微調坐標系Xft’、Yft’、Zft’中為所選定的姿態產生一個或多個程序指令。
文檔編號G05B19/425GK1805830SQ200480016121
公開日2006年7月19日 申請日期2004年6月1日 優先權日2003年6月11日
發明者格雷戈里·羅薩諾, 湯青, 李雄姿, 孫云權, 甘中學, 托里尼·布羅加德, 哈坎·布蘭特馬克 申請人:Abb 公司