本發(fā)明涉及一種控制與人協(xié)作地搬運(yùn)物體的機(jī)器人的機(jī)器人控制裝置、機(jī)器人系統(tǒng)及其方法。
背景技術(shù):
已知一種人與機(jī)器人協(xié)作地搬運(yùn)物體的機(jī)器人系統(tǒng)(例如,日本特開(kāi)2000-176872號(hào)公報(bào)、日本特開(kāi)2000-343470號(hào)公報(bào)以及日本專利第4445038號(hào)公報(bào))。
一般,對(duì)每個(gè)機(jī)器人決定可通過(guò)機(jī)器人搬運(yùn)的物體的容許重量。在本技術(shù)領(lǐng)域中,要求能夠不超過(guò)機(jī)器人的容許重量地搬運(yùn)各種物體的技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
在本發(fā)明的一個(gè)方式中,控制與人協(xié)作地搬運(yùn)物體的機(jī)器人的機(jī)器人控制裝置,具備:力取得部,其取得在拿起物體時(shí)從該物體向機(jī)器人施加的力;比較部,其比較力取得部取得的力的重力方向的力成分與針對(duì)該力成分預(yù)先決定的第1閾值;以及停止指令部,其在力成分大于第1閾值時(shí),使機(jī)器人停止。
機(jī)器人控制裝置還可以具備:動(dòng)作指令部,其在力成分為第1閾值以下時(shí),生成用于搬運(yùn)物體的對(duì)機(jī)器人的動(dòng)作指令,并將該動(dòng)作指令發(fā)送給該機(jī)器人。
在力成分為比第1閾值小的第2閾值以下時(shí),動(dòng)作指令部生成用于在與重力方向相反的方向上搬運(yùn)物體的動(dòng)作指令。
在力成分為第1閾值以下,且為比該第1閾值小的第2閾值以上時(shí),動(dòng)作指令部生成用于在重力方向上搬運(yùn)物體的動(dòng)作指令。
在力成分小于比第1閾值小的第2閾值時(shí),停止指令部使機(jī)器人停止。動(dòng)作指令部生成用于根據(jù)力取得部取得的力的、與重力方向交差的方向的力成分而向交差的方向搬運(yùn)物體的動(dòng)作指令。
在力取得部取得的力的水平方向的力成分大于針對(duì)該水平方向的力成分預(yù)先設(shè)定的閾值時(shí),停止指令部使機(jī)器人停止。
在本發(fā)明的另一個(gè)方式中,機(jī)器人系統(tǒng)具備:機(jī)器人;以及控制機(jī)器人的機(jī)器人控制裝置。機(jī)器人具有:力檢測(cè)部,其檢測(cè)在該機(jī)器人拿起物體時(shí)從該物體向該機(jī)器人施加的力。
在本發(fā)明的又一個(gè)方式中,對(duì)與人協(xié)作地搬運(yùn)物體的機(jī)器人進(jìn)行控制的方法具備如下步驟:檢測(cè)在機(jī)器人拿起物體時(shí)從該物體向該機(jī)器人施加的力;比較檢測(cè)出的力的重力方向的力成分與針對(duì)該力成分預(yù)先決定的閾值;以及在力成分大于閾值時(shí),使機(jī)器人停止。
附圖說(shuō)明
一邊參照附圖一邊對(duì)以下的優(yōu)選實(shí)施方式進(jìn)行說(shuō)明,從而使本發(fā)明的上述或其他目的、特征以及優(yōu)點(diǎn)變得更加明確。
圖1是本發(fā)明的一實(shí)施方式的機(jī)器人系統(tǒng)的圖。
圖2是圖1所示的機(jī)器人系統(tǒng)的框圖。
圖3是表示圖1所示的機(jī)器人系統(tǒng)的動(dòng)作流程的一例的框圖。
圖4是表示機(jī)器人與作業(yè)員協(xié)作地保持工件的狀態(tài)的圖。
圖5是表示力取得部取得的力的重力方向的力成分的時(shí)間變化特性的例子的圖表。
圖6是表示使用者從工件松開(kāi)手時(shí)的、重力方向的力成分的時(shí)間變化特性的例子的圖表。
圖7是表示在機(jī)器人與作業(yè)員協(xié)作地搬運(yùn)工件時(shí),障礙物碰撞到工件的狀態(tài)的圖。
圖8是表示如圖7所示障礙物從工件的下方發(fā)生了碰撞時(shí)的重力方向的力成分的時(shí)間變化特性的例子的圖表。
圖9是表示在機(jī)器人與作業(yè)員協(xié)作地搬運(yùn)工件時(shí),障礙物碰撞到工件的狀態(tài)的圖。
圖10是表示如圖9所示障礙物從工件的側(cè)方發(fā)生了碰撞時(shí)的水平方向的力成分的時(shí)間變化特性的例子的圖表。
圖11是表示圖1所示的機(jī)器人系統(tǒng)的動(dòng)作流程的另一例的框圖。
圖12表示在圖11中的步驟S21中判定為“是”時(shí)的重力方向的力成分的時(shí)間變化特性的例子。
圖13表示在圖11中的步驟S23中判定為“是”時(shí)的重力方向的力成分的時(shí)間變化特性的例子。
圖14表示在圖11中的步驟S25中判定為“是”時(shí)的水平方向的力成分的時(shí)間變化特性的例子。
具體實(shí)施方式
以下,根據(jù)附圖詳細(xì)地說(shuō)明本發(fā)明的實(shí)施方式。首先,參照?qǐng)D1和圖2對(duì)本發(fā)明的一實(shí)施方式的機(jī)器人系統(tǒng)10進(jìn)行說(shuō)明。機(jī)器人系統(tǒng)10與作業(yè)員A協(xié)作地搬運(yùn)作為物體的工件W。
機(jī)器人系統(tǒng)10具備:機(jī)器人12和控制該機(jī)器人12的機(jī)器人控制裝置50。機(jī)器人12例如為垂直多關(guān)節(jié)機(jī)器人,具備:機(jī)器人基座14、旋轉(zhuǎn)體16、機(jī)器人臂部18、機(jī)器人手部20以及力檢測(cè)部22。
機(jī)器人基座14被固定在工作單元的地面上。旋轉(zhuǎn)體16以可繞鉛垂軸旋轉(zhuǎn)地安裝在機(jī)器人基座14上。機(jī)器人臂部18具有:可轉(zhuǎn)動(dòng)地安裝在旋轉(zhuǎn)體16上的后臂部24和可轉(zhuǎn)動(dòng)地安裝在該后臂部24的前端的前臂部26。
機(jī)器人手部20經(jīng)由手腕部28安裝在前臂部26的前端。機(jī)器人手部20具有可開(kāi)閉的多個(gè)指部30,能夠把持、釋放工件W。
力檢測(cè)部22被設(shè)置于手腕部28中。在本實(shí)施方式中,力檢測(cè)部22具有6軸力覺(jué)傳感器,例如,能夠檢測(cè)圖1中的x軸、y軸和z軸方向的載荷、以及繞x軸、y軸和z軸的力矩(moment)。力檢測(cè)部22將檢測(cè)出的與力(即,載荷以及力矩)相關(guān)的數(shù)據(jù)發(fā)送給機(jī)器人控制裝置50。
如圖2所示,機(jī)器人12具有多個(gè)伺服電動(dòng)機(jī)32。伺服電動(dòng)機(jī)32內(nèi)置于旋轉(zhuǎn)體16、機(jī)器人臂部18、手腕部28以及機(jī)器人手部20中,根據(jù)來(lái)自機(jī)器人控制裝置50的指令,使這些要素動(dòng)作。
機(jī)器人控制裝置50具備:CPU(中央運(yùn)算處理裝置)52、存儲(chǔ)部54以及力取得部56。存儲(chǔ)部54和力取得部56經(jīng)由總線與CPU52連接。
存儲(chǔ)部54由例如EEPROM(注冊(cè)商標(biāo))等這樣的可電擦除/記錄的非易失性存儲(chǔ)器,或例如DRAM、SRAM等這樣的可高速讀寫的隨機(jī)存取存儲(chǔ)器構(gòu)成。存儲(chǔ)部54記錄使機(jī)器人12動(dòng)作所需要的常數(shù)、變量以及機(jī)器人程序等。
力取得部56包括A/D轉(zhuǎn)換器等,接受從力檢測(cè)部22發(fā)送的與力相關(guān)的數(shù)據(jù)。CPU52將力取得部56取得的與力相關(guān)的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)部54中。
在本實(shí)施方式中,CPU52承擔(dān)比較部58、停止指令部60以及動(dòng)作指令部62的功能。另外,對(duì)于比較部58、停止指令部60以及動(dòng)作指令部62的功能,在后面敘述。
接著,參照?qǐng)D3~圖10對(duì)機(jī)器人系統(tǒng)10的動(dòng)作流程的一實(shí)施方式進(jìn)行說(shuō)明。在CPU52從使用者、上位控制器、或程序等接受到搬運(yùn)工件W的指令時(shí),開(kāi)始圖3所示的流程。
在步驟S1中,CPU52開(kāi)始檢測(cè)向機(jī)器人12施加的力。具體地,CPU52向力檢測(cè)部22發(fā)送力檢測(cè)指令。當(dāng)力檢測(cè)部22接收力檢測(cè)指令時(shí),則以周期τ(例如,1秒)檢測(cè)在設(shè)置有該力檢測(cè)部22的部位作用的力(即,x軸、y軸和z軸方向的載荷,以及繞x軸、y軸和z軸的力矩)。
力檢測(cè)部22將檢測(cè)出的與力相關(guān)的數(shù)據(jù)發(fā)送給機(jī)器人控制裝置50。力取得部56以周期τ從力檢測(cè)部22接收與力相關(guān)的數(shù)據(jù)。CPU52將力取得部56取得的與力相關(guān)的數(shù)據(jù)依次存儲(chǔ)在存儲(chǔ)部54中。
在步驟S2中,CPU52使機(jī)器人12動(dòng)作,拿起工件W。具體地,CPU52向內(nèi)置于機(jī)器人12中的伺服電動(dòng)機(jī)32發(fā)送指令,把持設(shè)置于預(yù)先設(shè)定的場(chǎng)所B(圖1)的工件W,并拿起該工件W。
本實(shí)施方式的機(jī)器人12與人協(xié)作地搬運(yùn)具有各種重量的各種工件W。在此,在機(jī)器人12中決定能夠搬運(yùn)的物體的容許重量。假設(shè)當(dāng)搬運(yùn)超過(guò)該容許重量的工件W時(shí),則機(jī)器人12發(fā)生故障的可能性增加。
因此,本實(shí)施方式的機(jī)器人12當(dāng)在步驟S2中拿起了工件W時(shí),判定是否向機(jī)器人12施加了超過(guò)容許重量的載荷。
在步驟S3中,CPU52判定在步驟S2中拿起工件W時(shí)從該工件W向機(jī)器人施加的力F的重力方向的力成分Fg是否大于預(yù)先決定的閾值α。
具體地,CPU52根據(jù)最近力取得部56取得的與力相關(guān)的數(shù)據(jù),計(jì)算從工件W向機(jī)器人手部20施加的力F中在重力方向上作用的力成分Fg。
該力成分Fg為當(dāng)機(jī)器人手部20拿起了工件W時(shí)因該工件W的重量而向機(jī)器人手部20施加的力,例如包括重力方向的載荷或繞水平軸的力矩。
CPU52比較計(jì)算出的力成分Fg與針對(duì)該力成分Fg預(yù)先設(shè)定的閾值α(第1閾值)。在力成分Fg大于閾值α的情況下,CPU52判定為“是”,并向步驟S4前進(jìn)。另一方面,在力成分Fg為閾值α以下的情況下,CPU52判定為“否”,并向步驟S6前進(jìn)。
這樣,在本實(shí)施方式中,CPU52作為比較力成分Fg與閾值α的比較部58發(fā)揮功能。另外,與容許重量相關(guān)地來(lái)決定閾值α(例如,α=容許重量×重力加速度),并將其預(yù)先存儲(chǔ)在存儲(chǔ)部54中。
在步驟S4中,CPU52向使用者報(bào)告工件W的重量超過(guò)了機(jī)器人12的容許重量的意思。作為一例,CPU52生成“超過(guò)了容許重量。請(qǐng)輔助工件W的搬運(yùn)”的圖像信號(hào)或聲音信號(hào)。然后,CPU52經(jīng)由與機(jī)器人控制裝置50連接的顯示部或揚(yáng)聲器(未圖示),向使用者輸出圖像或聲音。
使用者在通過(guò)步驟S4識(shí)別出超過(guò)機(jī)器人12的容許重量的意思的情況下,如圖4所示,從下方用手支撐工件W。這樣,如圖5所示,向機(jī)器人手部20施加的力成分Fg急劇下降。
在本實(shí)施方式中,在后述的步驟S5中,CPU52檢測(cè)如圖5所示那樣的力成分Fg的下降,在檢測(cè)出該力成分Fg的下降時(shí),在后述的步驟S6中,開(kāi)始基于機(jī)器人12的工件W的搬運(yùn)動(dòng)作。
在步驟S5中,CPU52判定力成分Fg是否為閾值α以下。具體地,CPU52根據(jù)最近力取得部56取得的與力相關(guān)的數(shù)據(jù)來(lái)計(jì)算力成分Fg。
在力成分Fg為閾值α以下的情況下,CPU52判定為“是”,并向步驟S6前進(jìn)。另一方面,在成分Fg大于閾值α的情況下,CPU52判定為“否”,并返回到步驟S4,再次向使用者報(bào)告需要輔助工件W的搬運(yùn)的意思。
這樣,CPU52能夠檢測(cè)通過(guò)作業(yè)者A支撐工件W而導(dǎo)致力成分Fg如圖5所示地下降這一情況。
在步驟S6中,CPU52使機(jī)器人12動(dòng)作,與人協(xié)作地移動(dòng)工件W。在本實(shí)施方式中,CPU52按照存儲(chǔ)在存儲(chǔ)部54中的機(jī)器人程序,生成對(duì)機(jī)器人12的用于搬運(yùn)工件W的動(dòng)作指令。
然后,CPU52將所生成的該動(dòng)作指令發(fā)送給內(nèi)置于機(jī)器人12中的伺服電動(dòng)機(jī)32。由此,機(jī)器人12按照機(jī)器人程序而動(dòng)作,與人協(xié)作地將工件W從場(chǎng)所B搬運(yùn)至預(yù)先決定的目的場(chǎng)所。
這樣,在本實(shí)施方式中,CPU52在力成分Fg為閾值α以下時(shí),作為生成對(duì)機(jī)器人12的動(dòng)作指令并進(jìn)行發(fā)送的動(dòng)作指令部62發(fā)揮功能。
另外,可以通過(guò)向機(jī)器人12示教用于將工件W從場(chǎng)所B移動(dòng)至目的場(chǎng)所的該機(jī)器人12的動(dòng)作路徑等,來(lái)構(gòu)筑上述的機(jī)器人程序。
在步驟S6中,當(dāng)機(jī)器人12與作業(yè)者A協(xié)作地搬運(yùn)工件W時(shí),有時(shí)作業(yè)員A會(huì)因不注意而從工件W松開(kāi)手。在該情況下,如圖6所示,力成分Fg急劇上升,再次超過(guò)閾值α。因此,在實(shí)施方式中,CPU52在步驟S6的執(zhí)行中,在以下的步驟S7中監(jiān)視力成分Fg是否超過(guò)了閾值α。
在步驟S7中,CPU52判定最近取得的力F的力成分Fg是否大于閾值α。具體地,CPU52計(jì)算力取得部56最近取得的力F的力成分Fg。
然后,CPU52作為比較部58發(fā)揮作用,比較計(jì)算出的力成分Fg與閾值α。在力成分Fg大于閾值α的情況下,CPU52判定為“是”,并向步驟S8前進(jìn)。另一方面,在成分Fg為閾值α以下的情況下,CPU52判定為“否”,并向步驟S9前進(jìn)。
在步驟S7中判定為“是”的情況下,在步驟S8中,CPU52停止機(jī)器人12的動(dòng)作。具體地,CPU52生成用于停止內(nèi)置于機(jī)器人12中的伺服電動(dòng)機(jī)32的指令,并發(fā)送給該伺服電動(dòng)機(jī)32。由此,使機(jī)器人12的動(dòng)作停止。
這樣,在本實(shí)施方式中,CPU52在力成分Fg大于閾值α?xí)r,作為停止機(jī)器人12的停止指令部60發(fā)揮功能。在執(zhí)行了步驟S8后,CPU52返回到步驟S4,再次向使用者報(bào)告需要輔助工件W的搬運(yùn)的意思。
在步驟S7中判定為“否”的情況下,在步驟S9中,CPU52判定最近取得的力F的力成分Fg是否小于閾值β,或最近取得的力F的水平方向的成分Fh是否大于閾值γ。
以下,參照?qǐng)D7~圖9對(duì)該步驟S9進(jìn)行說(shuō)明。在步驟S6中,當(dāng)機(jī)器人12和作業(yè)員A搬運(yùn)工件W時(shí),如圖7所示,有可能障礙物C從工件W的下方發(fā)生碰撞。
在該情況下,作業(yè)員A的身體(例如,手指)被夾在障礙物C與工件W(或機(jī)器人12)之間,作業(yè)員A有可能受傷。如圖7所示,在障礙物C從工件W的下方發(fā)生了碰撞的情況下,如圖8所示,力成分Fg急劇下降。
此外,在步驟S6中,當(dāng)機(jī)器人12和作業(yè)員A搬運(yùn)工件W時(shí),如圖9所示,有可能障礙物D從工件W的側(cè)方發(fā)生碰撞。在該情況下,作業(yè)員A的身體被夾在障礙物D與工件W(或機(jī)器人12)之間,作業(yè)員A也有可能受傷。
如圖9所示,在障礙物D從工件W的側(cè)方發(fā)生了碰撞的情況下,如圖10所示,從工件W向機(jī)器人施加的力F的水平方向的力成分Fh急劇上升。
因此,在本實(shí)施方式中,CPU52為了監(jiān)視如圖8所示那樣的力成分Fg的下降以及如圖10所示那樣的力成分Fh的上升,在步驟S9中,判定力成分Fg是否大于閾值β,或力F的水平方向的成分Fh是否大于閾值γ。
具體地,CPU52計(jì)算力取得部5最近(最新most-recently)取得的力的力成分Fg。然后,CPU52判定計(jì)算出的力成分Fg是否小于閾值β。該閾值β被使用者預(yù)先決定為小于上述閾值α的值(即,α>β),并存儲(chǔ)在存儲(chǔ)部54中。
另一方面,CPU52根據(jù)力取得部56最近取得的與力相關(guān)的數(shù)據(jù)來(lái)計(jì)算力F的水平方向的力成分Fh。然后,CPU52判定計(jì)算出的力成分Fh是否大于閾值γ。該閾值γ由使用者預(yù)先決定,并存儲(chǔ)在存儲(chǔ)部54中。
在力成分Fg小于閾值β(即,F(xiàn)g<β),或力成分Fh大于閾值γ(即,F(xiàn)h>γ)的情況下,CPU52判定為“是”,并向步驟S10前進(jìn)。
另一方面,在力成分Fg為閾值β以上(即,F(xiàn)g≥β),且力成分Fh為閾值γ以下(即,F(xiàn)h≤γ)的情況下,CPU52判定為“否”,并向步驟S11前進(jìn)。
在步驟S9中判定為“是”的情況下,在步驟S10中與上述的步驟S8同樣地,CPU52使機(jī)器人12的動(dòng)作停止,并結(jié)束圖3所示的流程。
另一方面,在步驟S9中判定為“否”的情況下,在步驟S11中,CPU52判定是否將工件W移動(dòng)到了目的場(chǎng)所。例如,CPU52根據(jù)來(lái)自設(shè)定在各伺服電動(dòng)機(jī)32中的編碼器(未圖示)的信號(hào),判定是否使各伺服電動(dòng)機(jī)32以機(jī)器人程序規(guī)定的轉(zhuǎn)速恰當(dāng)?shù)剡M(jìn)行了轉(zhuǎn)動(dòng)。
CPU52在判定為將工件W移動(dòng)到了目的場(chǎng)所(即,“是”)的情況下,向步驟S12前進(jìn)。另一方面,CPU52在判定為未將工件W移動(dòng)至目的場(chǎng)所(即,“否”)的情況下,返回到步驟S7。
在步驟S12中,CPU52向內(nèi)置于機(jī)器人手部20中的伺服電動(dòng)機(jī)32發(fā)送指令,打開(kāi)指部30,釋放所把持的工件W。這樣,通過(guò)機(jī)器人12和作業(yè)員A 的協(xié)作,將工件W從場(chǎng)所B搬運(yùn)至目的場(chǎng)所。
在步驟S13中,CPU52判定由使用者指定的全部的工件W的搬運(yùn)作業(yè)是否完成。CPU52在判定為全部的工件W的搬運(yùn)作業(yè)完成(即,“是”)的情況下,結(jié)束圖3所示的流程。另一方面,CPU52在判定為殘留有應(yīng)搬運(yùn)的工件W(即,“否”)的情況下,返回到步驟S2,執(zhí)行下一個(gè)工件W的搬運(yùn)作業(yè)。
如上所述,在本實(shí)施方式中,CPU52在步驟S6的執(zhí)行中,監(jiān)視從工件W向機(jī)器人12施加的力成分Fg,在檢測(cè)到超過(guò)了機(jī)器人12的容許重量時(shí)(步驟S7中為“是”),停止機(jī)器人的動(dòng)作。根據(jù)該結(jié)構(gòu),能夠防止向機(jī)器人施加超過(guò)容許重量的載荷的同時(shí),能夠搬運(yùn)具有各種重量的各種工件W。
此外,根據(jù)本實(shí)施方式,通過(guò)在相當(dāng)于容許重量的值以下的范圍內(nèi)適當(dāng)?shù)卦O(shè)定閾值α的值,能夠適當(dāng)?shù)卣{(diào)整機(jī)器人12和作業(yè)員A之間的重量的分擔(dān)比例。由此,能夠靈活地應(yīng)對(duì)更廣范圍的種類的工件W的搬運(yùn)作業(yè)。
此外,根據(jù)本實(shí)施方式,除了圖1所示那樣的塊狀的工件W外,還可以應(yīng)對(duì)細(xì)長(zhǎng)形狀等各種形狀的工件W的搬運(yùn)。
此外,在本實(shí)施方式中,通過(guò)在步驟S6的執(zhí)行中監(jiān)視力成分Fg和Fh,由此檢測(cè)在工件W的搬運(yùn)中碰撞到障礙物C、D這一情況(步驟S9),在檢測(cè)到障礙物C、D的碰撞時(shí),立即停止機(jī)器人12。通過(guò)該結(jié)構(gòu),能夠確實(shí)地防止在工件W的搬運(yùn)中作業(yè)員A因障礙物C、D而受傷。
此外,在本實(shí)施方式中,CPU52在機(jī)器人12拿起了工件W(步驟S2)后,檢測(cè)出對(duì)機(jī)器人12施加了超過(guò)容許重量的載荷時(shí)(步驟S3中為“是”),向使用者報(bào)告該意旨。通過(guò)該結(jié)構(gòu),使用者能夠自動(dòng)且直觀地識(shí)別需要對(duì)機(jī)器人12的工件W的搬運(yùn)作業(yè)進(jìn)行輔助。
此外,在步驟S3中判定為“是”的情況下,CPU52在檢測(cè)出作業(yè)者A支撐了工件W(步驟S5中為“是”)之前,不開(kāi)始機(jī)器人12的工件W的搬運(yùn)動(dòng)作。通過(guò)該結(jié)構(gòu),能夠確實(shí)地防止向機(jī)器人12施加超過(guò)容許重量的載荷。
接著,參照?qǐng)D11~圖14對(duì)機(jī)器人系統(tǒng)10的動(dòng)作流程的另一個(gè)實(shí)施方式進(jìn)行說(shuō)明。另外,在圖11所示的流程中,對(duì)與上述圖3所示的流程同樣的步驟賦予相同的步驟編號(hào),省略詳細(xì)的說(shuō)明。
在本實(shí)施方式中,CPU52在檢測(cè)出作業(yè)員A支撐了工件W的情況下(即,步驟S5中為“是”),以向作業(yè)員A對(duì)工件W施加的力的方向搬運(yùn)工件W的方式來(lái)控制機(jī)器人12。
具體地,CPU52在步驟S5中判定為“是”的情況下,并行執(zhí)行以下的步驟S21和S25。
在步驟S21中,CPU52判定最近取得的力F的力成分Fg是否為預(yù)先決定的閾值δ以上。該閾值δ被使用者預(yù)先決定為小于上述閾值α的值(即,α>δ),并存儲(chǔ)在存儲(chǔ)部54中。
在力成分Fg為閾值δ以上的情況下,CPU52判定為“是”,并向步驟S22前進(jìn)。另一方面,在成分Fg小于閾值δ的情況下,CPU52判定為“否”,并向步驟S23前進(jìn)。
在此,圖12表示在步驟S21中判定為“是”時(shí)的成分Fg的時(shí)間變化特性的例子。在該例子中,作業(yè)員A在時(shí)刻t1進(jìn)行從下方支撐工件W的動(dòng)作,由此成分Fg減少。
之后,作業(yè)員A在時(shí)刻t2使支撐工件W的手在重力方向上稍微下降,使從下方支撐工件W的力變?nèi)?。其結(jié)果,成分Fg從時(shí)刻t2開(kāi)始急劇上升,成為閾值δ與閾值α之間的值。
CPU52檢測(cè)這樣的作業(yè)員A進(jìn)行的工件W的下降動(dòng)作(即,成分Fg的上升),在步驟S22中,通過(guò)機(jī)器人12使工件W在重力方向上移動(dòng)以便追隨于該動(dòng)作。
在步驟S22中,CPU52使機(jī)器人12動(dòng)作,使工件W在重力方向上移動(dòng)。具體地,CPU52生成用于在重力方向上搬運(yùn)工件W的動(dòng)作指令。
然后,CPU52將所生成的該動(dòng)作指令發(fā)送給內(nèi)置于機(jī)器人12中的伺服電動(dòng)機(jī)32。由此,機(jī)器人12使工件W在重力方向上移動(dòng),以便追隨于作業(yè)員A使工件W下降的動(dòng)作。
另一方面,在步驟S21中判定為“否”的情況下,在步驟S23中,CPU52判定最近取得的力F的力成分Fg是否在上述閾值β與閾值ε之間(即,ε≥Fg≥β)。該閾值ε被使用者預(yù)先決定為小于閾值α、且大于閾值β的值(即,α>ε>β),并存儲(chǔ)在存儲(chǔ)部54中。
在力成分Fg在閾值β與閾值ε之間的情況下,CPU52判定為“是”,并向步驟S24前進(jìn)。另一方面,在成分Fg不在閾值β與閾值ε之間(即,F(xiàn)g>ε,或β>Fg)的情況下,CPU52判定為“否”,并向步驟S7前進(jìn)。
在此,圖13表示在步驟S23中判定為“是”時(shí)的成分Fg的時(shí)間變化特性的例子。在該例子中,作業(yè)員A在時(shí)刻t1進(jìn)行從下方支撐工件W的動(dòng)作,由此成分Fg減少。
之后,作業(yè)員A在時(shí)刻t3進(jìn)行一邊從下方支撐工件W、一邊以預(yù)定力向與重力方向相反的垂直上方拿起該工件W的動(dòng)作。由此,通過(guò)力檢測(cè)部22檢測(cè)出的力F的重力方向的成分Fg從時(shí)刻t3開(kāi)始急劇下降,成為閾值β與閾值ε之間的值。
CPU52檢測(cè)這樣的作業(yè)員A進(jìn)行的工件W的拿起動(dòng)作(即,成分Fg的下降),在步驟S24中,通過(guò)機(jī)器人12使工件W向垂直上方移動(dòng),以便追隨于該動(dòng)作。
在步驟S24中,CPU52使機(jī)器人12動(dòng)作而使工件W向垂直上方移動(dòng)。具體地,CPU52生成用于使工件W向垂直上方移動(dòng)的動(dòng)作指令。
然后,CPU52將所生成的該動(dòng)作指令發(fā)送給內(nèi)置于機(jī)器人12中的伺服電動(dòng)機(jī)32。由此,機(jī)器人12使工件W向垂直上方移動(dòng),以便追隨于作業(yè)員A進(jìn)行的工件W的拿起動(dòng)作。
另一方面,在步驟S25中,CPU52判定最近取得的力F的水平方向的成分Fh是否為閾值ζ以上。具體地,CPU52根據(jù)最近取得的力F來(lái)計(jì)算水平方向的力成分Fh,并判定計(jì)算出的該力成分Fh是否為閾值ζ以上。該閾值ζ由使用者預(yù)先決定,并存儲(chǔ)在存儲(chǔ)部54中。
在力成分Fh為閾值ζ以上的情況下,CPU52判定為“是”,并向步驟S26前進(jìn)。另一方面,在成分Fh小于閾值ζ的情況下,CPU52判定為“否”,并向步驟S7前進(jìn)。
在此,圖14表示在步驟S25中判定為“是”時(shí)的成分Fh的時(shí)間變化特性的例子。在該例子中,作業(yè)員A在時(shí)刻t4進(jìn)行一邊支撐工件W、一邊向與重力方向交差的方向(例如,水平方向)推壓該工件W的動(dòng)作,由此,成分Fh急劇上升。
在本實(shí)施方式中,CPU52檢測(cè)這樣的作業(yè)員A的動(dòng)作(即,成分Fh的上升),在步驟S26中,通過(guò)機(jī)器人12使工件W在水平方向上移動(dòng)以便追隨于該動(dòng)作。
在步驟S26中,CPU52使機(jī)器人12動(dòng)作而使工件W在水平方向上移動(dòng)。具體地,CPU52生成用于使工件W向在步驟S25中計(jì)算出的力成分Fh的方向移動(dòng)的動(dòng)作指令。
然后,CPU52將所生成的該動(dòng)作指令發(fā)送給內(nèi)置于機(jī)器人12中的伺服電動(dòng)機(jī)32。由此,機(jī)器人12使該工件W向力成分Fh的方向移動(dòng),以便追隨于作業(yè)員A推壓工件W的動(dòng)作。
如上所述,CPU52并行執(zhí)行步驟S21~S24和步驟S25~S26。假定在同時(shí)執(zhí)行步驟S22和S26的情況下,CPU52生成向重力方向的動(dòng)作指令和向力成分Fh的方向的動(dòng)作指令,并發(fā)送給伺服電動(dòng)機(jī)32。
這樣,合成使工件W向重力方向移動(dòng)的動(dòng)作和向力成分Fh的方向移動(dòng)的動(dòng)作,機(jī)器人12可以使該工件W向作業(yè)員A對(duì)工件W施加的力的方向移動(dòng)。
在本實(shí)施方式中,在力成分Fg為閾值α以下時(shí),CPU52根據(jù)力取得部56取得的力F的大小和方向,生成用于搬運(yùn)工件W的動(dòng)作指令,并將該動(dòng)作指令發(fā)送給該機(jī)器人12。
根據(jù)該結(jié)構(gòu),能夠防止向機(jī)器人12施加超過(guò)容許重量的載荷,并且作業(yè)員A通過(guò)與機(jī)器人12協(xié)作能夠向所希望的方向搬運(yùn)工件W。由此,能夠順利地執(zhí)行工件W的搬運(yùn)作業(yè)。
另外,在上述的步驟S26中,CPU52也可以根據(jù)力成分Fh的大小,控制機(jī)器人12搬運(yùn)工件W的速度。例如,CPU52也可以生成向機(jī)器人12的動(dòng)作指令以便以與力成分Fh的大小成比例的速度搬運(yùn)工件W。
此外,在上述的步驟S21、S23、S25中,CPU52也可以計(jì)算出力成分Fg、Fh相對(duì)于時(shí)間的變化程度(例如,斜率=δF/δt),并比較計(jì)算出的變化的程度與針對(duì)該變化的程度設(shè)定的閾值。
例如,CPU52也可以在檢測(cè)出如圖12所示那樣的、在時(shí)刻t2力成分Fg的斜率增加時(shí),執(zhí)行步驟S22。此外,CPU52也可以在檢測(cè)出如圖13所示那樣的、在時(shí)刻t3力成分Fg的斜率下降時(shí),執(zhí)行步驟S24。
此外,在圖11所示的流程中,能夠?qū)雸D3所示的步驟S9和S10那樣的緊急停止方案。在該情況下,在力成分Fg、Fh相對(duì)于時(shí)間的變化的程度超過(guò)了預(yù)先決定的閾值的情況下,即力成分Fg、Fh發(fā)生了異常地增加或減少的情況下,CPU52也可以使機(jī)器人12停止。
此外,力檢測(cè)部22并不限為設(shè)置于手腕部28,也可以設(shè)置于旋轉(zhuǎn)體16、機(jī)器人臂部18、或機(jī)器人手部20等機(jī)器人12的任何部位。
以上,通過(guò)發(fā)明的實(shí)施方式對(duì)本發(fā)明進(jìn)行了說(shuō)明,但上述實(shí)施方式并不限定于要求專利保護(hù)的范圍涉及的發(fā)明。此外,組合在本發(fā)明的實(shí)施方式中說(shuō)明的特征的方式也可以包含在本發(fā)明的技術(shù)范圍內(nèi),但這些特征的組合的全部并不一定必須是發(fā)明的解決手段。并且,所屬技術(shù)領(lǐng)域的技術(shù)人員應(yīng)明確可以對(duì)上述實(shí)施方式進(jìn)行各種變更或改良。
此外,關(guān)于在要求專利保護(hù)的范圍、說(shuō)明書(shū)以及附圖中所示的裝置、系統(tǒng)、程序以及方法的動(dòng)作、順序、步驟、工序以及階段等各處理的執(zhí)行順序,應(yīng)注意只要沒(méi)有明示“之前”、“提前”等或者在后面的處理中使用前面的處理的輸出,則能夠按照任意的順序來(lái)實(shí)現(xiàn)。關(guān)于要求專利保護(hù)的范圍、說(shuō)明書(shū)以及附圖中的動(dòng)作流程,為了方便即使使用“首先”、“接著”、“緊接著”等來(lái)進(jìn)行說(shuō)明,也并不表示必須按照該順序?qū)嵤?/p>