本發(fā)明涉及用于推定系統(tǒng)的動(dòng)作的模擬裝置、模擬方法以及模擬程序。
背景技術(shù):
在工廠自動(dòng)化(FA:Factory Automation)領(lǐng)域中,廣泛地利用各種各樣的自動(dòng)控制技術(shù)。在這樣的自動(dòng)控制技術(shù)中,假想如下應(yīng)用系統(tǒng),即,跟蹤工件等的對(duì)象物的位置,并且利用各種機(jī)械手對(duì)工件實(shí)施必要的處理。
在這樣的自動(dòng)控制技術(shù)的對(duì)象的系統(tǒng)的設(shè)計(jì)或檢討等階段,需要預(yù)先評(píng)價(jià)系統(tǒng)整體的性能等。針對(duì)這樣的需求,實(shí)現(xiàn)假想地構(gòu)筑系統(tǒng)來(lái)模擬動(dòng)作的技術(shù)。例如,日本特開(kāi)2013-191128號(hào)公報(bào)(專利文獻(xiàn)1)公開(kāi)了如下技術(shù),即,進(jìn)行包括與假想拍攝部相對(duì)應(yīng)的實(shí)際空間的視覺(jué)傳感器的機(jī)械系統(tǒng)的綜合模擬的技術(shù)。在專利文獻(xiàn)2所公開(kāi)的技術(shù)中,通過(guò)聯(lián)合3D模擬器與視覺(jué)傳感器模擬器,假想地生成各時(shí)刻的3D空間內(nèi)的工件的拍攝圖像。
日本特開(kāi)平09-258815號(hào)公報(bào)(專利文獻(xiàn)2)公開(kāi)了如下結(jié)構(gòu),即,在使模型跟蹤某個(gè)模型動(dòng)作的模擬中,設(shè)定與模型相關(guān)且相互作用的對(duì)象和被作用的對(duì)象的主從關(guān)系,并按照該主從關(guān)系模擬運(yùn)動(dòng)的模型的運(yùn)動(dòng)連鎖。
專利文獻(xiàn)1:日本特開(kāi)2013-191128號(hào)公報(bào)
專利文獻(xiàn)2:日本特開(kāi)平09-258815號(hào)公報(bào)
根據(jù)應(yīng)用系統(tǒng),并不限定于工件配置于傳送帶等的運(yùn)送面上,也存在從距運(yùn)送面稍微分離的位置解除工件的夾持,工件自然落下的處理。
上述的專利文獻(xiàn)2在圖24等中對(duì)進(jìn)行工件在傳送帶上運(yùn)動(dòng)的跟蹤動(dòng)作的情況進(jìn)行例示,但并未公開(kāi)如下方面,即,如何設(shè)定工件與傳送帶之間的主從關(guān)系和如何處理在傳送帶上配置多個(gè)工件的情況。
因此,存在如下需求,即,不僅在運(yùn)送機(jī)的運(yùn)送面上而且在該運(yùn)送面的附近配置有對(duì)象物的應(yīng)用系統(tǒng)中,也想要實(shí)現(xiàn)反映實(shí)際的對(duì)象物的動(dòng)作的模擬。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的一個(gè)技術(shù)方案,提供一種模擬裝置,用于推定系統(tǒng)的動(dòng)作,該系統(tǒng)包括:運(yùn)送機(jī),其具有使配置的對(duì)象物連續(xù)地移動(dòng)的運(yùn)送面;處理裝置,其能夠夾持對(duì)象物使之配置于運(yùn)送面。
模擬裝置具有:
構(gòu)筑機(jī)構(gòu),其在三維假想空間內(nèi)假想地構(gòu)筑系統(tǒng),
跟蹤機(jī)構(gòu),其基于與配置于運(yùn)送面的多個(gè)對(duì)象物相對(duì)應(yīng)的運(yùn)送機(jī)的移動(dòng)量,分別更新多個(gè)對(duì)象物在三維假想空間內(nèi)的位置,并且更新由處理裝置夾持的對(duì)象物在三維假想空間內(nèi)的位置,所述對(duì)象物在三維假想空間內(nèi)的位置與處理裝置的動(dòng)作相關(guān)聯(lián),以及
生成機(jī)構(gòu),其基于三維假想空間內(nèi)的各個(gè)對(duì)象物的位置,生成針對(duì)處理裝置的動(dòng)作的控制指令。
在處理裝置將對(duì)象物配置在距運(yùn)送面的預(yù)定范圍內(nèi)時(shí),跟蹤機(jī)構(gòu)更新該對(duì)象物的位置,該對(duì)象物與該運(yùn)送面相關(guān)聯(lián)。
優(yōu)選地,在處理裝置將第二對(duì)象物配置在距被視為配置于任一運(yùn)送面的第一對(duì)象物的表面的預(yù)定范圍內(nèi)時(shí),跟蹤機(jī)構(gòu)更新該第一對(duì)象物的位置和該第二對(duì)象物的位置,該第一對(duì)象物的位置和該第二對(duì)象物的位置相關(guān)聯(lián)。
優(yōu)選地,跟蹤機(jī)構(gòu)根據(jù)三維假想空間內(nèi)的對(duì)象物的高度確定預(yù)定范圍的大小。
優(yōu)選地,還具有輸入機(jī)構(gòu),該輸入機(jī)構(gòu)接受預(yù)定范圍的大小的設(shè)定。
優(yōu)選地,利用半透明的對(duì)象表現(xiàn)表示預(yù)定范圍的三維假想空間內(nèi)的區(qū)域。
優(yōu)選地,在處理裝置將對(duì)象物配置在距運(yùn)送面的預(yù)定范圍內(nèi)時(shí),跟蹤機(jī)構(gòu)更新三維假想空間內(nèi)的該對(duì)象物的高度方向的位置,使得該對(duì)象物與該運(yùn)送面接觸。
優(yōu)選地,在處理裝置配置對(duì)象物的范圍內(nèi),當(dāng)運(yùn)送面以及第二對(duì)象物存在時(shí),跟蹤機(jī)構(gòu)按照預(yù)定的優(yōu)先度,將該對(duì)象物與運(yùn)送面及第二對(duì)象物中的任一方相關(guān)聯(lián)。
優(yōu)選地,跟蹤機(jī)構(gòu)根據(jù)處理裝置放開(kāi)對(duì)對(duì)象物的夾持時(shí)的三維假想空間內(nèi)的水平方向的速度,修正三維假想空間內(nèi)的該對(duì)象物的水平方向的位置。
優(yōu)選地,模擬裝置還具有測(cè)量機(jī)構(gòu),該測(cè)量機(jī)構(gòu)對(duì)包括被攝物體即對(duì)象物的至少一部分的輸入圖像進(jìn)行圖像測(cè)量處理,所述輸入圖像與在三維假想空間內(nèi)的運(yùn)送面預(yù)先設(shè)定的區(qū)域相關(guān)聯(lián),
跟蹤機(jī)構(gòu)響應(yīng)測(cè)量機(jī)構(gòu)對(duì)對(duì)象物的檢測(cè),使被檢測(cè)的該對(duì)象物出現(xiàn)在三維假想空間內(nèi)。
本發(fā)明的其他技術(shù)方案,提供一種模擬方法,由計(jì)算機(jī)來(lái)執(zhí)行,該模擬方法用于推定系統(tǒng)的動(dòng)作,該系統(tǒng)包括:運(yùn)送機(jī),其具有使配置的對(duì)象物連續(xù)地移動(dòng)的運(yùn)送面;處理裝置,其能夠夾持對(duì)象物使之配置于運(yùn)送面。
模擬方法包括:
構(gòu)筑步驟,在三維假想空間內(nèi)假想地構(gòu)筑系統(tǒng),
更新步驟,基于與配置于運(yùn)送面的多個(gè)對(duì)象物相對(duì)應(yīng)的運(yùn)送機(jī)的移動(dòng)量,分別更新多個(gè)對(duì)象物在三維假想空間內(nèi)的位置,并且更新由處理裝置夾持的對(duì)象物在三維假想空間內(nèi)的位置,所述對(duì)象物在三維假想空間內(nèi)的位置與處理裝置的動(dòng)作相關(guān)聯(lián),
控制指令生成步驟,基于三維假想空間內(nèi)的各個(gè)對(duì)象物的位置,生成針對(duì)處理裝置的動(dòng)作的控制指令。
更新步驟包括:在處理裝置將對(duì)象物配置在距運(yùn)送面的預(yù)定范圍內(nèi)時(shí),更新該對(duì)象物的位置,該對(duì)象物與該運(yùn)送面相關(guān)聯(lián)。
根據(jù)本發(fā)明的另一其他技術(shù)方案,提供一種模擬程序,用于推定系統(tǒng)的動(dòng)作,該系統(tǒng)包括:運(yùn)送機(jī),其具有使配置的對(duì)象物連續(xù)地移動(dòng)的運(yùn)送面;處理裝置,其能夠夾持對(duì)象物使之配置于運(yùn)送面。
模擬程序在計(jì)算機(jī)中執(zhí)行如下步驟:
構(gòu)筑步驟,在三維假想空間內(nèi)假想地構(gòu)筑系統(tǒng),
更新步驟,基于與配置于運(yùn)送面的多個(gè)對(duì)象物相對(duì)應(yīng)的運(yùn)送機(jī)的移動(dòng)量,分別更新多個(gè)對(duì)象物在三維假想空間內(nèi)的位置,并且更新由處理裝置夾持的對(duì)象物在三維假想空間內(nèi)的位置,所述對(duì)象物在三維假想空間內(nèi)的位置與處理裝置的動(dòng)作相關(guān)聯(lián),
控制指令生成步驟,基于三維假想空間內(nèi)的各個(gè)對(duì)象物的位置,生成針對(duì)處理裝置的動(dòng)作的控制指令。
更新步驟包括:在處理裝置將對(duì)象物配置在距運(yùn)送面的預(yù)定范圍內(nèi)時(shí),更新該對(duì)象物的位置,該對(duì)象物與該運(yùn)送面相關(guān)聯(lián)。
根據(jù)本發(fā)明,不僅在運(yùn)送機(jī)的運(yùn)送面上而且在該運(yùn)送面的附近配置有對(duì)象物的應(yīng)用系統(tǒng)中,也能夠?qū)崿F(xiàn)反映實(shí)際的對(duì)象物的動(dòng)作的模擬。
附圖說(shuō)明
圖1是表示本實(shí)施方式的模擬裝置中的模擬對(duì)象的系統(tǒng)結(jié)構(gòu)例的示意圖。
圖2是用于說(shuō)明使用了本實(shí)施方式的模擬裝置的模擬方法的示意圖。
圖3A、3B是用于說(shuō)明本實(shí)施方式的模擬裝置假想的應(yīng)用系統(tǒng)的一個(gè)例子的示意圖。
圖4是用于說(shuō)明本實(shí)施方式的模擬裝置中的著地判定高度的示意圖。
圖5是用于說(shuō)明本實(shí)施方式的模擬裝置中的著地判定高度的另一示意圖。
圖6是表示本實(shí)施方式的模擬裝置的硬件結(jié)構(gòu)的示意圖。
圖7是表示本實(shí)施方式的模擬裝置的功能結(jié)構(gòu)的示意圖。
圖8是表示使用了本實(shí)施方式的模擬裝置的模擬的處理順序的流程圖。
圖9是表示圖8所示的步驟S28的前半部分的詳細(xì)的處理順序的流程圖。
圖10是表示利用本實(shí)施方式的模擬裝置使在三維假想空間內(nèi)構(gòu)筑的系統(tǒng)模型視覺(jué)化的一個(gè)例子的圖。
圖11A、11B是表示用于設(shè)定本實(shí)施方式的模擬裝置中的著地判定高度的用戶界面畫(huà)面的一個(gè)例子的示意圖。
圖12是用于說(shuō)明在本實(shí)施方式的模擬裝置中將著地判定高度設(shè)定為0時(shí)的著地判定范圍的示意圖。
圖13A、13B是用于說(shuō)明本實(shí)施方式的模擬裝置中的接觸判定余量的示意圖。
圖14是用于說(shuō)明本實(shí)施方式的模擬裝置中的與其他工件的接觸判斷的概要的示意圖。
圖15是表示圖8所示的步驟S28的后半部分的詳細(xì)的處理順序的流程圖。
圖16A、16B、16C是用于說(shuō)明本實(shí)施方式的模擬裝置中的工件彼此的關(guān)聯(lián)的示意圖。
圖17是表示使本實(shí)施方式的模擬裝置的模擬結(jié)果視覺(jué)化的一個(gè)例子的圖。
圖18是用于說(shuō)明本實(shí)施方式的模擬裝置中的高度方向的位置修正的示意圖。
圖19A、19B、19C是用于說(shuō)明本實(shí)施方式的模擬裝置中的工件的位置修正處理的示意圖。
其中,附圖標(biāo)記說(shuō)明如下:
1、2 傳送帶跟蹤系統(tǒng)
232、242 工件
100 模擬裝置
102 處理器
104 主存儲(chǔ)器
106 輸入部
108 顯示部
110 網(wǎng)絡(luò)接口
112 光驅(qū)
114 光盤
116 通信接口
118 內(nèi)部總線
120 硬盤
122 操作系統(tǒng)(OS)
124 模擬程序
140 圖像數(shù)據(jù)群
150 視覺(jué)傳感器模擬器
152 設(shè)定參數(shù)
160 控制模擬器
162 控制程序
170 視覺(jué)化模塊
180 用戶界面模塊
182 模型構(gòu)筑模塊
184 三維設(shè)計(jì)數(shù)據(jù)
190 系統(tǒng)模型模擬器
192 對(duì)象屬性信息
200 控制裝置
202 網(wǎng)絡(luò)
210、311、313 機(jī)械手
214 機(jī)械臂
216 機(jī)械手工具
220 視覺(jué)傳感器
221 拍攝區(qū)域
222 拍攝部
230、240 傳送帶
231、233、235 跟蹤區(qū)域
234、244 驅(qū)動(dòng)輥
236、246 編碼器
250、270 對(duì)象
260 區(qū)域
280 基準(zhǔn)線
具體實(shí)施方式
一邊參照附圖,一邊詳細(xì)地說(shuō)明本發(fā)明的實(shí)施方式。此外,對(duì)圖中的同一或相當(dāng)部分標(biāo)注同一附圖標(biāo)記,并省略其說(shuō)明。
<A.模擬>
首先,對(duì)用于推定本實(shí)施方式的模擬裝置提供的系統(tǒng)的動(dòng)作的模擬進(jìn)行說(shuō)明。
本實(shí)施方式的模擬裝置用于推定(模擬)系統(tǒng)的動(dòng)作,該系統(tǒng)包括:運(yùn)送機(jī),其具有使配置的對(duì)象物連續(xù)地移動(dòng)的運(yùn)送面;處理裝置,其能夠夾持對(duì)象物使之配置于運(yùn)送面。
在下面的說(shuō)明中,作為具有使配置的對(duì)象物連續(xù)地移動(dòng)的運(yùn)送面的運(yùn)送機(jī)的一個(gè)例子,采用一個(gè)或多個(gè)傳送帶,并且,作為能夠夾持對(duì)象物使之配置于運(yùn)送面的處理裝置的一個(gè)例子,假想成一個(gè)或多個(gè)機(jī)械手。但是,就運(yùn)送機(jī)以及處理裝置而言,并不限定于此,可以根據(jù)對(duì)象的系統(tǒng)合適地選擇。在下面,也將對(duì)象物稱為“工件”,作為工件,若是能夠跟蹤最終生成物或其中一部分或者中間生成物或其中一部分等的位置的構(gòu)件,可以是任何的構(gòu)件。
首先,對(duì)本實(shí)施方式的模擬裝置中的模擬的概要進(jìn)行說(shuō)明。
圖1是表示本實(shí)施方式的模擬裝置中的模擬對(duì)象的系統(tǒng)結(jié)構(gòu)例的示意圖。參照?qǐng)D1,作為一個(gè)例子,在傳送帶跟蹤系統(tǒng)1中,若在傳送帶230上連續(xù)地被運(yùn)送的工件232到達(dá)規(guī)定的跟蹤區(qū)域231,則利用機(jī)械手210夾持跟蹤區(qū)域231內(nèi)的工件232并運(yùn)送至傳送帶240,將其配置于傳送帶240上的跟蹤區(qū)域235。利用這樣的機(jī)械手210的夾持、運(yùn)送、配置的一系列動(dòng)作也稱為“拾取和放置動(dòng)作”。為了便于說(shuō)明,將運(yùn)送被夾持的工件的傳送帶也稱為“拾取側(cè)傳送帶”,將配置有工件的傳送帶也稱為“放置側(cè)傳送帶”。
就利用機(jī)械手210的拾取和放置動(dòng)作而言,通過(guò)利用拍攝部222對(duì)設(shè)置于傳送帶230的一部分的拍攝區(qū)域221進(jìn)行拍攝,并且視覺(jué)傳感器220對(duì)由拍攝部222的拍攝所獲取的輸入圖像進(jìn)行圖像匹配等的圖像測(cè)量處理,來(lái)獲取包括工件232的位置、類別、朝向等信息的測(cè)量結(jié)果。
控制裝置200基于來(lái)自視覺(jué)傳感器220的測(cè)量結(jié)果執(zhí)行預(yù)先設(shè)定的控制邏輯,從而依次更新(即,跟蹤)工件232的位置,并且生成針對(duì)機(jī)械手210的控制指令。典型地,作為控制裝置200使用了可編程控制器(下面,稱為“PLC”)。
在生成針對(duì)機(jī)械手210的控制指令時(shí),控制裝置200參照機(jī)械手210的狀態(tài)值、來(lái)自與驅(qū)動(dòng)傳送帶230的驅(qū)動(dòng)輥234結(jié)合的編碼器236的編碼值(編碼值1)以及來(lái)自與驅(qū)動(dòng)傳送帶240的驅(qū)動(dòng)輥244結(jié)合的編碼器246的編碼值(編碼值2)。控制裝置200以及視覺(jué)傳感器220經(jīng)由網(wǎng)絡(luò)202可數(shù)據(jù)通信地連接,來(lái)自視覺(jué)傳感器220的測(cè)量結(jié)果經(jīng)由網(wǎng)絡(luò)202向控制裝置200傳送。
在導(dǎo)入圖1所示的傳送帶跟蹤系統(tǒng)1時(shí),存在事前想要評(píng)價(jià)處理能力(生產(chǎn)節(jié)拍等)以及處理精度等的需求。即,由于成本或時(shí)間的制約,不能實(shí)際制作傳送帶跟蹤系統(tǒng)1來(lái)檢討其處理能力的情況較多。本實(shí)施方式的模擬裝置是針對(duì)于想要更簡(jiǎn)單地推定這樣的傳送帶跟蹤系統(tǒng)1的動(dòng)作的需求的裝置。因此,本實(shí)施方式的模擬裝置通過(guò)在三維假想空間內(nèi)假想地構(gòu)筑模擬對(duì)象的系統(tǒng),實(shí)現(xiàn)更加高效的模擬。
圖2是用于說(shuō)明使用了本實(shí)施方式的模擬裝置的模擬方法的示意圖。參照?qǐng)D2,模擬裝置將模擬對(duì)象的傳送帶跟蹤系統(tǒng)2整體模型化,并且,為了模擬拍攝部222的拍攝,可以將任意的輸入圖像賦予該系統(tǒng)模型。
作為賦予傳送帶跟蹤系統(tǒng)2的系統(tǒng)模型的輸入圖像,利用能夠表示設(shè)計(jì)上假想的標(biāo)準(zhǔn)(例如,工件232的移動(dòng)速度或單位時(shí)間的個(gè)數(shù)等)的輸入圖像。典型地,假想使用由類似的生產(chǎn)線實(shí)際拍攝的輸入圖像。
作為用于模擬的輸入圖像,假想由現(xiàn)有的系統(tǒng)(例如,模擬對(duì)象的系統(tǒng)更新后的系統(tǒng)的情況的更新前的系統(tǒng))拍攝的圖像,但并不限定于此,也可以使用在任意的系統(tǒng)以及狀況下所拍攝的圖像。即,若包括關(guān)于模擬的對(duì)象物(典型地,為工件232)的時(shí)間變化的信息,則可以使用任何輸入圖像。
另外,作為輸入圖像,可以是動(dòng)態(tài)圖像數(shù)據(jù),也可以是按時(shí)間序列排列的多個(gè)靜態(tài)圖像數(shù)據(jù)。而且,通過(guò)合適地調(diào)整動(dòng)態(tài)圖像數(shù)據(jù)的播放速度或多個(gè)靜態(tài)圖像數(shù)據(jù)的更新速度,也能夠調(diào)整成為控制對(duì)象的對(duì)象物的時(shí)間變化(即,移動(dòng)速度)。通過(guò)這樣調(diào)整賦予系統(tǒng)模型的輸入圖像,也能夠利用模擬來(lái)確定控制對(duì)象的時(shí)間變化的最佳值等。
而且,作為多個(gè)靜止圖像,不僅是實(shí)際連續(xù)地拍攝的圖像,也可以通過(guò)將在不同場(chǎng)景所拍攝的多個(gè)圖像合適地排列而變?yōu)殡S時(shí)間變化的數(shù)據(jù)來(lái)當(dāng)作動(dòng)態(tài)輸入圖像。在該情況下,在生成的多個(gè)圖像之間不會(huì)產(chǎn)生重疊,而且事實(shí)上在實(shí)施模擬時(shí)也不存在這種問(wèn)題。
<B.概要>
接著,對(duì)利用本實(shí)施方式的模擬裝置的模擬中的處理的概要進(jìn)行說(shuō)明。
在適用拾取和放置動(dòng)作的應(yīng)用系統(tǒng)中,工件存在如下情況,不配置于傳送帶的運(yùn)送面而配置于運(yùn)送面的上側(cè),即,機(jī)械手在傳送帶的運(yùn)送面的上側(cè)的某個(gè)位置與工件分離。這是因?yàn)椋軌蚍乐挂蚺c傳送帶的接觸導(dǎo)致工件破損等。
圖3是用于說(shuō)明本實(shí)施方式的模擬裝置假想的應(yīng)用系統(tǒng)的一個(gè)例子的示意圖。參照?qǐng)D3A,在機(jī)械手的機(jī)械臂214的頂端安裝有用于吸附工件的機(jī)械手工具216。機(jī)械手工具216是例如空氣式的吸附裝置,其通過(guò)產(chǎn)生負(fù)壓來(lái)夾持工件。機(jī)械手例如夾持未圖示的拾取側(cè)的傳送帶上的工件,并在放置側(cè)的傳送帶240的運(yùn)送面的上側(cè)解除利用機(jī)械手工具216對(duì)工件的吸附。工件因重力而著地于傳送帶240的運(yùn)送面,從而直接被運(yùn)送。
另外,也假想在多個(gè)工序中分別配置另一工件的應(yīng)用系統(tǒng)。在該情況下,使另一工件從預(yù)先配置的工件的上側(cè)分離。
參照?qǐng)D3B,例如,假想如下應(yīng)用系統(tǒng),即,某個(gè)工件242預(yù)先被配置,在該工件242上再配置工件232。在這樣的情況下,工件242在工件232的上部解除吸附。此外,圖3B所示的應(yīng)用系統(tǒng)也能夠適用于例如在同一容器內(nèi)依次插入多個(gè)工件的工序。
在以往的模擬技術(shù)中,在圖3所示的應(yīng)用系統(tǒng)中,由于解除工件的吸附(即,配置工件)的位置不在傳送帶的運(yùn)送面上,因此,不能判定工件已配置于傳送帶上。即,在模擬中,由于不考慮工件產(chǎn)生的重力的影響,因此,不容易正確地模擬圖3所示的應(yīng)用系統(tǒng)。
針對(duì)這樣的問(wèn)題,就工件配置于運(yùn)送機(jī)的運(yùn)送面的上側(cè)這樣的應(yīng)用系統(tǒng)而言,本實(shí)施方式的模擬裝置能夠在更加接近實(shí)際的動(dòng)作的狀態(tài)下進(jìn)行模擬。
圖4是用于說(shuō)明本實(shí)施方式的模擬裝置中的著地判定高度的示意圖。參照?qǐng)D4,設(shè)定著地判定高度作為距傳送帶240的運(yùn)送面的預(yù)定范圍。在工件從安裝于機(jī)械臂214的頂端的機(jī)械手工具216分離的時(shí)刻,若工件232的一部分進(jìn)入規(guī)定為著地判定高度的區(qū)域內(nèi),則視為工件232著地于傳送帶240,從而將工件232以與傳送帶240同步移動(dòng)的方式進(jìn)行處理。此外,吸附于圖4所示的機(jī)械手工具216的工件232表示工件從機(jī)械手工具216分離之前的狀態(tài)。
這樣,在本實(shí)施方式的模擬裝置中,能夠針對(duì)放置側(cè)的傳送帶240設(shè)定著地判定的高度。此外,在三維假想空間內(nèi)顯示模擬對(duì)象的系統(tǒng)模型時(shí),也可以一并顯示用于表示定義著地判定高度的區(qū)域的對(duì)象250。為了不妨礙三維假想空間內(nèi)的工件232的顯示,該對(duì)象250也可以使用半透明(即,具有規(guī)定的透過(guò)率的顏色)的對(duì)象。即,表示由著地判定高度所定義的三維假想空間內(nèi)的區(qū)域也可以由半透明的對(duì)象來(lái)表示。
如圖4所示,在通過(guò)拾取和放置動(dòng)作使配置的工件232與對(duì)象250接觸時(shí),即使工件232與傳送帶240不直接接觸,也使工件232與傳送帶240的行進(jìn)同步地移動(dòng)。
圖5是用于說(shuō)明本實(shí)施方式的模擬裝置中的著地判定高度的另一示意圖。如圖5所示,與存在多個(gè)工件242、232的情況相同,若工件的一部分存在于由著地判定高度所定義的區(qū)域內(nèi),則使這些對(duì)象與傳送帶240同步地移動(dòng)。此外,吸附于圖5所示的機(jī)械手工具216的工件232表示工件從機(jī)械手工具216分離之前的狀態(tài)。
這樣,在機(jī)械手將工件配置于距運(yùn)送面的預(yù)定范圍內(nèi)時(shí),模擬裝置100更新工件的位置,該工件與運(yùn)送面相關(guān)聯(lián)。由此,在不考慮工件產(chǎn)生的重力的模擬中,即使在工件在遠(yuǎn)離運(yùn)送機(jī)的運(yùn)送面的位置分離的情況下,也能夠?qū)崿F(xiàn)與考慮實(shí)際產(chǎn)生的重力的情況實(shí)質(zhì)上相同的模擬。
<C.模擬裝置的硬件結(jié)構(gòu)>
接著,對(duì)本實(shí)施方式的模擬裝置100的硬件結(jié)構(gòu)進(jìn)行說(shuō)明。典型地,本實(shí)施方式的模擬裝置100通過(guò)一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行程序來(lái)實(shí)現(xiàn)。
圖6是表示本實(shí)施方式的模擬裝置100的硬件結(jié)構(gòu)的示意圖。參照?qǐng)D6,作為一個(gè)例子,模擬裝置100包括以通用的計(jì)算機(jī)體系結(jié)構(gòu)為標(biāo)準(zhǔn)構(gòu)成的計(jì)算機(jī)。模擬裝置100包括處理器102、主存儲(chǔ)器104、輸入部106、顯示部108、網(wǎng)絡(luò)接口110、硬盤(HDD:Hard Disk Drive)120、光驅(qū)112、通信接口116。上述部件經(jīng)由內(nèi)部總線118相互可通信地連接。
處理器102通過(guò)將存儲(chǔ)于硬盤120的程序在主存儲(chǔ)器104中展開(kāi)執(zhí)行,實(shí)現(xiàn)后述那樣的功能以及處理。主存儲(chǔ)器104由揮發(fā)性存儲(chǔ)器構(gòu)成,作為利用處理器102執(zhí)行程序所必需的工件存儲(chǔ)器發(fā)揮作用。
典型地,輸入部106包括鍵盤、鼠標(biāo)、觸摸面板、觸摸板等,接受來(lái)自用戶的操作。顯示部108包括顯示器、指示器等,對(duì)用戶提示各種信息。
網(wǎng)絡(luò)接口110在與伺服裝置等外部設(shè)備之間經(jīng)由網(wǎng)絡(luò)交換數(shù)據(jù)。光驅(qū)112從光盤114等讀取存儲(chǔ)于其中的各種程序,并安裝于硬盤120。通信接口116包括例如USB(Universal Serial Bus)等通信接口,在與輔助存儲(chǔ)裝置等外部設(shè)備之間經(jīng)由本地通信交換數(shù)據(jù)。
硬盤120為了作為操作系統(tǒng)(OS:Operating System)122以及模擬程序124等的模擬裝置發(fā)揮作用,存儲(chǔ)必要的程序,并且也存儲(chǔ)用于模擬的預(yù)先獲取的輸入圖像即圖像數(shù)據(jù)群140。
圖6示出了經(jīng)由光驅(qū)112將必要的程序安裝于模擬裝置100的結(jié)構(gòu)例,但并不限定于此,也可以從網(wǎng)絡(luò)上的伺服裝置等下載。
這樣,在使用通用的計(jì)算機(jī)實(shí)現(xiàn)的情況下,除了用于提供本實(shí)施方式的功能的程序以外,還可以安裝有用于提供計(jì)算機(jī)的基本功能的操作系統(tǒng)(OS:Operating System)。在該情況下,本實(shí)施方式的模擬程序也可以是如下程序,即,將作為OS的一部分所提供的程序模塊中的必要的模塊按照規(guī)定的順序和/或時(shí)刻調(diào)出來(lái)執(zhí)行處理。即,就本實(shí)施方式的程序而言,也存在不包括上述那樣的模塊而與OS協(xié)作來(lái)執(zhí)行處理的情況。因此,作為本實(shí)施方式的程序也可以是不包括這樣的一部分的模塊的方式。
本實(shí)施方式的程序也可以是編入為其他程序的一部分的程序。在該情況下,程序自身不具有包含于上述那樣組合的其他程序的模塊,而是與該其他程序協(xié)作來(lái)執(zhí)行處理。即,作為本實(shí)施方式的模擬程序,也可以是編入這樣的其他程序的方式。
圖6示出了由通用的計(jì)算機(jī)實(shí)現(xiàn)模擬裝置100的例子,但并不限定于此,也可以使用專用電路(例如,ASIC(Application Specific Integrated Circuit)等)來(lái)實(shí)現(xiàn)其全部或一部分。而且,也可以由外部裝置來(lái)承擔(dān)一部分的處理。
圖6示出了本實(shí)施方式的模擬裝置100通過(guò)單一的裝置安裝的例子,但也可以是多個(gè)裝置聯(lián)合來(lái)實(shí)現(xiàn)模擬裝置100。即,本實(shí)施方式的模擬裝置100也可以包括由多個(gè)獨(dú)立的裝置的組合所構(gòu)成的系統(tǒng)。
<D.模擬裝置的功能結(jié)構(gòu)>
接著,對(duì)本實(shí)施方式的模擬裝置100的功能結(jié)構(gòu)進(jìn)行說(shuō)明。
圖7是表示本實(shí)施方式的模擬裝置100的功能結(jié)構(gòu)的示意圖。參照?qǐng)D7,模擬裝置100作為軟件功能包括視覺(jué)傳感器模擬器150、控制模擬器160、視覺(jué)化模塊170、用戶界面模塊180、系統(tǒng)模型模擬器190。典型地,上述功能模塊群通過(guò)處理器102執(zhí)行模擬程序124(均參照?qǐng)D6)來(lái)實(shí)現(xiàn)。
用戶界面模塊180提供關(guān)于設(shè)定參數(shù)152、控制程序162以及三維設(shè)計(jì)數(shù)據(jù)184的用于支援用戶的設(shè)定、制作的操作畫(huà)面等。另外,在利用視覺(jué)化模塊170顯示模擬結(jié)果時(shí),用戶界面模塊180提供必要的用戶界面。
用戶界面模塊180作為處理三維設(shè)計(jì)數(shù)據(jù)184的功能包括模型構(gòu)筑模塊182。模型構(gòu)筑模塊182在三維假想空間內(nèi)假想地構(gòu)筑模擬對(duì)象的系統(tǒng)。更具體地說(shuō),模型構(gòu)筑模塊182提供用于顯示三維假想空間并且在該三維假想空間內(nèi)構(gòu)筑模擬對(duì)象的系統(tǒng)的設(shè)定及操作畫(huà)面。
在本實(shí)施方式的模擬裝置100中,典型地,在三維假想空間內(nèi)假想地構(gòu)筑系統(tǒng),該系統(tǒng)包括:運(yùn)送機(jī)(作為典型例為傳送帶),其具有使配置的工件連續(xù)地移動(dòng)的運(yùn)送面;處理裝置(作為典型例為機(jī)械手),其能夠夾持工件使之配置于運(yùn)送面。而且,如圖2所示,在系統(tǒng)模型內(nèi)設(shè)定有視覺(jué)傳感器220的拍攝區(qū)域221。就圖2所示的針對(duì)拾取和放置動(dòng)作的系統(tǒng)模型而言,也可以設(shè)定有夾持(拾取)工件的區(qū)域(跟蹤區(qū)域231)和配置(放置)工件的區(qū)域(跟蹤區(qū)域235)。
視覺(jué)傳感器模擬器150是模擬視覺(jué)傳感器220中的處理的模塊,針對(duì)包括被攝物體即工件的至少一部分的輸入圖像進(jìn)行圖像測(cè)量處理,該輸入圖像與預(yù)先設(shè)定于三維假想空間內(nèi)的運(yùn)送路徑(傳送帶)上的拍攝區(qū)域221相關(guān)聯(lián)。更具體地說(shuō),視覺(jué)傳感器模擬器150響應(yīng)來(lái)自控制模擬器160的讀取指令(作為典型例為觸發(fā)信號(hào)),讀取預(yù)先獲取的圖像數(shù)據(jù)群140中的對(duì)象的圖像數(shù)據(jù),并按照預(yù)先設(shè)定的設(shè)定參數(shù)152進(jìn)行圖像測(cè)量處理。
由視覺(jué)傳感器模擬器150中的圖像測(cè)量處理所得的測(cè)量結(jié)果向控制模擬器160輸出。即,執(zhí)行相當(dāng)于圖1所示的傳送帶跟蹤系統(tǒng)中的經(jīng)由網(wǎng)絡(luò)202從視覺(jué)傳感器220向控制裝置200傳送測(cè)量結(jié)果的處理。
控制模擬器160基于視覺(jué)傳感器模擬器150的測(cè)量結(jié)果以及三維假想空間內(nèi)的各工件的位置,執(zhí)行生成關(guān)于處理裝置的一個(gè)例子即機(jī)械手的動(dòng)作的控制指令的控制運(yùn)算??刂颇M器160是模擬控制裝置200(參照?qǐng)D1)中的處理的模塊,該控制模擬器160按照預(yù)先制作的控制程序162,執(zhí)行控制運(yùn)算(順序指令、動(dòng)作指令、各種功能指令等)。
由控制模擬器160執(zhí)行的控制運(yùn)算包括用于對(duì)視覺(jué)傳感器模擬器150生成圖像數(shù)據(jù)的讀取指令(觸發(fā)信號(hào))的處理。即,在滿足預(yù)先設(shè)定的條件時(shí),控制模擬器160產(chǎn)生觸發(fā)信號(hào)。預(yù)先設(shè)定的條件能夠使用例如傳送帶移動(dòng)了規(guī)定距離或者預(yù)先設(shè)定的周期已到來(lái)等。
系統(tǒng)模型模擬器190伴隨著模擬的進(jìn)行依次更新系統(tǒng)模型內(nèi)的各對(duì)象的屬性(各時(shí)刻的位置、朝向、速度等)。更具體地說(shuō),系統(tǒng)模型模擬器190制作以及更新對(duì)象屬性信息192的內(nèi)容,該對(duì)象屬性信息192的內(nèi)容與包含于由模型構(gòu)筑模塊182所構(gòu)筑的系統(tǒng)模型的各對(duì)象相對(duì)應(yīng)。
系統(tǒng)模型模擬器190將包含于構(gòu)筑的系統(tǒng)模型的結(jié)構(gòu)構(gòu)件所配置的位置等作為初始值進(jìn)行設(shè)定。并且,系統(tǒng)模型模擬器190伴隨著模擬時(shí)刻的經(jīng)過(guò)并基于由控制模擬器160生成的控制指令,來(lái)更新包含于對(duì)象屬性信息192的各對(duì)象的屬性值。更具體地說(shuō),系統(tǒng)模型模擬器190進(jìn)行如下跟蹤處理,即,基于與配置于傳送帶的運(yùn)送面的多個(gè)工件相對(duì)應(yīng)的傳送帶的移動(dòng)量,分別更新多個(gè)工件在三維假想空間內(nèi)的位置,并且更新由機(jī)械手夾持的工件在三維假想空間內(nèi)的位置,該位置與機(jī)械手的動(dòng)作相關(guān)聯(lián)。
另外,系統(tǒng)模型模擬器190使表示該傳送帶的位置或位移的信息向控制模擬器160輸出,該信息與傳送帶的移動(dòng)相關(guān)聯(lián)。作為一個(gè)例子,系統(tǒng)模型模擬器190也可以輸出表示距基準(zhǔn)位置的位移量的編碼值,也可以產(chǎn)生與傳送帶的每單位時(shí)間的移動(dòng)量成比例的脈沖。即,編碼值表示傳送帶的位置,每單位時(shí)間的脈沖數(shù)表示傳送帶的速度。
控制模擬器160輸出包括針對(duì)機(jī)械手的控制指令的時(shí)間序列數(shù)據(jù)和視覺(jué)傳感器模擬器150的測(cè)量結(jié)果的跟蹤數(shù)據(jù)。系統(tǒng)模型模擬器190輸出包括系統(tǒng)模型內(nèi)的各對(duì)象的時(shí)間變化等的跟蹤數(shù)據(jù)。
視覺(jué)化模塊170使用這些跟蹤數(shù)據(jù)使系統(tǒng)模型所執(zhí)行的模擬的結(jié)果視覺(jué)化。更具體地說(shuō),視覺(jué)化模塊170基于定義文件即三維設(shè)計(jì)數(shù)據(jù)184,使在三維假想空間內(nèi)假想地構(gòu)筑的系統(tǒng)視覺(jué)化,并且,基于來(lái)自控制模擬器160的跟蹤數(shù)據(jù),再現(xiàn)系統(tǒng)中的工件以及機(jī)械手的時(shí)間變化等。利用視覺(jué)化模塊170的模擬結(jié)果的視覺(jué)化可以在完成一系列的模擬的執(zhí)行后執(zhí)行,也可以與模擬的執(zhí)行一起,隨時(shí)顯示其結(jié)果。
這樣,視覺(jué)化模塊170將模擬結(jié)果的時(shí)間變化以動(dòng)畫(huà)的狀態(tài)顯示在模擬裝置100的顯示部108(圖3)上。
在圖7所示的功能結(jié)構(gòu)中,控制模擬器160輸出跟蹤數(shù)據(jù),該跟蹤數(shù)據(jù)包括由控制模擬器160輸出的針對(duì)機(jī)械手的控制指令的時(shí)間序列數(shù)據(jù)和視覺(jué)傳感器模擬器150的測(cè)量結(jié)果,但并不限定于此,視覺(jué)化模塊170也可以合成這些數(shù)據(jù)來(lái)再現(xiàn)系統(tǒng)的動(dòng)作。
在上述的圖7中,示出了視覺(jué)化模塊170使用由控制模擬器160輸出的跟蹤數(shù)據(jù)再現(xiàn)構(gòu)筑的系統(tǒng)的動(dòng)作的結(jié)構(gòu)例,但未必需要在模擬裝置100內(nèi)安裝視覺(jué)化模塊170。例如,也可以將由控制模擬器160輸出的跟蹤數(shù)據(jù)向外部裝置或外部應(yīng)用系統(tǒng)輸出,由該外部裝置或外部應(yīng)用系統(tǒng)再現(xiàn)系統(tǒng)的動(dòng)作?;蛘?,視覺(jué)化模塊170也可以只生成用于再現(xiàn)系統(tǒng)的動(dòng)作的動(dòng)態(tài)圖像數(shù)據(jù)并將其存儲(chǔ)于任意的存儲(chǔ)介質(zhì),由其他應(yīng)用播放該動(dòng)態(tài)圖像數(shù)據(jù)。
<E.處理順序>
接著,對(duì)使用了本實(shí)施方式的模擬裝置100的模擬的處理順序進(jìn)行說(shuō)明。
圖8是表示使用了本實(shí)施方式的模擬裝置100的模擬的處理順序的流程圖。參照?qǐng)D8,首先,模擬裝置100接受系統(tǒng)模型的設(shè)定(步驟S2)。系統(tǒng)模型的設(shè)定包括構(gòu)成系統(tǒng)的各裝置的配置位置、運(yùn)送機(jī)即傳送帶的移動(dòng)速度等的設(shè)定。模擬裝置100(模型構(gòu)筑模塊182)基于系統(tǒng)模型的設(shè)定,在三維假想空間內(nèi)假想地構(gòu)筑模擬對(duì)象的系統(tǒng)(系統(tǒng)模型)。
模擬裝置100(用戶界面模塊180)接受在系統(tǒng)模型內(nèi)設(shè)定的視覺(jué)傳感器的拍攝區(qū)域(步驟S4)。于是,基于構(gòu)筑的系統(tǒng)和設(shè)定的拍攝區(qū)域之間的相對(duì)位置關(guān)系,能夠計(jì)算出用于將測(cè)量結(jié)果變換為控制運(yùn)算的輸入值的變化參數(shù)即校準(zhǔn)參數(shù)。
接著,模擬裝置100(用戶界面模塊180)接受用于控制系統(tǒng)模型的控制程序(步驟S6)。該控制程序是與系統(tǒng)相關(guān)聯(lián)的程序,由控制模擬器160執(zhí)行。
模擬裝置100(用戶界面模塊180)接受應(yīng)由視覺(jué)傳感器模擬器150執(zhí)行的圖像測(cè)量處理的內(nèi)容設(shè)定(步驟S8)。作為設(shè)定的內(nèi)容,包括圖像測(cè)量處理的處理內(nèi)容的指定和與被指定的處理內(nèi)容相對(duì)應(yīng)的參照信息(模型圖像、由模型圖像計(jì)算出的特征量等)。
通過(guò)上面那樣的順序,完成用于進(jìn)行模擬的設(shè)定。
在指示開(kāi)始模擬時(shí),模擬裝置100(系統(tǒng)模型模擬器190)設(shè)定作為系統(tǒng)模型內(nèi)的各對(duì)象的屬性的初始值(步驟S10)。更具體地說(shuō),模擬裝置100(系統(tǒng)模型模擬器190)針對(duì)系統(tǒng)模型內(nèi)存在的各工件的位置、表示傳送帶的位置或移動(dòng)量的編碼值、機(jī)械手的位置等分別設(shè)定初始值。
接著,模擬裝置100(系統(tǒng)模型模擬器190)將傳送帶的編碼值更新為經(jīng)過(guò)預(yù)定的模擬的一個(gè)周期后的值,并且更新配置于傳送帶的運(yùn)送面的各工件的位置(步驟S12)。此時(shí),對(duì)后面所述的相互關(guān)聯(lián)的工件彼此賦予同一更新量。
接著,模擬裝置100(控制模擬器160)基于更新后的編碼值以及各工件的位置,判斷是否滿足產(chǎn)生觸發(fā)信號(hào)的條件(步驟S14)。
若滿足產(chǎn)生觸發(fā)信號(hào)的條件(在步驟S14中為YES的情況下),則假想地產(chǎn)生觸發(fā)信號(hào)(步驟S16)。模擬裝置100(視覺(jué)傳感器模擬器150)響應(yīng)觸發(fā)信號(hào)的產(chǎn)生,讀取預(yù)先獲取的圖像數(shù)據(jù)群中的對(duì)象的圖像數(shù)據(jù),并執(zhí)行圖像測(cè)量處理(步驟S18)。
模擬裝置100(系統(tǒng)模型模擬器190)判斷是否通過(guò)圖像測(cè)量處理重新檢測(cè)出工件(步驟S20)。若通過(guò)圖像測(cè)量處理重新檢測(cè)出工件(在步驟S20中為YES的情況下),則模擬裝置100(系統(tǒng)模型模擬器190)生成針對(duì)檢測(cè)出的工件的新的對(duì)象(步驟S22)。即,模擬裝置100(系統(tǒng)模型模擬器190)響應(yīng)利用視覺(jué)傳感器模擬器150檢測(cè)出工件,使該檢測(cè)出的工件出現(xiàn)在三維假想空間內(nèi)。此時(shí),生成的新的對(duì)象的位置基于包含于拍攝區(qū)域的位置以及測(cè)量結(jié)果的局部坐標(biāo)值被計(jì)算出。
若通過(guò)圖像測(cè)量處理未重新檢測(cè)出工件(在步驟S20中為NO的情況下),則跳過(guò)步驟S22的處理。
另一方面,若不滿足產(chǎn)生觸發(fā)信號(hào)的條件(在步驟S14中為NO的情況下),則跳過(guò)步驟S16~S22的處理。
接著,模擬裝置100(控制模擬器160)基于更新后的編碼值以及各工件的位置,按照控制程序162來(lái)執(zhí)行控制運(yùn)算,從而生成控制指令(步驟S24)。模擬裝置100(系統(tǒng)模型模擬器190)基于生成的控制指令,更新機(jī)械手的位置以及相關(guān)聯(lián)的工件的位置(步驟S26)。例如,在機(jī)械手夾持或運(yùn)送任一工件時(shí),根據(jù)該機(jī)械手的動(dòng)作來(lái)更新對(duì)象的工件的位置。另外,在機(jī)械手配置工件(例如,解除吸附)時(shí),更新對(duì)象的工件的位置以及狀態(tài)。
并且,模擬裝置100(系統(tǒng)模型模擬器190)基于更新后的工件的位置,判斷工件是否著地于傳送帶的運(yùn)送面或者是否與其他工件接觸(步驟S28)。若判斷為工件著地于傳送帶的運(yùn)送面或者與其他工件接觸(在步驟S28中為YES的情況下),則模擬裝置100(系統(tǒng)模型模擬器190)使對(duì)象的工件與傳送帶或?qū)ο蟮墓ぜ舜讼嚓P(guān)聯(lián)(步驟S30)。
模擬裝置100判斷預(yù)先設(shè)定的模擬期間是否已滿(步驟S32)。若預(yù)先設(shè)定的模擬期間未滿(在步驟S32中為NO的情況下),則反復(fù)執(zhí)行步驟S12以下的處理。
相對(duì)于此,若預(yù)先設(shè)定的模擬期間已滿(在步驟S32中為YES的情況下),則模擬結(jié)束。
在模擬結(jié)束后,也可以使用由模擬生成的跟蹤數(shù)據(jù)使系統(tǒng)的動(dòng)作視覺(jué)化。
<F.向運(yùn)送面的著地判斷的詳細(xì)>
接著,詳細(xì)說(shuō)明判斷工件是否已著地于傳送帶的運(yùn)送面的處理(圖8的步驟S28的前半部分的處理)。
圖9是表示圖8所示的步驟S28的前半部分的詳細(xì)的處理順序的流程圖。參照?qǐng)D9,模擬裝置100(控制模擬器160)判斷是否已生成用于解除機(jī)械手工具的吸附的控制指令(步驟S2801)。若未生成用于解除機(jī)械手工具的吸附的控制指令(在步驟S2801中為NO的情況下),則模擬裝置100判斷為吸附被解除的跟蹤機(jī)械手工具的任一工件均未著地于傳送帶的運(yùn)送面(步驟S2802)。并且,返回圖8的步驟S28以后的處理。
相對(duì)于此,若生成用于解除機(jī)械手工具的吸附的控制指令(在步驟S2801中為YES的情況下),模擬裝置100獲取成為控制指令的對(duì)象的機(jī)械手工具吸附的工件的最下點(diǎn)的坐標(biāo)值(步驟S2803),并計(jì)算出從傳送帶到工件的最下點(diǎn)的距離(相當(dāng)于圖4所示的距離d等)(步驟S2804)。
模擬裝置100判斷計(jì)算出的從傳送帶到工件的最下點(diǎn)的距離是否在預(yù)先設(shè)定的著地判定高度以下(步驟S2805)。若計(jì)算出的距離超過(guò)預(yù)先設(shè)定的著地判定高度(在步驟S2805中為NO的情況下),則模擬裝置100判斷為吸附被解除的跟蹤機(jī)械手工具的任一工件均未著地于傳送帶的運(yùn)送面(步驟S2806)。并且,進(jìn)入后述的圖15的步驟S2811以后的處理。
相對(duì)于此,若計(jì)算出的距離在預(yù)先設(shè)定的著地判定高度以下(在步驟S2805中為YES的情況下),則模擬裝置100判斷為對(duì)象的工件已著地于傳送帶的運(yùn)送面(步驟S2807)。并且,返回至圖8的步驟S28以后的處理。
圖10是表示使利用本實(shí)施方式的模擬裝置100在三維假想空間內(nèi)所構(gòu)筑的系統(tǒng)模型視覺(jué)化的一個(gè)例子的圖。本實(shí)施方式的模擬裝置100能夠從任意方向渲染三維假想空間內(nèi)的模型。即,被視覺(jué)化的系統(tǒng)模型的視點(diǎn)可以由用戶任意地變更。
參照?qǐng)D10,運(yùn)送被夾持(拾取)的工件的傳送帶230和運(yùn)送被配置(放置)的工件的傳送帶240并列配置。并且,配置兩個(gè)機(jī)械手311以及313,所述機(jī)械手311以及313與傳送帶230以及傳送帶240相對(duì)應(yīng)。在該系統(tǒng)模型中,工件232被傳送帶230從紙面左側(cè)向紙面右側(cè)運(yùn)送。若工件232到達(dá)預(yù)先設(shè)定的跟蹤區(qū)域231或跟蹤區(qū)域233,則各個(gè)機(jī)械手311或機(jī)械手313夾持已到達(dá)的工件232,并將該工件配置(放置)于傳送帶240。機(jī)械手311以及機(jī)械手313分別將工件232配置于設(shè)定的跟蹤區(qū)域235以及237,所述跟蹤區(qū)域235以及237與傳送帶240相關(guān)聯(lián)。傳送帶230運(yùn)送的工件232朝向隨機(jī)方向,但在配置于傳送帶240的情況下,使所述工件232在預(yù)定的方向上對(duì)齊。
作為應(yīng)用系統(tǒng)的一個(gè)例子,在傳送帶230上存在至少兩個(gè)種類的工件232。機(jī)械手311控制為拾取和放置某個(gè)規(guī)定的類別的工件,機(jī)械手313控制為拾取和放置另一類別的工件。也存在工件的形狀因類別而不同的情況,在這樣的情況下,優(yōu)選專用安裝有分別適用于各類別的工件的機(jī)械手工具的機(jī)械手。
在三維假想空間內(nèi),在傳送帶240的上側(cè)重疊顯示表示由著地判定高度所定義的區(qū)域的半透明(具有規(guī)定的透過(guò)率的顏色)的對(duì)象250。該對(duì)象250通過(guò)用戶的設(shè)定操作,也能夠變?yōu)榉秋@示。通過(guò)顯示這樣的對(duì)象250,用戶一看就能夠掌握在系統(tǒng)模型中著地判定高度設(shè)定在哪個(gè)范圍內(nèi)。
就著地判定高度而言,也可以根據(jù)模擬對(duì)象的系統(tǒng)(應(yīng)用系統(tǒng))任意地設(shè)定。即,模擬裝置100也可以具有輸入機(jī)構(gòu),該輸入機(jī)構(gòu)接受著地判定高度(判定已著地的預(yù)定范圍的大小)的設(shè)定。
圖11是表示本實(shí)施方式的模擬裝置100中的設(shè)定著地判定高度的用戶界面畫(huà)面的一個(gè)例子的示意圖。參照?qǐng)D11A,設(shè)定輸入畫(huà)面300具有用于輸入著地判定高度的輸入框302,用戶能夠在該輸入框302內(nèi)直接輸入期望值或操作按鈕304來(lái)輸入期望值。
而且,也可以根據(jù)工件的類別(品種或形狀等)分別設(shè)定著地判定高度。圖11B所示的設(shè)定輸入畫(huà)面310具有類別1的工件用的輸入框312和類別2的工件用的輸入框316。用戶能夠在輸入框312直接輸入期望的著地判定高度或操作按鈕314來(lái)輸入期望的著地判定高度,另外,用戶能夠在輸入框316直接輸入期望的著地判定高度或操作按鈕318來(lái)輸入期望的著地判定高度。
此外,即使著地判定高度設(shè)定為0,為了吸收判定誤差等,優(yōu)選設(shè)定一定程度的余量。
圖12是用于說(shuō)明在本實(shí)施方式的模擬裝置100中將著地判定高度設(shè)定為0時(shí)的著地判定范圍的示意圖。如圖12所示,即使著地判定高度設(shè)定為0,在傳送帶240(放置側(cè)傳送帶)上也設(shè)定規(guī)定高度的判定為著地的區(qū)域(相當(dāng)于圖10所示的對(duì)象250)。作為該區(qū)域的高度,根據(jù)系統(tǒng)模型中的位置管理的精度來(lái)設(shè)定。
通過(guò)對(duì)這樣的著地判定高度設(shè)定余量,在判斷工件是否與傳送帶已接觸的處理(接觸判定)中,在工件在接近接觸傳送帶的位置被機(jī)械手放開(kāi)的情況下,能夠防止未判斷為接觸的不好的情況。
<G.與其他工件的接觸判斷的詳細(xì)>
接著,詳細(xì)說(shuō)明判斷工件是否與其他工件已接觸的處理(圖8的步驟S28的后半部分的處理)。即,如參照上述的圖3B進(jìn)行的說(shuō)明,假想在先配置于運(yùn)送面的工件上層疊配置其他工件的情況。
圖13是用于說(shuō)明本實(shí)施方式的模擬裝置100中的接觸判定余量的示意圖。參照?qǐng)D13A,作為用于判定配置于傳送帶的運(yùn)送面的工件232與其他工件的接觸的富余量,接觸判定余量設(shè)定于工件232的周圍。在工件配置于由接觸判定余量規(guī)定的區(qū)域260內(nèi)時(shí),兩個(gè)工件相互關(guān)聯(lián)地與傳送帶同步移動(dòng)。與圖10所示的表示由著地判定高度定義的區(qū)域的對(duì)象250相同,也可以使用半透明的對(duì)象等使區(qū)域260視覺(jué)化。通過(guò)所述視覺(jué)化,用戶一看就能夠掌握由接觸判定余量所規(guī)定的區(qū)域。
就將接觸判定余量設(shè)定于工件232的周圍而言,例如,在同一容器內(nèi)配置多個(gè)工件的系統(tǒng)中,不需要將其他工件與先行的工件嚴(yán)密地重疊,只將其他工件配置于先行的工件的周圍即可。在這樣的系統(tǒng)中,優(yōu)選地,不僅在工件232的上表面而且在工件232的周圍也設(shè)定接觸判定余量。另外,在傳送帶的運(yùn)送面上的工件232的朝向不定的系統(tǒng)中,優(yōu)選地,不僅在工件232的特定的面設(shè)定接觸判定余量,而且在工件232的整周設(shè)定接觸判定余量。另一方面,若是將工件彼此重疊的應(yīng)用系統(tǒng),則也可以將接觸判定余量只設(shè)定在工件232的上表面?zhèn)取?/p>
圖13B表示沿著圖13A的A-A線的剖視圖。包括接觸判定余量的判定區(qū)域的大小(區(qū)域高度Hm)能夠任意地設(shè)定,但也可以以工件232的高度作為基準(zhǔn)來(lái)決定。例如,也可以根據(jù)三維假想空間內(nèi)的工件232的高度來(lái)決定接觸判定余量的大小。例如,按照下面的數(shù)式,也可以由工件232的高度的常數(shù)倍來(lái)計(jì)算出區(qū)域高度Hm。
區(qū)域高度Hm=α×工件的高度h
接觸判定余量=(α-1)×工件的高度h
但是,α>1(const)
或者,與上述的圖11所示的用戶界面畫(huà)面相同,用戶也可以任意地設(shè)定接觸判定余量的大小。
而且,也可以針對(duì)工件的各個(gè)面分別設(shè)定獨(dú)立的接觸判定余量,也可以根據(jù)工件的類別(品種、形狀等)分別設(shè)定各自的接觸判定余量。
圖14是用于說(shuō)明本實(shí)施方式的模擬裝置中的與其他工件的接觸判斷的概要的示意圖。參照?qǐng)D14,在利用機(jī)械臂214的頂端的機(jī)械手工具216解除對(duì)工件232的吸附的時(shí)刻,計(jì)算出與配置于工件232的下側(cè)的工件242之間的距離,若工件232進(jìn)入由接觸判定余量規(guī)定的工件242的區(qū)域260內(nèi),則判斷為工件232與工件242接觸。
作為具體的計(jì)算順序的一個(gè)例子,以工件232的重心為基準(zhǔn),計(jì)算出與處于工件232的重心的正下方的工件242的距離d1和從工件232的重心到工件232的底面的距離d2。并且,若距離d1與距離d2的差在接觸判定余量以下,則判斷為工件232與工件242接觸。在該情況下,工件232以及工件242一體化地與傳送帶240同步移動(dòng)。
圖15是表示圖8所示的步驟S28的后半部分的詳細(xì)的處理順序的流程圖。參照?qǐng)D15,模擬裝置100判斷在成為控制指令的對(duì)象的機(jī)械手吸附的工件的正下方是否存在任一工件(步驟S2811)。若在成為控制指令的對(duì)象的機(jī)械手吸附的工件的正下方不存在任一工件(在步驟S2811中為NO的情況下),則模擬裝置100判斷為成為控制指令的對(duì)象的機(jī)械手吸附的工件與其他工件不接觸(步驟S2812)。并且,返回至圖8的步驟S28以后的處理。
若在成為控制指令的對(duì)象的機(jī)械手吸附的工件的正下方存在任一工件(在步驟S2811中為YES的情況下),則模擬裝置100計(jì)算出從對(duì)象工件的重心到處于該對(duì)象工件的正下方的工件的距離d1(步驟S2813),并且計(jì)算出從對(duì)象工件的重心到該對(duì)象工件的底面的距離d2(步驟S2814)。并且,模擬裝置100判斷距離d1與距離d2的差是否在接觸判定余量以下(步驟S2815)。
若距離d1與距離d2的差在接觸判定余量以下(在步驟S2815中為YES的情況下),則模擬裝置100判斷為對(duì)象工件與其他工件接觸(步驟S2816)。并且,模擬裝置100修正對(duì)象工件的位置,以使對(duì)象工件重疊配置于處于該對(duì)象工件的正下方的工件上(步驟S2817)。即,如圖14所示,更新工件232的位置,以使在工件232與工件242之間存在的一段距離變?yōu)?。并且,返回至圖8的步驟S28以后的處理。
另一方面,若距離d1與距離d2的差超過(guò)接觸判定余量(在步驟S2815中為NO的情況下),則模擬裝置100判斷為成為控制指令的對(duì)象的機(jī)械手吸附的工件與其他工件未接觸(步驟S2812)。并且,返回至圖8的步驟S28以后的處理。
通過(guò)上面那樣的處理,判斷是否某個(gè)工件與其他工件已接觸。若判斷出某個(gè)工件與其他工件已接觸,則以該工件重疊于其他工件上且與傳送帶同步移動(dòng)的方式進(jìn)行處理。
圖16是用于說(shuō)明本實(shí)施方式的模擬裝置中的工件彼此的關(guān)聯(lián)的示意圖。參照?qǐng)D16A,若工件1與工件2相關(guān)聯(lián),則對(duì)兩工件的位置賦予同一變化量。在圖16所示的例子中,在某個(gè)時(shí)刻,將工件1的坐標(biāo)值設(shè)為(x1,y1,z1)且將工件2的坐標(biāo)值設(shè)為(x2,y2,z2)。通過(guò)任一事件,如圖16B所示,工件1的坐標(biāo)值從(x1,y1,z1)變換為(x1+Δx,y1+Δy,z1+Δz)。于是,如圖16C所示,對(duì)工件2的坐標(biāo)值也賦予相同的變化量(Δx,Δy,Δz),從而工件2的坐標(biāo)值從(x2,y2,z2)變換為(x2+Δx,y2+Δy,z2+Δz)。
如上所述,若機(jī)械手將第二工件配置在距被視為配置于任一運(yùn)送面的第一工件的表面預(yù)定的范圍(接觸判定余量)內(nèi),則本實(shí)施方式的模擬裝置100將更新該第一工件的位置以及該第二工件的位置,該第一工件的位置以及該第二工件的位置相關(guān)聯(lián)。這樣,在相關(guān)聯(lián)的工件之間,通過(guò)實(shí)施圖16所示的處理,能夠使多個(gè)工件一體地移動(dòng)。
<H.針對(duì)對(duì)象彼此的關(guān)聯(lián)的優(yōu)先度>
如上所述,本實(shí)施方式的模擬裝置100能夠?qū)⒐ぜc運(yùn)送面相互關(guān)聯(lián)或?qū)⒐ぜc其他工件相互關(guān)聯(lián)來(lái)更新該工件的位置。但是,在著地判定/接觸判定的時(shí)刻,也存在判定為一個(gè)工件著地于運(yùn)送面,并且也與其他工件接觸的情況。在這樣的情況下,優(yōu)選地,針對(duì)對(duì)象的工件與哪個(gè)對(duì)象相關(guān)聯(lián)設(shè)定優(yōu)先度。
例如,在判定工件232著地于放置側(cè)的傳送帶240的情況下,若判定也與先配置于該放置側(cè)的傳送帶240的其他工件接觸,則能夠進(jìn)行優(yōu)先與傳送帶240的關(guān)聯(lián)的設(shè)定。或者,相反,也可以使工件232不先與傳送帶240關(guān)聯(lián),而優(yōu)先與其他工件關(guān)聯(lián)。
作為該優(yōu)先度的設(shè)定,將放置側(cè)的傳送帶240設(shè)定為“1”,將其他工件設(shè)定為“2”,在多個(gè)對(duì)象之間進(jìn)行著地/接觸判定時(shí),也可以選擇對(duì)象中的優(yōu)先度更高的對(duì)象。通過(guò)采用這樣的結(jié)構(gòu),能夠避免工件與沒(méi)有意向的對(duì)象相關(guān)聯(lián)的事態(tài)。
這樣,在運(yùn)送面以及其他對(duì)象物存在于機(jī)械手210配置工件的范圍內(nèi)的情況下,本實(shí)施方式的模擬裝置100具有按照預(yù)定的優(yōu)先度將該工件與運(yùn)送面以及其他工件中的任一方相關(guān)聯(lián)的功能。
<I.工件的位置更新>
接著,說(shuō)明利用本實(shí)施方式的模擬裝置100的工件位置的更新處理。在本實(shí)施方式的模擬裝置100中,視覺(jué)化模塊170(圖7)對(duì)輸入圖像實(shí)施用于搜索工件的圖像測(cè)量處理,使該被搜索的工件顯現(xiàn)在三維假想空間內(nèi)。
圖像測(cè)量處理的測(cè)量結(jié)果包括表示輸入圖像內(nèi)的被搜索的部分(對(duì)象)的中心位置的坐標(biāo)值(x,y)。該坐標(biāo)值(x,y)是圖像測(cè)量處理所使用的局部坐標(biāo)系的值,需要變換為三維假想空間內(nèi)的坐標(biāo)值。
具體地說(shuō),模擬裝置100使用用于將圖像測(cè)量處理所使用的輸入圖像所設(shè)定的攝像頭坐標(biāo)系的坐標(biāo)(x,y)變換為定義三維假想空間的世界坐標(biāo)系的坐標(biāo)(X,Y,Z)的變換系數(shù)A~G,以如下方式從由視覺(jué)傳感器模擬器150檢測(cè)出的工件的坐標(biāo)值(x,y)計(jì)算出輸入至控制模擬器160時(shí)的初始位置。
工件的初始位置X0=A×x+B×y+C
工件的初始位置Y0=D×x+E×y+F
工件的初始位置Z0=G
編碼值的位移量Et中的工件的位置能夠使用編碼值的每個(gè)脈沖的傳送帶的X軸方向的移動(dòng)量Xd、Y軸方向的移動(dòng)量Yd、傳送帶的Z軸方向的移動(dòng)量Zd(但是,基本上為0),以下如下方式計(jì)算出。
工件的位置(X)=Xd×Et+X0
工件的位置(Y)=Y(jié)d×Et+Y0
工件的位置(Z)=Zd×Et+Z0
此外,在使用編碼值的絕對(duì)值的情況下,也能夠?qū)⒕喔鞴ぜ怀跏硷@示的時(shí)刻的編碼值的偏差適用于上面的計(jì)算式。模擬裝置100按照這樣的計(jì)算式依次更新各工件的位置。
<J.附加的對(duì)象>
在上述的說(shuō)明中,對(duì)使多個(gè)工件彼此相關(guān)聯(lián)而與傳送帶同步移動(dòng)的應(yīng)用系統(tǒng)進(jìn)行了說(shuō)明。作為這樣的應(yīng)用系統(tǒng)的具體例,假想在同一容器內(nèi)配置多個(gè)工件的處理。在使這樣的應(yīng)用系統(tǒng)的模擬視覺(jué)化時(shí),優(yōu)選與容器一并顯示。
圖17是表示使本實(shí)施方式的模擬裝置100的模擬結(jié)果視覺(jué)化的一個(gè)例子的圖。參照?qǐng)D17,在傳送帶240上沿著用戶預(yù)先設(shè)定的間隔,顯示有相當(dāng)于容器的多個(gè)對(duì)象270。對(duì)象270的間隔例如基于所要求的標(biāo)準(zhǔn)(生產(chǎn)節(jié)拍等)預(yù)先設(shè)定?;谠撛O(shè)定,在再現(xiàn)模擬結(jié)果時(shí),在傳送帶240上重疊顯示對(duì)象270。
對(duì)象270的位置能夠用于表示確定工件的配置位置的基準(zhǔn)。除了對(duì)象270以外,還可以顯示基準(zhǔn)線280。
用戶也可以預(yù)先任意地設(shè)定對(duì)象270的形狀、顏色、大小等。而且,也可以用透明或半透明來(lái)顯示對(duì)象270,使得一看就能夠掌握對(duì)象270與工件232之間的位置關(guān)系。
如圖17所示,除了工件232以外,通過(guò)假想地顯示附加的對(duì)象270和/或基準(zhǔn)線280,能夠視覺(jué)地評(píng)價(jià)針對(duì)工件的處理是否按設(shè)計(jì)進(jìn)行動(dòng)作。
<K.工件的高度方向的位置修正>
接著,說(shuō)明工件的高度方向的位置修正。如參照?qǐng)D4以及圖5的說(shuō)明,若工件在距傳送帶的運(yùn)送面的著地判定高度的范圍內(nèi)被解除吸附,則視為工件已著地于傳送帶,從而工件與傳送帶同步移動(dòng)。
此時(shí),作為工件的高度,可以維持吸附被解除的時(shí)刻的高度,也可以修正工件的高度方向的位置而配置于傳送帶的運(yùn)送面。
圖18是用于說(shuō)明本實(shí)施方式的模擬裝置中的高度方向的位置修正的示意圖。參照?qǐng)D18,在工件232在傳送帶的著地判定高度以內(nèi)的位置被解除吸附時(shí),在修正高度方向的位置而配置于傳送帶的運(yùn)送面的基礎(chǔ)上,該工件232與傳送帶240同步移動(dòng)。
如圖18所示,若機(jī)械手將工件配置在距傳送帶的運(yùn)送面的著地判定高度的范圍內(nèi),則模擬裝置100(圖7的系統(tǒng)模型模擬器190)也可以更新三維假想空間內(nèi)的該工件的高度方向的位置,以使該工件與對(duì)象的運(yùn)送面接觸。通過(guò)進(jìn)行這樣的工件的高度方向的位置修正,能夠進(jìn)行更接近實(shí)際的動(dòng)作的模擬。另外,在進(jìn)行重疊配置工件那樣的模擬時(shí)也適用。
<L.伴隨著機(jī)械手的移動(dòng)的工件的位置修正>
接著,對(duì)考慮機(jī)械手配置(放置)工件時(shí)的動(dòng)作的工件的位置修正進(jìn)行說(shuō)明。在實(shí)際的拾取和放置動(dòng)作中,在配置工件之前,機(jī)械手與工件的配置位置即傳送帶都以一定的移動(dòng)速度向水平方向移動(dòng)。即,在機(jī)械手與傳送帶之間的相對(duì)速度盡可能變?yōu)?之后,解除工件的吸附。
圖19是用于說(shuō)明本實(shí)施方式的模擬裝置100中的工件的位置修正處理的示意圖。參照?qǐng)D19A,在配置工件之前(時(shí)刻T1),機(jī)械手以與傳送帶240的移動(dòng)速度同步的方式向水平方向移動(dòng)。
如圖19B所示,在利用機(jī)械臂214的頂端的機(jī)械手工具216解除工件的吸附之后(T1+Δt),通過(guò)伴隨著之前的機(jī)械手的水平移動(dòng)的慣性,在水平方向上移動(dòng)一定程度的距離(ΔL)。
因此,也可以在對(duì)解除機(jī)械手吸附的時(shí)刻的工件的位置修正其水平方向的偏移量(距離ΔL)的基礎(chǔ)上,來(lái)判斷工件是否已著地于傳送帶的運(yùn)送面。即,模擬裝置100(圖7的系統(tǒng)模型模擬器190)也可以根據(jù)機(jī)械手放開(kāi)工件的夾持時(shí)的三維假想空間內(nèi)的水平方向的速度,來(lái)修正三維假想空間內(nèi)的該工件的水平方向的位置。
如圖19C所示,在嚴(yán)密地思考后認(rèn)為,在利用機(jī)械臂214的頂端的機(jī)械手工具216解除對(duì)工件的吸附之后(T1+Δt),因伴隨著之前的機(jī)械手的水平移動(dòng)的慣性,在水平方向上移動(dòng)一定程度的距離(ΔL),并且,因重量,在高度方向上移動(dòng)一定程度的距離(ΔH)。
因此,也可以在對(duì)解除機(jī)械手吸附的時(shí)刻的工件的位置修正其水平方向的偏移量(距離ΔL)以及高度方向的偏移量(距離ΔH)的基礎(chǔ)上,來(lái)判斷工件是否已著地于傳送帶的運(yùn)送面。
就圖19B以及圖19C所示的偏移量的修正而言,也可以考慮之前的機(jī)械手的移動(dòng)速度(以及,根據(jù)需要為加速度),每次計(jì)算出偏移量的大小?;蛘撸瑸榱私档陀?jì)算量,也可以將預(yù)定的固定值作為偏移量使用。
通過(guò)進(jìn)行這樣的修正,能夠進(jìn)行更好地反映實(shí)際的動(dòng)作的模擬。
<M.其他實(shí)施方式>
在上述的實(shí)施方式中,對(duì)利用機(jī)械手夾持在拾取側(cè)傳送帶上連續(xù)地被運(yùn)送的工件并運(yùn)送至放置側(cè)傳送帶,將該工件配置于放置側(cè)傳送帶上的結(jié)構(gòu)進(jìn)行了例示。但是,并不限定于被夾持的工件連續(xù)地配置于拾取側(cè)傳送帶上的結(jié)構(gòu),也能夠應(yīng)用于利用機(jī)械手夾持從靜止的多個(gè)工件(例如,散裝)中指定的工件或任意的工件的應(yīng)用系統(tǒng)。
<N.利點(diǎn)>
根據(jù)本實(shí)施方式的模擬裝置100,例如,在進(jìn)行拾取和放置動(dòng)作等的傳送帶系統(tǒng)中,即使在以從傳送帶的運(yùn)送面的上側(cè)放開(kāi)工件的方式將工件配置于運(yùn)送面的情況下,也能夠使工件與傳送帶同步移動(dòng)來(lái)合適地進(jìn)行跟蹤。
另外,即使在先將工件配置于傳送帶的運(yùn)送面,且在先配置的工件的附近進(jìn)行機(jī)械手放開(kāi)其他工件的處理的情況下,也能夠使工件彼此相關(guān)聯(lián)且與傳送帶同步移動(dòng)來(lái)合適地跟蹤兩者。
本次公開(kāi)的實(shí)施方式在所有方面均為例示,并不用于限制。本發(fā)明的范圍不是由上述說(shuō)明而是由權(quán)利要求的范圍示出,旨在包含與權(quán)利要求的范圍均等的含義以及范圍內(nèi)的全部變更。