專利名稱:用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置。具體地,本發(fā)明涉及用于在預定操作點之間的多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置,該設(shè)置方法和設(shè)置裝置用于為操作設(shè)在多關(guān)節(jié)型機器人的前端上的末端執(zhí)行器設(shè)置路徑。
背景技術(shù):
按慣例,如果直接操作為生產(chǎn)線安裝的多關(guān)節(jié)型機器人以執(zhí)行操作姿勢的示教,那么多關(guān)節(jié)機器人操作方面的熟練操作人員將在生產(chǎn)線的工作點上執(zhí)行操作。因此,操作就變得效率低。還將用停止生產(chǎn)線來執(zhí)行上述操作。所以,生產(chǎn)線的設(shè)備動轉(zhuǎn)率降低。
近年來,基于離線程序來執(zhí)行示教(離線示教)而有效地執(zhí)行示教操作或保持生產(chǎn)線的設(shè)備動轉(zhuǎn)率。在離線示教中,一個包含多關(guān)節(jié)型機器人,作為操作對象的工件,以及外圍結(jié)構(gòu)的模型被建立于計算機上。使用該模型來準備示教數(shù)據(jù),并且之后把該示教數(shù)據(jù)提供給安裝在工作點上的多關(guān)節(jié)型機器人。因此,在示教數(shù)據(jù)的準備期間不必停止生產(chǎn)線。
出于以下原因,沒有必要廣泛地使用該傳統(tǒng)的離線示教。
自然,多關(guān)節(jié)型機器人不應與各種外圍結(jié)構(gòu),工件或其它類似的東西相干擾(例如,接觸)。當外圍結(jié)構(gòu)存在時或是當工件為復雜形狀時,難于設(shè)置操作路徑來避免這類障礙。
更具體地,其中針對多關(guān)節(jié)型機器人的所有姿勢進行干擾調(diào)查的循環(huán)法是不實用的,因為計算量龐大。在諸如所稱的算術(shù)編程的優(yōu)化方法的某些情形中沒有解決方案。此外,根據(jù)使用隨機數(shù)的隨機技術(shù),解決方案的收斂性不被保證并且計算不具有再現(xiàn)性。
幾項技術(shù)已被建議用來解決上述問題。
例如,一項技術(shù)是已知的,它利用了包含起點與到達點的平板(見日本專利公開No.2875498)。該技術(shù)中,在指定板上確定其中障礙物的橫截面被適當放大的一個界限外區(qū)域。設(shè)置一條穿過該界限外區(qū)域的頂點的操作路徑以避免干擾。然而,該技術(shù)中,通過每次檢驗與該界限外區(qū)域的干擾來設(shè)置操作路徑。由于這個原因,檢驗操作復雜,并且操作路徑是復雜的。即使操作路徑正確,從各個頂點的操作范圍的視點來看檢驗多關(guān)節(jié)型機器人是否能夠在該操作路徑上準確操作也是不可能的。
另一項技術(shù)也是已知的,例如,該技術(shù)中障礙物的位置及形狀被輸入并用生產(chǎn)場所內(nèi)專用的控制器來指示以設(shè)置操作路徑(見日本未決專利公開No.9-81228)。然而,該技術(shù)中,不能自動設(shè)置操作路徑,這是由于在當操作生產(chǎn)點上的實際機器時執(zhí)行示教。
因此,上述離線示教目前依賴于人工操作來設(shè)置操作路徑以避免障礙物。
然而,人工操作需要長的時間周期來提取其中機器人不與工件以及其它設(shè)備相干擾的無干擾區(qū)。根據(jù)不同的個人,該判斷也是不同的。必然會引起對于該提取點的任何誤差和/或任何遺漏。
如上所述,當借助于離線示教來確定機器人的姿勢時,為此所需的操作未必容易。具體地,在監(jiān)視器屏幕上,當該工件是復雜的三維形狀時,從焊接點難于找回用于折回焊槍裝置的路徑以使它不會與工件相干擾。它花費了長的時間周期來執(zhí)行示教。
發(fā)明內(nèi)容
考慮到上述問題,本發(fā)明的一個目的是提供用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置,其中自動執(zhí)行確定路徑的步驟,并在用于多關(guān)節(jié)型機器人的操作路徑的把末端執(zhí)行器從工件上的操作點收回的窄區(qū)域操作路徑中,當為收回路徑執(zhí)行離線示教以不與工件干擾時,能夠在短的時間周期內(nèi)準備示教數(shù)據(jù)而不需要任何技能。
本發(fā)明的另一目的是提供用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置,其中能夠自動有效地設(shè)置用于在操作點之間或是收回點之間進行移動的寬區(qū)域操作路徑而不需執(zhí)行可能會受到工件和/或障礙物的形狀的影響的任何復雜的計算。
本發(fā)明的還一個目的是提供用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置,其中能夠自動有效地設(shè)置窄區(qū)域操作路徑和寬區(qū)域操作路徑。
根據(jù)本發(fā)明,這里提供了一種為含有末端執(zhí)行器的多關(guān)節(jié)型機器人設(shè)置操作路徑的方法,該方法包括內(nèi)部空間定義步驟,定義被所述末端執(zhí)行器的臂或焊極部分地圍繞的一內(nèi)部空間;提取步驟,提取要被焊接的工件的一對象工件部分,所述對象工件部分存在于所述內(nèi)部空間內(nèi);以及干擾調(diào)查步驟,調(diào)查當操作所述多關(guān)節(jié)型機器人時在所述末端執(zhí)行器與所述對象工件部分之間是否發(fā)生干擾。
因此,自動執(zhí)行確定路徑的步驟,并且在用于把末端執(zhí)行器從工件上的操作點收回的窄區(qū)域操作路徑中,當為收回路徑執(zhí)行離線示教以不與工件干擾時,能夠在短的一段時間內(nèi)準備示教數(shù)據(jù)而不需要任何技能。
在此情形下,該多關(guān)節(jié)型機器人,末端執(zhí)行器,工件,以及外圍結(jié)構(gòu)是根據(jù)由計算機實現(xiàn)的程序處理而被構(gòu)造成一模型的虛擬物。
工件可以是用多個塊近似的一個模型。
內(nèi)部空間可以是用多個塊近似的一個模型。
此外,干擾調(diào)查步驟可以包括參考線定義步驟,定義經(jīng)過該對象工件部分的基本中心部分的參考線;調(diào)查結(jié)束位置定義步驟,在該參考線上設(shè)置對于該末端執(zhí)行器的調(diào)查結(jié)束位置;以及第一詳細干擾調(diào)查步驟,通過從調(diào)查開始位置至該調(diào)查結(jié)束位置操作該末端執(zhí)行器來調(diào)查在該末端執(zhí)行器與該對象工件部分之間是否發(fā)生干擾。
干擾調(diào)查步驟可以包括參考線定義步驟,定義經(jīng)過該對象工件部分的基本中心部分的參考線;重心位置定義步驟,根據(jù)該參考線定義該對象工件部分的重心位置;以及第二詳細干擾調(diào)查步驟,通過從調(diào)查開始位置至該重心位置操作該末端執(zhí)行器來調(diào)查在該末端執(zhí)行器與該對象工件部分之間是否發(fā)生干擾。
作為與該對象工件部分的重心位置相比位于靠近開口處的該對象工件部分的一部分被提取作為取代該對象工件部分的新的對象工件部分以執(zhí)行該重心位置定義步驟以及該第二詳細干擾調(diào)查步驟。
根據(jù)本發(fā)明的另一方面,這里提供了一種為含有末端執(zhí)行器的多關(guān)節(jié)型機器人設(shè)置操作路徑的裝置,該裝置包括內(nèi)部空間定義部件,用于定義被該末端執(zhí)行器的臂或焊極部分地圍繞的一內(nèi)部空間;工件提取部件,用于提取要被焊接的工件的一對象工件部分,該對象工件部分存在于該內(nèi)部空間內(nèi);以及干擾調(diào)查部件,用于調(diào)查當操作該末端執(zhí)行器時在該末端執(zhí)行器與該對象工件部分之間是否發(fā)生干擾。
根據(jù)本發(fā)明的還一方面,這里提供了一種為多關(guān)節(jié)型機器人設(shè)置操作路徑用于從起點至到達點操作一末端執(zhí)行器的方法,該方法包括操作調(diào)查步驟,設(shè)置用于連接該起點與該到達點的路徑以調(diào)查是否能夠沿著該路徑操作該末端執(zhí)行器;以及折回路徑設(shè)置步驟,如果在該操作調(diào)查步驟中不能沿著該路徑操作該末端執(zhí)行器,則設(shè)置一折回路徑用于在指定方向上從該起點或該到達點用指定距離來操作該末端執(zhí)行器。
因此,能夠自動有效地設(shè)置用于在操作點之間或是收回位置之間進行移動的寬區(qū)域操作路徑而不需執(zhí)行可能會受到工件或障礙物的形狀的影響的任何復雜計算。
該指定方向可以是基于在該起點或該到達點上的該末端執(zhí)行器的姿勢的一個預定方向。
該指定方向可以是連接該起點或該到達點與空間內(nèi)的建立點的方向。
該建立點可以是該多關(guān)節(jié)型機器人的原始軸的中心點。
可以把該折回路徑的終點定義為新的起點或新的到達點以再次執(zhí)行操作調(diào)查步驟或折回路徑設(shè)置步驟。
如果該折回路徑的終點是多關(guān)節(jié)型機器人不能到達的點或是其上發(fā)生干擾的點,則再次設(shè)置該折回路徑,其中該指定距離在該折回路徑內(nèi)被校正。
根據(jù)本發(fā)明的又一方面,這里提供了一種為多關(guān)節(jié)型機器人設(shè)置操作路徑用于從起點至到達點操作一末端執(zhí)行器的裝置,該裝置包括路徑調(diào)查部件,用于設(shè)置用于連接該起點與該到達點的路徑以調(diào)查是否能夠沿著該路徑操作該末端執(zhí)行器;以及寬區(qū)域操作路徑設(shè)置部件,用于如果該路徑調(diào)查部件判定不能沿著該路徑操作該末端執(zhí)行器,則設(shè)置一折回路徑用于在指定方向上從該起點或該到達點用指定距離來操作該末端執(zhí)行器。
根據(jù)本發(fā)明的再一個方面,這里提供了一種為多關(guān)節(jié)型機器人設(shè)置操作路徑用于為工件在操作點之間操作一末端執(zhí)行器的方法,該方法包括窄區(qū)域操作路徑設(shè)置步驟,設(shè)置窄區(qū)域操作路徑用于把該末端執(zhí)行器從該操作點折回到位于靠近該工件的末端處的點而不干涉該工件和另一障礙物,根據(jù)該障礙物和靠近該操作點的該工件的形狀,該末端執(zhí)行器被安排在用于該工件的該操作點上;以及寬區(qū)域操作路徑設(shè)置步驟,設(shè)置寬區(qū)域操作路徑用于通過結(jié)合預定的指定操作來實現(xiàn)從起點至到達點的操作,假如該起點與該到達點存在于位于靠近該工件的該末端處的預定點內(nèi)。
因此,有可能自動有效地設(shè)置窄區(qū)域操作路徑和寬區(qū)域操作路徑。
窄區(qū)域操作路徑設(shè)置步驟可以包括內(nèi)部空間定義步驟,定義被該末端執(zhí)行器的臂或焊極部分地圍繞的一內(nèi)部空間;提取步驟,提取存在于該內(nèi)部空間內(nèi)的一對象工件部分;以及干擾調(diào)查步驟,調(diào)查當操作該多關(guān)節(jié)型機器人時在該末端執(zhí)行器與該對象工件部分之間是否發(fā)生干擾。
寬區(qū)域操作路徑設(shè)置步驟包括操作調(diào)查步驟,設(shè)置用于連接該起點與該到達點的路徑以調(diào)查是否能夠沿著該路徑操作該末端執(zhí)行器;以及折回路徑設(shè)置步驟,如果在該操作調(diào)查步驟中不能沿著該路徑操作該末端執(zhí)行器,則設(shè)置一折回路徑用于在指定方向上從該起點或該到達點用指定距離來操作該末端執(zhí)行器。
該指定方向可以是根據(jù)在起點或到達點上的該末端執(zhí)行器的姿勢而預定的。
該指定方向可以是連接起點或到達點與空間內(nèi)的一建立點的方向。
根據(jù)本發(fā)明的還一個方面,這里提供了一種為多關(guān)節(jié)型機器人設(shè)置操作路徑用于為工件在操作點之間操作一末端執(zhí)行器的裝置,該裝置包括窄區(qū)域操作路徑設(shè)置部件,用于設(shè)置窄區(qū)域操作路徑以把該末端執(zhí)行器從該操作點折回到位于靠近該工件的末端處的點而不干涉該工件和另一障礙物,根據(jù)該障礙物和靠近該操作點的該工件的形狀,該末端執(zhí)行器被安排在用于該工件的該操作點上;以及寬區(qū)域操作路徑設(shè)置部件,用于設(shè)置寬區(qū)域操作路徑以通過結(jié)合預定的指定操作來實現(xiàn)從起點至到達點的操作,假如該起點與該到達點存在于位于靠近該工件的該末端處的預定點內(nèi)。
當與附圖相結(jié)合時,從下述說明中本發(fā)明的上述及其它目標,特征,以及優(yōu)點將變得更為明顯,在附圖中通過說明性的例子示出了本發(fā)明的較佳實施例。
圖1說明用在本發(fā)明實施例內(nèi)的離線示教裝置及機器人裝置;圖2示出說明該離線示教裝置的安排的方框圖;圖3說明多關(guān)節(jié)型機器人的安排;
圖4說明一X型焊槍;圖5說明用于工件的焊接點;圖6示出說明根據(jù)本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的整個操作路徑設(shè)置方法的流程圖;圖7示出說明根據(jù)本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的窄區(qū)域操作路徑設(shè)置方法的流程圖(No.1);圖8示出說明根據(jù)本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的窄區(qū)域操作路徑設(shè)置方法的流程圖(No.2);圖9示出說明根據(jù)本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的窄區(qū)域操作路徑設(shè)置方法的流程圖(No.3);圖10示出一路徑表;圖11A說明從中心點放射狀地設(shè)置直線的過程;圖11B說明通過在格形構(gòu)造中畫線來提取閉合空間內(nèi)的相交點的過程;圖12A說明在相交點的中心附近設(shè)置固體的過程;圖12B說明提取該固體及工件的重疊部分的過程;圖12C示出被提取的工件模型;圖13A說明各個固體的中心點;圖13B示出確定主分量線的過程;圖14示出確定收回點及收回路徑(V1)的過程;圖15示出收回路徑(V2);圖16說明一掩模處理;圖17說明從起點至到達點的操作路徑;圖18示出說明根據(jù)本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的寬區(qū)域操作路徑設(shè)置方法的流程圖(NO.1);圖19示出說明根據(jù)本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的寬區(qū)域操作路徑設(shè)置方法的流程圖(NO.2);圖20示出說明根據(jù)本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的寬區(qū)域操作路徑設(shè)置方法的流程圖(NO.3);
圖21說明第一與第二模板的操作;具體實施方式
下面將參照圖1-21來解釋本發(fā)明的用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置的說明性實施例。
基本地,在本發(fā)明該實施例的用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置中,在當提取其中存在工件以在把設(shè)置在該多關(guān)節(jié)型機器人前端上的末端執(zhí)行器從該工件上的操作點收回的窄操作期間,調(diào)查被焊槍裝置包圍的內(nèi)部空間內(nèi)的干擾的部分時設(shè)置操作路徑。在用于在收回位置之間進行移動的寬區(qū)域操作期間,通過在結(jié)合指定方向上的從起點移動指定距離的模板操作時操作來設(shè)置操作路徑以移到到達點,同時避開障礙物。
如圖1所示,用在本發(fā)明該實施例內(nèi)的離線示教裝置(操作路徑設(shè)置裝置)10,執(zhí)行多關(guān)節(jié)型機器人50的操作的示教。把裝置10連接到機器人裝置12用于根據(jù)所準備的示教數(shù)據(jù)來執(zhí)行對于操作對象的期望操作。
機器人裝置12包括多關(guān)節(jié)型機器人50,以及用于根據(jù)示教數(shù)據(jù)來控制多關(guān)節(jié)型機器人50的操作的機器人控制單元22。
如圖2所示,構(gòu)成離線示教裝置10的控制單元14包括作為用于控制整個離線示教裝置10的控制裝置的CPU(計算機),作為存儲部分的ROM 28和RAM 29,用于實現(xiàn)對于硬盤34的數(shù)據(jù)存取的硬盤驅(qū)動器(HDD)39,用于在監(jiān)視器16的屏幕上實現(xiàn)繪圖控制的繪圖控制電路30,連接有作為輸入裝置的鍵盤18和鼠標20的接口電路32,用于控制外部記錄介質(zhì)36a(例如,軟盤或光盤)的記錄介質(zhì)驅(qū)動器36,用于準備示教數(shù)據(jù)的數(shù)據(jù)準備電路38,以及用于基于該示教數(shù)據(jù)在監(jiān)視器16的屏幕上實現(xiàn)模擬的模擬電路40。該模擬電路40基于三維CAD,并且它具有,例如,準備模型以及調(diào)查該模型的相互干擾的功能(干擾調(diào)查40a)。
硬盤34存儲,例如,具有為多關(guān)節(jié)型機器人50設(shè)置操作路徑的作用的操作路徑設(shè)置程序35,作為用于設(shè)置該操作路徑的條件的條件數(shù)據(jù)37,以及未舉例說明的OS。
操作路徑設(shè)置程序35包括窄區(qū)域操作路徑設(shè)置部分35a用于例如,根據(jù)工件80的形狀,設(shè)置安排在工件80的一個點上(見圖5),例如,在焊點T0上的焊槍裝置(末端執(zhí)行器)68被縮回到位于接近于該工件80的末端的點上同時保持與工件80及其它元件的不干擾狀態(tài)所沿著的窄區(qū)域操作路徑,以及寬區(qū)域操作路徑設(shè)置部分35b用于設(shè)置通過結(jié)合假定起點P1(見圖17)和到達點P2存在于該空間內(nèi)的任意兩點的預定指定操作來從起點P1到到達點P2實現(xiàn)該操作所沿著的寬區(qū)域操作路徑。
操作路徑設(shè)置程序35具有路徑調(diào)查部分35c用于調(diào)查是否能夠在通過連接兩個任意點所得到的路徑上操作焊槍裝置68。
操作路徑設(shè)置程序35進一步包括內(nèi)部空間定義部分35d用于在虛擬空間內(nèi)定義一個預定的內(nèi)部空間,以及工件提取部分35e用于提取存在一預定空間內(nèi)的要被焊接的工件80的一個部分。
如圖3所示,把第二基座56,第一連桿58,第二連桿60,第三連桿62,第四連桿64,以及焊槍固定部分66按照朝向前端的順序連接到作為多關(guān)節(jié)型機器人50的固定臺的第一基座54。焊槍裝置68連到布置在前端上的焊槍固定部分66。
第二基座56相對于第一基座54圍繞作為縱軸的軸J1的中心被可旋轉(zhuǎn)地支撐。第一連桿58的基部端相對于具有作為橫軸的軸J2的第二基座56被可傾斜地支撐。第二連桿60的基部端相對于具有作為橫軸的軸J3的第一連桿58的前端被可擺動地支撐。第三連桿62連到具有作為用于旋轉(zhuǎn)的公共中心軸的軸J4的第二連桿60的前端側(cè)上。此外,第四連桿64的基部端相對于具有位于相對于軸J4的直角方向上的軸J5的第三連桿62的前端被可擺動地支撐。焊槍固定部分66連到具有作為用于旋轉(zhuǎn)的公共中心軸J6的第四連桿64的前端側(cè)上。
連到焊槍固定部分66上的焊槍裝置68是所稱的C型焊槍,并且它具有,在拱形臂74的兩端,沿著軸J6可打開/可閉合的一對焊極70,72。在閉合狀態(tài),焊極70,72與工件80在對于軸J6的焊接操作點(下文稱為“TCP(工具中心點)”)相接觸。
把從TCP指向的并與主體的焊極72的軸向中心一致的方向指定為“向量Zr”。把垂直于向量Zr的并且指向焊槍裝置68的外部的方向指定為“向量Xr”。把相互垂直于向量Xr及向量Zr的方向指定為“向量Yr”。
用于軸J1-J6的驅(qū)動機構(gòu)以及用于焊極70,72的打開/閉合機構(gòu)分別由未例舉的傳動裝置驅(qū)動。TCP由軸J1-J6的各個旋轉(zhuǎn)角θ1-θ6的值以及多關(guān)節(jié)型機器人50的各個部分的大小來決定。
焊槍裝置68不限于C型焊槍。例如,圖4所示的X型焊槍(裝有一對由公共支撐軸可旋轉(zhuǎn)地支撐的打開/閉合焊槍臂的焊槍)68a可被用于焊槍裝置68。
把軸J1與軸J2之間的交點定義為作為用于與多關(guān)節(jié)型機器人50有關(guān)的坐標計算及控制的參考點的原點(原始軸的中點)。參照原點O,用高度Z代表垂直向上的方向,用深度Y代表當旋轉(zhuǎn)角θ1滿足θ1=0時所得到的軸J2的方向,以及用寬度X代表垂直于高度Z和深度Y的方向。用高度Z,寬度X及深度Y來表示三維正交坐標。
接下來,將參照圖5和6解釋使用離線示教裝置10以及如上所述構(gòu)成的操作路徑設(shè)置程序35來為多關(guān)節(jié)型機器人50設(shè)置操作路徑的過程。
在下面的描述中,將解釋如圖5所示的一個例子,其中焊槍裝置68在多個焊點(操作點)Tn(n=0,1,2,...)之間連續(xù)移動以執(zhí)行對于工件80的焊接,工件80為一薄板。
用包括執(zhí)行焊接的空間內(nèi)的三維正交坐標值(X,Y,Z)以及用于表明焊槍裝置68的姿勢的三個TCP參數(shù)的總共六個值來表示焊點Tn。
此外,已經(jīng)證實多關(guān)節(jié)型機器人50的焊槍裝置68能夠到達焊點Tn,并且當焊點Tn被焊接時焊槍裝置68的姿勢,即,向量Xr,向量Yr,以及向量Zr的值也被確定。
此外,根據(jù)本發(fā)明的該實施例,在離線示教裝置10內(nèi)多關(guān)節(jié)型機器人50,工件80,以及外圍結(jié)構(gòu)被作為虛擬模型對待。不過,在下面的描述中,將用與實際裝置相同的參考數(shù)字來表示這些元件。
工件80被作為由多個塊組成的模型來對待以便獲得高速處理。
在圖6所示的步驟S1中,離線示教裝置10的操作人員用預定操作方法啟動操作路徑設(shè)置程序35。并入離線示教裝置10內(nèi)的OS把存儲在硬盤34上的操作路徑設(shè)置程序35裝載到RAM 29上以執(zhí)行操作路徑設(shè)置程序35。通過該操作路徑設(shè)置程序35來執(zhí)行下一步驟S2以及隨后的處理。
隨后,在步驟S2中,設(shè)置通過連接焊點Tn而得到的一條暫時操作路徑90(見圖5)。操作路徑90可以是直線的如圖5所示,或者它也可以是輕易地操作多關(guān)節(jié)型機器人50所沿著的一條任意曲線。稍后所描述的操作路徑100,102,104,110,112可以按照與上述相同的方式來設(shè)置。
隨后,在步驟S3中,調(diào)查當將焊槍裝置68沿著暫時操作路徑90操作時多關(guān)節(jié)型機器人50是否能夠設(shè)置姿勢。此外,調(diào)查焊槍裝置68是否與操作路徑90內(nèi)的其它結(jié)構(gòu)或元件相干擾。
具體地,設(shè)置通過把操作路徑90劃分成具有微小長度的那些路徑而得到的劃分點。確定多關(guān)節(jié)型機器人50的姿勢,即,當把焊槍裝置68安排在各個劃分點上時所提供的旋轉(zhuǎn)角θ1-θ6。至于用于旋轉(zhuǎn)角θ1-θ6的計算方法,可以應用一種眾所周知的矩陣計算方法(下文稱作為“逆運算”),例如,對于多關(guān)節(jié)型機器人50的各個部分的大小以及由表示焊槍裝置68的姿勢的向量Xr,向量Yr,和向量Zr以及劃分點的空間位置坐標(X,Y,Z)所定義的總共六個值。
當焊槍裝置68的姿勢在焊點T0與T1之間不同時,可以用線性內(nèi)插的方式來在各個劃分點上定義向量Xr,向量Yr,以及向量Zr。在該調(diào)查中,假設(shè)焊極70,72被打開以使它們不會與工件80相干擾。
如果多關(guān)節(jié)型機器人50的姿勢固定在每個劃分點上,那么從焊點T0到焊點T1的操作被實際保證。
隨后,在步驟S4,判斷逆運算的解是否在每個劃分點上被正常確定。就是說,判斷TCP是否能夠到達劃分點。如果解未被確定,即使解被確定而如果角度值在軸J1到J6的可旋轉(zhuǎn)范圍外,或是如果多關(guān)節(jié)型機器人50在確定姿勢內(nèi)干擾(例如,與障礙物82,其它工件,以及工廠內(nèi)的柱子相干擾),那么程序進到步驟S5。如果解被正常確定,解在可旋轉(zhuǎn)范圍內(nèi),以及沒有干擾發(fā)生,那么程序進到步驟S7。
通過模擬電路40的作用來自動執(zhí)行干擾調(diào)查。當使用模擬電路40時,有可能可靠地執(zhí)行由于二維表示而從監(jiān)視器16的屏幕上來看不清楚的三維調(diào)查。
在步驟S5中,通過窄區(qū)域操作路徑設(shè)置部分35a的作用來設(shè)置用于從焊點T0到T1收回焊槍裝置68的窄區(qū)域操作路徑。稍后將描述為此的詳細方法。
隨后,在步驟S6中,把通過窄區(qū)域操作路徑得到的兩個收回位置Ue(見圖14)分別設(shè)置成起點P1和到達點P2以設(shè)置用于把焊槍裝置68從起點P1移到到達點P2的寬區(qū)域操作路徑。通過寬區(qū)域操作路徑設(shè)置部分35b的作用來執(zhí)行這一設(shè)置。稍后將描述為此的詳細方法。
在設(shè)置窄區(qū)域操作路徑以及寬區(qū)域操作路徑之后,程序進到步驟S7。
在步驟S7中,確定是否對在步驟S1內(nèi)設(shè)置的所有操作路徑90執(zhí)行該調(diào)查以完成該處理。如果存在未被調(diào)查的任一操作路徑90,那么程序返回到步驟S3以繼續(xù)調(diào)查。
如上所述,在本發(fā)明的該實施例中,通過操作路徑90把焊點Tn首先連到另個焊點上。如果操作路徑90未被如原樣應用,那么設(shè)置為了避開,例如,工件80以及障礙物82的任何突出部分的窄區(qū)域操作路徑。此外,設(shè)置寬區(qū)域操作路徑以便在通過設(shè)置窄區(qū)域操作路徑而得到的收回位置Ue之間進行移動。
當窄區(qū)域操作路徑被設(shè)置時,提取其中存在工件的部分以調(diào)查被焊槍裝置68部分圍繞的內(nèi)部空間內(nèi)的干擾。因此,有可能自動設(shè)置用于避免與工件的任何干擾的路徑。
當寬區(qū)域操作路徑被設(shè)置時,應用其中用指定方向內(nèi)的指定距離移動焊槍裝置68的模板操作。因此,有可能自動設(shè)置寬區(qū)域操作路徑而不需執(zhí)行可能受到工件80與障礙物82的形狀的影響的任何復雜計算。
此外,通過適合于各自處理的不同處理來執(zhí)行用于從工件80上的焊點Tn收回多關(guān)節(jié)型機器人50的焊槍裝置68的窄區(qū)域操作路徑的設(shè)置,以及用于從起點P1至到達點P2進行移動的寬區(qū)域操作路徑的設(shè)置。因此,有可能有效地設(shè)置焊點Tn之間的操作路徑。
接下來,將參照圖7-16解釋用于圖6所示步驟S5中的設(shè)置窄區(qū)域操作路徑的方法。
當窄區(qū)域操作路徑被設(shè)置時,主要使用三種方法以便確定用于從工件80的焊接部分收回焊槍裝置68的路徑。
首先,使用一種方法來從焊接部分到收回點直接進行移動。第二,使用一種方法來從該焊點到工件80的交叉部分上的重心進行移動。第三,使用一種方法來提取僅僅緊挨焊槍裝置68的開口布置的工件80的一個部分,以使得通過優(yōu)先使用該提取出的部分來確定收回路徑。
在圖7所示的步驟S101中,把多關(guān)節(jié)型機器人50的焊槍裝置68設(shè)在工件80的焊點T0被焊接的位置上。
焊點T0給出調(diào)整開始位置(Ts),并因此把它記錄到用于操作數(shù)據(jù)的暫時路徑表12上以執(zhí)行初始化(見圖10所示的次序1)。
如圖10所示,路徑表120包括“焊槍裝置的方向”的欄120a,“TCP的位置”的欄120b,以及“每個軸的角度”的欄120c?!懊總€軸的角度”的欄120c包括旋轉(zhuǎn)角θ1-θ6。
隨后,在圖7所示的步驟S102中,把位于焊點T0的焊槍裝置68的TCP設(shè)置為調(diào)查起點Ts。
隨后,在步驟103中,在臂74以及焊極70,72被觀察的焊槍裝置68的大致中心上確定中心點C(見圖11A)。按預定角寬度從中心點C設(shè)置放射狀的直線1090以確定在臂74以及焊極70,72的內(nèi)圓周側(cè)上的交點1092。
出于簡化解釋,在平面上確定交點1092。然而,實際上,同樣是通過利用深度方向上的數(shù)據(jù)來確定三維形狀內(nèi)的交點。因此,稍后將描述的工件模型(目標工件部分)1096以及下面描述的固體(或塊)1094將被作為三維形狀而不是作為平面形狀對待。
隨后,在步驟S104中,如圖11B所示,用一條線段連接多個交點1092,以設(shè)置用于構(gòu)成封閉間隔1092a的一條環(huán)形線1092b。在該封閉間隔1092a內(nèi)設(shè)置具有預定間隔距離的格形線,以提取存在于該格形線的交點的該封閉間隔1092a內(nèi)的交點1092c。
隨后,在步驟S105中,如圖12A所示,把正方形固體1094嵌入在所提取的交點1092c的中心周圍以使得不形成任何間隙以設(shè)置焊槍的內(nèi)部空間。
通過內(nèi)部空間定義部分35d的作用來執(zhí)行步驟S103-S105的處理。
隨后,在步驟S106中,如圖12B所示,安排工件80以使工件80與相對于焊槍裝置68及該焊槍內(nèi)部空間的相對位置相配。提取其中工件80與固體1094彼此覆蓋的一個部分作為工件模型1096(見圖12C)。然后,排除掉未被固體1094覆蓋的工件80的一部分80a,因為該部分與干擾調(diào)查無關(guān)。構(gòu)成工件模型1096的各個固體1094被辨別為工件固體1098。即使移動焊槍裝置68,初始位置對于工件模型1096和各個工件固體1098也是固定的。
通過工件提取部分35e的作用來執(zhí)行步驟S106內(nèi)的處理。
如上所述,處理被容易地執(zhí)行,這是因為把工件80作為具有多個塊的模型來對待。此外,不執(zhí)行無用的處理,因為工件80的任何不必要部分(例如,未被覆蓋的部分80a)都被自動排除。
隨后,在步驟S107中,通過主要組成分析技術(shù)來計算工件模型1096的主分量線(或參考線)M1。
將詳細解釋用于計算該主分量線M1的方法。如圖13A所示,確定各個工件固體1098的中心點坐標(Xs,Ys,Zs)。
隨后,如圖13B所示,使每個中心點坐標1098a與主分量線M1之間的距離的平方和s最小。確定主分量線M1以滿足下面的表達式。
∑|s|2=min具體地,各個中點坐標1098a被用來計算方差和協(xié)方差矩陣的本征值及本征向量,以及Xs,Ys,Zs被用來確定作為各個坐標X,Y,Z的平均值的重心位置G1。經(jīng)過重心位置G1的本征向量即為主分量線M1。
在下面的步驟S108-S112中,如圖14所示,調(diào)查當從調(diào)查起點Ts至收回位置Ue線性地執(zhí)行操作時是否引起任何干擾。
具體地,在步驟S108中,確定收回位置Ue。如圖14所示,該收回位置Ue存在于主分量線M1上的位置。移動基于焊槍裝置68的TCP的向量Xr同時保持與該主分量線M1一致。把焊槍裝置68與焊極70,72不干擾的地方設(shè)置成收回位置Ue。
隨后,在步驟S109中,根據(jù)由收回位置Ue指定的焊槍裝置68的位置以及姿勢來確定多關(guān)節(jié)型機器人的姿勢,即,旋轉(zhuǎn)角θ1-θ6。在該計算方法中,可以通過逆運算從用收回位置Ue的空間內(nèi)的位置坐標(X,Y,Z)以及用于表示焊槍裝置68的姿勢的向量Xr,Yr,以及Zr所指定的總共六個值中做出該確定。
隨后,在用于分支判斷的步驟S110中,判斷在步驟S109的逆運算中是否正常地確定了解。就是說,判斷TCP是否能夠到達收回位置Ue。如果解未被確定,即使確定了解而如果角度值在軸J1至J6的可旋轉(zhuǎn)范圍外,或者如果多關(guān)節(jié)型機器人50在該確定姿勢內(nèi)與其它結(jié)構(gòu)干擾,那么程序進到步驟S111。如果解被正常確定,那么程序進到步驟S112。
在對于干擾的調(diào)查中,尤其是當把X型焊槍68a用作為焊槍裝置時,對焊槍裝置的打開狀態(tài)及閉合狀態(tài)二者都要進行調(diào)查。
如果解未被正常確定,那么在步驟S111執(zhí)行旋轉(zhuǎn)操作以圍繞向量Yr的中心旋轉(zhuǎn)α°。旋轉(zhuǎn)操作意指在不引起與工件模型1096干擾的范圍內(nèi)圍繞收回位置Ue的中心旋轉(zhuǎn)焊槍裝置68的事實,如圖14所示用雙點劃線表示的。在該狀態(tài)內(nèi)確定向量Xr,向量Yr,以及向量Zr后,程序返回到步驟S109??梢约俣ń铅痢憔哂性谡较蚺c反方向二者上的角度值來執(zhí)行該調(diào)查。
如果由步驟S109-S111構(gòu)成的循環(huán)被連續(xù)執(zhí)行預定的次數(shù),那么在主分量線M1上更遠的并且在其上保持該多關(guān)節(jié)型機器人50的姿勢的適當位置上再次設(shè)置收回位置Ue。接著,程序進到下個步驟S112。
用于進行旋轉(zhuǎn)α°的處理不限于基于向量Yr的中心的處理。該處理可以存在于圍繞軸,例如,向量Xr或向量Zr的旋轉(zhuǎn)中??梢栽谙旅娴奶幚碇胁捎眠@一處理來按照與上述相同的方式旋轉(zhuǎn)。
接著,程序進到圖8所示的處理。在步驟S112中,由于被用圖14所示的路徑V1來表示,因此焊槍裝置68從調(diào)查起點Ts至收回位置Ue線性操作,以調(diào)查在臂74及焊極70,72與工件模型1096之間是否發(fā)生任何干擾。
在用于分支判斷的步驟S113中,如果根據(jù)步驟S112中的調(diào)查判定發(fā)生了任何干擾,那么程序進到步驟S114。如果判定未發(fā)生干擾,那么程序進到作為終止處理的步驟S131,因為能夠用一次操作來執(zhí)行收回操作。
如上所述,如果工件80的形狀簡單,那么就有可能縮短處理時間,這是因為能夠用一次操作來確定操作路徑。
在圖14所示的例子中,在沿著路徑V1的移動期間,焊極70明顯地干擾工件模型1096的突出部分1096a。在此情形下,程序進到步驟S114。
在下面的步驟S114-S118中,調(diào)查當從調(diào)查起點Ts到工件模型1096的重心G1線性地執(zhí)行操作時是否會出現(xiàn)干擾。
具體地,在步驟S114中,如圖15所示,定義連接調(diào)查起點Ts到重心位置G1的路徑V2。焊槍裝置68的姿勢被假設(shè),其中向量Xr與基于重心位置G1的路徑V2一致。
在步驟S115中,通過上述逆運算用該假設(shè)的姿勢來確定多關(guān)節(jié)型機器人50的姿勢。
隨后,在用于分支判斷的步驟S116中,調(diào)查是否按照與步驟S110相同的方式正常確定了該逆運算中的解。然后,除了該逆運算處理外,最好還調(diào)查焊槍裝置68是否干擾工件模型1096。
如果解未被正常地確定,那么執(zhí)行旋轉(zhuǎn)操作以按照與步驟S111中相同的方式圍繞向量Yr的中心旋轉(zhuǎn)α°(步驟S117)。在該狀態(tài)內(nèi)確定了向量Xr,向量Yr,以及向量Zr之后,程序進到步驟S115。
如果解被確定,那么在步驟S118中按照與步驟S112中相同的方式通過沿著路徑V2從調(diào)查起點Ts到重心位置G1線性地操作焊槍裝置68來調(diào)查干擾。
如果由步驟S115-S117構(gòu)成的循環(huán)被連續(xù)執(zhí)行預定次數(shù),那么判定焊槍裝置68不能被安排在重心位置G1上。在完成該處理后,程序進到作為掩模處理的步驟S124。
如果通過在上述步驟S118中執(zhí)行的調(diào)查以及稍后描述的步驟S130判定發(fā)生了任何干擾,那么程序經(jīng)由步驟S119進到步驟S124用于分支判斷。如果判定未發(fā)生任何干擾,那么程序進到下個步驟S120,假定該操作被成功地執(zhí)行直到重心位置。
在步驟S120中,把那一時刻上的多關(guān)節(jié)型機器人50的姿勢另外記錄在路徑表120上。
隨后,在步驟S121中,按照與步驟S112相同的方式從那一時刻的焊槍裝置68的位置到收回位置Ue線性地進行操作以調(diào)查是否發(fā)生干擾。在圖15所示的例子中,沿著主分量線M1進行調(diào)查。
在用于分支判斷的步驟S122中,如果通過步驟S121中的調(diào)查判定出現(xiàn)了任何干擾,那么程序進到步驟S123。如果判定未出現(xiàn)任何干擾,那么程序進到作為終止處理的步驟S131,這是因為能夠用該操作來執(zhí)行收回操作。
如果存在任何干擾,那么把那一時刻的焊槍裝置68的位置用作為步驟S123中的新的調(diào)查開始位置以執(zhí)行對于先前的調(diào)查開始位置Ts的更換的更新處理。即,在圖15所示的例子中,判定焊槍內(nèi)部空間外的部分不必再被考慮,因為焊槍裝置68被成功地收回到重心位置G1。因此,調(diào)查開始位置Ts同樣被更新以便再次在那一時刻設(shè)置工件模型1096。
按照與上述步驟S106中相同的方式來提取和更新工件固體1096。按照與上述步驟S107中相同的方式來確定新的主分量線M1以及新的重心位置G1以分別更新它們,并且之后程序返回到步驟S114。在程序返回到步驟S114后,繼續(xù)對于在步驟S123中所確定的新的工件固體1096,主分量線M1,以及重心位置G1的處理。
如上所述,未被包含在焊槍內(nèi)部空間內(nèi)的部分被從處理對象中成功地排除掉。因此,同樣有可能為具有任何復雜形狀的工件80確定用于收回焊槍裝置68的路徑。
不過,如果由步驟S114-S123構(gòu)成的循環(huán)被執(zhí)行少于預定的次數(shù),那么判定出非常難以為工件80收回焊槍裝置68。因此,結(jié)束處理以再制定計劃。
接下來,解釋作為如果在步驟S119中判定沿著路徑Vn(n=1,2,3,...)操作應有的出現(xiàn)的任何干擾時所執(zhí)行的處理的步驟S124-S130。在此情形下,僅僅位于接近于焊槍裝置68的開口的工件模型1096的那個部分被提取(或是服從掩模處理)以優(yōu)先使用該提取出的部分而確定收回路徑。
在圖9所示的步驟S124中,如圖16所示,基于重心位置G1把位于焊槍裝置68的開口側(cè)上的工件模型1096的一部分指定為新的對象工件部分1096c,并把該部分與位于該開口相反一側(cè)上的一部分1096c區(qū)別開來。在辨別處理中,該處理被考慮以便僅僅為靠近開口布置的那一部分而收回焊槍裝置68。該處理專供位于該開口相反一側(cè)上的那一部分1096c之用以提取該開口的新的對象工件部分1096b。用直到作為下游處理的步驟S125-S130的要被處理的該新的對象工件部分1096b來取代工件模型1096。
隨后,在步驟S125中,按照與上述步驟S107中的處理相同的方式確定與該新的對象工件部分1096b有關(guān)的主分量線M2以及重心位置G2。
在步驟S126中,按照與上述步驟S114中相同的方式來定義用于連接調(diào)查開始位置Ts與重心位置G2的路徑V3來假設(shè)其中向量Xr被允許與基于重心位置G2的路徑V3一致的焊槍裝置68的姿勢。
隨后,在步驟S127中,按照與上述步驟S115中相同的方式通過逆預算用所假設(shè)的姿勢來確定多關(guān)節(jié)型機器人50的姿勢。
隨后,在用于分支判斷的步驟S128中,按照與上述步驟S116中相同的方式來調(diào)查該逆運算的解是否被正常地確定。
如果解未被正常確定,那么執(zhí)行旋轉(zhuǎn)操作以按照與上述步驟S117中相同的方式圍繞向量Yr的中心旋轉(zhuǎn)α°(步驟S129)。程序返回到步驟S127。
如果解被確定,在步驟S130中,那么沿著從調(diào)查開始位置Ts到重心位置G2的路徑V3線性地操作焊槍裝置68以按照與上述步驟S118中相同的方式調(diào)查干擾。程序返回到步驟S119以判斷該干擾調(diào)查。
如上所述,即使在為了整個工件模型1096的目的而提取路徑時沒有找到適當?shù)穆窂?,那么通過把掩模處理應用于該工件模型1096,只有緊靠焊槍裝置68的開口設(shè)置的新的對象工件部分1096b能夠被優(yōu)先使用來確定收回路徑。此外,在下游處理中,通過在上述步驟S123中結(jié)合對于工件模型1096的更新處理而把工件模型1096連續(xù)地變換成具有簡單形狀的一個模型,使得容易確定收回路徑。
如果由步驟S127-S129構(gòu)成的循環(huán)被連續(xù)執(zhí)行預定次數(shù),那么判定不能夠把焊槍裝置68安排在重心位置G2上。程序返回到步驟S124以便執(zhí)行進一步的掩模處理。然而,如果掩模處理被執(zhí)行不少于預定的次數(shù),那么就判定該掩模處理對于工件80的形狀無效。程序返回到不帶掩模處理使用的收回處理步驟S120以再次計算收回路徑。
在作為終止處理的步驟S131中,例如,把作為調(diào)查結(jié)束位置的收回位置Ue的坐標以及向量數(shù)據(jù)作為操作數(shù)據(jù)加到路徑表120中(見圖10)。在它們之中,Un作為操作數(shù)據(jù)被插到路徑表120內(nèi)的各個焊接點Tn之間。接著,程序返回到圖6所示的處理。
如上所述,即使在為了整個工件模型1096的目的而提取路徑時沒有找到適當?shù)穆窂?,那么通過把掩模處理應用于該工件模型1096,只有緊靠焊槍裝置68的開口設(shè)置的那一部分能夠被優(yōu)先使用來確定收回路徑。此外,在下游處理中,通過在上述步驟S123中結(jié)合對于工件模型1096的更新處理而把工件模型1096連續(xù)地變換成具有簡單形狀的一個模型,使得容易確定收回路徑。
在上述解釋中,已經(jīng)描述了用于確定路徑來把焊槍裝置68從工件80的焊點收回的技術(shù)。至于使焊槍裝置68推進到焊點的路徑,可以通過顛倒路徑表120內(nèi)的順序來獲得該推進路徑。
已經(jīng)把主分量線用作為用于工件模型1096的參考線。如果工件模型1096的形狀被用直線或曲線來表示,則可以使用另外的參考線諸如基于最小正方形方法的直線或是具有任意順序的曲線。
接下來,將參照圖17-21解釋用于在圖6所示的步驟S6中設(shè)置寬區(qū)域操作路徑的方法。
在下面的描述中,如圖17所示,將對其中從安放了作為薄板的工件80的起點P1至到達點P2操作焊槍裝置68的例子進行解釋。假設(shè)障礙物82存在于該起點P1與到達點P2之間。把在如上所述設(shè)置窄區(qū)域操作路徑中所確定的收回位置Ue作為起點P1與到達點P2對待。
在圖18所示的步驟S201中,由離線示教裝置10的操作人員通過預定的操作方法來執(zhí)行操作路徑設(shè)置程序35的寬區(qū)域操作路徑設(shè)置部分35b。可以在設(shè)置窄區(qū)域操作路徑后連續(xù)執(zhí)行該處理。
在步驟S202中,寬區(qū)域操作路徑設(shè)置部分35b從硬盤34讀取作為用于設(shè)置操作路徑的條件的條件數(shù)據(jù)37,并且該數(shù)據(jù)被存入RAM 29。進一步地,從該條件數(shù)據(jù)37中識別出用于設(shè)置操作路徑的起點P1和到達點P2,以及工件80的形狀和障礙物82的位置或諸如此類。
隨后,在步驟S203中,設(shè)置連接起點P1與到達點P2的操作路徑(路徑)100以調(diào)查在沿著操作路徑100操作焊槍裝置68時對姿勢建立的接受或拒絕以及任何干擾的出現(xiàn)。
具體地,通過路徑調(diào)查部分35c的作用來設(shè)置通過把操作路徑100劃分成具有微小長度的那些路徑而得到的劃分點。借助于逆運算來確定在把焊槍裝置68安排在各個劃分點上時所得到的多關(guān)節(jié)型機器人50的姿勢,即,旋轉(zhuǎn)角θ1-θ6。
當焊槍裝置68的姿勢在起點P1與到達點P2之間不同時,可以按照線性內(nèi)插的方式來在各個劃分點上定義用于表示焊槍裝置68的姿勢的向量Xr,向量Yr,以及向量Zr。在該調(diào)查中,假定焊極70,72被打開以使它們不會干擾工件80。
如果多關(guān)節(jié)型機器人50的姿勢固定在每個劃分點上,那么實際保證了從起點P1到到達點P2的操作。
稍后描述的步驟S206,S212,S215,S218,S224,以及S227也通過路徑調(diào)查部分35c的作用來執(zhí)行。
在步驟S204中,判斷該逆運算的解是否在各個劃分點上被正常確定。具體地,判斷TCP是否能夠到達劃分點。如果解未被確定,即使解被確定而如果角度值在軸J1-J6的可旋轉(zhuǎn)范圍外,或是如果多關(guān)節(jié)型機器人50在該確定姿勢內(nèi)干擾障礙物82或類似物,那么程序進到步驟S205。如果解被正常確定,那么在步驟S229中執(zhí)行用于寬區(qū)域操作路徑的設(shè)置的終止處理。
模擬電路40的干擾功能可以用于干擾的發(fā)生。
在圖19所示的步驟S205中,為了避免障礙物82或建立姿勢,從起點P1對焊槍裝置68應用模板操作以設(shè)置一第一接合點Q1。在此情形中,該模板代表將由多關(guān)節(jié)型機器人50執(zhí)行的指定操作。
假定把第一模板應用于起點P1與到達點P2。
如圖21所示,第一模板存在于其中通過根據(jù)焊槍裝置68的TCP而設(shè)置指定距離在指定方向上操作來獲得該第一接合點Q1的操作中,并沿著操作路徑(折回路徑)102(見圖17)移動焊槍裝置68來連接起點P1與第一接合點Q1。通過移動起點P1的位置來得到第一接合點Q1。假設(shè)該起點P1所占有的焊槍裝置68的方向,即TCP的方向未被改變。
一般地,為了正確地執(zhí)行焊接操作,把向量Zr設(shè)置成與工件80垂直。因此最好該指定方向為用于焊槍裝置68的收回方向,即與向量Xr相反的方向??梢愿鶕?jù)焊槍裝置68的大小來預先指定用于該指定距離的一個距離,能夠用該距離足以使焊槍裝置68脫離開工件80。在普通大小的焊槍裝置中,該指定距離最好為100mm。
第一模板提供用于薄板的有效收回方法,該薄板為普通的工件。有可能根據(jù)預定的簡便收回方法來設(shè)置操作路徑而不受工件形狀的影響。
隨后,在步驟S206中,按照與步驟S203中相同的方式來調(diào)查在第一接合點Q1上多關(guān)節(jié)型機器人50的姿勢建立的接受或拒絕以及與周邊障礙物相干擾的發(fā)生。
隨后,在步驟S207中,作為步驟S206的調(diào)查結(jié)果如果判定多關(guān)節(jié)型機器人50的姿勢固定在第一接合點Q1并且不存在干擾,那么程序進到步驟S212。否則,程序進到步驟S208。
在步驟S208中,為了得到在第一接合點Q1上的適當姿勢,設(shè)置姿勢,其中用預定角度圍繞向量Xr,Yr,或Zr的中心旋轉(zhuǎn)焊槍裝置68。該旋轉(zhuǎn)處理與步驟S209一起執(zhí)行作為下一個判斷處理以對所有向量Yr,Zr,以及Xr進行連續(xù)旋轉(zhuǎn)。
隨后,在步驟S209中,確認用一個接一個的預定角度加起來的旋轉(zhuǎn)角度是否到達360°。如果所加起來的角度少于360°,則程序進到步驟S206以判斷多關(guān)節(jié)型機器人50的姿勢。
如果即使對向量Xr,向量Yr,以及向量Zr中的每一個執(zhí)行360°的旋轉(zhuǎn)也未在第一接合點Q1上獲得適當?shù)淖藙?,則在步驟S210中在朝向起點P1的方向上的用預定距離所返回的位置處再次設(shè)置第一接合點Q1。就是說,如果在距起點P1 100mm距離處設(shè)置第一接合點Q1,則在朝向起點P1的方向上該點被返回10mm以在90mm位置處再次設(shè)置該點。
隨后,在步驟S211中,第一接合點Q1的返回距離的總和值被確認。如果把該點返回到作為原點的起點P1,那么處理停止,并且再次作出計劃。如果該點未被返回到起點P1,即,如果給定10-90mm的范圍,則程序進到步驟S206以判斷多關(guān)節(jié)型機器人50的姿勢。
在步驟S212中(如果在上述步驟S207的判斷中判定多關(guān)節(jié)型機器人50的姿勢固定并且未引起干擾),當沿著操作路徑102操作焊槍裝置68時用與步驟S203中同樣的處理來執(zhí)行對于姿勢建立的接受或拒絕以及發(fā)生干擾的調(diào)查。
隨后,在步驟S213中,按照與步驟S204中相同的方式來進行判斷。如果判定多關(guān)節(jié)型機器人50的姿勢固定在操作路徑102的劃分點上并且能夠沿著操作路徑102執(zhí)行操作,則程序進到下一步驟S214。如果判定不能執(zhí)行操作,則程序返回到步驟S210以進一步改變第一接合點Q1的位置。
在步驟S214中,確認第一接合點Q1與第一接合點Q2中的兩個被設(shè)置用于起點P1及到達點P2。程序進到下一步驟S215。如果對應于到達點P2的第一接合點Q2未被設(shè)置,則程序返回到圖19所示的步驟S205。
隨后,在步驟S215中,當沿著操作路徑104操作焊槍裝置68時設(shè)置用于連接兩個第一接合點Q1與Q2的操作路徑104以調(diào)查對姿勢建立的接受或拒絕以及干擾的反生。
具體地,執(zhí)行該處理同時指定第一接合點Q1為新的起點以及第一接合點Q2為新的到達點。按照與上述步驟S203中調(diào)查起點P1與到達點P2之間的路徑的相同方式來對操作路徑104進行調(diào)查。
隨后,在步驟S216中,按照與步驟S204中相同的方式進行判斷。如果判定多關(guān)節(jié)型機器人50的姿勢固定在操作路徑104的劃分點上并且能夠沿著操作路徑104執(zhí)行操作,則在圖18所示的步驟S229中執(zhí)行對于寬區(qū)域操作路徑的設(shè)置的終止處理。如果判定不能執(zhí)行操作,則程序進到下一步驟S217。
在圖20所示的步驟S217中,為了避免障礙物82,從第一接合點Q1對焊槍裝置68應用模板操作以設(shè)置一第二接合點R1。
假定把第二模板應用于第一接合點Q1(及Q2)。
如圖21所示,使用第二模板以設(shè)置用于連接第一接合點Q1與預定建立點106之間的直線108,并把第二接合點R1定義成通過從該直線108上的第一接合點Q1移動預定距離而得到的點。
通過對第一接合點Q1僅僅移動該空間位置來得到第二接合點R1。假定第一接合點Q1所占有的焊槍裝置68的方向,即,TCP的方向未被改變。
為已經(jīng)脫離開工件80的焊槍裝置68提供該第二模板以便在不存在干擾障礙物82的方向上操作。在朝向原點O的具有較低的存在障礙物82的可能性的自由空間的方向上進行移動。即,一般地,障礙物82往往是在靠近原點O的地方不存在以使多關(guān)節(jié)型機器人50的操作不被阻止。當在該方向上進行操作時,避免障礙物82的可能性被更好地增大。此外,對于普通大小的多關(guān)節(jié)型機器人,該指定距離最好為100mm。
除了原點O外的那些點也可被用作為建立點106。如果存在其上不存在障礙物82的任何地方或是如果存在在其上容易執(zhí)行操作的任何地方,那么可以把這樣的地方用來做建立點106。例如,當把多關(guān)節(jié)型機器人50的操作范圍表示在該空間內(nèi)時,設(shè)想操作自由度在中心位置上最大。因此,這一位置可以被用來做建立點106。
隨后,在步驟S218中,按照與步驟S203中相同的方式來調(diào)查對在第二接合點R1上多關(guān)節(jié)型機器人50的姿勢建立的接受或拒絕以及與周邊障礙物的任何干擾的發(fā)生。
隨后,在步驟S219中,作為步驟S218中的調(diào)查結(jié)果如果判定多關(guān)節(jié)型機器人50的姿勢固定在該第二接合點R1上并且不存在干擾,則程序進到步驟S220。
在步驟S220中,為了獲得在第二接合點R1上的適當姿勢,設(shè)置姿勢,其中按照與步驟S208中相同的方式用預定角度圍繞向量Xr,Yr,或Zr的中心旋轉(zhuǎn)焊槍裝置68。
隨后,在步驟S221中,確認用一個接一個的預定角度加起來的旋轉(zhuǎn)角度是否到達360°。如果所加起來的角度少于360°,則程序進到步驟S218以判斷多關(guān)節(jié)型機器人50的姿勢。
如果即使對向量Xr,向量Yr,以及向量Zr中的每一個執(zhí)行360°的旋轉(zhuǎn)也未在第二接合點R1上獲得適當?shù)淖藙?,則在步驟S222中在朝向建立點106的方向上的通過移動預定距離而得到的位置處再次設(shè)置第二接合點R1。就是說,如果在距第一接合點Q1 100mm距離處設(shè)置第二接合點R1,則在朝向建立點106的方向上該點被進一步移動100mm以在200mm位置處再次設(shè)置該點。
隨后,在步驟S223中,確認第二接合點R1的移動距離的總和值。如果該點到達建立點106,則處理停止,并且再次作出計劃。如果該點未到達建立點106,則程序進到步驟S218以判斷多關(guān)節(jié)型機器50的姿勢。
在步驟S224中(如果在上述步驟S219的判斷中判定多關(guān)節(jié)型機器人50的姿勢固定并且未引起干擾),設(shè)置用于連接第一接合點Q1與第二接合點R1的操作路徑(折回路徑)110。沿著操作路徑110操作焊槍裝置68時通過與步驟S203中相同的處理來執(zhí)行對于姿勢建立的接受或拒絕以及發(fā)生干擾的調(diào)查。
隨后,在步驟S225中,按照與步驟S204中相同的方式來進行判斷。如果判定多關(guān)節(jié)型機器人50的姿勢固定在操作路徑110的劃分點上并且能夠沿著操作路徑110執(zhí)行操作,則程序進到下一步驟S226。如果判定不能執(zhí)行操作,則程序返回到步驟S222以進一步改變第一接合點Q1的位置。
在步驟S226中,確認第二接合點R1及R2中的兩個被設(shè)置用于第一接合點Q1及Q2。程序進到下一步驟S227。如果對應于第一接合點Q2的第二接合點R2未被設(shè)置,則程序返回到步驟S217。
隨后,在步驟S227中,設(shè)置用于連接兩個第二接合點R1與R2的操作路徑112以按照與步驟S203中相同的方式來執(zhí)行對操作路徑112上的操作的調(diào)查。
隨后,在步驟S228中,按照與步驟S204中相同的方式進行判斷。如果判定多關(guān)節(jié)型機器人50的姿勢固定在操作路徑112的劃分點上并且能夠沿著操作路徑112執(zhí)行操作,則執(zhí)行用于寬區(qū)域操作路徑的設(shè)置的終止處理。如果判定由于干擾障礙物或類似物而不能執(zhí)行操作,則程序返回到步驟S222,并進一步移動兩個第二接合點R1,R2以重復處理直到操作路徑固定。
在完成從起點P1至到達點P2的操作路徑的設(shè)置后,在圖18所示步驟S229中執(zhí)行用于寬區(qū)域操作路徑的設(shè)置的終止處理。該終止處理包括,例如,把設(shè)置的寬區(qū)域操作路徑記錄到路徑表120上(見圖10)。被包含在該設(shè)置的操作路徑內(nèi)的起點P1,第一接合點Q1,第二接合點R1,第二接合點R2,第一接合點Q2,以及到達點P2被記錄到路徑表120上的操作次序內(nèi)。特別地,記錄圍繞多關(guān)節(jié)型機器人50的各個坐標軸的旋轉(zhuǎn)角θ1-θ6的值以及表示TCP和各個點上的位置坐標(X,Y,Z)的向量Xr,向量Yr,以及向量Zr的值。
記錄在路徑表120上的操作路徑由數(shù)據(jù)準備電路38轉(zhuǎn)換成用于操作實際多關(guān)節(jié)型機器人50的程序數(shù)據(jù),并且把該數(shù)據(jù)傳送給機器人控制單元22。
把路徑表120記錄在RAM 29及硬盤34內(nèi)。不過,如果需要的話,可以打印或是在監(jiān)視器16的屏幕上顯示路徑表120。
在前面的描述中,操作路徑104是一條用于連接第一接合點Q1與Q2的路徑。另一方面,可以把第一模板僅僅應用于起點P1一側(cè)上以確定第一接合點Q1,并且可以照原樣對到達點P2安排該應用以設(shè)置用于連接第一接合點Q1與到達點P2的路徑。
至于操作路徑112,例如,可以按照與上述相同的方式來設(shè)置連接第二接合點與第一接合點Q2的路徑。
當對除了到達點P2之外的另一點進行操作時,也可以使用作為用于從起點P1進行折回的折回路徑的操作路徑102,110。
被首先應用于第一模板的指定距離為100mm。另一方面,從10mm開始,可以把距離延長到20mm和30mm。
可以根據(jù)關(guān)于,例如,工件80以及障礙物82的狀況而顛倒第一與第二模板的應用順序。
所設(shè)置的操作路徑120表示從起點P1到到達點P2的寬區(qū)域操作路徑或是用于代表從焊點Tn的收回操作的窄區(qū)域操作路徑。不過,操作路徑是可逆的,并且可以依據(jù)從到達點P2到起點P1的操作而使用它們。此外,可以利用該路徑最多到一中間位置而不需使用整個操作路徑。
此外,本發(fā)明的該實施例可適用于,例如,除焊接機器人之外的裝配機器人以及涂敷(applying)機器人。多關(guān)節(jié)型機器人50可以具有一七軸結(jié)構(gòu)或者是具有,例如,連接機構(gòu)或擴展/收縮機構(gòu)的結(jié)構(gòu)。
如上所述,根據(jù)本發(fā)明的該實施例,首先設(shè)置用于連接起點P1與到達點P2的操作路徑100以調(diào)查是否能夠沿著該操作路徑100來操作焊槍裝置68。因此,如果能夠沿著該操作路徑100來操作焊槍裝置68,則能夠非常方便地設(shè)置操作路徑而不需提供任何用于操作的接合點或類似物。即使不能執(zhí)行操作路徑100上的操作,也可以通過在作為從起點P1或到達點P2的規(guī)定方向的向量Xr的相反方向上的規(guī)定距離而把第一模板應用于操作。因此,能夠自動和有效地設(shè)置第一接合點Q1與Q2而不需執(zhí)行任何復雜的計算并且無需受工件80的形狀的影響。
根據(jù)在被設(shè)想為對于工件80最容易折回焊槍裝置68的方向上所設(shè)置的規(guī)定方向上的焊槍裝置68的大小,通過規(guī)定距離而把第一模板用于操作,用該規(guī)定距離足以能使焊槍裝置68從工件80折回。因此,盡管該方法是方便的,但是成功的可能性以及從工件80的安全折回是高的。此外,例如,在步驟S206中,該安全性被驗證。因此,當實際操作多關(guān)節(jié)型機器人50時,不擔心干擾或諸如此類的事物。
根據(jù)本發(fā)明的該實施例,如果被設(shè)置在折回路徑上的第一接合點Q1,Q2或第二接合點R1,R2是多關(guān)節(jié)型機器人50不能夠到達的或是其上發(fā)生了任何干擾的點,則修正第一與第二模板的規(guī)定距離以再次設(shè)置第一接合點Q1,Q2或第二接合點R1,R2的位置。因此,有可能設(shè)置更好的折回位置。
至于第二模板,該規(guī)定方向為朝向原點O的用于多關(guān)節(jié)型機器人的坐標計算的方向。因此,與障礙物82干擾的可能性低。
此外,根據(jù)本發(fā)明的該實施例,把第一模板與第二模板結(jié)合應用。焊槍裝置68被首先用第一模板從工件80折回,并且之后焊槍裝置68被用第二模板從另一障礙物82或類似物折回從而驗證安全性。因此,有可能自動有效地設(shè)置折回路徑以及寬區(qū)域操作路徑而不需執(zhí)行任何復雜的計算。因而,當然有可能改進離線示教數(shù)據(jù)的質(zhì)量而不需依賴于操作人員的技能。
當然重要的是本發(fā)明的用于多關(guān)節(jié)型機器人的操作路徑的設(shè)置方法及設(shè)置裝置不限于上述說明性的實施例,其可以用其它各種形式來體現(xiàn)而不背離本發(fā)明的要點或是本質(zhì)特性。
權(quán)利要求
1.一種為多關(guān)節(jié)型機器人(50)設(shè)置操作路徑用于從起點(P1,Q1)至到達點(P2,Q2)操作一末端執(zhí)行器(68)的方法,所述方法包括操作調(diào)查步驟,設(shè)置用于連接所述起點(P1,Q1)與所述到達點(P2,Q2)的路徑(100,104)以調(diào)查是否能夠沿著所述路徑(100,104)操作所述末端執(zhí)行器(68);以及折回路徑設(shè)置步驟,如果在所述操作調(diào)查步驟中不能沿著所述路徑(100,104)操作所述末端執(zhí)行器(68),則設(shè)置一折回路徑用于在指定方向上從所述起點(P1,Q1)或所述到達點(P2,Q2)用指定距離來操作所述末端執(zhí)行器(68)。
2.根據(jù)權(quán)利要求1的為所述多關(guān)節(jié)型機器人(50)設(shè)置所述操作路徑的方法,其中所述指定方向是基于在所述起點(P1,Q1)或所述到達點(P2,Q2)上的所述末端執(zhí)行器(68)的姿勢所預定的。
3.根據(jù)權(quán)利要求1的為所述多關(guān)節(jié)型機器人(50)設(shè)置所述操作路徑的方法,其中所述指定方向是連接所述起點(P1,Q1)或所述到達點(P2,Q2)與空間內(nèi)的建立點(106)的方向。
4.根據(jù)權(quán)利要求3的為所述多關(guān)節(jié)型機器人(50)設(shè)置所述操作路徑的方法,其中所述建立點是所述多關(guān)節(jié)型機器人(50)的原始軸的中心點(0)。
5.根據(jù)權(quán)利要求1的為所述多關(guān)節(jié)型機器人(50)設(shè)置所述操作路徑的方法,其中把所述折回路徑(102,110)的終點定義為新的起點或新的到達點以再次執(zhí)行所述操作調(diào)查步驟或所述折回路徑設(shè)置步驟。
6.根據(jù)權(quán)利要求1的為所述多關(guān)節(jié)型機器人(50)設(shè)置所述操作路徑的方法,其中如果所述折回路徑(102,110)的終點是所述多關(guān)節(jié)型機器人(50)不能到達的點或是其上發(fā)生干擾的點,則再次設(shè)置所述折回路徑(102,110),所述指定距離在所述折回路徑(102,110)內(nèi)被校正。
7.一種為多關(guān)節(jié)型機器人(50)設(shè)置操作路徑用于從起點(P1,Q1)至到達點(P2,Q2)操作一末端執(zhí)行器(68)的裝置,所述裝置包括路徑調(diào)查部件(35c),用于設(shè)置用于連接所述起點(P1,Q1)與所述到達點(P2,Q2)的路徑(100,104)以調(diào)查是否能夠沿著所述路徑(100,104)操作所述末端執(zhí)行器(68);以及寬區(qū)域操作路徑設(shè)置部件(35b),用于如果所述路徑調(diào)查部件(35c)判定不能沿著所述路徑(100,104)操作所述末端執(zhí)行器(68),則設(shè)置一折回路徑用于在指定方向上從所述起點(P1,Q1)或所述到達點(P2,Q2)用指定距離來操作所述末端執(zhí)行器(68)。
全文摘要
通過連接由計算機生成的虛擬空間內(nèi)的多個焊接點(Tn)來設(shè)置一臨時操作路徑以調(diào)查是否能夠沿著該臨時操作路徑操作末端執(zhí)行器(68)。如果該操作不能被運行,則自動設(shè)置一條避免與工件(80)干擾的路徑同時提取其中工件(80)存在于被該末端執(zhí)行器(68)所包圍的內(nèi)部空間內(nèi)的一個部分以便設(shè)置用于把該末端執(zhí)行器(68)從一焊接點(Tn)收回的窄區(qū)域操作路徑。接著,為了設(shè)置用于在收回點(Ue)之間進行移動的寬區(qū)域操作路徑,使用一模板操作,其中在指定方向上用指定距離來移動該末端執(zhí)行器(68)。
文檔編號G05B19/4061GK1861331SQ20061008443
公開日2006年11月15日 申請日期2001年11月22日 優(yōu)先權(quán)日2001年2月19日
發(fā)明者柴田薰, 中島陵, 金子正勝 申請人:本田技研工業(yè)株式會社