亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于公差的軌跡規(guī)劃和控制方法

文檔序號:6281309閱讀:1342來源:國知局

專利名稱::基于公差的軌跡規(guī)劃和控制方法
技術領域
:本發(fā)明涉及運動體的路徑導航,并更特別涉及用于計算機可控機床(machinetool)的運動控制系統(tǒng)。
背景技術
:自動化己經(jīng)導致能夠向致動器裝置發(fā)送信號以實現(xiàn)聯(lián)動裝置沿著所需軌跡的運動同時執(zhí)行有用功的運動控制器的發(fā)展。運動控制器允許在執(zhí)行給定任務時獲得比手動操作更高的速度和精度。自動機械和自動化制造設備是利用運動控制技術的一些產(chǎn)品的實例。編程這些裝置通常是通過將所需軌跡規(guī)定為線段/弧段,以及工具沿每個段的所需速度的集合來實現(xiàn)的。工具的速度通常沿著復雜軌跡的每個段或段組保持恒定,因為沿軌跡中每個點的速度優(yōu)化是非常耗時的。編程工具軌跡的大多數(shù)人都具有速度和精度之間的折衷的基本理解。公知的是,在速度越高時,控制系統(tǒng)停留在所需軌跡上就變得越困難。因此,軌跡編程者必須在沿所需軌跡運動的速度和精度之間進行折衷。這些決定通?;诰幊陶叩慕?jīng)驗,并導致一種反復的編程過程,在這種反復的編程過程中,執(zhí)行軌跡,然后做出修改以減小在觀察到不希望有的偏離所需軌跡的偏差的部分中的速度。因此,編程者通過操縱工具沿軌跡的速度而控制偏離所需軌跡的偏差,并因此控制運動的質(zhì)量。通常被稱為計算機數(shù)字控制器(CNC)的用于制造設備的運動控制系統(tǒng),試圖最大化運動控制的速度同時最小化偏離所需軌跡的偏差。CNC可用來控制制造設備,如車床、磨床和銑床。CNC是適于實時控制機床的計算裝置。數(shù)字控制器接收形成部件加工程序的編碼指令的集合。部件加工程序通常是使用諸如G、M或F的字母所識別的代碼,以基于國際標準化組織(ISO)或電子工業(yè)協(xié)會(EIA)RS-274-D的標準G&M代碼語言或該語言的密切派生(closederivative)來表達的。這些代碼定義機械加工操作的序列以控制部件制造中的運動。數(shù)字控制器將代碼轉(zhuǎn)換為一系列電信號,這一系列電信號控制連接于實現(xiàn)工具沿編程軌跡的運動的機床的電機。操作銑削機的運動控制器是CNC的一個實例。車床、磨床和坐標測量機(CMM)是利用CNC進行運動控制的制造設備的其他實例。三軸CNC銑削機具有安裝有工具的機頭,和可相對于工具在X、Y平面中移動的臺桌。電機控制臺桌在X和Y方向上的運動以及工具在Z方向上的運動,建立正交的X、Y、Z笛卡爾坐標系統(tǒng)。位置傳感器(通常是編碼器或計量器(scale))提供指示工具相對于銑削機的坐標系統(tǒng)的位置的反饋。CNC讀取規(guī)定工具路徑軌跡的部件加工程序,其中工具將以規(guī)定的速度或饋送速率遵循工具路徑軌跡??刂破鬟B續(xù)地將當前工具位置與規(guī)定的工具路徑進行比較。通過使用該反饋,控制器生成信號以控制電機,使得工具的實際軌跡與所需的工具路徑或軌跡盡可能接近地匹配,同時工具以所需速度沿工具路徑移動。控制器可與計算機輔助加工(CAM)系統(tǒng)結合使用。實際的工具軌跡偏離所需的軌跡或工具路徑的偏差被稱為"加工誤差"。加工誤差可被計算為瞬時工具位置和工具路徑所規(guī)定的所需軌跡之間的距離。CNC公差被定義為在加工時允許的加工誤差量。人們期望運動控制器保持良好的或緊密的CNC公差。加工誤差取決于許多因素,包括運動控制器的性能和被選擇用于在加工過程中經(jīng)過軌跡的饋送速率。通常,較高的饋送速率將導致較大的加工誤差。已知的部件加工程序不能明確地解決CNC公差問題。機床操作者、部件編程者或機械師必須設定饋送速率以試圖解決這些問題。實際上,公差不能使用已知的CNC編程語言(如EIARS-274-D)來表達,現(xiàn)有的運動控制器也不支持約束運動以便滿足CNC公差規(guī)定的概念。操作者的職責之一是選擇將導致可接受的部件質(zhì)量,同時實現(xiàn)高金屬切削速率的饋送速率。適當?shù)酿佀退俾实倪x擇是基于操作者的經(jīng)驗,并且一般經(jīng)驗法則可從許多手冊和圖表(例如Machinery'sHandbook(機械手冊),第24版,IndustrialPressInc.,紐約,1992)中獲得。然而,來自這些文獻的圖表,雖然在正確條件下使用完全可行,但是在應用于特定加工情形時常常不適當。出版的圖表不能解決局部加工條件,如工具路徑的突然改變,從而把饋送速率的優(yōu)化留給操作者處理。操作者很難選擇在整個部件加工程序中實現(xiàn)所需的部件質(zhì)量同時最大化機床的生產(chǎn)率的饋送速率值?;诠畹倪\動控制系統(tǒng),包括基于公差限制來設定饋送速率的方法,在美國專利第6,242,880號中被公開,通過引用將其結合在本文中。雖然該專利代表著運動控制領域中顯著的進步,但是公差命令、E代碼和公差區(qū)域的使用中的改良是需要的以便改善饋送速率,同時仍在公差限制內(nèi)操作。
發(fā)明內(nèi)容本發(fā)明對運動體的任意軌跡應用平滑。例如,本發(fā)明可應用于任何運動體(如車輛或拋射體)的軌跡的平滑,而無論車輛或拋射體在陸地上、海上或空中行使。在本發(fā)明的特定實現(xiàn)方案中,該方法也可應用于基于編程者所規(guī)定的CNC公差以及定義沿編程的軌跡的每個點的最大可允許饋送速率的編程的工具路徑,來調(diào)節(jié)CNC機床的饋送速率。該信息以及位置反饋被用來修改沿實際運動軌跡的饋送速率,以限制偏離理想編程路徑的位置偏差,使得可實現(xiàn)請求的CNC公差。基于公差的控制(TBC)技術向編程和加工環(huán)境中引入CNC公差的概念。其有效地允許CNC編程者通過使用用于給定切割條件(即切削工具,速度,切割深度,材料條件等)的最大或近似最大的可允許饋送速率來編程部件,并規(guī)定所需的CNC公差。公差控制可基于編程者所規(guī)定的CNC公差以及規(guī)定沿編程軌跡的每個點的最大或近似最大的可允許饋送速率的編程的工具路徑,來計算饋送速率限制。該信息以及位置反饋可用來修改沿實際運動軌跡的饋送速率,以限制偏離理想編程路徑的位置偏差,使得可滿足請求的CNC公差。與傳統(tǒng)的比例積分微分(PID)方法(其包括猜測切削工具在不同時間間隔將處于什么位置)不同,TBC方法可使用預測控制技術,其用基于軌跡和速度的運動控制來取代非TBC的點到點固定循環(huán)控制。TBC可包括察看切削工具相對于編程軌跡的位置并相應地進行調(diào)整,從而在控制回路中消除對隨動誤差項(followingerrorterm)的需要。TBC連續(xù)地處理機床位置反饋以及編程軌跡和對機器能力的知識,以瞬時地發(fā)出響應于瞬時加工條件的控制信號。非TBCPID控制回路通過將切削工具從預先規(guī)劃的目標拉至使用隨動誤差的目標而接近編程軌跡,而TBC控制沿所需的軌跡推動切削工具,在遇到偏差時校正偏差。TBC控制可包括基于當前跟蹤的工具相對于所需工具軌跡的位置,控制或調(diào)整工具的移動,而不是使未來的工具移動僅基于工具根據(jù)預先規(guī)劃的路線在某個時間點應處的位置。在本發(fā)明所采用的"真弧(tmearc)"技術中,沿著建模為弓形路徑而未采用多邊形近似的軌跡來控制工具運動。也就是,可命令工具遵循弓形軌跡而不是由接近彎曲軌跡的一系列線性區(qū)段形成的軌跡。通過實時地使用弓形軌跡和相關的矢量而非基于區(qū)段的軌跡,TBC控制可消除從弧形軌跡到弧的直線近似的轉(zhuǎn)換,從而允許弧段的直接精確加工,消除弦長誤差(chorderror),減小部件加工程序的大小,以及消除將復雜軌跡轉(zhuǎn)換為它們的多邊形近似所需的處理。TBC控制中的數(shù)據(jù)平滑技術可包括檢查目標軌跡(例如,編程的NC工具軌跡),識別可被平滑的NC線段,并將這些NC線數(shù)據(jù)轉(zhuǎn)換為弧同時保持給定的公差。數(shù)據(jù)平滑可包括在允許的公差內(nèi)和以相對小的曲率變化,將點到點線性移動轉(zhuǎn)換為相互相切的弧的序列。平滑的程度可取決于規(guī)定的公差。該技術具有實現(xiàn)更平滑的軌跡,更平滑的速度,加速度,更好的反饋速率控制和改進的表面光潔度的益處。平滑技術對于使用多邊形近似來表達復雜的部件幾何結構的舊式部件加工程序特別重要。TBC中的前瞻技術取代了非TBC的固定的緩沖器前瞻算法,從而減小了數(shù)據(jù)缺乏(datastarvation),過沖(overshooting),突破公差(tolerancebreaching),部件產(chǎn)品上的駐停標記(dwellmark)和差表面光潔度的可能性。前瞻可確保足夠的距離來從一個速度到另一個速度的加速或減速。當運動區(qū)段的長度相對短且不足以支持大的速度改變時,前瞻算法可根據(jù)某些運動輪廓(motionprofile)(如S曲線速度分布圖)來計算和限制該運動區(qū)段的速度。因為前瞻通常是實時執(zhí)行的并且包括先前處理的運動命令的遞歸修改,所以算法的高效可導致CPU負擔的減少和機器性能的改進。運動的遞歸修改可以僅涉及邏輯和加法。而且,算法可具有需要較少的修改前面命令的迭代的優(yōu)點。該算法可具有改善運行時間的進一步的優(yōu)點,這會增加系統(tǒng)速度或吞吐量。非TBC前瞻算法中的一個選項是在每次發(fā)現(xiàn)運動距離不足以實現(xiàn)所需的速度改變時計算速度限制。這樣的速度限制計算可能會涉及大量計算。由于所需的處理時間和資源,重復執(zhí)行計算可能是不理想的。本發(fā)明的加法前瞻算法可使用停止距離概念作為速度限制的度量,這對計算而言是非常高效的。軟運動(soft-motion)技術是TBC控制的基礎,其易于更新并消除了對昂貴的基于PID的運動控制卡的需要。TBC原型軟件系統(tǒng)可包括Win32組件和實時軟件系統(tǒng)(RTSS)組件。術語"Win32"是指用來在WindowsNT和WindowsXP下運行32位Windows應用程序的應用程序接口(API),這是公知的,雖然其他接口也可與其他基本操作系統(tǒng)一起使用。Win32組件可以是用于處理用戶請求,將狀態(tài)信息提供回給用戶,更新圖形顯示,以及將G&M代碼子集轉(zhuǎn)換為所需形式的接口模塊。Win32組件可包括人機接口組件和G&M代碼子集的解譯器。人機接口組件可包括顯示軟件和控制面板處理。機器I/O軟件組件可包括伺服換能器板(transducerboard)的驅(qū)動器。機器I/O伺服驅(qū)動器可以負責取得TBC控制所生成的控制信號并將它們處理為實現(xiàn)運動的電信號。該驅(qū)動器也可取得來自機床的反饋信號并將它們轉(zhuǎn)換為TBC軟件所使用的信息。RTSS組件可在RTSS內(nèi)被編碼,從而確保確定性的響應。RTSS組件可包括TBC組件,機器I/O軟件組件,以及組件集成與通信組件。TBC組件可包括公差理解組件,數(shù)據(jù)壓縮組件,數(shù)據(jù)平滑組件,前瞻組件,和運動內(nèi)核組件。TBC組件可在功能上分為兩組,即,TBC數(shù)據(jù)預處理組和包括TBC運動內(nèi)核的TBC運動控制組。TBC數(shù)據(jù)預處理組可包括公差理解組件,數(shù)據(jù)壓縮組件,數(shù)據(jù)平滑組件,以及前瞻組件。TBC數(shù)據(jù)預處理組可以以隊列模塊來實現(xiàn)。平滑函數(shù)包括三個階段準備平滑,平滑調(diào)整和雙弧平滑(doublearcsmoothing)。在三個平滑操作階段之后,點到點移動被轉(zhuǎn)換為在允許的公差內(nèi)且具有相對小的曲率改變的相互相切的弧的序列。在一種形式中,本發(fā)明包括為運動體調(diào)整路徑數(shù)據(jù)的方法,包括識別路徑數(shù)據(jù)的三個連續(xù)點。確定這三點定義的圓弧和第一點與第二點之間延伸的第一線的中間部分之間的第一距離。確定圓弧和第二點與第三點之間延伸的第二線的中間部分之間的第二距離。確定第一線和第二線之間的轉(zhuǎn)角。如果第一距離和/或第二距離小于閾值線距離,且轉(zhuǎn)角大于閾值角,則對第二點執(zhí)行平滑。在另一種形式中,本發(fā)明包括調(diào)整運動體的路徑數(shù)據(jù)的方法,包括識別路徑數(shù)據(jù)的四個連續(xù)點。這四個連續(xù)點包括第一點,第二點,第三點和第四點。確定第二點是否適合于平滑。如果第二點適合于平滑,則定位第一弧和第二弧,且將第二點移入第一弧和第二弧之間的區(qū)域。第一弧由第一點,第二點和第四點限定。第二弧由第一點,第三點和第四點限定。與第二點相關聯(lián)的線移動由與第二點相關聯(lián)的至少一個弧移動替換。在又一種形式中,本發(fā)明包括用于為運動體調(diào)整路徑數(shù)據(jù)的方法,包括識別路徑數(shù)據(jù)的四個連續(xù)點。這四個連續(xù)點包括第一點,第二點,第三點和第四點。定位由第一點,第二點和第四點限定的第一弧。定位由第一點,第三點和第四點限定的第二弧。將第二點移入第一弧和第二弧之間的區(qū)域。在另一種形式中,本發(fā)明包括用于為運動體調(diào)整路徑數(shù)據(jù)的方法,包括識別從路徑數(shù)據(jù)的第一點到路徑數(shù)據(jù)的第二點延伸的線移動。線移動由第一弧移動和第二弧移動替換。第一弧移動從第一點開始并在結合點終止。第二弧移動從結合點開始并在第二點終止。在再一種形式中,本發(fā)明包括為運動體(如機床)處理路徑數(shù)據(jù)的方法,包括識別沿目標工具路徑的多個點,并確定工具在最后點的最大可允許停止距離。確定工具在最后點的最后最大可允許速度,使得工具可在最大可允許停止距離內(nèi)停止。建立工具在另一點的另一最大可允許速度,使得工具可在到達最后點時減速到最后最大可允許速在另一種形式中,本發(fā)明包括為機床處理路徑數(shù)據(jù)的方法,包括識別沿目標工具路徑的多個點,并建立實際工具路徑偏離目標工具路徑的最大可允許偏差水平。確定目標工具路徑在沿目標工具路徑的多個位置的曲度。確定工具在沿目標工具路徑的每個點的最大可允許公差速度,其中最大可允許公差速度取決于最大可允許偏差水平和曲度。確定工具在最后點的最大可允許停止距離。確定工具在最后點的最后最大可允許停止速度,使得工具可在最大可允許停止距離內(nèi)停止。建立工具在最后點以外的每個點的其他最大可允許停止速度,使得工具可在到達最后點時減速到最后最大可允許速度。識別在每個點處,最大可允許公差速度和最大可允許停止速度中的較小者。在另一種形式中,本發(fā)明包括為機床處理路徑數(shù)據(jù)的方法,包括識別沿目標工具路徑的多個點。所選的每兩個點被分開相應的區(qū)段長度。確定工具在最后點的最大可允許停止距離。確定工具在另一點的最大可允許速度,使得工具在另一點所需的停止距離等于或小于在最后點的最大可允許停止距離和另一點與最后點之間區(qū)段長度的總和。在另一種形式中,本發(fā)明包括操作機床的方法,包括識別目標工具路徑。該工具被命令從初始位置遵循目標工具路徑。在命令步驟之后感測工具的第一實際位置。計算從第一實際位置開始的第一目標工具子路徑以校正工具移動中的預測誤差。在又一種形式中,本發(fā)明包括操作機床的方法,包括根據(jù)經(jīng)驗確定工具移動中的預測誤差。監(jiān)視工具的實際移動。工具的實際移動是取決于根據(jù)經(jīng)驗確定的工具實際移動中的預測誤差和隨機誤差來控制的。在又一種形式中,本發(fā)明包括操作具有多個順序移動的機床的方法,包括在工具的第一移動后感測工具的實際位置。工具的目標位置是基于感測步驟計算的。計算目標位置以補償工具移動中的預測誤差和隨機誤差。為工具的其他運動重復感測和計算步驟。在又一種形式中,本發(fā)明包括操作機床的方法,包括感測工具的實際位置。計算工具的實際位置和工具的所需位置之間的位置誤差。將位置誤差與規(guī)定的誤差公差進行比較。取決于比較步驟來調(diào)整工具的速度。在又一種形式中,本發(fā)明包括操作機床的方法,包括感測工具沿多個軸中的每個軸的實際位置。計算工具在每個軸中的實際位置和多維參考軌跡之間的多維位置誤差。取決于計算步驟產(chǎn)生多維位置誤差信號。取決于多維位置誤差信號來控制工具的速度和/或方向。本發(fā)明的優(yōu)點是其為機床提供了改進的軌跡或工具路徑。更特別地,工具路徑更平滑,從而允許更高的饋送速率并在工件上提供更平滑的表面。通過參考下面結合附圖給出的本發(fā)明的實施例的描述,本發(fā)明的上述和其他特征和目的以及獲得它們的方式,將變得顯而易見,并且本發(fā)明自身將得到更好地理解,在附圖中圖1是本發(fā)明的基于公差的控制方法的一個實施例的流程圖。圖2是本發(fā)明的基于公差的控制系統(tǒng)的一個實施例的框圖。圖3a是示出從不同公差值到加工空間的不同區(qū)域的映射的示圖。圖3b是示出從不同公差值到加工空間的不同區(qū)域的映射的另一實施例的第一情況的示圖。圖3c是示出從不同公差值到加工空間的不同區(qū)域的映射的另一實施例的第二情況的示圖。圖3d是示出在弧的情況下從不同公差值到加工空間的不同區(qū)域的映射的另一實施例的示圖。圖4a是程序數(shù)據(jù)點的繪圖據(jù)壓縮方法。圖4b是程序數(shù)據(jù)點的繪圖壓縮方法。圖5a是程序數(shù)據(jù)點的繪圖據(jù)平滑選擇數(shù)據(jù)點的方法。圖5b是程序數(shù)據(jù)點的繪圖平滑選擇數(shù)據(jù)點的方法。圖6a是程序數(shù)據(jù)點的繪圖滑調(diào)整線移動的方法。圖6b是程序數(shù)據(jù)點的透視圖,其示出根據(jù)本發(fā)明另一實施例為平滑調(diào)整線移動的方法。,其示出根據(jù)本發(fā)明的一個實施例的數(shù),其示出根據(jù)本發(fā)明另一實施例的數(shù)據(jù),其示出根據(jù)本發(fā)明的一個實施例為數(shù),其示出根據(jù)本發(fā)明另一實施例為數(shù)據(jù),其示出根據(jù)本發(fā)明的一個實施例為平圖7是圖6a的中間兩點的放大繪圖。圖8是圖6a的程序數(shù)據(jù)點以及一個隨后的程序數(shù)據(jù)點的繪圖,其示出為平滑調(diào)整線移動的圖6a方法的下一步驟。圖9是程序數(shù)據(jù)點的繪圖,其示出根據(jù)本發(fā)明的一個實施例使用雙弧算法來平滑數(shù)據(jù)的方法。圖IO是工具速度隨時間變化的繪圖,其也被稱為S曲線。圖11是在沿工具路徑的兩個連續(xù)點之間延伸的區(qū)段長度的繪圖。圖12是示出實際工具路徑偏離所需工具路徑的偏差的繪圖。圖13是本發(fā)明的一個實施例中伺服信號的控制回路循環(huán)時間的繪圖。圖14是程序數(shù)據(jù)點的繪圖,其示出根據(jù)本發(fā)明的一個實施例的預測誤差校正方法。圖15是程序數(shù)據(jù)點的繪圖,其示出根據(jù)本發(fā)明的一個實施例的隨機誤差校正方法。圖16是流程圖,其示出用于執(zhí)行運動內(nèi)核的本發(fā)明的方法。圖17是用于加工工件的本發(fā)明的機器的一個實施例的框圖。圖18是圖5中所示的本發(fā)明的方法的一個實施例的流程圖。圖19是圖6和7中所示的本發(fā)明的方法的一個實施例的流程圖。圖20是圖9中所示的本發(fā)明的方法的一個實施例的流程圖。圖21是圖5至圖9中所示的本發(fā)明的方法的一個實施例的流程圖。圖22是圖11中所示的本發(fā)明的方法的一個實施例的流程圖。圖23是圖11中所示的本發(fā)明的方法的另一實施例的流程圖。圖24是圖11中所示的本發(fā)明的方法的又一實施例的流程圖。圖25是圖12中所示的本發(fā)明的方法的一個實施例的流程圖。圖26是圖12中所示的本發(fā)明的方法的另一實施例的流程圖。圖27是圖12中所示的本發(fā)明的方法的又一實施例的流程圖。圖28a是級別0數(shù)據(jù)平滑的圖示。圖28b是級別1數(shù)據(jù)平滑的圖示。圖28c是級別2數(shù)據(jù)平滑的圖示。圖28d是級別3數(shù)據(jù)平滑的圖示。圖28e是級別4數(shù)據(jù)平滑的圖示。圖29是示出本發(fā)明的雙弧平滑算法的一個實施例的一個步驟的繪圖。圖30是示出本發(fā)明的雙弧平滑算法的一個實施例的另一步驟的繪圖。圖31是示出本發(fā)明的雙弧平滑算法的一個實施例的又一步驟的繪圖。圖32a是工具速度隨時間變化的另一繪圖,其也被稱為S曲線。圖32b是指示距離如何與圖32a的繪圖相關的示圖。圖33是示出停止距離的概念的示圖。圖34是加法前瞻算法(additivelookaheadalgorithm)和非加法前瞻算法(non-additivelookaheadalgorithm)的工具速度隨時間變化的另一繪圖。圖35a是本發(fā)明的加法前瞻算法的一個實施例的流程圖。圖35b是非加法前瞻算法的一個實施例的流程圖。圖36是比較非加法前瞻算法和TBC加法前瞻算法的運動學特性的表。圖37是本發(fā)明的非TBC運動控制配置的一個實施例的框圖。圖38a是參考軌跡y-x的繪圖。圖38b是圖38a的參考軌跡的繪圖,該軌跡被分解為y軸基于時間的軌跡y=kt。圖38c是圖38a的參考軌跡的繪圖,該軌跡被分解為x軸基于時間的軌跡x=kt。圖38d是由圖38a-c的參考軌跡產(chǎn)生的實際軌跡的繪圖。圖39是本發(fā)明的TBC運動控制配置的一個實施例的框圖。圖40是圖39的TBC運動控制配置的另一框圖。圖41是示出線運動的停止地(stopper)平面法向的計算的繪圖。圖42是示出弧運動的停止地平面法向的計算的繪圖。圖43是示出線運動幾何分析的繪圖。圖44a是示出弧運動幾何分析的第一繪圖。圖44b是示出弧運動幾何分析的第二繪圖。圖45是示出TBCS曲線控制器的一個實施例的操作的流程圖。圖46是示出本發(fā)明的TBC前饋控制配置的一個實施例的框圖。圖47是示出法向誤差(normalerror)的可變增益反饋控制的本發(fā)明的配置的一個實施例的框圖。在若干視圖中,相應的參考字符指示相應的部件。雖然附圖表示本發(fā)明的實施例,但附圖不必要依比例,且某些特征可被夸大以便更好地示出和說明本發(fā)明。本文中陳述的例證以一種形式示出了本發(fā)明的實施例,但是這樣的例證不應被看作是以任何方式對本發(fā)明的范圍進行限制。具體實施例方式現(xiàn)在參考附圖,特別參考圖1,其示出了本發(fā)明的基于公差的控制方法100的一個實施例,包括本發(fā)明的基于公差的控制器在加工部件加工程序所定義的部件時的主要功能的性能。雖然本公開的實施例的控制器涉及本發(fā)明的特定情況,處理CNC機器控制,但本發(fā)明可一般地應用于具有本領域技術人員將能夠認識到的各種運動控制情形(如自動機械控制,車輛控制,拋射體控制,等等)的運動體。在第一步驟102中,控制器從部件加工程序接收部件數(shù)據(jù)。部件加工程序可包括規(guī)定待加工的部件或"工件"的尺寸,形狀,和其他物理特性的數(shù)據(jù)。通常,軌跡預處理步驟104包括計算機床應該遵循的所需工具路徑和饋送速率,以便在相對短的時段內(nèi)和尺寸公差限制內(nèi)制造部件。在部件被加工時,規(guī)定機床的實際位置的位置反饋在預測和隨機誤差補償步驟106中被使用以修改伺服命令,以使機床重定向以相比于命令的工具路徑補償,即校正實際機床路徑中的預測或可重復誤差和隨機或不可重復誤差。在最后的步驟108中,修改的伺服命令被傳輸給伺服放大器以便用來促使機床運動?,F(xiàn)在參考圖2的流程圖更詳細地描述圖1的方法。通常,步驟102和104對應于圖2中的隊列管理器任務,步驟106和108對應于圖2中的運行系統(tǒng)任務(RunSystemTask)。部件加工程序可提供部件表面上的離散點的位置,并且數(shù)字控制可在這些離散點之間進行插補以限定由連續(xù)的線和弧形成的所需的軌跡或工具路徑。如本文中使用的,術語"弧"可指示圓的一段。也就是,弧可具有恒定的半徑。用戶部件加工程序中的數(shù)據(jù)的質(zhì)量可直接與機床上的切割結果的質(zhì)量相聯(lián)系。質(zhì)量差的數(shù)據(jù)常常會導致不平滑的部件表面。隊列管理器任務采用四個連續(xù)操作預處理部件加工程序運動數(shù)據(jù),這四個連續(xù)操作在運行系統(tǒng)任務執(zhí)行部件加工程序運動數(shù)據(jù)之前將部件加工程序運動數(shù)據(jù)轉(zhuǎn)換為高質(zhì)量的運動數(shù)據(jù)。四個操作是公差隊列202內(nèi)的公差理解,壓縮隊列204內(nèi)的數(shù)據(jù)壓縮,平滑隊列206內(nèi)的數(shù)據(jù)平滑,以及前瞻隊列208內(nèi)的加法前瞻。隊列管理器可對每個隊列執(zhí)行相應的數(shù)據(jù)處理并將移動數(shù)據(jù)流以流水線(pipeline)方式通過連續(xù)隊列。數(shù)據(jù)處理包括對公差隊列的公差理解操作,對壓縮隊列的數(shù)據(jù)壓縮操作,對平滑隊列的平滑操作以及對前瞻隊列的前瞻操隊列模塊可處理NC運動命令,如定位(GOO),線(GOl),弧(G02,G03),和用于基于公差的控制的NC公差命令E。TBC技術的使用與現(xiàn)有的或舊式(legacy)CNC部件加工程序一致。該技術允許操作者規(guī)定NC公差命令以及現(xiàn)有NC命令以供執(zhí)行。通過在現(xiàn)有G&M代碼部件加工程序中插入新NC公差命令,CNC編程者可規(guī)定不同的CNC公差限制。NC公差命令規(guī)定區(qū)域和將應用于該區(qū)域的公差值以及命令標識號。NC公差命令被定義為E代碼EtolXxlYylZzlXx2Yy2Zz2IidE代碼要求由對角(xl,yl,zl)和(x2,y2,z2),xl<x2,yl〈y2,zl<z2的坐標定義的三維矩形區(qū)域保持非零NC公差值tol。該特定公差命令可由整數(shù)值id識別。多個E代碼可以定義交疊的公差區(qū)域。一個點可屬于許多有效NC公差區(qū)域(activeNCtoleranceregion)。在這種情況下,在該點的NC公差值被定義為其區(qū)域覆蓋該點的最后的E代碼中規(guī)定的公差值。在公差隊列202內(nèi)的公差映射操作中,公差值被分配給工具路徑內(nèi)的每個線或弧。公差映射操作處理在部件加工程序中定義的可變公差區(qū)域,并將所要求的公差分配給每個運動。具有不同值的公差區(qū)域可彼此交疊,如圖3a所示。三個區(qū)域302,304,306具有各自d公差,它們分別被定義為0.001英寸,0.0005英寸,和0.0003英寸。當諸如從Po到P,的移動跨過多個公差區(qū)域時,移動被分成多個移動,即從Po到Pr,從P,,到Pi",和從Pf到Pp每個移動具有不同的公差值。部件加工程序中的公差命令E代碼可規(guī)定區(qū)域和將應用于部件中的那些區(qū)域的公差值。部件加工程序中的運動命令可落到不同的公差區(qū)域中。公差理解可根據(jù)編程的E代碼識別為每個運動命令所需的正確的公差值。在處理公差命令中,如果命令是新公差規(guī)定,則可為公差表中的新項目創(chuàng)建空間。在公差表中,公差值被映射到各公差區(qū)域。然后,新項目可以采用從命令中提取的公差規(guī)定來填充。最后,新項目可在公差表的起點插入。在處理后,公差命令可被丟棄,因為來自命令的信息已經(jīng)被存儲在公差表中。在處理線命令或弧命令中,命令所要求的公差值可被計算并附加到命令中。E代碼可規(guī)定不同的公差區(qū)域,且NC程序的每個線或弧可屬于這些公差區(qū)域中的一個或多個。用于為每個線或弧確定所需公差的算法可包括檢查線或弧上某些樣點的公差。如果線或弧位于一個公差區(qū)域中,則樣點將具有同一公差,該公差是該線或弧的所要求的公差。另一方面,如果線或弧位于多于一個的公差區(qū)域上,則樣點將具有不同的公差。在這種情況下,線將基于樣點被分成多個區(qū)段,且每個線段具有唯一的所要求的公差。同理,弧可由不同的公差分段,然而,該弧將不被分割。而是將最高公差值選為該弧所需的公差。例程可用來為給定點確定所要求的公差。其執(zhí)行下面的操作1)取給定點的位置作為關鍵值;2)從起始點開始,在公差表中搜索其公差區(qū)域涵蓋關鍵值(即,給定點位于公差區(qū)域內(nèi))的E代碼;和3)分配首先發(fā)現(xiàn)的E代碼的公差值作為給定點的所需的公差。如果一個點屬于不同公差命令所規(guī)定的幾個公差區(qū)域,則最新的公差命令在控制下。新公差命令總是在公差表的起點插入。因此,在上面的操作中,首先發(fā)現(xiàn)的E代碼是規(guī)定給定點的所需公差的最新的E代碼。另一例程可用來根據(jù)多個公差規(guī)定將線分成多段。還有一個例程可用來確定關于弧的多個公差規(guī)定中最緊密的公差。具有不同值并彼此交疊的公差區(qū)域的另一實施例在圖3b-c中示出,圖3b示出第一情況,圖3C示出第二情況。在該實施例中,為了計算效率的目的,線移動可最多分成兩個線。僅在點pO和pl之間生成一個額外的點P'。在弧的情況下(圖3d),在弧起始點tl和終點t5之間加入三個等距離的點t2,t3,t4。五個點的最低公差定義弧的公差,如下面的等式所示Al.tol=min{tl,t2,t3,t4,t5}。在公差理解操作之后,將從公差隊列202中取得并發(fā)送到壓縮隊列204的元素是定位命令,附加有所需公差的線命令,附加有所需公差的弧命令,和程序結束命令。數(shù)據(jù)壓縮在壓縮隊列204內(nèi)的數(shù)據(jù)壓縮操作中,程序數(shù)據(jù)被壓縮。在許多部件加工程序中,存在著會導致部件上的差表面光潔度的短線移動??梢詫⑦@些短線中的一些組合為更長的線,這可改善部件質(zhì)量。數(shù)據(jù)壓縮操作可確定是否短線可組合為更長的線,且如果可以這樣做,則數(shù)據(jù)壓縮操作可執(zhí)行這樣的數(shù)據(jù)壓縮。在圖4a所示的數(shù)據(jù)壓縮操作中,消除點Pl和P2并從點P0到點P3形成新線。工具路徑上的公差邊界或限制由虛線402,404指示。公差邊界402,404可比E代碼給出的用戶定義的數(shù)字控制公差小一個數(shù)量級。線命令是點到點移動。將短線移動組合為更長的線移動可包括在新線移動的目標點序列中確定起始點和終點,和除去所有中間點。僅在某些滿足某些條件(包括公差條件,即從每個被除去的點到新線的距離在給定公差內(nèi))時,新的更長的線移動才可替換老的短線移動。為了進行數(shù)據(jù)壓縮,所有線命令可順序地在壓縮隊列204中被檢查。壓縮操作可以以下面的步驟處理點到點移動1)檢查具有連續(xù)目標點Po,Pl,p2,p3,...,p^,Pn的點到點移動序列;和2)如果下面的條件都滿足,則除去序列中P0和Pn之間的點,即P,,P2,P3,...,Pn-l:'對于所有i(l<=i<n),從p,到連接po和p。的直線的距離小于給定公差'對于所有i(l<=i<n),pi在連接p。和pn的直線上的垂直投影點位于Po和Pn之間'對于所有i(0<=i<=n),pi作為終點位置的線命令具有相同的公差值從po到pn的距離由預定長度界定因此,從po到pn的線移動替換n個較短的線移動。在壓縮操作后,壓縮隊列204中的元素可以更緊湊,因為某些連續(xù)短線已經(jīng)融合。壓縮隊列204中的所有元素,包括定位命令、壓縮的線命令、弧命令和程序結束命令,被發(fā)送給平滑隊列206。在另一個數(shù)據(jù)壓縮實施例中,四個測試或標準被用來確定下一個點是否應添加到壓縮隊列中,或是否壓縮應僅對當前在壓縮隊列中的點執(zhí)行。在圖4b的圖示中,假定已經(jīng)發(fā)現(xiàn)點pO、pl、p2和p3滿足壓縮標準,則確定點p4是否應加入壓縮隊列,或是否應僅對點pO,pl,p2和p3執(zhí)行壓縮。四個壓縮標準可以如下測試1:|p4-p0|<0.05英寸。測試2:對于p3,角e在一90度和90度之間。測試3:p0.tol=pl.tol=p2.tol=p3.tol=p4.tol。也就是,相等的公差已經(jīng)被分配給來自公差表的每個點。測試4:從pl,p2和p3到線p0p4的垂直距離小于規(guī)定的公差。如果滿足上面的四個測試,則p4被加到壓縮隊列中。如果上面的四個測試不滿足,則p3被加到平滑隊列中,且在壓縮中丟棄pl和p2。基本上,三段(pOpl、plp2和p2p3)被組合到同一段(p0p3)中。數(shù)據(jù)平滑數(shù)據(jù)平滑操作轉(zhuǎn)換NC線數(shù)據(jù)為弧,同時保持給定的公差。數(shù)據(jù)平滑可有利地導致更平滑的速度和加速,更好的饋送速率控制,改善的表面光潔度,和TBC真弧技術的充分利用??梢蕴峁┫旅娴牟煌交墑e級別O,包括沒有平滑并產(chǎn)生切割的多邊形;級別l,弧替換線,且在大多數(shù)情況下弧可以不彼此連接;級別2,弧替換線,弧彼此連接,且在大多數(shù)情況下弧不彼此相切;級別3,弧替換線,弧彼此連接,且弧彼此相切;和級別4(可由本發(fā)明提供的平滑級別),弧替換線,弧彼此連接,且弧彼此相切,而且弧曲率逐漸改變。預備平滑操作,校正平滑操作,和雙弧平滑可同時地以流水線方式對平滑隊列執(zhí)行。圖28a-e分別示出級別0,級別1、級別2、級別3和級別4平滑。在級別0-3平滑中,平滑的輸出,即最終軌跡,始終通過數(shù)據(jù)點。在圖28d中,cl和rl是由點pO、pl和p2定義的弧的中心和半徑;且c2和r2是由點p2,p3和p4定義的弧的中心和半徑。弧的曲率被定義為半徑的倒數(shù)(1/r)。因此,在圖28d的級別3實例中,從rl到r2的相對大的半徑改變導致兩個弧之間的相應的大曲率改變。在數(shù)據(jù)點(在規(guī)定的公差內(nèi))被調(diào)整以實現(xiàn)曲率漸變的意義上,級別4不同于其他平滑級別。在諸如多軸造型(或使用CNC機器進行金屬切割)的應用中,這種數(shù)據(jù)點的調(diào)整是可接受的,因為調(diào)整非常小(通常小于0.0005英寸)并在規(guī)定的公差內(nèi)??梢栽诜较蚝痛笮∩蠈c進行調(diào)整,以實現(xiàn)曲率漸變,使得軌跡接近橢圓。沿軌跡的曲率漸變可以便于運動控制。曲率漸變可以通過在沿軌跡的每個點后的曲率改變或至少可能的改變來表征。如圖28e所示,曲率半徑沿從pO到p4的軌跡逐漸變小。也就是,隨著沿軌跡的每個點半徑變得更小。相反,在圖28d中,當軌跡通過p2時,曲率半徑下降了一大步。然而,在級別4平滑內(nèi),曲率還可能在某點的兩側是相同的。如圖28e中的交疊點所示,點可被調(diào)整或移動,使得軌跡接近橢圓路徑。然而,可僅在規(guī)定的公差內(nèi)對點進行調(diào)整。工具沿弧的運動需要指向弧的中心的力,其被稱為"向心力"。在CNC機器的情況下,該力可以由電機提供。向心力的突然相對大的改變(當運動從一個弧移動到另一個弧時)可導致較大的過沖,這對于所得的表面光潔度會是有害的。圖28e示出相比于圖28d所示的點p0至p4的先前位置,對點p0至p4的位置的微調(diào)整。微調(diào)整可導致限定接近橢圓的軌跡的點。橢圓軌跡可以是理想的或最佳的,因為沿著橢圓,曲率連續(xù)地改變。然而,本發(fā)明的范圍內(nèi)所允許的調(diào)整有多大或多少,可以取決于公差。因此,點可能實際上不落在調(diào)整后的橢圓上。在本發(fā)明的一個實施例中,不是最優(yōu)化曲率變化,而是采用次最優(yōu)解決方案,使得軌跡僅包括圓弧,而非橢圓。將軌跡定義為一系列圓弧可具有減小計算點調(diào)整的計算/數(shù)學復雜度的優(yōu)點。因此,即時可以通過在公差內(nèi)調(diào)整點來實現(xiàn)橢圓軌跡,在本發(fā)明的一個實施例中,仍調(diào)整點使得軌跡由一系列圓弧定義。在一個實施例中,運動控制是在200微秒回路中實現(xiàn)的,即,運動控制每200微秒更新一次。因此,需要高效地執(zhí)行計算使得計算能夠每200微秒執(zhí)行一次。由于除了運動控制外還會執(zhí)行若干其他操作的處理器的速度的限制,使用由一系列圓弧(曲率漸變)定義的軌跡而非橢圓軌跡(曲率連續(xù)改變),可有助于以特定頻率(如每200微秒一次)更新運動控制。數(shù)據(jù)平滑可包括三個階段或操作,也就是為平滑做準備,為平滑調(diào)整,和使用雙弧算法進行平滑。在本發(fā)明的平滑方法的第一操作中,為平滑識別線數(shù)據(jù)。將NC線數(shù)據(jù)轉(zhuǎn)換為弧同時保持給定公差并不總是可行的,如同例如以銳角連接的線那樣。平滑NC線數(shù)據(jù)(例如長線移動)有時并不理想。在原始線數(shù)據(jù)可被平滑前,某些條件可能需要滿足。第一操作檢查原始線數(shù)據(jù),識別滿足平滑條件的線段。平滑準備在第一操作期間,在平滑隊列中順序地檢查所有線移動目標點。確定可被平滑的線段,且所有這些線的目標點可標記為"平滑"或"不平滑"。假定P,、P2和P3是平滑隊列中的三個連續(xù)的目標點。如果下面的條件都滿足,則點P2可以標記為"平滑"從pt到p2的運動是線移動從p2到p3的運動是線移動從p,到P2的長度由常數(shù)界定從P2到P3的長度由常數(shù)界定從p]到線p2p3的垂直距離由常數(shù)界定從p3到線PlP2的垂直距離由常數(shù)界定線P^2和線P2P3之間的角度由常數(shù)界定否則,點P2可以標記為"不平滑"。由第一操作處理的平滑隊列206中的線元素可以全部標記。在一個實施例中,從Pi到P2的長度和從p2到p3的長度都由約lcm和2cm之間的常數(shù)界定;從Pl到線p2p3的垂直距離由約為從P2到P3的長度的20%和40%之間的常數(shù)界定;從p3到線plP2的垂直距離由約為從Pl到p2的長度的20%和40%之間的常數(shù)界定;并且線plp2和p2p3之間的角由約為135度和165度之間的常數(shù)界定。在平滑隊列206內(nèi)的數(shù)據(jù)平滑操作中,線數(shù)據(jù)被轉(zhuǎn)換為彼此連接并相切并具有漸變曲率或半徑的弧。這提供導致更好的部件表面光潔度的更平滑的運動速度和加速。數(shù)據(jù)平滑的處理包括平滑準備步驟210(圖2),平滑調(diào)整步驟212,和雙弧平滑步驟214。平滑準備步驟210包括為平滑識別數(shù)據(jù)點。如圖5a所示,點P,可適合于平滑,并因此可被標記用于平滑,如果從Po到P,的移動和從P,到P2的移動的長度,和這些移動之間的角度502在規(guī)定的限制以下。點Po可距離點P,布置同時保持從P。到P,的移動的長度在規(guī)定限制以下的最大距離由虛線504指示。類似地,點P2可距離點P,布置同時保持從P,到P2的移動的長度在規(guī)定限制以下的最大距離由虛線506指示。雖然虛線504所指示的離P,的距離小于由虛線506指示的離P,的距離,但這些距離也可以相等。在一個實施例中,如果從P。到P,的移動和從P,到P2的移動的長度,即點Po和P,之間的第一線距離以及點P,到P2之間的第二線距離,都在近似1厘米和2厘米之間的限制或閾值線距離以下,且轉(zhuǎn)角502在近似135度和165度之間的限制或閾值角以上,則點Pi可適合于平滑。在另一實施例中,進行平滑的標記點P,的進一步的要求是從點P0到線PiP2的垂直距離,和從點P2到線PQPi的垂直距離都在規(guī)定的限制或閾值垂直距離以下。在一個實施例中,如果從點P。到線P,P2的垂直距離d。小于約為線P^2長度的20%和40%之間,且如果從點P2到線PoP!的垂直距離d2小于約為線PoP,長度的20%和40%之間,則點P,可被標記用于平滑。在圖5b中示出的另一實施例中,三個點pO,pl,p2由弧連接。距離dl是線段pOpl的中間部分和弧p0plp2之間的最短距離;距離d2是線段plp2的中間部分和弧p0plp2之間的最小距離。在一個實施例中,距離dl是線段p0pl的中點和弧p0plp2之間的最短距離;距離d2是線段plp2的中點和弧p0plp2之間的最短距離。如果下面的三個條件或標準被滿足,則三個點中的中間一個點,即,點pl可被標記用于平滑測試1:pOpl和plp2都是線。測試2:Max{dl,d2}<0.0005英寸。也就是,dl和d2都小于近似在0.0002和0.001英寸之間的某個預定距離(諸如0.0005英寸)。測試3:角0>145度,或近似在130度和160度之間的某個其他預定角。如果不滿足上面三個條件,則可以不標記點pl進行平滑。圖18示出了如上面參考圖5b描述的本發(fā)明的方法1800。在第一步驟1802中,識別數(shù)據(jù)路徑的三個連續(xù)點。例如,可識別點p0,pl和p2。在步驟1804,確定第一點和第二點之間的第一線距離和/或第二點和第三點之間的第二線距離。更特別地,確定點pO和pl之間的第一線距離518,以及點pl和p2之間的第二線距離520。在下一步驟1806中,確定在第一點和第二點之間延伸的第一線和在第二點和第三點之間延伸的第二線之間的轉(zhuǎn)角。在圖5b的實例中,確定在點pO和pl之間延伸的線和在點pl和p2之間延伸的線之間的轉(zhuǎn)角0。如歩驟1808、1810和1812中所示,如果第一線距離和/或第二線距離小于閾值線距離,并且轉(zhuǎn)角大于閾值轉(zhuǎn)角,則對第二點執(zhí)行平滑。也就是,如果第一線距離518和/或第二線距離520小于閾值線距離,并且轉(zhuǎn)角0大于閾值轉(zhuǎn)角,則可對點pl執(zhí)行平滑。此外,可識別數(shù)據(jù)路徑的另外三個連續(xù)數(shù)據(jù)點,如步驟1802所示。例如,可識別連續(xù)點pl,p2和下一個點p3(未示出)。平滑調(diào)整在第二操作中,為平滑調(diào)整線數(shù)據(jù)。第二操作可減小由三維點的序列表示的三維曲線的曲率變化。這樣的曲線上的給定點的局部曲率主要由鄰近點確定。給定點或其鄰近點的位置的微小變化可顯著改變局部曲率。因此,可以在給定公差內(nèi)修改點的位置,使得由修改的點表示的三維曲線的曲率變化將得以減小。曲線上的曲率變化越小,則曲線可以越平滑。第二操作可以包括順序地檢査平滑隊列206中已經(jīng)由第一操作處理的一組四個連續(xù)的線目標點,和調(diào)整中間點的位置以修改局部曲率。設P,,P2,P3和P4是平滑隊列206中由第一操作處理的四個連續(xù)的線目標點。假定點P2和P3都被標記為"平滑",那么這兩個中間點將被稍微移動。如圖6所示的用于調(diào)整點位置的算法可包括下面的步驟1)創(chuàng)建通過點P,,P3和P4的弧ARC134;2)創(chuàng)建通過點p,,P2和P4的弧ARC124;3)向弧ARCm移動點p2,并在給定公差內(nèi)保持移動距離;和4)向弧ARCm移動點p3,并在給定公差內(nèi)保持移動距離。對四個連續(xù)點構成的組連續(xù)地進行位置調(diào)整。在調(diào)整了一組之后,由前一組中的最后三個點和下一線元素的新目標點組成的連續(xù)組將被處理。(在給定公差范圍內(nèi))移動由第二操作處理的平滑隊列206中的線元素的目標點,使得這些點的曲率更平滑地改變,g卩,比它們在第二操作之前改變的急劇程度低。步驟212包括為平滑調(diào)整線移動。線移動可相對于彼此被調(diào)整以控制路徑曲率并為弧擬合(arcfitting)做準備。在圖6a的圖示中,定位分別通過點P。P!P3和P。P2P3的兩個構造弧602,604。點Pj卩P2可以都被移入構造弧602,604之間的區(qū)域中。點P,和P2被移動得彼此更靠近使得點P2移動到構造弧602,604的近似中間位置,并且點P1向構造弧604移動較小的距離。也就是,可以不將點PJ多動到位于構造弧602,604之間的中間位置的程度。而是,可將點P,移動小于到相對構造弧604的距離的一半的距離。更特別地,可將點P,移動等于O和0.5之間的一個因子乘以點Pi和相對構造弧604之間的間隔S,(圖7)所得的結果的距離。因子可小于0.45。在圖6a所示的實施例中,因子近似在0.18和0.20之間,這已經(jīng)通過數(shù)學方法建立為提供有利的結果。圖7是放大的視圖,其以更高的精度示出一個實施例中點P,和P2的移動的方向和距離。線702與點P2相交并與在點P2與弧604相切。間隔S2在垂直于線702的方向上在點P2和弧602之間被定義。點P2可在垂直于線702的方向上移動等于0.45和0.55之間的因子乘以間隔S2所得的結果的距離。在圖6a和7所示的實施例中,因子近似為0.50。類似地,線704與點P,相交并在點P,與弧602相切。間隔S,在垂直于線704的方向上在點P,和弧604之間被定義。點Pi可在垂直于線704的方向上移動約為0.19乘以間隔S,的距離。該處理然后可為編程路徑中的每個連續(xù)移動重復。圖8示出了在已經(jīng)識別下一個點P4后,處理的重復。定義分別通過點P^2P4和P^3P4的兩個構造弧802,804。然后將點P2和P3分別以基本類似于圖6a和7中點P,和P2的移動的方式移動因子0.19和0.50。圖6b示出本發(fā)明的另一實施例,其為平滑調(diào)整線移動。線移動可以相對于彼此被調(diào)整以控制路徑曲率并為弧擬合做準備。定位分別通過P()P,P3和PoP2P3的不共面的兩個構造弧612,614?;?12,614的平面的交線被指定為616。由弧612定義的圓的中心被指定為c2;并且由弧614定義的圓的中心被指定為cl。點pl在弧614的平面上的投影被指定為點ql。也就是,延伸通過點pl和ql的線垂直于弧614的平面。類似地,點p2在弧612的平面上的投影被指定為q2。也就是,延伸通過點p2和q2的線垂直于弧612的平面?;?14上到點pl的最近的點被指定為sl;并且弧612上到點p2的最近的點被指定為s2。通常,如果一個點及其鄰近點都已經(jīng)被標記用于平滑,則該點被調(diào)整。如果一個點滿足上面給出的三個測試或條件(即,p0pl和plp2都是線;Max{d],d2}<0.0005英寸;和角9>143.2度)中的每個,則該點可被標記用于平滑。在圖6b所示的實例中,如果pl已經(jīng)被標記用于平滑,且p0和p2中的任何一個或兩個都已經(jīng)被標記用于平滑,則點pl可被調(diào)整。如果有的話,則點pl可沿著從pl到sl延伸的調(diào)整矢量vl而被調(diào)整。類似地,如果p2已經(jīng)被標記用于平滑,且pl和p3中的任何一個或兩個都已經(jīng)被標記用于平滑,則點p2可被調(diào)整。如果有的話,則點p2可沿著從p2到s2延伸的調(diào)整矢量v2而被調(diào)整。在與弧612和614相關聯(lián)的調(diào)整之后,處理繼續(xù)與下一組四個點(即,點pl,p2,p3和p4)所形成的弧相關聯(lián)的隨后調(diào)整。也就是,調(diào)整可基于由點pl、p2和p4定義的弧和由點pl,p3和p4定義的弧來做出。如同圖6a和7的實施例一樣,調(diào)整處理可基于沿軌跡的四點組成的隨后的組,來無限地繼續(xù)計算。點的位置沿調(diào)整矢量的調(diào)整的振幅可取決于兩個相鄰點中的一個是否沒有被標記用于平滑。更特別地,如果標記的點位于未標記的點的緊接著之后或之前,即標記的點位于未標記的點和另一標記的點之間,則標記的點的位置可被調(diào)整調(diào)整矢量長度的一半。也就是,標記的點可沿調(diào)整矢量移動一半的長度。在等式形式中,點的位置可計算為p=p+0.5*v。也就是,0.5的系數(shù)或因子來移動點。否則,如果標記的點位于兩個其他標記的點之間,則點的位置被調(diào)整兩次,且在兩次調(diào)整的每次中的系數(shù)或因子約為0.19。在第一次調(diào)整中,調(diào)整矢量的方向和幅度是采用這樣的調(diào)整點確定的,該調(diào)整點是用在圖6b中所示的計算中的四個點中的第二個。在第二次調(diào)整中,調(diào)整矢量的方向和大小是采用這樣的調(diào)整點確定的,該調(diào)整點是四個點中的第三個。上面結合了圖6b的實施例討論了0.19禾n0.5的調(diào)整因子。然而,如同圖6a和7中的實施例一樣,這些因子可位于0.18到0.20和0.45到0.55的相應范圍內(nèi)。點的調(diào)整的總幅度可以由常數(shù)值限定。在一個實施例中,調(diào)整的總距離被限制為0.0002英寸。如果計算的總調(diào)整大于0.0002英寸,則實際實現(xiàn)的調(diào)整在計算的調(diào)整的方向上被設定為0.0002英寸。為了更好地示出圖6b的實施例,下面描述各種調(diào)整情形。為了說明的簡單性和容易性,驗證總調(diào)整小于調(diào)整限制(如0.0002英寸)的檢查被略去。情況1:條件pO沒有被標記用于平滑;pl被標記用于平滑;p2沒有被標記用于平滑。結果因為pl不鄰近另一個標記的點,所以不調(diào)整pl,即使其被標記用于平滑。情況2:條件pO沒有被標記用于平滑;pl和p2被標記用于平滑;p3沒有被標記用于平滑。結果pl=pl+0.5*vl;P2=p2+0.5*v2。情況3:條件pO沒有被標記用于平滑;pl,p2和p3被標記用于平滑;p4沒有被標記用于平滑;結果pl=pl+0.5*vl;p2=p2+0.1877*v2+0.1877v2,;p3=p3+0.5*v3,其中vl和v2是從點p0plp2p3計算的,且點v2,和v3是從點plp2p3p4計算的。情況4:條件pO沒有被標記用于平滑;pl,p2,p3和p4被標記用于平滑。結果pl=pl+0.5*vl;P2=p2+0.1877*v2+0.1877v2,;p3=p3+0.1877*v3+0.1877v3,,其中vl禾Qv2是從點p0plp2p3計算的,點v2,和v3是從點plp2p3p4計算的,并且v3,是從點p2p3p4p5計算的。圖19示出上面參考表示運動體的軌跡路徑的圖6b描述的本發(fā)明的方法1900。在第一歩驟1902中,識別數(shù)據(jù)路徑的四個連續(xù)點,包括第一點,第二點,第三點和第四點。例如,可識別點p0,pl,p2和p3。在步驟1904,定位由第一點,第二點和第四點限定的第一弧。在圖6b的圖示中,識別由點p0、pl和p3限定的第一弧612。在步驟1906中,定位由第一點,第三點和第四點限定的第二弧。在圖6b中,識別由點p0、p2和p3限定的第二弧614。在最后的歩驟1908中,將第二點移動到第一弧和第二弧之間的區(qū)域中。例如,可將點pl沿調(diào)整矢量vl移動到弧612和614之間的區(qū)域中。步驟214(圖2)包括使用雙弧算法來平滑數(shù)據(jù)。線移動可轉(zhuǎn)換為彼此相切并保持給定的路徑公差的兩個弧移動。如圖9所示,與點Po和P,相關聯(lián)的線移動可以用與點Po和P,相關聯(lián)的兩個弧移動替換。更特別地,從點P()到點P,的線移動902可轉(zhuǎn)換為從Po到弧結合點P'的ArCl和從弧結合點P,到Pi的Arc2。ArCl和Arc2可彼此連接并可在點P,彼此相切。Arc,可與在點Po終止的前一移動904相切。前一移動904可以是線移動或弧移動。進一步,Arc2可以與在點P,開始的隨后或下一移動卯6相切。隨后的移動906可以是線移動或弧移動,并可在下一點P2(圖9中未示出)的調(diào)整位置被確定后定義。所有程序移動之間的平滑過渡因此能夠得以實現(xiàn)。在一個實施例中,ArCl的半徑908與Arc2的半徑910不同。半徑908和910在圖9中僅部分示出。數(shù)據(jù)平滑基本上將工具路徑中的突然轉(zhuǎn)向或不連續(xù)性消除以提供更平滑的工具運動。圖20示出上面參考圖9描述的本發(fā)明的方法2000。在第一歩2002中,識別從數(shù)據(jù)路徑的第一點延伸到數(shù)據(jù)路徑的第二點的線移動。例如,可識別從點Po延伸到點Pi的線移動902。在第二步驟2004中,線移動用第一弧移動和第二弧移動替換,第一弧移動在第一點開始并在結合點終止,第二弧移動在結合點開始并在第二點終止。在圖9的圖示中,線移動902用弧移動Arc,和Arc2替換,Arc,在點PQ開始并在結合點P,結束,并且Arc2在結合點P,開始并在第二點P,結束。雙弧平滑在第三操作中,使用雙弧算法來執(zhí)行平滑。第三操作可包括將線轉(zhuǎn)換為彼此相互相切同時保持給定公差的弧。第三操作可以包括順序地檢查在平滑隊列206中在第二操作中處理的連續(xù)的線目標點,和執(zhí)行線到弧的轉(zhuǎn)換。雙弧算法是為第三操作開發(fā)的。該算法使最終的平滑軌跡通過待平滑的線段的所有目標點。因此,公差要求將很好地得到滿足。雙弧算法可以以流水線方式同時執(zhí)行兩個函數(shù)。首先,算法可確定待平滑的線段的每個目標點的切向矢量。第二,算法可生成雙弧來替換待平滑的線段。設ppp2,p3,p4,p5,p6,...,pn是平滑隊列206中已經(jīng)由第二操作處理的連續(xù)的線目標點。第一函數(shù)可執(zhí)行以下步驟如果Pi,或pi+1被標記為"平滑",則基于點p卜,、Pi和pi+1的位置計算點Pi處所需的切向矢量ti(圖29)。三個點Pi、pw禾Gpi+1定義Arcpwpipw而ti是弧在點Pi的切向矢量。'如果Pi,pi.,,pw中沒有點被標記為"平滑",則不執(zhí)行任何操作i增加1重復上述步驟上面的函數(shù)將生成待平滑的線段的目標點處的所需切向矢量的序列,表示為…t2,t3,t4,t5,t6,...,tn。這些切向矢量可被稱為"所需的切向矢量",因為這些矢量的方向是逐漸變化的,其進一步平滑了已平滑的軌跡的曲率變化。第二函數(shù)可執(zhí)行下面的步驟檢査點pi和Pl+1以察看是否已經(jīng)為Pi和pw計算了相應的所需切向矢量ti和ti+1如果切向矢量tj和ti+1都可獲得,則生成一對三維弧au和ac使得an在點Pi開始并與切向矢量ti相切ail在Pi與pi+l之間的點p與ai2相切'ai2在點p開始,在點pw結束,且與切向矢量tw相切如果切向矢量、和ti+1中的任何一個不可獲得,則不執(zhí)行任何操i增加1重復上述步驟在另一實施例中,第二函數(shù)可執(zhí)行以下步驟'如果pi,Pi+,和Pi+2被標記用于平滑,且己經(jīng)為Pi,Pw和Pi+2計算了相應的所需切向矢量ti,ti+l和ti+2,那么生成一對三維弧ail和ai2,使得au在點pi開始并與切向矢量ti相切au在pi與pi+1之間的點p'與ai2相切'ai2在點p,開始,在點Pi+2結束,且與切向矢量ti+2相切*檢查?1+1和最近的弧之間的最短距離(d)。如果該距離在給定公差內(nèi),則雙弧是有效的。如果Pl和pi+2之間的雙弧是無效的,則在Pl和Pi+1之間生成一對三維弧au和ai2,使得an在點pi開始并與切向矢量tj相切au在pi和p1+1之間的點p'與&相切*^在點?,開始,在點pw結束,且與切向矢量tw相切重復上面的步驟以生成Pi+1和Pi+2之間的雙弧i增加2重復上面的歩驟上述實施例中第二函數(shù)的操作在圖30和31中示出。在圖30中,p0,pl和p2被標記用于平滑。生成一對三維弧al和a2,使得弧al在點pO開始并與切向矢量tO相切;弧al在p0和p2之間的點p'與弧a2相切;并且弧a2在點p'開始,在點p2結束,且與切向矢量t2相切。如果pl和兩個弧中較近的弧al之間的距離d在給定或預定的公差內(nèi),則雙弧al和a2是有效的。另一方面,如果雙弧al和a2是無效的,即距離d不在給定的公差內(nèi),則生成另一對三維弧a3和a4(圖31),使得弧a3在點p0開始并與切向矢量tO相切;弧a3在p0和pl之間的點p"與弧a4相切;并且弧a4在點p"開始,在點pl結束,并與切向矢量tl相切。然后可按順序重復上面的步驟以在點pl和p2之間生成另一對三維弧(未示出)?;l,a2,a3和a4的任意一個或全部可以是圓弧,且每個弧可具有不同的各自的半徑。在雙弧平滑這樣在點p0,pl和p2之間完成的情況下,可為沿軌跡的下三個點(即點p2,p3和p4)重復上述第二函數(shù)。進一步,可為沿軌跡的隨后的每三個點組成的組重復第二函數(shù)。上述雙弧平滑實施例針對其中p0、pl和p2均被標記用于平滑的情況。現(xiàn)在假定在四個點p0,pl,p2和p3中,pl,p2和p3被標記用于平滑。切向矢量tO和tl可從由p0,pl,p2定義的弧得到,且切向矢量t2可從由pl,p2和p3定義的弧得到??刹扇∠旅娴奈鍌€步驟1.在點p'相切的雙弧,即從pO到p'的弧al和從p'到p2的弧a2,可從(p0,p2,t0,t2)生成,如圖30所示。2.然后可檢查pl和雙弧中較近的一個之間的最短距離。如果x,y和z方向的距離小于預定距離(如0.0002英寸),那么雙弧al和a2是有效的。3.如果雙弧al和a2是無效的,則雙弧a3和a4在點p0和pl之間基于切向矢量t0,tl生成。兩個弧al和a2可在點p"相切。4.可以對雙弧進行公差檢查。圖31中的距離d是點p"和在點p0與pl之間延伸的線之間的最短距離。如果距離d小于預定距離(如0.0005英寸),那么雙弧a3和a4是有效的。否則,如果雙弧a3和a4是無效的,則將點p0,pl之間的軌跡定義為點p0和pl之間延伸的線。200680017942.4說明書第27/65頁5.重復步驟3和4以基于切向矢量tl和t2在pl和p2之間產(chǎn)生雙弧。雙弧算法用一對三維弧替換線段。由雙弧算法生成的鄰近弧可彼此相切,且所有的弧可以具有減小的曲率變化。雙弧算法可特別適合于與TBC結合使用,這將會產(chǎn)生幾個優(yōu)點。第一,對于大多數(shù)三維表面和曲線,曲率恒定地改變。相互相切的較短的弧提供比較長的弧更好和更平滑的近似。第二,對于五個或六個軸的加工,短三維XYZ弧可與ABC軸空間中的點對點移動相一致。這是顯著的優(yōu)點,因為將非TBC長弧三維平滑擴展到五軸或六軸加工是困難的。第三,所有三維弧命令將直接由TBC使用真弧技術執(zhí)行,其中真弧技術控制沿真弧軌跡的運動而不采用多邊形近似。在平滑后,平滑隊列206中的元素,包括定位命令、線命令、弧命令和程序結束命令,可被發(fā)送到前瞻隊列208。圖21示出上面參考圖5b、6b、30和31描述的本發(fā)明的方法2100。在第一歩驟2102中,識別路徑數(shù)據(jù)的四個連續(xù)點,包括第一點、第二點、第三點和第四點。在上面參考圖6b描述的實施例中,四個連續(xù)點p0,pl,p2和p3被識別。在第二歩驟2104中,確定第二點是否適合于平滑。例如,可以根據(jù)上面參考圖5b描述的方法,來確定點pl是否適合于平滑。如果不,則操作可返回到步驟2102,在該步驟中識別另一組四個連續(xù)點。例如,可識別四個連續(xù)點pl,p2,p3和p4。如果第二點適合于平滑,則定位由第一點、第二點和第四點定義的第一弧(步驟2106)。在圖6b的實施例中,弧612被識別。在下一步驟2108中,定位由第一點、第三點和第四點定義的第二弧。在圖6b的實施例中,弧614被識別。接著,在步驟2110中,將第二點移入第一弧和第二弧之間的區(qū)域中。例如,如圖6b所示,可以沿調(diào)整矢量vl將點pl移入弧612和614之間的區(qū)域。最后,在步驟2112中,與第二點相關聯(lián)的線移動可以用與第二點相關聯(lián)的至少一個弧移動替換。例如,導向點pl的線移動,或源自點pl的線移動,可以用弧移動替換,如圖30和31所示。加法前瞻在前瞻隊列208內(nèi)的加法前瞻操作中,確保在程序數(shù)據(jù)中的所有速度變化之間有足夠的距離來加速或減速。對于每個編程的移動,根據(jù)S曲線加速度來計算停止距離,其定義將軸減速到零速度所需的距離。稱為S曲線是因為圖10中所示的速度分布圖(速度隨時間變化的圖)的加速/減速部分看起來像"S"而非直線。停止距離可由以下兩個值中的較低者確定a)由當前移動和下一移動之間的角度確定的最大移動速度;和b)由機器模型確定的路徑曲率的最大移動速度。前瞻操作可確保在所有速度變化之間有足夠的距離用于加速或減速。其優(yōu)點在于,可以減少機器沖震(machinebumping)和駐停標記,且可以改善加工的表面光潔度??蔀榍罢安僮饕?guī)劃三個函數(shù),即三階平滑(threeordersmoothing),預前瞻,和加法前瞻。加法前瞻函數(shù)可包括在前瞻隊列208中搜索速度和距離信息并確定是否有足夠的距離供機器適當?shù)貜囊粋€運動命令加速/減速至另一個運動命令。如果沒有足夠的距離,則該信息可被存儲并用在運動內(nèi)核中以減小速度,使得機器可適當?shù)丶铀?減速。停止距離和速度之間存在著數(shù)學轉(zhuǎn)換。適當?shù)乃俣瓤蓮耐V咕嚯x和S曲線計算,如下面更詳細討論的那樣。加法前瞻算法可能會需要不同部件幾何結構的被允許的最大速度的知識。可為該目的構建公差/弧半徑/速度表。該表可為具有不同公差要求的不同半徑或曲率的弧提供最大可允許速度。加法前瞻函數(shù)可以以下面的步驟檢查前瞻隊列208的頭部的每個新到來的運動命令,并為前面的命令計算停止距離比較前一命令與該前一命令前面的命令以得到這兩個命令之間的角度或曲率,并使用該角度確定最大結合點速度,其是這兩個連續(xù)運動命令的結合點處的可允許的最大速度。查找公差/弧半徑/速度表。根據(jù)運動軌跡和所要求的公差,為前一命令的運動軌跡確定最大可允許軌跡速度。通過取最大結合點速度和最大軌跡速度中的較小者來為前一命令計算停止距離,并根據(jù)S曲線速度分布圖將該較小速度轉(zhuǎn)換為停止距離。將計算的停止距離附加到前一命令中。前瞻是動態(tài)處理。連續(xù)軌跡改變可影響先前處理的命令。每次新命令被添加到前瞻隊列208并為新命令計算停止距離時,可復查已經(jīng)被處理的隊列中的所有命令以確定先前為這些命令計算的停止距離是否需要更新。在新移動被處理并置于前瞻隊列208中后,隊列208中的所有先前移動可被復查,并且如果需要,可向下調(diào)整它們的速度。該最終的預處理操作類似于在拐彎前沿道路設置速度限制標記,使得駕駛者可安全駛過拐彎處。前瞻處理包括確定結合點/路徑饋送速率變化的第一步驟216,和為停止距離進行前瞻的第二步驟218。在歩驟216中,確定沿從點Pw到點&的路徑的饋送速率變化。在步驟218中,區(qū)段長度Li可在點Pi.,和Pi之間確定,如圖11所示。也可為每個點P",和Pi確定停止距離。點Pw處的停止距離不應大于Li和點Pi處的停止距離的總和。另外,超出點Pi可能不能遵從速度限制。"加法前瞻"中的術語"加法"指的就是該總和。如果發(fā)現(xiàn)點Pw處的停止距離大于Li和點Pi處的停止距離的總和,那么點Pw處的速度可被減小使得點Pw處的停止距離等于Li和點Pj處的停止距離的總和。在等式形式中,如果(停止距離i+SLi)〈停止距離w,那么設定(停止距離i+2L,)—亭止距離j-,。在另——禾中形式,設cmd;i,cmd2,cmd3,cmd4,cmd5,cmd6,.,cmdi是前瞻隊列208中已經(jīng)被處理的連續(xù)命令。對于命令cmdj,0<j<i+l,設其路徑長度為lenj,且停止距離為stopdisj。"有效停止距離條件"定義如下如果命令cmdj的停止距離stopdiSj等于或小于路徑長度lenj+1和命令cmdj+1的停止距離stopdiSj的總和,那么命令cmdj滿足"有效當新命令cmdw被接收并處理時,其具有路徑長度leni+1,和停止距離stopdisw。設j:i。該加法前瞻算法可執(zhí)行如下歩驟檢查命令cmdj以確定其是否滿足"有效停止距離條件",艮口,stopdiSj是否等于或小于lenj+1和stopdisj+1的總禾口.如果命令cmdj不滿足"有效停止距離條件",即stopdiSj大于leni+1和stopdiSj的總和,則命令cmdj的停止距離將由lenj+1禾nstopdis^的總和替換如果命令Cmdj滿足"有效停止距離條件",即St叩diSj等于或小于lenj+1和stopdisi+1的總和,則命令cmdj的停止距離stopdisj可保持不變,且更新操作被完成,如果j等于0,則完成更新操作'設定j,一l,即將j減小l重復上面的步驟當加法前瞻函數(shù)在反方向上順序地復查前瞻隊列208中先前處理的命令,檢査"有效停止距離條件",并更新命令的停止距離時,更新操作可在發(fā)現(xiàn)滿足"有效停止距離條件"的第一個命令后停止。因為該命令滿足"有效停止條件",所以該命令的停止距離可保持不變。因此,該命令之前的所有命令被滿足并仍然滿足"有效停止距離條件"。也就是,沒什么被改變也沒什么需要改變。這是加法前瞻算法的有利特性,這為前瞻操作提供了極高的效率。不是向回察看并更新整個前瞻隊列208,而是平均起來僅需要更新隊列中的一些元素。停止距離和停止地加法前瞻算法引入了停止距離和停止地的概念。具有標稱饋送速率力(圖32a)和終點速度v"勺運動命令的停止距離,可以根據(jù)S曲線速度分布圖定義為從目標點(圖32b)行進到可實現(xiàn)完全停止的點的距離,如圖32a中陰影區(qū)域所示??蛇x擇作為運動命令的虛擬目標點的停止地,使得如果系統(tǒng)從標稱饋送速率巧減小速度并根據(jù)S曲線在停止地處到達完全停止,則它以所需的終點速度^通過實際目標點。該停止距離可定義為目標點和停止地之間的距離。一旦確定運動命令的標稱饋送速率v7,則存在停止距離和終點速度^之間的一對一映射,假定S曲線速度分布圖是固定的,即最大加速度和急動(jerk)是固定的。在本文中可以假定,除非另外聲明,否則S曲線輪廓是固定的。因此,停止距離與終點速度直接對應;且如果停止距離給定,則可因此唯一地確定終點速度,反之亦然。加法前瞻算法可使用停止距離作為終點速度的度量,這允許該算法具有高計算效率,如下面討論的那樣。停止地可用在S曲線控制器中以設計運動輪廓。S曲線控制器可瞄準停止地而非實際目標點。S曲線控制器可生成速度分布圖,在該速度分布圖中受控的工具在工具達到所需的減緩的速度的同一時間點,通過實際目標點。運動命令的速度限制在加法前瞻算法中,每個運動命令可具有四個速度限制規(guī)定的饋送速率,機器可允許速度,路徑速度限制和結合點速度限制。規(guī)定的饋送速率可定義為由上層運動規(guī)劃(upper-levelmotionplanning)給出的所需饋送速率值。機器可允許速度是對速度的機器限制。最大可允許速度取決于機器硬件和物理定律。路徑速度限制是弧運動的限制。路徑速度限制可取決于弧半徑和公差規(guī)定?;“霃胶凸钤酱?,最大路徑速度限制就越大。結合點速度限制可定義為兩個連續(xù)運動命令的結合點處的速度限制。結合點速度限制可取決于兩個運動之間的角和公差規(guī)定。公差越大并且角度越小,結合點速度限制值就越大。在加法前瞻算法中,標稱饋送速率是規(guī)定的饋送速率,機器可允許速度和路徑速度限制中的最低值。例如,如果規(guī)定的饋送速率高于機器可允許速度和路徑速度限制,則前瞻算法將迫使饋送速率減慢至機器可允許速度和路徑速度限制中的較小值。運動命令的終點處的減緩的饋送速率可取決于結合點速度限制以及該運動命令和下一運動命令的標稱饋送速率。因為標稱饋送速率是規(guī)定的饋送速率,機器可允許速度和路徑速度限制中最小的一個,所以減緩可在當前運動區(qū)段期間發(fā)生而加速可在下一運動區(qū)段中發(fā)生,使得當前運動區(qū)段的饋送速率可小于標稱值。加法前瞻算法可使用標稱饋送速率和減緩的饋送速率來計算停止距離。有效停止距離條件前瞻算法可確保工具和工具前面的某個位置之間的距離足以允許工具的速度在工具到達該位置時為止改變所需的水平。該條件可被稱為關于加法前瞻算法的"有效停止距離條件",并可由等式(1)在數(shù)學上定義(1)其中A和/分別表示停止距離和運動區(qū)段的長度,且下標i和i+l表示運動命令的索引。在圖33中,運動命令cmd—i具有位于p—i的終點,位于stopper—i的停止地點,和停止距離ds—i。如果cmd—i的停止距離不超過該長度和cmd—(i+l)的停止距離的總和,或者如果stopper—i在stopper—(i+l)的前面,則cmd一i滿足有效停止距離條件。有效停止距離條件也可以如等式(2)所示的另一種方式解釋<formula>formulaseeoriginaldocumentpage46</formula>由于停止距離ds一i和ds—(i+l)分別對應于運動cmd一i的終點p—i處的饋送速率和運動cmd一(i+l)的終點p—(i+l)處的饋送速率,所以等式(2)指示區(qū)段長度1—(i+l)足以允許從點p—i的饋送速率到點p—(i+l)的饋送速率的速度減緩。加法前瞻vs.非加法前瞻TBC加法前瞻算法和非加法前瞻算法之間的差別是加法前瞻算法生成以停止地為目標的S曲線,并且僅使用S曲線的一部分,使得速度在目標點處從力減小到v。。非加法前瞻產(chǎn)生生成以實際目標點為目標的S曲線,并且速度在目標點處從v/減小到v0。圖34顯示出加法和非加法S曲線速度分布圖之間的比較。在兩個輪廓中,速度都在目標點處從v"咸小到w。然而,在加法S曲線中,減緩出現(xiàn)在時刻f^/和時刻^^之間,而在非加法S曲線中,減緩出現(xiàn)在時刻Gw和時刻^w之間。因此,非加法S曲線需要比加法S曲線更長的時間和更長的距離,以便實現(xiàn)從力到w的相同速度減小。加法前瞻可以是動態(tài)處理。連續(xù)軌跡變化可影響先前處理的命令。每次新命令被添加到前瞻隊列并且為新命令計算停止距離時,可以復查隊列中已經(jīng)被處理的所有命令以察看先前為這些命令計算的停止距離是否需要更新。當新命令cmdj被接收和處理時,其具有路徑長度1—i和停止距離d—i。加法前瞻算法可執(zhí)行以下步驟檢査命令cmdi.,以察看其是否滿足"有效停止距離條件",艮P,是否ds—(i-l)等于或小于1—i和d—i的總和。.如果命令cmdi.,不滿足"有效停止距離條件",即,ds—(i-l)大于1—i和d—i的總和,那么用1—i和d—i的總和來替換命令cmdi-,的停止距離ds一(i-1)。.如果命令cmdi—j菌足"有效停止距離條件",即,ds—(i-l)等于或小于l_i和d—i的總和,那么命令cmdw的停止距離ds—(i-l)可保持不變,并且更新操作完成。-如果(i-1)等于0,則更新操作完成。i一(i的值遞減)并重復上面的步驟。當加法前瞻函數(shù)順序地向后復查前瞻隊列中先前處理的命令,檢查"有效停止距離條件",并更新命令的停止距離時,更新操作可在發(fā)現(xiàn)滿足"有效停止距離條件"的第一個命令之后停止。因為該命令滿足"有效停止距離條件",所以該命令的停止距離可保持不變。進一歩,因為該命令滿足"有效停止距離條件",所以其前面的所有命令滿足,且仍然滿足"有效停止距離條件",并且前面的命令都不需要改變。圖35a-b分別提供了加法前瞻和非加法前瞻算法的比較。在加法前瞻(圖35a)中,僅第三歩驟,即計算停止距離ds一i的步驟,可能要求大量計算,并且可以如等式(3)中所示的那樣得以計算。對每個運動該計算可能僅需要執(zhí)行一次,并且可能不需要重復它。<formula>formulaseeoriginaldocumentpage47</formula>在非加法前瞻算法(圖35b)中,第三和第五步驟,即計算減緩距離的歩驟和計算命令i-l的速度減小的步驟,都可能要求大量的計算,并且可分別如等式(4)和(5)所示的那樣計算。"減緩距離:(4),類似于"計算停止距離"等式(3)。<formula>formulaseeoriginaldocumentpage47</formula>;式(5)計算在給定距離中變化到的最大可允許速度變化,這可能會涉及大量計算,諸如解三次方程。(5)<formula>formulaseeoriginaldocumentpage48</formula>而且,由等式(4)和(5)表示的非加法算法的兩個步驟可能需要被遞歸地執(zhí)行直到有足夠的距離供減緩。因為非加法前瞻算法需要較長的距離減緩相同的速度量,如圖34所示,所以循環(huán)必須比加法前瞻算法重復更多次數(shù),直到滿足足夠的距離。通常,由于與非加法前瞻中的兩個重負擔歩驟相比,加法前瞻僅具有一個重負擔步驟,所以加法前瞻可以在計算上比非加法前瞻更高效。加法前瞻可以在計算上比非加法前瞻更高效的另一個原因是,加法前瞻的重負擔步驟在遞歸循環(huán)之外,且僅被執(zhí)行一次。相反,非加法前瞻遞歸地執(zhí)行兩個重負擔步驟直到足夠的距離有效。加法前瞻還需要較小的距離來減小相同的速度量,如圖34所示,這意味著較少的先前運動命令需要修改。加法前瞻和非加法前瞻算法的運動學比較假定兩個連續(xù)運動命令cmd—(i-l)和cmd—i分別具有標稱饋送速率v—(i-l)和v—i。在兩個運動的結合點處,饋送速率必須減速到Vfl。圖36比較了非加法前瞻算法和TBC加法前瞻算法的運動學特性。前瞻操作確保所有速度變化之間有足夠的距離來加速或減速,并且可應用于所有實時運動控制和軌跡規(guī)劃,諸如CNC機床,自動機械,自動車輛等。因為前瞻通常是實時執(zhí)行的并且可遞歸地修改先前處理的運動命令,所以該算法的效率對于CPU負擔的減小和機器性能的改善非常重要。非加法前瞻算法可根據(jù)某些速度分布圖(如S曲線速度分布圖)計算從一個速度加速/減速到另一個速度所需的距離。當運動區(qū)段的距離短且不足以容納大速度變化時,前瞻算法可計算并限制該運動的速度。速度限制的計算涉及大量計算,且重復執(zhí)行計算是不希望有的,因為這會花費大量處理時間和資源。加法前瞻算法可使用停止距離概念作為速度限制的度量。與非加法前瞻算法中涉及解三次方程的大量計算相比,加法前瞻中對速度限制的更新僅是一種加法??傮w上,計算效率,修改先前運動的較少迭代,和增加的系統(tǒng)吞吐量,為本發(fā)明的加法前瞻算法提供了優(yōu)于非加法前瞻算法的幾個優(yōu)點。圖22示出了上面參考圖11描述的本發(fā)明的方法2200。在第一步驟2202中,識別沿目標工具路徑的多個點。在圖11的實例中,識別沿目標工具路徑的點Pi.2,Pw和&。然后,在步驟2204中,確定工具在最后的點處的最大可允許停止距離。在圖11中,區(qū)段長度Li+,可表示最后的點Pi處的最大可允許停止距離。對于點Pw,可能還沒有沿數(shù)據(jù)流水線向下推進足夠遠以識別點Pi+I,因此其特性可能不是已知的。也就是,點Pw的位置和其是否是角點或目標工具路徑的端點,可能不是已知的。然而,點Pi和Pw之間的最小可允許距離Lw是己知的。因為點Pi+1可以是角點或目標工具路徑的端點,所以工具可能有必要在點Pw停止或近似停止。因此,為了確保工具可在到達點Pi+i時停止,工具在最后的點P,的最大可允許停止距離被確定為等于點Pi和P^之間的最小可允許距離Lw。在下一步驟2206中,確定使得工具可在最大可允許停止距離內(nèi)停止的在最后的點處的最后最大可允許速度。在一個實施例中,圖10的S曲線可用來使最大可允許停止距離Li+1與在最后的點Pi處的最大速度(以該最大速度,工具可在到達點Pi+1時停止,即最后最大可允許速度)相關。在最后的步驟2208中,建立工具在其他點處的其它最大可允許速度,使得工具可在到達最后的點時減速到最后最大可允許速度。在圖11的實例中,建立在其它點Pi.,處的其它最大可允許速度,使得工具可減速到在歩驟2206中確定的點Pi處的最后最大可允許速度。在一個實施例中,圖10的S曲線可用來使距離Li與其他點Pw處的最大速度(以該最大速度,工具可在到達點Pi時減速到最后最大可允許速度)相關。進一步參考上面的實例,在其他點Pw處的最大可允許速度可與其他點Pw處的最大可允許公差速度(即,給定在其他點Pw的目標工具路徑的曲率,可確保實際工具路徑將保持在公差內(nèi)的在其他點Pi.i的最大速度)比較??勺R別其他點Pw處的最大可允許速度和其他點Pw處的最大可允許公差速度中的較小者,并且可在其他點Pw以該較小的速度移動工具。進一步參考上面的實例,可以建立工具在其它點Pw前面的點Pi.2處的之前最大可允許速度,使得工具可在到達其他點Pi.i時減速到較小的速度。工具在前面的點Pi-2處的最大可允許公差速度可取決于在前面的點Pi-2處的最大可允許偏差水平和/或目標工具路徑的曲率來確定??勺R別工具在前面的點處的最大可允許公差速度和在前面的點處的之前最大可允許速度中的較小者。圖23示出了上面參考圖11描述的本發(fā)明的另一方法2300。在第一步驟2302中,識別沿目標工具路徑的多個點。在圖11的實例中,識別沿目標工具路徑的點Pi-2,Pi—,和Pi。然后,在步驟2304,建立實際工具路徑偏離目標工具路徑的最大可允許偏差水平。例如,取決于工件的要求,可將O.lcm建立為實際工具路徑偏離目標工具路徑的最大可允許偏差水平。在步驟2306中,在沿目標工具路徑的多個位置處確定目標工具路徑的曲率。例如,可在點Pw處確定從點Pi.2到點Pi—,的線移動和從點Pw到點Pi的線移動之間的角度1907(圖11)。在歩驟2308,確定工具在沿目標工具路徑的每個點處的最大可允許公差速度。最大可允許公差速度取決于最大可允許偏差水平和曲率。例如,給定角度2307,點Pw處的最大可允許公差速度可被確定,使得實際工具路徑偏差目標工具路徑不超過O.lcm。接著,在步驟2310,確定工具在最后的點處的最大可允許停止距離。在圖11中,區(qū)段長度Lw可代表在最后的點Pi處的最大可允許停止距離。對于點Pi+,,可能還沒有沿數(shù)據(jù)流水線向下推進足夠遠以識別點Pw,因此其特性可能不是已知的。也就是,點Pw的位置和其是否是角點或目標工具路徑的端點,可能不是已知的。然而,點Pi和Pi+1之間的最小可允許距離Li+1是已知的。因為點Pi+1可以是角點或目標工具路徑的端點,所以工具可能有必要在點P1+1停止或近似停止。因此,為了確保工具可在到達點Pi+1時停止,工具在最后的點P,的最大可允許停止距離被確定為等于點&和Pw之間的最小可允許距離Lw。在下一步驟2312中,確定使得工具可在最大可允許停止距離內(nèi)停止的在最后的點處的最后最大可允許停止速度。在一個實施例中,圖10的S曲線可用來使最大可允許停止距離Liw與在最后的點Pi處的最大速度(以該最大速度,工具可在到達點Pw時停止,即最后最大可允許速度)相關。在步驟2314中,建立工具在除最后的點以外的每個點處的其他最大可允許停止速度,使得工具可在到達最后的點時減速到最后最大可允許速度。在圖11的實例中,建立在其他點Pw處的其他最大可允許停止速度,使得工具可減速到在步驟2312中確定的在點Pi處的最后最大可允許速度。在一個實施例中,圖10的S曲線可用來使距離Li與在其他點P,,處的最大速度(以該最大速度,工具可在到達點Pi時減速到最后最大可允許速度)相關。在最后的步驟2316中,識別在每個點處的最大可允許公差速度和最大可允許停止速度中的較小者。例如,在步驟2308中確定的最大可允許公差速度和在步驟2314中建立的最大可允許停止速度中的較小者可在每個點Pi.2,Pw和Pi處識別。圖24示出了上面參考圖11描述的本發(fā)明的另一方法2400。在第一步驟2402中,識別沿目標工具路徑的多個點。在圖11的實例中,識別沿目標工具路徑的點P,2,P"禾PPi。然后,在步驟2404,確定工具在最后的點處的最大可允許停止距離。在圖11中,區(qū)段長度Li+,可表示最后的點Pi處的最大可允許停止距離。對于點Pi+p可能還沒有沿數(shù)據(jù)流水線向下推進足夠遠以識別點P1+1,因此其特性可能不是已知的。也就是,點Pw的位置和其是否是角點或目標工具路徑的端點,可能不是已知的。然而,點Pi和Pi+1之間的最小可允許距離Li+i是已知的。因為點Pi+可以是角點或目標工具路徑的端點,所以工具可能有必要在點Pw停止或近似停止。因此,為了確保工具可在到達點Pw時停止,工具在最后的點Pi的最大可允許停止距離被確定為等于點P,和Pw之間的最小可允許距離Lw。在下一步驟2406中,確定工具在其他點的最大可允許速度,使得工具在其他點處的所需停止距離等于或小于在最后的點處的最大可允許停止距離和其他點與最后的點之間的區(qū)段長度的總和。在圖11的實施例中,工具在點Pw的最大可允許速度可被確定,使得工具在點Pw處的所需停止距離等于或小于在最后的點Pi處的最大可允許停止距離和其他點Pw與最后的點Pi之間的區(qū)段長度Li的總和。在一個實施例中,圖10的S曲線可用來使工具在點Pi—,處的所需停止距離與在點Pi處的最大可允許速度相關。進一步參考上面的實例,確定工具在其它點Pw前面的點Pi-2處的之前最大可允許速度,使得工具在前面的點處的所需停止距離等于或小于在最后的點Pi處的最大可允許停止距離和前面的點Pw與最后的點Pi之間的區(qū)段長度Li+Lw的總和。工具在前面的點&2處的最大可允許公差速度可取決于在前面的點Pi.2處的最大可允許偏差水平和/或目標工具路徑的曲率來確定。工具在前面的點處的最大可允許公差速度和在前面的點處的之前最大可允許速度中的較小者可被識別。隊列管理器任務可由隊列模塊中的一般隊列管理器執(zhí)行,該一般隊列管理器以流水線方式管理對公差隊列202,壓縮隊列204,平滑隊列206和前瞻隊列208執(zhí)行的所有操作。這些操作可包括對公差隊列202中的元素的公差理解,對壓縮隊列204中的元素的壓縮,對平滑隊列206中的元素執(zhí)行的預備平滑、校正平滑和雙弧平滑,對前瞻隊列208中的元素執(zhí)行的三階平滑(如果有必要),預前瞻(如果有必要),和前瞻。隊列管理器可調(diào)用相關例程以通過執(zhí)行以下操作來管理隊列流水線1)用從NC解譯器接收的NC命令填充公差隊列202;2)處理公差隊列202中的NC命令;如果是E代碼,則從該命令獲得公差信息并存儲規(guī)定的公差區(qū)域和相關的公差值;另外,如果是非TBC運動命令,則根據(jù)可用的公差信息為該命令計算所需的公差,并將所需的公差值附加到該命令中;3)從公差隊列202取得NC命令并將它們添加到壓縮隊列204;4)將非常短的線移動融合成更長的線移動,即,用壓縮隊列204中更長的線元素替換非常短的線元素;5)從壓縮隊列204取得NC命令并將它們添加到平滑隊列206中;6)檢查平滑隊列206中的所有線元素以識別那些待平滑的元素,并為那些元素做局部調(diào)整;7)將那些線元素轉(zhuǎn)換為弧元素;8)從平滑隊列206取得NC命令,大部分是弧元素,并將它們添加到前瞻隊列208中;9)檢查每個新添加的命令并在前瞻隊列208中回查先前處理的命令;10)為新命令確定適當?shù)乃俣?,并且如果有必要則為所有先前命令修改速度;和11)從前瞻隊列208取得NC命令并將它們發(fā)送到運動控制內(nèi)核以供執(zhí)行。所有上面對隊列進行的操作可同時執(zhí)行。無論何時隊列未充滿,隊列中的數(shù)據(jù)處理都可繼續(xù)。隊列管理器可調(diào)用第一例程來執(zhí)行所有隊列操作并移動NC命令通過隊列流水線,直到所有隊列都充滿或NC程序被完全加載。第一例程可調(diào)用第二例程來執(zhí)行公差,壓縮和平滑操作,并且可調(diào)用第三例程來執(zhí)行前瞻操作。運動內(nèi)核模塊可執(zhí)行基于公差的運動控制并可控制與程序線和弧相關聯(lián)的運動。運動內(nèi)核可以用預測性和真弧運動替換非TBC點到點控制,其中線或弧是基本軌跡單元。控制可沿編程的軌跡推動軸,在遇到偏差時校正所遇到的偏差。非TBCCNC控制器可以利用所需的速度將編程的軌跡插補到順序的目標點中,并且可將它們加載到PID運動控制卡中以供執(zhí)行。非TBCCNC控制器可支持基于時間的插補,即,將線/弧數(shù)據(jù)分解成固定(或可變)時間間隔的位置點和速度點。然后,運動控制卡可執(zhí)行PID循環(huán)以最小化隨動誤差,即,瞬時位置和插補的目標點之間的滯差(lag)。直觀地,想象一彈性繩,其一端連接到運動軸,另一端從目標點向目標點步進。繩的長度表示隨動誤差。運動控制卡可拉動軸以減小繩的長度。該運動控制是"拉動"機制,其中線/弧數(shù)據(jù)在執(zhí)行前被插補到時間間隔的位置點和速度點中。各個單獨的軸可在運動控制下獨立地移動。進一歩,軌跡插補器可以是開環(huán)的,其不能夠控制隨動誤差。最后,目標點可被預計算,對于實時條件做很小的調(diào)整。預測性TBC運動控制可基于識別線/弧數(shù)據(jù)(無預計算的插補點)并沿線/弧軌跡直接推動軸的不同機制。在每個控制循環(huán)(例如,其可具有200微秒的周期),控制可讀取位置反饋,可比較當前位置與命令的軌跡(線或弧),并可確定軌跡上與實際當前位置最靠近的點。該點可定義為理想當前位置。實際當前位置和理想當前位置之間的差可定義為瞬時隨機位置誤差或公差誤差。也被簡稱為"位置誤差"的瞬時隨機位置誤差,可被看作是實際當前位置偏離線/弧軌跡的偏差。TBC公差誤差與非TBC隨動誤差不同。更特別地,隨動誤差是實際當前位置和一個軸上的預計算的目標點之間的差。TBC公差誤差是實際當前位置和理想當前位置之間的矢量差,其可實時動態(tài)計算。在非TBC控制器中,預計算的目標點可基于通常為毫秒量級的時間間隔被插補。在TBC控制系統(tǒng)中,理想當前位置可以在每個控制循環(huán)中計算。在非TBC控制系統(tǒng)中,運動控制卡,而不是主機,可處理隨動誤差。在TBC系統(tǒng)中,公差誤差可由TBC直接校正。在非TBC控制系統(tǒng)中,不同軸的隨動誤差可被獨立地處理。在TBC系統(tǒng)中,不同軸的公差誤差可由TBC同等地處理。在每個控制循環(huán),TBC預測性運動控制可執(zhí)行下面的步驟根據(jù)S曲線計算軌跡的理想當前位置處的三維切向速度計算瞬時切向和向心加速力及它們的預測性的補償矢量計算瞬時隨機位置誤差確定三維隨機校正速度*將切向速度,預測性補償速度和隨機校正矢量組合在一起,并發(fā)出合成速度以沿軌跡推動軸運行系統(tǒng)任務可發(fā)出伺服命令至機床以便遵從在先前的隊列管理器任務中確定的工具路徑和相關聯(lián)的速度。例如,可以每毫秒發(fā)出一次指定機床將要遵從的工具路徑的一部分的命令。工具路徑的這一部分可包括一個或多個線段和/或一個或多個弧。在圖12所示的實例中,命令規(guī)定在x-y-z空間中從(1,4,0)延伸到(5,1,6)的線段。打算將工具路徑重定向以補償任何檢測到的誤差(即實際工具路徑偏離校正的工具路徑的偏差)的伺服,可以比命令更頻繁地發(fā)出。在圖12所示的實施例中,伺服每200微秒發(fā)出,即與點A-F中的每個點相一致。圖13示出了在一毫秒命令的過程中的每個伺服的時序和持續(xù)時間。也就是,圖13示出了伺服的控制回路循環(huán)時間。每個伺服可具有小于35微秒的持續(xù)時間。在一個實施例中,每個伺服具有約在10和15微秒之間的持續(xù)時間。在伺服的上升邊沿上,可確定機床的當前位置或某個其他參數(shù)。在伺服的持續(xù)時間段上,可執(zhí)行使用確定的參數(shù)的計算。在伺服的下降邊沿,可發(fā)出相對于工件將機床重定向的輸出信號。在本文中重復地使用200微秒的時間段作為伺服的持續(xù)時間的實例。然而,當然,在本發(fā)明的范圍內(nèi),伺服的循環(huán)時間可小于或大于200在命令的第一個200微秒后,工具可置于圖12中的點B。編碼器或某個其他類型的位置感測裝置可感測工具在點B處的實際位置。一旦感測到點B處的工具位置,工具應該由伺服沿工具子路徑1202重定向到的新目標點T,可被計算或識別。目標工具子路徑1202的計算可取決于工具的實際位置偏離目標工具路徑的偏差。這樣的偏差1204的實例在圖12中示出。工具可在工具子路徑1202的計算期間繼續(xù)移動通過第一實際位置B。圖2的運行系統(tǒng)任務包括伺服220,其具有計算位置步驟222,S曲線步驟224,預測性誤差補償步驟226,以及隨機誤差補償步驟228。由于隨機誤差及系統(tǒng)的和可重復的預測性誤差,工具可突然轉(zhuǎn)向到點B,而非遵循從(1,4,0)到(5,1,6)的線性工具路徑。預測性誤差可通過對歷史工具位置數(shù)據(jù)的經(jīng)驗分析而被識別?;陬A測性誤差,可確定將工具重定向到點T很有可能會導致工具實際從點B以平滑運動靠近所需的線性工具路徑移動。S曲線步驟224包括計算沿目標工具子路徑1202的所需加速水平。更特別地,可確定在所需的時間段內(nèi)和以所需的最終速度,完成從點B到點T的伺服(即完成目標工具子路徑1202)所需的加速度。實際上,由于隨機誤差和未識別的預測性誤差,工具可能會到達點C。在額外伺服后,工具到達點D,E禾tlF。點F可在一毫秒命令結束時到達。更特別地,隨后的目標工具子路徑可在每個伺服完成時,以基本上類似于如上所述的目標工具子路徑1202的計算的方式得到計算。從(1,4,0)到(5,1,6)的目標工具路徑和目標工具子路徑1202在圖12中顯示為線性的。然而,應理解的是,任何目標工具路徑或任何目標工具子路徑可以是弓形的。由公差控制器執(zhí)行的第二函數(shù)是預測性誤差補償(圖1的步驟106和圖2的步驟226),其可以是"運動內(nèi)核"的一部分。運動內(nèi)核用預測性和真弧軌跡運動替換非TBC點到點控制技術,其中線和弧是基本軌跡單元。預測性控制沿編程的軌跡推動軸并在遇到偏差時校正所遇到的偏差。在一個實施例中,在每個200微秒控制循環(huán),公差控制可讀取位置反饋,比較當前位置與命令的軌跡(線或弧),并尋找軌跡上最靠近當前實際位置的點。軌跡上的該點可被定義并被稱為當前理想位置。當前實際位置和實時動態(tài)計算的當前理想位置之間的差被定義為位置誤差,其可實時動態(tài)計算。然后,預測性控制可分析運動軌跡和機器條件以補償可重復運動誤差。對這些誤差的校正可以通過使用機器的參數(shù)化的數(shù)學模型來預測,該參數(shù)化的數(shù)學模型已經(jīng)通過測量實際動態(tài)機器響應而被配置。預測性運動控制可分析運動軌跡和機器條件以對可重復的并可通過實驗測量的某些類型的運動誤差做適當?shù)难a償。然后位置誤差可與預測性校正結合以為每個軸計算新速度命令??稍诿總€控制循環(huán)執(zhí)行的預測性校正在圖14中示出。預測性誤差補償可包括弧運動的向心力補償,切向加速補償,"粘性(stick)"摩擦補償,導螺桿(leadscrew)和齒隙補償,心軸軟度(spindlesoftness)補償,和系統(tǒng)延遲補償,它們均在下面依次描述。預測性控制可精確地加工弧運動而無需將弧線性化為許多線段。在弧運動的向心力補償下,通過使用物理定律,預測性控制可根據(jù)當前速度和弧軌跡曲率,瞬時和實時地計算將軸拖動或保持在弧上每個理想當前位置處所需的向心力。向心力可被轉(zhuǎn)換為預測性補償矢量,其可瞬時地加到發(fā)送給運動軸的速度上?;诋斍八俣群突∏剩蛐牧κ噶勘患拥秸{(diào)整發(fā)送給運動軸的速度命令的預測性補償矢量上。校正可使機器能夠切割高度精確的弧。預測性運動允許弧段的直接精確加工,而無需將弧軌跡轉(zhuǎn)換為直線近似。將比例速度(proportionalvelocity)發(fā)送至多個軸可能不能保證三維運動是線性的,即直線。所涉及的運動軸可能不能按照需要按比例地運動,因為不同軸的加速/減速取決于它們的動力學,其隨軸的不同而變化。由于由不同的軸動力學(諸如皮帶順度(beltcompliance)或伺服放大器增益)引起的軸加速/減速中的差別,移動可能是彎曲的,而不是所需的直線移動。在切向加速補償下,預測性控制可為每個單獨的軸分析加速度并為軸計算適當?shù)难a償力。這些補償力可轉(zhuǎn)換為預測性補償矢量以產(chǎn)生所需的軸加速。該校正使軸被協(xié)調(diào)并精確地跟蹤編程的軌跡。這些補償力可轉(zhuǎn)換為預測性補償矢量以產(chǎn)生所需的軸加速。機床的粘性摩擦或靜摩擦對運動控制有相當?shù)挠绊憽撵o止開始的軸需要額外的起動能量(kickofenergy)以克服粘性摩擦并開始移動。在粘性摩擦補償下,為了校正和補償粘性摩擦效果,預測性運動使用可在軸改變其運動方向(即穿過零速度點)時觸發(fā)的粘性摩擦補償器。補償輪廓是凹口狀(notchshape),凹口的高度和寬度是速度和軌跡局部曲率的函數(shù)。粘性摩擦隨機器的不同而不同,并且隨軸的不同而不同。因此,補償是速度和軌跡局部曲率的函數(shù),并且隨機器的不同和軸的不同而不同。該補償可消除諸如軸象限處弧上的平點(flatspot)的問題。應為每個單獨的軸構建補償器。導螺桿和齒隙補償可校正和補償機械誤差和機器軸滾珠絲桿(machineaxisballscrew)的齒隙。獲取位置反饋的函數(shù)負責導螺桿和齒隙補償。運動內(nèi)核所使用的位置值都是根據(jù)導螺桿映射表補償?shù)膶輻U和齒隙。每次軸位置反饋被讀取時,其可由存儲在導螺桿映射表中的導螺桿和齒隙補償值調(diào)整。該補償可在軸方向改變期間校正機械軸定位誤差和"空動(lostmotion)"。對于某些機器,Z軸或心軸的機械框架可能不足夠剛硬,從而在加工期間引起不希望有的振動。心軸軟度補償可以僅為Z軸修改運動參數(shù)以減小該不希望有的振動。被修改的參數(shù)可包括Z軸速度,加速和急動,其中急動被定義為每單位時間加速度的變化。作為心軸軟度補償?shù)慕Y果,部件表面光潔度可得到改善。機器系統(tǒng)對運動命令的響應通常由于機械和電氣原因而被延遲。例如,在軸電機運動和實際軸運動之問由于機械傳動而可能會有機械延遲。在速度命令輸入到伺服放大器和電機的實際運動之間也可能有電氣延遲。在系統(tǒng)延遲補償下,預測性控制可通過在實際需要調(diào)整之前給以預期的調(diào)整來補償該延遲。這可在編程的軌跡上需要校正時對運動軸提供必要的校正。經(jīng)由上述補償方案,公差控制可補償預測性、重現(xiàn)性誤差。預測性控制可沿編程的軌跡推動軸,并且來自機器模型的補償可補償和校正可重復機器誤差。這些調(diào)整都可極大地減小當前位置和線/弧軌跡之間的位置誤差。除了對預測性誤差的補償之外,公差控制還可校正隨機誤差,如圖15所示。沒有被圖14所示的預測性控制校正的任何剩余的位置誤差可進一歩通過隨機誤差校正機制減小。通過利用直接沿編程的軌跡推動軸的預測性運動,和校正可重復加工誤差的預測量/計算的補償,TBC極大地減小了瞬時位置誤差(實際當前位置偏離線/弧軌跡的偏差)。隨機誤差校正類似于在道路上駕駛并對方向盤做小調(diào)整,以便補償?shù)缆繁砻嫔系淖兓亩『猛A粼诘缆返闹醒?。由實時發(fā)生的隨機誤差產(chǎn)生的位置偏差,進一步通過使用隨機誤差校正機制而得以減小,其中隨機誤差校正機制可包括比例控制,積分控制,微分控制,S曲線加速和速度控制,以及動態(tài)速度調(diào)整。這些隨機誤差校正機制中的每一個在下面依次描述。在比例控制下,位置誤差可乘以比例增益參數(shù)以得到隨機校正速度矢量。所得的隨機校正速度矢量可從預測性校正速度(即從命令的速度)中減去,從而減小誤差。在積分控制下,位置誤差可以使用改進的Laplace變換算法而被積分??捎嬎闩c上述積分結果成比例的校正值并將其加到預測性校正速度(命令的速度)上。改進的Laplace變換算法可消除一段時間上持續(xù)的位置誤差。直積分控制會引起不希望有的振蕩。較低頻率的改進的Laplace變換可用于求位置誤差的積分而產(chǎn)生小得多的振蕩。在微分控制下,位置誤差的微分值可加到預測性校正速度上,以衰減隨機誤差校正。這種衰減可改善隨機誤差校正的穩(wěn)定性??杉尤肴藶榈恼硿Σ烈栽黾酉到y(tǒng)的衰減系數(shù),使得系統(tǒng)更穩(wěn)定。這等效于比例加微分控制。在S曲線加速和速度控制下,部件加工程序中定義的或由加法前瞻算法調(diào)整的速度變化,可使用S曲線加速而被控制。S曲線加速可以每200微秒控制循環(huán)或伺服循環(huán)計算一次。因此,可提供軸運動的非常平滑的控制,并最終提供軸位置的非常平滑的控制。S曲線加速提供了非線性加速方法,其軟化并平滑了穩(wěn)速階段(at-velocityphase)和加速/減速階段之間的過渡。S曲線速度分布圖通常具有七個階段,包括增加加速度;恒定加速度;減小加速度;穩(wěn)速(恒定速度);增加減速度;恒定減速度;和減小減速度。非TBCCNC控制使用基于時間的調(diào)度機制。因此,S曲線可實現(xiàn)為時間的函數(shù)。函數(shù)輸出是調(diào)度的位置和速度。TBC使用真弧技術。在每個控制循環(huán),可計算軌跡上的理想位置而非調(diào)度的位置。因此,僅需要根據(jù)S曲線計算沿軌跡的速度。TBC系統(tǒng)中的S曲線可實現(xiàn)為實時處理??稍诿總€控制循環(huán)根據(jù)瞬時路徑距離來計算速度。該機制可消除速度誤差積累并可支持某些實時請求,諸如饋進超調(diào)(feedoverride),暫停,繼續(xù)和單歩。TBC中的S曲線可具有典型的七個階段,即增加加速度;恒定加速度;減小加速度;穩(wěn)速(恒定速度);增加減速度;恒定減速度;和減小減速度。增加加速度階段可包括恒定的初始急動J0。加速度可以以初始急動J0線性地增加至最大加速度。速度可作為時間的二次函數(shù)而增加。在恒定加速度階段,可以沒有急動,即,急動可等于0。加速度可保持在最大加速度。速度可作為時間的線性函數(shù)而增加。在減小加速度階段,急動可等于-J,其中J是最大急動。加速度可以以負最大急動-J從最大加速度線性地減小到0。速度可作為時間的二次函數(shù)而增加。在穩(wěn)速階段,急動和加速度都等于0。速度等于最終的恒定速度。在增加減速度階段,急動可等于-J,其中J是最大急動。減速度可以以最大急動J從0線性地增加至最大減速度。速度可作為時間的二次函數(shù)從最終速度減小。在恒定減速度階段,可以沒有急動,即,急動可等于0。減速度可保持在最大減速度。速度可作為時間的線性函數(shù)而減小。在減小減速度階段,急動可等于最大急動J。減速度可以以等于最大急動J的急動從最大減速度線性地減小到0。速度可作為時間的二次函數(shù)而減小。在前瞻處理期間,上面討論的加法前瞻算法可將停止距離附加到每個運動命令中。停止距離可用在S曲線實現(xiàn)方案中以保證有足夠的距離在速度之間適當?shù)丶铀?減速。在一個實施例中,S曲線計算涉及幾個變量的使用,諸如表示從當前位置到命令的目標位置的軌跡長度的distance—to—go。變量stop—distance—left表示distance—to—go禾口附力口至ll命令中的stop—distance的值的總和。distance—to—go禾Hstop—distance—left的值可隨著機器的瞬時位置而變化。變量stop—distance—required表示根據(jù)命令的速度,減速度和S曲線,完全停止機器所需的移動距離。stop—distance—required的值可隨速度而變化。當運動命令正被執(zhí)行時,在每個控制循環(huán),可計算并比較該命令的變量stop—distance—left禾口stop—distance—required。無i侖{可時stop—distance—left的《直小于或等于stop—distance—required的{直(沒有乘(J下足夠的距離),都可使用速度/距離轉(zhuǎn)換算法來根據(jù)stop—distance—left計算速度,如下面更詳細討論的那樣。當stop—distance—left的值大于stop—distance—required的值時(剩有足夠的距離),七個階段中的每個階段中的速度可如下所述進行計算。在階段l,加速度根據(jù)初始急動而被線性地增加。加速度可根據(jù)如下等式計算acceleratioiii+i=acceleratiorii+JOxcycle—time其中JO是初始急動,cycle—time是每個控制循環(huán)的時間間隔,其約為200微秒。速度根據(jù)加速度值而被增加。速度可根據(jù)如下等式計算velocityi+i=velocityi+accelerationxcycle—time當力口速度達至1」maximumacceleration時,可以如下所示將其截短If(acceleration>=maximum—acceleration),thenset:acceleration=maximum—acceleration;并進入階段2。在階段2中,力口速度等于maximum—acceleration。速度可根據(jù)下面的等式計算velocityi+1=velocityi+maximum—accelerationxcycle一time。Final一veloctiy和當前速度之間的差由如下等式表達Final—velocity-velocity=0.5xJxt,其中J是最大急動,t是達到最終速度所需的時間。由于加速度等于急動和時間的乘積,即Jxt,所以上面的等式可重新整理為2xJ:x:(final—velocity-velocity)=acceleration或acceleration=—w/o"'(y-w/oc/(y)。如果加速度小于maximumacceleration,則可進入階段3(減小加速度)。在階段3,速度可由以下等式計算acceleration:》J(/wa/—ve/oc/(y_w/oc/(y)velocityi+1=velocityi+accelerationxcycle—time。如果速度達到final—velocity,則可進入階段4(穩(wěn)態(tài)速度)。在階段4,速度等于maximum—velocity,且加速度等于0。在階段5(增加加速度)、階段6(恒定加速度)和階段7(減小加速度)中的每個階段中,速度可使用速度/距離轉(zhuǎn)換算法計算。在控制循環(huán),當stop—distance—left的值小于或等于stop—distance—required的值(該條件在階段5,6和7中自動滿足)時,速度/距離轉(zhuǎn)換算法可用來根據(jù)stop—distance—left計算速度。該算法的一個實施例的關鍵特征在下面描述。由于S曲線是定義速度和時間之間的關系的函數(shù),所以其可由如下速度方程表示velocity=S—Curve(t)。設t,是當前時間,并設t2是運動完全停止時的時間。則運動完全停止所需的時間由t廣t,給出。算法可通過選擇適當?shù)乃俣仁箂top—distance—required&^)/[直等:^stop—distance—left的{|[。機器在t2-t,期間的移動距離可定義為t,時的stop—distance—required。t|時的stop—distance—required口J"通過按照以下等式對時間t取取速度等式的積分來計算stop—distance—required=S—Curve(t)dt。上面的等式定義stop_distance和時間之間的關系。為了簡單起見,該等式可改寫為stop—distance—required=Stop—Dis(X)。因此,t=Stop—Dis—1(stop—distance—required)其中Stop—Dis—1是Stop_Dis的反函數(shù)。替換速度等式中的t得到velocity=S—curve(Stop—Dis—1(stop—distance—required))。為了寸史stop—distance—required的〈直等于stop—distance—left的ft,速度可根據(jù)如下等式設定velocity=S—curve(Stop_Dis1(stop—distance—left))。在機床中,不同的軸可具有不同的最大速度。z軸的最大速度通常低于X軸或Y軸的最大速度。假定maxv—x、maxv_y和maxv—z分別是X軸、Y軸和Z軸的最大速度,并且dmv是三維空間中的矢量。如果機床沿dmv的方向移動,則沿dmv的方向的最大可允許矢量速度是矢量dmv的函類女maximum—allowable—velocity=f(dmv)。該函數(shù)是從三維單位矢量到實數(shù)的映射。確定函數(shù)f的保守方式是將其定義為常數(shù)f(dmv)=Min{maxv—x,maxv—y,maxv—z}如果機床從原點開始,沿任意方向矢量dmv的方向,以給定的矢量速度f(dmv)移動一個單位時間,然后機床將到達某個終點。由所有可能的運動方向產(chǎn)生的終點將形成三維表面,其被稱為速度包絡。速度包絡的形狀取決于函數(shù)f。在這種情況下,從終點到原點的距離是常數(shù)Min{maxv—x,maxv_y,maxv__z},并且因此速度包絡是球形。一種積極的策略是沿著具有最高可能性的矢量速度的方向dmv移動機床,如果軸X,Y和Z的速度分別由maxv一x,maxv—y和maxv—z界定。在這種情況下,速度包絡是三維立方盒,其長度為2xmaxv—x,寬度為2xmaxv—y,高度為2xmaxv—z。速度包絡可用于定義軸的速度坐標類型。有四種速度坐標類型,按積極度(aggressiveness)》咸小白勺川頁序為AXIS—VELOCITY—CUBIC—TYPE,AXIS—VELOCITY—CYLINDER—TYPE,AXIS—VELOCITY—ELLIPSE—TYPE,禾口AXIS—VELOCITY—SPHERE—TYPE。TBC可使用AXIS—VELOCITY—ELLIPSE—TYPE。AXIS—VELOCITY—ELLIPSE—TYPE的速度包絡是三維橢圓,其中X軸長度等于2xmaxv—x,Y軸長度等于2xmaxv—y,并且Z軸長度等于2xmaxv一ZoTBC支持動態(tài)速度調(diào)整。在動態(tài)速度調(diào)整下,公差控制可監(jiān)視位置誤差并比較該誤差與規(guī)定的公差。被定義為所要求的公差的百分比的安全水平,可用于控制位置誤差。如果位置誤差超出安全水平,則軸速度可自動減小以便減小位置誤差。如果位置誤差在安全水平以下,則軸速度可自動增加至原始速度。以這種方式,可以允許機器盡可能快地運行,或近似這樣,同時仍保持所需的公差。動態(tài)速度調(diào)整可基于Laplace變換進行。本發(fā)明的TBC運動內(nèi)核可從前瞻隊列取得運動命令并控制伺服系統(tǒng)跟蹤輪廓線軌跡(contourtrajectory)。TBC運動控制與非TBC運動控制的不同在于,其是閉環(huán)輪廓線跟蹤控制。非TBC運動控制和TBC運動控制之間的比較如下所述。非TBC運動控制結構為了跟蹤三維輪廓線軌跡,非TBC運動控制系統(tǒng)可將三維輪廓線分解到XA7Z軸,并相對于時間對XA7Z運動進行插補。每個軸可具有其自己的基于時間的參考軌跡,并可使用反饋和前饋控制來獨立地跟蹤其自己的運動軌跡。理想地,如果每個軸完美地跟蹤其參考軌跡,則所得的三維輪廓線也將完美地被跟隨。由于存在圖37中所示的擾動,以及建模誤差,完美的跟蹤通常無法實現(xiàn),并且在實際軸運動和參考軌跡之間可能存在跟蹤誤差??稍噲D最小化每個軸中的跟蹤誤差而無需三個軸之間的任何協(xié)作或配合??筛櫭總€軸的軌跡而無需知道或關心軌跡在其他軸中的狀態(tài)。例如,即使一個軸中的軌跡遇到大阻力并落在其參考軌跡后面,仍可試圖跟蹤其他兩個軸的預設軌跡。結果是,即使軌跡可通過三個軸中的兩個軸而被完美地跟蹤,所獲得的實際輪廓線仍可能顯著地偏離參考輪廓線。圖37中所示的非TBC運動控制系統(tǒng)可以是時間確定的。也就是,x/y/z軸運動軌跡可以是基于時間的,并且整個系統(tǒng)的運行時間可事先精確地確定。F—x、F一y和F一z可指示三個軸中的每個軸的前饋控制器;并且C—x、C—y和C—z可指示三個軸中的每個軸的反饋控制器。輪廓線跟蹤在非TBC運動控制中可以是開環(huán)的。沿三個軸中的每個軸的運動可以是獨立的,而無需知道或取決于沿任何其他軸的運動。換句話說,在各軸間可不存在協(xié)作。在非TBC運動控制中,即使有圓弧插補,也可能沒有弧運動。軸中的不同動態(tài)響應會對跟蹤精度和表面質(zhì)量產(chǎn)生負面影響。在非TBC運動控制中,輪廓線跟蹤可以是開環(huán)的,并且可能無法保證實際獲得的輪廓線足夠靠近所需的參考輪廓線。未經(jīng)協(xié)調(diào)的運動的實例在圖38a-d中給出,其中參考軌跡y二x(圖38a)被分解成基于時間的軸軌跡y=kt(圖38b)和x二kt(圖38c)。非TBC運動控制器可控制x和y軸中的運動以獨立地跟蹤它們的軌跡。兩個不同的情況在圖38b-d中表示。情況1的特征為x和y軸中的小跟蹤誤差;然而圖38d所示的輪廓線誤差相對大。情況2的特征為x和y軸中的較大的跟蹤誤差,但是根本不存在圖38d中所示的輪廓線誤差。因為非TBC運動控制獨立地減小每個軸中的跟蹤誤差而沒有各軸間的任何協(xié)作,所以非TBC運動系統(tǒng)可考慮情況1比情況2更理想。當輪廓線被分解到x/y/z軸并變成三個基于時間的軸軌跡時,重要的運動學信息,例如向心加速度信息,可能會丟失。在無向心加速度信息(即,區(qū)分弧運動與線移動的因素)的情況下,真弧運動是不可能的。而且,因為向心力的影響不能被補償,所以實際工具位置可能由于向心力而在徑向方向上向外偏離。在非TBC運動控制中,每個軸的動態(tài)響應會影響造型性能。如果動力學彼此不匹配,例如某個軸比其他軸響應更快,或某個軸比其他軸響應更慢,則實際輪廓線會失真或偏離所需的輪廓線。TBC運動控制結構TBC運動控制不涉及將三維輪廓線分解為三個獨立的基于時間的軸軌跡。而是,TBC運動控制可比較實際輪廓線位置與參考輪廓線,并確定控制信號以最小化輪廓線誤差。TBC運動控制結構的一個實施例在圖39中示出,其中所有信號是矢量并由粗線表示。相反,在圖37所示的非TBC運動控制結構中,信號是標量并由細線表示。圖39的TBC運動控制結構可采用基于輪廓線的反饋加上前饋控制。輪廓線跟蹤可以是閉環(huán)的,并且真弧運動是可能的。也就是,工具可被命令以遵循弓形軌跡而不是由接近彎曲軌跡的一系列線段形成的軌跡。TBC運動控制可以不是時間確定的,并且能夠?qū)崟r地進行饋送速率調(diào)整。在每個控制循環(huán),諸如每200微秒,控制器可讀取實際輪廓線位置反饋,比較實際位置與參考輪廓線,并找出參考輪廓線上最接近實際位置的點。該點被定義為理想當前位置(ICP)??刂破骺砂ㄈ鐖D40所示并在下面描述的三個功能組塊前饋、反饋和粘性摩擦/齒隙補償。在每個控制循環(huán),控制器可基于ICP(包括法向和切向上的加速度和速度)計算所需的運動,并可包括前饋控制器以將所需運動轉(zhuǎn)換為速度控制信號。也可加入運行時間饋送速率調(diào)整器以調(diào)整饋送速率(速度)用于公差控制目的??刂破饕部稍诿總€循環(huán)計算法向和切向上的跟蹤誤差。法向上的誤差是從實際輪廓線位置到ICP的距離,即公差誤差或輪廓線誤差。切向上的誤差被定義為ICP滯后的路徑長度量。因為法向誤差會對系統(tǒng)性能很重要,所以TBC控制器可包括用于法向和切向誤差的兩個不同的反饋控制器,并可將跟蹤誤差轉(zhuǎn)換為速度控制信號。粘性摩擦和齒隙補償可進一步改善機床的精度。與非TBC運動控制相比,TBC運動控制的優(yōu)點是閉環(huán)結構。閉環(huán)輪廓線跟蹤控制可協(xié)調(diào)三個軸并最小化輪廓線誤差。例如,如果x軸具有大阻力并落在其參考軌跡后面,則其它兩個軸可減緩以匹配x軸運動,使得實際輪廓線遵循參考輪廓線。TBC運動內(nèi)核也可實現(xiàn)真弧運動,因為可在控制中考慮向心加速度。因為每個控制循環(huán)的所需運動基于輪廓線,ICP,和當前系統(tǒng)條件,諸如公差誤差,所以系統(tǒng)可以不再是時間確定的。然而,實時饋送速率調(diào)整是可能的。當輪廓線/公差誤差在規(guī)定值以下時,可增加系統(tǒng)饋送速率。相反,當輪廓線/公差誤差超過規(guī)定值時,可減小饋送速率使得誤差也得以減小。換句話說,為了最優(yōu)的系統(tǒng)運行時間或吞吐量,系統(tǒng)可最大化饋送速率同時將輪廓線/公差誤差保持在規(guī)定的范圍內(nèi)。運動內(nèi)核可從前瞻隊列208接收運動命令。在由運動內(nèi)核執(zhí)行前,運動命令可經(jīng)歷公差理解處理,數(shù)據(jù)壓縮,數(shù)據(jù)平滑,和前瞻處理。每個命令可攜帶TBC控制所需的公差值和S曲線計算的停止距離。運動內(nèi)核可在確保確定性響應的RTSS環(huán)境中每200微秒被執(zhí)行一次。圖16示出了用于執(zhí)行運動內(nèi)核的本發(fā)明的方法1600的一個實施例。在第一步驟1602中,從前瞻隊列208中取得元素。該元素可以是接下來要執(zhí)行的運動命令。然后,在歩驟1604中,可以使用例程來初始化并計算執(zhí)行剛剛在歩驟1602中取得的命令所需的某些變量和參數(shù)。在歩驟1606,執(zhí)行作為運動內(nèi)核的主要部分的例程。步驟1606的例程可執(zhí)行預測性運動,真弧移動,公差控制和s曲線計算。在步驟1608中,例程可確定是否當前運動命令的執(zhí)行已經(jīng)完成。如果是這樣,則操作返回到步驟1602以從前瞻隊列208中取得另一運動命令。如果不是這樣,則操作返回到步驟1606以繼續(xù)執(zhí)行預測性運動,真弧移動,公差控制和S曲線計算。步驟1606可包括下面參考圖39和40描述的二十個子步驟,以便將運動命令轉(zhuǎn)換為伺服放大器數(shù)字模擬轉(zhuǎn)換器(DAC)命令,或供脈沖寬度調(diào)制及數(shù)字控制和驅(qū)動使用的伺服放大器命令。這二十個子步驟可在伺服220內(nèi)執(zhí)行。在步驟1中,獲得當前工具位置,并且該位置可以是經(jīng)過導螺桿和齒隙補償?shù)?。位置幾何分析是在步驟2中執(zhí)行的。更特別地,可做出四個計算弧或線軌跡上的理想當前位置;當前切向運動方向;偏離理想位置的位置偏差;和公差誤差。歩驟3包括執(zhí)行滯后距離延遲補償??梢杂嬎阊a償系統(tǒng)中的時間延遲所需的滯后距離,并且可將該滯后距離加到用于通過S曲線計算速度的停止距離上。S曲線速度控制是在歩驟4中執(zhí)行的??梢愿鶕?jù)S曲線將工具速度計算為停止距離的函數(shù)。輸出的是值在O和1之間的相對速度。改進的Laplace變換和切向預測性控制是在步驟5中執(zhí)行的。當前速度可通過改進的Laplace變換來估計。可加入切向預測性控制。歩驟6包括軸的速度控制。可為每個軸計算速度分量。該計算可基于步驟4中計算的速度和步驟2中計算的切向移動方向。加速度是在步驟7中估計的。可以估計向心力以及向心補償?shù)难a償矢量。步驟5至7的順序(即序列)是任意的,并且可以在程序代碼中改變。步驟8包括向心預測性補償,其中向心補償矢量可加到速度上。歩驟9包括統(tǒng)計分析并可用于研究。在歩驟10,計算當前移動方向。為了查找導螺桿映射表以實現(xiàn)導螺桿/齒隙位置補償,可能會需要當前移動方向。步驟ll包括粘性摩擦估計,在該操作中估計誤差速度。步驟12包括隨機誤差校正和粘性摩擦校正??捎嬎汶S機誤差校正矢量,并且可將粘性摩擦加到其中。運行時間速度調(diào)整是在步驟13中執(zhí)行的。確定位置誤差是否在安全公差水平內(nèi)。如果在,則可禁用速度減緩函數(shù)。如果不在,則可啟用速度減緩函數(shù),這可相應地減小速度。步驟14包括可變增益計算,在該操作中可計算恒定增益,第一階增益,第二階增益,和組合增益。在步驟15中,可分析、補償和/或消除機器振動。隨機誤差校正可在歩驟16中執(zhí)行。隨機誤差校正矢量可乘以組合增益。隨機誤差校正矢量可被截短和/或應用于速度。在步驟17中,速度誤差可使用改進的Laplace變換來減小。歩驟18包括電機飽和保護。DAC電壓變化可在每個循環(huán)檢測。DAC電壓值如果太高則可被截短。速度協(xié)調(diào)可在歩驟19中執(zhí)行。可以使軸的機器移動與不均勻最大速度協(xié)調(diào)。在歩驟290,可以發(fā)送范圍在-10到+10伏的速度命令以便控制速度。下面的表示出了在將三種類型的運動命令轉(zhuǎn)換為伺服放大器DAC命令時執(zhí)行了二十個步驟中的哪些。"快線(RapidLine)"運動命令啟動直線移動,該直線移動可以以最大饋送速率為移動中的每個軸執(zhí)行??炀€命令總是停止在移動的終點,而線命令不會。快線命令可用于盡可能快地移動工具至給定點。<table>tableseeoriginaldocumentpage67</column></row><table><table>tableseeoriginaldocumentpage68</column></row><table>TBC運動內(nèi)核可配置在廣泛類型的CNC機器平臺上。類似于其他CNC控制器,可調(diào)整參數(shù)以優(yōu)化特定加工平臺或環(huán)境的控制性能。這些參數(shù)的調(diào)整被稱為"調(diào)諧"。本發(fā)明包括五類調(diào)諧參數(shù),包括S曲線控制參數(shù),平滑/壓縮控制參數(shù),電機速度調(diào)整參數(shù),動態(tài)控制增益,和速度/半徑公差關系查找表。S曲線控制參數(shù)可在合理的范圍內(nèi)調(diào)整,以便實現(xiàn)最大可允許速度,最大可允許加速度,最大可允許減速度,最大可允許啟動急動,和/或最大可允許結束急動。平滑/壓縮控制參數(shù)也可在合理的范圍內(nèi)調(diào)整,以便實現(xiàn)第一階平滑長度限制(比該值長的區(qū)段沒有被平滑),第一階平滑角度限制(大于該值的角度沒有被平滑),第二階平滑長度限制,和/或數(shù)據(jù)壓縮關/開控制。電機速度調(diào)整參數(shù)可手動調(diào)整以實現(xiàn)M-乘法器(即,在最大電壓的Xy。處觀察到最大速度的XM),和/或每個軸的B-常數(shù)漂移(constantdrifting)調(diào)整器(電子零補償)。動態(tài)控制增益可為機器類別預設,并可按需要手動修改。動態(tài)控制增益可包括時間/響應增益參數(shù)。時間/響應增益參數(shù)的過高的值會引起振蕩,并且低值會引起慢/軟運動響應。最后,速度/半徑公差關系查找表可為機器的每個類別預設,并可按需要手動調(diào)整。上述調(diào)諧參數(shù)可與其他系統(tǒng)配置參數(shù)一起列在配置文件中,該配置文件可在系統(tǒng)配置期間被讀取和解譯。TBC幾何分析運動命令預分析在執(zhí)行任何運動命令之前,TBC運動內(nèi)核可加載命令并分析幾何結構。停止地平面法向(SPN)方向和停止地位置可在預分析中計算并可在整個執(zhí)行周期期間使用,直到該運動命令結束。對于線運動,可以如等式(6)指示的那樣和圖41中顯示的那樣計算SPN,其中圖41示出了線運動幾何預分析(6),,二夕廣氣ll^—^ll對于弧運動,可以如等式(7)指示的那樣和圖42中顯示的那樣計算SPN,其中圖42示出了弧運動幾何預分析,這里APN代表弧平面法線方向的單位方向矢量,且C代表弧的中心。(7)S7W,=-JiWx,,-1一C,in可以如等式(8)指示的那樣,為線運動和弧運動計算停止地位置Psi。(8)/^=KSiW,.實時幾何分析在每個控制循環(huán),TBC運動內(nèi)核可讀取實際輪廓線(工具)位置反饋Ptl并比較實際位置與參考輪廓線以尋找理想當前位置(ICP),輪廓線/公差誤差(en)禾n(到停止地的)distance—to—god。對于線運動,幾何結構在圖43中示出,其示出線運動幾何分析,并可如等式(9)和(10)指示的那樣計算。(9)"<戶//-尺"',5授>(10)e=(尸//-尸W)-"/W其中〈a,b〉是矢量a和矢量b的內(nèi)積。因此,如果a呵xa,ya,za],并且b=[xb,yb,zb],那么〈a,b〉=xa*xb+ya*yb+za*zb。ft/是工具位置,尸w.是i運動段的停止地位置,并且S戶W是停止地平面法線(SPN)方向的單位方向矢量。等式(9)可解釋為距離d,其等于SPN方向上的長度ra-M對于弧運動,因為實際輪廓線或工具位置可能不在弧平面上,所以可首先將工具位置投影到弧平面上,可以如等式(11)指示的那樣和圖44a-b中顯示的那樣計算,它們示出了弧運動幾何分析。=—Cz)"<戶/7-C/,J尸iV〉'J/W等式(11)可以解釋為P'tl,其等于單位弧平面法向矢量APN乘以矢量(Ptl-Ci)和矢量〈Ptl-Ci,APN〉之間的差。矢量P,tl是(Ptl-Ci)在弧平面上的投影。一旦在弧平面上找到矢量P'tl,則ICP,單位切向和徑向矢量dt和dr,以及輪廓線/公差誤差en(也稱為法向誤差)可如等式(12),(13),(14)和(15)中指示的那樣確定。(13)/CP=C/+i.t/r(14)A^rxAW(15)e=P"-/CP為了計算distance—to—go,g口,從ICP到停止地的路徑長度,可以首先計算ICP和目標點Pi之間的弧長度。可將大于180度的任意弧切割為兩個弧。distance—to—go可使用下面的三個等式(16),(17)和(18)來計算。等式(16),(17)和(18)的變量的意義可以參考圖44a-b識另L(16)<formula>formulaseeoriginaldocumentpage71</formula>(17)<formula>formulaseeoriginaldocumentpage71</formula>(18)<formula>formulaseeoriginaldocumentpage71</formula>TBCS曲線控制器S曲線加速度提供非線性加速方法,其軟化和平滑穩(wěn)速階段和加速/減速階段之間的過渡。其被稱為"S曲線",因為速度分布圖的加速/減速部分是S形的而非線性的。S曲線速度分布圖通常具有七個階段增加加速度;恒定加速度;減小加速度;穩(wěn)速;增加減速度;恒定減速度;和減小減速度。非TBC運動控制系統(tǒng)可使用S曲線來產(chǎn)生參考軌跡,g卩,調(diào)度位置,速度,加速度等。S曲線是基于時間的,并在控制回路(實時部分)外部實現(xiàn)。TBCS曲線控制器可不同于非TBCS曲線控制器。在每個控制循環(huán),基于要移動的距離,TBCS曲線控制器可計算沿參考輪廓線軌跡所需的速度和加速度。TBCS曲線控制器可以是基于距離的并實現(xiàn)為實時處理。速度可在每個控制循環(huán)從瞬時路徑距離計算。該機制可減小速度誤差積累,并且也可支持某些實時請求,諸如實時饋送速率調(diào)整,饋進超調(diào),暫停,繼續(xù)和單步。TBCS曲線控制器的操作方法4500的一個實施例的流程圖在圖45中示出。在第一步驟4502中,檢查標記以察看是否當前系統(tǒng)狀態(tài)是"加速"或"減速"。如果狀態(tài)是減速,則操作進入歩驟4512。另一方面,如果當前狀態(tài)是"加速",則在步驟4504中計算stop—distance—required。stop—distancejequired可定義為在系統(tǒng)使工具停止之前,工具根據(jù)S曲線將要行進的最小距離。該停止距離可以是當前速度和加速度的函數(shù)。在步驟4506,如果給定的distance—to—go"d"大于stop—distance—required"d0",這意味著繼續(xù)向前移動是安全的,那么操作進入到步驟4512以計算所需的加速度和速度。否則,如果distance—to—go"d"小于stop—distance—required"d0",這意味著系統(tǒng)必須立即制動,則計算制動信息并在步驟4508中將標記設定為減速。因為根據(jù)原始S曲線(具有預設的最大急動和加速度),distance—to—go"d"對于系統(tǒng)制動不足夠大,所以最大急動可在步驟4510中修改,使得系統(tǒng)不會過沖。可用來檢測S曲線階段的兩個距離dl和d3,也可在步驟4510中更新。步驟4512可被認為是S曲線控制器的核心。根據(jù)當前系統(tǒng)狀態(tài)和預先計算的臨界距離,S曲線階段,所需的速度和加速度可在步驟4512中確定。因為S曲線控制器實時地運行,所以要注意確保控制器不會耗盡數(shù)據(jù)。當隊列處的運動命令的總移動距離變得太短時,系統(tǒng)可能需要減緩以防止數(shù)據(jù)缺乏。在步驟4516中,應用實時饋送速率調(diào)整和用戶覆寫。在步驟4518中,應用先進的非線性急動-加速度-速度(JAV)濾波器以除去速度信號中的噪聲。TBC前饋控制前饋信號和增益前饋可基于理想當前位置(ICP)。三個前饋部分的計算,即,法向加速度FFan,切向速度FFvt,和切向加速度FFat在圖46中示出,其中圖46示出了速度和加速度前饋。在圖46中,"d"表示從幾何分析獲得的distance—to—go;并且dt和dr分別表示單位切向和徑向/法向矢量。在滯后距離補償組塊4602中,可計算補償系統(tǒng)中的時間延遲所需的滯后距離并將其加到distance—to—go上以得到補償距離。S曲線控制器4604可接收補償?shù)木嚯x并計算沿軌跡的所需速度v和加速度a(v和a都是標量)。線4606上的加速度可乘以單位切向矢量dt4608以產(chǎn)生切向加速度矢量at4610。前饋增益Kaff可將切向加速度at轉(zhuǎn)換為伺服系統(tǒng)可接受的控制信號FFat。改進的Laplace組塊4612可估計當前速度,比較當前速度與上一速度命令,并將預測性補償加到S曲線速度命令v中以減小切向跟蹤誤差。補償?shù)乃俣让畛藛挝磺邢蚴噶縟t4608并變成切向速度矢量vt4614。因為伺服系統(tǒng)采用速度控制命令,所以不需要進一步轉(zhuǎn)換速度矢量。前饋增益1at4616產(chǎn)生信號FFvt并可使所有信道能夠處于同一水平。向心加速度an4618可通過圓周運動物理學計算,即"=^%。向心加速度可指向弧的中心并與徑向/法向方向相反。與應用于切向加速度的前饋增益相同的前饋增益Kaff可被應用以將法向加速度轉(zhuǎn)換為適合的控制信號FFan。運行時間饋送速率調(diào)整器(p)運行時間或"實時"饋送速率調(diào)整器是TBC運動控制獨有的特征,并且在其他控制系統(tǒng)中無法獲得。非TBC的基于時間的控制策略的參考輪廓線軌跡被預定在控制回路外部,且在控制回路內(nèi)不能進行修改。相反,TBC運動內(nèi)核可以沒有任何預定的參考軌跡,且所需的運動可基于當前系統(tǒng)條件在每個控制循環(huán)中在控制回路內(nèi)確定。因此,運行時間饋送速率調(diào)整器是可能的。實際當前位置和理想當前位置之間的差可被定義為瞬時隨機位置誤差或公差誤差。瞬時隨機位置誤差,也被簡稱為"位置誤差",可被認為是實際當前位置偏離所需線/弧軌跡的偏差。運行時間饋送速率調(diào)整器可比較位置/公差誤差與規(guī)定的誤差公差。如果位置誤差大于或太接近于規(guī)定的誤差公差,則運行時間饋送速率調(diào)整器可減緩饋送速率以改善跟蹤精度。另一方面,如果誤差小于或不太接近于規(guī)定的公差,則運行時間饋送速率調(diào)整器可增加饋送速率以改善系統(tǒng)吞吐量。通常,如果位置誤差在規(guī)定的誤差公差以下,則可增加工具的速度,并且如果位置誤差在規(guī)定的誤差公差以上,則可減小工具的速度。在一個實施例中,即使輪廓線誤差非常小也可不增加饋送速率,但是可以保持適當?shù)卦黾踊驕p小饋送速率的能力。運行時間饋送速率調(diào)整器可以是受限的最優(yōu)化機構。也就是,在規(guī)定范圍內(nèi)的輪廓線/公差誤差的限制下,運行時間饋送速率調(diào)整器可最大化饋送速率以實現(xiàn)最優(yōu)系統(tǒng)吞吐量。TBC反饋控制具有可變增益(T)的法向誤差反饋控制法向誤差en,或輪廓線/公差誤差,可定義為從當前工具位置到參考輪廓線的最短距離,并且TBC運動控制可減小該誤差。因為這是三維誤差,所以可能需要三個軸一起協(xié)調(diào)的運動來校正它。當軌跡和計算中包括有旋轉(zhuǎn)軸形式的附加軸時,誤差也可以是五維或六維的。因此,雖然下面的討論中提到的是三維或三個軸,但應該理解的是,該討論也可同等地適用于包括多于三維和多于三個軸的多維系統(tǒng)。TBC和非TBC控制之間的基本差異是,非TBC控制通常將三維參考輪廓線軌跡分解為三個獨立的軸運動,并控制三個軸而無需輪廓線/公差誤差的任何知識。相反,TBC運動控制可直接解決三維輪廓線/公差誤差。工具的實際位置可沿三個軸中的每個軸被感測。然后可以計算工具在三個軸的每個軸上的實際位置與工具在三個軸的每個軸上的所需位置之間的三維位置誤差??僧a(chǎn)生取決于計算的三維位置誤差的三維位置誤差信號。工具的速度和/或方向可取決于三維位置誤差信號而被控制。如本文中描述的那樣,并且如本文中以多個實例示出的那樣,三維位置誤差可利用矢量數(shù)學來計算。根據(jù)上面的描述,清楚的是,TBC控制可使沿一個軸的運動能夠?qū)崟r地影響沿另兩個軸的運動控制,即,在不同軸的運動控制之間可以存在互相耦合。非TBC運動控制可能不包括補償軸間的影響,諸如向心力,但TBC運動控制可以。由于缺少向心力的補償,由非TBC方法控制的工具可系統(tǒng)地從所需的弓形軌跡沿徑向向外移動。如圖47所示,其示出了法向誤差的可變增益反饋控制,TBC運動控制可使用可變增益反饋控制以解決法向誤差。該誤差可在實時幾何分析4002中計算(圖40)??臻g反饋控制器Cn可提供系統(tǒng)穩(wěn)定性并減少法向誤差??勺冊鲆鎀4702可以是切向速度和法向加速度二者的函數(shù)。泛泛地說,系統(tǒng)移動得越快,校正法向誤差所需的增益就越大。增益越大,法向誤差就可以越快地得到校正。切向誤差反饋控制在每個控制循環(huán),TBC可產(chǎn)生切向速度命令。切向速度命令的積分可產(chǎn)生參考輪廓線上的位置,該位置可被認為是參考輪廓線上的當前目標點。切向誤差可定義為從理想當前位置(ICP)到當前目標點的路徑長度。反饋控制器Ct4004(圖40)可減小切向誤差。兩種反饋控制的不同動態(tài)響應TBC反饋控制可包括兩個部分切向誤差反饋控制和法向誤差反饋控制。不是同樣或同等地處理這兩種誤差,而是可為誤差提供兩個反饋控制器,每個反饋控制器解決兩個誤差中相應的一個。對兩種誤差進行不同的處理的第一個原因是,就跟蹤精度和表面光潔度質(zhì)量而言,法向誤差比切向誤差更重要,因此可對法向誤差設置更大的權重。對兩種誤差進行不同的處理的第二個原因是,伺服系統(tǒng)具有有限的功率,并且合乎需要的是首先使用功率來做更重要的事。因此,兩個不同的反饋控制器可用來處理法向和切向誤差。法向誤差回路可具有更高的帶寬或更快的動態(tài)響應。泛泛地說,可使用比切向誤差更大的伺服功率來校正法向誤差,且法向誤差可比切向誤差更快地得到減小。TBC粘性摩擦和齒隙補償粘性摩擦可對運動控制具有相當?shù)挠绊?。為了校正粘性摩擦的影響,TBC運動內(nèi)核可使用粘性摩擦補償器。該補償器可在軸改變其運動方向(即穿過零速度點)時被觸發(fā)。補償輪廓可具有凹口形狀,凹口的高度和寬度是速度和軌跡的局部曲率的函數(shù)。導螺桿可用在機床中作為機械傳動裝置以將旋轉(zhuǎn)運動轉(zhuǎn)換為線性運動。滾珠絲桿和齒隙的誤差需要得到補償。運動內(nèi)核所使用的位置值可以全都是根據(jù)導螺桿映射表進行過導螺桿和齒隙補償?shù)?。補償組塊可確定當前移動方向,其可能被需要以用于査找導螺桿映射表以實現(xiàn)導螺桿/齒隙位置補償。補償組塊也可補償粘性摩擦。TBC控制信號保護TBC運動控制信號可以是前饋控制信號,反饋控制信號和粘性摩擦補償信號的總和。在通過數(shù)字模擬轉(zhuǎn)換器(DAC)發(fā)送控制信號至伺服系統(tǒng)之前,可執(zhí)行保護程序以避免機器的過載。保護程序可包括兩個步驟,包括限制控制信號改變速率的第一步驟。伺服系統(tǒng)可接收速度命令,并且控制信號改變速率可對應于加速度/減速度。雖然s曲線控制器可考慮加速度/減速度,但整個控制信號仍有可能由于其他原因(諸如跟蹤誤差反饋,擾動,粘性摩擦補償,等等)而改變太快。為了避免超過伺服系統(tǒng)容量和為了平滑的運動,控制信號改變速率可被限制。也就是,如果當前和前面的控制命令之間的差別超過閾值,則當前命令可被限制,使得差別飽和在閾值。保護程序的第二步驟可以是限制控制信號。DAC和伺服系統(tǒng)都能夠僅接收高達最大量的受限的控制信號輸入。如果當前控制命令超過該閾值,則可采取歩驟以將當前控制命令飽和至最大控制輸入。圖17是用于加工工件1702的本發(fā)明的機器1700的一個實施例的框圖。機器1700包括形式為控制器卡的控制器1704,形式為伺服驅(qū)動1706x,1706y,1706z,1706s的致動器,切割工具1708,位置傳感器1710x,1710y,1710z和1710s(它們可以是編碼器的形式)。機床保持并攜帶切割工具1708,同時切割工具旋轉(zhuǎn)和與工件接合,如圖17中的工件和切割工具之間的虛線所示。機床為切割工具提供安裝手段和線性/旋轉(zhuǎn)驅(qū)動手段。切割工具1708是機器1700中的材料清除器,并可安裝在旋轉(zhuǎn)心軸機構(未示出)上,該旋轉(zhuǎn)心軸機構可連接到機床的z軸。切割工具相對于工件的幾何取向可由于其在z軸上的安裝位置而被固定。作為大多數(shù)運動控制卡的典型實例,控制器卡1704包括連接器1712、1714、1716和1717,用于物理地連接控制器卡1704至伺服驅(qū)動1706和位置傳感器1710,以便便于進行通信。伺服驅(qū)動1706可在x、y和z軸上移動工件1702并繞z軸旋轉(zhuǎn)切割工具1708。四個連接器1712,1714,1716,1717在控制器卡1704上繪出,每個受控的運動軸對應一個,并且切割工具1708的旋轉(zhuǎn)對應一個,但是其他配置也是可能的??刂破骺?704和伺服驅(qū)動1706之間交換的通信信號必須常常轉(zhuǎn)換為適當格式。例如,某些致動器電機使用-10伏和+10伏之間的模擬電壓輸入信號以確定電機應以什么速率轉(zhuǎn)動。大多數(shù)數(shù)字計算機,例如基于IntelPentium的PC,不支持模擬電壓,但利用由離散電壓水平(+5伏和0伏)表示的比特(1和0)組來表示值。因此,如果基于PC的運動控制卡將要命令電機以其最大速度(在我們的實例中為+10伏)沿順時針方向旋轉(zhuǎn),則表示該請求的比特的集合必需被轉(zhuǎn)換為電機能夠理解的+10伏信號。用于通信目的的該信號轉(zhuǎn)換是業(yè)內(nèi)標準,并且通常由控制器卡的輸入/輸出a/o)模塊執(zhí)行。在圖17中,一個I/0模塊(1718,1720和1722)是為每個受控的軸繪出的。某些控制卡包含有CPU1724和板上存儲器1726以用于執(zhí)行程序和控制算法。由DeltaTau提供的PMAC和由加利福尼亞的MountainView的GalilMotionContol有限公司提供的DMC-1700是包含CPU和存儲器的卡的典型實例。在示例性實施例中,由IndianapolisInd.的Hurco公司提供的伺服換能器5軸PCB組件(部件號415-0622-001)可用作控制卡。該Hurco伺服換能器不具有板上CPU和存儲器,但是利用計算機的CPU和存儲器,其中CPU和存儲器被插入到計算機中以用于這些服務。這兩種配置之間的差別主要在于成本,并且對實現(xiàn)本發(fā)明的基于公差的控制技術的編程者具有很小的影響。這些組件的集成和控制算法被存儲并由CPU執(zhí)行的方法,是本領域公知的。為了簡潔,該處理的細節(jié)已經(jīng)被略去。為了簡化本發(fā)明的說明,圖17顯示出物理地集成在運動控制卡1704上的CPU1724和存儲器1726。在示例性實施例中,多任務操作系統(tǒng)(OS),例如由華盛頓的Redmond的微軟公司提供的WindowsXP,可用來運行實現(xiàn)本發(fā)明的算法。實時的OS,例如由加利福尼亞的Sunnyvale的ReadySystems提供的RTX,也可用來改善算法的運行時間性能。使用什么操作系統(tǒng)和是否采用多任務范例的決定取決于手頭的應用,并且是由計算機系統(tǒng)編程和設計領域的技術人員例行公事地做出的決定。存儲器1726中包含有用于存儲與手頭的任務相關的值(1728,運動命令和允許的饋送速率;1730,NC公差命令;1732,饋送速率限制映射;1734,其他數(shù)據(jù))的數(shù)據(jù)區(qū)域,如編程領域的技術人員通常采用的一樣。位置傳感器1710x,1710y,1710z分別感測工件1702在x,y和z方向上的位置,如圖17中的位置傳感器和工件之間的虛線所示。更特別地,在一個實施例中,位置傳感器1710x,1710y,1710z分別感測驅(qū)動機床的可移動定位滑軌(未示出)的三個滾珠絲桿機構(未示出)的位置。工件被連接到一個定位滑軌,其通過所有定位滑軌的級聯(lián)安裝手段的特性,允許工件在兩個方向(即x和y方向)上移動。因此,x-y平面中工件的位置可從工件被連接到x和y定位滑軌的何處以及滾珠絲桿機構的位置的知識推導出來。通常在工件,滾珠絲桿機構和定位滑軌之間存在固定的幾何關系。假定旋轉(zhuǎn)心軸結構被連接到z軸定位滑軌,位置傳感器1710z可感測z軸(第三方向)滾珠絲桿機構的位置,這使得能夠推導出切割工具沿z軸的線性位置。位置傳感器1710s感測切割工具1708的旋轉(zhuǎn)位置,如圖17中的位置傳感器1710和切割工具之間的虛線所示。位置傳感器1710x,1710y,1710z,1710s可經(jīng)由連接器1712,1714,1716,1717發(fā)送相關的位置信號至CPU1724。因此,位置傳感器1710可提供圖1所示的位置反饋。圖25示出了上面參考圖12描述的本發(fā)明的方法2500。在第一歩驟2502中,識別目標工具路徑。在圖12所示的實例中,識別從(1,4,0)到(5,1,6)的目標工具路徑。在步驟2504,工具被命令以從初始位置遵循目標工具路徑。例如,工具可被命令以遵循從初始位置(1,4,0)至U(5,1,6)的目標工具路徑。然后,在步驟2506,工具的實際位置在命令歩驟之后被感測。在圖12的實例中,工具在點B的實際位置被感測。在最后的步驟2508中,計算從實際位置開始的目標工具子路徑以校正工具移動中的預測性誤差。例如,計算從點B處的實際位置開始的目標工具子路徑1202以校正工具移動中的預測性誤差。例如,被校正的預測性誤差可在沿點A和F之間的路徑上的任何位置處出現(xiàn)。進一歩,預測性誤差可早在目標工具路徑被識別之前就根據(jù)經(jīng)驗確定。圖26示出了上面參考圖12描述的本發(fā)明的另一方法2600。在第一步驟2602中,工具移動中的預測性誤差是根據(jù)經(jīng)驗確定的。在圖12所示的實例中,工具移動中的預測性誤差可已經(jīng)通過測試在機床到達(1,4,0)之前或在機床甚至已經(jīng)到達工件附近區(qū)域之前根據(jù)經(jīng)驗確定。例如,根據(jù)經(jīng)驗的確定可發(fā)生在實驗室中,制造工廠中,或這兩種類型的環(huán)境的組合中。預測性誤差的確定可取決于例如環(huán)境溫度和/或濕度。在步驟2604中,工具的實際移動被監(jiān)視。例如,位置傳感器1710可感測機床1708的位置并發(fā)送相關的位置信號至CPU1724,如上所述。在最后的步驟2606中,工具的實際移動是取決于根據(jù)經(jīng)驗確定的預測性誤差和工具實際移動中的隨機誤差而被控制的。例如,可通過伺服放大器1706指引工具沿著目標工具子路徑(諸如子路徑1202)移動。圖27示出了上面參考圖12描述的本發(fā)明的另一方法2700。在第一步驟2702中,感測工具在多個順序移動中的第一移動后的實際位置。例如,位置傳感器1710可在工具1708移動后感測機床1708的位置。然后,在步驟2704中,基于感測步驟計算工具的目標位置。計算目標位置以補償工具移動中的預測性誤差和隨機誤差。例如,CPU1724可基于感測機床1708在點B的位置的位置傳感器1710來計算目標位置T??捎嬎隳繕宋恢肨以補償工具1708移動中的預測性誤差和隨機誤差。可計算目標位置T以最大化點C的概率,即伺服后的實際位置在伺服期間受到預測性誤差的影響后,處于點(1,4,0)禾tl(5,1,6)之間的目標工具路徑上的概率。在最后的步驟2706中,為工具的其他移動重復感測和計算步驟。例如,可感測工具在每個點C,D,E和F的位置,并且新目標位置可在每個這些感測歩驟之后基于每個這些感測歩驟來計算。本發(fā)明的軌跡運動控制方法的一個實施例在所附的附錄I的TBC流程圖的第1到16頁,和TBC內(nèi)核流程圖的第1到5頁中示出。雖然已經(jīng)將本發(fā)明描述為具有示例性的設計,但本發(fā)明可在本公開的精神和范圍內(nèi)進一步修改。因此本發(fā)明應涵蓋使用其一般原理的發(fā)明的任何變體、應用或改變。權利要求1.一種調(diào)整運動體的路徑數(shù)據(jù)的方法,所述方法包括以下步驟識別(2102)所述路徑數(shù)據(jù)的四個連續(xù)點,包括第一點、第二點、第三點和第四點;確定(2104)所述第二點是否適合于平滑;如果所述第二點適合于平滑,則定位(2106)由所述第一點、所述第二點和所述第四點定義的第一弧;定位(2108)由所述第一點、所述第三點和所述第四點定義的第二??;將所述第二點移動(2110)到所述第一弧和所述第二弧之間的區(qū)域中;并且用與所述第二點相關聯(lián)的至少一個弧移動替換(2112)與所述第二點相關聯(lián)的線移動。2.如權利要求1所述的方法,其中所述至少一個弧移動與先前移動和隨后的移動都相切。3.如權利要求1所述的方法,其中所述至少一個弧移動包括兩個弧移動,所述兩個弧移動彼此相切。4.如權利要求1所述的方法,進一歩包括將所述第三點移動到所述第一弧和所述第二弧之間的區(qū)域中的歩驟。5.如權利要求1所述的方法,其中所述線移動和所述至少一個弧移動也與所述第三點相關聯(lián)。6.如權利要求l所述的方法,進一步包括以下步驟識別所述第四點后面的第五連續(xù)點,確定所述第三點是否適合于平滑;如果所述第三點適合于平滑,貝l」定位由所述第二點、所述第三點和所述第五點定義的第三弧;定位由所述第二點、所述第四點和所述第五點定義的第四弧;將所述第三點移動到所述第三弧和所述第四弧之間的區(qū)域中;并且用與所述第三點相關聯(lián)的至少一個弧移動替換與所述第三點相關聯(lián)的線移動。7.—種調(diào)整運動體的路徑數(shù)據(jù)的方法,所述方法包括以下歩驟識別(1802)所述路徑數(shù)據(jù)的三個連續(xù)點;確定(1804)以下兩項中的至少一項由所述三個點定義的圓弧和在第一點與第二點之間延伸的第一線的中間部分之間的第一距離;和所述圓弧和在所述第二點與第三點之間延伸的第二線的中間部分之間的第二距離;確定所述第一線和所述第二線之間的轉(zhuǎn)角;以及如果所述第一距離和所述第二距離中的至少一個小于閾值距離,并且所述轉(zhuǎn)角大于閾值角,則對所述第二點執(zhí)行平滑。8.如權利要求7所述的方法,其中如果從所述第一點到所述第二點的第一移動包括第一線移動并且從所述第二點到所述第三點的第二移動包括第二線移動,則對所述第二點執(zhí)行平滑。9.如權利要求8所述的方法,其中所述執(zhí)行平滑的歩驟包括用至少一個弧移動替換所述第一線移動和所述第二線移動中的至少一個。10.如權利要求7所述的方法,其中所述閾值線距離約在0.0002英寸和0.001英寸之間。11.如權利要求7所述的方法,其中所述閾值角約在130度和160度之間。12.如權利要求7所述的方法,其中所述第一距離在所述圓弧和所述第一線的中點之間,并且所述第二距離在所述圓弧和所述第二線的中點之間。13.如權利要求12所述的方法,其中如果所述第一距離和所述第二距離中的每個均小于所述閾值距離,則對所述第二點執(zhí)行平滑。14.一種調(diào)整運動體的路徑數(shù)據(jù)的方法,所述方法包括以下步驟識別(1902)所述數(shù)據(jù)路徑的四個連續(xù)點,包括第一點、第二點、第三點和第四點;定位(1904)由所述第一點、所述第二點和所述第四點定義的第一?。欢ㄎ?1906)由所述第一點、所述第三點和所述第四點定義的第二弧;將所述第二點移動(1908)到所述第一弧和所述第二弧之間的區(qū)15.如權利要求14所述的方法,弧上最接近的點的方向上被移動。16.如權利要求14所述的方法,所述第一弧和所述第二弧之間的區(qū)域其中所述第二點在朝向所述第二進一歩包括將所述第三點移動到中的步驟。17.如權利要求16所述的方法,進一步包括確定所述第一點、所述第二點和所述第三點是否適合于平滑的步驟。18.如權利要求17所述的方法,其中如果所述第一點、所述第二點和所述第三點中的每個均適合于平滑,則將所述第二點移動小于所述第二點和所述第二弧之間的距離的45%的距離;如果所述第二點適合于平滑,所述第一點和所述第三點中的一個適合于平滑,并且所述第一點和所述第三點中的另一個不適合于平滑,則將所述第二點移動近似為所述第二點和所述第二弧之間的距離的45%和55%之間的距離;并且如果所述第二點適合于平滑,并且所述第一點和所述第三點都不適合于平滑,則不移動所述第二點。19.如權利要求18所述的方法,進一步包括以下步驟識別所述第四點后面的第五連續(xù)點;定位由所述第二點、所述第三點和所述第五點定義的第三?。欢ㄎ挥伤龅诙c、所述第四點和所述第五點定義的第四弧;將所述第三點和所述第四點移動到所述第三弧和所述第四弧之間的區(qū)域中。20.如權利要求16所述的方法,其中所述第二點在朝向所述第二弧上最接近的點的方向上被移動,并且所述第三點在朝向所述第三弧上最接近的點的方向上被移動。21.—種調(diào)整運動體的路徑數(shù)據(jù)的方法,所述方法包括以下歩驟識別(2002)從所述路徑數(shù)據(jù)的第一點延伸到所述路徑數(shù)據(jù)的第二點的線移動;禾口用第一弧移動和第二弧移動替換(2004)所述線移動,所述第一弧移動在所述第一點開始并在結合點終止,所述第二弧移動在所述結合點開始并在所述第二點終止。22.如權利要求21所述的方法,點與先前移動相切。23.如權利要求21所述的方法,點處與所述第二弧移動相切。24.如權利要求21所述的方法,點處與隨后的移動相切。25.如權利要求21所述的方法,其中所述第一弧移動在所述第一其中所述第一弧移動在所述結合其中所述第二弧移動在所述第二其中所述第一弧移動具有第一半徑,并且所述第二弧移動具有不同于所述第一半徑的第二半徑。26.—種處理運動體的路徑數(shù)據(jù)的方法,所述方法包括以下步驟識別(2202)沿目標路徑的多個點;確定(2204)所述運動體在最后的點處的最大可允許停止距離;確定(2206)所述運動體在所述最后的點處的最后最大可允許速度,使得所述運動體可在所述最大可允許停止距離內(nèi)停止;以及建立(2208)所述運動體在另一點處的另一最大可允許速度,使得所述運動體可在到達所述最后的點時減速到所述最后最大可允許速27.如權利要求26所述的方法,進一步包括以下步驟建立實際路徑偏離所述目標路徑的最大可允許偏差水平;確定所述運動體在所述另一點處的最大可允許公差速度,所述最大可允許公差速度取決于所述最大可允許偏差水平;和識別等于在所述另一點處的所述最大可允許公差速度和所述另一最大可允許速度中的較小者的較小速度。28.如權利要求27所述的方法,進一步包括以下歩驟建立所述運動體在所述另一點前面的點處的先前最大可允許速度,使得所述運動體可在到達所述另一點時減速到所述較小速度。29.如權利要求28所述的方法,進一步包括以下步驟取決于所述最大可允許偏差水平確定所述運動體在所述前面的點處的最大可允許公差速度;以及識別所述運動體在所述前面的點處的最大可允許公差速度和在所述前面的點處的所述先前最大可允許速度中的較小者。30.如權利要求25所述的方法,其中在所述最后的點處的所述最大可允許停止距離與所述最后的點和隨后點之間的區(qū)段長度相對應,所述隨后點與所述最后的點相鄰并位于所述最后的點的下游。31.如權利要求30所述的方法,其中所述隨后點可包括所述目標路徑的端點和角點中的一個。32.如權利要求26所述的方法,其中所述確定最后最大可允許速度的步驟包括使用S曲線來使所述最大可允許停止距離與所述最后最大可允許速度相關。33.—種處理運動體的路徑數(shù)據(jù)的方法,所述方法包括以下歩驟識別(2302)沿目標路徑的多個點;建立(2304)實際路徑偏離所述目標路徑的最大可允許偏差水平;確定(2306)沿所述目標路徑的多個位置處的所述目標路徑的曲確定(2308)所述運動體在沿所述目標路徑的每個點處的最大可允許公差速度,所述最大可允許公差速度取決于所述最大可允許偏差水平和所述曲率;確定(2310)所述運動體在最后的點處的最大可允許停止距離;確定(2312)所述運動體在所述最后的點處的最后最大可允許停止速度,使得所述運動體可在所述最大可允許停止距離內(nèi)停止;建立(2314)所述運動體在除所述最后的點之外的每個點處的另一最大可允許停止速度,使得所述運動體可在到達所述最后的點時減速到所述最后最大可允許速度;以及識別(2316)在每個點處的所述最大可允許公差速度和所述最大可允許停止速度中的較小者。34.如權利要求33所述的方法,其中在所述最后的點處的所述最大可允許停止距離與所述最后的點和隨后點之間的區(qū)段長度相對應,所述隨后點與所述最后的點相鄰并位于所述最后的點的下游。35.如權利要求34所述的方法,其中所述隨后點可包括所述目標路徑的端點和角點中的一個。36.如權利要求33所述的方法,其中所述確定最后最大可允許停止速度的步驟包括使用S曲線來使所述最大可允許停止距離與所述最后最大可允許停止速度相關。37.如權利要求33所述的方法,其中所述建立另一最大可允許停止速度的步驟包括使用S曲線來使所述另一點和所述最后的點之間的區(qū)段長度與所述另一最大可允許停止速度相關。38.如權利要求33所述的方法,其中所述建立另一最大可允許停止速度的步驟包括確保在每個所述另一點處的停止距離小于或等于與所述另一點之間的區(qū)段長度和在最后的點處的所述最大可允許停止距離的總和。39.如權利要求33所述的方法,進一步包括以下步驟以在每個點處的所述最大可允許公差速度和所述最大可允許停止速度中的較小者移動所述運動體。40.—種處理運動體的路徑數(shù)據(jù)的方法,所述方法包括以下步驟識別(2402)沿目標路徑的多個點,所選的每兩個點被分開相應的區(qū)段長度;確定(2404)所述運動體在最后的點處的最大可允許停止距離;和確定(2406)所述運動體在另一點處的最大可允許速度,使得所述運動體在所述另一點處的所需停止距離等于或小于所述最后的點處的所述最大可允許停止距離和所述另一點與所述最后的點之間的區(qū)段長度的總和。41.如權利要求40所述的方法,進一步包括以下步驟建立實際路徑偏離所述目標路徑的最大可允許偏差水平;確定所述運動體在所述另一點處的最大可允許公差速度,所述最大可允許公差速度決定于所述最大可允許偏差水平;以及識別等于在所述另一點處的所述最大可允許公差速度和所述最大可允許速度中的較小者的較小速度。42.如權利要求41所述的方法,進一步包括以下步驟建立所述運動體在所述另一點前面的點處的先前最大可允許速度,使得所述運動體在所述前面的點處的所需停止距離等于或小于在所述最后的點處的所述最大可允許停止距離和所述前面的點與所述最后的點之間的區(qū)段長度的總和。43.如權利要求42所述的方法,進一步包括以下步驟取決于所述最大可允許偏差水平確定所述運動體在所述前面的點處的最大可允許公差速度;以及識別所述運動體在所述前面的點處的最大可允許公差速度和在所述前面的點處的所述先前最大可允許速度中的較小者。44.如權利要求41所述的方法,進一步包括確定沿所述目標路徑的多個位置處的所述目標路徑的曲率,其中所述運動體在所述另一點處的所述最大可允許公差速度取決于所述曲率。45.如權利要求40所述的方法,其中在所述最后的點處的所述最大可允許停止距離與所述最后的點和隨后點之間的區(qū)段長度相對應,所述隨后點與所述最后的點相鄰并位于所述最后的點的下游。46.如權利要求45所述的方法,其中所述隨后點可包括所述目標路徑的端點和角點中的一個。47.如權利要求40所述的方法,其中所述確定在所述另一點處的最大可允許速度的歩驟包括使用S曲線來使在所述另一點處的所需停止距離與在所述另一點處的所述最大可允許速度相關。48.—種操作運動體的方法,所述方法包括以下步驟識別(2502)目標路徑;命令(2504)所述運動體從初始位置遵循所述目標路徑;在所述命令步驟后感測(2506)所述運動體的第一實際位置;以及從所述第一實際位置計算(2508)第一目標子路徑以校正所述運動體的移動中的預測性誤差。49.如權利要求48所述的方法,進一步包括根據(jù)經(jīng)驗確定所述運動體的移動中的所述預測性誤差的歩驟,所述根據(jù)經(jīng)驗的確定歩驟在所述識別步驟之前進行。50.如權利要求48所述的方法,其中計算所述目標子路徑以補償所述運動體從所述初始位置到所述實際位置的移動中的隨機誤差。51.如權利要求48所述的方法,其中所述計算步驟取決于所述運動體的所述第一實際位置偏離所述目標路徑的偏差。52.如權利要求48所述的方法,進一步包括以下歩驟指引所述運動體遵循所述第一目標子路徑;在所述指引步驟后感測所述運動體的第二實際位置;以及計算第二目標子路徑以校正所述運動體的移動中的誤差。53.如權利要求48所述的方法,進一步包括以下歩驟確定在所需時間段內(nèi)以所需最終速度完成所述第一目標子路徑所需的加速度。54.如權利要求48所述的方法,進一歩包括計算沿所述第一目標子路徑的所需加速水平的步驟。55.如權利要求48所述的方法,其中所述計算步驟包括弧運動的向心力補償,切向加速度補償,粘性摩擦補償,導螺桿和齒隙補償,心軸軟度補償,和系統(tǒng)延遲補償中的至少一個。56.如權利要求48所述的方法,其中所述運動體在所述計算步驟期間繼續(xù)移動經(jīng)過所述第一實際位置。57.—種操作運動體的方法,所述方法包括以下步驟根據(jù)經(jīng)驗確定(2602)所述運動體的移動中的預測性誤差;監(jiān)視(2604)所述運動體的實際移動;和取決于所述根據(jù)經(jīng)驗確定的預測性誤差和所述運動體的實際移動中的隨機誤差,來控制(2606)所述運動體的實際移動。58.如權利要求57所述的方法,進一步包括命令工具從初始位置遵循目標路徑的步驟,包括在所述命令步驟后感測所述運動體的第一實際位置的監(jiān)視步驟,包括從所述第一實際位置計算第一目標子路徑以校正所述運動體的移動中的所述預測性誤差和所述隨機誤差的控制步驟。59.如權利要求58所述的方法,其中所述計算第一目標子路徑的步驟取決于所述運動體的所述第一實際位置偏離所述目標路徑的偏差。60.如權利要求58所述的方法,進一歩包括以下步驟指引所述運動體遵循所述第一目標子路徑;在所述指引步驟后感測所述運動體的第二實際位置;以及計算第二目標子路徑以校正所述運動體的移動中的誤差。61.如權利要求58所述的方法,進一步包括以下步驟確定在所需時間段內(nèi)以所需最終速度完成所述第一目標子路徑所需的加速度。62.如權利要求57所述的方法,其中所述根據(jù)經(jīng)驗的確定步驟在所述監(jiān)視步驟和所述控制步驟之前進行。63.如權利要求57所述的方法,其中所述控制步驟包括補償所述預測性誤差和所述隨機誤差。64.如權利要求57所述的方法,進一步包括計算所述運動體的所需加速水平的歩驟。65.如權利要求57所述的方法,其中所述控制步驟包括弧運動的向心力補償,切向加速度補償,粘性摩擦補償,導螺桿和齒隙補償,心軸軟度補償,和系統(tǒng)延遲補償中的至少一個。66.—種操作具有多個順序移動的運動體的方法,所述方法包括以下步驟在所述運動體的第一移動后感測(2702)所述運動體的實際位置;基于所述感測步驟計算(2704)所述運動體的目標位置,所述目標位置被計算以補償所述運動體的移動中的預測性誤差和隨機誤差;以及為所述運動體的其它移動重復(2706)所述感測和計算步驟。67.如權利要求66所述的方法,其中所述預測性誤差是根據(jù)經(jīng)驗確定的。68.如權利要求66所述的方法,其中所述預測性誤差是在所述感測和計算歩驟之前根據(jù)經(jīng)驗確定的。69.如權利要求66所述的方法,其中所述目標位置被計算以補償所述運動體在所述第一移動和所述其它移動中的預測性誤差。70.如權利要求66所述的方法,進一歩包括確定在所需時間段內(nèi)以所需最終速度到達所述目標位置所需的加速度。71.如權利要求66所述的方法,其中所述計算歩驟包括弧運動的向心力補償,切向加速度補償,粘性摩擦補償,導螺桿和齒隙補償,心軸軟度補償,和系統(tǒng)延遲補償中的至少一個。72.如權利要求66所述的方法,其中所述運動體在所述計算步驟期間繼續(xù)移動經(jīng)過所述實際位置。73.—種操作運動體的方法,所述方法包括以下歩驟感測(2702)所述運動體的實際位置;計算(2704)所述運動體的所述實際位置和所述運動體的所需位置之間的位置誤差;比較(2602,2604)所述位置誤差與規(guī)定的誤差公差;以及取決于所述比較步驟調(diào)整(2606)所述運動體的速度。74.如權利要求73所述的方法,其中所述調(diào)整步驟包括如果所述位置誤差在所述規(guī)定的誤差公差以下則增加所述運動體的速度,并且如果所述位置誤差在所述規(guī)定的誤差公差以上則減小所述運動體的速度。75.—種操作運動體的方法,所述方法包括以下步驟感測(2702)所述運動體沿多個軸中的每個軸的實際位置;計算(2704)所述運動體在每個軸上的所述實際位置和多維參考軌跡之間的多維位置誤差;取決于所述計算步驟產(chǎn)生(2602,2604)多維位置誤差信號;以及取決于所述多維位置誤差信號控制(2606)所述運動體的速度和方向中的至少一個。76.如權利要求75所述的方法,其中所述多維位置誤差是作為矢量計算的。77.如權利要求75所述的方法,其中所述控制步驟包括使用切向誤差反饋控制器和法向誤差反饋控制器。78.如權利要求77所述的方法,其中所述控制步驟包括向所述法向誤差反饋控制器的輸出分配比分配給所述切向誤差反饋控制器的輸出的權重高的權重。79.如權利要求75所述的方法,其中所述軸包括機床的x軸、y車由禾口z車由。全文摘要本發(fā)明公開了一種調(diào)整機床的路徑數(shù)據(jù)的方法,該方法包括識別路徑數(shù)據(jù)的四個連續(xù)點。四個連續(xù)點包括第一點、第二點、第三點和第四點。確定第二點是否適合于平滑。如果第二點適合于平滑,則定位第一弧和第二弧,并將第二點移動到第一弧和第二弧之間的區(qū)域中。第一弧由第一點、第二點和第四點定義。第二弧由第一點、第三點和第四點定義。用與第二點相關聯(lián)的至少一個弧移動替換與第二點相關聯(lián)的線移動。文檔編號G05B19/41GK101180591SQ200680017942公開日2008年5月14日申請日期2006年3月23日優(yōu)先權日2005年3月23日發(fā)明者J·洪,X·譚申請人:赫克有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1