專利名稱:接近機床運動學奇點并補償的制作方法
技術領域:
本發(fā)明涉及多軸機床,更特別涉及處理機床操作過程中的運動學奇點的 系統(tǒng)和方法。本部分的敘述僅僅提供與本發(fā)明有關的背景信息,而不構成現 有技術。
背景技術:
許多機床工具設備在數控件(NC)下操作,以產生高精度零件諸如飛 行器部件。在這種設備中,多軸機床可以用軟件來驅動,從而將一個或多個 機床工具相對于工件移動。機床的多軸運動學聯(lián)桿系能相對于多個預定坐標 軸移動工具。具體來說,多個平動和/或轉動接點可以單獨和/或協(xié)同操作, 來移動一件或多件聯(lián)桿,從而將工具定位在希望的位置。但是,多軸聯(lián)桿系 偶爾可能移動到這樣的位置(即,"奇點,,或"奇異點"),此時一個或多個 自由度丟失。在奇異點上, 一個或多個接點可能無法根據軟件指令來移動工 具。發(fā)明內容本發(fā)明的一種實施方式指導一種操作多軸機床的方法。監(jiān)控機床的運動 學聯(lián)桿系。該聯(lián)桿系包括多個接點和聯(lián)桿。監(jiān)控聯(lián)桿系來檢測聯(lián)桿系的一件 或多件聯(lián)桿向奇點接近。這種監(jiān)控利用操作器矩陣來實現。確定接近奇點的 程度n。確認接近奇點的一個或多個接點。該方法包括獲取n個虛擬接點, 在操作器矩陣中以虛擬接點取代一個或多個識別出的接點,以改動操作器矩 陣,并利用改動后的操作器矩陣來確定聯(lián)桿系中的聯(lián)桿位置變化。其他的應用領域將從文中提供的敘述中體現出來。應該理解,說明內容 和具體示例僅旨在圖示,而非用來限制本發(fā)明的范圍。
文中所述的附圖僅作為圖示目的,并不以任何方式限定本發(fā)明的范圍。圖1是根據本發(fā)明一種實施方式的數控(NC)處理系統(tǒng)的示意圖; 圖2是根據本發(fā)明一種實施方式受到控制的機床多軸運動學聯(lián)桿系 一部 分的正視透視圖3是根據本發(fā)明一種實施方式的操作器雅克比矩陣的奇異值分解示意
圖4A和4B是根據本發(fā)明一種實施方式操作多軸機床的方法的流程圖。
具體實施例方式
以下說明在本質上僅僅是示例性的,并不用來限制本發(fā)明、其應用場合 和用途。應該理解,附圖中對應附圖標記指代類似的或相應的部件和特征。
在題為 "Kinetic Singular Point Compensation Systems and Methods,,的美 國專利申請公開No. 20060271241中,說明了各種系統(tǒng)和方法用于將多軸運 動聯(lián)桿系的末梢部分定位于奇點附近。本發(fā)明在一種實施方式中,指導一種 方法,(1 )實時自動確定設備聯(lián)桿系是否正在靠近奇點且該聯(lián)桿系靠近奇點 的程度;(2)聯(lián)桿系的哪個節(jié)點正在靠近奇點;和(3)在奇點將損失哪個 自由度。
根據本發(fā)明一種實施方式的數控(NC)處理系統(tǒng)在圖1中一般由附圖 標記20指代。系統(tǒng)20包括一個或多個多軸設備24,其中之一在圖中示出。 設備24例如可以配置成在工件(未示出)上執(zhí)行多軸加工操作。此外,或 者可以選擇的是,系統(tǒng)20可以包括其他類型的能放置部件的多軸機床,例 如數控組裝機器人。
系統(tǒng)20包括一臺或多臺計算機28,其中之一在圖1中示出。計算機28 包括適當編程的計算機處理器32和存儲器36。計算機28可以根據本發(fā)明的 一種實施方式編程, 一般監(jiān)控并控制多軸機床24的操作。計算機28可以用 于執(zhí)行軟件,用來可調節(jié)地補償多軸機床24的定位,正如以下所述。軟件 補償例如可以用來調節(jié)機床24的特定"固有"條件,以使機床24的操作相 對于理想或"完美"機床來說落入所指定的容差范圍內。
設置有使用者接口 40,諸如包括鍵盤、指點設備和監(jiān)視器的計算機終端, 使用者通過它可以與系統(tǒng)20通信。應該注意,本發(fā)明可以相對于許多不同 種類的設備實施,包括但不限于美國專利申請公開No, 20060271241中公開 的材料加工設備。本領域技術人員應該理解,許多類型不同配置不同的多軸
5機床、計算機、處理器、輸入輸出設備、通信系統(tǒng)等等可以包括在根據本發(fā) 明各種實施方式的NC處理系統(tǒng)中。
機床24的一部分多軸運動聯(lián)桿系在圖2中一般以附圖標記100指代。 聯(lián)桿系100包括六件移動聯(lián)桿108a和108f,這六件聯(lián)桿通過6個接點 112a-112f相互連接。接點112a-112e為回轉(旋轉)接點,且接點112f為棱 柱接點(即,滑動接點)。聯(lián)桿系100通過計算機28操作,在工作工程中將 末梢部分116沿著預定路徑定位并控制。末梢部分116例如可以具有安裝于 其上的切削工具或其他類型的工具(未示出)。應該理解,聯(lián)桿系100僅為 示例性的。機床24可以具有比聯(lián)桿系100更復雜或更簡單的聯(lián)桿系,并且 可以包括更多、更少和/或類型不同的聯(lián)桿和/或接點和/或可以提供更多、更 少和/或不同的自由度和/或自由度類型。
在操作中,聯(lián)桿系100由計算機28經由驅動裝置(未示出)驅動,驅 動裝置例如一個或多個電動馬達。當驅動聯(lián)桿108時,可能影響其他聯(lián)桿108 的定位。末梢部分116的定位和取向可以由向量X代表,該向量由一組函數 f ()聯(lián)系到聯(lián)桿位置向量Q,以使X二f (Q)。函數組f ()的雅克比矩陣, 定義為J(0 = (&, 》,表示接點112的不同運動各自對于末梢部分116的定 位和操作的影響。通過線性化來逼近上述關系,JAQ-AX,以使末梢部分ll6 的笛卡爾位置X變化與聯(lián)桿位置Q的變化關聯(lián)起來。由于聯(lián)桿系100靠近 奇點,所以雅克比矩陣J (Q)逐漸變的更為病態(tài)。當到達奇點時,雅克比 矩陣J (Q)失階。
在根據本發(fā)明操作聯(lián)桿系100的方法的一種實施方式中,奇異值分解 (svd)用來確定(1 )聯(lián)桿系100是否靠近奇點和聯(lián)桿系100靠近奇點的 程度;(2)聯(lián)桿系的哪個接點112靠近奇點;和(3)哪個自由度會在奇點 丟失。 一般來說,奇異值分解(svd)可以用來將任意矩陣a分解為一組三 個矩陣u、 s和v,以使ips+v^a,其中u和v為標準正交矩陣,而s為 對角陣,其元素以降序沿著對角線布置。給定矩陣a,可以利用已知算法通 過基本上有效和穩(wěn)定的方式計算u、 s和v。 s的對角元素可以稱為a的奇 異值。u的列可以稱為做左奇異向量。v的列(即vt的行)可以稱為右奇 異向量。
根據本發(fā)明一種實施方式對于操作器雅克比矩陣J的奇異值分解示意圖 在圖3中一般以附圖標記200表示。參照圖2和3,接點112的差異移動借助操作器矩陣J各自與其對于末梢部分116的影響關聯(lián)起來。J的每個列204 與對應的接點112關聯(lián)。將矩陣J奇異值分解成U、 S和V,在矩陣U中形 成左奇異向量208,順序為從最敏感值216到最不敏感值224,該左奇異向 量表示聯(lián)桿系IOO的正交自由度。在矩陣V (矩陣VT的轉置),獲得右奇異 向量228,其表示沿著U表示的方向移動聯(lián)桿系100的接點的運動的組合。 在矩陣S中,獲得J的奇異值236,其表示聯(lián)桿系100的"可操作,,程度。 因此,在V的最后一列242 (即,VT的最后一行)中占主要地位的接點112 是聯(lián)桿系IOO最為奇異的接點112,并且U的最后一列224所表示的方向是 聯(lián)桿系IOO可能丟失自由度的方向。此外,操作器矩陣J的條件數可以通過 最大奇異值236除以最小奇異值236來計算。條件數可以從矩陣條件完美情 況下的1變化到奇異矩陣情況下的無限大。在一些實施方式中,對于數值穩(wěn) 定性而言,使用條件數的倒數,其可以從矩陣條件完美情況下的1變化到奇 異矩陣情況下的0。
根據本發(fā)明一種實施方式操作機床24的方法流程圖在圖4A和4B中一 般由附圖標記300指代。在操作308中,計算沿著預定路徑移動末梢部分116 的運動接點的位置。在操作312中,計算與所得接點112對應的操作器雅克 比矩陣J,然后利用SVD分解。在操作316中,確定條件數的倒數。在搡作 320中,將條件數的倒數與預定閾值例如0.001比較。如果條件數的倒數大 于該閾值,則認為聯(lián)桿系IOO并未靠近任何奇點,并且控制過程行進到操作 340。
如果條件數的倒數小于等于該閾值,則認為聯(lián)桿系的 一 個或多個接點 112正在靠近奇點。因此,在操作324中,通過以下方式確定奇異度n。確 定將條件數的倒數升高到閱值以上的最小奇異值236。例如,如果奇異值236 為{0.7、 0.4、 0.2、 0.1、 0.0006、 0.0001},則將條件數的倒數升高到閾值之 上的最小奇異值為0.2 ( 0.2/0.5=0.285,但是0.0006/0.7=0.00086)且奇異度 為2(就是說,表示出兩個奇異方向)。
在操作328中,通過定位最后n個右奇異向量228中最大的元素,確定 哪個接點112為奇異點和/或靠近奇異點。在操作332中,使最后n個左奇異 向量208乘以最大的奇異值236,獲得n個"虛擬接點"。在操作336中,與 操作328中確定的接點112相關的J的列204由在操作332中獲得的"虛擬 接點"代替。
7在操作340到360中,為聯(lián)桿系100計算補償量,例如系統(tǒng)J*dq=dx迭 代方案到收斂,如美國專利申請公開No. 20060271241所述,具體來說,例 如,在操作M0中,使用名義反向運動學計算法獲得初始聯(lián)桿位置向量Qi。 在操作M4中,使用固有前向運動學計算法和聯(lián)桿位置向量Qi得到實際末 梢位置向量X。在操作348中,計算AX向量,表示希望末梢位置向量和實 際末梢位置向量之間的差異。在操作352中,利用操作312中獲得的雅克比 矩陣(并且雅克比矩陣可能在操作336中發(fā)生改動)計算AQ向量。在操作 356中,在操作352中計算的AQ向量以及聯(lián)桿位置向量Qi用來獲得新的聯(lián) 桿位置向量Qi+1。在操作360中,通過比較向量Qi+1和Qi之差與預定收 斂標準s,來;f企測收斂性。如果尚未收斂,則利用向量Qi+1來更新向量Qi, 并且控制程序返回操作344。如果在操作360中發(fā)生收斂,則在操作364中 確定條件數的倒數是否小于所述閾值,即聯(lián)桿是否靠近奇點。如是,則在操 作368中,從向量IQw-Qil中除去表示"虛擬接點"的值,在操作372中利用 該值來補償非奇異接點112。由于SVD對于每個點僅執(zhí)行一次且并不作為迭 代處理的一部分,所以前述方法和系統(tǒng)較之線性二次型調節(jié)(LQR)或阻尼 最小二乘法來說,計算方面更簡單。
前述方法和系統(tǒng)具有許多優(yōu)勢。例如,左奇異向量提供理想"虛擬接點", 它們將聯(lián)桿精確沿著奇異方向移動,而不考慮機床的位置和復雜性。另一項 優(yōu)勢在于,通過最大奇異值來縮放"虛擬接點",產生的新操作器雅克比矩 陣的條件得以優(yōu)化,從而保證方案穩(wěn)定且快速收斂,例如在前述方法:300的
操作340到360中。此外,前述方法的實施不需要知道機床奇點位置的先驗 知識,所以同樣的算法可以用在各種機床上,不需要改變。
本發(fā)明的實施方式提供了一種裝置來改善運行于奇點附近的自動設備 的定位精度。如果能提高精度,則新固定設備的購置成本以及現有設備的維
何外形的單一方法,從而減少軟件開發(fā)需求以及處理新機床幾何外形的維護 工作。
可以設置經校準的機床工具,它們能完成更精確的工作。因此,可以在 浪費更少的材料的前提下制作精度更高的部件。在飛行器生產過程中實施 時,可以在降低飛行器重量并改善其性能的前提下,生產精度更高的部件。 本發(fā)明的實施可以減少設置時間,使得機床工具的生產力更高,從而降低加工成本。
前述方法和系統(tǒng)的各種實施方式可以利用軟件來補償存在復雜奇點配 置的機床(例如,具有旋轉接點的六軸回轉機器人)。對于廣泛的機床配置 來說,可以在"現場"提供補償,甚至不需要知道有關給定機床全部奇點的 位置和性質的先驗知識。相同的核心補償軟件可以用在廣泛的機床配置上, 而不需要根據機床幾何外形重寫軟件。
權利要求
1. 一種操作多軸機床(24)的方法(300),該方法包括監(jiān)控所述機床的運動學聯(lián)桿系(100),所述聯(lián)桿系包括多個接點(112)和聯(lián)桿(108),監(jiān)控所述聯(lián)桿系來檢測所述聯(lián)桿系的一個或多個接點向奇點靠近,所述監(jiān)控利用操作器矩陣(200)實現;確定接近奇點的程度n;識別靠近奇點的所述一個或多個接點;獲得n個虛擬接點;在操作器矩陣中以所述虛擬接點取代識別出的所述一個或多個接點,以更改所述操作器矩陣并提供更改后的操作器矩陣;和利用所述更改后的操作器矩陣來確定所述聯(lián)桿系的聯(lián)桿位置變化。
2. 如權利要求1所述的方法,其特征在于,所述監(jiān)控利用所述操作器 矩陣的奇異值分解來實施。
3. 如權利要求1所述的方法,其特征在于,確定接近奇點的程度包括 確定所述一個或多個接點接近奇點的一個或多個方向。
4. 如權利要求1所述的方法,其特征在于,所述操作器矩陣包括雅克 比矩陣。
5. 如權利要求l所述的方法,進一步包括從所述位置變化中除去表示所述n個虛擬接點的一個或多個值,以改動所述位置變化;和利用改動后的位置變化來補償所述聯(lián)桿系的 一個或多個非奇異接點。
6. 如權利要求1所述的方法,其特征在于,獲取n個虛擬接點包括操 作器矩陣分解的n個左奇異向量乘以分解的最大奇異值。
7. 如權利要求6所述的方法,其特征在于,識別接近奇點的所述一個 或多個接點,包括檢測分解的n個右奇異向量每一個當中的最大元素。
8. —種數控(NC)處理系統(tǒng),包括包括運動學聯(lián)桿系(100)的多軸機床(24),所述運動學聯(lián)桿系具有多 個聯(lián)桿(108)和連接所述聯(lián)桿的多個接點(112);和 處理器(32),其配置成監(jiān)控所述聯(lián)桿系來檢測所述聯(lián)桿系的一個或多個聯(lián)桿向奇點接近,所述監(jiān)控利用操作器矩陣(200)來實現; 確定接近奇點的程度n; 識別接近奇點的一個或多個接點; 獲得n個虛擬接點;在操作器矩陣中以虛擬奇點取代識別出的 一個或多個接點,以改 動所述操作器矩陣;和利用所述改動后的操作器矩陣來確定聯(lián)桿系的位置變化。
9. 如權利要求8所述的系統(tǒng),其特征在于,所述處理器進一步配置成 分解所述操作器矩陣來進行所述監(jiān)控。
10. 如權利要求8所述的系統(tǒng),其特征在于,所述處理器進一步配置成 利用所述操作器矩陣的奇異值分解中的最大奇異值來放大所述n個虛擬接 點。
11. 如權利要求8所述的系統(tǒng),其特征在于,所述處理器進一步配置成 從所述位置變化中除去表示所述n個虛擬接點的一個或多個值,以改動所述位置變化;和利用所述改動后的位置吏化來補償所述聯(lián)桿系的一個或多個非奇異接點。
12. 如權利要求8所述的系統(tǒng),其特征在于,所述處理器進一步配置成 分解所述操作器矩陣來確定所述操作器矩陣的條件數。
13. 如權利要求8所述的系統(tǒng),其特征在于,所述機床包括經由所述聯(lián) 桿系控制的末梢(116),所述處理器進一步配置成根據Pdq^dx為所述聯(lián)桿 系的聯(lián)桿確定補償值,其中J表示改動后的操作器矩陣,dq表示聯(lián)桿位置變 化,而dx表示末梢位置變化。
14. 如權利要求8所述的系統(tǒng),其特征在于,所述處理器進一步配置成 利用正交自由度的一種或多種表示來獲得n個虛擬接點。
全文摘要
一種操作多軸機床(24)的方法(300),該機床包括機床聯(lián)桿系(100),所述聯(lián)桿系包括多個接點(112)和聯(lián)桿(108)。監(jiān)控所述聯(lián)桿系(100)來檢測所述聯(lián)桿系的一個或多個接點(112)向奇點靠近。確定接近奇點的程度n。識別接近奇點的所述一個或多個接點(112)。在操作器矩陣(200)中以虛擬接點取代識別出的所述一個或多個接點,以更改所述操作器矩陣(200)并提供更改后的操作器矩陣。利用所述更改后的操作器矩陣來確定所述聯(lián)桿系(100)的聯(lián)桿(108)位置變化。該方法(300)可以為廣泛的機床配置提供基于軟件的補償,而不需要知道給定機床奇異性的先驗知識。
文檔編號B25J9/16GK101505925SQ200780030623
公開日2009年8月12日 申請日期2007年8月27日 優(yōu)先權日2006年8月31日
發(fā)明者菲利普·L·弗里曼 申請人:波音公司