两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于避免在協(xié)作機器人之間的碰撞的方法和控制裝置的制作方法

文檔序號:2352105閱讀:909來源:國知局
專利名稱:用于避免在協(xié)作機器人之間的碰撞的方法和控制裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于避免在機器人和至少一個其它物體之間的碰撞的方法,和一種用于避免在機器人和一個或幾個其它物體之間碰撞的用于執(zhí)行本發(fā)明的碰撞避免方法的控制裝置。
背景技術(shù)
按照一般的定義,如果兩個物體A和B在同時共用同一個空間,則這兩個物體處于碰撞狀態(tài)。這就是說,在A中至少具有一點,在B中也至少具有一點,它們相對于公共的參考坐標(biāo)系具有相同的坐標(biāo)。
機器人和要避免與機器人碰撞的其它物體被統(tǒng)稱為協(xié)作機構(gòu),這是因為它們在某種工業(yè)處理中協(xié)同操作。協(xié)同操作可以是有源的(作為協(xié)作機構(gòu)的一個例子,在一個機器人和另一個機器人協(xié)作的情況下)或是無源的。由于現(xiàn)代工業(yè)機器人以相當(dāng)大的速度運動,碰撞可以導(dǎo)致機器人和由機器人處理的工件嚴(yán)重的破壞,并且可以導(dǎo)致代價高的停機。因此,如果要有效地使用工業(yè)機器人,這種碰撞就必須避免。
在由機器人和其它(可動的)物體共用的工作區(qū)域即工作單元內(nèi)可能發(fā)生多種類型的碰撞。在對碰撞進行分類時,有多個因素需要考慮,具體地說(I)相關(guān)物體的類型,即機器人/機器、靜止物體等的類型。(ii)碰撞的原因,即路徑改變檢測數(shù)據(jù)改變,編程錯誤等。(iii)生產(chǎn)階段,即碰撞是否發(fā)生在教導(dǎo)時間(手動方式)、確認(rèn)時間(自動方式)或正常生產(chǎn)期間(在應(yīng)用最好是高速應(yīng)用下的自動方式)。
無源靜止物體是一種在工作單元中固定的并具有固定的形狀的物體。無源靜止物體的例子有固定的桌子,柱子等。顯然,這些物體不受任何控制器控制。不過,可以獲得靜止的幾何模型,并儲存所述模型,使得所述碰撞可被檢查。必須在機器人本體(鏈接)和負(fù)載(工具或工件)之間進行區(qū)別。在機器人本體和物體之間可能有永久的潛在的碰撞。只要工具不和物體的坐標(biāo)聯(lián)系,便可能在工具和物體之間存在碰撞的可能。一旦建立聯(lián)系,(工具相對于物體的坐標(biāo)而運動),除非在手動操作期間,例如在教導(dǎo)階段或者在編程錯誤的情況下,在工具和物體之間便沒有碰撞的可能。
一種有源的靜止物體是一種在工作單元中固定的但具有可變的形狀的物體。有源靜止物體的例子是夾具和調(diào)色板(可變高度的)。通常機器人控制器不控制這種物體,因而它們沒有關(guān)于它們的狀態(tài)(打開/閉合,高度等)的知識。這使得檢查和這類物體的碰撞是困難的。不過,通過把物體認(rèn)為是一個其體積為由有源靜止物體可能占據(jù)的最大體積的無源靜止物體,可以估算碰撞的幾率。機器人本體和上述的負(fù)載之間的區(qū)別也適用于此。
運動的物體是一種在工作單元內(nèi)其位置(位置或方位)不是固定的物體。運動的物體的一個例子是輸送器上的盒子。檢查并避免和這種物體的碰撞需要關(guān)于其位置的在線知識。
路徑改變可以是預(yù)料的和非預(yù)料的。一種預(yù)料的路徑改變是一種在處理中固有的改變,并且在已知的邊界內(nèi)。這種改變可以是檢測數(shù)據(jù)的結(jié)果,例如,所述檢測數(shù)據(jù)使機器人在不同的周期遵從不同的路徑。非預(yù)料的路徑改變是一種或大或小的改變,當(dāng)假定在所有時間路徑都相同時,或者當(dāng)路徑超過預(yù)期的改變的某個邊界時,這種路徑改變發(fā)生。當(dāng)假定路徑恒定時發(fā)生的改變可能是由于漂移的結(jié)果,例如。超過預(yù)期改變的邊界的驚人的改變可能是檢測器故障或者不平衡誤差的結(jié)果,例如輸送器上的不可靠的零件,其處于正常位置區(qū)域之外。
此外,具有許多編程錯誤可以導(dǎo)致碰撞。這些碰撞可以在確認(rèn)階段或在正常生產(chǎn)階段發(fā)生。
碰撞也可以由于用戶錯誤或意外運動而在點的教導(dǎo)或修飾期間發(fā)生。在點被教導(dǎo)或修飾之后,因為意外的行為或者編程錯誤,在確認(rèn)期間可能發(fā)生碰撞。即使在教導(dǎo)/確認(rèn)階段沒有發(fā)生碰撞,在正常生產(chǎn)期間,因為路徑改變或者在較早的階段期間沒有出現(xiàn)的編程錯誤,仍然可能發(fā)生碰撞。之所以發(fā)生碰撞,是因為同時滿足了幾種不尋常的條件。
US6212444披露了一種關(guān)于工業(yè)機器人的避免沖突的方法。在這個文件中,機器人操縱者和另一種協(xié)同機構(gòu)通過限定公共的區(qū)域來避免彼此沖突。直到一個機構(gòu)離開公共區(qū)域,另一個機構(gòu)才能進入。不過,如果編寫的控制軟件不正確,用于避免碰撞的公共工作區(qū)域方法則失敗,因而在上述的編程錯誤的情況下可能導(dǎo)致嚴(yán)重碰撞。
其它的方法適用于離線編程,其中在工作單元內(nèi)產(chǎn)生機器(機器人和其它的協(xié)同機構(gòu))的無碰撞路徑。不過,這些方法需要機器人軌道的先驗知識。此外,在工作單元內(nèi)所有機器的軌道必須是重復(fù)的,即,軌道必須不受外部檢測器或超越的影響。
現(xiàn)有的機器人控制器通常在事實之后檢測碰撞。通過利用機器的動態(tài)模型,確定模擬電動機電流。如果實際電流超過模擬電流一個確定的門限,則假定發(fā)生了碰撞,并且關(guān)閉系統(tǒng),從而使破壞最小。

發(fā)明內(nèi)容
本發(fā)明旨在解決機器人和機器人的環(huán)境沖突問題,同時避免上述的現(xiàn)有技術(shù)的缺點。
為此,本發(fā)明提供一種上述類型的方法,所述方法包括定期地根據(jù)每個機器人關(guān)節(jié)的實際的和過去的關(guān)節(jié)位置以及速度,確定自動或手動地控制的機器人的運動的停止時間;預(yù)測在所述停止時間機器人的軌道的配置;通過用于解決機器人的元件和所述其它物體的元件的沖突的距離/沖突算法,檢查預(yù)測的配置;以及在沖突將臨的情況下,停止機器人與/或所述其它物體。
在本發(fā)明的范圍內(nèi),所述預(yù)測的配置被這樣確定利用所述停止時間,并假定機器人利用其現(xiàn)在的加速度由其現(xiàn)在的速度和位置繼續(xù)運動。因而預(yù)測的軌道一般具有不為零的速度(a speed different formzero),在這種情況下,所述的輪廓被稱為停止輪廓,盡管其一般具有不為零的速度。
為了避免碰撞,不僅在現(xiàn)在時間檢查所述配置以便避免碰撞,而且在任何不希望的接觸之前使機器安全停止所需的足夠長的將來時間檢查所述配置。
按照這種方法的進一步的發(fā)展,使機器人在其路徑上停止。因而可以從停止位置直接恢復(fù)機器人的操作,而不需進一步的位置校正或工件報廢。此外,使機器人在其路徑上停止能夠確保在使機器減速到停止時不發(fā)生碰撞。
在本發(fā)明的另一個實施例中,使機器人脫離其路徑而停止。這意味著每個軸從其實際速度跟隨一個可配置的輪廓減速到0。這可以通過短路制動來實現(xiàn),其中通過機械制動和發(fā)電機操作使電動機減速。如果因為斜坡太陡或者其它原因不能使電動機在路徑上停止,則建議采用這種制動方法。
為了預(yù)測或檢查碰撞,必須能夠確定機器人的元件和其它物體之間的距離。這涉及確定有關(guān)實體的幾何近似之間的距離,所述實體可以具有簡單的形狀例如盒子或球形,或者具有復(fù)雜的多面體形狀,即多面的閉合的幾何輪廓。確定凸出的多面體之間的距離的最廣泛使用的方法是Gilbert-Johnson-Keerthi(GJK)方法,這是一種迭代方法,其細(xì)分幾何體成為單純形,直到其收斂于兩個物體之間的最小距離。在近似的精度和本發(fā)明中使用的碰撞檢測算法的性能(執(zhí)行時間)之間存在折中。例如,利用封閉的圓柱體、盒子或球體近似所有類型的機器人是相當(dāng)保守的,但是能夠使得快速地執(zhí)行碰撞檢測算法。在另一方面,利用多面體近似各種機器人,這種較精確地近似鏈接的形狀導(dǎo)致碰撞檢測算法的性能的降低。因此,按照本發(fā)明的優(yōu)選實施例,幾何沖突檢測涉及確定確定幾何近似之間的距離,其具有不同的精度等級,在距離檢查中其按照所需的精度被檢查。例如,如果封閉的形狀彼此距離較遠(yuǎn),則沒有必要檢查更精確的近似。
幾何近似是一種挑戰(zhàn)性的費時的工作,不過,已經(jīng)具有可得到的商業(yè)軟件,其自動地把CAD模型轉(zhuǎn)換成可用于碰撞檢測算法的幾何文件。
避免碰撞涉及精確地確定軌道。因為工業(yè)機器人的運動輪廓足夠平滑,可以使用相當(dāng)簡單配置的預(yù)測算法預(yù)測軌道。由在現(xiàn)在和過去時間每個關(guān)節(jié)i的實際位置和實際速度,可以按照下式根據(jù)將來的關(guān)節(jié)位置θi預(yù)測關(guān)節(jié)的軌道θi=1/2γiti,s2+θ·i,0ti,s+θi,0---(1)]]>其中θi,0和 分別是在當(dāng)前時間t關(guān)節(jié)的位置和速度;γi是在t估算的關(guān)節(jié)的加速度,ti,s是停止時間。關(guān)節(jié)的加速度可以由在時刻t時的關(guān)節(jié)速度和較早的時刻t-k的關(guān)節(jié)速度計算,t-k=t-k.Δt(k=1,2,3,...),其中Δt是檢查的時間間隔,其可以等于機器人控制器的采樣周期,可以取大約12毫秒的值。關(guān)節(jié)位置θ和關(guān)節(jié)速度 分別以角度位置(度)和角速度(度/秒)給出。
按照本發(fā)明的優(yōu)選實施例,關(guān)節(jié)i的速度 利用Gear方法由當(dāng)前時刻t的關(guān)節(jié)位置θi,0和較早時刻t-k的位置估算θ·i=cf·Σk=04ckθi,-k---(2)]]>其中θi,-k=θi(t-k) 并且cr=1/(12Δt),c0=25,c1=-48,c2=36,c3=-16,c4=3類似地,關(guān)節(jié)i的加速度γi利用下式由當(dāng)前時刻t的關(guān)節(jié)速度 和較早時刻t-k的速度估算,t-k=t-k·Δtγi=cf·Σk=04ck·θ·i,-k---(3)]]>進行了試驗預(yù)測精度的研究,已經(jīng)發(fā)現(xiàn),對于典型機器人的應(yīng)用,直到240毫秒的預(yù)測時間是足夠的。
按照本發(fā)明的另一個實施例,配置預(yù)測和沖突檢查涉及由θi,stop=θ·02/(2γi,max)]]>確定關(guān)節(jié)i的停止距離,其中γi,max是關(guān)節(jié)的最大負(fù)加速度;把停止距離θi,stop加到實際位置上從而獲得在停止時間上的配置;以及確定機器人元件和所述其它物體之間在所述配置的距離。這是一種相當(dāng)保守的方法,例如,機器人的第一關(guān)節(jié)的最大速度和最大減速度可以分別是240度/秒和880度/秒2。因而,從全速開始的關(guān)節(jié)的停止角大約是33度。因而,由于大的停止距離,即使計劃的軌道實際上是無碰撞的,也可能在停止配置下預(yù)測到碰撞。
為了增加位置預(yù)測的精度,按照本發(fā)明的方法的進一步發(fā)展,對用于位置預(yù)測的關(guān)節(jié)位置和速度數(shù)據(jù)應(yīng)用濾波器。優(yōu)選地,在時域內(nèi)對數(shù)據(jù)應(yīng)用所述濾波器。在本發(fā)明的優(yōu)選實施例中,濾波器被設(shè)計成移動平均濾波器,其有效地對數(shù)據(jù)進行平滑,因而濾波器主要濾除尤其是在機器人運動突然改變方向(急拉)時出現(xiàn)的高頻分量??梢允篂V波器的長度適應(yīng)于所需的預(yù)測精度或者運動輪廓的不規(guī)則性。另一種方案是,也可以在頻域內(nèi)進行濾波。
機器人軸的停止時間取決于以下參數(shù)-軸的速度速度越高用于使機器人停止所需的時間越長。
-允許的最大減速度允許的最大減速度越大,用于使機器人停止所需的時間越短。
-機器人的配置因為機器人的慣性和配置有關(guān),給定軸的停止時間和其余的軸的值有關(guān),尤其是運動鏈系下方的軸,即朝向機器人的末端的軸。
-有效負(fù)載負(fù)載越重,因而其慣性越大,用于使機器人停止所需的時間越長。
停止時間可以由一個查看表來估算。不過,如果給定和軸的停止時間有關(guān)的參數(shù)的數(shù)量,本發(fā)明則提供一種機構(gòu),該機構(gòu)被設(shè)想用于以適合于實時應(yīng)用的方式估算軸的停止時間。
因而,為了進一步提高停止時間估算的精度和速度,并且為了使這種估算更加靈活和更加適應(yīng)于特定的情況,按照本發(fā)明的進一步的發(fā)展,用于預(yù)測和沖突檢查的配置涉及使用至少一個神經(jīng)網(wǎng)絡(luò),用于估算機器人的軸的停止時間。在優(yōu)選實施例中,一個神經(jīng)網(wǎng)絡(luò)被用于每個機器人關(guān)節(jié)。
在這方面,按照本發(fā)明的方法使用多層的向后傳播的神經(jīng)網(wǎng)絡(luò)(NN)。所述神經(jīng)網(wǎng)絡(luò)取影響軸的停止時間的參數(shù)作為輸入,并產(chǎn)生軸的停止時間的估算。所述神經(jīng)網(wǎng)絡(luò)利用從機器人測量的數(shù)據(jù)進行訓(xùn)練。設(shè)置的訓(xùn)練數(shù)據(jù)應(yīng)當(dāng)覆蓋參數(shù)的整個工作空間,所述參數(shù)包括由關(guān)節(jié)速度、關(guān)節(jié)角度、關(guān)節(jié)位置、機器人底座位置、機器人底座速度以及工具或負(fù)載質(zhì)量構(gòu)成的組中的一個或幾個元素。一旦神經(jīng)網(wǎng)絡(luò)被訓(xùn)練,它們便可以用于精確地估算停止時間。
US6356806 B1/DE19857436披露了一種標(biāo)準(zhǔn)的PC操作系統(tǒng)和用于機器人控制的實時操作系統(tǒng)的組合應(yīng)用。機器人和工件的幾何形狀在外部CAD或者離線模擬系統(tǒng)中被近似,并且所得的輸出文件和機器人控制器的標(biāo)準(zhǔn)PC操作系統(tǒng)一道被存儲。為了形成幾何文件,所述文件通常利用PC操作系統(tǒng)產(chǎn)生并和所述操作系統(tǒng)一道被保持,當(dāng)使用具有這種雙重的機器人控制單元的按照本發(fā)明的方法時,所述幾何文件可以被在實時操作系統(tǒng)下運行的任務(wù)訪問,所有所需的關(guān)于碰撞的信息最好被存儲在工作單元描述文件中,以便和負(fù)責(zé)控制機器人的運動的實時操作系統(tǒng)通信。
在本發(fā)明的方法的進一步發(fā)展中,工作單元描述文件含有指向用于描述在工作單元內(nèi)存在的所有物體所需的幾何近似文件的指針。
按照本發(fā)明的方法的另一個實施例,工作單元描述文件的復(fù)制品被保持在每個控制器上即在工作單元內(nèi)存在的每個協(xié)同機構(gòu)上并被更新。此外,工作單元描述文件可以至少在工作單元內(nèi)發(fā)生幾何形狀的改變,例如,對機器人安裝新的工具時被更新。這也可以在實時操作系統(tǒng)中進行。
大部分機器人應(yīng)用需要一些形式的允許的被控制的接觸,例如材料處理、焊接等。因此,控制器必須知道這些接觸不被當(dāng)作危險的導(dǎo)致機器人停止的碰撞處理。為此,在機器人和物體之間發(fā)生允許的接觸之前,例如在處理操作期間,必須建立一種聯(lián)系,使得機器人和物體在隨后的“碰撞”期間不會停止。在允許的接觸操作結(jié)束之后,這種聯(lián)系被終止。
在這方面,重要的是區(qū)別在工作單元中存在的所有機器都沿著已知的預(yù)定的軌道運動的情況和機器的軌道例如根據(jù)檢測的信息(例如攝像機等)實時地被修改的情況。其中前者被稱為同步情況,后者被稱為異步情況。這種情況也存在于例如機器人和由機器人使用的工具之間的關(guān)系中。使工作單元的元件和另一個元件相聯(lián)系,如果前者在后者上固定的一個坐標(biāo)系內(nèi)運動的話。在這種情況下,兩個元件之間的相對運動是同步的,并且在建立所述聯(lián)系時兩個元件之間不可能碰撞,即,一個元件例如第一機器人的運動將引起另一個元件例如第二機器人的相應(yīng)的運動。因而,兩個元件之間的關(guān)系是恒定的。在聯(lián)系建立之前或者在聯(lián)系被終止之后,可能存在碰撞的可能。使要和工件接觸的工具和所述工件相聯(lián)系。因此,然后其相對于固定在工件上的坐標(biāo)系運動。此時,這種操作是同步的,因而在工具和工件之間不可能碰撞。異步情況可以表示在工廠中使用工業(yè)機器人時高達(dá)90%的情況。
為了利用機器人使用上述的方法避免在機器人和至少一個其它物體之間的碰撞,本發(fā)明還提供一種控制裝置,包括用于根據(jù)每個機器人關(guān)節(jié)的實際的和過去的關(guān)節(jié)位置以及速度,定期地確定自動或手動地控制的機器人的運動的停止時間的裝置;用于定期地預(yù)測在所述停止時間機器人的軌道的配置的裝置;用于通過用于解決機器人的元件和所述其它物體的元件的沖突的距離/沖突算法,定期地檢查預(yù)測的配置的裝置;以及用于在沖突將臨的情況下,停止機器人與/或所述其它物體的裝置。
本發(fā)明的控制單元應(yīng)當(dāng)被稱為碰撞避免管理器(CAM)。CAM是一種控制器,其負(fù)責(zé)檢測工作單元內(nèi)的至少兩個元件之間的碰撞,并對碰撞作出反應(yīng)。在工作單元內(nèi)可以具有一個以上的CAM。
在另一個實施例中,按照本發(fā)明的控制裝置包括用于并行地運行兩個操作系統(tǒng)的處理器裝置,其中一個是標(biāo)準(zhǔn)的PC操作系統(tǒng),另一個是用于控制機器人的運動的實時操作系統(tǒng);所述處理器裝置用于運行用于在PC和實時操作系統(tǒng)之間進行通信的解釋程序。用這種方式,向用戶提供一種標(biāo)準(zhǔn)的用戶接口,其可以大大簡化機器人的編程。在優(yōu)選實施例中,所述處理器裝置被設(shè)計用于運行執(zhí)行碰撞避免算法的程序的各個部分。在另一個實施例中,按照本發(fā)明的控制裝置包括和兩個操作系統(tǒng)結(jié)合使用的存儲器單元,用于存儲工作單元相關(guān)的幾何數(shù)據(jù)。
如上所述,所有關(guān)于碰撞的信息(例如可能的碰撞,幾何文件的指針等)以被稱為工作單元圖(WCD)的專用工作單元描述文件的形式被存儲在CAM的存儲單元內(nèi),因而,對于每個單元的元件,關(guān)于其可能的碰撞的信息和幾何文件被存儲在工作單元內(nèi)。所述信息被加載到實時控制上,使得上述的碰撞避免任務(wù)(CAT),即結(jié)合本發(fā)明的方法的機器人的運動的實際預(yù)測,和其在路徑上或脫離其路徑的停止,可以實時地訪問所述信息。
為了在兩個操作系統(tǒng)之間進行碰撞信息通信,按照本發(fā)明的控制單元提供解釋程序或解釋器,最好在PC操作系統(tǒng)下運行。
因為結(jié)合多個碰撞監(jiān)視機器人等,工作單元可以包含幾個CAM,按照本發(fā)明的控制裝置的進一步發(fā)展包括至少和實時操作系統(tǒng)結(jié)合的處理器裝置,其被設(shè)計用于和同一個工作單元內(nèi)的其它相應(yīng)的控制裝置的實時操作系統(tǒng)通信。這樣確定的交互控制器通信任務(wù)從合適的機器人控制器(特定的CAM對其檢測碰撞的控制器)接收數(shù)據(jù)。
在機器人之間的協(xié)同操作的許多方面要求控制器之間的通信。在這種情況下,需要把不同的數(shù)據(jù)傳遞給CAM,以便避免碰撞而工作。CAM需要知道工作單元內(nèi)的元件配置。因此,對于CAM監(jiān)視的每個機器人或物體,以下的參數(shù)需要被傳遞-關(guān)節(jié)值這些值確定機器人相對于其底座的配置;-底座坐標(biāo)其和關(guān)節(jié)值相結(jié)合,確定機器人在工作單元內(nèi)的配置。注意如果機器人安裝在軌道上,例如,則底座可以運動;-關(guān)節(jié)速度和底座速度供在碰撞預(yù)測算法中使用。注意,底座框架速度不容易從控制器得到,必須使用從使機器人底座運動的外部機器獲得的數(shù)據(jù)來獲得或估算;-部件改變;-工具改變;
-目標(biāo)改變;以及-可能的碰撞改變。
在由CAM控制的機器人上的工具和部件的改變通過解釋程序被傳遞到控制器的實時部分上。
按照本發(fā)明的另一個實施例,控制單元還包括用于輸入工作單元相關(guān)的幾何數(shù)據(jù)的輸入裝置。用這種方式,外部產(chǎn)生的CAD幾何文件可以被容易地提供給CAM。所述輸入裝置例如可以是盤驅(qū)動器或者網(wǎng)絡(luò)連接裝置。
由上述顯然可見,和現(xiàn)有技術(shù)相比,本發(fā)明具有幾個優(yōu)點不需要用戶在用于避免碰撞的機器人程序中作任何準(zhǔn)備,例如對公共的工作區(qū)域編程。和現(xiàn)有技術(shù)的其它顯式的方法相結(jié)合,本發(fā)明的方法可用作安全保護。
此外,本發(fā)明的方法使得能夠從避免碰撞的觀點自動地配置工作單元。其自動地確定哪些元件具有和其它元件的可能的碰撞。
因為本發(fā)明的方法基于在一個時間間隔內(nèi)預(yù)測運動元件的配置,所述時間間隔足夠長,使得機器能夠安全地停止,然后檢查沖突,不需要預(yù)先知道軌道。如果預(yù)測到碰撞,則命令機器在其路徑上停止或脫離其路徑而停止。
因為特別是教導(dǎo)和確認(rèn)階段固有低的速度,停止時間和距離非常短。因而本發(fā)明的方法尤其適用于這些情況。
由編程錯誤或者意外的大的路徑改變而引起的碰撞導(dǎo)致在一般情況下總是相互距離較遠(yuǎn)的物體之間的接觸。在這種情況下,預(yù)測一個計劃的或停止的配置實際上可能過于精細(xì)并且可能是不需要的。此時監(jiān)視各個物體之間的距離,并且當(dāng)它們彼此接近超過一個預(yù)定距離時令其停止便足夠了。只要距離門限被選得足夠大,這簡化了在任何階段和任何運動速度下的接近工作。否則,必須采用符合上述要求的更精確的方法。


下面參照

本發(fā)明的優(yōu)選實施例,其中圖1是按照本發(fā)明的碰撞避免方法的流程圖;圖2是用于執(zhí)行本發(fā)明的機器人控制系統(tǒng)的方塊圖;圖3是分別表示機器人及其元件或鏈接的不同的幾何近似的示意圖;圖4是表示接近一個障礙物的機器人運動的示意圖;圖5表示兩個機器人的碰撞的機器人運動的數(shù)值模擬結(jié)果;以及圖6是在按照本發(fā)明的碰撞避免方法中用于停止時間預(yù)測的3層神經(jīng)網(wǎng)絡(luò)的示意圖。
具體實施例方式
圖1表示機器人運動M,其由已知的機器人控制器(未示出)控制,并且要由按照本發(fā)明的被稱為碰撞避免方法1.0的方法監(jiān)視,以便避免碰撞。在啟動/初始化階段1.1期間,確定在機器人、工具以及靜止的物體,即被固定在工作單元內(nèi)的物體之間的可能的碰撞。工作包絡(luò),即可由機器人進入的工作空間的包絡(luò)表面被用于確定是否具有和其它機器人與/或靜止物體的可能的碰撞。此后,在機器人運動M期間,在由時間間隔Δt分割的時間t定期地由本發(fā)明的方法1.0執(zhí)行碰撞控制C。
來自機器人與/或工作單元的檢測數(shù)據(jù)S,例如機器人關(guān)節(jié)的角度和速度,攝像機圖像等被提供給碰撞避免方法1.0,并和其它參數(shù)一道被利用,這些參數(shù)例如包括有效載荷或者機器人配置,用于由圖6所示的神經(jīng)網(wǎng)絡(luò)估算停止時間間隔ts1.2。
由估算的時間ts,算法預(yù)測1.3預(yù)測在停止時間內(nèi)的機器人的軌道,然后被用于沖突檢查1.4,其涉及檢查在工作單元內(nèi)的物體或元件之間的距離。如果確定將來要發(fā)生碰撞,則機器人被停止1.5a。這可以在機器人路徑上進行,或者不在機器人路徑上進行,例如通過簡單的機器制動。如果沒有碰撞1.5b,則開始新的碰撞控制周期C’。
參照圖1所述的碰撞避免方法利用圖2所示的控制系統(tǒng)執(zhí)行,該系統(tǒng)被稱為碰撞避免管理器(CAM)2.0,2.0’,其具有關(guān)于在工作單元2.1內(nèi)的其它元件的知識,如下所述。
在按照圖2的工作單元內(nèi)部,具有幾個機器人或協(xié)同機構(gòu),其中只示出了已知的(電源和運動)控制器2.2,2.2’,CAM2.0,2.0’包括通過在呈微處理器形式的一個或幾個處理器裝置PM1、PM2上執(zhí)行標(biāo)準(zhǔn)的PC操作系統(tǒng)例如微軟的WindowsTM和實時操作系統(tǒng)例如VxWorksTM而確定的PC部分PC和實時部分RT。在這里所示的實施例中,機器人控制器2.2,2.2’的情況和上述的相同。
CAM2.0,2.0’的PC部分PC包括處理器裝置PM1和存儲裝置SM(以舉例的方式表示),用于執(zhí)行和/或存儲與時間無關(guān)的幾何文件2.3,工作單元圖(WCD)2.4,其含有在編程的機器人運動期間關(guān)于碰撞的所有信息,以及編碼機器人的運動的專用程序2.5。CAM2.0,2.0’的實時部分RT包括處理器裝置PM2和存儲裝置SM(以舉例的方式表示),用于執(zhí)行和/或存儲解釋程序2.6,用于向RT傳遞關(guān)于由CAM2.0,2.0'控制的機構(gòu)的動態(tài)部分/工具的改變2.7。RT還保持幾何數(shù)據(jù)2.8,其被碰撞避免任務(wù)(CAT)2.9利用。CAT2.9接收來自交互控制器通信任務(wù)2.10的輸入,其連接一個CAM2.0的RT和不同的CAM的RT和機器人控制器2.2,2.2’。在所示的實施例中,CAM2.0的PC和RT共用公共的存儲裝置SM。
描述工作單元2.1的幾何文件2.11借助于CAD或離線模擬在工作單元2.1內(nèi)或者在工作單元以外被產(chǎn)生。通過網(wǎng)絡(luò)鏈接或盤驅(qū)動器(在后一種情況下,利用可除去的數(shù)據(jù)介質(zhì),未示出)向CAM2.0,2.0’的PC輸入幾何文件2.11的數(shù)據(jù)輸入2.12。
因為機器人控制器2.2,2.2’具有和常規(guī)的控制器相同的結(jié)構(gòu),故省略其詳細(xì)說明。關(guān)于包括兩個操作系統(tǒng)的機器人控制器2.2,2.2’的細(xì)節(jié)可以在US6356806 B1/DE198 57 436 A1中找到。
由提供的幾何文件2.3產(chǎn)生的所有碰撞信息被存儲在WCD2.4中。在其內(nèi)容中,具有兩種可能的碰撞條件可能碰撞(CPC)和非條件可能碰撞(U-CPC)。CPC反應(yīng)當(dāng)只有在某個環(huán)境下在工作單元2.1中的兩個元件之間存在可能碰撞時的情況。例如,部件X可能只有在其被第一機器人使用工具Z處理并且工具Y被安裝在第二機器人上時才可能和工具Y碰撞。在所有其它情況下,部件X和工具Y距離較遠(yuǎn),不可能發(fā)生碰撞。U-CPC反應(yīng)在元件之間隨時都存在可能碰撞時的情況。例如,如果工作空間即兩個機器人可進入的區(qū)域在所有時間內(nèi)相互重疊,則在每個機器人的關(guān)節(jié)之間,可能存在U-CPC。在WCD2.4中的特定幾何文件的屬性指向由實體,即工作單元2.1的內(nèi)容利用的幾何近似文件。注意,在每個CAM2.0,2.0’上,保持并更新WCD2.4的局部子組。因此,每個CAM2.0,2.0’都知道在工作單元2.1中的所有可能的條件。當(dāng)工作單元的幾何結(jié)構(gòu)發(fā)生改變例如工具改變時,和WCD2.4結(jié)合使用的一個專用程序編輯器(未示出)便在程序2.5中插入一個相應(yīng)的指令,其使得解釋程序2.6更新RT上的動態(tài)工具/部件信息2.7(含有幾何文件2.3的時間相關(guān)的部件),然后,其可以實時地由負(fù)責(zé)實際預(yù)測機器人的運動并在危險情況下使機器停止的CAT2.9訪問。
包含在CAM2.0,2.0’的RT中的動態(tài)的工具/部件信息2.7實際上包括指向幾何數(shù)據(jù)2.8的指針,其也被包含在RT中,并且可由CAT2.9實時訪問,以便有效地避免碰撞。CAT2.9的執(zhí)行也受內(nèi)部控制器通信任務(wù)2.10的影響,對在網(wǎng)絡(luò)2.1中存在的其它CAM2.0’與/或機器人控制器2.2,2.2’的RT提供鏈接。這通過直接通信或者通過改變CAM2.0的RT內(nèi)部的幾何數(shù)據(jù)2.8與/或動態(tài)的部件/工具信息2.7來實現(xiàn)。
現(xiàn)在參看圖3,其中以簡化的示意的方式示出了用于近似機器人3.0(圖3a)的關(guān)節(jié)的不同方式在圖3b(a)中,啞鈴形狀的機器人關(guān)節(jié)3.1利用封閉的盒子或圓柱體3.2近似,圖3b(b)表示利用球3.3近似相同的關(guān)節(jié)3.1。這種近似3.2,3.3就使用的空間優(yōu)化而論是相當(dāng)保守的,但是由于其幾何形狀簡單,使得能夠加快碰撞確定算法的執(zhí)行時間。由較復(fù)雜的多面體3.4即具有多個平面的近似幾何輪廓作為關(guān)節(jié)的近似可以得到較高的近似精度,但是就執(zhí)行的速度而論,需要降低碰撞確定算法的性能(圖3b(c))。因此,本發(fā)明的方法優(yōu)先使用具有不同精度值3.2-3.4的分等級近似。如果在工作單元2.1內(nèi)機器人3.0的關(guān)節(jié)3.1的閉合形狀3.2-3.4相互距離較遠(yuǎn),則不需要CAT2.9檢查更精確的近似3.4,其只對于近的碰撞才被檢查。
機器人關(guān)節(jié)3.1的幾何近似3.2-3.4被存儲在幾何文件2.3內(nèi),因而在CAM2.0,2.0’的存儲裝置SM內(nèi)部的幾何數(shù)據(jù)2.8可以被執(zhí)行實際的碰撞避免算法的CAT2.9實時地訪問。
利用成熟的技術(shù)例如Gilbert-Johnson-Keerthi方法進行沖突檢查,這種方法是一種迭代方法,該方法把幾何形狀細(xì)分成單純形,直到其收斂于兩個物體之間的最小距離,這里不進行說明。
在按照圖4的示意圖中,物體4.0例如機器人關(guān)節(jié)平行于水平表面4.1朝向垂直壁4.2運動。當(dāng)預(yù)測到和另一個物體4.0’碰撞時,則在路徑P上停止,這便避免了物體4.0和4.0’之間的碰撞。脫離其路徑P而停止,避免了碰撞,不過,可能導(dǎo)致和水平表面4.1的碰撞。還注意到,預(yù)測到和表面4.1的碰撞將觸發(fā)一個不需要的假報警。因此,本發(fā)明的方法優(yōu)選地預(yù)測和停止機器人在路徑上的運動。
為了試驗按照本發(fā)明的碰撞避免方法,進行了在一個公共的工作單元2.1內(nèi)的如圖3b所示的兩個相同的機器人3.0的運動的數(shù)值模擬。機器人3.0的每個關(guān)節(jié)3.1被模擬成一系列的球體3.3。每個機器人3.0的路徑P,P’由一系列插入有立體的花鍵的連接角確定。停止時間ts假定是100毫秒。
圖5表示模擬的結(jié)果。在第一個例子中,兩個機器人的部件發(fā)生碰撞。作為時間函數(shù)的機器人之間的距離如圖5a所示。圖5b表示當(dāng)接通碰撞避免管理器時機器人之間的距離d。機器人的相對運動在碰撞之前(對于所有的t值d>0)被CAM停止。在另一個模擬中,機器人的遵從這樣的路徑,所述路徑使它們相互距離為0.5毫米而沒有碰撞。此處的目的是檢查是否發(fā)生假報警。圖5c表示兩個機器人如何接近然后又相互離開。當(dāng)碰撞檢測特征接通時,在路徑上沒有預(yù)測到碰撞,因此,機器不必停止,如在實際上希望的那樣。如果使機器人保持一個0.5毫米的距離代替前面按照圖5c說明的接觸后繼續(xù)前進的情況,則模擬的結(jié)果是類似的,即沒有預(yù)測到碰撞,并且沒有機器被命令停止。
在參照圖5所述的模擬中,停止時間假定具有一個固定值。另一種方案是,停止時間可以從預(yù)先存儲的查閱表中取得。不過,為了以適合于實時應(yīng)用的方式估算軸的停止時間,本發(fā)明提出使用神經(jīng)網(wǎng)絡(luò)NN,用于監(jiān)視機器人的每個關(guān)節(jié)。一種用于估算典型的工業(yè)機器人的軸的停止時間的典型的神經(jīng)網(wǎng)絡(luò)如圖6所示。
神經(jīng)網(wǎng)絡(luò)NN是一種計算機體系結(jié)構(gòu),其中多個基本的處理器6.0被連接用于信息的并行處理,因而形成一個網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是從人腦的結(jié)構(gòu)得到的。
神經(jīng)網(wǎng)絡(luò)尤其適用于模擬人的行為的任務(wù),例如圖形檢測。這些是本領(lǐng)域熟知的,這里不再詳細(xì)說明。
用于工業(yè)機器人的不同軸的神經(jīng)網(wǎng)絡(luò)NN由基本處理器6.0的多個層面L1,L2,L3或者在層面之間由信號路徑6.1連接的節(jié)點構(gòu)成。層面L1,L2,L3分別被稱為輸入層、中間層和輸出層。在輸入層L1上的節(jié)點6.0用于輸入和軸的停止時間有關(guān)的參數(shù),例如軸的速度θ和有效載荷的質(zhì)量m。這個信息通過網(wǎng)絡(luò)NN傳播,并在輸出層L3產(chǎn)生軸的停止時間ts的估算值,用于按照本發(fā)明的碰撞檢測。
標(biāo)號表1.0 碰撞避免方法1.1 啟動/初始化階段1.2 停止時間估算1.3 配置預(yù)測1.4 碰撞/沖突檢查1.5a機器人停止1.5b運動繼續(xù)2.0,2.0’ 碰撞避免管理器CAM2.1 工作單元2.2,2,2’ 機器人控制器2.3 幾何文件2.4 工作單元描述文件/工作單元描述圖WCD2.5 程序2.6 解釋程序2.7 動態(tài)工具/部件改變2.8 幾何形狀時間2.9 碰撞避免任務(wù)CAT2.10交互控制器通信任務(wù)2.11幾何文件產(chǎn)生2.12數(shù)據(jù)輸入3.0 機器人3.1 機器人鏈接/元件3.2 鏈接近似(盒子,圓柱體)3.3 鏈接近似(球體)3.4 鏈接近似(多面體)4.0,4.0,’ 物體
4.1 水平面4.2 垂直壁6.0 節(jié)點6.1 信號通路C,C’ 碰撞控制周期d 距離L1輸入層L2中間層L3輸出層M 機器人運動m 有效負(fù)載質(zhì)量NN神經(jīng)網(wǎng)絡(luò)P,P’ 路徑PC標(biāo)準(zhǔn)PC部分/操作系統(tǒng)PM1,PM2 處理器裝置RT實時部分/操作系統(tǒng)S 檢測器數(shù)據(jù)SM存儲裝置t 時間ts停止時間Δt 時間間隔γ 加速度θ 角度速度
權(quán)利要求
1.一種用于避免在機器人和至少一個其它物體之間碰撞的方法,所述方法包括定期地根據(jù)每個機器人關(guān)節(jié)的實際的和過去的關(guān)節(jié)位置以及速度,確定自動或手動地控制的機器人的運動的停止時間;預(yù)測在所述停止時間機器人的軌道的配置;通過用于解決機器人的元件和所述其它物體的元件的沖突的距離/沖突算法,檢查預(yù)測的配置;以及在沖突將臨的情況下,停止機器人與/或所述其它物體。
2.如權(quán)利要求1所述的方法,其中使所述機器人停止在其路徑上。
3.如權(quán)利要求1所述的方法,其中使所述機器人脫離其路徑而停止。
4.如權(quán)利要求1到3任何一個所述的方法,其中所述沖突檢查涉及確定機器人的元件的幾何近似和所述其它物體之間的距離。
5.如權(quán)利要求4所述的方法,其中所述幾何近似具有不同的精度等級,在距離檢查中它按照所需的精度被檢查。
6.如前面任何一個權(quán)利要所述的方法,其中預(yù)測關(guān)節(jié)的軌道涉及應(yīng)用關(guān)系θi=1/2γiti,s2+θ·i,0ti,s+θi,0]]>其中θi是關(guān)節(jié)i的預(yù)測位置;θi,0和 分別是在當(dāng)前時間t關(guān)節(jié)的位置和速度;ti,s是關(guān)節(jié)i停止時間,γi是在t估算的關(guān)節(jié)的加速度。
7.如權(quán)利要求6所述的方法,其中關(guān)節(jié)i的速度利用下式由當(dāng)前時間的關(guān)節(jié)位置和較早時間的關(guān)節(jié)位置估算θ·i=cf·Σk=04ckθi,-k]]>其中θi,-k=θi(t-k),t-k=t-k·Δt;并且cf=1/(12Δt),c0=25,c1=-48,c2=36,c3=-16,c4=3。
8.如權(quán)利要求7所述的方法,其中關(guān)節(jié)i的加速度γi利用下式由當(dāng)前時刻t的關(guān)節(jié)速度θi,0和較早時刻的速度估算γi=cf·Σk=04ck·θ·i,-k---(3)]]>
9.如權(quán)利要求8所述的方法,其中所述配置預(yù)測和沖突檢查涉及由θi,stop=θ·i,02/(2γi,max)]]>確定關(guān)節(jié)i的停止距離,其中γi,max是關(guān)節(jié)的最大負(fù)加速度;把停止距離加到關(guān)節(jié)實際位置上,從而獲得在停止時間上的配置;以及確定機器人元件和所述其它物體在所述配置之間的距離。
10.如前面任何一個權(quán)利要所述的方法,其中對用于位置預(yù)測的關(guān)節(jié)位置和速度數(shù)據(jù)應(yīng)用濾波器。
11.如權(quán)利要求10所述的方法,其中所述濾波器在時域內(nèi)被應(yīng)用。
12.如權(quán)利要求11所述的方法,其中所述濾波器是移動平均濾波器(running average)。
13.如前面任何一個權(quán)利要所述的方法,其中用于預(yù)測和沖突檢查的配置涉及使用至少一個神經(jīng)網(wǎng)絡(luò),用于估算機器人的軸的停止時間。
14.如權(quán)利要求13所述的方法,其中一個神經(jīng)網(wǎng)絡(luò)被用于每個機器人關(guān)節(jié)。
15.如權(quán)利要求14所述的方法,其中所述神經(jīng)網(wǎng)絡(luò)的輸入包括由關(guān)節(jié)速度、關(guān)節(jié)角度、關(guān)節(jié)位置、機器人底座位置、機器人底座速度以及工具或負(fù)載質(zhì)量構(gòu)成的組中的一個或幾個元素。
16.如前面任何一個權(quán)利要所述的方法,其中所有獲得的關(guān)于碰撞的信息被存儲在一個工作單元描述文件中,用于和負(fù)責(zé)控制所述機器人的運動的實時操作系統(tǒng)通信。
17.如權(quán)利要求16所述的方法,其中所述工作單元描述文件含有指向用于描述在工作單元內(nèi)存在的所有物體所需的幾何近似文件的指針。
18.如權(quán)利要求17所述的方法,其中所述工作單元描述文件的復(fù)制品被保持在每個控制器上即在工作單元內(nèi)存在的每個協(xié)同機構(gòu)上并被更新。
19.如權(quán)利要求18所述的方法,其中所述工作單元描述文件至少在工作單元內(nèi)發(fā)生幾何形狀的改變,例如,對機器人安裝新的工具時被更新。
20.如權(quán)利要求19所述的方法,其中包括幾何形狀的改變的描述的所述工作單元描述文件在實時操作系統(tǒng)中被更新。
21.如前面任何一個權(quán)利要所述的方法,其中在機器人和物體之間發(fā)生允許的接觸之前,例如在處理操作期間,建立一種聯(lián)系,使得機器人和所述物體在隨后的碰撞期間不會停止。
22.如權(quán)利要求21所述的方法,其中在允許的接觸操作結(jié)束之后,所述聯(lián)系被終止。
23.一種用于避免在機器人和至少一個其它物體之間碰撞的控制裝置,所述控制裝置包括-用于根據(jù)每個機器人關(guān)節(jié)的實際的和過去的關(guān)節(jié)位置以及速度,定期地確定自動或手動地控制的機器人的運動的停止時間的裝置;-用于定期地預(yù)測在所述停止時間機器人的軌道的配置的裝置;-用于通過用于解決機器人的元件和所述其它物體的元件的沖突的距離/沖突算法,定期地檢查預(yù)測的配置的裝置;以及用于在沖突將臨的情況下,停止機器人與/或所述其它物體的裝置。
24.如權(quán)利要求23所述的控制裝置,包括用于并行地運行兩個操作系統(tǒng)的處理器裝置,其中一個是標(biāo)準(zhǔn)的PC操作系統(tǒng),另一個是用于控制機器人的運動的實時操作系統(tǒng)。
25.如權(quán)利要求24所述的控制裝置,其中所述至少和實時操作系統(tǒng)結(jié)合的處理器裝置被設(shè)計用于和同一個工作單元內(nèi)的其它相應(yīng)的控制裝置的實時操作系統(tǒng)通信。
26.如權(quán)利要求25所述的控制裝置,其中所述處理器裝置用于運行用于在PC和實時操作系統(tǒng)之間進行通信的解釋程序。
27.如權(quán)利要求24-26任何一個所述的控制裝置,其中所述處理器裝置被設(shè)計用于運行執(zhí)行碰撞避免方法,具體地說,前面權(quán)利要求1到22所述的方法的程序的各個部分。
28.如權(quán)利要求24-27任何一個所述的控制裝置,包括和兩個操作系統(tǒng)結(jié)合使用的存儲器單元,用于存儲工作單元相關(guān)的幾何數(shù)據(jù)。
29.如權(quán)利要求28所述的控制裝置,還包括用于輸入工作單元相關(guān)的幾何數(shù)據(jù)的輸入裝置。
30.如權(quán)利要求29所述的控制裝置,其中所述輸入裝置是盤驅(qū)動器或者網(wǎng)絡(luò)連接裝置。
全文摘要
本發(fā)明披露了一種用于在機器人和至少一個其它物體例如另一個機器人之間避免碰撞的方法,其中不需要用戶在用于避免碰撞的機器人程序中作任何準(zhǔn)備,例如定義公共的工作區(qū)域。此外,本發(fā)明的方法使得能夠從避免碰撞的觀點自動地配置工作單元。其自動地確定哪些元件具有和其它元件的可能的碰撞。因為本發(fā)明的方法基于在一個時間間隔內(nèi)預(yù)測運動元件的配置,所述時間間隔足夠長,使得機器能夠安全地停止,然后檢查沖突,不需要預(yù)先知道軌道。如果預(yù)測到碰撞,則命令機器在其路徑上停止或脫離其路徑而停止。用這種方式,和現(xiàn)有技術(shù)的其它顯式的方法相結(jié)合,本發(fā)明的方法可用作安全保護。
文檔編號B25J9/10GK1461693SQ0313817
公開日2003年12月17日 申請日期2003年5月30日 優(yōu)先權(quán)日2002年5月30日
發(fā)明者艾爾-侯賽恩·沃爾德 申請人:庫卡-羅伯特有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
澄迈县| 禄劝| 隆回县| 霍林郭勒市| 大安市| 收藏| 涿州市| 资溪县| 大悟县| 射洪县| 若羌县| 呼伦贝尔市| 杭州市| 墨竹工卡县| 黑龙江省| 宣恩县| 云南省| 略阳县| 涟水县| 高要市| 沐川县| 卢龙县| 岳普湖县| 庆阳市| 仪陇县| 鱼台县| 淮安市| 健康| 黑河市| 西吉县| 崇阳县| 长海县| 双柏县| 青神县| 西城区| 广安市| 库车县| 阳西县| 天津市| 平原县| 定兴县|