示,本例的手Η具備能夠把持輸送對象工件W的一對夾具G、Go以下,有時將各夾具G中的包含與工件W的接觸面的預(yù)定部分稱為各夾具G的“接觸部C”。然而,有時也僅將各夾具G中的與工件W的接觸面作為各夾具G的接觸部C。并且,本例的機器人2按照預(yù)先準(zhǔn)備的動作程序PG來進(jìn)行動作,以便將由手Η把持的工件W從預(yù)定的作業(yè)空間內(nèi)的第一位置輸送到第二位置。這里,機器人2的作業(yè)空間內(nèi)的第一位置例如是在該作業(yè)空間內(nèi)設(shè)置的操作臺Τ的上表面,第二位置例如是在該作業(yè)空間內(nèi)設(shè)置的其他操作臺的上表面。
[0031]再次參照圖1,本例的機器人2的臂Α具備與其軸數(shù)對應(yīng)的個數(shù)的伺服電動機21,各伺服電動機21內(nèi)置有回轉(zhuǎn)式編碼器等傳感器(未圖示)。各伺服電動機21的傳感器生成各伺服電動機21的旋轉(zhuǎn)方向、旋轉(zhuǎn)角度以及旋轉(zhuǎn)速度等反饋信息,并發(fā)送給機器人控制裝置1的干擾推定部12。此外,本例的手Η具備驅(qū)動部22,其以使一對夾具G、G在相互靠近的方向和相互背離的方向上移動的方式驅(qū)動一對夾具G、Go本例的驅(qū)動部22通過油壓或氣壓這樣的流體壓力來驅(qū)動一對夾具G、Go
[0032]繼續(xù)參照圖1,本例的機器人控制裝置1具備:存儲部10、參數(shù)取得部11、干擾推定部12、迀移識別部13、區(qū)域定義部14、位置判定部15、碰撞判定部16以及動作指令部17等。以下詳細(xì)說明機器人控制裝置1的各部。本例的存儲部10是包含ROM(只讀存儲器)以及RAM(隨機存取存儲器)等的存儲裝置。本例的存儲部10中,除了預(yù)先準(zhǔn)備的機器人的動作程序PG,還存儲有后述的第一閾值Vl和第二閾值V 2等。
[0033]接著,本例的參數(shù)取得部11具有從動作程序PG中取得在對機器人2的可動部施加的干擾的推定計算中使用的各種參數(shù)中與工件W相關(guān)的參數(shù)的數(shù)值的功能。以下,有時將與工件W相關(guān)的上述參數(shù)稱為“工件參數(shù)”。工件參數(shù)中至少包含工件W的重量。根據(jù)需要,工件參數(shù)中還可以包含工件W的質(zhì)量中心以及慣性矩陣等。如圖1這樣,參數(shù)取得部11所取得的數(shù)值被發(fā)送到干擾推定部12。此外,工件參數(shù)的數(shù)值也可以不從動作程序PG取得,而由使用者經(jīng)由各種輸入裝置而輸入。這種情況下,工件參數(shù)的數(shù)值能夠以各種信號的形態(tài)被輸入。例如,在手Η未把持工件W的狀態(tài)下,能夠以質(zhì)量0、質(zhì)量中心0、慣性矩陣0的形態(tài)輸入。
[0034]接著,本例的干擾推定部12具有根據(jù)從參數(shù)取得部11取得的工件參數(shù)的數(shù)值、從內(nèi)置于伺服電動機21中的傳感器或其他檢測器取得的反饋信息、以及機器人2的連桿L的力學(xué)參數(shù)的數(shù)值等,來計算對機器人2施加的干擾的推定值的功能。上述反饋信息中包含伺服電動機21的旋轉(zhuǎn)速度和驅(qū)動轉(zhuǎn)矩中的至少某一方。然而,只要上述反饋信息是對于干擾的推定計算有用的信息,則可以是任何信息。上述力學(xué)參數(shù)中例如可包含機器人2的各連桿L的位置關(guān)系、質(zhì)量、質(zhì)量中心以及慣性矩陣等。如圖1所示,干擾推定部12所計算出的干擾的推定值被發(fā)送到碰撞判定部16。
[0035]接著,本例的迀移識別部13具有識別從工件W的荷重未被傳遞給機器人12的狀態(tài)、和工件W的全部荷重經(jīng)由手Η被傳遞給機器人的狀態(tài)中的某一種狀態(tài)向另一種狀態(tài)發(fā)生迀移的功能。作為前者狀態(tài)的一例,列舉了機器人2的手Η把持著放置在操作臺Τ上表面上的工件W,然而完全未從手Η向工件W施加鉛直向上的力的狀態(tài)(例如,參照圖7)。此夕卜,作為后者狀態(tài)的一例,列舉了機器人2的手Η把持著工件W,且工件W鉛直向上離開操作臺Τ的上表面的狀態(tài)(例如,參照圖8)。
[0036]本例的迀移識別部13通過對動作程序PG進(jìn)行解析來識別上述狀態(tài)迀移發(fā)生,并且生成上述狀態(tài)迀移開始定時以及位置等數(shù)據(jù)。如圖1所示,迀移識別部13所生成的數(shù)據(jù)被發(fā)送到區(qū)域定義部14。此外,迀移識別部13也能夠代替解析動作程序PG,而通過解析由使用者使用各種輸入裝置而輸入的信號,來識別上述狀態(tài)迀移的發(fā)生。此外,迀移識別部13也能夠通過解析被輸入到干擾推定部12的工件參數(shù)的數(shù)值,來識別上述狀態(tài)迀移的發(fā)生。
[0037]接著,本例的區(qū)域定義部14具有在表示機器人2和手Η的狀態(tài)的空間內(nèi),定義后述的閾值切換區(qū)域R的功能。以下,有時將上述空間稱為狀態(tài)空間。本例的狀態(tài)空間典型地是表示手Η的三維位置的坐標(biāo)空間。然而,本例的狀態(tài)空間,除了三維空間維度之外還可以包含,或者替代三維空間維度而包含:時間維度、機器人2繞各軸的旋轉(zhuǎn)角度的維度、手Η的夾具G的可動位置的維度、其他可規(guī)定機器人2和手Η的狀態(tài)的所有變量的維度。此外,本例的閾值切換區(qū)域R是占據(jù)機器人2和手Η的狀態(tài)空間的一部分的部分區(qū)域,是包含了在上述狀態(tài)迀移開始的時刻的機器人2和手Η的狀態(tài)的部分區(qū)域。本例的閾值切換區(qū)域R典型地是包含有在上述狀態(tài)迀移開始的時刻手Η中的各夾具G的接觸部C所占據(jù)的三維空間的三維空間。這樣的閾值切換區(qū)域R的典型例表示在圖6?圖10等中。本例的區(qū)域定義部14,優(yōu)選地為了易于進(jìn)行閾值切換區(qū)域R的位置與手Η的當(dāng)前位置的比較,采用以相對于機器人2的基座Β固定的正交三維坐標(biāo)系表示的手Η的任意點的位置作為狀態(tài),來定義閾值切換區(qū)域R。然而,在機器人2執(zhí)行線路跟蹤的情況下,即在機器人2跟蹤在輸送機上移動的工件W而動作的情況下,也可以采用以相對于工件W固定且相對于機器人2移動的正交三維坐標(biāo)系表示的手Η的任意點的位置。此外,區(qū)域定義部14還可以定義在除了空間維度之外還包含時間維度的狀態(tài)空間中定義閾值切換區(qū)域。這種情況下,例如可以定義在經(jīng)過了預(yù)定時間后消除的閾值切換區(qū)域R。
[0038]位置判定部15和碰撞判定部16相關(guān)聯(lián),如后所述,在本例中,根據(jù)手Η中的各夾具G的接觸部C是否位于閾值切換區(qū)域R的內(nèi)側(cè),來切換在機器人2的碰撞判定中使用的閾值。閾值切換區(qū)域R的形狀不僅限于圖6?圖10等圖示的例子。然而,為了易于進(jìn)行后述的基于位置判定部15的判定,閾值切換區(qū)域R優(yōu)選具有半球或長方體等簡單的形狀。與閾值切換區(qū)域R的形狀相關(guān)的數(shù)據(jù)可預(yù)先存儲于存儲部10等中。然而,區(qū)域定義部14還可以代替在機器人2和手Η的狀態(tài)空間內(nèi)定義預(yù)先決定的形狀的閾值切換區(qū)域R,而定義將在手Η把持工件W后的手Η的移動路徑添加后的形狀的閾值切換區(qū)域R (參照圖14和圖15)。這種情況下,區(qū)域定義部14解析動作程序PG來確定手Η的移動路徑。此外,區(qū)域定義部14還能夠定義由使用者經(jīng)由用戶接口而指定的形狀的閾值切換區(qū)域R。如圖1所示,與由區(qū)域定義部14所定義的閾值切換區(qū)域R相關(guān)的數(shù)據(jù)被發(fā)送到位置判定部15。
[0039]接著,本例的位置判定部15具有判定機器人2和手Η的當(dāng)前狀態(tài)在上述狀態(tài)空間中是否位于閾值切換區(qū)域R的內(nèi)側(cè)的功能。更具體地,本例的位置判定部15能夠判定手Η中的各夾具G的接觸部C在當(dāng)前時刻是否位于閾值切換區(qū)域R的內(nèi)側(cè)。此時,位置判定部15使用相對于機器人2的基座Β固定的任意正交三維坐標(biāo)系,來比較手Η的各點的位置與閾值切換區(qū)域R的各點的位置。然后,位置判定部15根據(jù)比較這些位置而得的比較結(jié)果,判定各夾具G的接觸部C是否位于閾值切換區(qū)域R的內(nèi)側(cè)。此時,位置判定部15能夠參照與從伺服電動機21的傳感器取得的旋轉(zhuǎn)角度相關(guān)的信息,作為用于確定手Η的當(dāng)前位置的信息。然而,位置判定部15還能夠從伺服電動機21的傳感器或其他檢測器取得表示手Η的當(dāng)前位置的其他信息。此外,位置判定部15所采用的判定方法不限于上述方法,能夠選擇與閾值切換區(qū)域R的形狀和配置等對應(yīng)的最佳判定方法。如圖1所示,位置判定部15的判定結(jié)果被發(fā)送到碰撞判定部16。
[0040]接著,本例的碰撞判定部16具有通過將干擾推定部12計算出的干擾的推定值與預(yù)先決定的閾值相比較,來判定機器人2是否與某障礙物發(fā)生了碰撞的功能。此時,本例的碰撞判定部16,在機器人2和手Η的當(dāng)前狀態(tài)在上述狀態(tài)空間內(nèi)位于閾值切換區(qū)域R的內(nèi)偵_情況下,將干擾的推定值與第一閾值相比較來判定是否有碰撞。另一方面,本例的碰撞判定部16,在機器人2和手Η的當(dāng)前狀態(tài)在上述狀態(tài)空間內(nèi)未位于閾值切換區(qū)域R的內(nèi)側(cè)的情況下,將干擾的推定值與不同于第一閾值