[0059]進而,在圖5中的“時間”的欄中,如果從過去的某個時點、例如從靈活控制開始時刻經(jīng)過了什么程度的時間,則設(shè)定動作狀態(tài)監(jiān)視部21進行催促參數(shù)組切換的輸出。如果用戶向“位置”和“速度”欄錯誤地輸入了不自然的值,則有時無法正確地檢測機器人的動作開始而不切換參數(shù)組。即使在這樣的情況下,也能夠通過如上述那樣設(shè)定“時間”的欄來切換參數(shù)組。
[0060]進而,在圖5中的“力”的列中,如果從過去的某個時點、例如從靈活控制開始時刻開始向機器人R的末端執(zhí)行器E施加的力和當前向末端執(zhí)行器E施加的力之間的差為哪個值以上,則設(shè)定動作狀態(tài)監(jiān)視部21進行催促參數(shù)組切換的輸出。通過力傳感器SI?Sn檢測該力。由此,在機器人R與外圍設(shè)備等沖撞的情況下,能夠切換參數(shù)組。
[0061]將圖4A、圖4B以及圖5所示的輸入結(jié)果存儲在機器人控制裝置RC的存儲部22中。此外,在圖4和圖5中表示出第一個參數(shù)組,也同樣地設(shè)定第二個以后的參數(shù)組。在本發(fā)明中,在動作程序內(nèi)指定切換為第幾個參數(shù)組這樣的切換條件。將在后面說明該情況。
[0062]接著,關(guān)于圖3的步驟S3,使用上述的參數(shù)組和切換條件,使機器人R實際執(zhí)行靈活控制。在此,圖6A?圖6C是表示機器人利用靈活控制把持工件的作業(yè)的圖。在圖6A等中,在模具M內(nèi)形成有工件W。另外,在預先形成在該模具M中的貫通孔中配置有用于擠壓工件W的汽缸C。在圖6B中,機器人R的末端執(zhí)行器E把持工件W的一側(cè)。然后,如圖6C所示那樣,通過汽缸C擠壓工件W的另一側(cè),將工件W從模具M中擠壓,并且機器人R的末端執(zhí)行器E將工件W從模具M中拉出。
[0063]在機器人控制裝置RC中預先準備了記載了執(zhí)行靈活控制的指令句的執(zhí)行程序。然后,通過調(diào)用執(zhí)行程序來執(zhí)行靈活控制。
[0064]在此,圖7A是表示現(xiàn)有技術(shù)的執(zhí)行程序的例子的圖。該執(zhí)行程序被顯示在演示操作盤TP的液晶顯示器15上。另外,圖7B是表示現(xiàn)有技術(shù)的機器人控制裝置的基本結(jié)構(gòu)的圖。在圖7B中,排除了動作狀態(tài)監(jiān)視部21,在機器人控制裝置RC內(nèi)表示出作業(yè)指令輸入部29 ο
[0065]在圖7Α所示的現(xiàn)有技術(shù)的執(zhí)行程序A的第一行中,按照第一個參數(shù)組開始了靈活控制。接著,在第3行中關(guān)閉末端執(zhí)行器Ε。然后,在第5行中,到汽缸C擠壓工件W的開始信號DI (I)成為開為止待機。在第7行中,在作業(yè)指令輸入部29接收到擠壓開始信號DI后,按照第2個參數(shù)組開始靈活控制。然后,在第9行中,待機10秒鐘。該時間是將工件W從模具M中擠壓所需要的時間,根據(jù)工件W和模具M的尺寸適當?shù)剡M行變更。最終,在第11行中結(jié)束靈活控制。
[0066]然后,圖8是表示本發(fā)明的執(zhí)行程序的例子的圖。將該執(zhí)行程序顯示在演示操作盤TP的液晶顯示器15中。在圖8所示的現(xiàn)有技術(shù)的執(zhí)行程序B的第一行中,記載了“新靈活控制開始(參數(shù)組=1_>2,沖撞=3)”。這表示按照第一個參數(shù)組開始靈活控制,在機器人的各軸的位置或速度超過各個閾值時切換為第2個參數(shù)組而進行靈活控制,在施加到機器人的各軸的力或施加到末端執(zhí)行器E的力超過了閾值時,切換為第3個參數(shù)組而進行靈活控制。
[0067]然后,在第3行中關(guān)閉末端執(zhí)行器Ε。然后,在第5行中待機15秒鐘。該時間是到汽缸C開始擠壓為止的時間和將工件W從模具M中擠壓所需要的時間的合計時間。也根據(jù)工件W和模具M的尺寸來適當?shù)刈兏摃r間。最終,在第7行中結(jié)束靈活控制。
[0068]以下,說明這樣的本發(fā)明的效果。
[0069]首先,一邊由機器人R進行靈活控制,一邊通過安裝在前端的機械接口上的末端執(zhí)行器E把持工件W。工件W的尺寸每次都有偏差,因此在把持工件W時,理想的是在所有的方向上模仿機器人R使得工件W和末端執(zhí)行器E不受到損傷,由此吸收偏差。在最初應(yīng)用的第一個參數(shù)組中設(shè)定這樣的靈活性。例如,將X方向的彈簧常數(shù)、Z方向的彈簧常數(shù)的雙方都設(shè)為10(kgf/m)而進行靈活控制。在該情況下,如果用0.l(kgf)的力關(guān)閉末端執(zhí)行器E,則能夠在XZ平面中吸收0.01 (m)以下的偏差(可以參照圖6B)。
[0070]然后,理想的是在與汽缸C對工件W的擠壓同步的適當?shù)亩〞r下,切換靈活控制的參數(shù)組。如上述那樣在現(xiàn)有技術(shù)中,由擠壓工件W—側(cè)發(fā)送擠壓開始信號DI。然后,機器人控制裝置RC到接收到擠壓開始信號DI為止,按照執(zhí)行程序A的第5行中的“待機DI (I)=0N”進行待機。S卩,保留了切換參數(shù)組。但是,在該方式中,擠壓開始信號DI的電氣延遲和汽缸C的擠壓作用的物理延遲是獨立的,因此存在不保證正確的同步的問題。
[0071]與此相對,在本發(fā)明中,在按照第一個參數(shù)組執(zhí)行靈活控制時各軸在X方向上只移動了 10(_)的情況下,切換為第2個參數(shù)組。在圖8所示的執(zhí)行程序B的第一行中記載了切換后的參數(shù)組是第2個參數(shù)組的情況。另外,在圖5的輸入畫面中的“X方向”的欄中設(shè)定“各軸在X方向上只移動了 10(mm)的情況”這樣的判斷基準。此外,在切換前的第一個參數(shù)組中,設(shè)定了能夠在所有方向上移動的靈活性,因此能夠在X方向上移動1 (mm)。
[0072]由此,機器人控制裝置RC的參數(shù)組切換作業(yè)與汽缸C對工件W的擠壓作用同步。通過機器人控制裝置RC內(nèi)部的處理進行這樣的切換作業(yè)就足夠了,因此不需要使用復雜的外圍設(shè)備。
[0073]接著,機器人R —邊保持一邊運送從模具M中擠壓的工件W。這時,如果末端執(zhí)行器E的姿勢變化,則向末端執(zhí)行器E施加力矩。進而,如果末端執(zhí)行器E向與擠壓方向垂直的方向(在此為Z方向)運動,則存在末端執(zhí)行器E從模具M受到應(yīng)力的問題。
[0074]因此,理想的是只在限定為不對工件W、末端執(zhí)行器E施加負擔的正交方向、即與擠壓方向平行的方向(在此為X方向)上使機器人R進行跟隨。在切換后的第2個參數(shù)組中設(shè)定這樣的靈活性。例如,設(shè)為X方向的彈簧常數(shù)10 (kgf/m)、Z方向的彈簧常數(shù)地進行靈活控制(可以參照圖6C)。在該情況下,在汽缸C以X方向的分量為3 (kgf)的力來擠壓末端執(zhí)行器E時,機器人R可以只向X軸方向擠壓0.3 (m)的距離。
[0075]在這樣的作業(yè)中,機器人控制裝置RC內(nèi)的主CPUlI在每個預定周期進行特定的處理。圖9是為了比較而表示在現(xiàn)有技術(shù)中機器人控制裝置在實施執(zhí)行程序A時在每個預定周期進行的處理的流程圖。另外,圖10是表示在本發(fā)明中機器人控制裝置RC在實施執(zhí)行程序B時在每個預定周期進行的處理的流程圖。
[0076]首先,參照圖9說明現(xiàn)有技術(shù)的處理。此外,在每個預定的控制周期重復實施圖9和圖10所示的處理。在現(xiàn)有技術(shù)中,首先在步驟Sll中,判定是否是靈活控制中。在不是靈活控制中的情況下,前進到步驟S12,進行通常的位置控制的處理。此外,如果當前的狀態(tài)是執(zhí)行程序A的第一行中的“靈活控制開始”執(zhí)行后并且第11行中的“靈活控制結(jié)束”執(zhí)行前,則判定為是靈活控制中。
[0077]然后,在靈活控制中的情況下,在步驟S13中判定是否正在輸出擠壓開始信號DI。然后,在沒有正在輸出擠壓開始信號DI的情況下,直接使用第一個參數(shù)組進行靈活控制(步驟S14、S16)。在正在輸出擠壓開始信號DI的情況下,在步驟S15中從第一個參數(shù)組切換為第2個參數(shù)組,進行靈活控制(步驟S15、S16)。
[0078]接著,參照圖10說明本發(fā)明的處理。首先,在步驟S21中,判定是否是靈活控制中。在不是靈活控制中的情況下,前進到步驟S22,進行通常的位置控制的處理。是否是