本發(fā)明涉及學(xué)習(xí)包含散裝狀態(tài)的雜亂放置的工件的取出動(dòng)作的機(jī)械學(xué)習(xí)裝置、機(jī)器人系統(tǒng)以及機(jī)械學(xué)習(xí)方法。
背景技術(shù):
以前已知例如日本專利第5642738號(hào)公報(bào)和日本專利第5670397號(hào)公報(bào)所公開那樣,通過機(jī)器人的機(jī)械手部把持散裝在筐狀的箱中的工件并搬運(yùn)的機(jī)器人系統(tǒng)。在這樣的機(jī)器人系統(tǒng)中,例如,使用在筐狀的箱上方設(shè)置的三維測(cè)量器來取得多個(gè)工件的位置信息,并通過機(jī)器人的機(jī)械手部根據(jù)該位置信息逐個(gè)取出工件。
然而,在上述以往的機(jī)器人系統(tǒng)中,需要事先設(shè)定例如如何根據(jù)由三維測(cè)量器測(cè)量出的多個(gè)工件的距離圖像來提取要取出的工件,以及取出哪個(gè)位置的工件。此外,需要事先對(duì)取出工件時(shí)如何使機(jī)器人的機(jī)械手部動(dòng)作進(jìn)行編程。具體地,例如,人們需要使用示教板來向機(jī)器人示教工件的取出動(dòng)作。
因此,當(dāng)根據(jù)多個(gè)工件的距離圖像提取要取出的工件的設(shè)定不合適、或者未適當(dāng)制作機(jī)器人的動(dòng)作程序時(shí),機(jī)器人取出工件而搬運(yùn)時(shí)的成功率降低。此外,為了提高該成功率,需要人們一邊重復(fù)試錯(cuò)來摸索機(jī)器人的最佳動(dòng)作,一邊對(duì)工件的檢測(cè)設(shè)定和機(jī)器人的動(dòng)作程序進(jìn)行不斷改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
因此,鑒于上述情況,本發(fā)明的目的在于提供一種能夠無需人工介入地學(xué)習(xí)取出包含散裝狀態(tài)的雜亂放置的工件時(shí)的機(jī)器人的最佳動(dòng)作的機(jī)械學(xué)習(xí)裝置、機(jī)器人系統(tǒng)以及機(jī)械學(xué)習(xí)方法。
根據(jù)本發(fā)明的第一實(shí)施方式,提供了一種學(xué)習(xí)通過機(jī)械手部從包含散裝狀態(tài)的雜亂放置的多個(gè)工件中取出所述工件的機(jī)器人的動(dòng)作的機(jī)械學(xué)習(xí)裝置,該機(jī)械學(xué)習(xí)裝置具備:狀態(tài)量觀測(cè)部,其觀測(cè)包含三維測(cè)量器的輸出數(shù)據(jù)的所述機(jī)器人的狀態(tài)量,該三維測(cè)量器測(cè)量每個(gè)所述工件的三維圖;動(dòng)作結(jié)果取得部,其取得通過所述機(jī)械手部取出所述工件的所述機(jī)器人的取出動(dòng)作的結(jié)果;學(xué)習(xí)部,其接受來自所述狀態(tài)量觀測(cè)部的輸出和來自所述動(dòng)作結(jié)果取得部的輸出,與所述機(jī)器人的所述狀態(tài)量和所述取出動(dòng)作的結(jié)果相關(guān)聯(lián)地學(xué)習(xí)操作量,該操作量包含向所述機(jī)器人指示所述工件的所述取出動(dòng)作的指令數(shù)據(jù)。所述機(jī)械學(xué)習(xí)裝置優(yōu)選還具備意圖決定部,其參照所述學(xué)習(xí)部學(xué)習(xí)到的所述操作量,來決定向所述機(jī)器人指示的所述指令數(shù)據(jù)。
根據(jù)本發(fā)明的第二實(shí)施方式,提供了一種學(xué)習(xí)通過機(jī)械手部從包含散裝狀態(tài)的雜亂放置的多個(gè)工件中取出所述工件的機(jī)器人的動(dòng)作的機(jī)械學(xué)習(xí)裝置,該機(jī)械學(xué)習(xí)裝置具備:狀態(tài)量觀測(cè)部,其觀測(cè)包含三維測(cè)量器的輸出數(shù)據(jù)的所述機(jī)器人的狀態(tài)量,該三維測(cè)量器測(cè)量每個(gè)所述工件的三維圖;動(dòng)作結(jié)果取得部,其取得通過所述機(jī)械手部取出所述工件的所述機(jī)器人的取出動(dòng)作的結(jié)果;學(xué)習(xí)部,其接受來自所述狀態(tài)量觀測(cè)部的輸出和來自所述動(dòng)作結(jié)果取得部的輸出,與所述機(jī)器人的所述狀態(tài)量和所述取出動(dòng)作的結(jié)果相關(guān)聯(lián)地學(xué)習(xí)包含所述三維測(cè)量器的測(cè)量參數(shù)的操作量。所述機(jī)械學(xué)習(xí)裝置優(yōu)選還具備意圖決定部,其參照所述學(xué)習(xí)部學(xué)習(xí)到的所述操作量來決定所述三維測(cè)量器的所述測(cè)量參數(shù)。
所述狀態(tài)量觀測(cè)部還可以根據(jù)所述三維測(cè)量器的輸出來觀測(cè)包含坐標(biāo)計(jì)算部的輸出數(shù)據(jù)的所述機(jī)器人的狀態(tài)量,該坐標(biāo)計(jì)算部用于計(jì)算每個(gè)所述工件的三維位置。所述坐標(biāo)計(jì)算部還可以計(jì)算每個(gè)所述工件的姿態(tài),并輸出計(jì)算出的每個(gè)所述工件的三維位置和姿態(tài)的數(shù)據(jù)。所述動(dòng)作結(jié)果取得部可以利用所述三維測(cè)量器的輸出數(shù)據(jù)。所述機(jī)械學(xué)習(xí)裝置優(yōu)選還具備預(yù)處理部,其在向所述狀態(tài)量觀測(cè)部輸入之前,對(duì)所述三維測(cè)量器的輸出數(shù)據(jù)進(jìn)行處理,所述狀態(tài)量觀測(cè)部接受預(yù)處理部的輸出數(shù)據(jù)作為所述機(jī)器人的狀態(tài)量。所述預(yù)處理部可以使所述三維測(cè)量器的輸出數(shù)據(jù)中的每個(gè)所述工件的方向和高度均為一定。所述動(dòng)作結(jié)果取得部可以取得所述工件的取出成功與否、所述工件的損壞狀態(tài)、以及將取出的所述工件傳送到后工序時(shí)的完成度中的至少一種。
所述學(xué)習(xí)部可以具備:根據(jù)所述動(dòng)作結(jié)果取得部的輸出來計(jì)算回報(bào)的回報(bào)計(jì)算部;以及價(jià)值函數(shù)更新部,其具有用于確定所述工件的所述取出動(dòng)作的價(jià)值的價(jià)值函數(shù),與所述回報(bào)對(duì)應(yīng)地來更新所述價(jià)值函數(shù)。所述學(xué)習(xí)部還可以具有學(xué)習(xí)所述工件的所述取出動(dòng)作的學(xué)習(xí)模型,具備:誤差計(jì)算部,其根據(jù)所述動(dòng)作結(jié)果取得部的輸出和所述學(xué)習(xí)模型的輸出來計(jì)算誤差;以及學(xué)習(xí)模型更新部,其與所述誤差對(duì)應(yīng)地來更新所述學(xué)習(xí)模型。所述機(jī)械學(xué)習(xí)裝置優(yōu)選具有神經(jīng)網(wǎng)絡(luò)。
根據(jù)本發(fā)明的第三實(shí)施方式,提供了一種具備機(jī)械學(xué)習(xí)裝置的機(jī)器人系統(tǒng),該機(jī)械學(xué)習(xí)裝置學(xué)習(xí)通過機(jī)械手部從包含散裝狀態(tài)的雜亂放置的多個(gè)工件中取出所述工件的機(jī)器人的動(dòng)作,該機(jī)械學(xué)習(xí)裝置具備:狀態(tài)量觀測(cè)部,其觀測(cè)包含三維測(cè)量器的輸出數(shù)據(jù)的所述機(jī)器人的狀態(tài)量,該三維測(cè)量器測(cè)量每個(gè)所述工件的三維圖;動(dòng)作結(jié)果取得部,其取得通過所述機(jī)械手部取出所述工件的所述機(jī)器人的取出動(dòng)作的結(jié)果;以及學(xué)習(xí)部,其接受來自所述狀態(tài)量觀測(cè)部的輸出和來自所述動(dòng)作結(jié)果取得部的輸出,與所述機(jī)器人的所述狀態(tài)量和所述取出動(dòng)作的結(jié)果相關(guān)聯(lián)地學(xué)習(xí)包含向所述機(jī)器人指示所述工件的所述取出動(dòng)作的指令數(shù)據(jù)的操作量,所述機(jī)器人系統(tǒng)具備:所述機(jī)器人、所述三維測(cè)量器、以及分別控制所述機(jī)器人和所述三維測(cè)量器的控制裝置。
根據(jù)本發(fā)明的第四實(shí)施方式,提供了一種具備機(jī)械學(xué)習(xí)裝置的機(jī)器人系統(tǒng),該機(jī)械學(xué)習(xí)裝置學(xué)習(xí)通過機(jī)械手部從包含散裝狀態(tài)的雜亂放置的多個(gè)工件中取出所述工件的機(jī)器人的動(dòng)作,該機(jī)械學(xué)習(xí)裝置具備:狀態(tài)量觀測(cè)部,其觀測(cè)包含三維測(cè)量器的輸出數(shù)據(jù)的所述機(jī)器人的狀態(tài)量,該三維測(cè)量器測(cè)量每個(gè)所述工件的三維圖;動(dòng)作結(jié)果取得部,其取得通過所述機(jī)械手部取出所述工件的所述機(jī)器人的取出動(dòng)作的結(jié)果;以及學(xué)習(xí)部,其接受來自所述狀態(tài)量觀測(cè)部的輸出和來自所述動(dòng)作結(jié)果取得部的輸出,與所述機(jī)器人的所述狀態(tài)量和所述取出動(dòng)作的結(jié)果相關(guān)聯(lián)地學(xué)習(xí)包含所述三維測(cè)量器的測(cè)量參數(shù)的操作量,所述機(jī)器人系統(tǒng)具備:所述機(jī)器人、所述三維測(cè)量器、以及分別控制所述機(jī)器人和所述三維測(cè)量器的控制裝置。
優(yōu)選地,所述機(jī)器人系統(tǒng)具備多個(gè)所述機(jī)器人,分別針對(duì)每個(gè)所述機(jī)器人而設(shè)置所述機(jī)械學(xué)習(xí)裝置,針對(duì)多個(gè)所述機(jī)器人而設(shè)置的多個(gè)所述機(jī)械學(xué)習(xí)裝置通過通信介質(zhì)相互共享數(shù)據(jù)或交換數(shù)據(jù)。所述機(jī)械學(xué)習(xí)裝置可以存在于云服務(wù)器上。
根據(jù)本發(fā)明的第五實(shí)施方式,提供了一種學(xué)習(xí)通過機(jī)械手部從包含散裝狀態(tài)的雜亂放置的多個(gè)工件中取出所述工件的機(jī)器人的動(dòng)作的機(jī)械學(xué)習(xí)方法,該機(jī)械學(xué)習(xí)方法包含以下步驟:觀測(cè)包含三維測(cè)量器的輸出數(shù)據(jù)的所述機(jī)器人的狀態(tài)量,該三維測(cè)量器測(cè)量每個(gè)所述工件的三維圖;取得通過所述機(jī)械手部取出所述工件的所述機(jī)器人的取出動(dòng)作的結(jié)果;接受來自所述狀態(tài)量觀測(cè)部的輸出和來自所述動(dòng)作結(jié)果取得部的輸出,與所述機(jī)器人的所述狀態(tài)量和所述取出動(dòng)作的結(jié)果相關(guān)聯(lián)地學(xué)習(xí)包含向所述機(jī)器人指示所述工件的所述取出動(dòng)作的指令數(shù)據(jù)的操作量。
附圖說明
本發(fā)明通過參照以下附圖而得以更明確地理解。
圖1是表示本發(fā)明一個(gè)實(shí)施方式的機(jī)器人系統(tǒng)的概念性結(jié)構(gòu)的框圖。
圖2是示意性表示神經(jīng)元的模型的圖。
圖3是示意性表示組合圖2所示的神經(jīng)元而構(gòu)成的三層神經(jīng)網(wǎng)絡(luò)的圖。
圖4是表示圖1所示的機(jī)械學(xué)習(xí)裝置的動(dòng)作的一例的流程圖。
圖5是表示本發(fā)明另一個(gè)實(shí)施方式的機(jī)器人系統(tǒng)的概念性結(jié)構(gòu)的框圖。
圖6是用于說明圖5所示機(jī)器人系統(tǒng)中的預(yù)處理部的處理的一例的圖。
圖7是表示圖1所示的機(jī)器人系統(tǒng)的變形例的框圖。
具體實(shí)施方式
以下,參照附圖來詳述本發(fā)明的機(jī)械學(xué)習(xí)裝置、機(jī)器人系統(tǒng)以及機(jī)械學(xué)習(xí)方法的實(shí)施例。然而,希望理解為本發(fā)明不受限于附圖或以下說明的實(shí)施方式。這里,在各附圖中,對(duì)相同部件賦予相同的參照符號(hào)。此外,在不同的附圖中,賦予了相同的參照符號(hào)的部件意味著是具有相同功能的結(jié)構(gòu)要素。此外,為了易于理解,將這些附圖適當(dāng)變更了比例尺。
圖1是表示本發(fā)明一個(gè)實(shí)施方式的機(jī)器人系統(tǒng)的概念性結(jié)構(gòu)的框圖。本實(shí)施方式的機(jī)器人系統(tǒng)10具備:安裝了用于把持散裝在筐狀的箱11中的工件12的機(jī)械手部13的機(jī)器人14;測(cè)量工件12的表面的三維圖(map)的三維測(cè)量器15;分別控制機(jī)器人14和三維測(cè)量器15的控制裝置16;坐標(biāo)計(jì)算部19;以及機(jī)械學(xué)習(xí)裝置20。
這里,機(jī)械學(xué)習(xí)裝置20具備:狀態(tài)量觀測(cè)部21、動(dòng)作結(jié)果取得部26、學(xué)習(xí)部22以及意圖決定部25。此外,機(jī)械學(xué)習(xí)裝置20如后詳述地,學(xué)習(xí)指示機(jī)器人14進(jìn)行工件12的取出動(dòng)作的指令數(shù)據(jù)、或者三維測(cè)量器15的測(cè)量參數(shù)這樣的操作量并進(jìn)行輸出。
機(jī)器人14例如是6軸多關(guān)節(jié)型機(jī)器人,機(jī)器人14和機(jī)械手部13的各自的驅(qū)動(dòng)軸通過控制裝置16來控制。此外,為了將工件12從設(shè)置在預(yù)定位置的箱11中逐個(gè)取出而依次移動(dòng)到指定場(chǎng)所例如傳送帶或操作臺(tái)(未圖示),使用機(jī)器人14。
然而,在將散裝的工件12從箱11中取出時(shí),有時(shí)機(jī)械手部13或工件12與箱11的壁碰撞或接觸?;蛘撸袝r(shí)機(jī)械手部13或工件12會(huì)被其他工件12卡住。在這樣的情況下,為了能夠立即避免對(duì)機(jī)器人14施加的過負(fù)荷,需要對(duì)作用于機(jī)械手部13的力進(jìn)行檢測(cè)的功能。因此,在機(jī)器人14的臂部的前端與機(jī)械手部13之間設(shè)置有6軸的力傳感器17。另外,本實(shí)施方式的機(jī)器人系統(tǒng)10還具備,根據(jù)驅(qū)動(dòng)機(jī)器人14的各關(guān)節(jié)部的驅(qū)動(dòng)軸的電動(dòng)機(jī)(未圖示)的電流值來推定作用于機(jī)械手部13的力的功能。
此外,力傳感器17能夠檢測(cè)作用于機(jī)械手部13的力,因此能夠判斷實(shí)際上機(jī)械手部13是否把持有工件12。也就是說,在機(jī)械手部13把持了工件12的情況下,工件12的重量作用于機(jī)械手部13,因此在實(shí)施了工件12的取出動(dòng)作之后,如果力傳感器17的檢測(cè)值超出了預(yù)定閾值,則能夠判斷為機(jī)械手部13把持有工件12。此外,關(guān)于機(jī)械手部13是否把持有工件12的判斷,例如還可以通過在三維測(cè)量器15中使用的攝像機(jī)的攝影數(shù)據(jù)、安裝于機(jī)械手部13的未圖示的光電傳感器等的輸出來進(jìn)行判斷。此外,還可以根據(jù)后述的吸附式機(jī)械手的壓力計(jì)的數(shù)據(jù)來進(jìn)行判斷。
這里,機(jī)械手部13只要能夠把持工件12,則可以具有各種形態(tài)。例如,機(jī)械手部13可以是通過使2個(gè)或多個(gè)爪部開閉來把持工件12的形態(tài),或者具備對(duì)工件12產(chǎn)生吸引力的電磁鐵或負(fù)壓發(fā)生裝置。即,在圖1中描繪了機(jī)械手部13通過2個(gè)爪部來把持工件的情況,然而不限定于此。
為了對(duì)多個(gè)工件12進(jìn)行測(cè)量,三維測(cè)量器15通過支持部18而設(shè)置在多個(gè)工件12的上方的預(yù)定位置。作為三維測(cè)量器15,例如能夠使用通過對(duì)由2臺(tái)攝像機(jī)(未圖示)拍攝到的工件12的圖像數(shù)據(jù)進(jìn)行圖像處理,來取得三維位置信息的三維視覺傳感器。具體地,通過應(yīng)用三角測(cè)量法、光切斷法、飛行時(shí)間法(Time-of-flight法)、散焦測(cè)距法(Depth from Defocus法)或并用了這些的方法等,來測(cè)定三維圖(散裝的多個(gè)工件12的表面的位置)。
坐標(biāo)計(jì)算部19以利用三維測(cè)量器15得到的三維圖作為輸入,來計(jì)算(測(cè)定)散裝的多個(gè)工件12的表面的位置。即,利用三維測(cè)量器15的輸出,能夠得到各個(gè)工件12的每一個(gè)的三維位置數(shù)據(jù)(x、y、z)、或者三維位置數(shù)據(jù)(x、y、z)和姿態(tài)數(shù)據(jù)(w、p、r)。這里,狀態(tài)量觀測(cè)部21接受來自三維測(cè)量器15的三維圖和來自坐標(biāo)計(jì)算部19的位置數(shù)據(jù)(姿態(tài)數(shù)據(jù))兩者,來觀測(cè)機(jī)器人14的狀態(tài)量,然而,例如也可以僅接受來自三維測(cè)量器15的三維圖而觀測(cè)機(jī)器人14的狀態(tài)量。此外,也可以與下文參照?qǐng)D5而說明的情況同樣地,追加預(yù)處理部50,通過該預(yù)處理部50在向狀態(tài)量觀測(cè)部21輸入之前對(duì)來自三維測(cè)量器15的三維圖進(jìn)行處理(預(yù)處理),而輸入到狀態(tài)量觀測(cè)部21。
此外,假定預(yù)先通過校準(zhǔn)來決定機(jī)器人14和三維測(cè)量器15的相關(guān)位置。此外,在本發(fā)明的三維測(cè)量器15中,可以代替三維視覺傳感器而使用激光距離測(cè)定器。也就是說,可以通過激光掃描來測(cè)量從設(shè)置三維測(cè)量器15的位置到各工件12的表面為止的距離,或通過使用單眼相機(jī)、觸覺傳感器等各種傳感器來取得散裝的多個(gè)工件12的三維位置數(shù)據(jù)和姿態(tài)(x、y、z、w、p、r)。
即,在本發(fā)明中,例如只要能夠取得各個(gè)工件12的數(shù)據(jù)(x、y、z、w、p、r),則不論是應(yīng)用了何種三維測(cè)量法的三維測(cè)量器15均能夠應(yīng)用。此外,設(shè)置三維測(cè)量器15的方式也不受特別的限制,例如,可以固定于地板或墻壁等,也可以安裝于機(jī)器人14的臂部等。
三維測(cè)量器15通過來自控制裝置16的指令,取得箱11中散裝的多個(gè)工件12的三維圖,坐標(biāo)計(jì)算部19根據(jù)該三維圖而取得(計(jì)算)多個(gè)工件12的三維位置(姿態(tài))的數(shù)據(jù),并將該數(shù)據(jù)輸出到控制裝置16以及后述的機(jī)械學(xué)習(xí)裝置20的狀態(tài)量觀測(cè)部21和動(dòng)作結(jié)果取得部26。特別地,在坐標(biāo)計(jì)算部19中,例如根據(jù)拍攝到的多個(gè)工件12的圖像數(shù)據(jù),推定某工件12與其他工件12的邊界、或工件12與箱11的邊界,并取得每個(gè)工件12的三維位置數(shù)據(jù)。
每個(gè)工件12的三維位置數(shù)據(jù)是指,例如通過根據(jù)散裝的多個(gè)工件12表面上的多個(gè)點(diǎn)的位置來推定各個(gè)工件12的存在位置、可保持的位置而取得的數(shù)據(jù)。當(dāng)然,在每個(gè)工件12的三維位置數(shù)據(jù)中還可以包含有工件12的姿態(tài)的數(shù)據(jù)。
此外,在坐標(biāo)計(jì)算部19的每個(gè)工件12的三維位置和姿態(tài)數(shù)據(jù)的取得中,還包含有使用機(jī)械學(xué)習(xí)的方法。例如,可以應(yīng)用使用了后述的有教師學(xué)習(xí)等方法的輸入圖像或來自激光距離測(cè)定器等的物體識(shí)別、角度推定等。
并且,當(dāng)將每個(gè)工件12的三維位置數(shù)據(jù)從三維測(cè)量器15經(jīng)由坐標(biāo)計(jì)算部19而輸入到控制裝置16時(shí),控制裝置16控制將某工件12從箱11取出的機(jī)械手部13的動(dòng)作。此時(shí),根據(jù)通過后述的機(jī)械學(xué)習(xí)裝置20得到的機(jī)械手部13的最佳位置、姿態(tài)以及取出方向所對(duì)應(yīng)的指令值(操作量),來驅(qū)動(dòng)機(jī)械手部13、機(jī)器人14的各軸的電動(dòng)機(jī)(未圖示)。
此外,機(jī)械學(xué)習(xí)裝置20可以學(xué)習(xí)在三維測(cè)量器15中使用的攝像機(jī)的攝影條件的變量(三維測(cè)量器15的測(cè)量參數(shù):例如,使用曝光表在攝影時(shí)調(diào)整的曝光時(shí)間、對(duì)被攝影對(duì)象進(jìn)行照明時(shí)的照明系統(tǒng)的照度等),并經(jīng)由控制裝置16根據(jù)學(xué)習(xí)到的測(cè)量參數(shù)操作量來控制三維測(cè)量器15。這里,在根據(jù)三維測(cè)量器15測(cè)量出的多個(gè)工件12的位置推定各個(gè)工件12的存在位置/姿態(tài)、可保持的位置/姿態(tài)中使用的位置/姿態(tài)推定條件的變量,也可以包含在上述三維測(cè)量器15的輸出數(shù)據(jù)中。
此外,按照前述,可以通過參照?qǐng)D5稍后詳述的預(yù)處理部50等事先對(duì)來自三維測(cè)量器15的輸出數(shù)據(jù)進(jìn)行處理,并將該處理后的數(shù)據(jù)(圖像數(shù)據(jù))賦予狀態(tài)量觀測(cè)部21。此外,動(dòng)作結(jié)果取得部26例如可以根據(jù)來自三維測(cè)量器15的輸出數(shù)據(jù)(坐標(biāo)計(jì)算部19的輸出數(shù)據(jù)),取得機(jī)器人14的機(jī)械手部13取出了工件12的結(jié)果,除此之外,當(dāng)然例如也可以經(jīng)由其他單元(例如設(shè)置在后工序中的攝像機(jī)、傳感器等)取得將取出的工件12傳送到后工序時(shí)的完成度、以及是否存在取出的工件12的破損等狀態(tài)變化這樣的動(dòng)作結(jié)果。以上,狀態(tài)量觀測(cè)部21和動(dòng)作結(jié)果取得部26是功能性模塊,當(dāng)然也可以設(shè)置成通過一個(gè)模塊實(shí)現(xiàn)兩者的功能。
接著,詳述圖1所示的機(jī)械學(xué)習(xí)裝置20。機(jī)械學(xué)習(xí)裝置20具有如下功能:從被輸入到裝置中的數(shù)據(jù)的集合中,通過解析而提取其中有用的規(guī)則或知識(shí)表現(xiàn)、判斷基準(zhǔn)等,輸出該判斷結(jié)果,并且進(jìn)行知識(shí)的學(xué)習(xí)(機(jī)械學(xué)習(xí))。機(jī)械學(xué)習(xí)的方法是多樣的,如果大致劃分則例如分為“有教師學(xué)習(xí)”、“無教師學(xué)習(xí)”以及“強(qiáng)化學(xué)習(xí)”。此外,在實(shí)現(xiàn)這些方法的方面,有學(xué)習(xí)特征量本身的提取的、被稱為“深層學(xué)習(xí)(Deep Learning)”的方法。此外,這些機(jī)械學(xué)習(xí)(機(jī)械學(xué)習(xí)裝置20)可以使用通用的計(jì)算機(jī)或處理器,然而當(dāng)應(yīng)用GPGPU(通用計(jì)算圖像處理單元,General-Purpose computing on Graphics Processing Units)、大規(guī)模PC集群等時(shí),可進(jìn)行更高速地處理。
首先,有教師學(xué)習(xí)是指通過將某輸入和結(jié)果(標(biāo)簽,label)的數(shù)據(jù)的組大量地提供給機(jī)械學(xué)習(xí)裝置20,學(xué)習(xí)這些數(shù)據(jù)集中的特征,歸納地獲得根據(jù)輸入推定結(jié)果的模型,即其關(guān)系性。在本實(shí)施方式中應(yīng)用該有教師學(xué)習(xí)的情況下,例如可以在根據(jù)傳感器輸入推定工件位置的部分、或針對(duì)工件候補(bǔ)推定其取得成功概率的部分等中使用。例如,可以使用后述的神經(jīng)網(wǎng)絡(luò)等算法來實(shí)現(xiàn)。
此外,無教師學(xué)習(xí)是指通過僅將輸入數(shù)據(jù)大量地提供給學(xué)習(xí)裝置,學(xué)習(xí)輸入數(shù)據(jù)進(jìn)行了何種分布,即使不提供相對(duì)應(yīng)的教師輸出數(shù)據(jù),也能夠通過對(duì)輸入數(shù)據(jù)進(jìn)行壓縮/分類/整形等的裝置來學(xué)習(xí)的方法。例如,可以將這些數(shù)據(jù)集中的特征在相似者之間聚類等。使用該結(jié)果,設(shè)置某基準(zhǔn)來進(jìn)行使其最佳化的輸出分配,由此能夠?qū)崿F(xiàn)輸出的預(yù)測(cè)。
此外,作為有教師學(xué)習(xí)與無教師學(xué)習(xí)的中間性的問題設(shè)定,稱作半有教師學(xué)習(xí),這對(duì)應(yīng)于例如僅存在一部分輸入和輸出的數(shù)據(jù)組,除此之外僅是輸入的數(shù)據(jù)的情況。在本實(shí)施方式中,以無教師學(xué)習(xí)來利用即使實(shí)際上不使機(jī)器人動(dòng)作也能夠取得的數(shù)據(jù)(圖像數(shù)據(jù)、模擬數(shù)據(jù)等),由此能夠高效率地進(jìn)行學(xué)習(xí)。
接著,說明強(qiáng)化學(xué)習(xí)。首先,作為強(qiáng)化學(xué)習(xí)的問題設(shè)定,考慮如下。
·機(jī)器人觀測(cè)環(huán)境的狀態(tài),決定行為。
·環(huán)境隨著某規(guī)則而變化,進(jìn)而,自身的行為有時(shí)對(duì)環(huán)境賦予變化。
·每次行動(dòng)時(shí),返回回報(bào)信號(hào)。
·想要最大化的是將來的(折扣)回報(bào)的合計(jì)。
·從完全不了解或不完全了解行為引起的結(jié)果的狀態(tài)開始學(xué)習(xí)。即,機(jī)器人可以實(shí)際上首次行動(dòng),取得其結(jié)果作為數(shù)據(jù)。也就是說,需要一邊嘗試一邊探索最佳的行為。
·為了模仿人的動(dòng)作,也可以將事先學(xué)習(xí)到的(前述的有教師學(xué)習(xí)、逆向強(qiáng)化學(xué)習(xí)這樣的方法)狀態(tài)設(shè)為初始狀態(tài),從良好的開始地點(diǎn)開始學(xué)習(xí)。
這里,強(qiáng)化學(xué)習(xí)是指除了判定、分類之外,還學(xué)習(xí)行為,由此根據(jù)行為對(duì)環(huán)境的相互作用來學(xué)習(xí)合適的行為,即學(xué)習(xí)為了使將來得到的回報(bào)最大化而進(jìn)行學(xué)習(xí)的方法。這表示在本實(shí)施方式中例如能夠獲得使工件12的山坍塌而在將來易于取出工件12這樣的影響未來的行為。以下,以Q學(xué)習(xí)的情況為例子繼續(xù)說明,但是不限于Q學(xué)習(xí)。
Q學(xué)習(xí)是指在某環(huán)境狀態(tài)s下學(xué)習(xí)選擇行為a的價(jià)值Q(s、a)的方法。也就是說,在某狀態(tài)s時(shí)選擇價(jià)值Q(s、a)最高的行為a作為最佳行為即可。但是,最初,關(guān)于狀態(tài)s和行為a的組合,完全不了解價(jià)值Q(s、a)的正確值。因此,智能體(行為主體)在某狀態(tài)s下選擇各種行為a,并對(duì)此時(shí)的行為a賦予回報(bào)。由此,智能體不斷學(xué)習(xí)更佳的行為的選擇即正確的價(jià)值Q(s、a)。
此外,由于想要使作為行為的結(jié)果而在將來得到的回報(bào)的合計(jì)最大化,因此,目標(biāo)是最終使Q(s、a)=E[Σ(γt)rt]。這里,E[]表示期待值,t是時(shí)刻、γ是后述的被稱為折扣率的參數(shù)、rt是時(shí)刻t時(shí)的回報(bào)、Σ是基于時(shí)刻t的合計(jì)。將該式中的期待值設(shè)為按照最佳行為發(fā)生了狀態(tài)變化時(shí)所取的值,由于這是未知的,因此要一邊進(jìn)行探索一邊進(jìn)行學(xué)習(xí)。這樣的價(jià)值Q(s、a)的更新式,例如通過下式(1)表示。
在上式(1)中,st表示時(shí)刻t時(shí)的環(huán)境狀態(tài),at表示時(shí)刻t時(shí)的行為。通過行為at,狀態(tài)變化為st+1。rt+1表示通過該狀態(tài)變化而得到的回報(bào)。此外,帶有max的項(xiàng)成為使在狀態(tài)st+1下選擇了此時(shí)已知的Q值最高的行為a時(shí)的Q值乘以γ而得的項(xiàng)。這里,γ是0<γ≤1的參數(shù),被稱為折扣率。此外,α是學(xué)習(xí)系數(shù),設(shè)為0<α≤1的范圍。
上述式(1)表示,根據(jù)嘗試at的結(jié)果而返回來的回報(bào)rt+1,更新狀態(tài)st中的行為at的評(píng)價(jià)值Q(st、at)的方法。即表示如果基于回報(bào)rt+1和行為a的下一個(gè)狀態(tài)的最佳行為max a的評(píng)價(jià)值Q(st+1、max at+1)的合計(jì)大于狀態(tài)s下的行為a的評(píng)價(jià)值Q(st、at),則使Q(st、at)增大,相反地,如果小于狀態(tài)s下的行為a的評(píng)價(jià)值Q(st、at)則使Q(st、at)減小。也就是說,使某狀態(tài)下的某行為的價(jià)值接近于基于作為結(jié)果即時(shí)返回的回報(bào)、和該行為的下一個(gè)狀態(tài)下的最佳行為的價(jià)值。
這里,Q(s、a)在計(jì)算機(jī)上的表現(xiàn)方法,有針對(duì)全部的狀態(tài)行為對(duì)(s、a)作為表格預(yù)先保持該值的方法、以及準(zhǔn)備對(duì)Q(s、a)進(jìn)行近似的函數(shù)的方法。后者的方法,通過利用隨機(jī)梯度下降法等方法調(diào)整近似函數(shù)的參數(shù),能夠?qū)崿F(xiàn)上述式(1)。此外,作為近似函數(shù),可以使用后述的神經(jīng)網(wǎng)絡(luò)。
此外,作為有教師學(xué)習(xí)、無教師學(xué)習(xí)的學(xué)習(xí)模型、或強(qiáng)化學(xué)習(xí)中的價(jià)值函數(shù)的近似算法,可以使用神經(jīng)網(wǎng)絡(luò)。圖2是示意性表示神經(jīng)元的模型的圖,圖3是示意性表示組合圖2所示的神經(jīng)元而構(gòu)成的三層神經(jīng)網(wǎng)絡(luò)的圖。即,神經(jīng)網(wǎng)絡(luò)例如由模仿圖2所示這樣的神經(jīng)元模型的運(yùn)算裝置以及存儲(chǔ)器等構(gòu)成。
如圖2所示,神經(jīng)元針對(duì)多個(gè)輸入x(圖2中,以輸入x1~輸入x3作為一例)輸出輸出(結(jié)果)y。使各輸入x(x1、x2、x3)乘以與該輸入x對(duì)應(yīng)的權(quán)值w(w1、w2、w3)。由此,神經(jīng)元輸出由下式(2)表現(xiàn)的結(jié)果y。此外,輸入x、結(jié)果y以及權(quán)值w全部是向量。此外,在下述式(2)中,θ是偏置(bias),fk是激活函數(shù)。
參照?qǐng)D3說明組合圖2所示的神經(jīng)元而構(gòu)成的三層神經(jīng)網(wǎng)絡(luò)。如圖3所示,從神經(jīng)網(wǎng)絡(luò)的左側(cè)輸入多個(gè)輸入x(這里,以輸入x1~輸入x3作為一例),從右側(cè)輸出結(jié)果y(這里,以結(jié)果y1~結(jié)果y3作為一例)。具體地,將輸入x1、x2、x3乘以對(duì)應(yīng)的權(quán)值而輸入到3個(gè)神經(jīng)元N11~N13的每一個(gè)。將與這些輸入相乘的權(quán)值匯總地標(biāo)記為W1。
神經(jīng)元N11~N13分別輸出z11~z13。圖3中,這些z11~z13被匯總地標(biāo)記為特征向量Z1,并能夠看作是提取了輸入向量的特征量后的向量。該特征向量Z1是權(quán)值W1與權(quán)值W2之間的特征向量。將z11~z13乘以對(duì)應(yīng)的權(quán)值而輸入到2個(gè)神經(jīng)元N21和N22的每一個(gè)。將與這些特征向量相乘的權(quán)值匯總地標(biāo)記為w2。
神經(jīng)元N21、N22各自輸出z21、z22。圖3中,將這些z21、z22匯總地標(biāo)記為特征向量Z2。該特征向量Z2是權(quán)值W2與權(quán)值W3之間的特征向量。將z21、z22乘以對(duì)應(yīng)的權(quán)值而輸入到3個(gè)神經(jīng)元N31~N33的每一個(gè)。將與這些特征向量相乘的權(quán)值匯總地標(biāo)記為W3。
最后,神經(jīng)元N31~N33各自輸出結(jié)果y1~結(jié)果y3。在神經(jīng)網(wǎng)絡(luò)的動(dòng)作中存在學(xué)習(xí)模式和價(jià)值預(yù)測(cè)模式。例如,在學(xué)習(xí)模式中,使用學(xué)習(xí)數(shù)據(jù)集來學(xué)習(xí)權(quán)值W,并使用該參數(shù)在預(yù)測(cè)模式中進(jìn)行機(jī)器人的行為判斷。此外,為了方便而寫為預(yù)測(cè),然而當(dāng)然可以是檢測(cè)/分類/推論等多種任務(wù)。
這里,可以對(duì)在預(yù)測(cè)模式下實(shí)際上使機(jī)器人動(dòng)作而得的數(shù)據(jù)進(jìn)行即時(shí)學(xué)習(xí),并反映到接下來的行為中(在線學(xué)習(xí));也可以使用預(yù)先收集到的數(shù)據(jù)組而進(jìn)行匯總的學(xué)習(xí),以后一直利用該參數(shù)來進(jìn)行檢測(cè)模式(批量學(xué)習(xí))。或者,也可以是中間性的,每當(dāng)數(shù)據(jù)以某程度發(fā)生積存時(shí)插入學(xué)習(xí)模式。
此外,可以通過誤差反傳播法(誤差反向傳播法:Back propagation)來學(xué)習(xí)權(quán)值W1~W3。此外,誤差信息從右側(cè)輸入并流向左側(cè)。誤差反傳播法是為了針對(duì)各神經(jīng)元使輸入了輸入x時(shí)的輸出y與真實(shí)的輸出y(教師)之間的差值變小,對(duì)各自的權(quán)值進(jìn)行調(diào)整(學(xué)習(xí))的方法。
這樣的神經(jīng)網(wǎng)絡(luò)可以在三層以上進(jìn)一步增加層(稱為深層學(xué)習(xí))。此外,還可以僅根據(jù)教師數(shù)據(jù)自動(dòng)地獲得階段性地進(jìn)行輸入的特征提取并對(duì)結(jié)果進(jìn)行回歸的運(yùn)算裝置。
因此,本實(shí)施方式的機(jī)械學(xué)習(xí)裝置20,為了能夠?qū)嵤┥鲜鯭學(xué)習(xí),如圖1所示這樣,具備:狀態(tài)量觀測(cè)部21、動(dòng)作結(jié)果取得部26、學(xué)習(xí)部22以及意圖決定部25。然而,本發(fā)明中應(yīng)用的機(jī)械學(xué)習(xí)方法如前述并不受限于Q學(xué)習(xí)。即,可以應(yīng)用能夠在機(jī)械學(xué)習(xí)裝置中使用的方法即“有教師學(xué)習(xí)”、“無教師學(xué)習(xí)”、“半有教師學(xué)習(xí)”以及“強(qiáng)化學(xué)習(xí)”等各種方法。此外,這些機(jī)械學(xué)習(xí)(機(jī)械學(xué)習(xí)裝置20)可以使用通用的計(jì)算機(jī)或處理器,然而,當(dāng)應(yīng)用GPGPU、大規(guī)模PC集群等時(shí),能夠更高速地進(jìn)行處理。
即,根據(jù)本實(shí)施方式,提供了一種機(jī)械學(xué)習(xí)裝置,其學(xué)習(xí)通過機(jī)械手部13從包含散裝狀態(tài)的雜亂放置的多個(gè)工件12中取出工件12的機(jī)器人14的動(dòng)作,其具備:狀態(tài)量觀測(cè)部21,其觀測(cè)包含三維測(cè)量器15的輸出數(shù)據(jù)的機(jī)器人14的狀態(tài)量,該三維測(cè)量器15測(cè)量每個(gè)工件12的三維位置(x、y、z)、或者三維位置與姿態(tài)(x、y、z、w、p、r);動(dòng)作結(jié)果取得部26,其取得通過機(jī)械手部13取出工件12的機(jī)器人14的取出動(dòng)作的結(jié)果;學(xué)習(xí)部22,其接受來自狀態(tài)量觀測(cè)部21的輸出和來自動(dòng)作結(jié)果取得部26的輸出,與機(jī)器人14的狀態(tài)量和取出動(dòng)作的結(jié)果相關(guān)聯(lián)地學(xué)習(xí)包含向機(jī)器人14指示工件12的取出動(dòng)作的指令數(shù)據(jù)的操作量。
此外,狀態(tài)量觀測(cè)部21觀測(cè)的狀態(tài)量例如可包含分別對(duì)從箱11取出某工件12時(shí)的機(jī)械手部13的位置、姿態(tài)以及取出方向進(jìn)行設(shè)定的狀態(tài)變量。此外,所學(xué)習(xí)的操作量例如可以包含從箱11取出工件12時(shí)從控制裝置16提供給機(jī)器人14、機(jī)械手部13的各驅(qū)動(dòng)軸的轉(zhuǎn)矩、速度、旋轉(zhuǎn)位置等指令值。
并且,學(xué)習(xí)部22在散裝的多個(gè)工件12中的一個(gè)工件被取出時(shí),與工件12的取出動(dòng)作的結(jié)果(動(dòng)作結(jié)果取得部26的輸出)相關(guān)聯(lián)地學(xué)習(xí)上述狀態(tài)變量。也就是說,通過控制裝置16分別隨機(jī)地設(shè)定三維測(cè)量器15(坐標(biāo)計(jì)算部19)的輸出數(shù)據(jù)和機(jī)械手部13的指令數(shù)據(jù),或者根據(jù)預(yù)定的規(guī)則而特意地設(shè)定,并通過機(jī)械手部13實(shí)施工件12的取出動(dòng)作。這里,作為上述預(yù)定的規(guī)則,例如有從散裝的多個(gè)工件12中高度(z)方向高的工件開始依次取出。由此,三維測(cè)量器15的輸出數(shù)據(jù)與機(jī)械手部13的指令數(shù)據(jù)對(duì)應(yīng)于取出某工件的行為。并且,會(huì)產(chǎn)生工件12的取出的成功和失敗,在每次產(chǎn)生這樣的成功和失敗時(shí),學(xué)習(xí)部22對(duì)由三維測(cè)量器15的輸出數(shù)據(jù)與機(jī)械手部13的指令數(shù)據(jù)構(gòu)成的狀態(tài)變量進(jìn)行評(píng)價(jià)。
此外,學(xué)習(xí)部22將取出工件12時(shí)的三維測(cè)量器15的輸出數(shù)據(jù)和機(jī)械手部13的指令數(shù)據(jù)、與對(duì)工件12的取出動(dòng)作的結(jié)果的評(píng)價(jià)相關(guān)聯(lián)地進(jìn)行存儲(chǔ)。此外,作為失敗例子有如下情況:機(jī)械手部13無法保持工件12的情況、或者即使把持了工件12但是工件12與箱11的壁發(fā)生碰撞或接觸的情況等。此外,根據(jù)力傳感器17的檢測(cè)值、基于三維測(cè)量器的攝影數(shù)據(jù)來判斷這樣的工件12的取出是否成功。這里,機(jī)械學(xué)習(xí)裝置20例如還可以利用從控制裝置16輸出的機(jī)械手部13的指令數(shù)據(jù)的一部分來進(jìn)行學(xué)習(xí)。
這里,本實(shí)施方式的學(xué)習(xí)部22優(yōu)選具備回報(bào)計(jì)算部23和價(jià)值函數(shù)更新部24。例如,回報(bào)計(jì)算部23根據(jù)上述狀態(tài)變量引起的工件12的取出的成功與否,來計(jì)算回報(bào),例如分?jǐn)?shù)。對(duì)工件12的取出的成功,設(shè)為回報(bào)變高,對(duì)工件12的取出的失敗,設(shè)為回報(bào)變低。此外,也可以根據(jù)在預(yù)定時(shí)間內(nèi)工件12的取出的成功次數(shù)來計(jì)算回報(bào)。此外,在計(jì)算該回報(bào)時(shí),例如也可以對(duì)應(yīng)于機(jī)械手部13的把持的成功、機(jī)械手部13的搬運(yùn)的成功、工件12的放置動(dòng)作的成功等工件12的取出的各階段來計(jì)算回報(bào)。
并且,價(jià)值函數(shù)更新部24具有對(duì)工件12的取出動(dòng)作的價(jià)值進(jìn)行確定的價(jià)值函數(shù),與上述回報(bào)對(duì)應(yīng)地更新價(jià)值函數(shù)。在該價(jià)值函數(shù)的更新中,使用上述這樣的價(jià)值Q(s、a)的更新式。此外,優(yōu)選在該更新時(shí)制作行為價(jià)值表。這里所述的行為價(jià)值表是指,相互關(guān)聯(lián)地記錄了取出了工件12時(shí)的三維測(cè)量器15的輸出數(shù)據(jù)和機(jī)械手部13的指令數(shù)據(jù)、與對(duì)應(yīng)于此時(shí)的工件12的取出結(jié)果而更新后的價(jià)值函數(shù)(即評(píng)價(jià)值)的表格。
此外,作為該行為價(jià)值表,也可以使用利用前述的神經(jīng)網(wǎng)絡(luò)進(jìn)行近似處理后的函數(shù),在圖像數(shù)據(jù)等這樣的狀態(tài)s的信息量巨大時(shí)是特別有效的。此外,上述價(jià)值函數(shù)不限于1種。例如考慮了對(duì)機(jī)械手部13對(duì)工件12的把持成功與否進(jìn)行評(píng)價(jià)的價(jià)值函數(shù)、對(duì)通過機(jī)械手部13把持并搬運(yùn)工件12所需要的時(shí)間(周期時(shí)間)進(jìn)行評(píng)價(jià)的價(jià)值函數(shù)。
此外,作為上述價(jià)值函數(shù),也可以使用對(duì)工件取出時(shí)的箱11與機(jī)械手部13或工件12之間的干擾進(jìn)行評(píng)價(jià)的價(jià)值函數(shù)。為了計(jì)算在該價(jià)值函數(shù)的更新中使用的回報(bào),狀態(tài)量觀測(cè)部21優(yōu)選觀測(cè)作用到機(jī)械手部13的力,例如由力傳感器17檢測(cè)的值。并且,在由力傳感器17檢測(cè)的力的變化量超過了預(yù)定閾值的情況下,可以推定為發(fā)生了上述干擾,因此,優(yōu)選將該情況下的回報(bào)設(shè)為例如負(fù)值,并使價(jià)值函數(shù)所確定的價(jià)值下降。
此外,根據(jù)本實(shí)施方式,可以將三維測(cè)量器15的測(cè)量參數(shù)作為操作量來學(xué)習(xí)。即,根據(jù)本實(shí)施方式,提供了一種機(jī)械學(xué)習(xí)裝置,其學(xué)習(xí)通過機(jī)械手部13從包含散裝狀態(tài)的雜亂放置的多個(gè)工件12中取出工件12的機(jī)器人14的動(dòng)作,其具備:狀態(tài)量觀測(cè)部21,其觀測(cè)包含三維測(cè)量器15的輸出數(shù)據(jù)的機(jī)器人14的狀態(tài)量,該三維測(cè)量器15測(cè)量每個(gè)工件12的三維位置(x、y、z)、或者三維位置與姿態(tài)(x、y、z、w、p、r);動(dòng)作結(jié)果取得部26,其取得通過機(jī)械手部13取出工件12的機(jī)器人14的取出動(dòng)作的結(jié)果;學(xué)習(xí)部22,其接受來自狀態(tài)量觀測(cè)部21的輸出和來自動(dòng)作結(jié)果取得部26的輸出,與機(jī)器人14的狀態(tài)量和取出動(dòng)作的結(jié)果相關(guān)聯(lián)地學(xué)習(xí)包含三維測(cè)量器15的測(cè)量參數(shù)的操作量。
此外,在本實(shí)施方式的機(jī)器人系統(tǒng)10中,還可以具備機(jī)械手自動(dòng)更換裝置(未圖示),其將在機(jī)器人14上安裝的機(jī)械手部13更換為其他形態(tài)的機(jī)械手部13。這種情況下,價(jià)值函數(shù)更新部24也可以針對(duì)形態(tài)不同的每個(gè)機(jī)械手部13具有上述價(jià)值函數(shù),與回報(bào)對(duì)應(yīng)地對(duì)更換后的機(jī)械手部13的價(jià)值函數(shù)進(jìn)行更新。由此,能夠針對(duì)形態(tài)不同的多個(gè)機(jī)械手13的每一個(gè)來學(xué)習(xí)機(jī)械手部13的最佳動(dòng)作,因此能夠使機(jī)械手自動(dòng)更換裝置選定價(jià)值函數(shù)較高的機(jī)械手部13。
接著,意圖決定部25例如優(yōu)選參照如上述制作出的行為價(jià)值表,來選擇與最高評(píng)價(jià)值對(duì)應(yīng)的三維測(cè)量器15的輸出數(shù)據(jù)和機(jī)械手部13的指令數(shù)據(jù)。之后,意圖決定部25將選定的機(jī)械手部13、三維測(cè)量器15的最佳數(shù)據(jù)輸出到控制裝置16。
然后,控制裝置16使用學(xué)習(xí)部22所輸出的機(jī)械手部13、三維測(cè)量器15的最佳數(shù)據(jù),分別對(duì)三維測(cè)量器15和機(jī)器人14進(jìn)行控制來取出工件12。例如,控制裝置16優(yōu)選根據(jù)對(duì)通過學(xué)習(xí)部22得到的機(jī)械手部13的最佳位置、姿態(tài)和取出方向分別進(jìn)行設(shè)定的狀態(tài)變量,使機(jī)械手部13、機(jī)器人14的各驅(qū)動(dòng)軸進(jìn)行動(dòng)作。
此外,上述實(shí)施方式的機(jī)器人系統(tǒng)10,如圖1所示,針對(duì)一個(gè)機(jī)器人14具備一個(gè)機(jī)械學(xué)習(xí)裝置20。然而在本發(fā)明中,機(jī)器人14和機(jī)械學(xué)習(xí)裝置20各自的數(shù)量不限于一個(gè)。例如,機(jī)器人系統(tǒng)10還可以具備多個(gè)機(jī)器人14,與各個(gè)機(jī)器人14對(duì)應(yīng)地設(shè)置一個(gè)以上的機(jī)械學(xué)習(xí)裝置20。并且,機(jī)器人系統(tǒng)10優(yōu)選通過網(wǎng)絡(luò)等通信介質(zhì)來共享或相互交換各機(jī)器人14的機(jī)械學(xué)習(xí)裝置20所取得的三維測(cè)量器15和機(jī)械手部13的最佳狀態(tài)變量。由此,即使某機(jī)器人14的運(yùn)行率低于其他機(jī)器人14的運(yùn)行率,也能夠在某機(jī)器人14的動(dòng)作中利用另一機(jī)器人14具備的機(jī)械學(xué)習(xí)裝置20所取得的最佳動(dòng)作結(jié)果。此外,通過多個(gè)機(jī)器人之間的學(xué)習(xí)模型的共享,或者進(jìn)行包含三維測(cè)量器15的測(cè)量參數(shù)的操作量和機(jī)器人14的狀態(tài)量與取出動(dòng)作的結(jié)果的共享,能夠縮短學(xué)習(xí)所花費(fèi)的時(shí)間。
此外,機(jī)械學(xué)習(xí)裝置20可以位于機(jī)器人14內(nèi),也可以位于機(jī)器人14之外?;蛘?,機(jī)械學(xué)習(xí)裝置20可以位于控制裝置16內(nèi),也可以存在于云服務(wù)器(未圖示)中。
此外,在機(jī)器人系統(tǒng)10具備多個(gè)機(jī)器人14的情況下,可以在某機(jī)器人14搬運(yùn)由機(jī)械手部13把持的工件12的期間,使另一機(jī)器人14的機(jī)械手部實(shí)施取出工件12的作業(yè)。并且,價(jià)值函數(shù)更新部24也可以利用這樣的、取出工件12的機(jī)器人14進(jìn)行切換的期間的時(shí)間來更新價(jià)值函數(shù)。此外,機(jī)械學(xué)習(xí)裝置20中具有多個(gè)機(jī)械手模型的狀態(tài)變量,在工件12的取出動(dòng)作中進(jìn)行利用多個(gè)機(jī)械手模型的取出模擬,并根據(jù)該取出模擬的結(jié)果,與工件12的取出動(dòng)作的結(jié)果相關(guān)聯(lián)地來學(xué)習(xí)多個(gè)機(jī)械手模型的狀態(tài)變量。
此外,在上述機(jī)械學(xué)習(xí)裝置20中,將取得每個(gè)工件12的三維圖的數(shù)據(jù)時(shí)的三維測(cè)量器15的輸出數(shù)據(jù),從三維測(cè)量器15發(fā)送到狀態(tài)量觀測(cè)部21。在這樣的發(fā)送數(shù)據(jù)中未必不包含有異常數(shù)據(jù),因此,在機(jī)械學(xué)習(xí)裝置20中可以具有異常數(shù)據(jù)的過濾功能,即能夠選擇是否將來自三維測(cè)量器15的數(shù)據(jù)輸入到狀態(tài)量觀測(cè)部21的功能。由此,機(jī)械學(xué)習(xí)裝置20的學(xué)習(xí)部22能夠高效地學(xué)習(xí)三維測(cè)量器15和機(jī)器人14的機(jī)械手部13的最佳動(dòng)作。
此外,在上述的機(jī)械學(xué)習(xí)裝置20中,來自學(xué)習(xí)部22的輸出數(shù)據(jù)被輸入到控制裝置16中,然而在來自該學(xué)習(xí)部22的輸出數(shù)據(jù)中也未必不包含異常數(shù)據(jù),因此,也可以具有異常數(shù)據(jù)的過濾功能,即能夠選擇是否將來自學(xué)習(xí)部22的數(shù)據(jù)輸出到控制裝置16的功能。由此,控制裝置16能夠使機(jī)器人14更安全地執(zhí)行機(jī)械手部13的最佳動(dòng)作。
此外,上述異常數(shù)據(jù)可以通過以下順序進(jìn)行檢測(cè)。即,可以通過以下這樣的順序來檢測(cè)異常數(shù)據(jù):推定輸入數(shù)據(jù)的概率分布,使用概率分布導(dǎo)出新輸入的發(fā)生概率,如果發(fā)生概率為一定以下,則看作是大幅度偏離典型舉動(dòng)的異常數(shù)據(jù)。
接著,說明本實(shí)施方式的機(jī)器人系統(tǒng)10具備的機(jī)械學(xué)習(xí)裝置20的動(dòng)作的一例。圖4是表示圖1所示的機(jī)械學(xué)習(xí)裝置的動(dòng)作的一例的流程圖。如圖4所示,在圖1所示的機(jī)械學(xué)習(xí)裝置20中,當(dāng)開始學(xué)習(xí)動(dòng)作(學(xué)習(xí)處理)時(shí),通過三維測(cè)量器15實(shí)施三維測(cè)量并進(jìn)行輸出(圖4的步驟S11)。即,在步驟S11中,例如,取得包含散裝狀態(tài)的雜亂放置的每個(gè)工件12的三維圖(三維測(cè)量器15的輸出數(shù)據(jù)),輸出到狀態(tài)量觀測(cè)部21,并且,通過坐標(biāo)計(jì)算部19接受每個(gè)工件12的三維圖而計(jì)算每個(gè)工件12的三維位置(x、y、z),輸出到狀態(tài)量觀測(cè)部21、動(dòng)作結(jié)果取得部26以及控制裝置16。這里,坐標(biāo)計(jì)算部19也可以根據(jù)三維測(cè)量器15的輸出來計(jì)算每個(gè)工件12的姿態(tài)(w、p、r)并進(jìn)行輸出。
此外,如參照?qǐng)D5所說明的,可以將三維測(cè)量器15的輸出(三維圖)經(jīng)由在向狀態(tài)量觀測(cè)部21輸入之前進(jìn)行處理的預(yù)處理部50輸入到狀態(tài)量觀測(cè)部21。此外,如參照?qǐng)D7所說明的,可以僅將三維測(cè)量器15的輸出輸入到狀態(tài)量觀測(cè)部21,進(jìn)而,可以僅將三維測(cè)量器15的輸出經(jīng)由預(yù)處理部50輸入到狀態(tài)量觀測(cè)部21。這樣,步驟S11中的三維測(cè)量的實(shí)施和輸出可以包含各種方式。
具體地,在圖1的情況下,狀態(tài)量觀測(cè)部21觀測(cè)來自三維測(cè)量器15的每個(gè)工件12的三維圖、和來自坐標(biāo)計(jì)算部19的每個(gè)工件12的三維位置(x、y、z)以及姿態(tài)(w、p、r)這樣的狀態(tài)量(三維測(cè)量器15的輸出數(shù)據(jù))。此外,動(dòng)作結(jié)果取得部26根據(jù)三維測(cè)量器15的輸出數(shù)據(jù)(坐標(biāo)計(jì)算部19的輸出數(shù)據(jù)),取得通過機(jī)械手部13取出工件12的機(jī)器人14的取出動(dòng)作的結(jié)果。此外,動(dòng)作結(jié)果取得部26除了三維測(cè)量器的輸出數(shù)據(jù)以外,例如還可以取得將取出的工件12傳送到后工序時(shí)的完成度、取出的工件12的損壞這樣的取出動(dòng)作的結(jié)果。
此外,例如,機(jī)械學(xué)習(xí)裝置20根據(jù)三維測(cè)量器15的輸出數(shù)據(jù)決定最佳動(dòng)作(圖4的步驟S12),另外,控制裝置16輸出機(jī)械手部13(機(jī)器人14)的指令數(shù)據(jù)(操作量),實(shí)施工件12的取出動(dòng)作(圖4的步驟S13)。然后,通過上述的動(dòng)作結(jié)果取得部26取得工件的取出結(jié)果(圖4的步驟S14)。
接著,通過來自動(dòng)作結(jié)果取得部26的輸出,判定工件12的取出的成功與否(圖4的步驟S15),在工件12取出成功的情況下,設(shè)定正回報(bào)(圖4的步驟S16),在工件12取出失敗的情況下,設(shè)定負(fù)回報(bào)(圖4的步驟S17),然后,更新行為價(jià)值表(價(jià)值函數(shù))(圖4的步驟S18)。
這里,例如,可以根據(jù)工件12的取出動(dòng)作后的三維測(cè)量器15的輸出數(shù)據(jù)來判定工件12的取出的成功與否。此外,工件12的取出的成功與否的判定不限于評(píng)價(jià)工件12的取出的成功與否,例如還可以評(píng)價(jià):將取出的工件12傳送到后工序時(shí)的完成度、是否存在取出的工件12的損壞等狀態(tài)變化、或者通過機(jī)械手部13把持并搬運(yùn)工件12所需要的時(shí)間(周期時(shí)間)或能量(電量)等。
此外,通過回報(bào)計(jì)算部23計(jì)算基于工件12的取出成功與否的判定的回報(bào)值,另外,通過價(jià)值函數(shù)更新部24進(jìn)行行為價(jià)值表的更新。即,學(xué)習(xí)部22在工件12的取出成功時(shí),將正回報(bào)設(shè)定給前述的價(jià)值Q(s、a)的更新式中的回報(bào)(S16),另外,在工件12的取出失敗的時(shí),將負(fù)回報(bào)設(shè)定給該更新式中的回報(bào)(S17)。然后,學(xué)習(xí)部22在每次進(jìn)行工件12的取出時(shí),進(jìn)行前述的行為價(jià)值表的更新(S18)。通過重復(fù)以上步驟S11~S18,學(xué)習(xí)部22繼續(xù)(學(xué)習(xí))行為價(jià)值表的更新。
在上述中,被輸入到狀態(tài)量觀測(cè)部21的數(shù)據(jù)不受限于三維測(cè)量器15的輸出數(shù)據(jù),例如,也可以包含其他傳感器的輸出等數(shù)據(jù),此外,也可以利用來自控制裝置16的指令數(shù)據(jù)的一部分。這樣,控制裝置16使用從機(jī)械學(xué)習(xí)裝置20輸出的指令數(shù)據(jù)(操作量),使機(jī)器人14執(zhí)行工件12的取出動(dòng)作。此外,基于機(jī)械學(xué)習(xí)裝置20的學(xué)習(xí),不受限于工件12的取出動(dòng)作,例如如前述也可以是三維測(cè)量器15的測(cè)量參數(shù)。
如以上,根據(jù)具備本實(shí)施方式的機(jī)械學(xué)習(xí)裝置20的機(jī)器人系統(tǒng)10,能夠?qū)W習(xí)通過機(jī)械手部13從包含散裝狀態(tài)的雜亂放置的多個(gè)工件12中取出工件12的機(jī)器人14的動(dòng)作。由此,機(jī)器人系統(tǒng)10能夠無需人工介入地學(xué)習(xí)要取出散裝的工件12的機(jī)器人14的最佳動(dòng)作的選擇。
圖5是表示本發(fā)明另一實(shí)施方式的機(jī)器人系統(tǒng)的概念性結(jié)構(gòu)的框圖,表示應(yīng)用了有教師學(xué)習(xí)的機(jī)器人系統(tǒng)。從圖5與前述圖1的比較可明顯看出,相對(duì)于圖1所示的應(yīng)用了Q學(xué)習(xí)(強(qiáng)化學(xué)習(xí))的機(jī)器人系統(tǒng)10,圖5所示的應(yīng)用了有教師學(xué)習(xí)的機(jī)器人系統(tǒng)10′還具備附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)記錄部40。此外,圖5所示的機(jī)器人系統(tǒng)10′還具備對(duì)三維測(cè)量器15的輸出數(shù)據(jù)進(jìn)行預(yù)處理的預(yù)處理部50。此外,當(dāng)然也可以例如對(duì)圖1所示的機(jī)器人系統(tǒng)10設(shè)置預(yù)處理部50。
如圖5所示,應(yīng)用了有教師學(xué)習(xí)的機(jī)器人系統(tǒng)10′中的機(jī)械學(xué)習(xí)裝置30具備:狀態(tài)量觀測(cè)部31、動(dòng)作結(jié)構(gòu)取得部36、學(xué)習(xí)部32和意圖決定部35。學(xué)習(xí)部32包含誤差計(jì)算部33和學(xué)習(xí)模型更新部34。此外,在本實(shí)施方式的機(jī)器人系統(tǒng)10′中,機(jī)械學(xué)習(xí)裝置30還學(xué)習(xí)指示機(jī)器人14進(jìn)行工件12的取出動(dòng)作的指令數(shù)據(jù)、或三維測(cè)量器15的測(cè)量參數(shù)這樣的操作量并進(jìn)行輸出。
即,在圖5所示的應(yīng)用了有教師學(xué)習(xí)的機(jī)器人系統(tǒng)10′中,誤差計(jì)算部33和學(xué)習(xí)模型更新部34分別對(duì)應(yīng)于圖1所示的應(yīng)用了Q學(xué)習(xí)的機(jī)器人系統(tǒng)10中的回報(bào)計(jì)算部23和價(jià)值函數(shù)更新部24。此外,其他機(jī)構(gòu)例如三維測(cè)量器15、控制裝置16以及機(jī)器人14等結(jié)構(gòu)與前述圖1相同,省略其說明。
通過誤差計(jì)算部33計(jì)算從動(dòng)作結(jié)果取得部36輸出的結(jié)果(標(biāo)簽)與安裝在學(xué)習(xí)部中的學(xué)習(xí)模型的輸出之間的誤差。這里,附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)記錄部40例如在工件12的形狀、機(jī)器人14的處理相同的情況下,保持直到使機(jī)器人14進(jìn)行作業(yè)的預(yù)定日期的前一日為止而得的附帶結(jié)果(標(biāo)簽)的數(shù)據(jù),并在該預(yù)定日期將附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)記錄部40中保持的附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)提供給誤差計(jì)算部33。或者,也可以通過存儲(chǔ)卡或通信線路將通過在機(jī)器人系統(tǒng)10′的外部進(jìn)行的模擬等而得的數(shù)據(jù)、或其他機(jī)器人系統(tǒng)的附帶結(jié)果(標(biāo)簽)的數(shù)據(jù),提供給該機(jī)器人系統(tǒng)10′的誤差計(jì)算部33。此外,可以利用閃存(Flash Memory)等非易失性存儲(chǔ)器構(gòu)成附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)記錄部40,將附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)記錄部(非易失性存儲(chǔ)器)40內(nèi)置于學(xué)習(xí)部32中,由學(xué)習(xí)部32直接使用在該附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)記錄部40中保持的附帶結(jié)果(標(biāo)簽)的數(shù)據(jù)。
圖6是用于說明圖5所示的機(jī)器人系統(tǒng)中的預(yù)處理部的處理的一例的圖,圖6(a)表示在箱11中散裝的多個(gè)工件12的三維位置(姿態(tài))的數(shù)據(jù)即三維測(cè)量器15的輸出數(shù)據(jù)的一例,圖6(b)~圖6(d)表示對(duì)圖6(a)中的工件121~123進(jìn)行預(yù)處理后的圖像數(shù)據(jù)的例子。
這里,作為工件12(121~123),預(yù)想了圓柱狀的金屬部件,作為機(jī)械手部(13),預(yù)想了例如利用負(fù)壓吸取圓柱狀工件12的縱向中央部分的吸附盤,而不是利用2個(gè)爪部把持工件。因此,例如如果知曉工件12的縱向中央部分的位置,則通過使吸附盤(13)對(duì)該位置移動(dòng)并進(jìn)行吸附,能夠取出工件12。此外,圖6(a)~圖6(d)中的數(shù)值以[mm]表示,分別表示x方向、y方向、z方向。此外,z方向?qū)?yīng)于通過設(shè)置在上方的三維測(cè)量器15(例如具有2個(gè)攝像機(jī))對(duì)散裝了多個(gè)工件12的箱11進(jìn)行拍攝而得的圖像數(shù)據(jù)的高度(深度)方向。
從圖6(a)與圖6(b)~圖6(d)的比較明顯看出,作為圖5所示的機(jī)器人系統(tǒng)10′中的預(yù)處理部50的處理的一例,根據(jù)三維測(cè)量器15的輸出數(shù)據(jù)(三維圖像),使關(guān)注的工件12(例如3個(gè)工件121~123)旋轉(zhuǎn),并且處理成中心的高度為“0”。
即,在三維測(cè)量器15的輸出數(shù)據(jù)中包含有例如各個(gè)工件12的縱向中央部分的三維位置(x、y、z)和姿態(tài)(w、p、r)的信息。此時(shí),如圖6(b)、圖6(c)和圖6(d)所示,使所關(guān)注的3個(gè)工件121、122、123各自旋轉(zhuǎn)-r,并且減去z而全部符合相同的條件。通過進(jìn)行這樣的預(yù)處理,能夠降低機(jī)械學(xué)習(xí)裝置30的負(fù)荷。
這里,圖6(a)所示的三維圖并不是三維測(cè)量器15的輸出數(shù)據(jù)本身,而是例如與之前相比,降低了用于從通過規(guī)定正在實(shí)施的工件12的取出順序的程序而得的圖像中進(jìn)行選擇的閾值,且該處理本身也可以通過預(yù)處理部50進(jìn)行。此外,作為這樣的預(yù)處理部50的處理,當(dāng)然可以由于以工件12的形狀和機(jī)械手部13的種類等為首的各種條件而發(fā)生各種變化。
這樣,在向狀態(tài)量觀測(cè)部31輸入之前通過預(yù)處理部50進(jìn)行處理而得的三維測(cè)量器15的輸出數(shù)據(jù)(每個(gè)工件12的三維圖)被輸入到狀態(tài)量觀測(cè)部31。再次參照?qǐng)D5,接受從動(dòng)作結(jié)果取得部36輸出的結(jié)果(標(biāo)簽)的誤差計(jì)算部33,作為學(xué)習(xí)模型,例如將圖3所示的神經(jīng)網(wǎng)絡(luò)的輸出設(shè)為y時(shí),在實(shí)際上進(jìn)行工件12的取出動(dòng)作并成功時(shí)看作存在-log(y)的誤差;在失敗時(shí)看作存在-log(1-y)的誤差,并進(jìn)行目的在于使該誤差最小化的處理。此外,作為圖3所示的神經(jīng)網(wǎng)絡(luò)的輸入,提供例如圖6(b)~圖6(d)所示這樣的進(jìn)行預(yù)處理后的所關(guān)注的工件121~123的圖像數(shù)據(jù)、以及這些所關(guān)注工件121~123的每一個(gè)的三維位置和姿態(tài)(x、y、z、w、p、r)的數(shù)據(jù)。
圖7是表示圖1所示的機(jī)器人系統(tǒng)的變形例的框圖。從圖7與圖1的比較明顯看出,在圖7所示的機(jī)器人系統(tǒng)10的變形例中,削減了坐標(biāo)計(jì)算部19,狀態(tài)量觀測(cè)部21僅接受來自三維測(cè)量器15的三維圖來觀測(cè)機(jī)器人14的狀態(tài)量。此外,當(dāng)然也可以針對(duì)控制裝置16設(shè)置與坐標(biāo)計(jì)算部19對(duì)應(yīng)的結(jié)構(gòu)。此外,該圖7所示的結(jié)構(gòu)例如也可以應(yīng)用于參照?qǐng)D5說明的應(yīng)用了有教師學(xué)習(xí)的機(jī)器人系統(tǒng)10′。即,可以從圖5所示的機(jī)器人系統(tǒng)10′中削減預(yù)處理部50,狀態(tài)量觀測(cè)部31僅接受來自三維測(cè)量器15的三維圖來觀測(cè)機(jī)器人14的狀態(tài)量。這樣,上述各實(shí)施例能夠進(jìn)行各種變更和變形。
如以上詳述的,根據(jù)本實(shí)施方式,能夠提供一種能夠無需人工介入地學(xué)習(xí)取出包含散裝狀態(tài)的雜亂放置的工件時(shí)的機(jī)器人的最佳動(dòng)作的機(jī)械學(xué)習(xí)裝置、機(jī)器人系統(tǒng)以及機(jī)械學(xué)習(xí)方法。此外,作為本發(fā)明的機(jī)械學(xué)習(xí)裝置20、30,不限于應(yīng)用強(qiáng)化學(xué)習(xí)(例如Q學(xué)習(xí))或有教師學(xué)習(xí),還可以應(yīng)用各種機(jī)械學(xué)習(xí)的算法。
根據(jù)本發(fā)明的機(jī)械學(xué)習(xí)裝置、機(jī)器人系統(tǒng)和機(jī)械學(xué)習(xí)方法,實(shí)現(xiàn)了能夠無需人工介入地學(xué)習(xí)取出包含散裝狀態(tài)的雜亂放置的工件時(shí)的機(jī)器人的最佳動(dòng)作的效果。
以上說明了實(shí)施方式,然而這里記載的全部例子、條件均是以有助于理解在發(fā)明和技術(shù)中應(yīng)用的發(fā)明概念為目的而記載的,特別記載的例子、條件并不意圖限制發(fā)明的范圍。此外,說明書中的這樣的記載并不表示發(fā)明的優(yōu)點(diǎn)和缺點(diǎn)。盡管詳細(xì)記載了發(fā)明的實(shí)施方式,然而應(yīng)當(dāng)理解,在不脫離發(fā)明的精神和范圍的情況下可以進(jìn)行各種變更、替換、變形。