TWI716849B - 預先檢測加工路徑碰撞方法及系統 - Google Patents

預先檢測加工路徑碰撞方法及系統 Download PDF

Info

Publication number
TWI716849B
TWI716849B TW108112435A TW108112435A TWI716849B TW I716849 B TWI716849 B TW I716849B TW 108112435 A TW108112435 A TW 108112435A TW 108112435 A TW108112435 A TW 108112435A TW I716849 B TWI716849 B TW I716849B
Authority
TW
Taiwan
Prior art keywords
information
distance
block
processing
collision
Prior art date
Application number
TW108112435A
Other languages
English (en)
Other versions
TW202038111A (zh
Inventor
林書宇
何銘浚
黃炬凱
麥朝創
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW108112435A priority Critical patent/TWI716849B/zh
Priority to CN201910374465.6A priority patent/CN111857115B/zh
Priority to US16/439,070 priority patent/US11407112B2/en
Publication of TW202038111A publication Critical patent/TW202038111A/zh
Application granted granted Critical
Publication of TWI716849B publication Critical patent/TWI716849B/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/406Numerical 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/4061Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40476Collision, planning for collision free path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50174Machine tool y-1, y-2, z, A-axis, table x, c-axis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

一種預先檢測加工路徑碰撞方法,包括以下步驟:讀取加工程式;解譯加工程式中的複數個單節資訊;於各單節資訊執行插值之前,計算欲執行插值之單節資訊所對應之下一個單節資訊的安全距離;找尋滿足累加距離大於或等於安全距離所需之各單節資訊的數量;以及依據累加距離中的各單節資訊進行防碰撞檢測。此外,一種預先檢測加工路徑碰撞系統亦被提出。

Description

預先檢測加工路徑碰撞方法及系統
本發明是有關於一種預先檢測工具機加工路徑碰撞的方法及使用此方法之系統。
電腦數值控制(Computer Numerical Control,CNC)工具機具有可程式化與精密加工等優勢,可根據工件所需的加工程式、路徑或精度撰寫CNC加工程式。CNC加工程式是以單節輸入指令的方式來設計工件的加工形狀及其路徑,然而,當工件的形狀趨於複雜時,單節輸入CNC程式的方式勢必花費較多的時間。因此,加工業者會透過使用加工輔助軟體(CAD、CAM)規劃加工路徑,以供CNC工具機對工件進行加工。
有鑑於現今工具機多軸複合化趨勢,工具機的應用越來越多樣化,規劃產生之路徑也更加複雜,難以用人工檢測方法檢知碰撞。習用技術針對防碰撞檢測至少包含:外部電腦模擬檢測、空跑運動檢測與線上檢測。外部電腦模擬檢測的方式需要事先描繪3D模型,視情況需要配合如鏡頭、感測器等外部儀器,須耗費過多系統資源進行外部儀器資料與控制器之資料傳輸。空跑運動檢測的方式是在不架刀具的情況下,僅跑加工路徑的一種模擬演練流程,但此方式用於加工前,無法作為實際加工運行之防碰撞檢測,且需要先透過插值計算得到插值命令,以執行加工路徑,故須額外耗費系統資源去執行空跑運動檢測。線上檢測的方式透過虛擬工具機運動模型與控制器通訊介面,實施線上即時碰撞檢測,碰撞發生前即可讓機台停止運動,此方式不僅需額外建立3D模型,並在每一個時間間隔就要執行計算,不僅增加系統計算資源,也無法確保檢視到碰撞發生前,讓工具機停止運動時的減速距離是否仍會讓實際機台發生碰撞。
因此,如何改良並能提供一種『預先檢測加工路徑碰撞方法及系統』來避免上述所遭遇到的問題,係業界所待解決之課題。
本發明提供一種預先檢測加工路徑碰撞方法及系統,能以較少的系統資源進行防碰撞檢測,並提前預知是否產生非預期之實際加工動作,避免使用者使用錯誤的路徑規劃而導致機台或工件損傷,進而影響加工稼動率。
本發明之一實施例提出一種預先檢測加工路徑碰撞方法,適用於一工具機,工具機包括一控制器,控制器包含一加工單元,預先檢測加工路徑碰撞方法包括以下步驟:讀取加工程式;解譯加工程式中的複數個單節資訊;於各單節資訊執行插值之前,計算欲執行插值之單節資訊所對應之下一個單節資訊的一安全距離,其中由系統反應時間以及各單節資訊對應之一停止距離計算得到安全距離;找尋滿足一累加距離大於或等於安全距離所需之各單節資訊的數量,其中累加距離係依序計算並累加各單節資訊對應之停止距離;以及依據累加距離中的各單節資訊進行一防碰撞檢測。
本發明之另一實施例提出一種預先檢測加工路徑碰撞系統,適用於一工具機,該工具機包括一控制器,控制器包含一加工單元。預先檢測加工路徑碰撞系統包括一演算單元以及一碰撞檢測單元。演算單元用以接收控制器解譯後之加工程式中的複數個單節資訊。於各單節資訊執行插值之前,演算單元計算欲執行插值之單節資訊所對應之下一個單節資訊的一安全距離,安全距離由一系統反應時間以及各單節資訊對應之一停止距離計算而得。演算單元找尋滿足一累加距離大於或等於安全距離所需之各單節資訊的數量,累加距離係依序計算並累加各單節資訊對應之停止距離。碰撞檢測單元連接演算單元,碰撞檢測單元依據累加距離中的各單節資訊進行一防碰撞檢測。
基於上述,在本發明之預先檢測加工路徑碰撞方法及系統中,是在每個單節資訊被執行插值之前,僅在單節資訊開始前在合理的安全距離內檢測碰撞,故可以較少的系統資源進行防碰撞檢測,並且上述合理的安全距離係計算下一個單節資訊開始時的一安全距離,故能事先預知是否產生非預期之實際加工動作,避免使用者使用錯誤的路徑規劃而導致機台或工件損傷,進而影響加工稼動率。
再者,本發明利用加工程式之單節資訊進行防碰撞檢測,在每個單節資訊被執行插值之前,根據下一個單節資訊之速度,提前送出符合安全距離的單節資訊之數量,給予進行3D模擬檢測判斷碰撞,不須進行插值運算,相較於以插值運算而言,可省下約40%以上的CPU效能,大幅降低加工系統之運算量。
為讓本發明能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
以下結合附圖和實施例,對本發明的具體實施方式作進一步描述。以下實施例僅用於更加清楚地說明本發明的技術方案,而不能以此限制本發明的保護範圍。
圖1為本發明之預先檢測加工路徑碰撞系統的示意圖。請參閱圖1,工具機50例如為各式數控工具機,上述數控工具機根據加工方式不同包括銑床、車床、搪床、磨床、鑽床等。工具機50所包括的控制器52可透過硬體(例如積體電路、CPU)、軟體(例如處理器執行之程式指令)或其組合來實現。控制器52包含一加工單元521,控制器52讀取一加工程式以控制一加工單元521。加工單元521包括工具機50中的主軸馬達、伺服馬達、驅動器、變壓器、電磁閥等,端視實際加工方式與工具機種類而有所變更。
在本實施例中,加工程式經解譯以轉換成控制器52可讀取與理解之命令格式,即將加工程式被解譯為多個單節(Block)資訊,以取得加工程式之對應的加工資訊。詳細而言,加工程式係由一系列單節資訊所組成,每一順序步驟的一群指令稱為單節,換言之,這些單節資訊係為加工程式的程式代碼,單節資訊包括行號、主軸轉速、加工進給率、速度、加速度等該些代碼,該些代碼的對應於加工單元521之至少一個元件。加工程式除可由G Code(如:G00、G01)組成外,亦可由M Code、S Code、T Code、N code、F code組成。舉例而言,G01表示進給移動(Move at feed rate),Z44.5表示Z軸方向44.5單位(例如英寸),F200表示進給速度為200單位(例如毫米/分鐘)。
在本實施例中,加工單元521包含一插值器(Interpolator)5211。加工單元521接收控制器52內經解譯後之加工程式中的複數個單節資訊後,利用插值器5211對加工程式中的複數個單節資訊進行插值,接著輸出插值命令至加工單元521中的主軸馬達、伺服馬達、驅動器,以驅動上述主軸馬達、伺服馬達、驅動器來對工件進行加工的動作。
在本實施例中,預先檢測加工路徑碰撞系統100適用於一工具機50,預先檢測加工路徑碰撞系統100包括一反應時間估算單元110、一演算單元120以及一碰撞檢測單元130,其中碰撞檢測單元130連接演算單元120,演算單元120連接反應時間估算單元110。反應時間估算單元110用以估算一系統反應時間並傳輸至演算單元120,反應時間估算單元110估算碰撞檢測單元130發出一警報訊號至加工單元521之訊號傳輸時間,以作為系統反應時間,換言之,系統反應時間係隨預先檢測加工路徑碰撞系統100傳輸效能的改變而進行估算。在其他實施例中,預先檢測加工路徑碰撞系統100可直接利用控制器52內部的計時器,估算碰撞檢測單元130發出一警報訊號至加工單元521之訊號傳輸時間,並提供至反應時間估算單元110作為參考依據。
需說明的是,在本實施例中,預先檢測加工路徑碰撞系統100可在近端或遠端連接工具機50之控制器52。舉例而言,預先檢測加工路徑碰撞系統100例如為包含在控制器52內的一處理器用以執行各種運算,且亦可以被實施為微控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)或一邏輯電路;或者,預先檢測加工路徑碰撞系統100是在工具機50內部之一處理器,並連接控制器52;又或者,預先檢測加工路徑碰撞系統100例如是雲端處理器,透過網路連線與工具機50之控制器52相互傳輸資訊。
在本實施例中,演算單元120可透過硬體(例如積體電路、CPU)、軟體(例如處理器執行之程式指令)或其組合來實現。演算單元120用以接收經控制器52解譯後之加工程式中的複數個單節資訊,並於各單節資訊執行插值之前,計算欲執行插值之單節資訊所對應之下一個單節資訊的一安全距離,並將滿足一累加距離大於或等於安全距離所需之各單節資訊的數量,輸送至碰撞檢測單元130,其中累加距離係依序計算並累加各單節資訊對應之停止距離,安全距離係由系統反應時間以及各單節資訊對應之一停止距離計算得到,停止距離則為各單節資訊之速度值減速到零所需的距離,並可由系統反應時間與對應之單節資訊之速度值得到延遲距離,將延遲距離加上停止距離即可得到安全距離,換言之,在此所述安全距離並非給定一固定距離,因安全距離的長度會隨當下對應之單節資訊的停止距離的不同而調整。
在本實施例中,碰撞檢測單元130接收演算單元120所傳輸之滿足累加距離大於或等於安全距離所需之各單節資訊的數量。碰撞檢測單元130依據累加距離中的各單節資訊進行一防碰撞檢測,若有干涉,即碰撞發生,碰撞檢測單元130發出一警報訊號至加工單元521,使加工單元521停止加工或暫停加工;若無碰撞發生,將此單節資訊交由插值器5211執行插值,接著輸出插值命令至加工單元521中的主軸馬達、伺服馬達、驅動器,以驅動上述主軸馬達、伺服馬達、驅動器來對工件進行加工的動作。
在此配置之下,本實施例之預先檢測加工路徑碰撞系統100是在每個單節資訊被執行插值之前,僅在單節資訊開始前在合理的安全距離內檢測碰撞,故可以較少的系統資源進行防碰撞檢測,並且合理的安全距離係計算下一個單節資訊開始時的一安全距離,故能事先預知是否產生非預期之實際加工動作,避免使用者使用錯誤的路徑規劃而導致機台或工件損傷,進而影響加工稼動率。
圖2為本發明之預先檢測加工路徑碰撞方法一實施例的流程圖。請參閱圖2。在本實施例中,預先檢測加工路徑碰撞方法S100例如可透過圖1之預先檢測加工路徑碰撞系統100去執行,預先檢測加工路徑碰撞方法S100舉例是由工具機50之控制器52所執行,控制器52用以讀取加工程式並提供系統反應時間至加工單元521。
本實施例之預先檢測加工路徑碰撞方法S100包括以下步驟S110至步驟S150。進行步驟S110,讀取加工程式。工具機50之控制器52讀取加工程式。所述讀取加工程式的步驟中,包括以下步驟:估算控制器52與加工單元521之間之訊號傳輸時間,以作為系統反應時間。反應時間估算單元110用以估算一系統反應時間至演算單元120,反應時間估算單元110估算碰撞檢測單元130發出上述警報訊號至加工單元521之訊號傳輸時間,以作為系統反應時間,換言之,系統反應時間係隨預先檢測加工路徑碰撞系統100傳輸效能的改變而進行估算。在其他實施例中,預先檢測加工路徑碰撞系統100可直接利用控制器52內部的計時器,估算碰撞檢測單元130發出警報訊號至加工單元521之訊號傳輸時間,並提供至反應時間估算單元110作為參考依據。
接著,進行步驟S120,解譯加工程式中的複數個單節資訊。加工程式經解譯以轉換成控制器52可讀取與理解之命令格式,即將加工程式被解譯為多個單節(Block)資訊,以取得加工程式之對應的加工資訊。
接著,進行步驟S130,於各單節資訊執行插值之前,計算欲執行插值之單節資訊所對應之下一個單節資訊的一安全距離。以圖1為例,演算單元120接收控制器52解譯後之加工程式中的複數個單節資訊,並於各單節資訊執行插值之前,計算欲執行插值之單節資訊所對應之下一個單節資訊的一安全距離,其中由一系統反應時間以及各單節資訊對應之一停止距離計算以得到安全距離。
詳細而言,請參閱圖3,圖3為本發明之計算安全距離的流程圖。所述計算欲執行插值之單節資訊所對應之下一個單節資訊的安全距離的步驟S130中,包括以下步驟S132至步驟S134。進行步驟S132,計算單節資訊所對應之下一個單節資訊之速度值減速到零的停止距離。舉例而言,倘若目前欲執行插值之單節資訊為第三節之單節資訊,故依據第四節之單節資訊之起始點之加工進給率、速度、加速度等參數條件,演算單元120計算於第四節之單節資訊當下運行速度值減速到零的停止距離,而每一個單節資訊之停止距離會依據當下運行速度值而有所不同。此外,基於兩傳輸介面之間產生之訊號溝通延遲或網路傳輸延遲所產生之系統反應時間,接著進行步驟S134,將一延遲距離加上停止距離,即可得到安全距離,其中延遲距離係由系統反應時間與各單節資訊對應之速度值而得,換言之,在此所述安全距離並非給定一固定距離,因安全距離的長度會隨當下對應之單節資訊的停止距離的不同而調整。
請復參閱圖2,在步驟S130計算欲執行插值之單節資訊所對應之下一個單節資訊的安全距離之後,接著進行步驟S140,找尋滿足一累加距離大於或等於安全距離所需之各單節資訊的數量。以圖1為例,演算單元120能依據當下每一個單節資訊之運行速度值來計算對應之停止距離,並能累加這些單節資訊之停止距離為一累加距離。
詳細而言,請參閱圖4,圖4為本發明之找尋滿足累加距離大於或等於安全距離的流程圖。所述找尋滿足累加距離大於或等於安全距離所需之各單節資訊的數量的步驟S140中,包括以下步驟S142至步驟S144。進行步驟S142,依據複數個單節資訊之次序,由欲執行插值之單節資訊所對應之下一個單節資訊開始,依序計算並累加各單節資訊對應之該停止距離,得到累加距離。接著,進行步驟S144,於依序計算並累加各停止距離的過程中,判斷累加距離是否大於或等於安全距離。
以圖1為例,倘若目前欲執行插值之單節資訊為第三節之單節資訊,故演算單元120計算於第四節之單節資訊當下運行速度值減速到零的停止距離為5 mm,而延遲距離為5 mm,故此時安全距離為10 mm。而第四節之單節資訊例如為兩個軸向運動,X軸之移動量為3 mm,Z軸之移動量為4 mm,故第四節之單節資訊的移動量為5 mm,作為目前的累加距離。演算單元120判斷目前的累加距離5 mm小於安全距離10 mm,故返回步驟S142,繼續下一個單節資訊的運算,即若累加距離小於安全距離,會繼續計算並累加各單節資訊對應之停止距離,直到滿足累加距離大於或等於安全距離為止。以此例即需要繼續計算第五節之單節資訊的停止距離,而演算單元120計算第五節之單節資訊的停止距離為4 mm,演算單元120將第四節之單節資訊的停止距離與第五節之單節資訊的停止距離累加後得到累加距離為9 mm,演算單元120判斷目前的累加距離9 mm仍小於安全距離10 mm,故返回步驟S142,再繼續計算第六節之單節資訊的停止距離為0.5 mm,演算單元120將第四節之單節資訊的停止距離、第五節之單節資訊的停止距離與第六節之單節資訊的停止距離累加後得到累加距離為9.5 mm,演算單元120判斷目前的累加距離9.5 mm仍小於安全距離10 mm,故返回步驟S142,再次繼續計算第七節之單節資訊的停止距離為0.5 mm,演算單元120將第四節之單節資訊的停止距離、第五節之單節資訊的停止距離、第六節之單節資訊的停止距離與第七節之單節資訊的停止距離累加後得到累加距離為10 mm,其累加距離等於安全距離,則演算單元120判斷不再回到步驟S142之計算過程,由此可知,本實施例之步驟S144是依序計算並累加各停止距離的過程中,直到判斷累加距離大於或等於安全距離,才繼續進行步驟S150。
請復參閱圖2,在本實施例中,進行步驟S150,依據累加距離中的各單節資訊進行一防碰撞檢測。舉例而言,演算單元120將滿足累加距離大於或等於安全距離的第四節之單節資訊至第七節之單節資訊傳輸至碰撞檢測單元130進行防碰撞檢測。詳細而言,請參閱圖5,圖5為本發明之防碰撞檢測的流程圖。所述依據累加距離中的各單節資訊進行防碰撞檢測的步驟S150中,包括以下步驟S152至步驟S156。進行步驟S152,依據各單節資訊之複數個代碼,繪製各代碼所對應加工單元之一加工路徑。單節資訊包括行號、主軸轉速、加工進給率、速度、加速度等該些代碼,各代碼包含一直線、一圓弧或一曲線的命令格式。
舉例而言,如圖6A所示,單節資訊之代碼轉換成對應之三個NC命令點PA1~PA3。如圖6B所示,一般而言,單節資訊經由插值器5211進行插值,即在前述三個NC命令點PA1~PA3進行插值,故在NC命令點PA1~PA3之間會有諸多個插值點PB1~PBn。於插值點PB1~PBn產生之路徑中,習用技術之人機介面端與控制器會在一固定周期中傳輸上述插值點PB1~PBn之座標,以繪製一所需路徑。由於在一固定周期中取樣,並非所有插值點PB1~PBn之座標均會被取樣,如圖6C所示,係繪製一直線的3D繪圖路徑,取樣點PC1~PC4所繪製的3D繪圖路徑S1與實際加工路徑有所落差。反觀本實施例,本實施例之碰撞檢測單元130是完全根據單節資訊之代碼作3D繪圖。如圖6D所示,係繪製一直線的繪製路徑,便將NC命令點PA1與NC命令點PA2彼此以直線相連接,NC命令點PA2與NC命令點PA3彼此以直線相連接,形成3D繪圖路徑S2的直線之加工路徑,不會有3D繪圖路徑不符合實際加工路徑之狀況,以確保後續防碰撞檢測之模擬加工路徑的真實性,換言之,本發明不須經由插值,避免3D繪圖路徑失真,而降低模擬加工路徑與實際加工路徑之落差所導致之未偵測到碰撞的狀況發生。
同理,如圖7A所示,係繪製一圓弧的3D繪圖路徑,單節資訊之代碼轉換成對應之三個NC命令點PA4~PA6,單節資訊經由插值器5211進行插值,即會在前述三個NC命令點PA4~PA6進行插值,形成有諸多個插值點PB1~PBn,於插值點PB1~PBn產生之路徑中,習用技術之人機介面端與控制器會在一固定周期中傳輸上述插值點PB1~PBn之座標,來繪製一圓弧的3D繪圖路徑,但如圖7A所示,取樣點PC5~PC7並未完全對應至插值點PB1~PBn之座標,使得取樣點PC5~PC7所繪製的3D繪圖路徑S3並未形成圓弧,其與實際加工路徑有所落差。反觀本實施例,本實施例之碰撞檢測單元130是完全根據單節資訊之代碼作3D繪圖。如圖7B所示,係繪製一圓弧的繪製路徑,便將NC命令點PA4與NC命令點PA5彼此以圓弧相連接,NC命令點PA5與NC命令點PA6彼此以圓弧相連接,形成3D繪圖路徑S4的圓弧之加工路徑,不會有3D繪圖路徑不符合實際加工路徑之狀況。
同理,如圖8A所示,係繪製一曲線的3D繪圖路徑,單節資訊之代碼轉換成對應之三個NC命令點PA7~PA9,單一單節資訊經由插值器5211進行插值,即會在前述三個NC命令點PA7~PA9進行插值,形成有諸多個插值點PB1~PBn,於插值點PB1~PBn產生之路徑中,習用技術之人機介面端與控制器會在一固定周期中傳輸上述插值點PB1~PBn之座標,來繪製一曲線的3D繪圖路徑,但如圖8A所示,取樣點PC8~PC10並未完全對應至插值點PB1~PBn之座標,使得取樣點PC8~PC10所繪製的3D繪圖路徑S5並未形成曲線,其與實際加工路徑有所落差。反觀本實施例,本實施例之碰撞檢測單元130是完全根據單節資訊之代碼作3D繪圖。如圖8B所示,係繪製一曲線的繪製路徑,便將NC命令點PA7與NC命令點PA8彼此以曲線相連接,NC命令點PA8與NC命令點PA9彼此以曲線相連接,形成3D繪圖路徑S6的真實曲線之加工路徑,不會有3D繪圖路徑不符合實際加工路徑之狀況。
在繪製各代碼所對應加工單元之加工路徑的步驟S152之後,進行步驟S154,如圖5所示,依據加工路徑所對應至加工單元521中複數個物件,檢測複數個物件於移動過程中,複數個物件之邊界是否相互干涉。圖1之碰撞檢測單元130依據加工路徑所對應至加工單元521中複數個物件,將這些物件的形狀視為一個物件形狀邊界。如圖9A所示,第一物件10依據加工路徑會由第一方向L1移動,第二物件20依據加工路徑會由第二方向L2移動,其中第一方向L1不同於第二方向L2,例如第一方向L1垂直於第二方向L2。圖1之碰撞檢測單元130檢測第一物件10與第二物件20於移動過程中,第一物件10之邊界與第二物件20之邊界是否相互干涉。若第一物件10之邊界與第二物件20之邊界重疊或接觸時,碰撞檢測單元130即視為第一物件10與第二物件20依據目前加工路經移動時將相互干涉,視為碰撞。如圖9B所示,第一物件10之邊界與第二物件20之邊界接觸,即視為碰撞。若干涉,進行步驟S156,發出一警報訊號至加工單元521。以圖1為例,此時碰撞檢測單元130發出一警報訊號至加工單元521,使加工單元521停止加工或暫停加工。需說明的是,為了說明上的便利和明確,圖9A與圖9B中各元件的厚度或尺寸,係以誇張或省略或概略的方式表示,且各元件的尺寸並未完全為其實際的尺寸。
反之,若前述步驟S154中,複數個物件之邊界並未相互干涉,即碰撞檢測單元130檢測複數個物件之邊界並未有碰撞發生,即進行A階段,請參閱圖10,圖10為本發明之通過防碰撞檢測後的流程圖。進行步驟S160,若通過防碰撞檢測,將欲執行插值之單節資訊進行插值,得到一插值命令。以圖1為例,利用插值器5211對加工程式中的複數個單節資訊進行插值。接著,進行步驟S170,輸出對應單節資訊之插值命令至加工單元521。以圖1為例,控制器52輸出插值命令至加工單元521中的主軸馬達、伺服馬達、驅動器,以驅動上述主軸馬達、伺服馬達、驅動器來對工件進行加工的動作。接著,進行步驟S180,判斷單節資訊對應之加工路徑是否結束。若未結束,回到步驟S170,繼續輸出對應單節資訊之插值命令;反之,若結束,進行步驟S190,判斷加工程式是否運行完成,即判斷加工程式的所有單節資訊是否已運行完成。若判斷未運行完成,則進入B階段,即圖2之步驟S120,繼續解譯加工程式中的複數個單節資訊;反之,若運行完成,進行步驟S192,控制器52輸出一停止加工命令至加工單元521。
綜上所述,在本發明之預先檢測加工路徑碰撞方法及系統中,是在每個單節資訊被執行插值之前,僅在單節資訊開始前在合理的安全距離內檢測碰撞,故可以較少的系統資源進行防碰撞檢測,並且上述合理的安全距離係計算下一個單節資訊開始時的一安全距離,故能事先預知是否產生非預期之實際加工動作,避免使用者使用錯誤的路徑規劃而導致機台或工件損傷,進而影響加工稼動率。
再者,相較於習用技術利用插值點進行取樣所產生的誤差,本發明是根據單節資訊之代碼作3D繪圖,不會有3D繪圖路徑不符合實際加工路徑之狀況,以確保後續防碰撞檢測之模擬加工路徑的真實性,換言之,本發明不須經由插值,避免3D繪圖路徑失真,而降低模擬加工路徑與實際加工路徑之落差導致之未偵測到碰撞的狀況發生。
另外,本發明利用加工程式之單節資訊進行防碰撞檢測,於在每個單節資訊被執行插值之前,根據下一個單節資訊之速度,提前送出符合安全距離的單節資訊之數量,給予進行3D模擬檢測判斷碰撞,不須進行插值運算,相較於以插值運算而言,可省下約40%以上的CPU效能,大幅降低加工系統之運算量。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10:第一物件 20:第二物件 50:工具機 52:控制器 521:加工單元 5211:插值器 100:預先檢測加工路徑碰撞系統 110:反應時間估算單元 120:演算單元 130:碰撞檢測單元 L1:第一方向 L2:第二方向 PA1~PA9:NC命令點 PB1~PBn:插值點 PC1~PC10:取樣點 S1~S6:3D繪圖路徑 S100:預先檢測加工路徑碰撞方法 S110~S150:步驟 S132~S134:步驟 S142~S144:步驟 S152~S156:步驟 S160~S192:步驟
圖1為本發明之預先檢測加工路徑碰撞系統的示意圖。 圖2為本發明之預先檢測加工路徑碰撞方法一實施例的流程圖。 圖3為本發明之計算安全距離的流程圖。 圖4為本發明之找尋滿足累加距離大於或等於安全距離的流程圖。 圖5為本發明之防碰撞檢測的流程圖。 圖6A為本發明之單節資訊之代碼對應之NC命令點一實施例的示意圖。 圖6B為習用技術利用插值點在NC命令點之間進行插值一實施例的示意圖。 圖6C為圖6B之3D繪圖路徑中直線實施例的示意圖。 圖6D為本發明之3D繪圖路徑中直線實施例的示意圖。 圖7A為習用技術利用插值點之3D繪圖路徑中圓弧實施例的示意圖。 圖7B為本發明之繪圖路徑中圓弧實施例的示意圖。 圖8A為習用技術利用插值點之3D繪圖路徑中曲線實施例的示意圖。 圖8B為本發明之繪圖路徑中曲線實施例的示意圖。 圖9A與圖9B為本發明之碰撞檢測單元一實施例的示意圖。 圖10為本發明之通過防碰撞檢測後的流程圖。
S100:預先檢測加工路徑碰撞方法
S110~S150:步驟

Claims (12)

  1. 一種預先檢測加工路徑碰撞方法,適用於一工具機,該工具機包括一控制器,該控制器包含一加工單元,該預先檢測加工路徑碰撞方法包括以下步驟:讀取一加工程式;解譯該加工程式中的複數個單節資訊;於各該單節資訊執行插值之前,計算一欲執行插值之該單節資訊所對應之下一個該單節資訊的一安全距離,其中由一系統反應時間以及該下一個該單節資訊所對應之一停止距離計算得到該安全距離,其中該停止距離係該下一個該單節資訊之速度值減速到零所需的距離;找尋滿足一累加距離大於或等於該安全距離所需之各該單節資訊的數量,其中該累加距離係自該下一個該單節資訊起依序計算並累加該數量之各該單節資訊所對應之該停止距離;以及依據該累加距離中的各該單節資訊進行一防碰撞檢測。
  2. 如申請專利範圍第1項所述之預先檢測加工路徑碰撞方法,其中所述計算該欲執行插值之該單節資訊所對應之該下一個該單節資訊的該安全距離的步驟中,包括以下步驟:將一延遲距離加上該停止距離,得到該安全距離,其中該延遲距離係由該系統反應時間與該下一個該單節資訊所對應之該速度值而得。
  3. 如申請專利範圍第1項所述之預先檢測加工路徑碰撞方法,其中所述找尋滿足該累加距離大於或等於該安全距離所需之各該單節資訊的該數量的步驟中,包括以下步驟: 依據該複數個單節資訊之次序,由該欲執行插值之該單節資訊所對應之該下一個該單節資訊開始,依序計算並累加各該單節資訊所對應之該停止距離,得到該累加距離;以及於依序計算並累加各該停止距離的過程中,判斷該累加距離是否大於或等於該安全距離。
  4. 如申請專利範圍第3項所述之預先檢測加工路徑碰撞方法,其中所述判斷該累加距離是否大於或等於該安全距離的步驟中,包括以下步驟:若該累加距離小於該安全距離,繼續計算並累加各該單節資訊所對應之該停止距離,直到滿足該累加距離大於或等於該安全距離為止。
  5. 如申請專利範圍第1項所述之預先檢測加工路徑碰撞方法,其中所述依據該累加距離中的各該單節資訊進行該防碰撞檢測的步驟中,包括以下步驟:依據各該單節資訊之複數個代碼,繪製各該代碼所對應該加工單元之一加工路徑;依據該加工路徑所對應至該加工單元中之複數個物件,檢測該複數個物件於移動過程中,該複數個物件之邊界是否相互干涉;若干涉,發出一警報訊號至該加工單元。
  6. 如申請專利範圍第5項所述之預先檢測加工路徑碰撞方法,其中各該代碼包含一直線、一圓弧或一曲線的命令格式。
  7. 如申請專利範圍第5項所述之預先檢測加工路徑碰撞方法,其中所述讀取該加工程式的步驟中,包括以下步驟:估算用以發出該警報訊號至該加工單元之訊號傳輸時間,以作為該系統反應時間。
  8. 如申請專利範圍第5項所述之預先檢測加工路徑碰撞方法,其中所述依據該累加距離中的各該單節資訊進行該防碰撞檢測的步驟之後,包括以下步驟:若通過該防碰撞檢測,將該欲執行插值之該單節資訊進行插值,得到一插值命令;以及輸出該插值命令至該加工單元;判斷該加工路徑是否結束;若結束,判斷該加工程式是否運行完成;以及若運行完成,輸出一停止加工命令至該加工單元。
  9. 如申請專利範圍第8項所述之預先檢測加工路徑碰撞方法,其中所述判斷該加工路徑是否結束的步驟中,包括以下步驟:若未結束,繼續輸出對應各該單節資訊之該插值命令。
  10. 如申請專利範圍第8項所述之預先檢測加工路徑碰撞方法,其中所述判斷該加工程式是否運行完成的步驟中,包括以下步驟:若未運行完成,繼續解譯該加工程式中的該複數個單節資訊。
  11. 一種預先檢測加工路徑碰撞系統,適用於一工具機,該工具機包括一控制器,該控制器包含一加工單元,該預先檢測加工路徑碰撞系統包括:一演算單元,用以接收該控制器解譯後之一加工程式中的複數個單節資訊,其中:於各該單節資訊執行插值之前,該演算單元計算一欲執行插值之該單節資訊所對應之下一個單節資訊的一安全距離,該安全距離由一系統反應時間以及該下一個該單節資訊所對應之一停止距離計算而 得,其中該停止距離係該下一個該單節資訊之速度值減速到零所需的距離;及該演算單元找尋滿足一累加距離大於或等於該安全距離所需之各該單節資訊的數量,該累加距離係自該下一個該單節資訊起依序計算並累加該數量之各該單節資訊所對應之該停止距離;以及一碰撞檢測單元,連接該演算單元,該碰撞檢測單元依據該累加距離中的各該單節資訊進行一防碰撞檢測。
  12. 如申請專利範圍第11項所述之預先檢測加工路徑碰撞系統,更包括:一反應時間估算單元,連接該演算單元,該反應時間估算單元用以估算該系統反應時間並傳輸至該演算單元。
TW108112435A 2019-04-10 2019-04-10 預先檢測加工路徑碰撞方法及系統 TWI716849B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW108112435A TWI716849B (zh) 2019-04-10 2019-04-10 預先檢測加工路徑碰撞方法及系統
CN201910374465.6A CN111857115B (zh) 2019-04-10 2019-05-07 预先检测加工路径碰撞方法及***
US16/439,070 US11407112B2 (en) 2019-04-10 2019-06-12 Method and system for predicting collision of machining path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108112435A TWI716849B (zh) 2019-04-10 2019-04-10 預先檢測加工路徑碰撞方法及系統

Publications (2)

Publication Number Publication Date
TW202038111A TW202038111A (zh) 2020-10-16
TWI716849B true TWI716849B (zh) 2021-01-21

Family

ID=72747668

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108112435A TWI716849B (zh) 2019-04-10 2019-04-10 預先檢測加工路徑碰撞方法及系統

Country Status (3)

Country Link
US (1) US11407112B2 (zh)
CN (1) CN111857115B (zh)
TW (1) TWI716849B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6838028B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 自動プログラム修正装置および自動プログラム修正方法
TWI806405B (zh) 2022-02-08 2023-06-21 財團法人工業技術研究院 加工路徑的閃避方法及加工系統

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI428778B (zh) * 2009-01-15 2014-03-01 Mitsubishi Electric Corp 碰撞判定裝置及碰撞判定程式
CN104680587A (zh) * 2014-12-23 2015-06-03 山东丽鹏股份有限公司 一种激光雕刻机五轴联动加工方法
US9292626B2 (en) * 2012-12-10 2016-03-22 Palo Alto Research Center Incorporated Computer numerical control (CNC) machining tool and method for controlling a CNC machining tool
CN106202767A (zh) * 2016-07-18 2016-12-07 西安交通大学 一种数控机床实时防碰撞方法
US10140395B2 (en) * 2014-12-31 2018-11-27 Dassault Systemes Detecting collisions in a simulated machining of a workpiece represented by dexels

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5304906A (en) * 1989-12-26 1994-04-19 Fanuc Ltd. Collision detecting method using an observer
JPH07314378A (ja) 1994-05-19 1995-12-05 Toyota Autom Loom Works Ltd ロボットの衝突防止方法及びその衝突防止装置
US5726896A (en) * 1995-08-30 1998-03-10 University Of Utah Research Foundation Method and system for spline interpolation, and their use in CNC
US6678582B2 (en) 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
AT502286B1 (de) 2004-09-15 2008-09-15 Wfl Millturn Tech Gmbh & Co Kg Verfahren zur kollisionsvermeidung
CN1796046B (zh) 2004-12-30 2010-05-26 鸿富锦精密工业(深圳)有限公司 数控机床碰撞自动侦测***
JP4298770B2 (ja) 2007-08-28 2009-07-22 ファナック株式会社 干渉チェック機能を備えた数値制御装置
DE112008003800T5 (de) * 2008-04-22 2011-02-24 Mitsubishi Electric Corp. Numerische Steuerverfahren und Vorrichtung dafür
JP5139230B2 (ja) * 2008-10-06 2013-02-06 オークマ株式会社 数値制御装置における衝突防止装置
EP2515193B1 (de) 2011-04-18 2014-04-02 Siemens Aktiengesellschaft Verfahren zur Vermeidung einer ungewollten Kollision zwischen einem Werkzeug und einem Werkstück bei einer Werkzeugmaschine
CN202317881U (zh) 2011-12-02 2012-07-11 浙江大学 一种面向无心内圆磨床的在线防碰撞监控装置
CN103128661B (zh) 2011-12-02 2015-12-02 浙江大学 一种面向无心内圆磨床的在线防碰撞监控装置
TW201445268A (zh) 2013-05-29 2014-12-01 Victor Taichung Machinery Works Co Ltd 工具機碰撞安全防護系統及其監控方法
CN104238433B (zh) 2013-06-07 2017-04-19 台中精机厂股份有限公司 工具机碰撞安全防护***及其监控方法
EP2853354B1 (de) 2013-09-27 2018-05-16 Siemens Aktiengesellschaft Lageregelung mit Kollisionsvermeidung und Anpassung eines Maschinenmodells an die reale Maschine
CN103792881B (zh) * 2014-03-06 2016-04-13 苏州新代数控设备有限公司 用于切削工具机的控制设备
TWI606228B (zh) * 2015-10-23 2017-11-21 財團法人工業技術研究院 自動角度量測裝置及其方法
TWM530201U (zh) 2016-06-24 2016-10-11 Taiwan Takisawa Technology Co Ltd 防撞模擬系統
CN106383493B (zh) * 2016-09-30 2018-12-18 同济大学 一种数控机床的实时防碰撞方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI428778B (zh) * 2009-01-15 2014-03-01 Mitsubishi Electric Corp 碰撞判定裝置及碰撞判定程式
US9292626B2 (en) * 2012-12-10 2016-03-22 Palo Alto Research Center Incorporated Computer numerical control (CNC) machining tool and method for controlling a CNC machining tool
CN104680587A (zh) * 2014-12-23 2015-06-03 山东丽鹏股份有限公司 一种激光雕刻机五轴联动加工方法
US10140395B2 (en) * 2014-12-31 2018-11-27 Dassault Systemes Detecting collisions in a simulated machining of a workpiece represented by dexels
CN106202767A (zh) * 2016-07-18 2016-12-07 西安交通大学 一种数控机床实时防碰撞方法

Also Published As

Publication number Publication date
US11407112B2 (en) 2022-08-09
US20200324413A1 (en) 2020-10-15
TW202038111A (zh) 2020-10-16
CN111857115B (zh) 2024-05-31
CN111857115A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN103699056B (zh) 高速高精度数控加工的小线段实时平滑过渡插补方法
JP6140130B2 (ja) 工具及び被加工物を保護する数値制御装置
CN100451891C (zh) 微小程序段的动态前瞻处理方法及实现装置
TWI716849B (zh) 預先檢測加工路徑碰撞方法及系統
JP4233147B2 (ja) 工作機械用に適応可能なフィードレートを決定する方法
JP4955371B2 (ja) 数値制御システム
CN110026820B (zh) 机床防碰撞方法及应用其的***
CN103728923A (zh) 一种高效高平稳的数控***柔性加减速控制方法
Bosetti et al. Feed-rate and trajectory optimization for CNC machine tools
US10048675B2 (en) Numerical controller performing 3-dimensional interference check corresponding to feedrate change
CN103801981A (zh) 一种用于样条插补的四次多项式速度规划算法
Martinov et al. Specialized numerical control system for five-axis planing and milling center
Li et al. Error constraint optimization for corner smoothing algorithms in high-speed CNC machine tools
TWI405092B (zh) 數值控制系統之路徑軌跡點計算裝置及其計算方法
Takasugi et al. A Surface Parameter-Based Method for Accurate and Efficient Tool Path Generation
JP2008071015A (ja) 数値制御装置
JP2017072880A (ja) 切削負荷予測方法、切削負荷予測システム、及び切削負荷予測プログラム及び記憶媒体
CN102566495B (zh) 一种向导式多轴数控机床运动学参数配置方法
Zhang et al. A next generation NC machining system based on NC feature unit and real-time tool-path generation
KR100338469B1 (ko) 수치 제어 장치 및 그 이송 제어 처리 방법
JP7175340B2 (ja) 工作機械、情報処理装置および情報処理プログラム
TWI831648B (zh) 電腦數值控制車床之預測加工時間方法
Sang et al. Development of a smart computer numerical control system
JP6219866B2 (ja) 表示機能付き数値制御装置および表示プログラム
JP4560191B2 (ja) 数値制御装置