TWI381256B - 用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體 - Google Patents
用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體 Download PDFInfo
- Publication number
- TWI381256B TWI381256B TW096128899A TW96128899A TWI381256B TW I381256 B TWI381256 B TW I381256B TW 096128899 A TW096128899 A TW 096128899A TW 96128899 A TW96128899 A TW 96128899A TW I381256 B TWI381256 B TW I381256B
- Authority
- TW
- Taiwan
- Prior art keywords
- machine
- tool
- motion
- axis
- machine tool
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4086—Coordinate conversions; Other special calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34202—Reusable software, generic resource model library
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35346—VMMC: virtual machining measuring cell simulate machining process with modeled errors, error prediction
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36252—Generate machining program based on a simulation to optimize a machine parameter
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36276—Program virtual, logical tools, select tool from tables
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Description
本發明係關於工具機控制軟體。更具體言之,本發明之領域為用於物件導向式工具機控制軟體的工具機控制軟體及工具機控制軟體之操作之領域。
物件導向式工具機控制系統可提供將系統責任隔離成容許工具機製造者或系統整合者管理複雜性及改變之等級之即時工具機軟體系統控制。工具機控制系統之一實例揭示於讓渡於本發明之受讓人之美國專利第5,453,933號中,該專利之揭示內容以引用之方式併入本文中。'933專利之系統允許在不重新設計或作出大規模軟體改變之情況下自核心組之程序建立不同系統。
改變'933專利之控制系統之工程師可容易地對系統作出改變,因為對一等級中之單一組件作出修改不需要工程師為整個系統之專家。一改變不會在整個系統中具有改變之漣波效應。將系統之最可能改變之部分(諸如,使用者介面及設備驅動器)自核心分離。此等組件可更容易地藉由PLC程式、機器等級之定製及操作者程式之添加或修改來改變。
在本揭示案之一例示性實施例中,提供一用於工具機系統之運動控制系統。在本揭示案之一實例中,運動控制系統包括一可模仿各種工具機系統之廣義運動程式庫。在另
一實例中,產生廣義運動程式庫之多個執行個體以提供用於該工具機系統或其他工具機系統之資料。
在本揭示案之另一例示性實施例中,提供一用於控制工具機系統之移動以機械加工一零件的方法。該方法包含以下步驟:將零件與一工具接觸,及在工具保持與零件接觸之同時將工具相對於零件自一第一位置移動至一第二位置。工具穿過工具機系統之一機器奇異點而內插。
在本揭示案之另一例示性實施例中,提供一用於確定工具機系統的複數個可移動軸之位置資訊以機械加工一零件之方法。該方法包含以下步驟:提供一接受複數個不同工具位置輸入類型之級聯方法;接收一第一工具位置,該第一工具位置對應於該複數個不同輸入類型中之一者;及藉由該級聯方法基於所接收之第一工具位置來確定位置資訊。
在本揭示案之又一例示性實施例中,提供一用於控制工具機系統之移動以機械加工一零件之方法,該工具機系統具有複數個可旋轉軸。該方法包含以下步驟:將零件與一工具在一第一位置處接觸;識別一第二位置以移動工具;及對於該複數個可旋轉軸中之每一者自用於該複數個可旋轉軸中之每一者之複數個可能解中選擇一最短角橫越解(shortest angular traverse solution)。
在本揭示案之又一例示性實施例中,提供一用於控制工具機系統之移動以機械加工一零件之方法,該工具機系統具有包括一傾斜軸之複數個可旋轉軸。該方法包含以下步
驟:將零件與一工具在一第一位置處接觸;識別一第二位置以移動工具;及對於該複數個可旋轉軸中之每一者基於一指定的傾斜軸優選而自用於該複數個可旋轉軸中之每一者之複數個可能解中選擇一第一解。該第一解具有滿足傾斜軸優選之傾斜軸傾斜角。
在本揭示案之再一例示性實施例中,提供一用於控制工具機系統之移動以機械加工一零件之方法,該工具機系統具有複數個可移動軸。該方法包含以下步驟:將零件與一工具在一第一位置處接觸;識別一第二位置以移動工具;及藉由一兩階段內插方法確定自第一位置至第二位置之複數個內插位置。
在本揭示案之又一例示性實施例中,提供一用於藉由至少一工具機械加工一零件之裝置。該裝置包含:一框架;一由該框架支撐且可相對於該框架移動之可移動支撐件,該可移動支撐件支撐該零件;一由該框架支撐且可相對於零件移動之工具機主軸,該工具機主軸調適成耦接至少一工具,可移動支撐件及工具機主軸包括複數個可移動軸;及一可操作地耦接至工具機主軸及可移動支撐件之運動控制系統。該運動控制系統藉由工具機主軸及可移動支撐件之該複數個可移動軸之受控移動而執行對零件之機械加工。該運動控制系統使零件與一第一工具在一第一位置處接觸,且在該第一工具保持與零件接觸之同時將第一工具相對於零件自該第一位置移動至一第二位置。第一工具藉由工具機系統之一機器奇異點而內插。
在本揭示案之再一例示性實施例中,提供一用於藉由至少一工具來機械加工一零件之裝置。該裝置包含:一框架;一由該框架支撐且可相對於該框架移動之可移動支撐件,該可移動支撐件支撐該零件;一由該框架支撐且可相對於零件移動之工具機主軸,該工具機主軸調適成耦接該至少一工具,可移動支撐件及工具機主軸包括複數個可移動軸;及一可操作地耦接至工具機主軸及可移動支撐件之運動控制系統。該運動控制系統藉由工具機主軸及可移動支撐件之該複數個可移動軸之受控移動而執行對零件之機械加工,其中運動控制系統使零件與一第一工具在一第一位置處接觸,且藉由對於該複數個可移動軸之複數個可旋轉軸中之每一者自用於該複數個可旋轉軸中之每一者之複數個可能解中選擇一最短角橫越解而將第一工具相對於零件自第一位置移動至一第二位置。
在本揭示案之另一例示性實施例中,提供一用於藉由至少一工具來機械加工一零件之裝置。該裝置包含:一框架;一由該框架支撐且可相對於該框架移動之可移動支撐件,該可移動支撐件支撐該零件;一由該框架支撐且可相對於零件移動之工具機主軸,該工具機主軸調適成耦接該至少一工具,可移動支撐件及工具機主軸包括複數個可移動軸;及一可操作地耦接至工具機主軸及可移動支撐件之運動控制系統。該運動控制系統藉由工具機主軸及可移動支撐件之該複數個可移動軸之受控移動而執行對零件之機械加工。該運動控制系統使零件與一第一工具在一第一位
置處接觸,且藉由對於該複數個可移動軸之複數個可旋轉軸中之每一者基於一指定的傾斜軸優選而自用於該複數個可旋轉軸中之每一者之複數個可能解中選擇一第一解來將第一工具相對於零件自第一位置移動至一第二位置,該第一解具有一滿足傾斜軸優選之該複數個可移動軸之一傾斜軸的傾斜角。
在本揭示案之再一例示性實施例中,提供一用於藉由至少一工具來機械加工一零件之裝置。該裝置包含:一框架;一由該框架支撐且可相對於該框架移動之可移動支撐件,該可移動支撐件支撐該零件;一由該框架支撐且可相對於零件移動之工具機主軸,該工具機主軸調適成耦接該至少一工具,可移動支撐件及工具機主軸包括複數個可移動軸;及一可操作地耦接至工具機主軸及可移動支撐件之運動控制系統。該運動控制系統藉由工具機主軸及可移動支撐件之該複數個可移動軸之受控移動而執行對零件之機械加工。該運動控制系統使零件與一第一工具在一第一位置處接觸,且藉由用一兩階段內插方法確定自第一位置至第二位置之複數個內插位置而將第一工具相對於零件自第一位置移動至第二位置。
在本揭示案之另一例示性實施例中,提供一用於控制工具機系統之移動以機械加工一零件之方法。該方法包含以下步驟:接收一對應於工具機系統之機器組態,該機器組態識別工具機系統之複數個可移動軸及該複數個可移動軸之間的複數個相依性;基於該機器組態及一廣義運動程式
庫產生一虛擬運動機器;接收對應於零件之一形狀之輸入資料;及基於該虛擬運動機器及該輸入資料產生用於工具機系統之該複數個可移動軸之位置。
在本揭示案之另一例示性實施例中,提供一用於控制具有複數個可移動軸之工具機系統的移動以機械加工一零件之方法。該方法包含以下步驟:接收對應於零件之一形狀之輸入資料;基於工具機系統之一機器組態及一廣義運動程式庫產生一第一虛擬運動機器,該第一虛擬運動機器基於該輸入資料產生用於工具機系統之該複數個可移動軸之位置;及基於工具機系統之機器組態及廣義運動程式庫產生一第二虛擬運動機器,該第二虛擬運動機器產生用於工具機系統之一可移動部分之位置資訊。
在本揭示案之又一例示性實施例中,提供一用於藉由一軟體控制器來程式設計多個工具機系統之方法。該方法包含以下步驟:提供一可由軟體控制器存取之廣義運動程式庫;產生一具有一對應於一第一工具機系統之第一組態之第一虛擬運動機器,該第一虛擬運動機器基於該廣義運動程式庫;及產生一具有一對應於一第二工具機系統之第二組態之第二虛擬運動機器,該第二虛擬運動機器基於該廣義運動程式庫。
在本揭示案之另一例示性實施例中,提供一用於藉由至少一工具來機械加工一零件之裝置。該裝置包含:一框架;一由該框架支撐且可相對於該框架移動之可移動支撐件,該可移動支撐件支撐該零件;一由該框架支撐且可相
對於零件移動之工具機主軸,該工具機主軸調適成耦接該至少一工具,可移動支撐件及工具機主軸包括複數個可移動軸;及一可操作地耦接至工具機主軸及可移動支撐件之運動控制系統,該運動控制系統藉由工具機主軸及可移動支撐件之該複數個可移動軸之受控移動而執行對零件之機械加工。該複數個可移動軸之受控移動係藉由一廣義運動程式庫之一執行個體來提供。該執行個體包括複數個虛擬軸,該複數個虛擬軸對應於該複數個可移動軸。
在本揭示案之再一例示性實施例中,提供一組態一工具機系統之一軟體控制器之方法。該方法包含以下步驟:提供一可由軟體控制器存取之廣義運動程式庫;接收關於工具機系統之一組態之資訊,工具機系統具有複數個正交可移動軸;基於該所接收的關於工具機系統之組態之資訊產生廣義運動程式庫之一對應於工具機系統之執行個體;及藉由廣義運動程式庫之執行個體來控制該複數個正交可移動軸之一移動。
在本揭示案之另一例示性實施例中,提供一具有電腦可執行指令之電腦可讀媒體,該等電腦可執行指令用於控制工具機系統之複數個可移動軸的移動以機械加工一零件。該等電腦可執行指令包含:一廣義運動程式庫;用於基於工具機系統之一組態產生廣義運動程式庫之一執行個體之指令;用於將輸入資料提供至廣義運動程式庫之執行個體之指令;及用於自廣義運動程式庫取得輸出資料之指令,該輸出資料係關於該複數個可移動軸之移動。
本文中所揭示之實施例不意欲為詳盡的或將本發明限制於以下詳細描述中所揭示之精確形式。實情為,選擇及描述實施例以使得其他熟習此項技術者可利用本發明之教示。
參看圖1,展示一具有一運動控制系統200之工具機系統100。工具機系統100包括一框架102,框架102具有一耦接至該框架之第一鞍形物104。鞍形物104可在方向106及108上平移。一第二鞍形物110係由第一鞍形物104支撐。鞍形物110可相對於鞍形物104在方向112及114上平移。一平臺120係由鞍形物110支撐,且可相對於鞍形物110在方向122及124上旋轉。在一實施例中,鞍形物104、鞍形物110及平臺120中之每一者可藉由受運動控制系統200控制之馬達而移動。
另外,一第三鞍形物126係由框架102支撐。鞍形物126可在方向128及130上平移。鞍形物126支撐一可旋轉部件132。可旋轉部件132可相對於鞍形物126在方向134及136上旋轉。在一實施例中,鞍形物126及可旋轉部件132中之每一者可藉由受運動控制系統200控制之馬達移動。
一工具主軸138係由平臺132支撐。各種工具141可耦接至工具主軸138以藉由工具機系統100執行各種操作。例示性工具包括端銑刀、鑽頭、螺絲功、鉸刀,及其他合適工具。工具主軸138可繞一工具主軸線139旋轉以向工具141輸入一旋轉。在一實施例中,複數個工具141儲存於一工
具回轉料架144中。關於工具回轉料架144之額外細節提供於美國臨時申請案第60/821,481號中,該臨時申請案之揭示內容以引用之方式明確併入本文中。
鞍形物104在方向106或方向108上之移動以在y軸150中之移動來說明。鞍形物110在方向112或方向114上之移動以在x軸152中之移動來說明。鞍形物126在方向128及方向130上之移動以在z軸154中之移動來說明。可旋轉部件132在方向134或方向136上之旋轉以在B軸156中之移動來說明。平臺120在方向122或方向124上之旋轉以在C軸158中之移動來說明。工具機系統100為一例示性5軸機器。在一實施例中,以A軸替代B軸156及C軸158中之一者,其中平臺120可繞x軸152及y軸150中之一者傾斜。
藉由工具機系統100之該5個軸中之一或多者的移動,可相對於一由平臺120支撐之待機械加工之零件160(見圖9A)而定位一工具141。可將零件160緊固至平臺120以維持零件160相對於平臺120之位置。
工具機系統100之該5個軸中之一或多者的移動係由運動控制系統200控制。參看圖2,運動控制系統200包括一軟體控制器202及一或多個I/O模組206。應理解,本文中所揭示之方法可由軟體控制器202來執行,且以一與軟體控制器202相關聯之方式加以儲存。
軟體控制器202接收一機器組態208及輸入資料(諸如,一零件加工程式204),且接著提供輸出資料(諸如,工具機系統100之各軸150、152、154、156及158之位置資料)。
在圖2中所說明之實例中,軟體控制器202自一或多個I/O模組206接收零件加工程式204及機器組態208。機器組態208提供工具機系統100之各軸150、152、154、156及158之間的依賴性以及每一軸之屬性。舉例而言,當鞍形物104在方向106上移動時,C軸158之位置改變。因此,C軸158之位置依賴於鞍形物104之位置。
例示性I/O模組206包括諸如使用者介面、觸摸式顯示器、鍵盤、滑鼠、一或多個按鈕或開關、CD機、軟碟機、一至確定者網路(無線或有線)之介面及用於將資訊提供至軟體控制器202之其他合適設備之輸入部件及諸如顯示器(諸如,觸摸式螢幕)、燈、印表機及用於呈現資訊之其他合適設備之輸出部件。
在一實施例中,藉由交談式操作模式輸入零件加工程式204,藉此在程式設計會話期間藉由使用者介面(諸如,觸摸式螢幕及鍵盤)向一使用者呈現一或多個螢幕。交談式程式設計之一例示性方法揭示於讓渡於當前申請案之受讓人之美國專利第5,453,933號中,該專利之揭示內容以引用之方式明確併入本文中。在程式設計會話期間,使用者可程式設計經機械加工之零件之所要幾何形狀且指定一或多個屬性。在一實例中,使用者藉由建立程式碼區塊而指定經機械加工之零件之所要幾何形狀,程式碼區塊中之每一者指定一工具及該工具之一軌道。因而,經機械加工之零件之幾何形狀係基於用於建立經機械加工之零件之操作來界定。
在一實施例中,藉由NC操作模式提供零件加工程式204,藉此將一NC程式載入軟體控制器202中。常常使用由諸如G、M、F之字母識別之程式碼來以一標準G&M程式碼語言或此語言之基於國際標準組織(International Standards Organization,ISO)或電子工業協會(Electronics Industries Association,EIA)RS-274-D之接近衍生詞來表示零件加工程式。該等程式碼界定用於控制一零件之製造中之運動的一系列機械加工操作。軟體控制器202轉換該等程式碼以提供工具機系統100之各軸150、152、154、156及158之定位位置。在一實施例中,由軟體控制器202之一剖析器220剖析零件加工程式204。剖析器220查核零件加工程式204且識別各種幾何形狀片段。例示性幾何形狀片段包括線及弧。
無關於零件加工程式204之原點,零件加工程式204直接或基於用於建立零件之操作來界定經機械加工之零件之所要幾何形狀。然而,零件加工程式204可不指定鞍形物104、110及126之位置,亦不指定平臺120及可旋轉部件132之旋轉。由軟體控制器202來確定此等位置。
在一實施例中,軟體控制器202為一物件導向式軟體組件。在一實施例中,軟體控制器202係基於描述於於1995年9月26日頒布且標題為CNC CONTROL SYSTEM之美國專利第5,453,933號中之軟體,該專利之揭示內容以引用之方式明確併入本文中。
在一實施例中,軟體控制器202包括一物件導向式廣義
運動程式庫210及一或多個主機軟體應用程式215。主機軟體應用程式215藉由一介面(諸如,一API介面217)與廣義運動程式庫210之執行個體(本文中識別為虛擬運動機器214、234及236)介接。主機軟體應用程式215亦與軟體控制器202之其他組件介接,諸如,用於即時銑削機之即時應用程式及圖形應用程式。
廣義運動程式庫210包括物件或等級之集合,可自該集合中導出用於自程式庫210之一執行個體形成虛擬運動機器214之物件。在一實施例中,將機器組態208提供至軟體控制器202。基於機器組態208,軟體控制器202自運動程式庫210建立虛擬運動機器214。虛擬運動機器214儲存於記憶體中。虛擬運動機器214具有與機器組態208中所描述之實際機器相同之組態。
廣義運動程式庫含有一應用程式設計介面(API)217,一主機軟體應用程式215使用應用程式設計介面(API)217以經由Set資料函數傳達資料且經由Get資料函數接收資料。因此,按照物件導向式設計範例,主機軟體應用程式215不可直接存取廣義運動程式庫210或其執行個體中之私有成員資料。
主機軟體應用程式215藉由經由Set資料函數傳達資料且經由Get資料函數接收資料而使用物件導向式範例加以設計之API 217介接至廣義運動程式庫210。
根據物件導向式範例,主機軟體應用程式215藉由廣義運動程式庫210組合虛擬運動機器214所需之資料來初始化虛擬運動機器。主機軟體應用程式215以建立廣義運動程式庫210之一執行個體開始。初始化程序隨後使用關於機器軸之組態資料208,組態資料208可源自包括組態檔案、使用者輸入及/或工具機系統100之即時組件之自動驅動器辨識的眾多來源。
主機軟體應用程式215在存在於系統中之每一軸間循環且調用函數AddAxis(ID,Connection)。軸ID係識別軸之唯一數字。例示性軸id包括對應於線性及旋轉軸{x、y、z、a、b、c}之集合{0、1、2、3、4、5}。在調用此函數之情況下,廣義運動程式庫210在記憶體中建立一軸物件,可接著由主機軟體應用程式215以如軸類型所需之以下資料中之任一者或所有者來初始化該軸物件。
每一軸可包括以下屬性303中某些或所有:
˙ID
˙類型(線性/旋轉/傾斜/主軸)
˙方向
˙座標位置(若為旋轉軸,則為中心線)
˙極限
˙最大速度
˙連接(軸連接至工具還是連接至零件)
在已建立所有軸且藉由適當資料初始化所有軸之後,由
主機軟體應用程式215調用廣義運動程式庫EndSetup()函數,EndSetup()函數確認機器運動,組合工具矩陣堆疊270與零件矩陣堆疊280(見圖7A及圖7B),且若機器為一5軸機器則確定機器奇異點之傾斜軸角。藉由使主軸線與旋轉軸(C軸158)對準而定位傾斜角來確定傾斜軸(B軸156)之奇異點傾斜角。
此時,廣義運動程式庫210準備好由主機軟體應用程式215來使用。通常以一開始位置初始化廣義運動程式庫210,且將其他初始模式(本文中較詳細闡釋該等其他初始模式中之每一者)設定為接通或斷開,該等其他初始模式包括:
˙最短角橫越,
˙內插接通/斷開
˙內插接通情況下之內插類型
˙傾斜軸優選方向或斷開或強制使用優選方向
廣義運動程式庫210之設計允許主機軟體應用程式215建立廣義運動程式庫210之用於不同處理(工具機控制軟體200內之不同主機軟體應用程式)之多個執行個體。舉例而言,一執行個體用於解釋用於實際工具機系統100之即時執行之程式。另一執行個體用於在工具機系統100上之程式執行時間期間顯示即時圖形及位置資料。一第三執行個體可用於解釋用於在圖形中顯示之不同機器之程式。此第三執行個體允許使用者程式設計用於不同於軟體控制器
202連接至之機器之機器的零件160且使用圖形驗證檢驗此等程式。廣義運動程式庫210之每一執行個體係獨立的且可同時使用。
軟體控制器202含有一初始化等級,該初始化等級充當廣義運動程式庫210與主機應用程式軟體215之間的API層。此組態容許軟體控制器202內之不同組件(亦即,不同主機軟體應用程式)藉由一共同的、可普遍存取之單個等級來初始化其廣義運動程式庫210之執行個體。必要時,主機軟體應用程式215亦可修改運動模型以用於不同機器。一實例為廣義運動程式庫210之並行程式設計圖形執行個體,該並行程式設計圖形執行個體可經修改以模仿不同於CNC控制器200連接至之機器之機器。又,在一實施例中,廣義運動程式庫210容許藉由單一控制器同時控制多個工具機系統。
用於確定用於給定輸入類型1至4(見圖8)中之任一者之機器接合點位置的API為一簡單過載SetPosition(Input Data)函數,其中Input Data為對應於類型4至類型1之必要資料。在調用SetPosition(Input Data)函數之前設定內插模式、饋送速率或時間步長、工具資訊,及零件設置。廣義運動程式庫210以輸入資料來更新其內部NextPosition資料物件,且使用此物件來確定緊鄰工具位置。當使用廣義運動程式庫210確定工具位置時,確定用於輸入移動之接合點位置及時間步長且將接合點位置及時間步長儲存於記憶
體中。廣義運動程式庫210接著以輸入及經確定之資料來更新其內部LastPosition資料物件,此將用於對確定緊鄰的輸入工具位置作出決策。主機軟體應用程式215將接著使用一GetPositionData()函數來拾取經確定之資訊,GetPositionData()函數返回一對於含有經確定資料之廣義運動程式庫210中的一等級之引用。
主機軟體應用程式215可組態廣義運動程式庫210以對於每一移動儲存不同於機器接合點位置及時間步長之額外資訊。舉例而言,相對於工件之工具尖端位置、相對於機器參考座標系統284(見圖7A)之工具向量方向。
廣義運動程式庫210可用於一純粹計算模式中,其中不以經確定之工具位置來更新LastPosition內部資料物件。當在主機軟體應用程式中作出關於工具路徑之邏輯決策(諸如,計算一導向式收縮平面至機器極限之限幅點(clipping point))時,此可係有用的。API為一簡單過載DeterminePosition(Input Data)函數,其中Input Data為對應於類型4至類型1之必要資料。必須在調用DeterminePosition之前設定必要的機器狀態,調用DeterminePosition等同於使用先前部分中所描述之SetPosition。
除計算所輸入工具位置之機器接合角之外,廣義運動程式庫210亦可確定相對於被模仿機器之運動聯動中的座標系統中之任一者的工具尖端及工具向量資料。一實例將為在給定機器接合點位置及角度之情況下的機器參考座標中
之工具向量之計算:GetToolVectorWrtMachine(Machine Joint Positions),其中Machine Joint Positions為含有所有有關軸位置之向量。此函數調用將不更新廣義運動程式庫210內部LastPosition資料物件。
廣義運動程式庫210將運動計算合併於一可在程式碼中共用之單一程式庫來源中。程式庫之廣義化為程式庫提供一建立具有高達5個軸之任何正交工具機系統之一虛擬運動機器的方式。在一實施例中,此係藉由一物件導向式設計來達成,在物件導向式設計中,工具機系統100之一虛擬數學模型建立於程式庫中。雖然本文中描述廣義運動程式庫210用於與具有高達5個正交軸之工具機系統一起使用,但由於廣義運動程式庫210之物件導向式設計,廣義運動程式庫210可專用於非正交系統及具有5個以上軸之系統。物件導向式設計提供產生一隨插即用程式庫之靈活性,隨插即用程式庫可連接及組態自身以模仿具有1至5個軸之任何正交工具機系統。另外,雖然本文中描述與工具機系統100一起使用,但運動控制系統200可與包括機器人之任何類型之運動系統一起使用。
虛擬運動機器214係基於本文中所論述之一或多個矩陣堆疊。此等矩陣堆疊(諸如,圖7A及圖7B中之270及280)包括描述工具機系統100之各軸150、152、154、156及158中之一或多者的特徵之矩陣。亦可在矩陣堆疊216中說明工具機系統100之額外特徵。舉例而言,零件160耦接至平臺
120。
參看圖3,作為一物件描述工具機系統100之各軸150、152、154、156及158中之每一軸。該等軸物件係自圖3中所表示之通用軸等級302導出。軸等級302係用於所有軸物件之基礎等級且界定軸物件之特性及方法。軸等級302包括各種軸屬性303及轉換矩陣305。軸基礎等級302含有所有導出軸物件擁有之共同資料及方法。
以下為包括於軸基礎等級302中之資料清單:
資料:
軸ID=對應於{X、Y、Z、A、B、C、S}之整數{0、1、2、3、4、5、6、7}
名稱=字串{"X"、"Y"、"Z"、"A"、"B"、"C"、"S")
類型=枚舉{線性、旋轉、傾斜、主軸}
位置=軸位置
矩陣=軸轉換矩陣
連接=枚舉{工具、零件}
最小位置=運動之下界
最大位置=運動之上界
軸極限存在=布爾(Boolean){真、假}
初始機器方向向量=機器參考框架中之表示正軸移動方向之向量。對於旋轉軸,對於右手正旋轉之軸中心線之向量方向。
最大輪廓速度=內插速度
最快速度=快速移動速度
方法:
若干方法包括於用於上述資料中之每一者的包括Set()及Get()函數之軸基礎等級中。
自軸等級302導出的為3個導出等級(線性軸320、主軸線321,及旋轉軸322)。主軸線等級321係自軸基礎等級導出。除軸基礎等級302資料及方法之外,主軸線等級321包括:
資料:
位置=相對於其連接至之軸之主軸座標系統原點
方法:
SetAxisS()=初始化函數
SetInitSpindleAxisDirectionWrtMachine(DirectionVector)=用於自基礎軸等級設定初始機器方向向量之函數
SetLocationWrtLastAxis()=用於設定相對於其連接至之最後軸的主軸座標系統之位置之函數
線性軸等級320係自軸基礎等級302導出。除軸基礎等級資料302及方法之外,線性軸等級320包括:
方法:
Translate()=用於藉由線性軸平移矩陣平移一向量或乘以一矩陣之函數
SetAxis(x,y,z)=初始化函數
旋轉軸等級322係自軸基礎等級302導出。除軸基礎等級302資料及方法之外,旋轉軸等級322包括:
資料:
中心線=旋轉軸之位置
方法:
SetAxis(a,b,c)=初始化函數
Rotate()=用於藉由旋轉而旋轉一向量或乘以一矩陣之函數
GetPerpendicularDistanceToAxis(Point)=用於返回至旋轉軸之垂直徑向距離之函數
基於機器組態208,虛擬運動機器214包括對應於圖1之軸150、152、154、156及158之五個機器特定軸物件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中,一旋轉組態類型屬性330係設定為完全旋轉、一最大速度屬性332,及一角度預設位置屬性334。參看圖4B,C軸258之中心線屬性324係界定為自x軸252之一偏移336及自y軸250之一偏移338。
參看圖5A及圖5B,藉由I/O模組206之一使用者介面328指定用於B軸256之屬性資訊。在圖5A中,一旋轉組態類型屬性330係設定為傾斜旋轉、一最大速度屬性332、一校正原位340、一負方向行進極限342,及一正方向行進極限344。參看圖5B,B軸256之中心線屬性324係界定為自x軸252之一偏移346及自z軸254之一偏移348。
由運動控制系統200藉由用於線性軸250、252及254之I/O模組206自一操作者接收類似屬性資訊。另外,可提供用於旋轉軸256及258之額外屬性。圖3至圖5中所列之屬性303及轉換305為例示性的且不意欲為詳盡的。
一旦界定所有軸,則運動控制系統200自一操作者接收各軸150、152、154、156及158之間的相依性,以使得虛擬運動機器214在對應軸物件250、252、254、256及258之間具有相同相依性。圖6中展示I/O模組206之使用者介面328的一用於設定軸250、252、254、256及258之間的相依性之例示性輸入螢幕。在一實施例中,該等軸之界定係在一工具機系統200之一初始設置期間完成,且除非需要,否則在隨後之操作期間不需要改變。
在圖6中,顯示由操作者界定之軸250、252、254、256及258中之每一者。一操作者可藉由一輸入部件(諸如,一觸摸式螢幕)突出顯示一給定軸(說明y軸250)。操作者接著可藉由選擇輸入350而將y軸250移至一零件運動軸次序清單356及一工具運動軸次序清單358中之另一者。操作者可藉由選擇輸入352而將y軸250在當前清單356中移至更高。操作者可藉由選擇輸入354而將y軸250在當前清單356中移至更低。
各軸在零件運動軸次序清單356及工具運動軸次序清單358中之次序為軟體控制器202提供各軸之相依性。每一清單356及358中所列之第一軸為用於彼特定清單之基礎軸。如圖6中所說明的,軸250、252、254、256及258之次序對
應於工具機系統100之軸150、152、154、156及158。如圖6中所排序的,在零件運動軸次序清單356中,x軸252與C軸258均與y軸250一起移動。另外,C軸258與x軸252一起移動,但y軸不與x軸一起移動。x軸250或y軸252均不與C軸之移動一起移動。對於工具運動軸次序清單358,B軸256與z軸254一起移動,但z軸254不與B軸256一起移動。最後,y軸250、x軸及C軸之移動獨立於z軸254及B軸256之移動。
如上所提及的,各軸250、252、254、256及258中之每一者具有一對應的轉換矩陣305。藉由知曉各軸250、252、254、256及258之相依性,虛擬運動機器214可產生用於計算各種類型之輸出資料之一或多個矩陣堆疊。虛擬運動機器214包括由一初始化組件218建立之一或多個矩陣堆疊216。矩陣堆疊216為一用於廣義運動程式庫210中以將多個轉換串聯在一起之通用方法。
圖7A及圖7B中表示兩個例示性矩陣堆疊216。一工具矩陣堆疊270係用於藉由轉換矩陣276之串聯而以數學方式模仿自一主軸座標系統(主軸)272中之工具尖端位置至一機器參考座標系統(m)274中之工具尖端位置的轉換。在圖7A之最左部分中以圖形表示工具矩陣堆疊270,且在圖7A之最右部分中以數學方式表示工具矩陣堆疊270。在一實施例中,對於工具機系統100(由虛擬運動機器214來表示),藉由等式(1)表示工具矩陣堆疊270。
其中為一表示工具尖端在主軸座標系統中之位置之行向量;[Transform spindle ]為自主軸座標系統至旋轉B軸座標系統之轉換;[Transfrom B ]為自旋轉B軸座標系統至z軸座標系統之轉換;[Transform z ]為自z軸座標系統至一機器座標系統之轉換;且為一表示工具尖端在機器座標系統中之位置之行向量。
展示於圖7B中之零件矩陣堆疊280係用於藉由轉換矩陣286之串聯而以數學方式模仿自工件座標系統(wp)282中之零件點至機器參考座標系統(m)284中之零件點的轉換。在圖7B之最左部分中以圖形表示零件矩陣堆疊280,且在圖7B之最右部分中以數學方式表示零件矩陣堆疊280。零件矩陣堆疊280含有用於零件運動鏈之所有軸運動矩陣以及零件設置矩陣290。本文中提供一確定零件設置矩陣290之方法。當相對於一轉換平面界定使用者程式時或當在程式中調用圖案化轉換時,可將額外矩陣推至零件矩陣堆疊上。廣義運動程式庫使用一轉換平面矩陣堆疊292,任何數目之轉換平面可堆疊至轉換平面矩陣堆疊292上。廣義
運動程式庫亦具有一預轉換平面矩陣堆疊294,任何數目之圖案化轉換可堆疊至預轉換平面矩陣堆疊294上。例示性圖案轉換包括平移、旋轉,及鏡射。如同任何矩陣堆疊一樣,轉換平面矩陣堆疊與預轉換平面矩陣堆疊皆可在不必刪除矩陣堆疊中之矩陣之情況下接通及斷開。因此,完整的零件矩陣堆疊280可含有圖7B中所說明之轉換。
在一實施例中,對於工具機系統100(由虛擬運動機器214來表示),藉由等式2表示零件矩陣堆疊280。
其中為表示在沒有轉換平面在作用中時之零件點在工件座標系統中的位置或表示在至少一轉換平面在作用中時之TransformMatrixStack中之頂部轉換平面的行向量;[Pre-TransformPlaneMatrixStack]為應用於輸入位置之圖案化轉換;[TransformPlaneMatrixStack]為自圖案化轉換堆疊中所界定之系統至零件設置座標系統之經串聯的TransformPlaneMatrixStack矩陣轉換;[PartSetupMatrix]為自零件座標系統至C軸座標系統之轉換;[Transfrom C ]為自旋轉C軸座標系統至x軸座標系統之轉換;
[Transform x ]為自x軸座標系統至y軸座標系統之轉換;[Transform y ]為自y軸座標系統至機器參考座標系統之轉換;且為表示零件點在參考機器座標系統中之位置之行向量。
應瞭解,上述用於工具尖端及零件點位置之說明性實例僅為例示性的,且一旦已建立各軸250、252、254、256及258之間的相依性,則可使用各種矩陣堆疊將各種類型之輸入資料轉換成各種類型之座標系統。
在一實施例中,以自機器參考座標系統284向外至主軸座標系統272之次序將矩陣推至矩陣堆疊270上,且以自機器參考座標系統284向外至工件座標系統282之次序將矩陣推至零件矩陣堆疊280上。工具機系統100之該等軸中之一者的每一移動不必需要重新計算各矩陣堆疊270及280。在一實施例中,廣義運動程式庫210判定是否需要重新計算一給定之矩陣堆疊。
舉例而言,假定機器座標系統284中需要工具尖端位置及零件位置。當切割零件160時,工具機系統100沿著x軸152(虛擬機器214中之x軸252)平移。因為零件已相對於機器座標系統284移動,所以廣義運動程式庫210將重新計算零件矩陣堆疊280,但因為工具141未相對於機器座標系統移動,所以廣義運動程式庫210將不重新計算工具矩陣堆疊270。此減少所執行的矩陣乘法之數目。在一實例中,當設定軸位置時,若軸位置不同於當前位置,則虛擬機器
214更新每一軸物件位置。若一軸位置改變,則在適當工具或零件矩陣堆疊270及280中設定一指示必須重新確定前向及反向矩陣堆疊轉換矩陣之旗標。當緊接著請求使用所需矩陣時,矩陣堆疊將重新確定所需矩陣。
可實施各種矩陣堆疊以相對於任何軸座標系統、工件座標系統282、主軸座標系統272或機器參考座標系統284確定任何點或向量。可實施其他矩陣堆疊以用於至一轉換平面座標系統296之轉換,諸如圖20中所展示的。可在交談式零件加工程式之程式設計會話中界定轉換平面298。
返回至圖2,虛擬運動機器214接收來自剖析器220之幾何形狀資訊,且確定對應於機器軸150、152、154、156及158之軸250、252、254、256及258(見圖3)中之每一者的實際機器位置。將此等機器位置提供至軸150、152、154、156及158之運動系統以定位由工具主軸138支撐之工具141及零件160。例示性運動系統包括伺服馬達。藉由發送至一即時銑削機232之位置資料230表示由虛擬運動機器214確定之機器位置。位置資料230不需要同時呈現給即時銑削機232,而是虛擬運動機器214可視需要而將用於一給定軸之一或多個緊鄰位置置放於一由即時銑削機232讀取之堆疊上。因此,當虛擬運動機器214正確定自第二位置至第三位置所採用之步長時,即時銑削機232可能正自一第一位置移動至一第二位置(穿過一系列中間點)。
藉由使軟體控制器202基於一指定機器組態208及一廣義
運動程式庫210而產生虛擬運動機器214,可結合多種實際機器來使用軟體控制器202。舉例而言,若平臺120可繞x軸152傾斜,則此可由傳遞至軟體控制器202之機器組態208來加以考慮。
此不僅增加軟體控制器202之靈活性,而且增加軟體控制器202之有用性。舉例而言,如圖2中所展示的,產生兩個額外虛擬機器234及236。虛擬機器234亦係基於機器組態208。因而,虛擬機器234與虛擬運動機器214相同,但可用於軟體控制器202之用於不同目的(諸如,模擬圖形應用程式245)之不同零件中。虛擬機器236係基於經由I/O模組206接收之第二機器組態238。虛擬機器234及236各自分別接收輸入資料240及242。
虛擬機器234及236提供輸出資料244及246。輸出資料244及246提供一應用程式所請求之資訊。在一實施例中,用於虛擬機器234及236中之一者或兩者之輸出資料為機器軸位置,諸如,用於一即時銑削機。在所說明之實施例中,虛擬機器234耦接至一模擬圖形軟體應用程式245。在一實施例中,模擬圖形應用程式245請求在一顯示器(工具圖形顯示器)上呈現工具尖端位置(在機器執行時間期間的工具尖端位置)。此位置可自所有工具機系統軸位置之位置來確定。其他例示性應用程式包括線框圖形軟體應用程式,及導出器軟體應用程式,或其他合適之應用程式247。在一實施例中,例示性輸出資料包括經機械加工之零件之當前形狀或經機械加工之零件的基於待由模擬圖形
應用程式245顯示之工具141之經程式設計的移動(包括工具141之位置)的模擬形狀。
在一實施例中,虛擬運動機器214係基於機器組態208,並處理零件加工程式204以將位置資料230提供至即時銑削機232,且虛擬機器236係基於機器組態208並處理一零件加工程式(作為輸入資料242)以作為輸出資料246而提供位置資料。因而,軟體控制器202之使用者可藉由即時銑削機232(諸如,圖1中所說明之5軸機器)切割一零件160,同時在一由機器組態236界定之四軸機器上程式設計另一零件,以用於以模擬圖形軟體應用程式245加以驗證或提供至一與該四軸機器相關聯之即時銑削機232。在一顯示器上顯示輸出資料246之一原因為檢驗干涉及其他問題幾何形狀或檢驗用於切割零件160之估計時間。以此方式,軟體控制器202容許藉由建構虛擬機器(諸如,虛擬機器214、234及236)而並行程式設計多個機器。亦可在一單獨確定器(諸如,膝上型電腦)上建構軟體控制器202。以此方式,使用者可程式設計一對應於工具機系統100之虛擬機器,且接著將所得機械加工程式提供至一工具機系統以機械加工一零件或以一模擬圖形應用程式245檢視。在此實例中,所得位置資料可為一NC程式或一交談式程式。
如本文中所陳述的,在一實例中,虛擬運動機器214基於複數個輸入工具位置確定軸250、252、254、256及258之位置。在一實施例中,虛擬機器214藉由一級聯方法400
確定軸250、252、254、256及258之位置。
圖8中說明級聯方法400。參看圖8,可將四種不同類型的輸入工具位置資訊402、404、406及408提供至級聯方法400,可自該等工具位置資訊確定軸250、252、254、256及258之位置。工具位置資訊402在本文中稱作類型4資料,且包括零件上之一用於工具之表面接觸點、接觸點處之零件表面之一表面法線向量,及一相對於工件座標框架282之工具向量。工具位置資訊404在本文中稱作類型3資料,且包括相對於工件座標框架282之一線性工具尖端位置及一工具向量方向。工具位置資訊406在本文中稱作類型2資料,且包括一相對於工件座標系統282之線性工具尖端位置及相對於零件座標系統285(圖20)之旋轉軸位置。零件座標系統285包括用於使工件座標系統對準機器參考座標系統284之旋轉偏移。若偏移為零,則工件座標系統相對於機器座標框架284係完全對準的。如此項技術中已知的,零件設置座標系統285為一通常的參考座標系統,且包括於本文中以提供相對於彼參考框架處理所接收資料或輸出資料之能力。在圖7B中之零件設置矩陣290中考慮零件設置座標系統285之偏移。工具位置資訊408在本文中稱作類型1資料,且包括相對於機器座標框架284之線性軸位置及旋轉軸位置。
如圖8中所說明的,視接收到何"類型"的輸入工具資料而定,級聯方法400向下級聯,從而確定輸入工具資料之下部數目類型,直至最終確定軸250、252、254、256及
258之軸位置及對應時間410為止。
主機應用程式軟體215根據標準物件導向式設計原理使用Get及Set函數調用虛擬運動機器214。存在用於上述所列之四種輸入類型中之每一者的單獨Set函數。當調用一Set函數時,虛擬運動機器214藉由級聯方法400處理資料。
在一實例中,藉由一來自主機軟體應用程式215之命令KM1.SetPositionType#4(x,y,z,u,v,w,i.j.k)將類型4資料提供至虛擬運動機器214。藉由(x,y,z)指定表面接觸點。藉由(u,v,w)指定表面法線向量。藉由(i,j,k)指定工具軸向量。相對於工件座標系統282界定輸入表面點、表面法線向量及工具向量中之每一者。
級聯方法400包括一用於自所提供之類型4確定類型3資料之方法。如先前陳述的,類型3資料包括相對於工件座標系統282之工具底部中心及工具向量。方法412在確定工具底部中心416(見圖22)及工具向量422中考慮工具141之形狀。在一實例中,方法412使用當前工具外半徑及轉角半徑確定工具底部中心416及工具向量422。
參看圖22,展示一表面接觸點414及一工具底部中心點416。亦展示工具轉角半徑之一中心418及一工具中心420點。最後,展示一工具向量422及一穿過點414之表面法線向量424。
藉由等式3來提供表面接觸點414與工具底部中心點416
之間的關係,
其中P=工件上之表面接觸點;N=P處之表面法線向量;T=工具軸向量;R=工具外長半徑;r=工具之半徑等式3描述自表面接觸點414至工具底部中心點之移動。項組合414至418及420至416,且項確定向量418至420。
藉由所提供之類型4輸入資料提供變數P、N及T。藉由一工具組態檔案提供變數R及r。基於等式3確定工具底部中心點416。
在圖23中所展示之狀況下(其中工具向量422與表面法線向量424重合),若工具外半徑不等於工具轉角半徑,則存在用於成切線地定位工具之無限解。在此狀況下,方法412定位工具底部中心416以接觸表面點414,此消除解之不明確性。對於工具轉角半徑等於工具中心半徑之球頭銑刀(ballnose endmill)而言,不存在無限解狀況。
方法412返回相對於工件座標系統282之工具底部中心位
置416以及作為類型4資料之部分而提供之工具向量422。在虛擬運動機器214中藉由一命令KM1.SetPositionType#3(x,y,z,i,j,k)將類型3資料提供至方法400之緊鄰層級。亦可由主機軟體應用程式215在虛擬運動機器214外部起始此命令。
級聯方法400包括一用於自類型3 404確定類型2資料406之方法426。如先前陳述的,類型2資料406包括一相對於工件座標系統282之工具底部中心416及相對於零件設置座標系統285之旋轉軸位置。方法426為機器旋轉軸(B軸256及C軸258)確定一用於使工具機系統100之工具主軸138對準類型3資料之工具向量422相對於工件之方位之解。對於工具機系統100,可存在用於B軸256及C軸258之位置的導致主軸138與具有輸入工具位置之工具向量422對準的兩個或兩個以上解。本文中描述類型2資料406之確定。
級聯方法400進一步包括一用於自類型2資料406計算類型1資料408之方法428。方法428選擇B軸256及C軸258之導致主軸線138與具有輸入工具位置之工具向量422對準的兩個可能解中之一者。另外,對於B軸256及C軸258之兩個解中之每一者而言,線性軸位置不同。在一實施例中,方法428基於工具之最後位置、移動類型、機器軸極限及/或工具是否將穿過機器之奇異點移動來選擇B軸256及C軸258之旋轉位置。方法428之輸出為類型I資料(工具機系統100之線性及旋轉軸位置)。
將類型1資料408提供至級聯方法400之一方法430。方法430確定各軸之至類型1資料408中所指定之位置的移動的
受軸速度限制之時間步長。在一實施例中,時間步長係基於工具尖端相對於工件之饋送速率。必要時可調整饋送速率以適應最大機器軸速度之違反。該方法更新運動機器軸位置且儲存位置資料以供輸出。如本文中所提及的,必要時將經更新之軸位置提供至虛擬運動機器214以用於更新矩陣堆疊216。
返回級聯方法400之方法426,自類型3資料404確定類型2資料406。在一實施例中,方法426包括一基於工具底部中心點416及工具向量422(其為用於相對於工件座標系統282之工具方位之向量)確定系統100之反向運動的基於向量之方法。雖然結合系統100論述方法426,但方法426可適應任何正交5軸機器。
在一實施例中,方法426遵循以下進程。首先,藉由應用零件設置轉換矩陣將相對於工件座標系統之工具向量422轉換成機器座標框架284。如圖7B中所說明的,零件設置轉換矩陣含有用於移動零件之軸之運動聯動中所連接的機器軸之所有偏移。
一般而言,對於一正交5軸機器之任何給定工具位置,存在兩個可能解,除了當傾斜軸156使主軸線139對準旋轉軸方向向量158時之情況之外。在此狀況下,因為機器定位於機器奇異點,所以存在無限解。
方法426檢驗以確定主軸線139之旋轉是否沿著機器奇異點。圖10A至圖10C中展示主軸線139之旋轉係沿著機器奇
異點的例示性情形。圖10A說明一主軸線139由於傾斜軸156之位置而平行於平臺120之一旋轉軸158的工具機系統100之情形。參看圖10B,一主軸線161平行於一可旋轉平臺167之一旋轉軸163,可旋轉平臺167由於一傾斜軸165之位置而支撐於一可傾斜平臺169上。參看圖10C,一主軸線171由於一中間可傾斜部件179之一傾斜軸177的位置而平行於一可旋轉部件175之旋轉軸173。
方法426基於如圖9A至圖9C中所說明之等式4之關係確定用於工具機系統100之傾斜軸(B軸156)之旋轉角:
其中TliltAngle為B軸之旋轉角;434為機器座標系統436中之輸入工具向量;且432為當傾斜軸角為零時的主軸線相對於機器座標系統之旋轉。
若TiltAngle在傾斜軸編碼器解析度之一容許度內或者在一操作者指定之傾斜軸精確度內等於奇異點傾斜角,則方法426認為工具向量422係沿著機器奇異點。在此情形中,若在虛擬運動機器中還未設定最後的旋轉位置,則方法426將B軸156之旋轉角設定為最後的旋轉角位置或設定為零。此防止對於退化狀況試圖確定旋轉角。
若經轉換之工具向量422不沿著機器之奇異點,則藉由參看圖9A至圖9C之以下步驟確定C軸158之旋轉角。使用
旋轉軸158、傾斜軸156及垂直於旋轉軸158及傾斜軸156之交叉向量0 440("TCR座標系統")設置一正交座標系統。等式5給出交叉向量0 440之方向。
工具向量422之沿著傾斜軸156之分量係藉由等式6來表達且在圖9C中標記為442。
工具向量422之沿著交叉向量0 440方向之分量係藉由等式7來表達且在圖9C中標記為444。
投影於傾斜軸與交叉向量0平面中之工具向量係藉由等式8來表達且在圖9C中標記為446
藉由等式10來確定C軸158之旋轉角。
如本文中所提及的,藉由方法426確定的分別用於b軸156及c軸158之傾斜角及旋轉角僅為用於一通用正交5軸機器之兩個可能解中之一者。在方法428中選擇最佳解。
在一實施例中,方法428確定選擇用於旋轉角及傾斜角之該等解中之哪個解。在確定用於旋轉角及傾斜角之較佳解中可考慮若干因素。例示性因素包括經確定的工具之自最後命令位置至緊鄰工具位置之內插路徑及是否已選擇一傾斜軸優選。兩個例示性內插路徑包括(1)沿著工具位置之間的軌道內插工具向量422,及(2)在工具位置之間線性地內插機器旋轉角及傾斜角。在一實施例中,內插為一線性內插。
在一實施例中,虛擬機器214進一步包括一在工具位置之間內插最短角橫越方向之方法。此方法可自動地應用於類型4及類型3輸入工具位置。當內插類型1在作用中時,亦自動使用此方法。
藉由傾斜軸優選,操作者可強制虛擬運動機器214將傾斜軸保持在機器之奇異點之任一側上。如圖21中所展示的,操作者可藉由選擇輸入482或在零件加工程式內選擇負傾斜軸優選、正傾斜軸優選,或沒有優選(中性的)。操作者可簡單指定一優選以使得機器在可能時使用該傾斜優選或可強制一優選以使得機器不可使用另一傾斜軸方向(負的或正的)。操作者或軟體控制器202可指定所需的或強制的傾斜軸優選之應用為當相對於一轉換平面298(見圖20)
界定一特徵時。當傾斜軸在圍繞奇異點之正方向及負方向上具有高度不對稱之軸限制時及/或當機器工作範圍在奇異點之一側上比另一側上大得多時,此傾斜軸優選特徵係有用的。當工具之內插路徑不具有任何利害關係時,使用者亦可強制虛擬運動機器214使用指定的傾斜軸優選側。
參看圖11A,展示用於工具機系統100之機器奇異點490。參看圖11B,展示一對應於一正傾斜軸優選之傾斜角。參看圖11C,展示一對應於一負傾斜軸優選之傾斜角。
在一實施例中,方法428如下進行。首先,若啟動一傾斜軸優選,則選擇對應於較佳傾斜軸方向之解且將旋轉角及傾斜角作為第一解而儲存。否則,若(1)輸入類型4資料,(2)輸入類型3資料,(3)一最短角橫越模式在作用中,或(4)一工具向量內插在作用中,則藉由以下方法來確定一最短角橫越旋轉及傾斜軸角解。
首先,如等式(11)及(12)中所表達而確定旋轉角之改變及傾斜角之改變。
△RotaryAngle1=RotaryAngleNext-RotaryAngleLast (11)其中△RotaryAngle1為旋轉角之改變RotaryAngleNext為所考慮的旋轉角;且RotaryAngleLast為先前位置之旋轉角。
△TiltAngle1=TiltAngleNext-TiltAngleLast (12)其中△TiltAngle1為傾斜角之改變;TiltAngleNext為所考慮之傾斜角;且TiltAngleLast為先前位置之傾斜角。
當計算最短角橫越解時考慮三種狀況:
狀況I-若計算替代旋轉解。
狀況II-若解#1為最短角橫越解。
狀況III-若
在狀況III中,兩個旋轉軸角解為等距的;兩個解均不為較短。在此狀況下,考慮△TiltAngle。確定至最後位置之替代角度解及角度差:
△TiltAngle2=AlternateTiltAngle-TiltAngleLast (13)其中AlternateTiltAngle為替代角度解;△TiltAngle2為最後的傾斜軸位置與替代角度解之間的差。
若(△TiltAngle1==△TiltAngle2),則兩個解為等距的,且選擇傾斜軸優選選項,接著將傾斜角設定為解#1。否則,若(△TiltAngle1≠△TiltAngle2),則選擇最短傾斜軸解且將其設定為等於解#1。
返回至類型1資料之確定,接下來,確定用於所選解之旋轉及傾斜軸角的前向運動以確定線性機器軸位置。藉由
零件矩陣堆疊280確定x軸及y軸之線性軸位置。藉由工具矩陣堆疊270確定z軸之線性軸位置。在一實施例中,藉由以下步驟來確定線性軸位置:將旋轉軸及傾斜軸物件位置設定為所選解1或解2;將所有線性軸物件位置設定為零;及重新計算零件及工具矩陣堆疊(280及270),計算前向運動以確定如由等式14及15表示之機器座標系統中之零件點及機器座標系統中之工具尖端。
TransformedPartPoint Mach =PartMatrixStack.ForwardTransform(PartPoint WP ) TransformedToolTip Mach =ToolMatrixStack.ForwardTransform(ToolTip SpindleZeroPoint ) DeltaVector Mach =TransformedPartPoint Mach -TransformedToolTip Mach (14-16)
DeltaVector為經轉換之零件點與經轉換之工具尖端之間的差,此向量用於平移線性軸以使工具接觸零件上之正確位置。廣義運動程式庫210知曉各軸270之間的相依性,及一給定軸是零件矩陣堆疊280之一部分還是工具矩陣堆疊270之一部分。
檢驗經確定之旋轉及傾斜軸位置及線性軸位置以確定其是否在一預定區域內,一例示性預定區域為受各軸之極限約束之區域。若軸位置中之任一者超出機器極限,則藉由I/O模組206將一錯誤報告給一操作者。在一實施例中,藉由顯示器上之錯誤訊息來報告該錯誤。在一實施例中,若滿足以下三個條件中之任一者,則報告錯誤:(1)工具機系統上存在小於5個軸;(2)傾斜軸優選在作用中且操作者已指定必須使用一特定傾斜軸方向(強制傾斜軸優選);或(3)
類型2輸入資料為提供至級聯方法400之最高次序資料且工具向量內插已斷開。否則,考慮解#2。
對於機器位置不在機器奇異點490處之情形,可基於等式17及18確定工具機系統100之替代或第二解,AlternateRotaryAngle=ConvertToZeroTo2PI(RotaryAngle+π) AlternateTiltAngle=(SingularityTiltAngle-TiltAngle)+SingularityTiltAngle (17,18)其中RotaryAngle為用於解1之旋轉角;TiltAngle為用於解1之傾斜角;且SingularityTiltAngle為傾斜軸在奇異點處之角度。
當最後的工具位置在機器奇異點490處時或當自最後的工具位置至緊鄰工具位置之內插將導致主軸穿過機器奇異點490時,必須考慮穿過機器奇異點之內插。在任一情形下,由方法428調用一內插方法,該內插方法在本文中稱為圍繞機器奇異點內插方法("MSP內插")。在一實施例中,MSP內插保持工具141與工件接觸且當工具141繞機器奇異點490旋轉時保持工具141相對於工件固定。
參看圖12A至圖12D,當工具機系統100之軸中之一或多者移動時,工具141保持與零件160接觸。在圖12A至圖12D中,零件160與工具141在繞機器奇異點490之180度旋轉中保持接觸。在MSP內插期間,工具141實質上保持相對於工件160固定。
當滿足以下條件時,MSP內插容許方法428選擇解#1或解#2,因為MSP內插可處理穿過機器奇異點490之主軸線139:若以下各者中之任一者為真,則可使用MSP內插:(1)提供類型4輸入資料;(2)提供類型3輸入資料;(3)最短角橫越選項在作用中;或(4)工具向量內插在作用中。
在第一情況下(圖13A至圖13C),最後的工具位置在機器奇異點490處且緊鄰工具位置不在機器奇異點490處。若傾斜軸優選在作用中,若對應於較佳傾斜軸側之解在機器極限內,則選擇該解。必要時,方法428將調用MSP內插以在最後的工具位置至緊鄰工具位置之間線性地內插工具向量。在此情形下,接著使用傾斜軸優選解自機器奇異點490至緊鄰工具位置進行內插。
在第二情況下,其中涵蓋旋轉軸158之一零度旋轉;解法1傾斜軸在奇異點之至最後的工具位置之相對側上;且如圖14A至圖14C中所說明的,解1傾斜軸角不在傾斜軸優選側上。參看圖14B,由用於最後位置之工具向量及用於緊鄰位置(解1)之工具向量界定的平面492圍繞座標系統原點且包括一與機器奇異點490重合之工具向量。
在此情況下,假定解2在機器極限內,則該方法將選擇解2以保持傾斜軸在優選側上。接著,如圖15A至圖15C中所說明的,該方法自最後位置454至機器奇異點490內插工具向量(圖15A),接著使用MSP內插繞機器奇異點490旋轉(圖15B),且接著使用解2自機器奇異點490至緊鄰工具位置458內插工具向量(圖15C)。
在第三情況下,如圖16A及圖16B中所展示的,解1具有旋轉軸158之180度旋轉,且解1傾斜軸在機器奇異點之與最後的工具位置相同之側上。在此情況下,結果視用於解1之傾斜軸角是否在傾斜軸優選側上而改變。若用於解1之傾斜軸角在傾斜軸優選側上,則方法將自最後位置至機器奇異點490內插,接著調用MSP內插,繼之以自機器奇異點490至對應於解1之緊鄰工具位置而內插工具向量。此為在本文中在圖15A至圖15C中說明且展示於圖17A及圖17B中之概念。
若用於解1之傾斜軸角不在傾斜軸優選側上,則方法將選擇解2且不必繞奇異點旋轉。此在圖17C中加以說明。
在第四情況下(圖18A至圖18C),其中先前的三種情況均不適用,解1具有旋轉軸158之任何其他旋轉且傾斜軸角不在機器奇異點490之與最後位置相同之側上。在此情況下,選擇解2,否則工具向量將不會內插相對於工件之正確軌道,因為解1將內插穿過奇異點移動之工具。
一旦確定正確解,若選擇內插且內插還未在作用中,則藉由內插來確定自最後位置至緊鄰位置之移動。在如本文中所描述之某些情況下,此移動包括工具向量穿過機器奇異點。在本文中亦描述之其他情形下,此移動不包括工具向量穿過機器奇異點。一旦完成內插,則將為類型I資料408之位置提供至級聯方法400中之方法430。
在如本文中所描述之情況下(其中自最後的工具位置至
緊鄰工具位置之移動包括工具向量穿過機器奇異點490),實施以下方法。藉由此方法內插之路徑使工具繞機器奇異點490旋轉以使得工具尖端及工具向量相對於工件座標系統282保持固定。當滿足以下條件時使用該方法:(1)工具向量內插在作用中;(2)先前已設定最後位置機器位置;及(3)旋轉軸158存在於機器中。
該方法遵循以下步驟。首先,確定最後位置傾斜角是否等於機器奇異點傾斜角。若否,則如下所述,藉由在機器奇異點490處界定一中間位置而自最後位置至機器奇異位置點內插運動。藉由經由級聯方法400發送中間機器奇異位置而進行該內插。接著自最後位置至機器奇異點490處所界定之中間位置內插運動。接著在機器奇異點490處執行一旋轉。最後,接著自機器奇異點處之中間位置至緊鄰位置490內插運動。在自最後位置至機器奇異點處之中間位置及自機器奇異點處之中間位置至緊鄰位置內插之狀況下,實施本文中所論述之內插方法階段2或者階段1及階段2。
對於類型4輸入資料,若(AngleLastAndNextSurfaceNormal=0),則用於先前位置之表面法線向量與用於緊鄰內插位置之表面法線向量共線。AngleLastAndNextSurfaceNormal係基於以下等式中之關係。
若(AngleLastAndNextSurfaceNormal≠0),則用於先前位置之表面法線向量與用於緊鄰內插位置之表面法線向量不共線。
基於以下等式中所展示之關係提供用於機器奇異位置之表面法線向量。
且SurfNormRotationAngle為基於等式20中之關係之角旋轉的量值,
其中△1=△SingularityToLastTiltAngle=LastTiltAngle-SingulariityTiltAngle △2=△SingularityToNextTiltAngle=NextTiltAngle-SingularityTiltAngle △3=△TotalTiltAngleTraverse=|△SingularityToLastTiltAngle|+|△SingularityToNextTiltAngle| (21-23)
基於以下等式確定用於機器奇異位置之表面接觸點。
SingularitySurfaceNormal、SingularitySurfacePoint及工具向量界定機器奇異點處之一相對於工件之中間位置。在
級聯方法400中將對應於機器奇異點490之中間位置發送至類型4輸入。現可如本文中所論述而內插自最後位置至機器奇異點之移動。
在未提供類型4資料之狀況下,如下確定中間機器奇異點。若(AngleLastAndNextToolVector=0),則用於先前位置之工具向量與用於緊鄰內插位置之工具向量共線。
AngleLastAndNextToolVector係基於等式25中之關係。
若(AngleLastAndNextToolVector≠0),則用於先前位置之工具向量與用於緊鄰內插位置之工具向量不共線。
基於等式26中所展示之關係提供用於機器奇異位置之工具向量,
其中為先前位置工具向量將繞之旋轉之向量,其係基於等式27中之關係來確定,
且ToolVectorRotationAngle為基於等式28中之關係之角旋轉的量值,
其中△1=△SingularityToLastTiltAngle=LastTiltAngle-SingularityTiltAngle △2=△SingularityToNextTiltAngle=NextTiltAngle-SingularityTiltAngle △3=△TotalTiltAngleTraverse=|△SingularityToLastTiltAngle|+|△SingularityToNextTiltAngle| (29-31)
基於等式32確定用於機器奇異位置之工具尖端位置。
SingularityToolTip及SingularityToolVector界定機器奇異點處之一相對於工件之中間位置。在級聯方法400中將對應於機器奇異點之中間位置發送至類型3輸入。現可如本文中所論述而內插自最後位置至機器奇異點之移動。
一旦自最後位置至機器奇異位置內插工具位置,則下一步驟為使工具及/或零件繞機器奇異點旋轉。確定用於使工具及/或零件繞機器奇異點旋轉之內插步驟之數目。在一實施例中,使用繞機器之奇異點旋轉的工具尖端之弦高誤差之量測來確定內插步驟之數目。在一實施例中,使用一固定遞增來確定內插步驟之數目。一例示性固定遞增為一固定角遞增。
機器奇異位置處之工具尖端至旋轉軸中心線之垂直徑向距離界定為RotaryRadialDistance。如本文中所論述而確定RotaryRadialDistance。
內插為一線性內插。基於自一操作者所接收之弦高誤差
容許度494(見圖21)確定位置之數目。圖19中展示弦高誤差容許度及其與弧角之關係。藉由以下方法耦合疊代數目。
假定滿足等式A中所提供之關係,(RotaryRadialDistance>0且RotaryRadialDistanceChordError且|△4|>0) (33)
則藉由等式34確定疊代數目,
其中ceil()函數上捨入至緊鄰整數;ChordError為操作者指定之容許度;△4=ShortestAngularTraverse(NextRotaryAngle-LastRotaryAngle) (35),其中函數ShortestAngularTraverse()返回兩個角位置之間的角度差,其小於或等於180度。若不滿足等式33中之關係,則內插方法將疊代數目設定為1。
在一實施例中,操作者可基於固定角步長496、498(見圖21)指定內插步驟之數目。例示性角步長包括約每隔十分之一度。此以等式36來表示,
其中項FixedRotaryAngularStep對應於所指定之角步長。否則將疊代數目設定為1。
一旦已確定疊代數目,則工具機系統100繞機器奇異點旋轉。為繞機器奇異點旋轉,改變各軸之位置中之一或多者。對於每一疊代,將傾斜角固定為奇異點傾斜角,知曉旋轉角,且藉由級聯方法400確定線性軸之位置。
在一實施例中,如等式37中所表示而將一CurrentRotaryAngle設定為等於先前旋轉角且藉由等式38提供角步長(θ step )。
CurrentRotaryAngle=LastPositionRotaryAngle (37)
應注意,角步長(θ step )小於或等於由操作者指定之FixedRotaryAngularStep。
接下來,在一循環中確定用於每一位置之旋轉角及工具尖端位置。將機器奇異位置工具向量、工具尖端、傾斜角及CurrentRotaryAngle提供至級聯方法400以確定線性軸之位置。若所有計算出之軸位置在機器極限內,則儲存該等位置以供輸出。若一位置在機器極限外部,則刪除所有經確定之位置且藉由反轉步長角、確定一新的△4及重新計算疊代數目而試圖在另一方向(亦即,用於等式35之△4之較長的角橫越)上繞機器奇異位置旋轉。在以下兩個條件下基於先前之△4之值確定新的△4若(△4previous<0),則△4new=△4previous+2π;或若(△4previous>0),則△4new=△4previous-2π。
注意,△4不可等於零;否則,將不存在繞奇異點之旋
轉。若此嘗試由於一位置在機器極限外部而失敗,則兩個內插方向均不可執行且方法拋出一超出機器極限之錯誤訊息。
最後,假定繞機器奇異點490之旋轉成功,則藉由級聯方法400發送緊鄰位置,且內插自中間機器奇異位置至緊鄰位置之移動。
在貫穿本揭示案之若干位置處,提及自第一位置(諸如,最後位置)至第二位置(諸如,機器奇異位置處之中間位置)內插一移動。以下兩階段內插方法為用於自第一位置至第二位置內插之例示性方法。該兩階段內插方法包括一第一階段,藉此自對應於第一位置之第一工具向量422A至對應於第二位置之第二工具向量422B內插工具向量。(參看圖24及圖25)
在此階段中,相對於工件座標系統282在第一位置與第二位置之間內插工具向量。雖然揭示具有軟體控制器202之物件導向式設計之線性內插系統,但可使線性內插系統過載以使用平滑曲線、非均勻有理B平滑曲線(non-uniform rational B-spline,NURBS)或任何其他內插機制。另外,此階段為一可選階段,且操作者或主機軟體應用程式215可選擇簡單地略過階段#1且直接進行至階段#2。
對於工具向量之線性內插,工具向量方向將在工具位置(第一位置與第二位置)之間穿過一圍繞座標系統原點之平
面(見圖25)內插。圖24及圖25中展示三個例示性內插工具向量位置1.1、1.2及1.3。提供用於確定該兩個工具位置之間的內插步驟之數目的兩個例示性方法。
一用於確定內插步驟之數目之第一例示性方法使用一固定角步長。操作者提供一用於兩個工具位置之間的工具向量之所要的角步長501(見圖21)。自等式39中之關係來確定用於內插之#Iterations:
其中#Iterations為疊代數目;NextToolVector為第二工具位置工具向量之方向上之單位向量;LastToolVector為第一工具位置工具向量之方向上之單位向量;且MaxAngleStep為所要的角步長。
若類型3資料經提供用於兩個工具位置,則使用等式39。若類型4資料經提供用於兩個工具位置,則基於等式40及41來確定#Iterations。
#Iterations=max(#Iterations,#IterationsSurfNormal)其中
#IterationsSurjNormal為基於表面法線之疊代數目;LastSurfaceNormal為用於第一位置之表面法線之方向上的單位向量;NextSurfaceNormal為用於第二位置之表面法線之方向上的單位向量;且MaxAngleStep為所要的角步長。
接著選擇等式39及等式40中所確定的疊代數目中之較大者作為疊代數目,如藉由等式41所表示的。
一用於確定內插步驟之數目之第二例示性方法使用一所要的時間步長。操作者提供一用於兩個工具位置之間的工具向量之所要的時間步長503(見圖21)。自等式42中之關係確定用於內插之#Iterations:TimeStepFromLastToNext=
GetMinTimeStepBetweenPositions(LastPosition,NextPosition,WorkpieceRelativeFeedrate) (42)其中TimeStepFromLastToNext為零件加工程式中所指定的自最後位置至緊鄰位置之時間步長;LastPosition對應於第一位置;NextPosition對應於第二位置;且WorkpieceRelativeFeedrate對應於零件加工程式中所指定的工具尖端相對於工件之饋送速率。
函數GetMinTimeStepBetweenPositions確定兩個工具位置之間的線性內插軸速度,且若原始饋送速率違反軸最大速度中之任一者,則將時間步長且因此將饋送速率鉗制為最
大軸速度。該函數返回用於移動的經鉗制之時間步長。然而,此時間戳僅為最終時間步長之近似值,因為工具向量之線性內插將不可避免地改變機器軸內插,此可增加計算出的線性內插移動之時間步長。當計算工具路徑內插位置時,工具位置級聯中之類型#1位置輸入將計算及鉗制用於每一內插位置之實際最終時間步長及饋送速率。最後,藉由等式(43)中之關係來提供疊代數目,
其中#Iterations為疊代數目;且MaxTimeStep對應於由操作者輸入參數指定之內插時間步長。
一旦確定疊代數目,則確定內插工具向量及對應的內插工具位置。藉由級聯方法400發送內插工具向量及對應的內插工具位置中之每一者以確定用於內插位置之軸中的每一者之位置。
在一實施例中,以以下方式內插工具向量及工具位置。藉由等式(44)中所展示之關係來確定先前位置與緊鄰內插位置之間的角度。
若(AngleLastAndNextToolVector=0),則用於先前位置之工具向量與用於緊鄰內插位置之工具向量共線。若(AngleLastAndNextToolVector≠0),則用於先前位置之工具向量與用於緊鄰內插位置之工具向量不共線。
基於等式(45)中之關係來確定先前位置工具向量將繞之旋轉之向量,
其中CrossVector1為內插工具位置時先前位置工具向量將繞之旋轉之向量(在工件座標中);LastToolVector為用於先前位置之工具向量;且NextToolVector為用於緊鄰內插位置之工具向量。
假定已提供類型4資料,則對表面法線完成一類似運用。
基於等式(47)中之關係來確定先前位置表面法線向量將繞之旋轉之向量,
其中CrossVector2為內插工具位置時先前位置表面法線向量將繞之旋轉之向量(在工件座標中);LastSurfaceNormal為用於先前位置之表面法線向量;且NextSurfaceNormal為用於緊鄰內插位置之表面法線向量。
知曉CrossVector1,則可確定內插工具向量及內插工具尖端位置(工具底部中心)。對於(AngleLastAndNextToolVector=0)之每一疊代,如等式48中所指示的,將內插工具向量設定為等於先前位置之工具向量。
若對於一給定疊代(AngleLastAndNextToolVector≠0),則基於等式49中之關係來確定內插工具向量,
其中InterpolatedToolVector對應於內插工具向量;ToolVectorRotationAngle為工具向量將被旋轉之角度且係基於等式50中之關係而確定;且RotateAboutCrossVector1為使LastToolVector繞CrossVectorl旋轉一等於ToolVectorRotationAngle之值之角度的函數。
基於等式50中之關係來確定ToolVectorRotationAngle。
基於等式(51)中所提供之關係來確定內插工具尖端。
InterpolatedToolTip及InterpolatedToolVector對應於用於內插工具尖端及內插工具向量之類型3資料。將此資料輸入級聯方法400中以確定各軸之位置。
在一提供類型4資料之實施例中,以以下方式內插表面法線向量及表面點位置。藉由等式(46)中所展示之關係確定先前位置之表面法線與緊鄰內插位置之表面法線之間的角度(AngleLastAndNextSurfaceNormal)。
若對於一給定疊代AngleLastAndNextSurfaceNormal等於零,則如等式52中所指示的,將內插表面法線向量設定為等於先前位置之表面法線向量。
若對於一給定疊代(AngleLastAndNextSurfaceNormal≠0),則基於等式(53)中之關係來確定內插表面法線向量,
其中InterpolatedSurfaceNormal對應於內插表面法線向量;SurfaceNormalRotationAngle為表面法線向量將被旋轉之角度且係基於等式54中之關係而確定;且RotateAboutCrossVector2為使LastSurfaceNormal繞CrossVector2旋轉一等於SurfaceNormalRotationAngle之值之角度的函數。
基於等式54中之關係來確定SurfaceNormalRotationAngle。
基於等式55中所提供之關係來確定內插表面點。
InterpolatedSurfacePoint及InterpolatedSurfaceNormal對應於用於內插表面接觸點及內插表面法線向量之類型4資料。將此資料輸入級聯方法400中以確定各軸之位置。
一旦藉由級聯方法400確定了機器位置,則不管其係基
於InterpolatedToolTip及InterpolatedToolVector或基於InterpolatedSurfacePoint及InterpolatedSurfaceNormal,均執行一第二內插階段。第二階段內插確定是否應確定另一內插,且其係基於兩個方法(1)容許度方法及(2)固定角步長方法中之一者。在任一內插方法中,在工件座標系統中內插工具尖端。再一次,雖然呈現一具有軟體控制器202之物件導向式設計之線性內插系統,但可以其他例示性內插系統替代該線性內插系統。例示性內插系統為平滑曲線、NURBS或任何其他合適之內插機制中。
一基於容許度之例示性內插系統係基於與B軸及C軸相關聯之弦高誤差。分別在等式56及57中給出B軸及C軸之角改變。
△5=(NextTiltAngle-LastTiltAngle) (56)
△4=(NextRotaryAngle-LastRotaryAngle) (57)
對於弦高誤差容許度方法,使用繞旋轉及傾斜軸中心線移動之工具尖端之弦高誤差計算內插點之數目。如等式58中所表示的,選擇用於最後位置及緊鄰位置之自工具尖端至C軸之最大垂直徑向距離,MaxRotaryRadialDistance=max(RotaryRadialDistance1,RotaryRadialDistance2) (58)其中RotaryRadialDistance1為最後位置(此可為階段#1工具向量內插方法中所計算之最後位置)之工具尖端至旋轉軸中心
線之垂直徑向距離;且RotaryRadialDistance2為緊鄰位置(此可為階段#1工具向量內插演算法中所計算之緊鄰位置)之工具尖端至旋轉軸中心線之垂直徑向距離。
如等式59中所表示的,以一類似方式選擇用於最後位置及緊鄰位置之自工具尖端至B軸之最大垂直徑向距離,MaxTiltRadialDistance=max(TiltRadialDistance1,TiltRaaialDistance2) (59)
TiltRadialDistance1為最後位置(此可為階段#1工具向量內插方法中所計算之最後位置)之工具尖端至傾斜軸中心線之垂直徑向距離;且TiltRadialDistance2為最後位置(此可為階段#1工具向量內插方法中所計算之緊鄰位置)之工具尖端至傾斜軸中心線之垂直徑向距離。
基於本文中在計算工具尖端至旋轉軸中心線之徑向距離部分中所論述之方法確定距離RotaryRadialDistance1、RotaryRadialDistance2、TiltRadialDistance1及TiltRaaialDistance2。
內插為一在由使用者指定之弦高誤差容許度內之線性內插。弦高誤差容許度表示於圖19中。該方法確定是否需要額外內插或階段1中所確定之內插之數目是否滿足所要容許度。檢驗旋轉軸(C軸)與傾斜軸(B軸)。
關於旋轉軸,若等式60中之關係為真,則可能需要額外內插。
(MaxRotaryRadialDistance>0且MaxRotaryRadialDistance ChordError且|△4|>0) (60)
若等式60中之關係為真,則基於等式61來確定疊代數
目。
否則,如等式62中所表示的,將疊代數目設定為等於1。藉由將疊代數目設定為1,可不需要額外內插,因為緊鄰疊代對應於來自階段1之緊鄰位置。
#RotaryIterations=1 (62)
關於傾斜軸,若等式63中之關係為真,則可能需要額外內插。
(MaxTiltRadialDistance>0且MaxTiltRadialDistance ChordError且|△5|>0) (63)
若等式63中之關係為真,則基於等式64來確定疊代數目。
否則,如等式65中所表示的,將疊代數目設定為等於1。藉由將疊代數目設定為1,可不需要額外內插,因為緊鄰疊代對應於來自階段1之緊鄰位置。
#TiltIterations=1 (65)
假定B軸及C軸中之至少一者之疊代數目不為1,則確定額外的內插位置。如藉由等式66所表示的,疊代數目為對
於B軸及C軸所確定的疊代數目中的較大者。
#Iterations=max(#RotaryIterations,#TiltIterations) (66)
等式67至69指示內插位置之間的改變,且將初始位置設定為最後位置並藉由等式70至72確定內插位置。
△ToolTip WP =(NextToolTip WP -LastToolTip WP )/#Iterations (67)
△RotaryAngle=(NextRotaryAngle Mach -LastRotaryAngle Mach )/#Iterations (68)
△TiltAngle=(NextTiltAngle Mach -LastTiltAngle Mach )/#Iterations (69)
InterpolatedToolTip WP =LastToolTip WP (70)
InterpolatedRotaryAngle Mach =LastRotaryAngle Mach (71)
InterpolatedTiltAngle Mach =LastTiltAngle Mach (72)
接著如等式73至75中對於第一中間位置所表示的,藉由將一來自等式67至69之額外改變值與等式70至72中之值相加而確定中間位置。
InterpolatedToolTip WP =InterpolatedToolTip WP +△ToolTip WP (73)
InterpolatedRotaryAngle Mach =InterpolatedRotaryAngle Mach +△rotaryAngle (74)
InterpolatedTiltAngle Mach =InterpolatedTiltAngle Mach +△TiltAngle (75)
一旦藉由等式73至75確定內插位置,則將資料作為類型2輸入提供至級聯方法400以確定對應的機器位置。
一基於角步長之例示性內插系統係基於一由操作者指定之角步長。關於角步長,若等式76中之關係為真,則需要相對於旋轉軸之額外內插。
(|△4|>0) (76)
若等式76中之關係為真,則基於等式77來確定疊代數
目。
否則,如等式78中所表示的,將疊代數目設定為等於1。藉由將疊代數目設定為1,除非傾斜軸指示需要額外內插,否則不需要額外內插,因為緊鄰疊代對應於來自階段1之緊鄰位置。
#RotaryIterations=1 (78)
關於角步長,若等式79中之關係為真,則需要相對於傾斜軸之額外內插。
(|△5|>0) (79)
若等式79中之關係為真,則基於等式80確定疊代數目。
否則,如等式TT中所表示的,將疊代數目設定為等於1。藉由將疊代數目設定為1,除非旋轉軸指示需要額外內插,否則不需要額外內插,因為緊鄰疊代對應於來自階段1之緊鄰位置。
#TiltIterations=1 (81)
假定B軸及C軸中之至少一者之疊代數目不為1,則確定額外內插位置。如藉由等式82表示的,疊代數目為對於B軸及C軸所確定之疊代數目中的較大者。
#Iterations=max(# RotaryIterations,#TiltIterations) (82)
藉由等式83至85指示內插位置之間的改變,且將初始位置設定為來自階段1之兩個位置中之第一位置,初始位置如等式86至88所表示而內插。
△ToolTip WP =(NextToolTip wp -LastToolTip WP )/#Iterations (83)
△RotaryAngle=(NextRotaryAngle Mach -LastRotaryAngle Mach )/#Iterations (84)
△TiltAngle=(NextTiltAngle Mach -LastTiltAngle Mach )/#Iterations (85)
InterpolatedToolTip WP =LastToolTip WP (86)
InterpolatedRotaryAngle Mach =LastRotaryAngle Mach (87)
InterpolatedTiltAngle Mach =LastTiltAngle Mach (88)
接著如等式89至91中對於第一中間位置所表示的,藉由將一來自等式83至85之額外改變值與等式86至88中之值相加而確定中間位置。
InterpolatedToolTip WP =InterpolatedToolTip WP +△ToolTip WP (89)
InterpolatedRotaryAngle Mach =InterpolatedRotaryAngle Mach +△rotaryAngle (90)
InterpolatedTiltAngle Mach =InterpolatedTiltAngle Mach +△TiltAngle (91)
一旦藉由等式89至91確定內插位置,則將資料作為類型2輸入提供至級聯方法400以確定對應的機器位置。
此方法對於儲存於軸物件中之當前機器位置計算工具尖端至機器之旋轉及傾斜軸中心線之垂直徑向距離。在本文中在階段2內插方法及圍繞機器奇異點之內插中使用該方法。
該方法將相對於主軸零座標系統之工具尖端遞增地轉換
成每一軸之座標系統。轉換方向為自工具尖端朝向工件座標系統。在遞增轉換過程期間,當當前經轉換之點在一旋轉軸之座標系統中時,計算垂直徑向距離。在所說明之實例中,工具機系統100具有一單一傾斜軸及一單一旋轉軸。
如藉由等式92表示的,將當前點設定為等於相對於主軸零點之工具底部中心。
CurrentPoint=ToolBottomCenter Spindle (92)
藉由工具矩陣堆疊將CurrentPoint自主軸座標系統轉換成機器參考座標系統。對於第i軸,藉由等式93表示該轉換。
CurrentPoint=ToolMatrixStack[i] → GetMatrix()* CurrentPoint (93)
因為CurrentPoint橫越工具矩陣堆疊,所以檢驗每一軸以確定其為旋轉軸還是傾斜軸。若第i軸為一旋轉軸,則如等式94所表示而確定自第i軸座標系統中之CurrentPoint至第i軸之距離。
RotaryRadialDistance=ToolMatrixStack[i] → GetPerpendicularDistanceToAxis(CurrentPoint) (94)
若第i軸為一傾斜軸,則如等式95所表示而確定自第i軸座標系統中之CurrentPoint至第i軸之距離。
TiltRadialDistance=ToolMatrixStack[i] → GetPerpendicularDistanceToAxis(CurrentPoint) (95)
一旦工具矩陣堆疊經橫越,則CurrentPoint保持工具尖端相對於機器參考座標系統之值。另外,在工具機系統100之狀況下,TitlRadialDistance等於自B軸座標系統中之工具底部中心至B軸之垂直距離。
接下來,自機器參考座標系統朝向工件座標系統橫越零件矩陣堆疊,在最後軸處停止(亦即,直至工件座標系統但不包括工件座標系統)。因此,使用反向轉換矩陣自底部至頂部橫越零件矩陣堆疊。
藉由零件矩陣堆疊將CurrentPoint自機器參考座標系統轉換成工件座標系統。對於第i軸,藉由等式96表示該轉換。
Matrix=PartMatrixStack[i] → GetMatrix()
Matrix.InvertRigidTransformation()
CurrentPoint=Matrix * CurrentPoint (96)
因為CurrentPoint橫越零件矩陣堆疊,所以檢驗每一軸以確定其為旋轉軸還是傾斜軸。
若第i軸為旋轉軸,則如等式97所表示而確定自第i軸座標系統中之CurrentPoint至第i軸之距離。
RotaryRadialDistance=PartMatrixStack[i] → GetPerpendicularDistanceToAxis(CurrentPoint) (97)
若第i軸為傾斜軸,則如等式98所表示而確定自第i軸座標系統中之CurrentPoint至第i軸之距離。
TiltRadialDistance=PartMatrixStack[i] → GetPerpendicularDistanceToAxis(CurrentPoint) (98)
一旦零件矩陣堆疊經橫越,則CurrentPoint保持工具尖端相對於工件座標系統之值。
此方法檢驗一給定的時間步長以確保其不會造成給定軸試圖比其最大速度更快地移動。在級聯方法400之方法430及階段#1時間步長工具向量內插中使用此方法。另外,如
等式99所表示的,時間步長導致具有工具相對於工件座標系統之通常恆定的饋送速率之移動。
TimeStep=ComputeTimeStepForConstantWorkpieceFeedrate() (99)
若移動違反軸最大速度中之任一者,則鉗制時間步長。檢驗每一軸且若違反多個軸最大速度,則使用可接受的最小時間步長。
對於每一軸,若等式100中所提供之關係為真,則需要鉗制時間步長。
MaxAxisSpeed=Axis[i] → GetMaxSpeed() (102)
等式103給出時間步長之值。
矩陣堆疊(諸如,工具矩陣堆疊及零件矩陣堆疊)為一用於廣義運動程式庫中將多個轉換串聯成單一矩陣之通用方法。在一實施例中,對於廣義運動程式庫,僅使用旋轉及平移轉換來描述機器軸之間的運動關係。使用齊次轉換允許矩陣堆疊將旋轉及平移轉換串聯成單一轉換矩陣。因此,當一矩陣堆疊之前向或反向轉換矩陣用於一個以上計算時,僅進行一次矩陣堆疊中之所有矩陣之乘法。
一矩陣堆疊可含有任何數目之矩陣。一矩陣堆疊亦可具有推至其上之其他矩陣堆疊之前向或反向轉換矩陣。可接通及斷開一矩陣堆疊而不必取出堆疊之所有矩陣。
如以下部分中所闡釋的,由於工具矩陣堆疊及零件矩陣堆疊中之矩陣之性質,可簡化計算。另外,由於工具矩陣堆疊及零件矩陣堆疊中之矩陣之性質,用於廣義運動程式庫中之轉換矩陣之反矩陣可利用本文中所闡釋之方法。
子矩陣方法藉由將齊次幾何轉換矩陣分解成子矩陣且基於該等子矩陣為恆等矩陣還是零轉換而對子矩陣應用運算來減少矩陣運算之執行時間。
子矩陣方法係基於以下決策規則:
藉由幾何子矩陣之恆等性來驅動此決策規則。決策制定過程係基於布爾邏輯,諸如,二元。在決策制定過程本身中,追蹤子矩陣之恆等狀態以避免計算恆等性。將由等式105表示之2乘2布爾決策矩陣(D)添加至矩陣等級以支援決策制定及對具有四個子矩陣之以下齊次轉換矩陣(T)之恆等性追蹤。
該2乘2布爾決策矩陣之每一元素對應於其4乘4轉換矩陣(T)之對應元素。
如圖26中所展示的,布爾決策矩陣與轉換矩陣之間的對應為一一對應。
可使用布爾決策矩陣(D)最佳化轉換矩陣(T)乘法之計算複雜性。
T3=T1.T2 (107)
將105插入107中給出:
因為用於工具機之幾何轉換為剛性轉換,所以剪切基元為零。因此,以下個別所得子矩陣導致一可重新組合成一完整齊次轉換矩陣T3之均等轉換:
首先,吾人具有旋轉子矩陣。
接下來,平移子矩陣。
t3=R1.t2+t1.k2, (110)
接著,剪切子矩陣。
子矩陣之運算為乘法及加法,乘法及加法為二元的且具有兩個運算元及以下特性。
特性1.乘法之恆等運算元(亦即,值1)直接構成至所得矩陣之其他矩陣之運算元。
特性2.乘法之零運算元導致所得矩陣中之零。
作為矩陣等級之一等級變數添加決策布爾矩陣m_bDefaultSubmatrix。僅當對應子矩陣為零或恆等矩陣時,決策布爾矩陣之元素才為真。否則,元素為假。以零(平移及剪切)及恆等(旋轉及定標)子矩陣初始化轉換矩陣。因此,決策布爾矩陣係以為真之所有布爾值來初始化。
以下規則適用於該等處理。
1.當情形符合特性1時,略過乘法。
2.當情形符合特性2時,略過乘法及加法。
對於略過運算之實施,以以下方式利用決策制定規則(1):
1. R3=R2若d R1=真。
2. R3=R1若d R2=真。
3.略過R1.t2若d R1=真。
4.略過加法若d t1=真或d t2=真。
接著更新布爾決策矩陣。當必須執行矩陣元素之乘法時,針對以下條件檢驗兩個元素:
若任一元素為零,則不對元素執行乘法。
若任一元素等於1,則不執行乘法。元素運算返回不等於1之元素。
對具有向量及點之矩陣加法、減法及乘法實施使用布爾決策矩陣之類似最佳化。
通用矩陣係使用計算上昂貴的Gauss-Jordan消除、LU分解或其他類似方法加以反轉。具有正交旋轉子矩陣之剛性轉換矩陣之特性允許藉由對個別轉換子矩陣應用簡單運算(代替使用計算上較昂貴之方法)而反轉剛性轉換矩陣。以下等式展示如描述於I.Zeid之"CAD/CAM Theory and Practice"(McGraw-Hill,1991)中之反矩陣最佳化,該文件之揭示內容以引用之方式明確併入本文中:
將105插入113中給出:
其中
t2=-R2.t1 (116)
k 2=k 1=1 (118)
零件設置矩陣界定自零件運動鏈中之最後軸座標系統至用於機器上之零件之工件座標系統的轉換。用於計算零件設置矩陣之輸入為機器軸相對於用於零件設置之機器參考座標系統之位置及當確定用於零件設置之機器軸位置時所使用的探針或工具長度。知曉機器之所有軸之間的運動關係,可以以下方式確定零件設置矩陣。
對於以下計算,假設零件設置矩陣為零件矩陣堆疊中之一4×4恆等矩陣。
WorkpieceZero TableLastAxis =PartMatrixStack.InverseMatrix()| PartSetupPositions * ToolMatrixStack.ForwardMatrix()| PartSetupPositions * ToolTipTransformMatrix * (119)
[0 0 0 1]T
其中PartMatrixStack.InverseMatrix()| ZeroCalibration 為當將所有零件軸設定至其零件設置軸位置時所估計的零件矩陣堆疊反向轉換矩陣。(120)
ToolMatrixStack.ForwardMatrix()| partSetupPositions 為當將所有工具軸設定至其零件設置軸位置時所估計的工具矩陣堆疊前向轉換矩陣堆疊。(121)
ToolTipTransformMatrix為自工具尖端座標系統至主軸線
座標系統之轉換。其為一含有工具尖端相對於主軸線座標系統之偏移的簡單平移矩陣。
可藉由下式相對於台板最後軸界定工件座標系統中之任何點:WorkpiecePoint TableLastAxis =PartMatrixStack.InverseMatrix()| PartSetupPositions * ToolMatrixStack.ForwardMatrix()| PartSetupPositions * ToolTipTransformMatrix * WorkpiecePoint Workpiece
因此,可藉由以下等式確定零件設置矩陣,注意,零件矩陣堆疊中之零件設置矩陣為一4×4恆等矩陣。
PartSetupMotrix=PartMatrixStack.InverseMatrix()| PartSetupPositions * ToolMatrixStack.ForwardMatrix()| ParSetupPositions * ToolTipTransformMatrix
接著將新的零件設置矩陣推至零件矩陣堆疊之頂部上。
應注意,本文中所參考之所有表面法線向量及工具向量均假定為經正規化以用於本文中所揭示之方法。
雖然已將本發明描述為具有一例示性設計,但可在本揭示案之精神及範疇內進一步修改本發明。因此,本申請案意欲使用其一般原理覆蓋本發明之任何變化、使用或調適。另外,本申請案意欲覆蓋在本發明所屬之技術中的已知或慣常實踐之範圍內的自本揭示案之偏離。
1.1‧‧‧內插工具向量位置
1.2‧‧‧內插工具向量位置
1.3‧‧‧內插工具向量位置
100‧‧‧工具機系統
102‧‧‧框架
104‧‧‧第一鞍形物
106‧‧‧方向
108‧‧‧方向
110‧‧‧第二鞍形物
112‧‧‧方向
114‧‧‧方向
120‧‧‧平臺
122‧‧‧方向
124‧‧‧方向
126‧‧‧第三鞍形物
128‧‧‧方向
130‧‧‧方向
132‧‧‧可旋轉部件
134‧‧‧方向
136‧‧‧方向
138‧‧‧工具主軸
139‧‧‧工具主軸線
141‧‧‧工具
144‧‧‧工具回轉料架
150‧‧‧y軸
152‧‧‧x軸
154‧‧‧z軸
156‧‧‧B軸/傾斜軸
158‧‧‧C軸/旋轉軸方向向量/旋轉軸
160‧‧‧零件/工件
161‧‧‧主軸線
163‧‧‧旋轉軸
165‧‧‧傾斜軸
167‧‧‧可旋轉平臺
169‧‧‧可傾斜平臺
171‧‧‧主軸線
173‧‧‧旋轉軸
175‧‧‧可旋轉部件
177‧‧‧傾斜軸
179‧‧‧可傾斜部件
200‧‧‧運動控制系統/工具機控制軟體/CNC控制器
202‧‧‧軟體控制器
204‧‧‧零件加工程式
206‧‧‧I/O模組
208‧‧‧機器組態/組態資料
210‧‧‧物件導向式廣義運動程式庫
214‧‧‧虛擬運動機器
215‧‧‧主機軟體應用程式
216‧‧‧矩陣堆疊
217‧‧‧應用程式設計介面(API)
218‧‧‧初始化組件
220‧‧‧剖析器
230‧‧‧位置資料
232‧‧‧即時銑削機
234‧‧‧虛擬運動機器/虛擬機器
236‧‧‧虛擬運動機器/虛擬機器
238‧‧‧第二機器組態
240‧‧‧輸入資料
242‧‧‧輸入資料
244‧‧‧輸出資料
245‧‧‧圖形應用程式
246‧‧‧輸出資料
247‧‧‧應用程式
250‧‧‧機器特定軸物件/y軸
252‧‧‧機器特定軸物件/x軸
254‧‧‧機器特定軸物件/z軸
256‧‧‧機器特定軸物件/B軸
258‧‧‧機器特定軸物件/C軸
270‧‧‧工具矩陣堆疊
272‧‧‧主軸座標系統(主軸)
274‧‧‧機器參考座標系統(m)
276‧‧‧轉換矩陣
280‧‧‧零件矩陣堆疊
282‧‧‧工件座標系統(wp)/工件座標框架
284‧‧‧機器參考座標系統(m)/機器座標框架
285‧‧‧零件座標系統/零件設置座標系統
286‧‧‧轉換矩陣
290‧‧‧零件設置矩陣
292‧‧‧轉換平面矩陣堆疊
294‧‧‧預轉換平面矩陣堆疊
296‧‧‧轉換平面座標系統
298‧‧‧轉換平面
302‧‧‧通用軸等級/軸基礎等級
303‧‧‧軸屬性
305‧‧‧轉換矩陣
320‧‧‧線性軸
321‧‧‧主軸線
322‧‧‧旋轉軸
324‧‧‧中心線屬性
328‧‧‧使用者介面
330‧‧‧旋轉組態類型屬性
332‧‧‧最大速度屬性
334‧‧‧角度預設位置屬性
336‧‧‧偏移
338‧‧‧偏移
340‧‧‧校正原位位置
342‧‧‧負方向行進極限
344‧‧‧正方向行進極限
346‧‧‧偏移
348‧‧‧偏移
350‧‧‧輸入/軸
352‧‧‧輸入/軸
354‧‧‧輸入/軸
356‧‧‧軸/零件運動軸次序清單
358‧‧‧軸/工具運動軸次序清單
400‧‧‧級聯方法
402‧‧‧工具位置資訊
404‧‧‧工具位置資訊/類型3資料
406‧‧‧工具位置資訊/類型2資料
408‧‧‧工具位置資訊/類型1資料
410‧‧‧對應時間
414‧‧‧表面接觸點
416‧‧‧工具底部中心/工具底部中心點/工具底部中心位置
418‧‧‧中心
420‧‧‧工具中心
422‧‧‧工具向量
422A‧‧‧第一工具向量
422B‧‧‧第二工具向量
424‧‧‧表面法線向量
432‧‧‧主軸線之旋轉
434‧‧‧輸入工具向量
436‧‧‧機器座標系統
440‧‧‧交叉向量0
442‧‧‧工具向量之分量
444‧‧‧工具向量之分量
446‧‧‧工具向量之投影
454‧‧‧最後位置
458‧‧‧工具位置
482‧‧‧選擇輸入
490‧‧‧機器奇異點
492‧‧‧平面
494‧‧‧弦高誤差容許度
496‧‧‧固定角步長
498‧‧‧固定角步長
501‧‧‧角步長
503‧‧‧時間步長
圖1說明一例示性工具機系統;圖2說明圖1之例示性工具機系統之一運動控制系統的代表性視圖;圖3說明軸物件之代表性視圖;
圖4A及圖4B說明一用於提供關於一旋轉C軸之特徵之使用者介面的例示性輸入螢幕;圖5A及圖5B說明一用於提供關於一旋轉C軸之特徵之使用者介面的例示性輸入螢幕;圖6說明一用於指定圖1之工具機系統之複數個軸之間的相依性之例示性輸入螢幕;圖7A及圖7B說明工具矩陣堆疊及零件矩陣堆疊之代表性視圖;圖8說明圖2之運動控制系統之一級聯方法的代表性視圖;圖9A至圖9C係關於一用於確定圖1之工具機系統之傾斜軸的旋轉角之方法;圖10A至圖10C說明一用於各種工具機系統之機器奇異點;圖11A說明圖1之工具機系統之一機器奇異點;圖11B說明一對應於一正傾斜軸優選之傾斜角;圖11C說明一對應於一負傾斜軸優選之傾斜角;圖12A至圖12D說明一工具在繞機器奇異點之旋轉期間保持與一零件接觸;圖13A至圖13C表示自機器奇異點處之最後位置內插工具向量、繞機器奇異點旋轉且接著自機器奇異點至緊鄰工具位置內插工具向量之方法;圖14A說明一最後的工具向量位置及一緊鄰工具向量位置;
圖14B說明由用於最後位置之工具向量及用於緊鄰位置之工具向量界定的一平面,其圍繞座標系統原點且包括一與機器奇異點重合之工具向量;圖14C說明一自最後位置至緊鄰位置解#1之移動;圖15A至圖15C表示一自最後位置至機器奇異點內插工具向量、繞機器奇異點旋轉且接著自機器奇異點至緊鄰工具位置內插工具向量之方法;圖16A及圖16B說明一最後位置及一緊鄰位置之一第一解,最後位置與緊鄰位置之第一解皆具有一在機器奇異點之相同側上之負傾斜角;圖17A至圖17B說明一最後位置及一緊鄰位置之一第一解,緊鄰位置之第一解具有一在具有180度旋轉軸旋轉之傾斜軸優選側上之傾斜軸角;圖17C說明用於圖17A之緊鄰位置之一第二解,若用於圖17B中之第一解之傾斜軸角不在具有零度旋轉軸旋轉之傾斜軸優選側上,則選擇該第二解;圖18A至圖18C表示工具向量不應穿過奇異點內插且必須選擇正確的解#2之狀況;圖19表示一弦高誤差;圖20說明一轉換平面;圖21說明一用於指定一傾斜軸優選及各種參數之例示性輸入螢幕;圖22說明一表面法線處之一表面接觸點、一工具向量與一工具底部中心點之間的關係;
圖23說明一工具底部中心點在具有多個解之狀況下的選擇;圖24說明一自一最後位置至一緊鄰位置之工具向量內插;圖25說明內插工具向量;且圖26說明布爾決策矩陣(Boolean Decision Matrix)與轉換矩陣(Transformation Matrix)之間的對應。
對應參考符號貫穿若干視圖指示對應零件。
100‧‧‧工具機系統
102‧‧‧框架
104‧‧‧第一鞍形物
106‧‧‧方向
108‧‧‧方向
110‧‧‧第二鞍形物
112‧‧‧方向
114‧‧‧方向
120‧‧‧平臺
122‧‧‧方向
124‧‧‧方向
126‧‧‧第三鞍形物
128‧‧‧方向
130‧‧‧方向
132‧‧‧可旋轉部件
134‧‧‧方向
136‧‧‧方向
138‧‧‧工具主軸
139‧‧‧工具主軸線
141‧‧‧工具
144‧‧‧工具回轉料架
150‧‧‧y軸
152‧‧‧x軸
154‧‧‧z軸
156‧‧‧B軸/傾斜軸
158‧‧‧C軸/旋轉軸方向向量/旋轉軸
200‧‧‧運動控制系統/工具機控制軟體/CNC控制器
202‧‧‧軟體控制器
206‧‧‧I/O模組
Claims (30)
- 一種用於控制一工具機系統之移動以機械加工一零件之方法,該方法包含以下步驟:接收一對應於該工具機系統之機器組態,該機器組態識別該工具機系統之複數個可移動軸及該複數個可移動軸之間的複數個相依性;基於該機器組態及一廣義運動程式庫產生一虛擬運動機器;接收對應於該零件之一形狀之輸入資料;及基於該虛擬運動機器及該輸入資料產生用於該工具機系統之該複數個可移動軸之位置。
- 如請求項1之方法,其中該虛擬運動機器包括複數個虛擬軸,該複數個虛擬軸具有與該工具機系統之該複數個可移動軸之一一對應。
- 如請求項1之方法,其中該虛擬運動機器為該廣義運動程式庫之一執行個體。
- 如請求項1之方法,其進一步包含以下步驟:將該等所產生之位置提供至一即時銑削機應用程式;及以該即時銑削機機械加工該零件。
- 如請求項4之方法,其進一步包含以下步驟:基於該機器組態及該廣義運動程式庫產生一第二虛擬運動機器;自該第二虛擬運動機器請求該工具機系統之一可移動部分之位置資料,該可移動部分係藉由該即時銑削機應 用程式而移動;及在該工具機系統之一顯示器上以圖形表示該可移動部分之該位置資料。
- 如請求項5之方法,其中該工具機系統之該可移動部分為一工具,且其中該在該工具機系統之該顯示器上以圖形表示該可移動部分之該位置資料的步驟包括顯示該工具相對於該零件之移動之一表示。
- 一種用於控制一具有複數個可移動軸之工具機系統的移動以機械加工一零件之方法,該方法包含以下步驟:接收對應於該零件之一形狀之輸入資料;基於該工具機系統之一機器組態及一廣義運動程式庫產生一第一虛擬運動機器,該第一虛擬運動機器基於該輸入資料產生用於該工具機系統之該複數個可移動軸之位置;及基於該工具機系統之該機器組態及該廣義運動程式庫產生一第二虛擬運動機器,該第二虛擬運動機器產生用於該工具機系統之一可移動部分之位置資訊。
- 如請求項7之方法,其中該可移動部分為一工具,且該工具之該位置係基於自該第一虛擬運動機器所產生之該等位置而移動。
- 如請求項7之方法,其中該第一虛擬運動機器及該第二虛擬運動機器為該廣義運動程式庫之執行個體。
- 一種用於藉由一軟體控制器來程式設計多個工具機系統之方法,該方法包含以下步驟: 提供一可由該軟體控制器存取之廣義運動程式庫;產生一具有一對應於一第一工具機系統之第一組態之第一虛擬運動機器,該第一虛擬運動機器基於該廣義運動程式庫;及產生一具有一對應於一第二工具機系統之第二組態之第二虛擬運動機器,該第二虛擬運動機器基於該廣義運動程式庫。
- 如請求項10之方法,其中該第一虛擬運動機器及該第二虛擬運動機器均為該廣義運動程式庫之執行個體。
- 如請求項10之方法,其中該廣義運動程式庫為一物件導向式程式庫。
- 如請求項10之方法,其中該第一工具機系統可操作地耦接至該軟體控制器,該第一工具機系統具有五個正交軸。
- 如請求項13之方法,其進一步包含以下步驟:藉由該第一虛擬運動機器確定該第一工具機系統之該五個正交軸之位置資訊;及基於該位置資訊控制一可操作地耦接至該五個正交軸之即時銑削機應用程式。
- 一種用於藉由至少一工具來機械加工一零件之裝置,該裝置包含:一框架;一由該框架支撐且可相對於該框架移動之可移動支撐件,該可移動支撐件支撐該零件; 一由該框架支撐且可相對於該零件移動之工具機主軸,該工具機主軸調適成耦接該至少一工具,該可移動支撐件及該工具機主軸包括複數個可移動軸;及一可操作地耦接至該工具機主軸及該可移動支撐件之運動控制系統,該運動控制系統藉由該工具機主軸及該可移動支撐件之該複數個可移動軸之受控移動而執行對該零件之該機械加工,其中該複數個可移動軸之該受控移動係由一廣義運動程式庫之一執行個體來提供,該執行個體包括對應於該複數個可移動軸之複數個虛擬軸。
- 如請求項15之裝置,其中複數個可移動軸包括五個正交軸。
- 如請求項15之裝置,其進一步包含一使用者介面,該使用者介面可操作地耦接至該運動控制系統,其中該運動控制系統經由該使用者介面接收該零件之一形狀,該零件之該形狀包括於一零件加工程式中。
- 如請求項15之裝置,其進一步包含一使用者介面,該使用者介面可操作地耦接至該運動控制系統,其中該運動控制系統經由該使用者介面接收該零件之一形狀,該零件之該形狀係藉由一交談式程式設計會話來提供。
- 如請求項15之裝置,其進一步包含一使用者介面,該使用者介面可操作地耦接至該運動控制系統,其中複數個虛擬軸之間的複數個相依性係經由該使用者介面來提供,該複數個相依性描述該工具機系統之該複數個可移動軸。
- 如請求項19之裝置,其中該使用者介面包括一零件運動次序及一工具運動次序,且該複數個虛擬軸中之每一者係指派至該零件運動次序及該工具運動次序中之一者,該複數個相依性係基於該零件運動次序及該工具運動次序中之每一者中的該等虛擬軸之一排序而確定。
- 如請求項15之裝置,其中該運動控制系統進一步包括該廣義運動程式庫之一第二執行個體,該第二執行個體獨立於該第一執行個體。
- 如請求項21之裝置,該第二執行個體包括對應於該複數個可移動軸之複數個虛擬軸。
- 如請求項21之裝置,該第二執行個體包括對應於一第二工具機系統之複數個虛擬軸。
- 一種組態一工具機系統之一軟體控制器之方法,該方法包含以下步驟:提供一可由該軟體控制器存取之廣義運動程式庫;接收關於該工具機系統之一組態之資訊,該工具機系統具有複數個正交可移動軸;基於該所接收的關於該工具機系統之該組態之資訊產生該廣義運動程式庫之一對應於該工具機系統之執行個體;及藉由該廣義運動程式庫之該執行個體控制該複數個正交可移動軸之一移動。
- 如請求項24之方法,其進一步包含以下步驟:基於該所接收的關於該工具機系統之該組態之資訊產 生該廣義運動程式庫之一對應於該工具機系統之第二執行個體,該第二執行個體獨立於該執行個體;及藉由該廣義運動程式庫之該第二執行個體提供模擬圖形資訊。
- 如請求項24之方法,其中該接收關於該工具機系統之該組態之資訊的步驟包括經由一使用者介面接收描述該工具機系統之該複數個正交可移動軸之複數個相依性的步驟,該複數個正交可移動軸中之每一者係指派至一零件運動次序及一工具運動次序中之一者。
- 一種具有電腦可執行指令之電腦可讀媒體,該等電腦可執行指令用於控制一工具機系統之複數個可移動軸的移動以機械加工一零件,該等電腦可執行指令包含:一廣義運動程式庫;用於基於該工具機系統之一組態產生該廣義運動程式庫之一執行個體之指令;用於將輸入資料提供至該廣義運動程式庫之該執行個體之指令;及用於自該廣義運動程式庫取得輸出資料之指令,該輸出資料係關於該複數個可移動軸之該移動。
- 如請求項27之電腦可讀媒體,其進一步包含:用於基於該工具機系統之該組態產生該廣義運動程式庫之一第二執行個體之指令,該第二執行個體獨立於該執行個體。
- 如請求項27之電腦可讀媒體,其中該廣義運動程式庫之 該執行個體包括一零件矩陣堆疊及一工具矩陣堆疊。
- 如請求項27之電腦可讀媒體,其中複數個子矩陣經建構以分析該零件矩陣堆疊及該工具矩陣堆疊。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US82150306P | 2006-08-04 | 2006-08-04 | |
US82152306P | 2006-08-04 | 2006-08-04 | |
US11/833,971 US8725283B2 (en) | 2006-08-04 | 2007-08-03 | Generalized kinematics system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200815950A TW200815950A (en) | 2008-04-01 |
TWI381256B true TWI381256B (zh) | 2013-01-01 |
Family
ID=38719838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096128899A TWI381256B (zh) | 2006-08-04 | 2007-08-06 | 用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8725283B2 (zh) |
EP (1) | EP2057516B1 (zh) |
JP (1) | JP2010513996A (zh) |
CN (1) | CN101796462A (zh) |
CA (1) | CA2659508C (zh) |
SG (1) | SG173425A1 (zh) |
TW (1) | TWI381256B (zh) |
WO (1) | WO2008019336A2 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8010235B2 (en) * | 2005-05-31 | 2011-08-30 | The Boeing Company | Approaching and compensating for machine kinematic singularities |
US10017847B2 (en) | 2007-03-05 | 2018-07-10 | Gentex Corporation | Method and apparatus for ion milling |
ATE482050T1 (de) * | 2007-06-30 | 2010-10-15 | Trumpf Werkzeugmaschinen Gmbh | Maschine zum bearbeiten von werkstücken und verfahren zum maschinellen bearbeiten von werkstücken |
US9588511B2 (en) * | 2007-08-03 | 2017-03-07 | Hurco Companies, Inc. | Virtual machine manager |
US8844104B2 (en) * | 2009-04-22 | 2014-09-30 | Hurco Companies, Inc. | Multi-zone machine tool system |
EP2058717B1 (de) * | 2007-11-12 | 2011-07-20 | Siemens Aktiengesellschaft | Verfahren und Einrichtung zum Betrieb einer Werkzeugmaschine |
US8577655B2 (en) | 2008-06-26 | 2013-11-05 | Siemens Product Lifecycle Management Software Inc. | System and method for constructing virtual NC controllers for machine tool simulation |
US9141105B2 (en) | 2008-07-23 | 2015-09-22 | Hurco Companies, Inc. | Method and apparatus for monitoring or controlling a machine tool system |
US8688258B2 (en) | 2008-09-11 | 2014-04-01 | Rockwell Automation Technologies, Inc. | Method of controlling a machine tool |
US8478438B2 (en) * | 2008-09-16 | 2013-07-02 | Shin Nippon Koki Co., Ltd. | Numerical control device |
DE102009023648A1 (de) * | 2009-05-26 | 2010-12-02 | Index-Werke Gmbh & Co. Kg Hahn & Tessky | Steuerungssystem |
JP4847613B2 (ja) * | 2010-05-10 | 2011-12-28 | ファナック株式会社 | 多軸加工機用数値制御装置 |
IT1401373B1 (it) * | 2010-08-06 | 2013-07-18 | Fidia Spa | Sistema predittivo di controllo e visualizzazione virtuale per una macchina utensile a controllo numerico |
CN101995850B (zh) * | 2010-11-05 | 2012-02-29 | 江俊逢 | 一种计算机辅助数字控制方法与系统 |
KR101776956B1 (ko) * | 2010-12-09 | 2017-09-19 | 두산공작기계 주식회사 | 공작기계의 공구 손상 탐지장치 및 공구손상 탐지방법 |
DE102011089014A1 (de) * | 2011-01-19 | 2012-07-19 | Dr. Johannes Heidenhain Gmbh | Numerische Steuerung |
CN102354155B (zh) * | 2011-07-22 | 2013-05-01 | 江俊逢 | 开放式数控系统的实时内核及刀路曲线的实时控制方法 |
JP5289601B1 (ja) * | 2012-03-19 | 2013-09-11 | ファナック株式会社 | 多軸加工機用切削距離演算装置 |
EP2862030B1 (en) | 2012-06-19 | 2022-04-27 | Hexagon Technology Center GmbH | Computer aided manufacturing (cam) integrated computer numerically controlled (cnc) control of machines |
JP5670525B1 (ja) * | 2013-08-21 | 2015-02-18 | ファナック株式会社 | 工作機械の制御装置 |
CN103777571B (zh) * | 2014-02-12 | 2016-08-17 | 北京数码大方科技股份有限公司 | 用于计算机图形的加工轨迹功能生成方法和装置 |
US9798315B2 (en) * | 2014-10-14 | 2017-10-24 | Siemens Product Lifecycle Management Software Inc. | Machine tool post configurator systems and methods |
CN105700478A (zh) * | 2014-11-26 | 2016-06-22 | 沈阳机床(集团)设计研究院有限公司上海分公司 | 生成数控机床加工控制数据的系统及方法 |
JP6562665B2 (ja) * | 2015-03-18 | 2019-08-21 | 蛇の目ミシン工業株式会社 | ロボット |
EP3183093B1 (en) | 2015-06-22 | 2020-08-05 | Electro Scientific Industries, Inc. | Multi-axis machine tool and methods of controlling the same |
US9880542B1 (en) | 2015-09-11 | 2018-01-30 | Plethora Corporation | Automatic strategy determination for computer aided manufacturing |
US10625419B2 (en) * | 2018-03-21 | 2020-04-21 | The Boeing Company | Robotic system and method for operating on a workpiece |
JP6860529B2 (ja) * | 2018-07-20 | 2021-04-14 | ファナック株式会社 | 数値制御装置及びデータ編集方法 |
JP2022024542A (ja) * | 2020-07-28 | 2022-02-09 | 芝浦機械株式会社 | 加工機、加工システム及び被加工物の製造方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5453933A (en) * | 1993-09-08 | 1995-09-26 | Hurco Companies, Inc. | CNC control system |
US5691909A (en) * | 1995-12-29 | 1997-11-25 | Western Atlas | Method of virtual machining to predict the accuracy of part to be made with machine tools |
US6536371B2 (en) * | 2001-08-01 | 2003-03-25 | One World Technologies, Inc. | Rotary direction indicator |
US20040181305A1 (en) * | 2003-02-20 | 2004-09-16 | Siemens Aktiengesellschaft | Programming platform for generating parts programs for machine tools or production machines |
Family Cites Families (155)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3576979A (en) | 1968-09-24 | 1971-05-04 | Allen Bradley Co | Motion monitor system |
US3656124A (en) | 1968-09-26 | 1972-04-11 | Giddings & Lewis | Linear and circular interpolation contouring control using repeated computation |
US3838258A (en) | 1970-02-10 | 1974-09-24 | Gerber Scientific Instr Co | Step motor control system |
US3602090A (en) | 1970-02-27 | 1971-08-31 | Boeing Co | Milling machine control system and milling force sensor therefor |
US3728595A (en) | 1970-02-27 | 1973-04-17 | Boeing Co | Feedrate control system for milling machines |
US3679955A (en) | 1971-06-07 | 1972-07-25 | Gen Electric | Control system for compensating for dimensional errors due to cutting tool wear in an automatic machine tool |
US3849712A (en) | 1972-06-30 | 1974-11-19 | Ibm | Adaptive numerically controlled machine tool responsive to deflection forces on the tool normal to the cutting path |
US3882304A (en) | 1973-05-04 | 1975-05-06 | Allen Bradley Co | Parametric interpolation of three-dimensional surfaces |
US3860805A (en) | 1973-05-07 | 1975-01-14 | Bendix Corp | Method and apparatus for producing a fairing contour in numerical control systems |
US4130788A (en) | 1973-11-01 | 1978-12-19 | General Automation, Inc. | Numerical control servo system |
US4055787A (en) | 1975-07-28 | 1977-10-25 | Giddings & Lewis, Inc. | Interruptable numerical contouring control system with return to path safeguards |
US4477754B1 (en) | 1976-07-06 | 1995-03-21 | Hurco Co Inc | Interactive machining system |
US4131837A (en) | 1976-11-10 | 1978-12-26 | The Boeing Company | Machine tool monitoring system |
US4208718A (en) | 1978-06-05 | 1980-06-17 | Kearney & Trecker Corporation | Method of optimizing the operation of a computer controlled machine tool |
US5871391A (en) | 1980-03-27 | 1999-02-16 | Sensor Adaptive Machine Inc. | Apparatus for determining dimensions |
US5825017A (en) | 1980-03-27 | 1998-10-20 | Sensor Adaptive Machines Inc. | Method and apparatus for determining dimensions |
JPS5719809A (en) | 1980-07-10 | 1982-02-02 | Fanuc Ltd | Numerical control information generating system |
JPS5769314A (en) | 1980-10-13 | 1982-04-28 | Fanuc Ltd | Numerical control system |
JPS5769312A (en) | 1980-10-13 | 1982-04-28 | Fanuc Ltd | Numerical controller incorporating optional block skipping function |
JPS57113117A (en) | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
US4415867A (en) | 1981-05-22 | 1983-11-15 | The United States Of America As Represented By The Secretary Of The Navy | Hybrid coupled microstrip amplifier |
US4433382A (en) | 1981-07-20 | 1984-02-21 | Cincinnati Milacron Inc. | Apparatus for automatically adjusting the programmed location of a robot arm |
JPS5835607A (ja) | 1981-08-27 | 1983-03-02 | Fanuc Ltd | 数値制御装置 |
JPS58155148A (ja) | 1982-03-05 | 1983-09-14 | Okuma Mach Works Ltd | 工作機械における刃物台刃先の軌跡監視方法 |
US4590573A (en) | 1982-09-17 | 1986-05-20 | Robert Hahn | Computer-controlled grinding machine |
DE3244307A1 (de) | 1982-11-30 | 1984-05-30 | Siemens AG, 1000 Berlin und 8000 München | Robotersteuerung |
US4623971A (en) | 1983-06-30 | 1986-11-18 | Cincinnati Milacron Inc. | Machine control with motor velocity constraint |
JPS60126710A (ja) | 1983-12-14 | 1985-07-06 | Fanuc Ltd | 自動プログラミングにおける加工工程の決定方法 |
US4739488A (en) | 1984-09-21 | 1988-04-19 | Brother Kogyo Kabushiki Kaisha | Machine tool with tool selection and work sequence determination |
US4635206A (en) | 1984-10-15 | 1987-01-06 | Cincinnati Milacron Inc. | Method and apparatus for oscillating a tool carried by a manipulator |
EP0185829B1 (fr) | 1984-12-27 | 1992-07-01 | Institut De Recherches De La Construction Navale | Installation automatisée de traitement d'objets de grandes dimensions |
JPS61157909A (ja) | 1984-12-29 | 1986-07-17 | Fanuc Ltd | ロボツトの経路誤差補正方式 |
JPS6257852A (ja) | 1985-09-04 | 1987-03-13 | Toyoda Mach Works Ltd | 自動プログラミング装置 |
JPH0688532B2 (ja) | 1985-12-27 | 1994-11-09 | 曙ブレーキ工業株式会社 | アンチスキツド制御方法 |
US4763276A (en) | 1986-03-21 | 1988-08-09 | Actel Partnership | Methods for refining original robot command signals |
JPS62236650A (ja) | 1986-04-01 | 1987-10-16 | Fanuc Ltd | 4軸旋盤のncプログラム作成方法 |
JPH0698554B2 (ja) | 1986-09-22 | 1994-12-07 | 豊田工機株式会社 | 数値制御加工装置 |
US4791575A (en) | 1986-10-31 | 1988-12-13 | The Pratt & Whitney Company, Inc. | Method for generating axis control data for use in controlling a grinding machine and the like and system therefor |
JPH07111646B2 (ja) | 1987-02-20 | 1995-11-29 | フアナツク株式会社 | 部品形状入力方法 |
JPH0679250B2 (ja) | 1987-03-19 | 1994-10-05 | フアナツク株式会社 | 軸速度出力方式 |
JPS63250707A (ja) | 1987-04-07 | 1988-10-18 | Fanuc Ltd | 部品形状入力方法 |
US4835710A (en) | 1987-07-17 | 1989-05-30 | Cincinnati Milacron Inc. | Method of moving and orienting a tool along a curved path |
JPS6435605A (en) | 1987-07-30 | 1989-02-06 | Fanuc Ltd | Numerical controller |
US4833617A (en) | 1987-08-14 | 1989-05-23 | General Electric Company | Solid modeling based adaptive feedrate control for NC machining |
JPH01116704A (ja) | 1987-10-30 | 1989-05-09 | Fanuc Ltd | 産業ロボットの動作制御方式 |
DE3740199A1 (de) | 1987-11-27 | 1989-06-08 | Schaudt Maschinenbau Gmbh | Verfahren und vorrichtung zum bahngesteuerten abrichten einer schleifscheibe |
JPH01159705A (ja) | 1987-12-17 | 1989-06-22 | Fanuc Ltd | 部品形状入力方法 |
WO1989006585A1 (en) | 1988-01-20 | 1989-07-27 | Mitsubishi Denki Kabushiki Kaisha | Method for preparing offset shape |
JPH0652484B2 (ja) | 1988-02-15 | 1994-07-06 | 豊田工機株式会社 | 非真円形工作物加工用数値制御装置 |
US5062755A (en) | 1988-02-23 | 1991-11-05 | Macmillan Bloedel Limited | Articulated arm control |
JPH0683945B2 (ja) | 1988-07-26 | 1994-10-26 | 豊田工機株式会社 | 非真円形工作物加工用数値制御装置 |
US5198984A (en) | 1988-08-31 | 1993-03-30 | Okuma Corporation | Numerical control method for correcting machine tool path errors |
ES2080051T3 (es) | 1989-02-28 | 1996-02-01 | Siemens Ag | Procedimiento de control en una maquina herramienta numerica o un robot. |
IL89484A (en) | 1989-03-03 | 1992-08-18 | Nct Ltd Numerical Control Tech | System for automatic finishing of machined parts |
JPH03157704A (ja) | 1989-11-16 | 1991-07-05 | Fanuc Ltd | 機械位置変動の位置補正方式 |
JPH03176703A (ja) | 1989-12-05 | 1991-07-31 | Yoshiaki Kakino | 数値制御装置 |
GB9013744D0 (en) | 1990-06-20 | 1990-08-08 | Renishaw Plc | Measurement of a workpiece |
JPH0829469B2 (ja) | 1990-07-03 | 1996-03-27 | 株式会社小松製作所 | Nc加工制御装置 |
KR920002268A (ko) | 1990-07-17 | 1992-02-28 | 유끼노리 가까즈 | 인텔리젠트가공장치 |
US5179514A (en) | 1990-08-08 | 1993-01-12 | The Research Foundation Of State University Of New York | Method and apparatus for trajectory control of robot manipulators or the like |
JPH0498301A (ja) | 1990-08-09 | 1992-03-31 | Mitsubishi Electric Corp | 数値制御工作機械および数値制御装置 |
US5247447A (en) | 1990-10-31 | 1993-09-21 | The Boeing Company | Exception processor system |
JP2672395B2 (ja) | 1990-11-20 | 1997-11-05 | 三菱電機株式会社 | 加工条件列生成方法 |
WO1992015068A1 (en) | 1991-02-15 | 1992-09-03 | Incontrol, Inc. | Computer control system for generating geometric designs |
AU664372B2 (en) | 1991-06-04 | 1995-11-16 | Anca Pty Ltd | Improvements in or relating to computer numerically controlled machines |
US5682319A (en) | 1991-06-04 | 1997-10-28 | Anca Pty. Ltd. | Computer numerically controlled machines |
DE59107794D1 (de) | 1991-07-26 | 1996-06-13 | Siemens Ag | Konfigurierbare Werkzeugmaschinensteuerung |
JP3036143B2 (ja) | 1991-09-02 | 2000-04-24 | 三菱電機株式会社 | 数値制御装置 |
EP0530401B1 (de) | 1991-09-06 | 1996-07-24 | Siemens Aktiengesellschaft | Verfahren zum Auslösen von positionsbezogenen Schaltvorgängen während eines von einem Roboter oder einer Werkzeugmaschine ausgeführten Bearbeitungsvorganges |
JP2862036B2 (ja) | 1991-09-17 | 1999-02-24 | 三菱電機株式会社 | 数値制御装置 |
US5339249A (en) | 1991-10-29 | 1994-08-16 | Parker Hannifin Corporation | Machine control system |
JP2800861B2 (ja) | 1991-11-19 | 1998-09-21 | 株式会社 エフ・エーラボ | 三次元加工方法 |
US5288209A (en) | 1991-12-19 | 1994-02-22 | General Electric Company | Automatic adaptive sculptured machining |
JP2666642B2 (ja) | 1992-01-28 | 1997-10-22 | 三菱電機株式会社 | Nc自動プログラミングシステムにおける工具指定方法 |
US5687084A (en) | 1992-05-26 | 1997-11-11 | Microcosm, Inc. | Satellite orbit maintenance system |
US5378091A (en) | 1992-06-17 | 1995-01-03 | Makino Milling Machine Co., Ltd. | Method and apparatus for machining a workpiece |
US5402367A (en) | 1993-07-19 | 1995-03-28 | Texas Instruments, Incorporated | Apparatus and method for model based process control |
JPH0736514A (ja) | 1993-07-20 | 1995-02-07 | Fanuc Ltd | 3次元工具径補正方式 |
US5508596A (en) | 1993-10-07 | 1996-04-16 | Omax Corporation | Motion control with precomputation |
US5917726A (en) | 1993-11-18 | 1999-06-29 | Sensor Adaptive Machines, Inc. | Intelligent machining and manufacturing |
US5375064A (en) | 1993-12-02 | 1994-12-20 | Hughes Aircraft Company | Method and apparatus for moving a material removal tool with low tool accelerations |
SE9400579L (sv) | 1994-02-21 | 1995-08-22 | Asea Brown Boveri | Förfarande för att styra en industrirobots rörelse i och i närheten av singulariteter |
JP3171298B2 (ja) | 1994-09-29 | 2001-05-28 | キタムラ機械株式会社 | 数値制御工作機械 |
US5548195A (en) | 1994-12-22 | 1996-08-20 | International Business Machines Corporation | Compensated servo control stage positioning apparatus |
US5668459A (en) | 1995-05-09 | 1997-09-16 | Lg Industrial Systems Co., Ltd. | Apparatus for generating magnetic flux of induction motor |
JP3702496B2 (ja) | 1995-07-10 | 2005-10-05 | 三菱電機株式会社 | 数値制御装置を用いた加工方法 |
JP3506814B2 (ja) | 1995-07-11 | 2004-03-15 | 東芝機械株式会社 | 数値制御装置 |
JP3396342B2 (ja) | 1995-07-17 | 2003-04-14 | 三菱電機株式会社 | スプライン補間機能を有する数値制御装置 |
DE69619789T2 (de) | 1995-09-28 | 2002-08-29 | Rikagaku Kenkyusho | Methode zum Bearbeiten mit hoher Geschwindigkeit von Matrizen und Ultrahochgeschwindigkeitsfräsmaschine |
US5946449A (en) | 1996-04-05 | 1999-08-31 | Georgia Tech Research Corporation | Precision apparatus with non-rigid, imprecise structure, and method for operating same |
US6400998B1 (en) | 1996-11-07 | 2002-06-04 | Mitutoyo Corporation | Generation of measurement program in NC machining and machining management based on the measurement program |
WO1998019820A1 (fr) | 1996-11-07 | 1998-05-14 | Kabushiki Kaisha Mori Seiki Seisakusho | Procede et dispositif d'analyse de programme cn destine a l'usinage cn |
IL126752A0 (en) | 1997-03-15 | 1999-08-17 | Makino Milling Machine | Machine tool control apparatus |
US6317646B1 (en) | 1997-03-19 | 2001-11-13 | Fadal Machining Centers, Inc. | CNC machine having interactive control of corner tolerance that is programmed to vary with the corner angle |
US5828574A (en) | 1997-05-19 | 1998-10-27 | General Electric Company | Adaptive feedrates from geometry modeling for NC machining |
US6052628A (en) | 1997-08-08 | 2000-04-18 | Hong; Jaiwei | Method and system for continuous motion digital probe routing |
WO1999022904A2 (en) | 1997-10-31 | 1999-05-14 | Jiawei Hong | Method and system for computer assisted manual machine tool control |
US5991528A (en) | 1997-11-05 | 1999-11-23 | Reliance Electric Industrial Company | Expert manufacturing system |
US6135857A (en) | 1998-03-02 | 2000-10-24 | General Electric Company | Method for surface enhancement by fluid jet impact |
US6064168A (en) | 1998-03-13 | 2000-05-16 | Fanuc Robotics North America, Inc. | Method of controlling robot movement |
US6310621B1 (en) | 1998-04-03 | 2001-10-30 | Avid Technology, Inc. | Extended support for numerical controls |
DE19821557A1 (de) | 1998-05-14 | 1999-11-18 | Heidenhain Gmbh Dr Johannes | Verfahren zur nichtlinearen Darstellung von Bahnkurven |
US6242880B1 (en) | 1998-09-08 | 2001-06-05 | Cimplus, Inc. | Tolerance based motion control system |
DE19841716A1 (de) | 1998-09-11 | 2000-03-16 | Siemens Ag | Steuerungsverfahren und numerische Steuerung zur Bewegungsführung von industriellen Bearbeitungsmaschinen |
JP2000084794A (ja) | 1998-09-14 | 2000-03-28 | Makino Milling Mach Co Ltd | 加工処理装置 |
DE19856098C2 (de) | 1998-12-04 | 2002-01-17 | Agie Sa | Verfahren und Vorrichtung zur Steuerung einer Senkerosionsmaschine |
CA2367054A1 (en) | 1999-03-22 | 2000-09-28 | Steven E. Alverson | Method for controlling pivoting machine member |
US6341246B1 (en) * | 1999-03-26 | 2002-01-22 | Kuka Development Laboratories, Inc. | Object oriented motion system |
US6470225B1 (en) | 1999-04-16 | 2002-10-22 | Siemens Energy & Automation, Inc. | Method and apparatus for automatically tuning feedforward parameters |
US6850806B2 (en) | 1999-04-16 | 2005-02-01 | Siemens Energy & Automation, Inc. | Method and apparatus for determining calibration options in a motion control system |
US6330483B1 (en) | 1999-05-07 | 2001-12-11 | The Boeing Company | Optimal control system |
US6671571B1 (en) | 1999-07-05 | 2003-12-30 | Mitutoyo Corporation | Method for NC- programming and system for NC- machining |
US6350222B2 (en) | 1999-07-28 | 2002-02-26 | Thermwood Corporation | Machine tool with improved tool changer means |
EP1226476B1 (de) | 1999-09-08 | 2004-04-07 | Dr. Johannes Heidenhain GmbH | Verfahren und schaltungsanordnung zur erzeugung von lagesollwerten für einen lageregelkreis einer numerisch bahngesteuerten maschine |
JP3610485B2 (ja) | 1999-09-20 | 2005-01-12 | 株式会社日立製作所 | 数値制御曲面加工装置 |
US6675061B2 (en) | 2001-02-26 | 2004-01-06 | Hitachi, Ltd. | Numerically controlled curved surface machining unit |
US6368879B1 (en) | 1999-09-22 | 2002-04-09 | Advanced Micro Devices, Inc. | Process control with control signal derived from metrology of a repetitive critical dimension feature of a test structure on the work piece |
DE19949558A1 (de) | 1999-10-14 | 2001-04-19 | Heidenhain Gmbh Dr Johannes | Steuerungsprogramm für eine numerische Werkzeugmaschine mit einer wiederverwendbaren Softwarestruktur |
US6922606B1 (en) | 1999-11-19 | 2005-07-26 | Siemens Energy & Automation, Inc. | Apparatus and method for smooth cornering in a motion control system |
US6782306B2 (en) | 1999-12-16 | 2004-08-24 | Siemens Energy & Automation | Motion control system and method utilizing spline interpolation |
JP3517403B2 (ja) | 2000-06-23 | 2004-04-12 | ヤマザキマザック株式会社 | 複合加工工作機械 |
GB0112559D0 (en) | 2000-09-14 | 2001-07-11 | Bae Systems Plc | A method and control system for generating machine tool control data |
JP2002172543A (ja) | 2000-09-29 | 2002-06-18 | Toyoda Mach Works Ltd | 加工装置の制御パラメータ設定装置及び制御パラメータ設定方法 |
AU2001296016A1 (en) | 2000-10-26 | 2002-05-06 | Citizen Watch Co. Ltd. | Method and device for automatically preparing processing program |
JP2002189510A (ja) | 2000-12-22 | 2002-07-05 | Mori Seiki Co Ltd | 加工関連情報生成装置、及びこれを備えた数値制御装置 |
US6865499B2 (en) | 2001-04-26 | 2005-03-08 | Siemens Energy & Automation, Inc. | Method and apparatus for tuning compensation parameters in a motion control system associated with a mechanical member |
US6779175B2 (en) * | 2001-05-22 | 2004-08-17 | Thermwood Corporation | Method and system for converting graphic databases into coded workpiece processing programs |
AU2002322504A1 (en) | 2001-07-13 | 2003-01-29 | Broks Automation, Inc. | Trajectory planning and motion control strategies for a planar three-degree-of-freedom robotic arm |
US6704611B2 (en) | 2001-08-21 | 2004-03-09 | Surfware, Inc. | System and method for rough milling |
WO2003019523A1 (en) | 2001-08-23 | 2003-03-06 | Fei Company | Graphical automated machine control and metrology |
US6766216B2 (en) | 2001-08-27 | 2004-07-20 | Flow International Corporation | Method and system for automated software control of waterjet orientation parameters |
US6879874B2 (en) | 2001-09-03 | 2005-04-12 | Siemens Aktiengesellschaft | Evaluating excessive tolerances in NC parts programs |
ES2250278T3 (es) | 2001-09-05 | 2006-04-16 | Mikron Comp-Tec Ag | Un metodo y un sistema de soporte del operario destinados a ayudar a un operario a ajustar parametros de maquina. |
DE10144487A1 (de) | 2001-09-10 | 2003-03-27 | Heidenhain Gmbh Dr Johannes | Verfahren zur Bahnsteuerung |
US7310567B2 (en) | 2001-09-12 | 2007-12-18 | Rexroth Indramat Gmbh | Method for the preparation, treatment and updating tool data |
JP4031627B2 (ja) | 2001-10-02 | 2008-01-09 | 株式会社森精機製作所 | 工作機械の性能評価装置及びこれを備えた性能評価システム |
DE10149175A1 (de) | 2001-10-04 | 2003-04-17 | Heidenhain Gmbh Dr Johannes | Verfahren zur Bahnsteuerung |
EP1302829B1 (en) | 2001-10-16 | 2008-11-26 | Fanuc Ltd | Numerical controller |
KR100434025B1 (ko) | 2001-12-31 | 2004-06-04 | 학교법인 포항공과대학교 | 스텝-엔씨(step-nc) 용 파트 프로그램을 자동생성하는 방법 |
US7853351B2 (en) | 2002-02-21 | 2010-12-14 | Gary John Corey | CNC machine tool and integrated machine tool controller incorporating 3D and up to 8-axes real time interactive tool compensation |
US6845295B2 (en) | 2002-03-07 | 2005-01-18 | Fanuc Robotics America, Inc. | Method of controlling a robot through a singularity |
US7024272B2 (en) | 2002-04-26 | 2006-04-04 | Delphi Technologies, Inc. | Virtual design, inspect and grind optimization process |
US8417370B2 (en) | 2003-10-17 | 2013-04-09 | Hexagon Metrology Ab | Apparatus and method for dimensional metrology |
US7462490B2 (en) | 2003-10-31 | 2008-12-09 | Chevron Oronite Company Llc | Combinatorial lubricating oil composition libraries |
KR100517880B1 (ko) | 2003-11-20 | 2005-09-28 | 학교법인 포항공과대학교 | Cnc 가공에서 생산시간 단축과 가공 정밀도 향상을위한 이송속도 스케줄링 방법 |
DE10357650B4 (de) | 2003-12-10 | 2019-04-25 | Dr. Johannes Heidenhain Gmbh | Verfahren zur Glättung von Polygonzügen in NC-Programmen |
US9681925B2 (en) | 2004-04-21 | 2017-06-20 | Siemens Medical Solutions Usa, Inc. | Method for augmented reality instrument placement using an image based navigation system |
US7451013B2 (en) | 2004-04-29 | 2008-11-11 | Surfware, Inc. | Engagement milling |
US7571027B2 (en) | 2005-05-31 | 2009-08-04 | The Boeing Company | Kinematic singular point compensation systems and methods |
DE102005045028A1 (de) | 2005-09-12 | 2007-03-22 | Index-Werke Gmbh & Co. Kg Hahn & Tessky | Simulationssystem |
JP4168060B2 (ja) | 2006-04-24 | 2008-10-22 | ファナック株式会社 | 円錐状の加工面の加工を可能にした数値制御装置 |
JP4838647B2 (ja) * | 2006-07-05 | 2011-12-14 | 株式会社森精機製作所 | 工作機械の制御装置 |
US8024068B2 (en) | 2006-08-04 | 2011-09-20 | Hurco Companies, Inc. | Machine tool control system |
JP2008287471A (ja) * | 2007-05-17 | 2008-11-27 | Fanuc Ltd | 5軸加工機の数値制御方法 |
US9588511B2 (en) * | 2007-08-03 | 2017-03-07 | Hurco Companies, Inc. | Virtual machine manager |
-
2007
- 2007-08-03 US US11/833,971 patent/US8725283B2/en active Active
- 2007-08-06 WO PCT/US2007/075274 patent/WO2008019336A2/en active Search and Examination
- 2007-08-06 TW TW096128899A patent/TWI381256B/zh active
- 2007-08-06 CA CA2659508A patent/CA2659508C/en active Active
- 2007-08-06 JP JP2009523079A patent/JP2010513996A/ja active Pending
- 2007-08-06 EP EP07813808.8A patent/EP2057516B1/en active Active
- 2007-08-06 SG SG2011056421A patent/SG173425A1/en unknown
- 2007-08-06 CN CN200780029074A patent/CN101796462A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5453933A (en) * | 1993-09-08 | 1995-09-26 | Hurco Companies, Inc. | CNC control system |
US5691909A (en) * | 1995-12-29 | 1997-11-25 | Western Atlas | Method of virtual machining to predict the accuracy of part to be made with machine tools |
US6536371B2 (en) * | 2001-08-01 | 2003-03-25 | One World Technologies, Inc. | Rotary direction indicator |
US20040181305A1 (en) * | 2003-02-20 | 2004-09-16 | Siemens Aktiengesellschaft | Programming platform for generating parts programs for machine tools or production machines |
Also Published As
Publication number | Publication date |
---|---|
WO2008019336A3 (en) | 2011-10-27 |
WO2008019336A2 (en) | 2008-02-14 |
JP2010513996A (ja) | 2010-04-30 |
CA2659508A1 (en) | 2008-02-14 |
SG173425A1 (en) | 2011-08-29 |
CA2659508C (en) | 2016-05-10 |
EP2057516A2 (en) | 2009-05-13 |
US8725283B2 (en) | 2014-05-13 |
EP2057516B1 (en) | 2018-07-25 |
CN101796462A (zh) | 2010-08-04 |
TW200815950A (en) | 2008-04-01 |
US20080058984A1 (en) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI381256B (zh) | 用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體 | |
EP2047342B1 (en) | Machine tool system control | |
Ho et al. | Five-axis tool orientation smoothing using quaternion interpolation algorithm | |
She et al. | Design of a generic five-axis postprocessor based on generalized kinematics model of machine tool | |
JP5620825B2 (ja) | 複合機械加工の方法および装置 | |
US20100274381A1 (en) | Universal Conversational Programming for Machine Tool Systems | |
JP2011258178A (ja) | 多軸加工機用数値制御装置 | |
JP4644490B2 (ja) | ツール運動の直接制御のために複雑なn曲線を描写するためのシステムおよび方法 | |
US20200133231A1 (en) | Program code generating method for tilted plane machining by multi-axis machine tool and device thereof | |
JP2019057262A (ja) | 制御装置及びデータ構造 | |
TWI684841B (zh) | 加工傾斜平面的多軸工具機的程式碼產生方法及其裝置 | |
Proctor et al. | Open architectures for machine control | |
JP2023117539A (ja) | 情報処理装置、工作機械および情報処理プログラム | |
Erdos et al. | Parametric tool correction algorithm for 5-axis machining | |
JP6940724B1 (ja) | 制御装置 | |
JPH10240320A (ja) | Ncデータ作成装置 | |
JP6619564B2 (ja) | 計算装置及び加工装置 | |
JPH05282405A (ja) | 組立作業計画計算機支援システム | |
Pavlakos | Influences and impact of the design approach on an open architecture controller | |
Xiao et al. | A universal virtual manufacturing system for cutting machines | |
Chien et al. | DEVELOPING THE TERMITE PLUG-IN | |
JPH0735031B2 (ja) | ロボツトのオフライン・プロミラミング装置 |