專利名稱:機(jī)床系統(tǒng)控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機(jī)床控制軟件。更具體地說,本發(fā)明的領(lǐng)域是用于面向?qū)ο髾C(jī)床控制軟 件的機(jī)床控制軟件和機(jī)床控制軟件的操作的領(lǐng)域。
背景技術(shù):
面向?qū)ο髾C(jī)床控制系統(tǒng)可提供將系統(tǒng)責(zé)任隔離成準(zhǔn)許機(jī)床制造商或系統(tǒng)集成商管 理復(fù)雜性和改變的數(shù)個類別的實時機(jī)床軟件系統(tǒng)控制。機(jī)床控制系統(tǒng)的一個實例在轉(zhuǎn)讓 給本發(fā)明的受讓人的第5,453,933號美國專利中揭示,所述專利的揭示內(nèi)容以引用的方 式并入本文中。所述'933專利的系統(tǒng)允許在不重新設(shè)計或作出大規(guī)模軟件改變的情況下 從核心組程序創(chuàng)建不同系統(tǒng)。
改變所述'933專利的控制系統(tǒng)的工程師可容易地對系統(tǒng)作出改變,因為對一類別中 的單個組件作出修改不需要工程師精通于整個系統(tǒng)。 一個改變不會在整個系統(tǒng)中具有連 鎖改變效應(yīng)。將系統(tǒng)的最有可能改變的部分(例如用戶界面和裝置驅(qū)動器)與核心分離。 這些組件較容易通過PLC程序、機(jī)器類別的定制和操作者程序的添加或修改來改變。
發(fā)明內(nèi)容
8在本發(fā)明的示范性實施例中,提供一種用于機(jī)床系統(tǒng)的運動控制系統(tǒng)。在本發(fā)明的 實例中,所述運動控制系統(tǒng)包括可模仿各種機(jī)床系統(tǒng)的廣義運動學(xué)庫。在另一實例中, 產(chǎn)生所述廣義運動學(xué)庫的多個實例以提供用于所述機(jī)床系統(tǒng)或其它機(jī)床系統(tǒng)的數(shù)據(jù)。
在本發(fā)明的另一示范性實施例中,提供一種用于控制機(jī)床系統(tǒng)的移動以對零件進(jìn)行 機(jī)械加工的方法。所述方法包含以下步驟使零件與工具接觸;以及在工具保持與零件 接觸的同時將工具相對于零件從第一位置移動到第二位置。所述工具內(nèi)插穿過機(jī)床系統(tǒng) 的機(jī)器奇異點。
在本發(fā)明的另一示范性實施例中,提供一種用于確定機(jī)床系統(tǒng)的多個可移動軸的位 置信息以對零件進(jìn)行機(jī)械加工的方法。所述方法包含以下步驟提供接受多個不同工具 位置輸入類型的級聯(lián)方法;接收第一工具位置,所述第一工具位置對應(yīng)于所述多個不同 輸入類型中的一者;以及用所述級聯(lián)方法基于所接收的第一工具位置而確定位置信息。
在本發(fā)明的又 一示范性實施例中,提供一種用于控制機(jī)床系統(tǒng)的移動以對零件進(jìn)行 機(jī)械加工的方法,所述機(jī)床系統(tǒng)具有多個可旋轉(zhuǎn)軸。所述方法包含以下步驟使零件與 工具在第一位置處接觸;識別第二位置以移動所述工具;以及針對所述多個可旋轉(zhuǎn)軸中 的每一者從用于所述多個可旋轉(zhuǎn)軸中的每一者的多個可能解決方案中選擇最短角行程
解決方案。
在本發(fā)明的再一示范性實施例中,提供一種用于控制機(jī)床系統(tǒng)的移動以對零件進(jìn)行 機(jī)械加工的方法,所述機(jī)床系統(tǒng)具有包括傾斜軸的多個可旋轉(zhuǎn)軸。所述方法包含以下步 驟使零件與工具在第一位置處接觸;識別第二位置以移動所述工具;以及針對所述多 個可旋轉(zhuǎn)軸中的每一者基于指定的傾斜軸優(yōu)選而從用于所述多個可旋轉(zhuǎn)軸中的每一者 的多個可能解決方案中選擇第一解決方案。所述第一解決方案具有滿足所述傾斜軸優(yōu)選 的用于傾斜軸的傾斜角。
在本發(fā)明的另一示范性實施例中,提供一種用于控制機(jī)床系統(tǒng)的移動以對零件進(jìn)行 機(jī)械加工的方法,所述機(jī)床系統(tǒng)具有多個可移動軸。所述方法包含以下步驟使零件與 工具在第一位置處接觸;識別第二位置以移動所述工具;以及用兩級內(nèi)插方法確定從第
一位置到第二位置的多個內(nèi)插位置。
在本發(fā)明的又一示范性實施例中,提供一種用于用至少一個工具對零件進(jìn)行機(jī)械加
工的設(shè)備。所述設(shè)備包含框架;可移動支撐件,其由所述框架支撐且可相對于所述框 架移動,所述可移動支撐件支撐所述零件;機(jī)床主軸,其由所述框架支撐且可相對于零
件移動,所述機(jī)床主軸適于耦合所述至少一個工具,可移動支撐件和機(jī)床主軸包括多個
可移動軸;以及運動控制系統(tǒng),其可操作地耦合到機(jī)床主軸和可移動支撐件。所述運動
9控制系統(tǒng)通過機(jī)床主軸和可移動支撐件的所述多個可移動軸的受控移動而執(zhí)行對零件 的機(jī)械加工。所述運動控制系統(tǒng)使零件與第一工具在第一位置處接觸,且在第一工具保 持與零件接觸的同時將第 工具相對于零件從第-一位置移動到第二位置。第一工具內(nèi)插 穿過機(jī)床系統(tǒng)的機(jī)器奇異點。
在本發(fā)明的再一示范性實施例中,提供一種用于用至少一個工具對零件進(jìn)行機(jī)械加 工的設(shè)備。所述設(shè)備包含框架;可移動支撐件,其由所述框架支撐且可相對于所述框 架移動,所述可移動支撐件支撐所述零件;機(jī)床主軸,其由所述框架支撐且可相對于零 件移動,所述機(jī)床主軸適于耦合所述至少一個工具,可移動支撐件和機(jī)床主軸包括多個 可移動軸;以及運動控制系統(tǒng),其可操作地耦合到機(jī)床主軸和可移動支撐件。所述運動 控制系統(tǒng)通過機(jī)床主軸和可移動支撐件的所述多個可移動軸的受控移動而執(zhí)行對零件 的機(jī)械加工,其中運動控制系統(tǒng)使零件與第一工具在第一位置處接觸,且通過針對所述 多個可移動軸屮的多個可旋轉(zhuǎn)軸的每- -者從用于所述多個可旋轉(zhuǎn)軸中的每一者的多個 可能解決方案中選擇最短角行程解決方案而將第一工具相對于零件從第一位置移動到 第二位置。
在本發(fā)明的另一示范性實施例中,提供一種用于用至少一個工具對零件進(jìn)行機(jī)械加 工的設(shè)備。所述設(shè)備包含框架;可移動支撐件,其由所述框架支撐且可相對于所述框 架移動,所述可移動支撐件支撐所述零件;機(jī)床主軸,其由所述框架支撐且可相對于零 件移動,所述機(jī)床主軸適于耦合所述至少一個工具,可移動支撐件和機(jī)床主軸包括多個 可移動軸;以及運動控制系統(tǒng),其可操作地耦合到機(jī)床主軸和可移動支撐件。所述運動 控制系統(tǒng)通過機(jī)床主軸和可移動支撐件的所述多個可移動軸的受控移動而執(zhí)行對零件 的機(jī)械加工。所述運動控制系統(tǒng)使零件與第一工具在第一位置處接觸,且通過針對所述 多個可移動軸中的多個可旋轉(zhuǎn)軸的每一者基于指定的傾斜軸優(yōu)選而從用于所述多個可 旋轉(zhuǎn)軸中的每一者的多個可能解決方案中選擇第一解決方案來將第一工具相對于零件 從第一位置移動到第二位置,所述第一解決方案具有用于所述多個可移動軸的傾斜軸的 滿足傾斜軸優(yōu)選的傾斜角。
在本發(fā)明的再一示范性實施例中,提供一種用于用至少'個工具對零件進(jìn)行機(jī)械加 工的設(shè)備。所述設(shè)備包含框架;可移動支撐件,其由所述框架支撐且可相對于所述框 架移動,所述可移動支撐件支撐所述零件;機(jī)床主軸,其由所述框架支撐且可相對于零 件移動,所述機(jī)床主軸適于耦合所述至少一個工具,可移動支撐件和機(jī)床主軸包括多個 可移動軸;以及運動控制系統(tǒng),其可操作地耦合到機(jī)床主軸和可移動支撐件。所述運動 控制系統(tǒng)通過機(jī)床主軸和可移動支撐件的所述多個可移動軸的受控移動而執(zhí)行對零件的機(jī)械加工。所述運動控制系統(tǒng)使零件與第一工具在第一位置處接觸,且通過用兩級內(nèi) 插方法確定從第一位置到第二位置的多個內(nèi)插位置而將第一工具相對于零件從第一位 置移動到第二位置。
在本發(fā)明的另一示范性實施例中,提供一種用于控制機(jī)床系統(tǒng)的移動以對零件進(jìn)行 機(jī)械加工的方法。所述方法包含以下步驟接收對應(yīng)于機(jī)床系統(tǒng)的機(jī)器配置,所述機(jī)器 配置識別機(jī)床系統(tǒng)的多個可移動軸和其之間的多個相依性;基于所述機(jī)器配置和廣義運 動學(xué)庫而產(chǎn)生虛擬運動學(xué)機(jī)器;接收對應(yīng)于零件的形狀的輸入數(shù)據(jù);以及基于所述虛擬 運動學(xué)機(jī)器和所述輸入數(shù)據(jù)而產(chǎn)生用于機(jī)床系統(tǒng)的所述多個可移動軸的位置。
在本發(fā)明的另一示范性實施例中,提供一種用于控制具有多個可移動軸的機(jī)床系統(tǒng) 的移動以對零件進(jìn)行機(jī)械加工的方法。所述方法包含以下步驟接收對應(yīng)于零件的形狀 的輸入數(shù)據(jù);基于機(jī)床系統(tǒng)的機(jī)器配置和廣義運動學(xué)庫而產(chǎn)生第一虛擬運動學(xué)機(jī)器,所 述第-虛擬運動學(xué)機(jī)器基于所述輸入數(shù)據(jù)而產(chǎn)生用于機(jī)床系統(tǒng)的所述多個可移動軸的 位置;以及基于機(jī)床系統(tǒng)的機(jī)器配置和廣義運動學(xué)庫而產(chǎn)生第二虛擬運動學(xué)機(jī)器,所述 第二虛擬運動學(xué)機(jī)器產(chǎn)生用于機(jī)床系統(tǒng)的可移動部分的位置信息。
在本發(fā)明的又一示范性實施例中,提供一種用軟件控制器對多個機(jī)床系統(tǒng)進(jìn)行編程 的方法。所述方法包含以下步驟提供可由軟件控制器存取的廣義運動學(xué)庫;產(chǎn)生具有 對應(yīng)于第一機(jī)床系統(tǒng)的第一配置的第一虛擬運動學(xué)機(jī)器,所述第-'虛擬運動學(xué)機(jī)器基于 所述廣義運動學(xué)庫;以及產(chǎn)生具有對應(yīng)于第二機(jī)床系統(tǒng)的第二配置的第二虛擬運動學(xué)機(jī) 器,所述第二虛擬運動學(xué)機(jī)器基于所述廣義運動學(xué)庫。
在本發(fā)明的另一示范性實施例中,提供一種用于用至少一個工具對零件進(jìn)行機(jī)械加 工的設(shè)備。所述設(shè)備包含框架;可移動支撐件,其由所述框架支撐且可相對于所述框 架移動,所述可移動支撐件支撐所述零件;機(jī)床主軸,其由所述框架支撐且可相對于零 件移動,所述機(jī)床主軸適于耦合所述至少一個工具,可移動支撐件和機(jī)床主軸包括多個 可移動軸;以及運動控制系統(tǒng),其可操作地耦合到機(jī)床主軸和可移動支撐件,所述運動 控制系統(tǒng)通過機(jī)床主軸和可移動支撐件的所述多個可移動軸的受控移動而執(zhí)行對零件 的機(jī)械加工。所述多個可移動軸的受控移動是由廣義運動學(xué)庫的實例提供的。所述實例 包括多個虛擬軸,所述多個虛擬軸對應(yīng)于所述多個可移動軸。
在本發(fā)明的再一示范性實施例中,提供一種配置機(jī)床系統(tǒng)的軟件控制器的方法。所 述方法包含以下步驟提供可由軟件控制器存取的廣義運動學(xué)庫;接收關(guān)于機(jī)床系統(tǒng)的 配置的信息,機(jī)床系統(tǒng)具有多個正交可移動軸;基于所述所接收的關(guān)于機(jī)床系統(tǒng)的配置 的信息而產(chǎn)生廣義運動學(xué)庫的對應(yīng)于機(jī)床系統(tǒng)的實例;以及通過廣義運動學(xué)庫的實例控
11制所述多個正交可移動軸的移動。
在本發(fā)明的另一示范性實施例中,提供一種具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀媒 體,所述計算機(jī)可執(zhí)行指令用于控制機(jī)床系統(tǒng)的多個可移動軸的移動以對零件進(jìn)行機(jī)械 加工。所述計算機(jī)可執(zhí)行指令包含廣義運動學(xué)庫;用于基于機(jī)床系統(tǒng)的配置而產(chǎn)生廣 義運動學(xué)庫的實例的指令;用于將輸入數(shù)據(jù)提供到廣義運動學(xué)庫的實例的指令;以及用
于從廣義運動學(xué)庫取得輸出數(shù)據(jù)的指令,所述輸出數(shù)據(jù)與所述多個可移動軸的移動相 關(guān)。
通過結(jié)合附圖參看以下對本發(fā)明實施例的描述,將更容易明白本發(fā)明的上述及其它 特征和目標(biāo)以及實現(xiàn)所述特征及目標(biāo)的方式,并且將更好理解本發(fā)明本身,其中 圖1說明示范性機(jī)床系統(tǒng);
圖2說明圖1的示范性機(jī)床系統(tǒng)的運動控制系統(tǒng)的代表性視圖; 圖3說明軸對象的代表性視圖4A和圖4B說明用于提供關(guān)于旋轉(zhuǎn)C軸的特征的用戶界面的示范性輸入屏幕;
圖5A和圖5B說明用于提供關(guān)于旋轉(zhuǎn)C軸的特征的用戶界面的示范性輸入屏幕;
圖6說明用于指定圖1的機(jī)床系統(tǒng)的多個軸之間的相依性的示范性輸入屏幕;
圖7A和圖7B說明工具矩陣堆棧和零件矩陣堆棧的代表性視圖8說明圖2的運動控制系統(tǒng)的級聯(lián)方法的代表性視圖9A到圖9C涉及用于確定圖1的機(jī)床系統(tǒng)的傾斜軸的旋轉(zhuǎn)角的方法;
圖10A到圖IOC說明用于各種機(jī)床系統(tǒng)的機(jī)器奇異點
圖IIA說明圖1的機(jī)床系統(tǒng)的機(jī)器奇異點;
圖11B說明對應(yīng)于正傾斜軸優(yōu)選的傾斜角;
圖11C說明對應(yīng)于負(fù)傾斜軸優(yōu)選的傾斜角;
圖12A到圖12D說明工具在圍繞機(jī)器奇異點旋轉(zhuǎn)期間保持與零件接觸; 圖13A到圖13C表示從機(jī)器奇異點處的上一位置內(nèi)插工具向量、圍繞機(jī)器奇異點旋 轉(zhuǎn)且接著從機(jī)器奇異點到下一工具位置內(nèi)插工具向量的方法; 圖14A說明上一工具向量位置和下一工具向量位置;
圖14B說明由用于上一位置的工具向量和用于下一位置的工具向量界定的平面,其 圍繞坐標(biāo)系統(tǒng)原點,且包括與機(jī)器奇異點重合的工具向量; 圖14C說明從上一位置到下一位置解決方案弁l的移動;
圖15A到圖15C表示從上一位置到機(jī)器奇異點內(nèi)插工具向量、圍繞機(jī)器奇異點旋轉(zhuǎn)且接著從機(jī)器奇異點到下一工具位置內(nèi)插工具向量的方法;
圖16A和圖16B說明上一位置和下一位置的第一解決方案,上一位置與下一位置的 第一解決方案兩者均在機(jī)器奇異點的同--側(cè)上具有負(fù)傾斜角;
圖17A到圖17B說明上一位置和下一位置的第一解決方案,下一位置的第一解決方 案在具有180度旋轉(zhuǎn)軸旋轉(zhuǎn)的傾斜軸優(yōu)選側(cè)上具有傾斜軸角;
圖17C說明用于圖17A的下一位置的第二解決方案,如果用于圖17B中的第一解 決方案的傾斜軸角不在具有零度旋轉(zhuǎn)軸旋轉(zhuǎn)的傾斜軸優(yōu)選側(cè)上,則選擇所述第二解決方 案;
圖18A到圖18C表示工具向量不應(yīng)內(nèi)插穿過奇異點且必須選擇正確的解決方案#2 的情況;
圖19表示弦向誤差; 圖20說明變換平面;
圖21說明用于指定傾斜軸優(yōu)選和各種參數(shù)的示范性輸入屏幕; 圖22說明表面法線處的表面接觸點、工具向量與工具底部中心點之間的關(guān)系; 圖23說明工具底部中心點在具有多個解決方案的情況下的選擇; 圖24說明從上一位置到下一位置的工具向量內(nèi)插; 圖25說明內(nèi)插工具向量;以及 圖26說明布爾決策矩陣與變換矩陣之間的對應(yīng)。 對應(yīng)參考符號在若干視圖中始終指示對應(yīng)零件。
具體實施例方式
本文中所揭示的實施例不希望為詳盡的或?qū)⒈景l(fā)明限制于以下詳細(xì)描述中所揭示 的精確形式。而是,選擇并描述實施例以使得所屬領(lǐng)域的其他技術(shù)人員可利用其教示。
參看圖1,展示具有運動控制系統(tǒng)200的機(jī)床系統(tǒng)100。機(jī)床系統(tǒng)IOO包括框架102, 所述框架102具有第一鞍座104耦合到其。鞍座104可在方向106和108上平移。第二 鞍座110由第一鞍座104支撐。鞍座110可相對于鞍座104在方向112和114上平移。 平臺120由鞍座110支撐,且可相對于鞍座110在方向122和124上旋轉(zhuǎn)。在一個實施 例中,鞍座104、鞍座IIO和平臺120中的每一者可通過受運動控制系統(tǒng)200控制的馬 達(dá)而移動。
另外,第三鞍座126由框架102支撐。鞍座126可在方向128和130上平移。鞍座 126支撐可旋轉(zhuǎn)部件132。可旋轉(zhuǎn)部件132可相對于鞍座126在方向134和136上旋轉(zhuǎn)。 在一個實施例中,鞍座126和可旋轉(zhuǎn)部件132中的每一者可通過受運動控制系統(tǒng)200控制的馬達(dá)而移動。
工具主軸138由平臺132支撐。各種工具141可耦合到工具主軸138以用機(jī)床系統(tǒng)100執(zhí)行各種操作。示范性工具包括端銑刀、鉆頭、螺絲攻、鉸刀和其它合適工具。工具主軸138可圍繞工具主軸線139旋轉(zhuǎn)以向工具141輸入旋轉(zhuǎn)。在一個實施例中,多個工具141存放在工具圓盤傳送帶144中。關(guān)于工具圓盤傳送帶144的額外細(xì)節(jié)在第60/821,481號美,臨時申請案中提供,所述臨時申請案的揭示內(nèi)容明確地以引用的方式并入本文中。
鞍座104在方向106或方向108上的移動經(jīng)說明為在y軸150中的移動。鞍座110在方向112或方向114上的移動經(jīng)說明為在x軸152中的移動。鞍座126在方向128和方向130上的移動經(jīng)說明為在z軸154中的移動。可旋轉(zhuǎn)部件132在方向134或方向136上的旋轉(zhuǎn)經(jīng)說明為在B軸156中的移動。平臺120在方向122或方向124上的旋轉(zhuǎn)經(jīng)說明為在C軸158中的移動。機(jī)床系統(tǒng)100為示范性5軸機(jī)器。在一個實施例中,用A軸替代B軸156和C軸158中的一者,其中平臺120可圍繞x軸152和y軸150中的一者傾斜。
通過機(jī)床系統(tǒng)100的所述5個軸中的一者或一者以上的移動,可相對于由平臺120支撐的待機(jī)械加工的零件160(見圖9A)而定位工具141。可將零件160緊固到平臺120以維持零件160相對于平臺120的位置。
通過運動控制系統(tǒng)200控制機(jī)床系統(tǒng)100的所述5個軸中的一者或一者以上的移動。參看圖2,運動控制系統(tǒng)200包括軟件控制器202和一個或一個以上I/O模塊206。應(yīng)了解,本文中所揭示的方法可由軟件控制器202執(zhí)行,且以與軟件控制器202相關(guān)聯(lián)的方式加以存儲。
軟件控制器202接收機(jī)器配置208和輸入數(shù)據(jù)(例如零件程序204),且接著提供輸出數(shù)據(jù)(例如用于機(jī)床系統(tǒng)IOO的各個軸150、 152、 154、 156和158的位置數(shù)據(jù))。在圖2中所說明的實例中,軟件控制器,202從一個或一個以上I/O模塊206接收零件程序204和機(jī)器配置208。機(jī)器配置208提供機(jī)床系統(tǒng)IOO的各個軸150、 152、 154、 156和158之間的依賴性以及每…軸的屬性。舉例來說,當(dāng)鞍座104在方向106上移動時,C軸158的位置改變。因此,C軸158的位置依賴于鞍座104的位置。
示范性I/O模塊206包括輸入部件,例如用戶界面、觸摸式顯示器、鍵盤、鼠標(biāo)、一個或一個以上按鈕或開關(guān)、CD驅(qū)動器、軟盤驅(qū)動器、到確定器網(wǎng)絡(luò)的接口 (無線或有線)和用于將信息提供到軟件控制器202的其它合適裝置;以及輸出部件,例如顯示在一個實施例中,通過對話式操作模式輸入零件程序204,借助于所述對話式操作模式在編程會話期間通過用戶界面(例如觸摸屏和鍵盤)向用戶呈現(xiàn)一個或一個以上屏幕。對話式編程的示范性方法在轉(zhuǎn)讓給當(dāng)前申請案的受讓人的第5,453,933號美國專利中揭示,所述專利的揭示內(nèi)容明確地以引用的方式并入本文中。在編程會話期間,用戶可編程用于經(jīng)機(jī)械加工的零件的所需幾何形狀且指定一個或一個以上屬性。在一個實例中,用戶通過創(chuàng)建代碼區(qū)塊來指定用于經(jīng)機(jī)械加工的零件的所需幾何形狀,所述代碼區(qū)塊中的每一者指定工具和所述工具的軌道。如此,基于用以創(chuàng)建經(jīng)機(jī)械加工的零件的操作而界定經(jīng)機(jī)械加工的零件的幾何形狀。
在一個實施例中,通過NC操作模式提供零件程序204,借助于所述NC操作模式將NC程序加載到軟件控制器202中。常常使用由例如G、 M、 F等字母識別的代碼來以標(biāo)準(zhǔn)G&M代碼語言或此語言的基于國際標(biāo)準(zhǔn)組織(ISO)或電子工業(yè)協(xié)會(EIA)RS-274-D的接近衍生物來表達(dá)零件程序。所述代碼界定用以控制零件制造中的運動的-序列機(jī)械加丁操作。軟件控制器202轉(zhuǎn)換所述代碼以提供用于機(jī)床系統(tǒng)100的各個軸150、 152、 154、 156和158的定位位置。在一個實施例中,由軟件控制器202的剖析器220剖析零件程序204。剖析器220査看零件程序204且識別各種幾何形狀片段。示范性幾何形狀片段包括線和弧。
不管零件程序204的起點如何,零件程序204直接或基于用以創(chuàng)建零件的操作而界定用于經(jīng)機(jī)械加工的零件的所需幾何形狀。然而,零件程序204可能既未指定鞍座104、110和126的位置,也未指定平臺120和可旋轉(zhuǎn)部件132的旋轉(zhuǎn)。這些位置由軟件控制器202確定。
在一個實施例中,軟件控制器202為面向?qū)ο筌浖M件。在一個實施例中,軟件控制器202基于在1995年9月26日頒布且題為"CNC控制系統(tǒng)(CNC CONTROLSYSTEM)"的第5,453,933號美國專利中所描述的軟件,所述專利的揭示內(nèi)容明確地以引用的方式并入本文中。
在一個實施例中,軟件控制器202包括面向?qū)ο髲V義運動學(xué)庫210和一個或一個以上主機(jī)軟件應(yīng)用程序215。主機(jī)軟件應(yīng)用程序215通過--接口 (例如API接口217)而與廣義運動學(xué)庫210的實例(本文中識別為虛擬運動學(xué)機(jī)器214、 234和236)介接。主機(jī)軟件應(yīng)用程序215還與軟件控制器202的其它組件介接,例如用于實時銑削機(jī)的實時應(yīng)用程序和圖形應(yīng)用程序。
廣義運動學(xué)庫210包括對象或類別的集合,可從所述集合中導(dǎo)出用以從庫210的實例形成虛擬運動學(xué)機(jī)器214的對象。在一個實施例中,將機(jī)器配置208提供到軟件控制
15器202?;跈C(jī)器配置208,軟件控制器202從運動學(xué)庫210創(chuàng)建虛擬運動學(xué)機(jī)器214。虛擬運動學(xué)機(jī)器214存儲在存儲器中。虛擬運動學(xué)機(jī)器214具有與機(jī)器配置208中所描述的實際機(jī)器相同的配置。廣義運動學(xué)庫的設(shè)計概述
廣義運動學(xué)庫含有應(yīng)用程序編程接口 (API) 217,主機(jī)軟件應(yīng)用程序215使用所述應(yīng)用程序編程接口 (API) 217以經(jīng)由"設(shè)定"(Set)數(shù)據(jù)函數(shù)傳送數(shù)據(jù)且經(jīng)由"獲取"(Get)數(shù)據(jù)函數(shù)接收數(shù)據(jù)。因此,按照面向?qū)ο笤O(shè)計范例,主機(jī)軟件應(yīng)用程序215無法直接存取廣義運動學(xué)庫210或其實例中的私有成員數(shù)據(jù)。
介接到廣義運動學(xué)庫
主機(jī)軟件應(yīng)用程序215通過經(jīng)由"設(shè)定"數(shù)據(jù)函數(shù)傳送數(shù)據(jù)且經(jīng)由"獲取"數(shù)據(jù)函數(shù)接收數(shù)據(jù)而經(jīng)由使用面向?qū)ο蠓独右栽O(shè)計的API 217介接到廣義運動學(xué)庫210。廣義運動學(xué)庫初始化
根據(jù)面向?qū)ο蠓独?,主機(jī)軟件應(yīng)用程序215用廣義運動學(xué)庫214組合虛擬運動學(xué)機(jī)器214所需要的數(shù)據(jù)來初始化虛擬運動學(xué)機(jī)器。主機(jī)軟件應(yīng)用程序215以創(chuàng)建廣義運動學(xué)庫210的實例開始。初始化程序隨后使用關(guān)于機(jī)器軸的配置數(shù)據(jù)208,所述配置數(shù)據(jù)208可源自包括配置文件、用戶輸入和/或機(jī)床系統(tǒng)100的實時組件的自動驅(qū)動器辨識的眾多來源。
主機(jī)軟件應(yīng)用程序215循環(huán)穿過所述系統(tǒng)中存在的每一軸且調(diào)用函數(shù)"添加軸(ID,連接)"。軸ID為唯一地識別軸的數(shù)字。示范性軸id包括對應(yīng)于線性和旋轉(zhuǎn)軸(x,y,z,a,b,c)的集合{0,1,2,3,4,5}。在調(diào)用此函數(shù)的情況下,廣義運動學(xué)庫210在存儲器中創(chuàng)建軸對象,其可接著由主機(jī)軟件應(yīng)用程序215用所述軸類型所需要的以下數(shù)據(jù)中的任一者或全部來初始化。
每一軸可包括以下屬性303中的某些或全部 ID
類型(線性/旋轉(zhuǎn)/傾斜/主軸) 方向
坐標(biāo)位置(如果為旋轉(zhuǎn)軸,則為中心線)
極限
最大速度
,連接(軸連接到工具還是連接到零件)
在所有軸已被創(chuàng)建且用適當(dāng)數(shù)據(jù)進(jìn)行初始化之后,由主機(jī)軟件應(yīng)用程序215調(diào)用廣
16義運動學(xué)庫"結(jié)束設(shè)置()"函數(shù),所述"結(jié)束設(shè)置()"函數(shù)確認(rèn)機(jī)器運動學(xué)'組合工具矩陣堆棧270與零件矩陣堆棧280 (見圖7A和圖7B),且如果機(jī)器為5軸機(jī)器,則確定用于機(jī)器奇異點的傾斜軸角。通過在使主軸線與旋轉(zhuǎn)軸(C軸156)對準(zhǔn)的情況下定位傾斜角來確定傾斜軸(B軸158)的奇異點傾斜角。
此時,廣義運動學(xué)庫210準(zhǔn)備好由主機(jī)軟件應(yīng)用程序215使用。通常用開始位置初始化廣義運動學(xué)庫210,且將其它初始模式(本文中較詳細(xì)闡釋所述其它初始模式中的每一者)設(shè)定為接通或斷開,所述其它初始模式包括
最短角行程
內(nèi)插接通/斷開
如果接通,則內(nèi)插類型
傾斜軸優(yōu)選方向或斷開或強(qiáng)制使用優(yōu)選方向廣義運動學(xué)庫的多個實例
廣義運動學(xué)庫210的設(shè)計允許主機(jī)軟件應(yīng)用程序215創(chuàng)建廣義運動學(xué)庫210的用于不同過程(機(jī)床控制軟件200內(nèi)的不同主機(jī)軟件應(yīng)用程序)的多個實例。舉例來說,一個實例用以解譯用于實際機(jī)床系統(tǒng)100的實時運行的程序。另一實例用以在機(jī)床系統(tǒng)100上的程序運行時期間顯示實時圖形和位置數(shù)據(jù)。第三實例可用以解譯用于不同機(jī)器的程序以用圖形方式顯示。此第三實例允許用戶針對與軟件控制器202所連接到的機(jī)器不同的機(jī)器編程零件160且使用圖形驗證檢驗這些程序。廣義運動學(xué)庫210的每一實例為獨立的且可同時使用。
軟件控制器202含有初始化類別,所述初始化類別充當(dāng)廣義運動學(xué)庫210與主機(jī)應(yīng)用程序軟件215之間的API層。此配置準(zhǔn)許軟件控制器202內(nèi)的不同組件(即,不同主機(jī)軟件應(yīng)用程序)通過共同的、可普遍存取的單獨類別來初始化其廣義運動學(xué)庫210的實例。在必要時,主機(jī)軟件應(yīng)用程序215還可修改運動學(xué)模型以用于不同機(jī)器。 一實例將為廣義運動學(xué)庫210的并行編程圖形實例,所述并行編程圖形實例可經(jīng)修改以模仿除CNC控制器200所連接到的機(jī)器以外的機(jī)器。而且,在一個實施例中,廣義運動學(xué)庫210準(zhǔn)許用,.個控制器同時控制多個機(jī)床系統(tǒng)。
在用于運動控制的工具位置計算模式中使用廣義運動學(xué)庫
用以針對給定輸入類型1到4 (見圖8)中的任一者確定機(jī)器接合位置的API為簡單的過載"設(shè)定位置(輸入數(shù)據(jù))"函數(shù),其中"輸入數(shù)據(jù)"為對應(yīng)于類型4到類型1的必要數(shù)據(jù)。在調(diào)用"設(shè)定位置(輸入數(shù)據(jù))"函數(shù)之前設(shè)定內(nèi)插模式、饋送速率或時間步長、工具信息和零件設(shè)置。廣義運動學(xué)庫210用輸入數(shù)據(jù)更新其內(nèi)部"下一位置"數(shù)據(jù)對象,且使用此對象來確定下一工具位置。當(dāng)使用廣義運動學(xué)庫210確定工具位置時, 確定用于輸入移動的接合位置和時間步長并將其存儲在存儲器中。廣義運動學(xué)庫210接 著用所輸入和確定的數(shù)據(jù)更新其內(nèi)部"上一位置"數(shù)據(jù)對象,所述數(shù)據(jù)將用于對確定下 一輸入工具位置作出決策。主機(jī)軟件應(yīng)用程序215將接著使用"獲取位置數(shù)據(jù)()"函數(shù) 來拾取所確定的信息,所述"獲取位置數(shù)據(jù)()"函數(shù)返回對廣義運動學(xué)庫210中含有所 確定數(shù)據(jù)的類別的引用。
主機(jī)軟件應(yīng)用程序215可配置廣義運動學(xué)庫210以針對每一移動存儲除機(jī)器接合位 置和時間步長以外的額外信息。舉例來說,相對于工件的工具尖端位置、相對于機(jī)器參 考坐標(biāo)系統(tǒng)284 (見圖7A)的工具向量方向。
在計算模式中使用廣義運動學(xué)庫
廣義運動學(xué)庫210可用于純計算模式中,其中不用所確定的工具位置更新"上一位 置"內(nèi)部數(shù)據(jù)對象。當(dāng)在主機(jī)軟件應(yīng)用程序中作出關(guān)于工具路徑的邏輯決策(例如計算 定向收縮平面到機(jī)器極限的限幅點)時,這可為有用的。API為簡單的過載"確定位置(輸 入數(shù)據(jù))"函數(shù),其中"輸入數(shù)據(jù)"為對應(yīng)于類型4到類型1的必要數(shù)據(jù)。必須在調(diào)用"確 定位置"之前設(shè)定必要的機(jī)器狀態(tài),調(diào)用"確定位置"等同亍使用前一部分中所描述的 "設(shè)定位置"。
除了計算輸入工具位置的機(jī)器接合角之外,廣義運動學(xué)庫210還可相對于被模仿機(jī) 器的運動學(xué)聯(lián)動中的任一坐標(biāo)系統(tǒng)確定工具尖端和工具向量數(shù)據(jù)。 一實例將為在給定機(jī) 器接合位置和角的情況下在機(jī)器參考坐標(biāo)中計算工具向量"獲取相對于機(jī)器的工具向 量(機(jī)器接合位置)",其中"機(jī)器接合位置"為含有所有相關(guān)軸位置的向量。此函數(shù)調(diào)用 將不會更新廣義運動學(xué)庫210內(nèi)部上一位置數(shù)據(jù)對象。
虛擬運動學(xué)機(jī)器
廣義運動學(xué)庫210將運動學(xué)計算合并于可在全部代碼中共享的單個庫來源中。庫的 廣義化為庫提供創(chuàng)建具有多達(dá)5個軸的任何正交機(jī)床系統(tǒng)的虛擬運動學(xué)機(jī)器的方式。在 一個實施例中,這用面向?qū)ο笤O(shè)計來實現(xiàn),在面向?qū)ο笤O(shè)計中,在庫中創(chuàng)建機(jī)床系統(tǒng)100 的虛擬數(shù)學(xué)模型。雖然本文'l'描述廣義運動學(xué)庫210用于與具有多達(dá)5個正交軸的機(jī)床 系統(tǒng)一起使用,但由于廣義運動學(xué)庫210的面向?qū)ο笤O(shè)計,廣義運動學(xué)庫210可專用于 非正交系統(tǒng)和具有5個以上軸的系統(tǒng)。面向?qū)ο笤O(shè)計提供產(chǎn)生即插即用庫的靈活性,所 述即插即用庫可連接并配置其自身以模仿具有i到5個軸的任何正交機(jī)床系統(tǒng)。另外, 雖然本文中描述用于與機(jī)床系統(tǒng)IOO—起使用,但運動控制系統(tǒng)200可與包括機(jī)器人學(xué) 的任何類型的運動系統(tǒng)一起使用。虛擬運動學(xué)機(jī)器214基于本文中所論述的一個或一個以上矩陣堆棧。這些矩陣堆棧 (例如圖7A和圖7B中的270和280)包括描述機(jī)床系統(tǒng)100的各個軸150、 152、 154、 156和158中的一者或一者以上的特征的矩陣。還可在矩陣堆棧216中說明機(jī)床系統(tǒng)100 的額外特征。舉例來說,零件160耦合到平臺120。
軸對象
參看圖3,將機(jī)床系統(tǒng)100的各個軸150、 152、 154、 156和158中的每一軸描述為 一對象。所述軸對象從圖3中所表示的通用軸類別302導(dǎo)出。軸類別302是用于所有軸 對象的基礎(chǔ)類別且界定軸對象的特性和方法。軸類別302包括各種軸屬性303和變換矩 陣305。軸基礎(chǔ)類別302含有所有導(dǎo)出軸對象擁有的共同數(shù)據(jù)和方法。
以下是軸基礎(chǔ)類別302中所包括的數(shù)據(jù)列表
數(shù)據(jù)
軸ID-對應(yīng)于{X,Y,Z,A,B,C,S}的整數(shù){0,1 ,2,3,4,5,6,7}
名稱z^字符串("X","Y'V'ZV'AV'B","C","S") 類型=枚舉{線性,旋轉(zhuǎn),傾斜,主軸}
位置=軸位置
矩陣=軸變換矩陣
連接=枚舉{工具,零件}
最小位置=運動的下界
最大位置=運動的上界
軸極限存在=布爾{真,假}
初始機(jī)器方向向量=機(jī)器參考框架中表示正軸移動方向的向量。對于旋轉(zhuǎn)軸來說, 針對右手正旋轉(zhuǎn)的軸中心線的向量方向。 最大輪廓速度=內(nèi)插速度 最快速度=快速移動速度
方法
在軸基礎(chǔ)類別屮包括若干方法,包括用于上述數(shù)據(jù)中的每--者的"設(shè)定()"和"獲 取()"函數(shù)。
從軸類別302導(dǎo)出3個導(dǎo)出類別,即線性軸320、主軸線321和旋轉(zhuǎn)軸322。主軸 線類別321從軸基礎(chǔ)類別導(dǎo)出。除了軸基礎(chǔ)類別202數(shù)據(jù)和方法之外,主軸線類別321 還包括
數(shù)據(jù)位置=相對于其所連接到的軸的主軸坐標(biāo)系統(tǒng)原點 方法
設(shè)定軸S()-初始化函數(shù)
設(shè)定相對于機(jī)器的初始主軸線方向(方向向量)=用以從基礎(chǔ)軸類別設(shè)定初始機(jī)器方 向向量的函數(shù)
設(shè)定相對于上一軸的位置()=用以設(shè)定相對于其所連接到的上一軸的主軸坐標(biāo)系統(tǒng) 的位置的函數(shù)
線性軸類別320從軸基礎(chǔ)類別302導(dǎo)出。除了軸基礎(chǔ)類別數(shù)據(jù)302和方法之外,線 性軸類別320還包括 方法
平移O-用以平移向量或?qū)⒁痪仃嚦艘跃€性軸平移矩陣的函數(shù) 設(shè)定軸(x,y,zh初始化函數(shù)
旋轉(zhuǎn)軸類別322從軸基礎(chǔ)類別302導(dǎo)出。除了軸基礎(chǔ)類別302數(shù)據(jù)和方法之外,旋 轉(zhuǎn)軸類別322還包括
數(shù)據(jù)
中心線=旋轉(zhuǎn)軸的位置 方法
設(shè)定軸(a,b,c^初始化函數(shù)
旋轉(zhuǎn)()=用以旋轉(zhuǎn)向量或?qū)⒁痪仃嚦艘孕D(zhuǎn)的函數(shù) 獲取到軸的垂直距離(點)=函數(shù)返回到旋轉(zhuǎn)軸的垂直徑向距離
基于機(jī)器配置208,虛擬運動學(xué)機(jī)器214包括對應(yīng)于圖1的軸150、 152、 154、 156 和158的五個機(jī)器特定軸對象250、 252、 254、 256和258。提供I/O模塊206的用戶界 面的示范性輸入屏幕以用于針對C軸258 (圖4A和圖4B)和B軸256 (圖5A和圖5B) 指定一些示范性屬性信息。
參看圖4A和圖4B,通過I/O模塊206的用戶界面328針對C軸258指定屬性信息。 在圖4A中,旋轉(zhuǎn)配置類型屬性330經(jīng)設(shè)定為完全旋轉(zhuǎn)、最大速度屬性332和角默認(rèn)位 置屬性334。參看圖4B, C軸258的中心線屬性324經(jīng)界定為從x軸252的偏移336和 從y軸250的偏移338。
參看圖5A和圖5B,通過I/O模塊206的用戶界面328針對B軸256指定屬性信息。 在圖4A中,旋轉(zhuǎn)配置類型屬性330經(jīng)設(shè)定為傾斜旋轉(zhuǎn)、最大速度屬性332、校準(zhǔn)原位 340、負(fù)方向行進(jìn)極限342和正方向行進(jìn)極限344。參看圖5B, B軸258的中心線屬性
20324經(jīng)界定為從x軸252的偏移346和從y軸250的偏移348。
由運動控制系統(tǒng)200通過I/O模塊206針對線性軸250、252和254從操作者接收類 似屬性信息。另外,可提供用于旋轉(zhuǎn)軸256和258的額外屬性。圖3到圖5中所列的屬 性303和變換305為示范性的且不希望為詳盡的。
一旦所有軸經(jīng)界定,運動控制系統(tǒng)200便從操作者接收各個軸150、 152、 154、 156 和158之間的相依性,使得虛擬運動學(xué)機(jī)器214在對應(yīng)軸對象250、 252、 254、 256和 258之間具有相同相依性。圖6中展示I/O模塊206的用戶界面328的示范性輸入屏幕, 其用于設(shè)定軸250、 252、 254、 256和258之間的相依性。在一個實施例中,所述軸的 界定在機(jī)床系統(tǒng)200的初始設(shè)置期間完成,且除非需要,否則在后續(xù)操作期間不需要更 改所述界定。
在圖6中,顯示由操作者界定的軸250、 252、 254、 256和258中的每一者。操作 者可通過輸入部件(例如觸摸屏)突出顯示給定軸(說明y軸250)。操作者接著可通過 選擇輸入350而將y軸250移動到零件運動學(xué)軸次序列表356和工具運動學(xué)軸次序列表 358中的另一者。操作者可通過選擇輸入352而將y軸250在當(dāng)前列表356中移動到較 高處。操作者可通過選擇輸入354而將y軸250在當(dāng)前列表356中移動到較低處。
各個軸在零件運動學(xué)軸次序列表356和工具運動學(xué)軸次序列表358中的次序向軟件 控制器202提供各個軸的相依性。每一列表356和358中所列的第-一軸為用于所述特定 列表的基礎(chǔ)軸。如圖6中所說明的,軸250、 252、 254、 256和258的次序?qū)?yīng)于機(jī)床 系統(tǒng)100的軸150、 152、 154、 156和158。如圖6中所排序的,在零件運動學(xué)軸次序列 表356中,x軸252和C軸258兩者均與y軸250 —起移動。另夕卜,C軸258與x軸252 一起移動,但y軸不與x軸一起移動。x軸250或y軸252均不與C軸的移動一起移動。 對于工具運動學(xué)軸次序列表358, B軸256與z軸254 —起移動,但Z軸254不與B軸 256 —起移動。最后,y軸250、 x軸和C軸的移動獨立于z軸254和B軸256的移動。
矩陣堆棧
如上文所提及的,各個軸250、 252、 254、 256和258中的每一者具有對應(yīng)的變換 矩陣305。通過知曉各個軸250、 252、 254、 256和258的相依性,虛擬運動學(xué)機(jī)器214 可產(chǎn)生一個或一個以上矩陣堆棧以計算各種類型的輸出數(shù)據(jù)。虛擬運動學(xué)機(jī)器214包括 由初始化組件218創(chuàng)建的一個或一個以上矩陣堆棧216。矩陣堆棧216為用于廣義運動 學(xué)庫210中以將多個變換串聯(lián)在一起的通用方法。
圖7A和圖7B中表示兩個示范性矩陣堆棧216。工具矩陣堆棧270用于通過變換矩 陣276的串聯(lián)而以數(shù)學(xué)方式模仿從主軸坐標(biāo)系統(tǒng)(主軸)272中的工具尖端位置到機(jī)器參考坐標(biāo)系統(tǒng)(m) 274中的工具尖端位置的變換。在圖7A的最左部分中以圖形方式表 示工具矩陣堆棧270,且在圖7A的最右部分中以數(shù)學(xué)方式表示工具矩陣堆棧270。在一 個實施例中,對于機(jī)床系統(tǒng)100 (由虛擬運動學(xué)機(jī)器214表示),通過等式(1)表示工 具矩陣堆棧270。
〖工具尖端m]=[變換》俠換b]4變換i湘]"r工具尖端袖] (1)
其中"[工具尖端主軸]"為表示工具尖端在主軸坐標(biāo)系統(tǒng)中的位置的列向量;
"[變換,]"為從主軸坐標(biāo)系統(tǒng)到旋轉(zhuǎn)B軸坐標(biāo)系統(tǒng)的變換; "[變換b]"為從旋轉(zhuǎn)B軸坐標(biāo)系統(tǒng)到z軸坐標(biāo)系統(tǒng)的變換; "[變換d"為從z軸坐標(biāo)系統(tǒng)到機(jī)器坐標(biāo)系統(tǒng)的變換;且
"[工具尖端m]"為表示機(jī)器坐標(biāo)系統(tǒng)中的工具尖端位置的列向量。 圖7B中所展示的零件矩陣堆棧280用于通過變換矩陣286的串聯(lián)而以數(shù)學(xué)方式模 仿從工件坐標(biāo)系統(tǒng)(wp) 282中的零件點到機(jī)器參考坐標(biāo)系統(tǒng)(m) 284中的零件點的 變換。在圖7B的最左部分中以圖形方式表示零件矩陣堆棧280,且在圖7B的最右部分 中以數(shù)學(xué)方式表示零件矩陣堆棧280。零件矩陣堆棧280含有用于零件運動學(xué)鏈的所有 軸運動學(xué)矩陣以及零件設(shè)置矩陣290。本文中提供確定零件設(shè)置矩陣290的方法。當(dāng)相 對于變換平面界定用戶程序時或當(dāng)在程序中調(diào)用圖案化變換時,可將額外矩陣推到零件 矩陣堆棧上。廣義運動學(xué)庫使用變換平面矩陣堆棧292,任何數(shù)目的變換平面可堆疊到 所述變換平面矩陣堆棧292上。廣義運動學(xué)庫還具有預(yù)變換平面矩陣堆棧294,任何數(shù) 目的圖案化變換可堆疊到所述預(yù)變換平面矩陣堆棧294上。示范性圖案變換包括平移、 旋轉(zhuǎn)和鏡射。如同任何矩陣堆棧一樣,變換平面矩陣堆棧與預(yù)變換平面矩陣堆棧兩者均 可在不必刪除矩陣堆棧中的矩陣的情況下接通和斷開。因此,完整的零件矩陣堆棧280 可含有圖7B中所說明的變換。
在一個實施例中,對于機(jī)床系統(tǒng)100 (由虛擬運動學(xué)機(jī)器214表示),通過等式2表 示零件矩陣堆棧280。=改換v ]4變換,]4變換c ]4零件設(shè)置矩陣] (2) x改換平面矩陣堆棧]4預(yù)變換平面矩陣堆棧W零件點局部]
其中"[零件點;^']"為表示在沒有變換平面在作用中時的零件點在工件坐標(biāo)系統(tǒng)中 的位置或表示在至少一個變換平面在作用中時的"變換矩陣堆疊"中的頂部變換平面的 列向量;
"[預(yù)變換平面矩陣堆棧]"為應(yīng)用于輸入位置的圖案化變換;"[變換平面矩陣堆棧]"為從圖案化變換堆棧中所界定的系統(tǒng)到零件設(shè)置坐標(biāo)系統(tǒng)的 經(jīng)串聯(lián)的"變換平面矩陣堆棧"矩陣變換;
"[零件設(shè)置矩陣]"為從零件坐標(biāo)系統(tǒng)到C軸坐標(biāo)系統(tǒng)的變換; "[變換c]"為從旋轉(zhuǎn)C軸坐標(biāo)系統(tǒng)到X軸坐標(biāo)系統(tǒng)的變換; "[變換x]"為從X軸坐標(biāo)系統(tǒng)到y(tǒng)軸坐標(biāo)系統(tǒng)的變換; "[變換y]"為從y軸坐標(biāo)系統(tǒng)到機(jī)器參考坐標(biāo)系統(tǒng)的變換;且
"[零件點M]"為表示參考機(jī)器坐標(biāo)系統(tǒng)中的零件點位置的列向量。
應(yīng)了解,上述用于工具尖端和零件點位置的說明性實例僅為示范性的,且一旦已確
立各個軸250、 252、 254、 256和258之間的相依性,便可使用各種矩陣堆棧將各種類 型的輸入數(shù)據(jù)變換成各種類型的坐標(biāo)系統(tǒng)。
在一個實施例中,以從機(jī)器參考坐標(biāo)系統(tǒng)284向外到主軸坐標(biāo)系統(tǒng)272的次序?qū)⒕?陣推到矩陣堆棧270上,且以從機(jī)器參考坐標(biāo)系統(tǒng)284向外到工件坐標(biāo)系統(tǒng)282的次序 將矩陣推到零件矩陣堆棧280上。機(jī)床系統(tǒng)IOO的所述軸中的一者的每個移動未必需要 重新計算各個矩陣堆棧270和280。在一個實施例中,廣義運動學(xué)庫210決定是否需要 重新計算給定的矩陣堆棧。
舉例來說,假定機(jī)器坐標(biāo)系統(tǒng)284中需要工具尖端位置和零件位置兩者。當(dāng)正在切 割零件160時,機(jī)床系統(tǒng)100沿著x軸152 (虛擬機(jī)器214中的x軸252)平移。因為 零件巳相對T機(jī)器坐標(biāo)系統(tǒng)284移動,所以廣義運動學(xué)庫210將重新計算零件矩陣堆棧 280,但因為工具141尚未相對于機(jī)器坐標(biāo)系統(tǒng)移動,所以廣義運動學(xué)庫210將不會重 新計算工具矩陣堆棧270。這減少了所執(zhí)行的矩陣乘法的數(shù)目。在一個實例中,當(dāng)設(shè)定 軸位置時,如果軸位置不同于當(dāng)前位置,則虛擬機(jī)器214更新每一軸對象位置。如果軸 位置改變,則在適當(dāng)工具或零件矩陣堆棧270和280中設(shè)定指示必須重新確定前向和反 向矩陣堆棧變換矩陣的旗標(biāo)。當(dāng)接下來請求使用所需矩陣時,矩陣堆棧將重新確定所述 所需矩陣。
可實施各種矩陣堆棧以相對于任何軸坐標(biāo)系統(tǒng)、工件坐標(biāo)系統(tǒng)282、主軸坐標(biāo)系統(tǒng) 272或機(jī)器參考坐標(biāo)系統(tǒng)284確定任何點或向量??蓪嵤┢渌仃嚩褩R杂糜谧儞Q到變 換平面坐標(biāo)系統(tǒng)296,例如圖20所示??稍趯υ捠搅慵绦虻木幊虝捴薪缍ㄗ儞Q平面 298。
返回到圖2,虛擬運動學(xué)機(jī)器214接收來自剖析器220的幾何形狀信息,且確定對 應(yīng)于機(jī)器軸150、 152、 154、 156和158的軸350、 352、 354、 356和358 (見圖3)中
23的每一者的實際機(jī)器位置。將這些機(jī)器位置提供到軸150、 152、 154、 156和158的運 動系統(tǒng)以定位由工具主軸138支撐的工具141和零件160。示范性運動系統(tǒng)包括伺服馬 達(dá)。通過發(fā)送到實時銑削機(jī)232的位置數(shù)據(jù)230表示由虛擬運動學(xué)機(jī)器214確定的機(jī)器 位置。位置數(shù)據(jù)230不需要一齊呈現(xiàn)給實時銑削機(jī)232,而是虛擬運動學(xué)機(jī)器214可視 需要將用于給定軸的一個或一個以上下一位置放置于由實時銑削機(jī)232讀取的堆棧上。 因此,當(dāng)虛擬運動學(xué)機(jī)器214正確定從第二位置到第三位置所采用的步長時,實時銑削 機(jī)232可能正從第一位置移動到第二位置(穿過一系列中間點)。 并行編程
通過使軟件控制器202基于指定的機(jī)器配置208和廣義運動學(xué)庫210而產(chǎn)生虛擬運 動學(xué)機(jī)器214,可結(jié)合多種實際機(jī)器來使用軟件控制器202。舉例來說,如果平臺120 曾可圍繞x軸152傾斜,則這可由傳遞到軟件控制器202的機(jī)器配置208來加以考慮。
這不僅增加了軟件控制器202的靈活性,而且增加了軟件控制器202的有用性。舉 例來說,如圖2中所展示的,產(chǎn)生兩個額外虛擬機(jī)器234和236。虛擬機(jī)器234也基于 機(jī)器配置208。如此,虛擬機(jī)器234與虛擬運動學(xué)機(jī)器214相同,但可用于軟件控制器 202的用于不同用途的不同部分(例如模擬圖形應(yīng)用程序245)中。虛擬機(jī)器236基于 通過I/O模塊206接收的第二機(jī)器配置238。虛擬機(jī)器234和236每一者分別接收輸入 數(shù)據(jù)240和242。
虛擬機(jī)器234和236提供輸出數(shù)據(jù)244和246。輸出數(shù)據(jù)244和246提供針對一應(yīng) 用程序而請求的信息。在一個實施例中,,用于虛擬機(jī)器234和236中的一者或兩者的輸 出數(shù)據(jù)為機(jī)器軸位置(例如用于實時銑削機(jī)的)。在所說明的實施例中,虛擬機(jī)器234 耦合到模擬圖形軟件應(yīng)用程序245。在一個實施例中,模擬圖形應(yīng)用程序245正請求在 顯示器(工具圖形顯示器)上呈現(xiàn)工具尖端位置(在機(jī)器運行時期間的工具尖端位置)。 這可從所有機(jī)床系統(tǒng)軸位置的位置來確定。其它示范性應(yīng)用程序包括線框圖形軟件應(yīng)用 程序和導(dǎo)出器軟件應(yīng)用程序,或其它合適的應(yīng)用程序247。在一個實施例中,示范性輸 出數(shù)據(jù)包括經(jīng)機(jī)械加工的零件的當(dāng)前形狀或經(jīng)機(jī)械加工的零件的模擬形狀,所述模擬形 狀基于待由模擬圖形應(yīng)用程序245顯示的工具141的經(jīng)編程移動(包括工具141的位置)。
在一個實施例中,虛擬運動學(xué)機(jī)器214基于機(jī)器配置208并正處理零件程序204以 將位置數(shù)據(jù)230提供到實時銑削機(jī)232,且虛擬機(jī)器236基于機(jī)器配置208并正處理零 件程序(作為輸入數(shù)據(jù)242)以提供位置數(shù)據(jù)作為輸出數(shù)據(jù)246。如此,軟件控制器202 的用戶可用實時銑削機(jī)232 (例如圖1中所說明的5軸機(jī)器)切割零件160,同時在由 機(jī)器配置236界定的四軸機(jī)器上編程另一零件,以用于用模擬圖形軟件應(yīng)用程序245加
24以驗證或提供到與所述四軸機(jī)器相關(guān)聯(lián)的實時銑削機(jī)232。在顯示器上顯示輸出數(shù)據(jù)246 的一個原因是檢查干涉及其它問題兒何形狀或檢査用于切割零件160的估計時間。以此 方式,軟件控制器202準(zhǔn)許通過實施虛擬機(jī)器(例如虛擬機(jī)器214、 234和236)而并行 編程多個機(jī)器。還可在單獨確定器(例如膝上型計算機(jī))上實施軟件控制器202。以此 方式,用戶可編程對應(yīng)于機(jī)床系統(tǒng)100的虛擬機(jī)器,且接著將所得機(jī)械程序提供到機(jī)床 系統(tǒng)以對零件進(jìn)行機(jī)械加工或用模擬圖形應(yīng)用程序245査看。在此實例中,所得位置數(shù) 據(jù)可為NC程序或?qū)υ捠匠绦颉?級聯(lián)方法
如本文中所陳述的,在一個實例中,虛擬運動學(xué)機(jī)器214基于多個輸入工具位置而 確定軸250、 252、 254、 256和258的位置。在一個實施例中,虛擬機(jī)器214通過級聯(lián) 方法400確定軸250、 252、 254、 256和258的位置。
圖8中說明級聯(lián)方法400。參看圖8,可將四種不同類型的輸入工具位置信息402、 404、 406和408提供到級聯(lián)方法400,可從所述工具位置信息確定軸250、 252、 254、 256和258的位置。工具位置信息402在本文中稱作類型4數(shù)據(jù),且包括零件上用于工 具的表面接觸點、接觸點處的零件表面的表面法線向量和相對于工件坐標(biāo)框架282的工 具向量。工具位置信息404在本文中稱作類型3數(shù)據(jù),且包括相對于工件坐標(biāo)框架282 的線性工具尖端位置和工具向量方向。工具位置信息406在本文中稱作類型2數(shù)據(jù),且 包括相對于工件坐標(biāo)系統(tǒng)282的線性工具尖端位置和相對于零件坐標(biāo)系統(tǒng)285 (圖20) 的旋轉(zhuǎn)軸位置。零件坐標(biāo)系統(tǒng)285包括用于使工件坐標(biāo)系統(tǒng)對準(zhǔn)機(jī)器參考坐標(biāo)系統(tǒng)284 的旋轉(zhuǎn)偏移。如果偏移為零,則工件坐標(biāo)系統(tǒng)相對于機(jī)器坐標(biāo)框架284完全對準(zhǔn)。如此 項技術(shù)中已知的,零件設(shè)置坐標(biāo)系統(tǒng)285為通常參考的坐標(biāo)系統(tǒng),且包括于本文中以提 供相對于所述參考框架處理所接收數(shù)據(jù)或輸出數(shù)據(jù)的能力。在圖7B中的零件設(shè)置矩陣 290中考慮零件設(shè)置坐標(biāo)系統(tǒng)285的偏移。工具位置信息408在本文中稱作類型1數(shù)據(jù), 且包括相對于機(jī)器坐標(biāo)框架284的線性軸位置和旋轉(zhuǎn)軸位置。
如圖8中所說明的,依據(jù)接收到何種"類型"的輸入工具數(shù)據(jù)而定,級聯(lián)方法400 向下級聯(lián),從而確定下部數(shù)目類型的輸入工具數(shù)據(jù),直到最終確定軸250、 252、 254、 256和258的軸位置和對應(yīng)時間410為止。
主機(jī)應(yīng)用程序軟件215根據(jù)標(biāo)準(zhǔn)面向?qū)ο笤O(shè)計原理使用"獲取"和"設(shè)定"函數(shù)調(diào) 用虛擬運動學(xué)機(jī)器214。存在用于上文所列的四種輸入類型中的每一者的單獨"設(shè)定" 函數(shù)。當(dāng)調(diào)用"設(shè)定"函數(shù)時,虛擬運動學(xué)機(jī)器214通過級聯(lián)方法400處理數(shù)據(jù)。
在一個實例中,通過來自主機(jī)軟件應(yīng)用程序215的命令"KMl.設(shè)定位置類型弁4(x,y,z,u,v,w,i.j.k)"將類型4數(shù)據(jù)提供到虛擬運動學(xué)機(jī)器214。通過(x,y,z)指定表面接觸點。 通過(u,v,w)指定表而法線向量。通過(i,j,k)指定工具軸向量。相對于工件坐標(biāo)系統(tǒng) 282界定輸入表面點、表面法線向量和工具向量中的每 -者。 類型3數(shù)據(jù)的確定
級聯(lián)方法400包括用于從所提供的類型4確定類型3數(shù)據(jù)的方法。如先前陳述的, 類型3數(shù)據(jù)包括均相對于工件坐標(biāo)系統(tǒng)282的工具底部中心和工具向量。方法412在確 定工具底部中心416(見圖22)和工具向量422中考慮工具141的形狀。在一個實例中, 方法412使用當(dāng)前工具外半徑和轉(zhuǎn)角半徑來確定工具底部中心416和工具向量422。
參看圖22,展示表面接觸點414和工具底部中心點416。還展示工具轉(zhuǎn)角半徑的中 心418和工具中心420點。最后,展示工具向量422和穿過點414的表面法線向量424。
通過等式3提供表面接觸點414與工具底部中心點416之間的關(guān)系,
工具尖端=尸+ "(々—f) + (/ -r)x
(3)
其中
p-工件上的表面接觸點;
N=P處的表面法線向量; T二工具軸向量; R-工具外長半徑; P工具的半徑
等式3描述從表面接觸點414到工具底部中心點的移動。項rx(々-f)組合414—418
與420—416,且項
w — (w.r)r
確定向量418 —42(h
、1 /
通過所提供的類型4輸入數(shù)據(jù)提供變量P、 N和T。通過工具配置文件提供變量R 和r?;诘仁?,確定工具底部中心點416。
在圖23中所展示的情況下(其中工具向量422與表面法線向量424重合),如果工 具外半徑不等于工具轉(zhuǎn)角半徑,則存在用以成切線地定位工具的無限解決方案。在此情 況下,方法412定位工具底部中心416以接觸表面點414,這消除了解決方案的不明確 性。對于工具轉(zhuǎn)角半徑等于工具中心半徑的球頭銑刀來說,不存在無限解決方案情況。
方法412返回相對于工件坐標(biāo)系統(tǒng)282的工具底部中心位置416以及作為類型4數(shù) 據(jù)的部分而提供的工具向量422。在虛擬運動學(xué)機(jī)器214中通過命令"KM1.設(shè)定位置類型弁3(x,y,z, i,j,k)"將類型3數(shù)據(jù)提供到方法400的下一層級。還可由主機(jī)軟件應(yīng)用程序 215在虛擬運動學(xué)機(jī)器214外部起始此命令。
級聯(lián)方法400包括用于從類型3 404確定類型2數(shù)據(jù)406的方法426。如先前陳述 的,類型2數(shù)據(jù)406包括相對于工件坐標(biāo)系統(tǒng)282的工具底部中心416和相對于零件設(shè) 置坐標(biāo)系統(tǒng)285的旋轉(zhuǎn)軸位置。方法426為機(jī)器旋轉(zhuǎn)軸(B軸256和C軸258)確定解 決方案以使機(jī)床系統(tǒng)IOO的工具主軸138對準(zhǔn)類型3數(shù)據(jù)的工具向量422相對于工件的 定向。對于機(jī)床系統(tǒng)100,可存在用于B軸256和C軸258的位置的導(dǎo)致主軸138與輸 入工具位置的工具向量422對準(zhǔn)的兩個或兩個以上解決方案。本文中描述類型2數(shù)據(jù)406 的確定。
級聯(lián)方法400進(jìn)一步包括用于從類型2數(shù)據(jù)406計算類型1數(shù)據(jù)408的方法428。 方法428選擇B軸256和C軸258的導(dǎo)致主軸線138與輸入工具位置的工具向量422 對準(zhǔn)的兩個可能解決方案中的 者。另外,對于B軸256和C軸258的兩個解決方案中 的每一者,線性軸位置是不同的。在一個實施例中,方法428基于工具的上一位置、移 動類型、機(jī)器軸極限和/或工具是否將移動穿過機(jī)器的奇異點而選擇B軸256和C軸258 的旋轉(zhuǎn)位置。方法428的輸出為類型I數(shù)據(jù)(機(jī)床系統(tǒng)100的線性和旋轉(zhuǎn)軸位置)。
將類型1數(shù)據(jù)408提供到級聯(lián)方法400的方法430。方法430確定各個軸移動到類 型1數(shù)據(jù)408屮所指定的位置的受軸速度限制的時間步長。在一個實施例中,時間步長 基于工具尖端相對于工件的饋送速率。必要時可調(diào)整饋送速率以適應(yīng)最大機(jī)器軸速度的 違反。所述方法更新運動學(xué)機(jī)器軸位置且存儲位置數(shù)據(jù)以供輸出。如本文中所提及的, 根據(jù)需要將經(jīng)更新的軸位置提供到虛擬運動學(xué)機(jī)器214以用于更新矩陣堆棧216。
類型2數(shù)據(jù)的確定
返回到級聯(lián)方法400的方法426,從類型3數(shù)據(jù)404確定類型2數(shù)據(jù)406。在一個 實施例中,方法426包括用以基于工具底部中心點416和工具向量422 (其為用于相對 于工件坐標(biāo)系統(tǒng)282的工具定向的向量)而確定系統(tǒng)IOO的反向運動學(xué)的基于向量的方 法。雖然結(jié)合系統(tǒng)100論述方法426,但方法426可適應(yīng)任何正交5軸機(jī)器。
在個實施例屮,方法426遵循以下進(jìn)程。首先,通過應(yīng)用零件設(shè)置變換矩陣將相 對于工件坐標(biāo)系統(tǒng)的工具向量422變換成機(jī)器坐標(biāo)框架284。如圖7B中所說明的,零 件設(shè)置變換矩陣含有用于移動零件的軸的運動學(xué)聯(lián)動中所連接的機(jī)器軸的所有偏移。
一般來說,對于正交5軸機(jī)器的任何給定工具位置,存在兩個可能解決方案,除了 當(dāng)傾斜軸156使主軸線139對準(zhǔn)旋轉(zhuǎn)軸方向向量158時的情況之外。在此情況下,因為 機(jī)器定位于機(jī)器奇異點,所以存在無限解決方案。
27方法426檢斉以確定主軸線139的旋轉(zhuǎn)是否沿著機(jī)器奇異點。圖10A到圖IOC中展 示主軸線139的旋轉(zhuǎn)沿著機(jī)器奇異點的示范性情形。圖10A說明主軸線139由于傾斜軸 156的位置而平行于平臺120的旋轉(zhuǎn)軸158的機(jī)床系統(tǒng)100的情形。參看圖IOB,主軸 線161平行于可旋轉(zhuǎn)平臺167的旋轉(zhuǎn)軸163,可旋轉(zhuǎn)平臺167由于傾斜軸165的位置而 支撐于可傾斜平臺169上。參看圖IOC,主軸線171由于中間可傾斜部件179的傾斜軸 177的位置而平行于可旋轉(zhuǎn)部件175的旋轉(zhuǎn)軸173。
方法426基于如圖9A到圖9C中所說明的等式4的關(guān)系而確定用于機(jī)床系統(tǒng)100 的傾斜軸(B軸156)的旋轉(zhuǎn)角
傾斜角^arccos(工具向量機(jī)器"刀始主軸線方向〗 (4)
其中
"傾斜角"為B軸的旋轉(zhuǎn)角;
"工具向量機(jī)器"434為機(jī)器坐標(biāo)系統(tǒng)436中的輸入工具向量;且
"初始主軸線方向"432為當(dāng)傾斜軸角為零時的主軸線相對于機(jī)器坐標(biāo)系統(tǒng)的旋轉(zhuǎn)。 如果"傾斜角"在傾斜軸編碼器分辨率的公差內(nèi)或者在操作者指定的傾斜軸精確度 內(nèi)等于奇異點傾斜角,則方法426認(rèn)為工具向量422沿著機(jī)器奇異點。在此情形中,方 法426將B軸156的旋轉(zhuǎn)角設(shè)定為上-旋轉(zhuǎn)角位置,或如果在虛擬運動學(xué)機(jī)器中尚未設(shè) 定上一旋轉(zhuǎn)位置,則設(shè)定為零。這防止對于簡并情況試圖確定旋轉(zhuǎn)角。
如果經(jīng)變換的工具向量422不沿著機(jī)器的奇異點,則通過參看圖9A到圖9C的以下 步驟確定C軸158的旋轉(zhuǎn)角。使用旋轉(zhuǎn)軸158、傾斜軸156和垂直于旋轉(zhuǎn)軸158和傾斜 軸156的交叉向量0 440 ("TCR坐標(biāo)系統(tǒng)")設(shè)置正交坐標(biāo)系統(tǒng)。等式5給出交叉向量 0 440的方向。
交叉向量0=旋轉(zhuǎn)軸@傾斜軸 (5)
工具向量422的沿著傾斜軸156的分量通過等式6來表達(dá)且在圖9C中標(biāo)記為442(
工具向翼J0]=工具向罵幾器 傾斜軸 (6)
工具向量422的沿著交叉向量0 440方向的分量通過等式7來表達(dá)且在圖9C中標(biāo) 記為444。
工具向量^[1]=工具向量機(jī)器'交叉向量0 (7)
投影于傾斜軸與交叉向量0平面中的工具向量通過等式8來表達(dá)且在圖9C中標(biāo)記 為446
28投影T.具向量m-
工具向量^
/歸g 工具向量^[l]/廳g 0
(8)
其中
,g = V(工具向量rcJO])2 +(工具向量7^[1])
(9)
通過等式10來確定C軸158的旋轉(zhuǎn)角。 '投影工具向量^
、
旋轉(zhuǎn)角=arctan 2
(10)
、投影工具向量^m)
如本文中所提及的,通過方法426確定的分別用于b軸156和c軸158的傾斜角和 旋轉(zhuǎn)角僅為用于通用正交5軸機(jī)器的兩個可能解決方案中的一者。在方法428中選擇最 佳解決方案。
類型I數(shù)據(jù)的確定
在 一 個實施例中,方法42 8確定選擇用于旋轉(zhuǎn)角和傾斜角的所述解決方案中的哪一 者。在確定用于旋轉(zhuǎn)角和傾斜角的優(yōu)選解決方案中可考慮若千因素。示范性因素包括正 被確定的工具從上一命令位置到下一工具位置的內(nèi)插路徑和是否已選擇傾斜軸優(yōu)選。兩 個示范性內(nèi)插路徑包括(1)沿著工具位置之間的軌道內(nèi)插工具向量422和(2)在工具 位置之間線性地內(nèi)插機(jī)器旋轉(zhuǎn)角和傾斜角。在一個實施例中,內(nèi)插為線性內(nèi)插。
在一個實施例中,虛擬機(jī)器214進(jìn)一步包括用以在工具位置之間內(nèi)插最短角行程方 向的方法。此方法自動地應(yīng)用于類型4和類型3輸入工具位置。當(dāng)內(nèi)插類型l在作用中 時,也自動使用此方法。
通過傾斜軸優(yōu)選,操作者可強(qiáng)制虛擬運動學(xué)機(jī)器214將傾斜軸保持在機(jī)器奇異點的 任一側(cè)上。如圖21中所展示的,操作者可通過選擇輸入482或在零件程序內(nèi)選擇負(fù)傾 斜軸優(yōu)選、正傾斜軸優(yōu)選或沒有優(yōu)選(中性的)。操作者可簡單地指定優(yōu)選以使得機(jī)器 在可能時使用所述傾斜優(yōu)選或可強(qiáng)制優(yōu)選以使得機(jī)器不可使用另一傾斜軸方向(負(fù)的或 正的)。操作者或軟件控制器202可指定所需的或強(qiáng)制的傾斜軸優(yōu)選的一個應(yīng)用是當(dāng)正 相對于變換平面298 (見圖20)界定特征時。當(dāng)傾斜軸在圍繞奇異點的正方向和負(fù)方向 上具有高度不對稱的軸限制時和/或當(dāng)機(jī)器工作范圍在奇異點的一側(cè)上比另一側(cè)上大得
多時,所述傾斜軸優(yōu)選特征為有用的。當(dāng)工具的內(nèi)插路徑不具有任何利害關(guān)系時,用戶 還可強(qiáng)制虛擬運動學(xué)機(jī)器214使用指定的傾斜軸優(yōu)選側(cè)。
參看圖IIA,展示用于機(jī)床系統(tǒng)100的機(jī)器奇異點490。參看圖IIB,展示對應(yīng)于 正傾斜軸優(yōu)選的傾斜角。參看圖IIC,展示對應(yīng)于負(fù)傾斜軸優(yōu)選的傾斜角。在一個實施例中,方法428如下進(jìn)行。首先,如果啟動傾斜軸優(yōu)選,則選擇對應(yīng)于 優(yōu)選傾斜軸方向的解決方案且將所述旋轉(zhuǎn)角和傾斜角存儲作為第一解決方案。否則,如 果(1)輸入類型4數(shù)據(jù),(2)輸入類型3數(shù)據(jù),(3)最短角行程模式在作用中,或(4) 工具向量內(nèi)插在作用中,則通過以下方法確定最短角行程旋轉(zhuǎn)和傾斜軸角解決方案。
最短角行程方法
首先,如等式(11)和(12)中所表達(dá)而確定旋轉(zhuǎn)角的改變和傾斜角的改變。
A旋轉(zhuǎn)角1=下一旋轉(zhuǎn)角-上一旋轉(zhuǎn)角 (11)
其中
"A旋轉(zhuǎn)角1"為旋轉(zhuǎn)角的改變; "下一旋轉(zhuǎn)角"為所考慮的旋轉(zhuǎn)角;且 "上一旋轉(zhuǎn)角"為先前位置的旋轉(zhuǎn)角。
△傾斜角1=下傾斜角-上,斜角 (12) g巾
"A傾斜角1"為傾斜角的改變; "下一傾斜角"為所考慮的傾斜角;且 "上一傾斜角"為先前位置的傾斜角。 當(dāng)計算最短角行程解決方案時考慮三種情況
情況I-如果A旋轉(zhuǎn)角1>^
2
計算替代旋轉(zhuǎn)解決方案。
情況II-如果A旋轉(zhuǎn)角1<^
2
解決方案弁1為最短角行程解決方案。
情況III-如果A旋轉(zhuǎn)角1 = 2
2
在情況III中,所述旋轉(zhuǎn)軸角解決方案兩者為等距的;兩個解決方案均不為較短的。 在此情況下,考慮"A傾斜角"。確定替代角解決方案和與上一位置的角差 A傾斜角2=替代傾斜角-上一傾斜角 (13) g巾
"替代傾斜角"為替代角解決方案;
"A傾斜角2"為上一傾斜軸位置與替代角解決方案之間的差。
如果(A傾斜角l--A傾斜角2),則兩個解決方案為等距的,且選擇傾斜軸優(yōu)選選
30項,接著將傾斜角設(shè)定為解決方案弁l。否則,如果(A傾斜角^A傾斜角2),則選擇最 短傾斜軸解決方案且將其設(shè)定為等于解決方案弁1。
返回到類型l數(shù)據(jù)的確定,接下來,針對選定解決方案的旋轉(zhuǎn)和傾斜軸角確定前向 運動學(xué)以確定線性機(jī)器軸位置。通過零件矩陣堆棧280確定x軸和y軸的線性軸位置。 通過工具矩陣堆棧270確定z軸的線性軸位置。在一個實施例中,通過以下步驟來確定 線性軸位置將旋轉(zhuǎn)軸和傾斜軸對象位置設(shè)定為所選解決方案1或解決方案2;將所有 線性軸對象位置設(shè)定為零;以及重新計算零件和工具矩陣堆棧(2S0和270),計算前向 運動學(xué)以確定如由等式14和15表示的機(jī)器坐標(biāo)系統(tǒng)中的零件點和機(jī)器坐標(biāo)系統(tǒng)中的工 具尖端。
經(jīng)變換零件點,《=零件矩陣堆棧.前向變換(零件點WP) 經(jīng)變換工具尖端《=工具矩陣堆疊.前向變換(工具尖端* 點) △向量《=經(jīng)變換零件點《-經(jīng)變換工具尖端《 (14-16) "A向量"為經(jīng)變換零件點與經(jīng)變換工具尖端之間的差。此向量用于平移線性軸以 使工具接觸零件上的正確位置。廣義運動學(xué)庫210知曉各個軸270之間的相依性以及給 定軸是零件矩陣堆棧280的部分還是工具矩陣堆棧270的部分。
檢查所確定的旋轉(zhuǎn)和傾斜軸位置以及線性軸位置以確定其是否在預(yù)定區(qū)域內(nèi)。示范 性預(yù)定區(qū)域為受各個軸的極限約束的區(qū)域。如果軸位置中的任一者超出機(jī)器極限,則通 過I/O模塊206將錯誤報告給操作者。在一個實施例中,通過顯示器上的錯誤消息來報 告所述錯誤。在一個實施例中,如果滿足以下三個條件中的任一者,則報告錯誤(1) 機(jī)床系統(tǒng)上存在少于5個軸;(2)傾斜軸優(yōu)選在作用中且操作者已指定必須使用特定傾 斜軸方向(強(qiáng)制傾斜軸優(yōu)選);或(3)類型2輸入數(shù)據(jù)是提供到級聯(lián)方法400的最高次 序數(shù)據(jù)且工具向量內(nèi)插已斷開。否則,考慮解決方案弁2。 確定第二解決方案
對于機(jī)器位置不在機(jī)器奇異點490處的情形,可基于等式17和18而確定機(jī)床系統(tǒng) 100的替代或第二解決方案,
替代旋轉(zhuǎn)角=轉(zhuǎn)換到零到2PI(旋轉(zhuǎn)角+K)
替代傾斜角=(奇異傾斜角-傾斜角)+奇異傾斜角 (17, 18)
其中
"旋轉(zhuǎn)角"為用于解決方案1的旋轉(zhuǎn)角; "傾斜角"為用于解決方案1的傾斜角;且 "奇異傾斜角"為傾斜軸在奇異點處的角。相對于機(jī)器奇異點內(nèi)插
當(dāng)上一工具位置在機(jī)器奇異點490處時或當(dāng)從上一工具位置到下一工具位置的內(nèi)插 將導(dǎo)致主軸穿過機(jī)器奇異點490時,必須考慮穿過機(jī)器奇異點的內(nèi)插。在任一情形下, 由方法428調(diào)用內(nèi)插方法,所述內(nèi)插方法在本文中稱為圍繞機(jī)器奇異點內(nèi)插方法("MSP 內(nèi)插")。在一個實施例中,當(dāng)工具141圍繞機(jī)器奇異點490旋轉(zhuǎn)時,MSP內(nèi)插保持工具 141與工件接觸且相對于工件固定。
參看圖12A到圖12D,當(dāng)機(jī)床系統(tǒng)100的軸中的一者或一者以上移動時,工具141 保持與零件160接觸。在圖12A到圖12D中,零件160與工具141在圍繞機(jī)器奇異點 490的180度旋轉(zhuǎn)中保持接觸。在MSP內(nèi)插期間,工具141實質(zhì)上保持相對于工件160 固定。
當(dāng)滿足以下條件時,MSP內(nèi)插準(zhǔn)許方法428選擇解決方案弁l或解決方案#2,因為 MSP內(nèi)插可處理穿過機(jī)器奇異點490的主軸線139:如果以下各者中的任一者為真,則
可使用MSP內(nèi)插(1)提供類型4輸入數(shù)據(jù);(2)提供類型3輸入數(shù)據(jù);(3)最短角
行程選項在作用中;或(4)工具向量內(nèi)插在作用中。
在第一情況下(圖13A到圖13C),上一工具位置在機(jī)器奇異點490處且下一工具 位置不在機(jī)器奇異點490處。在傾斜軸優(yōu)選在作用中的情況下,如果對應(yīng)于優(yōu)選傾斜軸 側(cè)的解決方案在機(jī)器極限內(nèi),則選擇所述解決方案。必要時,方法428將調(diào)用MSP內(nèi) 插以在上一工具位置到下一工具位置之間線性地內(nèi)插工具向量。在此情形下,接著使用 傾斜軸優(yōu)選解決方案從機(jī)器奇異點490到下一工具位置進(jìn)行內(nèi)插。
在第二情況下,其中預(yù)期旋轉(zhuǎn)軸158的零度旋轉(zhuǎn);解決方案1傾斜軸在奇異點到上 一工具位置的相對側(cè)上且如圖14A到圖14C中所說明的,解決方案1傾斜軸角不在傾 斜軸優(yōu)選側(cè)上。參看圖14B,由用于上一位置的工具向量和用于下--位置(解決方案1) 的工具向量界定的平面492圍繞坐標(biāo)系統(tǒng)原點且包括與機(jī)器奇異點490重合的工具向
在此情況下,假定解決方案2在機(jī)器極限內(nèi),則所述方法將選擇解決方案2以保持 傾斜軸在優(yōu)選側(cè)上。接著,如圖15A到圖15C屮所說明的,所述方法從上-一位置454 到機(jī)器奇異點490內(nèi)插工具向量(圖15A),接著使用MSP內(nèi)插圍繞機(jī)器奇異點490旋 轉(zhuǎn)(圖15B),且接著使用解決方案2從機(jī)器奇異點490到下一工具位置458內(nèi)插工具 向量(圖15C)。
在第三情況下,如圖16A和圖16B中所展示的,解決方案1具有旋轉(zhuǎn)軸158的180 度旋轉(zhuǎn),且解決方案1傾斜軸在機(jī)器奇異點的與上一工具位置相同的一側(cè)上。在此情況
32下,結(jié)果依據(jù)用于解決方案1的傾斜軸角是否在傾斜軸優(yōu)選側(cè)上而改變。如果用于解決 方案1的傾斜軸角在傾斜軸優(yōu)選側(cè)上,則方法將從上一位置到機(jī)器奇異點490內(nèi)插,接 著調(diào)用MSP內(nèi)插,隨后從機(jī)器奇異點490到對應(yīng)于解決方案1的下 -工具位置內(nèi)插工 具向量。這是本文中在圖15A到圖15C中說明且在圖17A和圖17B中展示的概念。
如果用于解決方案1的傾斜軸角不在傾斜軸優(yōu)選側(cè)上,則方法將選擇解決方案2且 不必圍繞奇異點旋轉(zhuǎn)。這在圖17C中加以說明。
在第四情況下(圖18A到圖18C),其中先前三種情況均不適用,解決方案1具有 旋轉(zhuǎn)軸158的任何其它旋轉(zhuǎn)且傾斜軸角不在機(jī)器奇異點4卯的與上一位置相同的一側(cè) 上。在此情況下,選擇解決方案2,否則工具向量將不會內(nèi)插相對于工件的正確軌道, 因為解決方案1將內(nèi)插移動穿過奇異點的工具。
一旦確定正確的解決方案,如果選擇內(nèi)插且內(nèi)插尚未在作用中,則通過內(nèi)插來確定 從上一位置到下'位置的移動。在如本文中所描述的一些情況下,此移動包括工具向量 穿過機(jī)器奇異點。在本文中還描述的其它情形下,此移動不包括工具向量穿過機(jī)器奇異 點。 一旦完成內(nèi)插,便將作為類型I數(shù)據(jù)408的位置提供到級聯(lián)方法400中的方法430。
內(nèi)插穿過機(jī)器奇異點的工具向量
在如本文中所描述的情況下(其中從上一工具位置到下一工具位置的移動包括工具 向量穿過機(jī)器奇異點490),實施以下方法。通過此方法內(nèi)插的路徑使工具圍繞機(jī)器奇異 點490旋轉(zhuǎn)以使得工具尖端和工具向量相對于工件坐標(biāo)系統(tǒng)282保持固定。當(dāng)滿足以下 條件時使用所述方法(1)工具向量內(nèi)插在作用中;(2)先前已設(shè)定上一位置機(jī)器位置; 以及(3)旋轉(zhuǎn)軸158存在于機(jī)器中。
所述方法遵循以下步驟。首先,確定上一位置傾斜角是否等于機(jī)器奇異點傾斜角。 如果否,則通過在機(jī)器奇異點490處界定中間位置而從上一位置到機(jī)器奇異位置點內(nèi)插 運動,如下所述。通過經(jīng)由級聯(lián)方法400發(fā)送中間機(jī)器奇異位置而進(jìn)行所述內(nèi)插。接著 從上一位置到機(jī)器奇異點4卯處所界定的中間位置內(nèi)插運動。接著在機(jī)器奇異點490處 執(zhí)行旋轉(zhuǎn)。最后,接著從機(jī)器奇異點處的中間位置到下一位置490內(nèi)插運動。在從上一 位置到機(jī)器奇異點處的中間位置和從機(jī)器奇異點處的中間位置到下一位置內(nèi)插的情況 下,實施本文中所論述的內(nèi)插方法級2或級1與級2。
機(jī)器奇異點處的中間位置的識別及其內(nèi)插
對于類型4輸入數(shù)據(jù),如果(角上一與下一表面法線-O),則用于前一位置的表面 法線向量與用于下一內(nèi)插位置的表面法線向量共線。"角上一與下一表面法線"基于以 下等式中的關(guān)系。
33角上一與下一表面法線^arccos(上一表面法線,下一表面法線)
如果(角上一與下一表面法線邦),則用于前一位置的表面法線向量與用于下一內(nèi) 插位置的表面法線向量不共線。
基于以下等式中所展示的關(guān)系而提供用于機(jī)器奇異位置的表面法線向量。
奇異表面法線=圍繞交叉向敦旋轉(zhuǎn)(上一表面法線表面法線旋轉(zhuǎn)角 其中
"交叉向:動"為前一位置表面法線向量將圍繞其旋轉(zhuǎn)的向量,其基于等式(19)中 的關(guān)系而確定,
交叉向量2 =
上一表面法線 下一表面法線
(19)
上一表面法線 下一表面法線
且"表面法線旋轉(zhuǎn)角"為基于等式20屮的關(guān)系的角旋轉(zhuǎn)量值, lAll、
表面法線旋轉(zhuǎn)角=
其中
△3
*角上--與下一表面法線
(20)
A bA奇異到上一傾斜角-上一傾斜角-奇異傾斜角 么2=么奇異到下一傾斜角=下一傾斜角-奇異傾斜角
△ 3=A總傾斜角行程=1 A奇異到上一傾斜角l+l A奇異到下一傾斜角l (21-23) 基于以下等式而確定用于機(jī)器奇異位置的表面接觸點。
'lAll、
奇異表面脈動=上一表面點+
A3
*(下一表面點-上一表面點)(24)
"奇異表面法線"、"奇異表面點"和"工具向量"界定機(jī)器奇異點處相對于工件的 中間位置。在級聯(lián)方法400中將對應(yīng)于機(jī)器奇異點490的中間位置發(fā)送到類型4輸入。 現(xiàn)可如本文中所論述而內(nèi)插從上 一 位置到機(jī)器奇異點的移動。
在未提供類型4數(shù)據(jù)的情況下,如下確定中間機(jī)器奇異點。如果(角上一與下一工 具向量=0),則用于前一位置的工具向量與用于下一內(nèi)插位置的工具向量共線。"角上一 與下一工具向量"基于等式25中的關(guān)系。
角上一與下一工具向量=arccos(上一工具向量,下一工具向量 。5) 如果(角上一與下'工具向量#0),則用于前一位置的工具向量與用于下一內(nèi)插位 置的工具向量不共線。
基于等式26中所展示的關(guān)系而提供用于機(jī)器奇異位置的工具向量,
34奇異工具向量=圍繞交叉向量旋轉(zhuǎn)(上一工具向量工具向量旋轉(zhuǎn)角(26) 其中
"交叉向量l"為前一位置工具向量將圍繞其旋轉(zhuǎn)的向量,其基于等式27中的關(guān)系 而確定,
父
叉向量l
上一工具向量@下一工具向量
上一工具向量@下一工具向量
(27)
且"工具向量旋轉(zhuǎn)角"為基于等式28中的關(guān)系的角旋轉(zhuǎn)量值,
工具向量旋轉(zhuǎn)角=
其中
A3
*角上一與下一工具向量 (28)
A 1=A奇異到上一傾斜角-上一傾斜角-奇異傾斜角 A2二A奇異到下一傾斜角-下一傾斜角-奇異傾斜角
A 3= △總傾斜角行程=1 A奇異到上 -傾斜角l+l A奇異到下一傾斜角I (29-31) 基于等式32而確定用于機(jī)器奇異位置的工具尖端位置。
'lAll、
奇異丁,具尖端=上一工具尖端+
△3
:(下一工具尖端—上一工具尖端)(32)
"奇異工具尖端"和"奇異工具向量"界定機(jī)器奇異點處相對于工件的中間位置。
在級聯(lián)方法400中將對應(yīng)于機(jī)器奇異點的中間位置發(fā)送到類型3輸入?,F(xiàn)可如本文中所 論述而內(nèi)插從上一位置到機(jī)器奇異點的移動。 圍繞機(jī)器奇異點的旋轉(zhuǎn)
一旦從上一位置到機(jī)器奇異位置內(nèi)插工具位置,則下一步驟為使工具和/或零件圍繞 機(jī)器奇異點旋轉(zhuǎn)。確定用以使工具和/或零件圍繞機(jī)器奇異點旋轉(zhuǎn)的內(nèi)插步驟的數(shù)目。在 一個實施例中,使用圍繞機(jī)器奇異點旋轉(zhuǎn)的工具尖端的弦向誤差的測量來確定內(nèi)插步驟 的數(shù)目。在一個實施例中,使用固定遞增來確定內(nèi)插步驟的數(shù)目。示范性固定遞增為固 定角遞增。
內(nèi)插步驟的數(shù)目-弦向誤差
機(jī)器奇異位置處的工具尖端到旋轉(zhuǎn)軸中心線的垂直徑向距離經(jīng)界定為"旋轉(zhuǎn)徑向距 離"。如本文中所論述而確定"旋轉(zhuǎn)徑向距離"。
內(nèi)插為線性內(nèi)插?;趶牟僮髡咚邮盏南蚁蛘`差公差494 (見圖21)而確定位置 的數(shù)目。圖19中展示弦向誤差公差和其與弧角的關(guān)系。通過以下方法耦合迭代數(shù)目。假定滿足等式A中所提供的關(guān)系,
(旋轉(zhuǎn)徑向距離> 0且旋轉(zhuǎn)徑向距離》弦向誤差且lA41 > 0) 則通過等式34確定迭代數(shù)目,
(33)
<formula>formula see original document page 36</formula>弦向誤差
(34)
、、 .旋轉(zhuǎn)徑向距離,
其中
ceil()函數(shù)上舍入到下一整數(shù); "弦向誤差"為操作者指定的公差;
A4-最短角行程(下一旋轉(zhuǎn)角-上一旋轉(zhuǎn)角) (35), 其中函數(shù)"最短角行程()"返冋兩個角位置之間的角差,其小于或等于180度。如 果不滿足等式33中的關(guān)系,則內(nèi)插方法將迭代數(shù)目設(shè)定為1。 內(nèi)插步驟的數(shù)目-固定角步長
在一個實施例中,操作者可基于固定角步長496、 498 (見圖21)而指定內(nèi)插步驟 的數(shù)目。示范性角步長包括約每隔十分之一度。這以等式36來表示, ' A4 )
#迭代="'7
(36)
、固定旋轉(zhuǎn)角步長,
其中項"固定旋轉(zhuǎn)角步長"對應(yīng)于所指定的角步長。否則,將迭代數(shù)目設(shè)定為l。 一旦已確定迭代數(shù)目,則機(jī)床系統(tǒng)100圍繞機(jī)器奇異點旋轉(zhuǎn)。為了圍繞機(jī)器奇異點 旋轉(zhuǎn),改變各個軸的位置中的一者或一者以上。對于每一迭代,將傾斜角固定為奇異點 傾斜角,知曉旋轉(zhuǎn)角,且通過級聯(lián)方法400確定線性軸的位置。
在一個實施例中,如等式37中所表示而將"當(dāng)前旋轉(zhuǎn)角"設(shè)定為等于前一旋轉(zhuǎn)角 且通過等式38提供角步長(e^長)。
當(dāng)前旋轉(zhuǎn)角=上 一位置旋轉(zhuǎn)角 (37) △4
^步長弁迭代
(38)
應(yīng)注意,角歩長(e^)小于或等于由操作者指定的"固定旋轉(zhuǎn)角步長"。 接下來,在循環(huán)中確定用于每一位置的旋轉(zhuǎn)角和工具尖端位置。將"機(jī)器奇異位置
工具向量"、"工具尖端"、"傾斜角"和"當(dāng)前旋轉(zhuǎn)角"提供到級聯(lián)方法400以確定線性
軸的位置。如果所有計算出的軸位置均在機(jī)器極限內(nèi),則存儲所述位置以供輸出。如果
一位置在機(jī)器極限外部,則刪除所有所確定的位置且通過反轉(zhuǎn)步長角、確定新的A4和重新計算迭代數(shù)目而試圖在另一方向(即,用于等式35的A4的較長角行程)上圍繞機(jī) 器奇異位置旋轉(zhuǎn)。在以下兩個條件下基于先前A4的值而確定新的A4
如果(A4先b〈0),貝U A4 a=A4先前+2兀;或
如果(A4先前〉0)'貝'J A4新=厶4先前-2兀。
請注意,A4不可等于零;否則,將不存在圍繞奇異點的旋轉(zhuǎn)。如果此嘗試由于一 位置在機(jī)器極限外部而失敗,則兩個內(nèi)插方向均不可執(zhí)行且方法拋出機(jī)器超出極限的錯 誤消息。
最后,假定圍繞機(jī)器奇異點490的旋轉(zhuǎn)已成功,則通過級聯(lián)方法400發(fā)送下一位置, 且內(nèi)插從中間機(jī)器奇異位置到下一位置的移動。 從第 一 位置到第二位置的內(nèi)插
在貫穿本發(fā)明的若干位置處,提到從第一位置(例如上一位置)到第二位置(例如 機(jī)器奇異位置處的中間位置)內(nèi)插移動。以下兩級內(nèi)插方法是用于從第一位置到第二位 置內(nèi)插的示范性方法。所述兩級內(nèi)插方法包括第一級,借此從對應(yīng)于第一位置的第一工 具向量422A到對應(yīng)于第二位置的第二工具向量422B內(nèi)插工具向量。(參看圖24和圖 25)
級弁l-工具向量內(nèi)插
在此級中,相對于工件坐標(biāo)系統(tǒng)282在第--位置與第二位置之間內(nèi)插工具向量。雖 然線性內(nèi)插系統(tǒng)經(jīng)揭示為具有軟件控制器202的面向?qū)ο笤O(shè)計,但可使所述線性內(nèi)插系 統(tǒng)過載以使用樣條、非均勻有理B樣條(NURBS)或任何其它內(nèi)插方案。另外,此級 為可選級,且操作者或主機(jī)軟件應(yīng)用程序215可選擇簡單地略過級射且直接進(jìn)行到級弁2。
對于工具向量的線性內(nèi)插,工具向量方向?qū)⒃诠ぞ呶恢?第一位置與第二位置)之 間內(nèi)插穿過圍繞坐標(biāo)系統(tǒng)原點的平面(見圖25)。圖24和圖25中展示三個示范性內(nèi)插 工具向量位置1.1、 1.2和1.3。提供用以確定所述兩個工具位置之間的內(nèi)插步驟的數(shù)目 的兩個示范性方法。
用以確定內(nèi)插步驟的數(shù)目的第一示范性方法使用固定角步長。操作者提供用于兩個 工具位置之間的工具向量的所需角步長501 (見圖21)。從等式39中的關(guān)系來確定內(nèi)插 迭代數(shù)目
#迭代=ceil
srccos
,下一工具向量,上一工具向量
最大角步長
(39)
其中"弁迭代"為迭代數(shù)目;
"下一工具向量"為第二工具位置工具向量的方向上的單位向量; "上- 工具向量"為第-工具位置工具向量的方向上的單位向量;且 "最大角步長"為所需的角步長。
如果針對所述兩個工具位置兩者提供了類型3數(shù)據(jù),則使用等式39。如果針對所述 兩個工具位置兩者提供了類型4數(shù)據(jù),則基于等式40和41而確定"弁迭代"。
弁迭代表面法線-ceil
arccos下一表面法線 上一表面法線
最大角步長
(40, 41)
#迭代=013)^#迭代,弁迭代表面法線)
其中
"#迭代表面法線"為基于表面法線的迭代數(shù)目;
"上一表面法線"為用于第一位置的表面法線的方向上的單位向量; "下一表面法線"為用于第二位置的表面法線的方向上的單位向量;且 "最大角步長"為所需的角步長。
接著,將迭代數(shù)目選擇為等式39和等式40中所確定的迭代數(shù)目中的較大者,如等 式41所表示的。
用以確定內(nèi)插步驟的數(shù)目的第二示范性方法使用所需的時間步長。操作者提供用于 兩個工具位置之間的工具向量的所需時間步長503 (見圖21)。從等式42中的關(guān)系確定
內(nèi)插迭代數(shù)目
從上一到下一的時間步長=獲取位置之間的最小時間步長(上一位置,下一位置,工件 相對饋送速率) (42) g巾
"從上一到下一的時間步長"為零件程序中所指定的從上一位置到下一位置的時間 步長;
"上一位置"對應(yīng)于第一位置; "下-位置"對應(yīng)于第二位置;且
"工件相對饋送速率"對應(yīng)于零件程序中所指定的工具尖端相對于工件的饋送速率。 函數(shù)"獲取位置之間的最小時間步長"確定兩個工具位置之間的線性內(nèi)插軸速度, 且如果原始饋送速率違反軸最大速度中的任一者,則將時間步長且因此將饋送速率箝位 為最大軸速度。所述函數(shù)返回用于移動的箝位時間步長。然而,此時間戳僅為最終時間步長的近似值,因為工具向量的線性內(nèi)插將不可避免地改變機(jī)器軸內(nèi)插,這可能增加計 算出的線性內(nèi)插移動的時間步長。當(dāng)計算工具路徑內(nèi)插位置時,工具位置級聯(lián)中的類型 弁l位置輸入將計算和箝位用于每一內(nèi)插位置的實際最終時間步長和饋送速率。最后,逋 過等式(43)中的關(guān)系來提供迭代數(shù)目,
弁迭代-ceil
從上一到下一的時間步長
(43)
. 最大時間步長 . 其中
"弁迭代"為迭代數(shù)目;且
"最大時間步長"對應(yīng)于由操作者輸入?yún)?shù)指定的內(nèi)插時間步長。 一旦確定了迭代數(shù)目,便確定內(nèi)插工具向量和對應(yīng)的內(nèi)插工具位置。通過級聯(lián)方法
400發(fā)送內(nèi)插工具向量和對應(yīng)的內(nèi)插工具位置中的每一者以確定用于內(nèi)插位置的軸中的
每一者的位置。
在一個實施例中,用以下方式內(nèi)插工具向量和工具位置。通過等式(44)中所展示 的關(guān)系來確定前一位置與下一內(nèi)插位置之間的角。
角上一與下一工具向量arccos(上一工具向量,下一工具向量) (44)
其中
"角上一與下一工具向量"為前一位置與下一內(nèi)插位置之間的角; "上一工具向量"為用于前一位置的工具向量;且 "下 一 工具向量"為用于下 一 內(nèi)插位置的工具向量。 工具向量的內(nèi)插
如果(角上一與下一工具向量=0),則用于前一位置的工具向量與用于下一內(nèi)插位 置的工具向量共線。如果(角上一與下一工具向量#0),則用于前一位置的工具向量與 用于下 一 內(nèi)插位置的工具向量不共線。
基于等式(45)中的關(guān)系而確定前一位置工具向量將圍繞其旋轉(zhuǎn)的向量,
交叉向量l-
上一工具向量@下一工具向量
(45)
上一工具向量@下一工具向量 其中"交叉向量l"為在內(nèi)插工具位置時前一位置工具向量將圍繞其旋轉(zhuǎn)的向量(在
工件坐標(biāo)中);
"上一工具向量"為用于前一位置的工具向量;且
"下'工具向量"為用于下一內(nèi)插位置的工具向量。
39假定已提供類型4數(shù)據(jù),則對表面法線完成類似運用
角上一與下一表面法線=arccosl上一表面法線 下一表面法線〗(46)3巾
"角上 一 與卜 一 表面法線"為前 一 位置表面法線與K 一內(nèi)插位置表面法線之間的角;"上一表面法線"為用于前一位置的表面法線;且"下一表面法線"為用于下一內(nèi)插位置的表面法線。
如果(角上一與下一表面法線=0),則用于前一位置的表面法線向量與用于下一內(nèi)插位置的表面法線向量共線。如果(角上一與下一表面法線邦),則用于前一位置的表面法線向量與用于下一內(nèi)插位置的表面法線向量不共線。
基于等式(47)中的關(guān)系而確定前一位置表面法線向量將圍繞其旋轉(zhuǎn)的向量,
交叉向量2-上一表面法線⑧下一表面^^ (47)
上一表面法線@下一表面法線
其中"交叉向量2"為在內(nèi)插工具位置時前一位置表面法線向量將圍繞其旋轉(zhuǎn)的向量(在工件坐標(biāo)中);
"上一表面法線"為用于前一位置的表面法線向量;且"下一表面法線"為用于下一內(nèi)插位置的表面法線向量。
通過知曉"交叉向量l",可確定內(nèi)插工具向量和內(nèi)插工具尖端位置(工具底部中心)。對于(角上一與下一工具向量=0)的每一迭代,如等式48中所指示的,將內(nèi)插工具向
量設(shè)定為等于前一位置的工具向量。
內(nèi)插工具向量=下一工具向量(48)
如果對于給定迭代(角上一與下一工具向量邦),則基于等式49中的關(guān)系而確定內(nèi)插工具向量,
內(nèi)插工具向量=圍繞交叉向量J旋轉(zhuǎn)(上一工具向量,工具向量旋轉(zhuǎn)角)(49)其中
"內(nèi)插工具向量"對應(yīng)于所內(nèi)插的工具向量;
"工具向量旋轉(zhuǎn)角"為工具向量將被旋轉(zhuǎn)的角且基于等式50中的關(guān)系而確定;且"圍繞交叉向量1旋轉(zhuǎn)"為使上一工具向量圍繞交叉向量1旋轉(zhuǎn)通過等于"工具向量旋轉(zhuǎn)角"的值的角的函數(shù)。
基于等式50中的關(guān)系而確定"工具向量旋轉(zhuǎn)角"。
40工具向量旋轉(zhuǎn)角=
*角上一與下一工具向量(50)
、弁迭代,
基于等式(51)屮所提供的關(guān)系而確定內(nèi)插工具尖端,
內(nèi)插工具尖端=上-一工具尖端+
*(下一工具尖端—上一工具尖端)(51)
、弁迭代,
"內(nèi)插工具尖端"和"內(nèi)插工具向量"對應(yīng)于用于內(nèi)插工具尖端和內(nèi)插工具向量的類型3數(shù)據(jù)。將此數(shù)據(jù)輸入到級聯(lián)方法400中以確定各個軸的位置。
在一個實施例中(其中提供類型4數(shù)據(jù)),用以下方式內(nèi)插表面法線向量和表面點位置。通過等式(46)中所展示的關(guān)系確定前一位置的表面法線與下一內(nèi)插位置的表面法線之間的角("角.卜. 一 與下 一 表面法線")。
如果對于給定迭代"角上--與下一表面法線"等于零,則如等式52中所指示的,將內(nèi)插表面法線向量設(shè)定為等于前-位置的表面法線向量。
內(nèi)插表面法線=下一表面法線 (52)如果對于給定迭代(角上一與下一表面法線^)),則基于等式(53)中的關(guān)系而確定內(nèi)插表面法線向量,
內(nèi)插表面法線=圍繞交叉向*2旋轉(zhuǎn)(上一表面法線表面法線旋轉(zhuǎn)角)(53)其中
"內(nèi)插表面法線"對應(yīng)于所內(nèi)插的表面法線向量;
"表面法線旋轉(zhuǎn)角"為表面法線向量將被旋轉(zhuǎn)的角且基于等式54中的關(guān)系而確定;
且
"圍繞交叉向量2旋轉(zhuǎn)"為使"上一表面法線"圍繞交叉向量2旋轉(zhuǎn)通過等于"表面法線旋轉(zhuǎn)角"的值的角的函數(shù)。
基于等式54中的關(guān)系而確定"表面法線旋轉(zhuǎn)角"
表面法線旋轉(zhuǎn)角=
卜角上一與下一表面法線
.#迭代
基于等式55中所提供的關(guān)系而確定內(nèi)插表面點
/■ \1
(54)
內(nèi)插表面點=上一表面點+
弁迭代.
*(下一表面點-上一表面點)(55)
"內(nèi)插表面點"和"內(nèi)插表面法線"對應(yīng)于用于內(nèi)插表面接觸點和內(nèi)插表面法線向:的類型4數(shù)據(jù)。將此數(shù)據(jù)輸入到級聯(lián)方法400中以確定各個軸的位置。級2內(nèi)插一旦通過級聯(lián)方法400確定了機(jī)器位置,則不管其是基于"內(nèi)插工具尖端"和"內(nèi)插工具向量"還是基于"內(nèi)插表面點"和"內(nèi)插表面法線",均執(zhí)行第二內(nèi)插級。第二級內(nèi)插確定是否應(yīng)確定另一內(nèi)插,且基于兩種方法(1)公差方法和(2)固定角步長方法中的一者。在任 -內(nèi)插方法中,在工件坐標(biāo)系統(tǒng)中內(nèi)插工具尖端。再一次,雖然線性內(nèi)插系統(tǒng)經(jīng)呈現(xiàn)為具有軟件控制器202的面向?qū)ο笤O(shè)計,但可用其它示范性內(nèi)插系統(tǒng)替代所述線性內(nèi)插系統(tǒng)。示范性內(nèi)插系統(tǒng)為樣條、NURBS或任何其它合適的內(nèi)插方案。
基于公差的示范性內(nèi)插系統(tǒng)基于與B軸和C軸相關(guān)聯(lián)的弦向誤差。分別在等式56和57中給出B軸和C軸的角改變。
A5-(下一傾斜角-上一傾斜角) (56)
A4二(下一旋轉(zhuǎn)角-上一旋轉(zhuǎn)角) (57)
對于弦向誤差公差方法,使用圍繞旋轉(zhuǎn)和傾斜軸中心線移動的工具尖端的弦向誤差來計算內(nèi)插點的數(shù)Q。如等式58中所表示的,選擇用于上一位置和下一位置的從工具尖端到C軸的最大垂直徑向距離,
最大旋轉(zhuǎn)徑向距離-max(旋轉(zhuǎn)徑向距離l,旋轉(zhuǎn)徑向距離2) (58)
其中
"旋轉(zhuǎn)徑向距離1"為上一位置(此可為級弁1工具向量內(nèi)插方法中所計算的上一位置)的工具尖端到旋轉(zhuǎn)軸屮心線的垂直徑向距離;且
"旋轉(zhuǎn)徑向距離2"為下一位置(此可為級#1工具向量內(nèi)插算法中所計算的下一位置)的工具尖端到旋轉(zhuǎn)軸中心線的垂直徑向距離。
如等式59中所表示的,以類似方式選擇用于上一位置和下一位置的從工具尖端到B軸的最大垂直徑向距離,
最大傾斜徑向距離^max(傾斜徑向距離l,傾斜徑向距離2) (59)
"傾斜徑向距離1"為上一位置(此可為級弁1工具向量內(nèi)插方法中所計算的上一位置)的工具尖端到傾斜軸中心線的垂直徑向距離;且
"傾斜徑向距離2"為上一位置(此可為級弁l工具向量內(nèi)插方法中所計算的下一位置)的工具尖端到傾斜軸中心線的垂直徑向距離。
基于本文中在"計算工具尖端到旋轉(zhuǎn)軸中心線的徑向距離"部分中所論述的方法而確定距離"旋轉(zhuǎn)徑向距離1"、"旋轉(zhuǎn)徑向距離2"、"傾斜徑向距離1"和"傾斜徑向距離2"。
所述內(nèi)插為在由用戶指定的弦向誤差公差內(nèi)的線性內(nèi)插。所述弦向誤差公差在圖19中表示。所述方法確定是否需要額外內(nèi)插或級1中所確定的內(nèi)插數(shù)目是否滿足所需公差。
42檢査旋轉(zhuǎn)軸(C軸)和傾斜軸(B軸)兩者。
關(guān)于旋轉(zhuǎn)軸,如果等式60中的關(guān)系為真,則可能需要額外內(nèi)插, (最大旋轉(zhuǎn)徑向距離>0且最大旋轉(zhuǎn)徑向距離^弦向誤差且IA4I>0) 如果等式60中的關(guān)系為真,則基于等式61而確定迭代數(shù)目。
(60)
弁旋轉(zhuǎn)迭代ce!'Z
△4
2水
肌cosl 1.
弦向誤差
(61)
、、.最大旋轉(zhuǎn)徑向距離, 否則,如等式62中所表示的,將迭代數(shù)目設(shè)定為等于1。通過將迭代數(shù)目設(shè)定為1, 不需要額外內(nèi)插,因為下 一迭代對應(yīng)于來自級1的下一位置。
#旋轉(zhuǎn)迭代=1 (62) 關(guān)于傾斜軸,如果等式63中的關(guān)系為真,則可能需要額外內(nèi)插。 (最大傾斜徑向距離>0且最大傾斜徑向距離2弦向誤差且IA5IX)) (63) 如果等式63中的關(guān)系為真,則基于等式64而確定迭代數(shù)目。
弁傾斜迭代="!7
2沐
arccos
1
弦向誤差
(64)
、、. 最大旋轉(zhuǎn)徑向距離, 否則,如等式65中所表示的,將迭代數(shù)目設(shè)定為等于1。通過將迭代數(shù)目設(shè)定為1, 不需要額外內(nèi)插,因為下一迭代對應(yīng)于來自級1的下一位置。
#傾斜迭代=1 (65) 假定B軸和C軸中的至少一者的迭代數(shù)目不為1,則確定額外的內(nèi)插位置。如等式 66所表示的,迭代數(shù)目為針對B軸和C軸所確定的迭代數(shù)目中的較大者。 弁迭代-max(弁旋轉(zhuǎn)迭代,#傾斜迭代) (66) 等式67到69指示內(nèi)插位置之間的改變,且將初始位置設(shè)定為"上一位置"并通過 等式70到72確定內(nèi)插位置。
A工具尖端wf(下一工具尖端wp-上一工具尖端wp)/弁迭代 (6" △旋轉(zhuǎn)角=(下一旋轉(zhuǎn)角《-上一旋轉(zhuǎn)角《)/#迭代 (68) △傾斜角=(卜一傾斜角《-上一傾斜角機(jī)器)/弁迭代 (69) 內(nèi)插工具尖端wf上一工具尖端wp (70) 內(nèi)插旋轉(zhuǎn)角《=上一旋轉(zhuǎn)角機(jī)器 (71) 內(nèi)插傾斜角機(jī)器=上一傾斜角機(jī)器 (72)接著,如等式73到75中針對第一中間位置所表示的,通過將來自等式67到69的
額外改變值相加到等式70到72中的值而確定中間位置。
內(nèi)插工具尖端w產(chǎn)內(nèi)插工具尖端WP+A工具尖端wp (73) 內(nèi)插旋轉(zhuǎn)角機(jī)F內(nèi)插旋轉(zhuǎn)角機(jī)器+A旋轉(zhuǎn)角 (74) 內(nèi)插傾斜角機(jī)器=內(nèi)插傾斜角機(jī)器+^傾斜角 (75) 一旦通過等式73到75確定了內(nèi)插位置,便將所述數(shù)據(jù)作為類型2輸入提供到級聯(lián)
方法400以確定對應(yīng)的機(jī)器位置。
基于角步長的示范性內(nèi)插系統(tǒng)基于由操作者指定的角步長。關(guān)于角步長,如果等式
76中的關(guān)系為真,則需要相對于旋轉(zhuǎn)軸的額外內(nèi)插。
(H > 0) (76) 如果等式76中的關(guān)系為真,則基于等式77而確定迭代數(shù)目。
弁旋轉(zhuǎn)迭代="d^狄) (77)
、固定旋轉(zhuǎn)角步長y1
否則,如等式78中所表示的,將迭代數(shù)冃設(shè)定為等于1。通過將迭代數(shù)目設(shè)定為1, 除非傾斜軸指示需要額外內(nèi)插,否則不需要額外內(nèi)插,因為下一迭代對應(yīng)于來自級1的 下一位置。
#旋轉(zhuǎn)迭代=1 (78) 關(guān)于角步長,如果等式79中的關(guān)系為真,則需要相對于傾斜軸的額外內(nèi)插。 QA5| > 0) (79) 如果等式79中的關(guān)系為真,則基于等式80確定迭代數(shù)目。
#傾斜迭代=ceil
A5 、 (80)
、固定旋轉(zhuǎn)角步長J
否則,如等式TT中所表示的,將迭代數(shù)目設(shè)定為等于1。通過將迭代數(shù)目設(shè)定為1, 除非旋轉(zhuǎn)軸指示需要額外內(nèi)插,否則不需要額外內(nèi)插,因為下一迭代對應(yīng)于來自級1的 下一位置。
#傾斜迭代=1 (81)
假定B軸和C軸中的至少一者的迭代數(shù)目不為1,則確定額外內(nèi)插位置。如等式82
表示的,迭代數(shù)目為針對B軸和C軸所確定的迭代數(shù)目中的較大者。
#迭代二max(弁旋轉(zhuǎn)迭代,弁傾斜迭代) (82) 通過等式83到85指示內(nèi)插位置之間的改變,且將初始位置設(shè)定為來自級1的兩個
位置中的第一位置,所述兩個位置如等式86到88所表示而內(nèi)插?!鞴ぞ呒舛薟P=(卜'一工具尖端wp-上一工具尖端wp)/弁迭代 (83)
A旋轉(zhuǎn)角=(下一旋轉(zhuǎn)角機(jī)器-上一旋轉(zhuǎn)角機(jī)器)/弁迭代 (84)
△傾斜角=(下--傾斜角機(jī)器-上一傾斜角機(jī)器)/#迭代 (85)
內(nèi)插工具尖端wp-上一工具尖端wp (86)
內(nèi)插旋轉(zhuǎn)角機(jī)器=上一旋轉(zhuǎn)角機(jī)器 (87)
內(nèi)插傾斜角機(jī)器=上 一傾斜角機(jī)s (88) 接著,如等式89到91中針對第一中間位置所表示的,通過將來自等式83到85的 額外改變值相加到等式86到88中的值而確定中間位置。
內(nèi)插工具尖端wp-內(nèi)插工具尖端WP+A工具尖端wp (89)
內(nèi)插旋轉(zhuǎn)角機(jī)s-內(nèi)插旋轉(zhuǎn)角機(jī)器+A旋轉(zhuǎn)角 (90)
內(nèi)插傾斜角《 =內(nèi)插傾斜角《+△傾斜角 (91)
一旦通過等式89到91確定內(nèi)插位置,便將所述數(shù)據(jù)作為類型2輸入提供到級聯(lián)方 法400以確定對應(yīng)的機(jī)器位置。
計算工具尖端到旋轉(zhuǎn)軸中心線的徑向距離
此方法針對存儲在軸對象中的當(dāng)前機(jī)器位置計算工具尖端到機(jī)器的旋轉(zhuǎn)和傾斜軸 中心線的垂直徑向距離。本文中在級2內(nèi)插方法和圍繞機(jī)器奇異點的內(nèi)插中使用所述方 法。
所述方法將相對于主軸零坐標(biāo)系統(tǒng)的工具尖端遞增地變換成每一軸的坐標(biāo)系統(tǒng)。變 換方向為從工具尖端朝向工件坐標(biāo)系統(tǒng)。在遞增變換過程期間,在當(dāng)前變換點在旋轉(zhuǎn)軸 的坐標(biāo)系統(tǒng)中時,計算垂直徑向距離。在所說明的實例中,機(jī)床系統(tǒng)ioo具有單個傾斜 軸和單個旋轉(zhuǎn)軸。
如等式92表示的,將當(dāng)前點設(shè)定為等于相對于主軸零點的工具底部中心。 當(dāng)前點=工具底部中心主《 (92) 通過工具矩陣堆棧將"當(dāng)前點"從主軸坐標(biāo)系統(tǒng)變換成機(jī)器參考坐標(biāo)系統(tǒng)。對于第 i軸,通過等式93表示所述變換。
當(dāng)前點-工具矩陣堆棧[i]—獲取矩陣("當(dāng)前點 (93)
隨著"當(dāng)前點"遍歷工具矩陣堆棧,檢査每一軸以確定其是旋轉(zhuǎn)軸還是傾斜軸。如 果第i軸為旋轉(zhuǎn)軸,則如等式94所表示而確定從第i軸坐標(biāo)系統(tǒng)中的"當(dāng)前點"到第i 軸的距離。
旋轉(zhuǎn)徑向距離=工具矩陣堆棧["—獲取到軸的垂直距離(當(dāng)前點) (94) 如果第i軸為傾斜軸,則如等式95所表示而確定從第i軸坐標(biāo)系統(tǒng)中的"當(dāng)前點"
45到第i軸的距離。
傾斜徑向距離^工具矩陣堆棧[i]—獲取到軸的垂直距離(當(dāng)前點) (95) -旦遍歷了工具矩陣堆棧,"當(dāng)前點"便保持工具尖端相對于機(jī)器參考坐標(biāo)系統(tǒng)的 值。另外,在機(jī)床系統(tǒng)100的情況下,"傾斜徑向距離"等于從B軸坐標(biāo)系統(tǒng)中的工具 底部中心到B軸的垂直距離。
接下來,從機(jī)器參考坐標(biāo)系統(tǒng)朝向工件坐標(biāo)系統(tǒng)遍歷零件矩陣堆棧,在上一軸處停 止(即,直到工件坐標(biāo)系統(tǒng)但不包括工件坐標(biāo)系統(tǒng))。因此,使用反向變換矩陣從底部 到頂部遍歷零件矩陣堆棧。
通過零件矩陣堆棧將"當(dāng)前點"從機(jī)器參考坐標(biāo)系統(tǒng)變換成工件坐標(biāo)系統(tǒng)。對于第 i軸,通過等式96表示所述變換。
矩陣-零件矩陣堆棧[i]—獲取矩陣o
矩陣.反轉(zhuǎn)剛性變換()
當(dāng)前點=矩陣*當(dāng)前點 (96)
隨著"當(dāng)前點"遍歷零件矩陣堆棧,檢査每一軸以確定其是旋轉(zhuǎn)軸還是傾斜軸。如
果第i軸為旋轉(zhuǎn)軸,則如等式97所表示而確定從第i軸坐標(biāo)系統(tǒng)中的"當(dāng)前點"到第i
軸的距離。
旋轉(zhuǎn)徑向距離^零件矩陣堆棧[i]—獲取到軸的垂直距離(當(dāng)前點) (97) 如果第i軸為傾斜軸,則如等式98所表示而確定從第i軸坐標(biāo)系統(tǒng)中的"當(dāng)前點" 到第i軸的距離。
傾斜徑向距離=零件矩陣堆棧[i]—獲取到軸的垂直距離(當(dāng)前點) (98) 一旦遍歷了零件矩陣堆棧,"當(dāng)前點"便保持工具尖端相對于工件坐標(biāo)系統(tǒng)的值。 使用最大軸速度計算和箝位時間步長
此方法檢査給定的"時間步長"以確保其不會造成給定軸試圖比其最大速度更快地 移動。在級聯(lián)方法400的方法430和級#1時間步長工具向量內(nèi)插中使用此方法。另外, 如等式99所表示的,"時間步長"導(dǎo)致具有工具相對于工件坐標(biāo)系統(tǒng)的大體恒定饋送速 率的移動。
時間步長-計算用于恒定工件饋送速率的時間步長() (99) 如果移動違反軸最大速度中的任一者,則箝位時間步長。檢査每一軸且如果違反多 個軸最大速度,則使用可接受的最小時間步長。
對于每一軸,如果等式100中所提供的關(guān)系為真,則需要箝位"時間步長"。
46如果
'A軸移動'
>最大軸速度 (100)
其中
△軸移動-l下一位置.機(jī)器位置[i]-上一位置.機(jī)器位置[i]l (101)
最大軸速度=軸[1]—獲取最大速度() (102) 等式103給出時間步長的值。
時間步長=1^|^ (103) 最大軸速度
齊次變換矩陣和矩陣堆棧
矩陣堆棧(例如工具矩陣堆棧和零件矩陣堆棧)為用于廣義運動學(xué)庫中將多個變換 串聯(lián)成單個矩陣的一般方法。在一個實施例中,對于廣義運動學(xué)庫,僅使用旋轉(zhuǎn)和平移 變換來描述機(jī)器軸之間的運動學(xué)關(guān)系。使用齊次變換允許矩陣堆棧將旋轉(zhuǎn)和平移變換串 聯(lián)成單個變換矩陣。因此,當(dāng)矩陣堆棧的前向或反向變換矩陣用于一個以上計算時,矩 陣堆棧中的所有矩陣的乘法僅進(jìn)行一次。
矩陣堆??珊腥魏螖?shù)目的矩陣。矩陣堆棧還可具有推到其上的其它矩陣堆棧的前
向或反向變換矩陣??稍诓槐厥顾芯仃噺棾龆褩5那闆r下接通和斷開矩陣堆棧。
如以下部分中所闡釋的,由于工具矩陣堆棧和零件矩陣堆棧中的矩陣的性質(zhì),可簡
化計算。另外,由于工具矩陣堆棧和零件矩陣堆棧中的矩陣的性質(zhì),用于廣義運動學(xué)庫
中的變換矩陣的矩陣反轉(zhuǎn)可利用本文中所闡釋的方法。 用于變換矩陣運算的子矩陣方法
子矩陣方法通過將齊次幾何變換矩陣分解成數(shù)個子矩陣且基于所述子矩陣是否為 恒等矩陣或零變換而對子矩陣應(yīng)用運算來減少矩陣運算的執(zhí)行時間。
子矩陣方法基于以下決策規(guī)則
、*訴f計算,仁,(基元恒等v基元零);l , , 04、
選擇S mfe、斗 廿Ah (104)
t略過,<= 其它 j
通過幾何子矩陣的恒等性來驅(qū)動此決策規(guī)則。決策制定過程基于布爾邏輯,例如二 進(jìn)制。在決策制定過程本身中,追蹤子矩陣的恒等性狀態(tài)以避免計算恒等性。將由等式
105表示的2乘2布爾決策矩陣(D)添加倒矩陣類別以支持決策制定和對具有四個子 矩陣的以下齊次變換矩陣(T)的恒等性追蹤。
r =
尺 z
(105)其中R為旋轉(zhuǎn)子矩陣, t為平移矩陣, s為剪切矩陣,且 k為縮放矩陣。
所述2乘2布爾決策矩陣的每一元素對應(yīng)于其4乘4變換矩陣(T)的對應(yīng)元素,
d 《
(賜)
如圖26中所展示的,布爾決策矩陣與變換矩陣之間的對應(yīng)為一對一。 子矩陣的關(guān)系
可使用布爾決策矩陣(D)優(yōu)化變換矩陣(T)乘法的計算復(fù)雜性。 T3=TrT2 (107) 將105插入107中給出
^ (108)
因為用于機(jī)床的幾何變換為剛性變換,所以剪切基元為零。因此,以下各個所得子 矩陣產(chǎn)生可重新組合成完整齊次變換矩陣T3的等效變換-首先,我們具有旋轉(zhuǎn)子矩陣。
一尺3 ~ _—尺l卜—X f2 —
《 、_《、——《、
W3 = W,.尺2 + 《='尺2
接下來,平移子矩陣。 f3 = i , f2 + f, . fe2 ,
接著,剪切子矩陣。
(109)
(110)
《=《./ 2+V《=or, (in) 最后,縮放
fc3 =s.t2+fc, 12 =H (112)
子矩陣的運算為乘法和加法,乘法和加法為二進(jìn)制的且具有兩個操作數(shù)和以下特
特性1. 乘法的恒等操作數(shù)(即,值1)將其它矩陣的操作數(shù)直接用于所得矩陣。
特性2. 乘法的零操作數(shù)產(chǎn)生所得矩陣中的零。
用子矩陣的處理
將決策布爾矩陣"mj)默認(rèn)子矩陣"添加作為矩陣類別的類別變量。僅當(dāng)對應(yīng)子矩陣為零或恒等矩陣時,決策布爾矩陣的元素才為真。否則,元素為假。用零(平移和剪 切)和恒等(旋轉(zhuǎn)和縮放)子矩陣初始化變換矩陣。因此,決策布爾矩陣以所有布爾值 為真來初始化。
以下規(guī)則適用于所述處理。
1. 當(dāng)情形符合特性l時,略過乘法。
2. 當(dāng)情形符合特性2時,略過乘法和加法。
對于略過運算的實施方案,用以下方式利用決策制定規(guī)則(1):
1. R3=R2,如果c1rf真。
2. RfRm如果&2=真。
3. 略過Rrt2,如果c1rf真。
4. 略過加法,如果dtF真或dt^真。
接著更新布爾決策矩陣。當(dāng)必須執(zhí)行矩陣元素的乘法時,接著針對以下條件檢查兩 個元素
如果任一元素為零,則不對元素執(zhí)行乘法。
如果任一元素等于l,則不執(zhí)行乘法。元素運算返回不等于1的元素。 對具有向量和點的矩陣加法、減法和乘法實施使用布爾決策矩陣的類似優(yōu)化。 變換矩陣反轉(zhuǎn)
一般矩陣使用計算上昂貴的高斯-佐登(Gauss-Jordan)消去法、LU分解或其它類似 方法加以反轉(zhuǎn)。具有正交旋轉(zhuǎn)子矩陣的剛性變換矩陣的特性允許通過對各個變換子矩陣 應(yīng)用簡單運算(代替使用計算上較昂貴的方法)而反轉(zhuǎn)剛性變換矩陣。以下等式展示如 I.扎伊德(I.Zeid)的"CAD/CAM理論與實踐(CAD/CAM Theory and Practice)"(麥格 勞-希爾(McGraw-Hill), 1991年)中所描述的矩陣反轉(zhuǎn)優(yōu)化,所述文獻(xiàn)的揭示內(nèi)容明 確地以引用的方式并入本文中
r2=7r' (113)
將105插入113中給出
-/ 2f2 —尺l
2fc2—《、
(114)
其中
R2=Rf (115) tF-Rrq (116)《=《=
(117) k2=k1=l (118)
零件設(shè)置矩陣的確定
零件設(shè)置矩陣界定從零件運動學(xué)鏈中的上一軸坐標(biāo)系統(tǒng)到用于機(jī)器.卜.的零件的工 件坐標(biāo)系統(tǒng)的變換。用以計算零件設(shè)置矩陣的輸入為機(jī)器軸相對于用于零件設(shè)置的機(jī)器 參考坐標(biāo)系統(tǒng)的位置和當(dāng)確定用于零件設(shè)置的機(jī)器軸位置時所使用的探針或工具長度。 通過知曉機(jī)器的所有軸之間的運動學(xué)關(guān)系,可用以下方式確定零件設(shè)置矩陣。
對于以下計算,假設(shè)零件設(shè)置矩陣為零件矩陣堆棧中的4x4恒等矩陣。
工具零^h軸=零件矩陣堆棧.反向矩陣()1零件設(shè)置位置*工具矩陣堆棧.前向矩陣()1零件設(shè)置位胃* 工具尖端變換矩陣*
7 (119)
其中
"零件矩陣堆疊及向矩陣()l零校準(zhǔn)"為當(dāng)將所有零件軸設(shè)定到其零件設(shè)置軸位置時 所估計的零件矩陣堆棧反向變換矩陣。(120)
"工具矢巨陣堆疊.前向矢巨陣()l零件設(shè)置位置"為當(dāng)將所有工具軸設(shè)定到其零件設(shè)置軸
位置時所估計的工具矩陣堆棧前向變換矩陣堆棧。(121)
"工具尖端變換矩陣"為從工具尖端坐標(biāo)系統(tǒng)到主軸線坐標(biāo)系統(tǒng)的變換。其為含有 工具尖端相對于主軸線坐標(biāo)系統(tǒng)的偏移的簡單平移矩陣。
可通過下式相對于臺板上'軸界定工件坐標(biāo)系統(tǒng)屮的任何點
工件點ft板t.軸=零件矩陣堆棧.反向矩陣()1零件固《*工具矩陣堆棧.前向矩陣()1零件設(shè)置位置* 工具尖端變換矩陣*工件點丁付.
因此,可通過以下等式確定零件設(shè)置矩陣,請注意,零件矩陣堆棧中的零件設(shè)置矩 陣為4x4恒等矩陣。
零件設(shè)置矩陣=零件矩陣堆棧.反向矩陣()1*件賤位置*工具矩陣堆棧.前向矩陣()1零件設(shè)置位置 *工具尖端變換矩陣
接著將新的零件設(shè)置矩陣推到零件矩陣堆棧的頂部上。
應(yīng)注意,本文中所參考的所有表面法線向量和工具向量均假定為經(jīng)規(guī)格化以用于本 文屮所揭示的方法。
雖然已將本發(fā)明描述為具有示范性設(shè)計,但可在本發(fā)明的精神和范圍內(nèi)進(jìn)一步修改 本發(fā)明。因此,本申請案希望使用其一般原理涵蓋本發(fā)明的任何變化、使用或改變。另 外,本申請案希望涵蓋屬于本發(fā)明所屬的技術(shù)中的已知或慣常實踐的范圍內(nèi)的與本發(fā)明
50的偏離。
權(quán)利要求
1. 一種用于控制機(jī)床系統(tǒng)(100)的移動以對零件(160)進(jìn)行機(jī)械加工的方法,所述方法包含以下步驟使所述零件(160)與工具(141)接觸;以及在所述工具(141)保持與所述零件(160)接觸的同時將所述工具(141)相對于所述零件(160)從第一位置移動到第二位置,所述工具(141)內(nèi)插穿過所述機(jī)床系統(tǒng)(100)的機(jī)器奇異點(490)。
2. 根據(jù)權(quán)利要求l所述的方法,其中所述在所述工具(141)保持與所述零件(160) 接觸的同時將所述工具(141)從所述第一位置移動到所述第二位置的步驟包含以 下步驟將所述工具(141)相對于所述零件(160)從所述第一位置移動到大體上與所述 機(jī)器奇異點(490)對準(zhǔn)的中間位置; 圍繞所述中間位置旋轉(zhuǎn);以及將所述工具(141)相對于所述零件(160)從所述中間位置移動到所述第二位置。
3. 根據(jù)權(quán)利要求2所述的方法,其中所述工具(141)在所述圍繞所述中間位置旋轉(zhuǎn) 的步驟期間保持相對于所述零件(160)固定。
4. 根據(jù)權(quán)利要求2所述的方法,其中所述圍繞所述中間位置旋轉(zhuǎn)的步驟包含以下步驟確定角旋轉(zhuǎn);以及在多個位置處旋轉(zhuǎn)穿過所述角旋轉(zhuǎn),所述多個位置在一公差內(nèi)。
5. 根據(jù)權(quán)利要求2所述的方法,其中所述圍繞所述中間位置旋轉(zhuǎn)的步驟包含以下步驟確定角旋轉(zhuǎn);以及在多個位置處旋轉(zhuǎn)穿過所述角旋轉(zhuǎn),所述多個位置對應(yīng)于固定角步長。
6. 根據(jù)權(quán)利要求2所述的方法,其中所述將所述工具(141)相對于所述零件(160) 從所述第一位置移動到所述中間位置的步驟包含以下步驟確定所述中間位置;以及在所述第 -位置與所述中間位置之間內(nèi)插多個位置。
7. 根據(jù)權(quán)利要求6所述的方法,其中所述在所述第一位置與所述中間位置之間內(nèi)插所 述多個位置的步驟包括以下步驟從對應(yīng)于所述第一位置的第一向量和對應(yīng)于所述中間位置的第二向量確定多個 向量和多個對應(yīng)點,所述多個向量和對應(yīng)點中的每一者對應(yīng)于內(nèi)插位置;以及確定鄰近內(nèi)插位置之間是否違反公差條件,且如果違反所述公差條件,則確定額 外內(nèi)插位置。
8. 根據(jù)權(quán)利要求7所述的方法,其中基于固定角步長而確定所述多個向量的數(shù)目。
9. 根據(jù)權(quán)利要求7所述的方法,其中基于固定時間步長而確定所述多個向量的數(shù)目。
10. 根據(jù)權(quán)利要求7所述的方法,其中所述多個向量每一者為工具向量。
11. 根據(jù)權(quán)利要求7所述的方法,其中所述多個向量每一者為表面法線向量。
12. 根據(jù)權(quán)利要求7所述的方法,其中所述公差條件為弦向誤差。
13. —種用于確定機(jī)床系統(tǒng)(100)的多個可移動軸的位置信息以對零件(160)進(jìn)行機(jī) 械加工的方法,所述方法包含以下步驟提供接受多個不同工具位置輸入類型的級聯(lián)方法(400);接收第一工具位置,所述第一工具位置對應(yīng)于所述多個不同輸入類型中的一者;以及用所述級聯(lián)方法(400)基于所述所接收的第一工具位置而確定所述位置信息。
14. 根據(jù)權(quán)利要求13所述的方法,其中通過反向運動學(xué)運算確定每一可旋轉(zhuǎn)軸的所述 位置信息,且通過前向運動學(xué)運算確定每一線性軸的所述位置信息。
15. 根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包含基于用所述級聯(lián)方法(400)確定的所 述位置信息而移動所述多個可移動軸的步驟。
16. 根據(jù)權(quán)利要求13所述的方法,其中所述用所述級聯(lián)方法(400)確定所述位置信息 的步驟包括以下步驟針對所述多個可移動軸中的每一可旋轉(zhuǎn)軸確定具有對應(yīng)角的第一解決方案;以及 針對所述多個可移動軸中的每一線性軸確定位置。
17. 根據(jù)權(quán)利要求13所述的方法,其中所述第一工具位置包括表面接觸點、在所述表 面接觸點處的表面法線向量和工具向量,且所述用所述級聯(lián)方法(400)確定所述 位置信息的步驟包括以下步驟基于所述表面接觸點、在所述表面接觸點處的所述表面法線向量和所述工具向量 而確定工具底部中心點;基于所述工具底部中心和所述工具向量而針對所述多個可移動軸中的每一旋轉(zhuǎn) 軸確定角;以及針對所述多個可移動軸中的每一線性軸確定位置。
18. 根據(jù)權(quán)利要求13所述的方法,其中所述第一工具位置包括工具底部中心點和工具 向量,且所述用所述級聯(lián)方法(400)確定所述位置信息的步驟包括以下步驟基于所述工具底部中心和所述工具向量而針對所述多個可移動軸中的每一旋轉(zhuǎn) 軸確定角;以及針對所述多個可移動軸中的每一線性軸確定位置。
19. 根據(jù)權(quán)利要求13所述的方法,其中可通過所述級聯(lián)方法(400)的第一方法從第二 工具位置輸入類型確定第一工具位置輸入類型,可通過所述級聯(lián)方法(400)的第 二方法從第三工具位置輸入類型確定所述第二工具位置輸入類型,且可通過所述級 聯(lián)方法(400)的第三方法從第四工具位置輸入類型確定所述第三工具位置輸入類 型。
20. 根據(jù)權(quán)利要求19所述的方法,其中所述級聯(lián)方法(400)從所述多個不同工具位置 輸入類型的任何其它者確定所述第一工具位置輸入類型中的所述位置信息。
21. —種用于控制機(jī)床系統(tǒng)(100)的移動以對零件(160)進(jìn)行機(jī)械加工的方法,所述 機(jī)床系統(tǒng)(100)具有多個可旋轉(zhuǎn)軸,所述方法包含以下步驟使所 述零件(160)與工具(141)在第一位置處接觸; 識別第二位置以移動所述工具(141);以及針對所述多個可旋轉(zhuǎn)軸中的每一者從用于所述多個可旋轉(zhuǎn)軸中的每-者的多個 可能解決方案中選擇最短角行程解決方案。
22. —種用于控制機(jī)床系統(tǒng)(100)的移動以對零件(160)進(jìn)行機(jī)械加工的方法,所述 機(jī)床系統(tǒng)(100)具有包括傾斜軸的多個可旋轉(zhuǎn)軸,所述方法包含以下步驟使所述零件(160)與工具(141)在第一位置處接觸;識別第二位置以移動所述工具(141);以及針對所述多個可旋轉(zhuǎn)軸中的每一者基于指定的傾斜軸優(yōu)選而從用于所述多個可 旋轉(zhuǎn)軸中的每一者的多個可能解決方案中選擇第一解決方案,所述第一解決方案具 有滿足所述傾斜軸優(yōu)選的用于所述傾斜軸的傾斜角。
23. —種用于控制機(jī)床系統(tǒng)(100)的移動以對零件(160)進(jìn)行機(jī)械加工的方法,所述機(jī)床系統(tǒng)(100)具有多個可移動軸,所述方法包含以下步驟 使所述零件(160)與工具(141)在第一位置處接觸; 識別第二位置以移動所述工具(141);以及用兩級內(nèi)插方法確定從所述第一位置到所述第二位置的多個內(nèi)插位置。
24. 根據(jù)權(quán)利要求23所述的方法,其中所述兩級內(nèi)插方法包括確定所述內(nèi)插位置中的第一多個內(nèi)插位置的第一級和具有公差條件的第二級,所述內(nèi)插位置中的第二多個 內(nèi)插位置是由于對所述公差條件的違反而通過所述第二級來確定的。
25. --種用于用至少一個工具(141)對零件(160)進(jìn)行機(jī)械加工的設(shè)備,所述設(shè)備包 含框架(102);可移動支撐件(104、 110、 120),其由所述框架(102)支撐且可相對于所述框 架(102)移動,所述可移動支撐件(104、 110、 120)支撐所述零件(160);機(jī)床主軸(138),其由所述框架(102)支撐且可相對于所述零件(160)移動, 所述機(jī)床主軸(138)適于耦合所述至少一個工具(141),所述可移動支撐件(104、 110、 120)和所述機(jī)床主軸(138)包括多個可移動軸(150、 152、 154、 156、 158); 以及運動控制系統(tǒng),其可操作地耦合到所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120),所述運動控制系統(tǒng)通過所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120)的所述多個可移動軸(150、 152、 154、 156、 158)的受控移動而執(zhí)行 對所述零件(160)的所述機(jī)械加工,其中所述運動控制系統(tǒng)使所述零件(160)與 第一工具(141)在第一位置處接觸,且在所述第一工具(141)保持與所述零件(160) 接觸的同時將所述第一工具(141)相對于所述零件(160)從所述第一位置移動到 第二位置,所述第一工具(141)內(nèi)插穿過所述機(jī)床系統(tǒng)(100)的機(jī)器奇異點(490)。
26. 根據(jù)權(quán)利要求25所述的設(shè)備,其中在所述第一工具(141)保持與所述零件(160) 接觸的同時,所述運動控制系統(tǒng)通過以下動作而將所述第一工具(141)從所述第 一位置移動到所述第二位置將所述第一工具(141)相對于所述零件(160)從所 述第一位置移動到大體上與所述機(jī)器奇異點(490)對準(zhǔn)的中間位置;圍繞所述中 間位置旋轉(zhuǎn);以及使所述第一工具(141)相對于所述零件(160)從所述中間位置 移動到所述第二位置。
27. —種用于用至少-一個工具(141)對零件(160)進(jìn)行機(jī)械加工的設(shè)備,所述設(shè)備包 含框架(102);可移動支撐件(104、 110、 120),其由所述框架(102)支撐且可相對于所述框 架(102)移動,所述可移動支撐件(104、 110、 120)支撐所述零件(160);機(jī)床主軸(138),其由所述框架(102)支撐且可相對于所述零件(160)移動, 所述機(jī)床主軸(138)適于耦合所述至少一個工具(141),所述可移動支撐件(104、, 110、 120)和所述機(jī)床主軸(138)包括多個可移動軸(150、 152、 154、 156、 158);以及運動控制系統(tǒng)(200),其可操作地耦合到所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120),所述運動控制系統(tǒng)(200)通過所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120)的所述多個可移動軸(150、 152、 154、 156、158)的受控移動而執(zhí)行對所述零件(160)的所述機(jī)械加工,其中所述運動控制系統(tǒng)(200)使所述零件(160)與第一工具(141)在第一位置處接觸,且通過針對所述多個可移動軸(150、 152、 154、 156、 158)中的多個可旋轉(zhuǎn)軸中的每一者從用于所述多個可旋轉(zhuǎn)軸中的每一者的多個可能解決方案中選擇最短角行程解決方案而將所述第一工具(141)相對于所述零件(160)從所述第一位置移動到第二位置。
28. —種用于用至少--個工具(141)對零件(160)進(jìn)行機(jī)械加工的設(shè)備,所述設(shè)備包含框架(102);可移動支撐件(104、 110、 120),其由所述框架(102)支撐且可相對于所述框架(102)移動,所述可移動支撐件(104、 110、 120)支撐所述零件(160);機(jī)床主軸(138),其由所述框架(102)支撐且可相對于所述零件(160)移動,所述機(jī)床主軸(138)適于耦合所述至少一個工具(141),所述可移動支撐件(104、110、 120)和所述機(jī)床主軸(138)包括多個可移動軸(150、 152、 154、 156、 158);以及運動控制系統(tǒng)(200),其可操作地耦合到所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120),所述運動控制系統(tǒng)(200)通過所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120)的所述多個可移動軸(150、 152、 154、 156、158)的受控移動而執(zhí)行對所述零件(160)的所述機(jī)械加工,其中所述運動控制系統(tǒng)(200)使所述零件(160)與第一工具(141)在第一位置處接觸,且通過針對所述多個可移動軸(150、 152、 154、 156、 158)中的多個可旋轉(zhuǎn)軸中的每--者基于指定的傾斜軸優(yōu)選從用于所述多個可旋轉(zhuǎn)軸中的每一者的多個可能解決方案中選擇第一解決方案而將所述第一工具(141)相對于所述零件(160)從所述第一位置移動到第二位置,所述第一解決方案具有用于所述多個所述可移動軸(150、 152、154、 156、 158)中的傾斜軸的滿足所述傾斜軸優(yōu)選的傾斜角。
29. —種用于用至少一個工具(141)對零件(160)進(jìn)行機(jī)械加工的設(shè)備,所述設(shè)備包含框架(102);可移動支撐件(104、 110、 120),其由所述框架(102)支撐且可相對于所述框架(102)移動,所述可移動支撐件(104、 110、 120)支撐所述零件(160);機(jī)床主軸(138),其由所述框架(102)支撐且可相對于所述零件(160)移動,所述機(jī)床主軸(138)適于耦合所述至少一個工具(141),所述可移動支撐件(104、110、 120)和所述機(jī)床主軸(138)包括多個可移動軸(150、 152、 154、 156、 158);以及運動控制系統(tǒng)(200),其可操作地耦合到所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120),所述運動控制系統(tǒng)(200)通過所述機(jī)床主軸(138)和所述可移動支撐件(104、 110、 120)的所述多個可移動軸(150、 152、 154、 156、158)的受控移動而執(zhí)行對所述零件(160)的所述機(jī)械加工,其中所述運動控制系統(tǒng)(200)使所述零件(160)與第一工具(141)在第一位置處接觸,且通過用兩級內(nèi)插方法確定從所述第一位置到第二位置的多個內(nèi)插位置而將所述第一工具(141)相對于所述零件(160)從所述第一位置移動到所述第二位置。
30.根據(jù)權(quán)利要求29所述的設(shè)備,其中所述兩級內(nèi)插方法包括確定所述內(nèi)插位置中的第一多個內(nèi)插位置的第 級和具有公差條件的第二級,所述內(nèi)插位置中的第二多個內(nèi)插位置是由于對所述公差條件的違反而通過所述第二級來確定的。
全文摘要
本發(fā)明包括一種廣義運動學(xué)庫(210),其可用于控制機(jī)床系統(tǒng)(100)的運動且可用于處理用于例如模擬圖形(245)等其它應(yīng)用程序的數(shù)據(jù)。本發(fā)明揭示用于穿過機(jī)器奇異點(490)內(nèi)插機(jī)床系統(tǒng)(100)的各個軸的移動的方法。
文檔編號B25J9/16GK101501588SQ200780029093
公開日2009年8月5日 申請日期2007年8月6日 優(yōu)先權(quán)日2006年8月4日
發(fā)明者保羅·J·格雷 申請人:赫克公司