本發(fā)明涉及用于推定系統(tǒng)的動作的模擬裝置以及模擬方法。
背景技術(shù):
在工廠自動化(fa:factoryautomation)領(lǐng)域中,使用視覺傳感器的自動控制技術(shù)被廣泛的利用。例如,通過對工件等的對象物進(jìn)行拍攝并對該拍攝的圖像執(zhí)行圖形匹配等的圖像測量處理,實現(xiàn)用于操作各種的控制設(shè)備的自動化處理。
例如,日本特開2012-187651號公報(專利文獻(xiàn)1)公開了包括視覺傳感器以及機(jī)械手的傳送帶跟蹤的結(jié)構(gòu)。在該傳送帶跟蹤的系統(tǒng)中,視覺傳感器以及用于控制機(jī)械手的機(jī)械手控制裝置經(jīng)由網(wǎng)絡(luò)連接。
在上述那樣的自動控制技術(shù)的對象的系統(tǒng)的設(shè)計或檢討等階段,需要預(yù)先評價系統(tǒng)整體的性能等。針對這樣的需求,假想地構(gòu)筑系統(tǒng)來實現(xiàn)模擬動作的技術(shù)。例如,日本特開2013-191128號公報(專利文獻(xiàn)2)公開了進(jìn)行包含與假想拍攝部對應(yīng)的實際空間的視覺傳感器的機(jī)械系統(tǒng)的綜合模擬的技術(shù)。在專利文獻(xiàn)2公開的技術(shù)中,通過聯(lián)合3d模擬器與視覺傳感器模擬器,假想地生成各個時刻的3d空間內(nèi)的工件的拍攝圖像。
專利文獻(xiàn)1:日本特開2012-187651號公報
專利文獻(xiàn)2:日本特開2013-191128號公報
在上述的專利文獻(xiàn)2以及專利文獻(xiàn)3公開的技術(shù)中,需要對工件或?qū)ο笪镱A(yù)先定義。因此,例如,在檢討現(xiàn)有的系統(tǒng)等的改造的情況、檢討現(xiàn)有的系統(tǒng)的替換等的情況下,包括工件都需要模型化。
因此,在工件等的圖像數(shù)據(jù)預(yù)先存在的情況下,期望高效地實現(xiàn)模擬的結(jié)構(gòu)。而且,就針對現(xiàn)有的圖像數(shù)據(jù)的圖像測量處理的時刻而言,存在想要更加嚴(yán)密地進(jìn)行模擬的需求。
技術(shù)實現(xiàn)要素:
本發(fā)明的一個技術(shù)方案提供一種用于推定系統(tǒng)的動作的模擬裝置。模擬裝置包括在三維假想空間內(nèi)假想地構(gòu)筑包括運送機(jī)的系統(tǒng)的構(gòu)筑機(jī)構(gòu)。在與運送機(jī)相關(guān)聯(lián)的運送路徑上的第一部位假想地配置有視覺傳感器,并且在運送路徑上的第二部位假想地配置有處理裝置。模擬裝置包括:測量機(jī)構(gòu),其對預(yù)先獲取的圖像數(shù)據(jù)進(jìn)行與視覺傳感器相對應(yīng)的圖像測量處理;執(zhí)行機(jī)構(gòu),其基于測量機(jī)構(gòu)的測量結(jié)果生成針對處理裝置的控制指令,并且執(zhí)行用于對測量機(jī)構(gòu)生成圖像數(shù)據(jù)的讀取指令的控制運算;存儲機(jī)構(gòu),其存儲根據(jù)讀取指令所讀取的圖像數(shù)據(jù),該圖像數(shù)據(jù)與表示運送機(jī)的位置或位移的信息相關(guān)聯(lián),該位置或位移的信息表示根據(jù)該讀取指令所執(zhí)行的圖像測量處理的基準(zhǔn);再現(xiàn)機(jī)構(gòu),其基于由執(zhí)行機(jī)構(gòu)輸出的控制運算的時間序列數(shù)據(jù)和與由存儲機(jī)構(gòu)存儲的圖像數(shù)據(jù)相關(guān)聯(lián)的信息,再現(xiàn)構(gòu)筑的系統(tǒng)的動作。
在本說明書中“再現(xiàn)”是指,模擬裝置進(jìn)行在假想空間所構(gòu)筑的系統(tǒng)的運算而使系統(tǒng)假想地動作?!霸佻F(xiàn)”包括模擬。
優(yōu)選地,測量機(jī)構(gòu)向執(zhí)行機(jī)構(gòu)除了輸出測量結(jié)果外,還輸出表示運送機(jī)的位置或位移的信息,所述運送機(jī)的位置或位移的信息與用于該測量結(jié)果的生成的圖像數(shù)據(jù)相關(guān)聯(lián)。
優(yōu)選地,執(zhí)行機(jī)構(gòu)基于測量結(jié)果附帶的表示運送機(jī)的位置或位移的信息,在修正三維假想空間內(nèi)的對象物的位置的基礎(chǔ)上執(zhí)行控制運算。
優(yōu)選地,執(zhí)行機(jī)構(gòu)利用測量結(jié)果附帶的表示運送機(jī)的位置或位移的信息與執(zhí)行控制運算時的表示運送機(jī)的位置或位移的信息的差分,計算出對象物的位置的修正量。
優(yōu)選地,再現(xiàn)機(jī)構(gòu)顯示構(gòu)筑的系統(tǒng)的動作,并且顯示圖像測量處理的對象的圖像數(shù)據(jù)。
優(yōu)選地,再現(xiàn)機(jī)構(gòu)基于測量結(jié)果附帶的表示運送機(jī)的位置或位移的信息,修正對象物的顯示位置。
優(yōu)選地,還具有生成機(jī)構(gòu),該生成機(jī)構(gòu)用于生成表示運送機(jī)的位置或位移的信息,所述運送機(jī)的位置或位移的信息與運送機(jī)的移動相關(guān)聯(lián)。
優(yōu)選地,存儲機(jī)構(gòu)將信息與圖像數(shù)據(jù)的文件名或圖像數(shù)據(jù)內(nèi)的區(qū)域相關(guān)聯(lián)。
本發(fā)明的其他技術(shù)方案提供一種模擬方法,由計算機(jī)執(zhí)行,該模擬方法用于推定系統(tǒng)的動作。模擬方法包括在三維假想空間內(nèi)假想地構(gòu)筑包括運送機(jī)的系統(tǒng)的步驟。在與運送機(jī)相關(guān)聯(lián)的運送路徑上的第一部位假想地配置有視覺傳感器,并且在運送路徑上的第二部位假想地配置有處理裝置。模擬方法包括:對預(yù)先獲取的圖像數(shù)據(jù)進(jìn)行與視覺傳感器相對應(yīng)的圖像測量處理的步驟;基于測量機(jī)構(gòu)的測量結(jié)果生成針對處理裝置的控制指令,并且執(zhí)行用于生成圖像數(shù)據(jù)的讀取指令的控制運算的步驟,該讀取指令用于開始圖像測量處理;存儲根據(jù)讀取指令所讀取的圖像數(shù)據(jù)的步驟,該圖像數(shù)據(jù)與表示運送機(jī)的位置或位移的信息相關(guān)聯(lián),所述位置或位移的信息表示根據(jù)讀取指令所執(zhí)行的圖像測量處理的基準(zhǔn);基于由執(zhí)行的步驟輸出的控制運算的時間序列數(shù)據(jù)和與存儲的圖像數(shù)據(jù)相關(guān)聯(lián)的信息,再現(xiàn)構(gòu)筑的系統(tǒng)的動作的步驟。
根據(jù)本發(fā)明,能夠使用預(yù)先獲取的工件等的圖像數(shù)據(jù)更加嚴(yán)密地模擬系統(tǒng)的動作。
附圖說明
圖1是表示本實施方式的模擬裝置中的模擬的前提的系統(tǒng)結(jié)構(gòu)例的示意圖。
圖2是表示對圖1所示的傳送帶跟蹤系統(tǒng)添加新的機(jī)械手的傳送帶跟蹤系統(tǒng)的結(jié)構(gòu)例的示意圖。
圖3是用于說明使用了本實施方式的模擬裝置的模擬方法的示意圖。
圖4是表示包括視覺傳感器以及控制裝置的系統(tǒng)中的處理順序的示意圖。
圖5是表示本實施方式的模擬裝置的硬件結(jié)構(gòu)的示意圖。
圖6是表示本實施方式的模擬裝置的功能結(jié)構(gòu)的示意圖。
圖7是表示使用了本實施方式的模擬裝置的模擬的處理順序的流程圖。
圖8是用于說明表示本實施方式的模擬裝置中的圖像測量處理的基準(zhǔn)的信息的示意圖。
圖9是用于說明本實施方式的模擬裝置中的圖像數(shù)據(jù)的存儲方法的圖。
圖10是表示本實施方式的模擬裝置提供的系統(tǒng)模型的構(gòu)筑的用戶界面畫面的一個例子的圖。
圖11是用于說明由本實施方式的模擬裝置提供的三維假想空間內(nèi)定義的坐標(biāo)系的示意圖。
圖12是用于說明本實施方式的模擬裝置中的每個脈沖的移動量的計算順序的示意圖。
圖13是表示本實施方式的模擬裝置的視覺傳感器模擬器的測量結(jié)果的一個例子的圖。
圖14是用于說明圖1~圖3所示的傳送帶跟蹤系統(tǒng)中的對象物的位置偏移的示意圖。
圖15是表示再現(xiàn)本實施方式的模擬裝置提供的系統(tǒng)的動作的用戶界面畫面的一個例子的圖。
其中,附圖標(biāo)記說明如下:
1、2傳送帶跟蹤系統(tǒng)
100模擬裝置
102處理器
104主存儲器
106輸入部
108顯示部
110網(wǎng)絡(luò)接口
112光驅(qū)
114光盤
116通信接口
118內(nèi)部總線
120硬盤
124模擬程序
140圖像數(shù)據(jù)群
150視覺傳感器模擬器
152設(shè)定參數(shù)
154存儲部
156圖像數(shù)據(jù)
157文件名
158exif區(qū)域
159對應(yīng)表
160控制模擬器
162控制程序
170再現(xiàn)模塊
172三維設(shè)計數(shù)據(jù)
180用戶界面模塊
182模型構(gòu)筑模塊
190編碼器模擬器
200控制裝置
202網(wǎng)絡(luò)
210、311機(jī)械手
220視覺傳感器
222拍攝部
230、301、302傳送帶
232、350工件
234驅(qū)動輥
236編碼器
具體實施方式
一邊參照附圖,一邊詳細(xì)地說明本發(fā)明的實施方式。此外,對圖中的同一或相當(dāng)部分標(biāo)注同一附圖標(biāo)記,并省略其說明。
<a.概要>
本實施方式的模擬裝置用于推定系統(tǒng)的動作。更具體地說,本實施方式的模擬裝置使用由拍攝部實際拍攝的圖像數(shù)據(jù)能夠推定假想地構(gòu)筑的系統(tǒng)的動作等。在下面的說明中,將包括一個或多個裝置的傳送帶跟蹤系統(tǒng)等作為模擬對象,但并不限定于此,也能夠應(yīng)用于任意的系統(tǒng)。
首先,對本實施方式的模擬裝置中的模擬的概要進(jìn)行說明。
圖1是表示本實施方式的模擬裝置中的模擬的前提的系統(tǒng)結(jié)構(gòu)例的示意圖。參照圖1,作為一個例子,在傳送帶跟蹤系統(tǒng)1中,利用處理裝置的一個例子即機(jī)械手210把持在運送機(jī)的一個例子即傳送帶230上連續(xù)地被運送的對象物的一個例子即工件232,并運送至規(guī)定位置進(jìn)行配置。利用這樣的機(jī)械手210的把持、運送、配置的一系列動作也稱為“拾取和放置動作”。
在下面的說明中,作為運送機(jī)的一個例子假定為傳送帶,作為對象物的一個例子假定為工件,作為針對對象物進(jìn)行某種處理的處理裝置的一個例子假定為機(jī)械手。但是,對象物以及處理裝置并不限定于此,根據(jù)對象的系統(tǒng)能夠合適地選擇。
在利用機(jī)械手210的拾取和放置動作中,通過利用拍攝部222對設(shè)置于傳送帶230的一部分的拍攝區(qū)域進(jìn)行拍攝,并且視覺傳感器220對由拍攝部222的拍攝所獲得的圖像數(shù)據(jù)進(jìn)行圖形匹配等的圖像測量處理,來獲取包括工件232的位置以及朝向等信息的測量結(jié)果。并且,控制裝置200基于來自視覺傳感器220的測量結(jié)果執(zhí)行預(yù)定的控制邏輯,從而生成針對機(jī)械手210的控制指令。在生成針對機(jī)械手210的控制指令時,控制裝置200參照機(jī)械手210的狀態(tài)值和來自與用于驅(qū)動傳送帶230的驅(qū)動輥234結(jié)合的編碼器236的編碼值。控制裝置200以及視覺傳感器220經(jīng)由網(wǎng)絡(luò)202可數(shù)據(jù)通信地連接,來自視覺傳感器220的測量結(jié)果經(jīng)由網(wǎng)絡(luò)202向控制裝置200傳送。典型地,作為控制裝置200使用了可編程控制器(下面,稱為“plc”)。
在圖1所示的傳送帶跟蹤系統(tǒng)1中,存在如下情況,即,例如,提高傳送帶230的移動速度并且添加機(jī)械手210來想要檢討處理能力是否充分。
圖2是表示對圖1所示的傳送帶跟蹤系統(tǒng)1添加新的機(jī)械手210的傳送帶跟蹤系統(tǒng)2的結(jié)構(gòu)例的示意圖。如圖2所示,能夠?qū)嶋H添加機(jī)械手210來驗證傳送帶跟蹤系統(tǒng)1的處理能力最好,但因成本或時間的制約,不能進(jìn)行這樣的驗證的情況較多。即,存在更簡單地推定伴隨著圖2所示的設(shè)備添加的系統(tǒng)的變化的需求。
針對這樣的需求,本實施方式的模擬裝置在三維假想空間內(nèi)假想地構(gòu)筑模擬對象的系統(tǒng),并且,通過使實際拍攝的圖像數(shù)據(jù)與該假想地構(gòu)筑的系統(tǒng)相融合,實現(xiàn)更加高效的模擬。
圖3是用于說明使用了本實施方式的模擬裝置的模擬方法的示意圖。參照圖3,模擬裝置使模擬對象的傳送帶跟蹤系統(tǒng)2整體模型化,并且將由拍攝部222的拍攝所獲取的圖像數(shù)據(jù)賦予該模型。即,在傳送帶跟蹤系統(tǒng)1的模型中利用實際拍攝的圖像數(shù)據(jù)。
通過采用這樣的結(jié)構(gòu),既能夠反映實際的傳送帶跟蹤系統(tǒng)的狀態(tài),又能夠模擬任意的傳送帶跟蹤系統(tǒng)的性能。
此外,作為“實際拍攝的圖像數(shù)據(jù)”,并不限定于圖1以及圖2所示那樣的在改良前的傳送帶跟蹤系統(tǒng)1中所拍攝的圖像,也能夠使用在任意的系統(tǒng)以及狀況中所拍攝的圖像。即,若是包括模擬的對象物(典型地為工件232)的時間變化的信息的數(shù)據(jù),則可以使用任何數(shù)據(jù)。
作為“圖像數(shù)據(jù)”,可以是動態(tài)圖像數(shù)據(jù),也可以是按時間序列排列的多個靜態(tài)圖像數(shù)據(jù)。此外,通過合適地調(diào)整動態(tài)圖像數(shù)據(jù)的播放速度或多個靜態(tài)圖像數(shù)據(jù)的更新速度,也能夠調(diào)整成為控制對象的工件的時間變化(即,移動速度)。這樣,通過調(diào)整賦予系統(tǒng)的模型的圖像數(shù)據(jù),也能夠利用模擬求得控制對象的時間變化的最佳值等。
而且,作為多個靜態(tài)圖像,不僅是實際連續(xù)地拍攝的圖像,也可以通過將在不同場景所拍攝的多個圖像合適地排列而變?yōu)殡S時間變化的數(shù)據(jù)來當(dāng)作動態(tài)圖像數(shù)據(jù)。在該情況下,生成的多個圖像之間沒有重疊,而且事實上也不存在這種問題。
但是,若采用圖1~圖3所示那樣的視覺傳感器220以及控制裝置200經(jīng)由網(wǎng)絡(luò)連接的結(jié)構(gòu),則視覺傳感器220中的圖像測量處理的執(zhí)行時刻和由該圖像測量處理的執(zhí)行所生成的測量結(jié)果在向控制裝置200傳送期間產(chǎn)生延遲時間(延時)。
圖4是表示包括視覺傳感器以及控制裝置的系統(tǒng)中的處理順序的示意圖。參照圖4,例如,視覺傳感器220響應(yīng)來自外部的觸發(fā)信號而讀取圖像數(shù)據(jù),并且針對該讀取的圖像數(shù)據(jù)執(zhí)行圖像測量處理。由該圖像測量處理的執(zhí)行所生成的測量結(jié)果向控制裝置200傳送。若圖像測量處理的執(zhí)行所要的時間以及圖4所示的傳送所要的延遲時間的大小的總和為可忽略不計的程度,則沒有問題,但是,隨著視覺傳感器220的控制周期變長,該延遲時間不能被忽視。
在圖1~圖3所示的傳送帶跟蹤系統(tǒng)中,由于對象物(典型地為工件232)移動,因此,產(chǎn)生無法忽視的延遲時間,從而機(jī)械手的拾取和放置動作也不能很好地發(fā)揮作用。
因此,本實施方式的模擬裝置100能夠在修正因上述那樣的延遲時間所帶來的誤差的基礎(chǔ)上,執(zhí)行用于控制機(jī)械手的控制邏輯。
<b.模擬裝置的硬件結(jié)構(gòu)>
接著,對本實施方式的模擬裝置100的硬件結(jié)構(gòu)進(jìn)行說明。典型地,本實施方式的模擬裝置100通過一個或多個計算機(jī)執(zhí)行程序來實現(xiàn)。
圖5是表示本實施方式的模擬裝置100的硬件結(jié)構(gòu)的示意圖。參照圖5,作為一個例子,模擬裝置100包括以通用的計算機(jī)體系結(jié)構(gòu)為標(biāo)準(zhǔn)構(gòu)成的計算機(jī)。模擬裝置100包括處理器102、主存儲器104、輸入部106、顯示部108、網(wǎng)絡(luò)接口110、硬盤(hdd:harddiskdrive)120、光驅(qū)112、通信接口116。上述部件經(jīng)由內(nèi)部總線118相互可通信地連接。
處理器102通過將存儲于硬盤120的程序在主存儲器104中展開執(zhí)行,實現(xiàn)后述那樣的功能以及處理。主存儲器104由揮發(fā)性存儲器構(gòu)成,作為利用處理器102執(zhí)行程序所必需的工件存儲器發(fā)揮作用。
典型地,輸入部106包括鍵盤、鼠標(biāo)、觸摸面板、觸摸板等,接受來自用戶的操作。顯示部108包括顯示器、指示器等,對用戶提示各種信息。
網(wǎng)絡(luò)接口110在伺服裝置等外部設(shè)備之間經(jīng)由網(wǎng)絡(luò)交換數(shù)據(jù)。光驅(qū)112從光盤114等讀取存儲于其中的各種程序,并安裝于硬盤120。通信接口116包括例如usb(universalserialbus)等通信接口,在與輔助存儲裝置等外部設(shè)備之間經(jīng)由本地通信交換數(shù)據(jù)。
硬盤120為了作為操作系統(tǒng)(os:operatingsystem)122以及模擬程序124等的模擬裝置發(fā)揮作用,存儲必要的程序,并且也存儲用于模擬的預(yù)先獲取的圖像數(shù)據(jù)群140。
圖5示出了經(jīng)由光驅(qū)112將必要的程序安裝于模擬裝置100的結(jié)構(gòu)例,但并不限定于此,也可以從網(wǎng)絡(luò)上的伺服裝置等下載。
這樣,在使用通用計算機(jī)實現(xiàn)的情況下,除了用于提供本實施方式的功能的程序以外,還可以安裝有用于提供計算機(jī)的基本功能的操作系統(tǒng)(os:operatingsystem)。在該情況下,本實施方式的模擬程序也可以是如下程序,即,將作為os的一部分所提供的程序模塊中的必要的模塊按照規(guī)定的順序和/或時刻調(diào)出來執(zhí)行處理。即,就本實施方式的程序而言,也存在不包括上述那樣的模塊而與os協(xié)作來執(zhí)行處理的情況。因此,作為本實施方式的程序也可以是不包括這樣的一部分的模塊的方式。
另外,本實施方式的程序也可以是編入為其他程序的一部分的程序。在該情況下,程序自身不具有包含于上述那樣組合的其他程序的模塊,而是與該其他程序協(xié)作來執(zhí)行處理。即,作為本實施方式的模擬程序,也可以是編入這樣的其他程序的方式。
另外,圖5示出了由通用計算機(jī)實現(xiàn)模擬裝置100的例子,但并不限定于此,也可以使用專用電路(例如,asic(applicationspecificintegratedcircuit)等)來實現(xiàn)其全部或一部分。而且,也可以由外部裝置來承擔(dān)一部分的處理。
<c.模擬裝置的功能結(jié)構(gòu)>
接著,對本實施方式的模擬裝置100的功能結(jié)構(gòu)進(jìn)行說明。圖6是表示本實施方式的模擬裝置100的功能結(jié)構(gòu)的示意圖。
參照圖6,模擬裝置100作為軟件功能包括視覺傳感器模擬器150、控制模擬器160、再現(xiàn)模塊170、用戶界面模塊180、編碼器模擬器190。典型地,上述功能模塊群通過處理器102執(zhí)行模擬程序124(均參照圖5)來實現(xiàn)。模擬裝置100還包括存儲部154。存儲部154使用模擬裝置100的硬盤120內(nèi)的存儲區(qū)域。
用戶界面模塊180提供關(guān)于設(shè)定參數(shù)152、控制程序162以及三維設(shè)計數(shù)據(jù)172的用于支援用戶的設(shè)定、制作的操作畫面等。另外,在利用再現(xiàn)模塊170顯示模擬結(jié)果時,用戶界面模塊180也提供必要的用戶界面。
用戶界面模塊180作為處理三維設(shè)計數(shù)據(jù)172的功能,包括模型構(gòu)筑模塊182。模型構(gòu)筑模塊182在三維假想空間內(nèi)假想地構(gòu)筑模擬對象的系統(tǒng)。更具體地說,模型構(gòu)筑模塊182提供用于顯示三維假想空間,并且在該三維假想空間內(nèi)構(gòu)筑模擬對象的系統(tǒng)的設(shè)定及操作畫面。
在本實施方式的模擬裝置100中,典型地,在三維假想空間內(nèi)假想地構(gòu)筑包括運送機(jī)(作為典型例為傳送帶)的系統(tǒng)。并且,如圖3所示,在與運送機(jī)(傳送帶)相關(guān)聯(lián)的運送路徑上的第一部位假想地配置視覺傳感器220,在運送路徑上的第二部位假想地配置控制裝置200。
視覺傳感器模擬器150是模擬視覺傳感器220中的處理的模塊,針對預(yù)先獲取的圖像數(shù)據(jù)執(zhí)行各種圖像測量處理。更具體地說,視覺傳感器模擬器150響應(yīng)來自控制模擬器160的讀取指令(作為典型例為觸發(fā)信號),讀取預(yù)先獲取的圖像數(shù)據(jù)群140中的對象的圖像數(shù)據(jù),并進(jìn)行與視覺傳感器220(參照圖1~圖3)相對應(yīng)的圖像測量處理。由視覺傳感器模擬器150中的圖像測量處理所得的測量結(jié)果向控制模擬器160輸出。即,執(zhí)行相當(dāng)于圖1~圖3所示的傳送帶跟蹤系統(tǒng)中的經(jīng)由網(wǎng)絡(luò)202從視覺傳感器220向控制裝置200傳送測量結(jié)果的處理。在此,視覺傳感器模擬器150中的圖像測量處理按照預(yù)先設(shè)定的設(shè)定參數(shù)152被執(zhí)行。
控制模擬器160基于視覺傳感器模擬器150的測量結(jié)果執(zhí)行用于生成針對處理裝置的一個例子即機(jī)械手的控制指令的控制運算??刂颇M器160是模擬控制裝置200(參照圖1~圖3)中的處理的模塊,按照預(yù)先制作的控制程序162來執(zhí)行控制運算(順序指令、動作指令、各種功能指令等)。包括控制模擬器160中的控制運算的輸入以及輸出的跟蹤數(shù)據(jù)作為時間序列數(shù)據(jù)向再現(xiàn)模塊170輸出。
另外,由控制模擬器160執(zhí)行的控制運算包括用于對視覺傳感器模擬器150生成圖像數(shù)據(jù)的讀取指令(觸發(fā)信號)的處理。即,在滿足預(yù)定的條件時,控制模擬器160產(chǎn)生觸發(fā)信號。預(yù)定的條件能夠使用例如傳送帶只移動規(guī)定距離或者預(yù)定的周期到來等。如后面所述,傳送帶的移動距離等基于編碼器模擬器190產(chǎn)生的信息等被檢測。編碼器模擬器190產(chǎn)生的信息從控制模擬器160也向視覺傳感器模擬器150供給。
再現(xiàn)模塊170使用由控制模擬器160輸出的控制運算的時間序列數(shù)據(jù)(跟蹤數(shù)據(jù)),再現(xiàn)構(gòu)筑的系統(tǒng)的動作。更具體地說,再現(xiàn)模塊170基于定義文件即三維設(shè)計數(shù)據(jù)172使在三維假想空間內(nèi)假想地構(gòu)筑的系統(tǒng)視覺化,并且,基于來自控制模擬器160的跟蹤數(shù)據(jù),再現(xiàn)系統(tǒng)中的工件或機(jī)械手的時間變化等。這樣,再現(xiàn)模塊170將模擬結(jié)果的時間變化以動畫的狀態(tài)顯示在模擬裝置100的顯示部108(圖5)上。
此時,也存在再現(xiàn)模塊170將存儲于存儲部154的圖像數(shù)據(jù)以及與該圖像數(shù)據(jù)相關(guān)聯(lián)的信息反映于模擬結(jié)果的再現(xiàn)的情況。例如,再現(xiàn)模塊170基于測量結(jié)果附帶的表示運送機(jī)(傳送帶)的位置或位移的信息,修正對象物(工件)的顯示位置。
此外,在圖6中示出使用由控制模擬器160輸出的跟蹤數(shù)據(jù)再現(xiàn)由再現(xiàn)模塊170所構(gòu)筑的系統(tǒng)的動作的結(jié)構(gòu)例,但是,作為模擬裝置100,再現(xiàn)模塊170不是必需的。例如,也可以將由控制模擬器160輸出的跟蹤數(shù)據(jù)向外部裝置或外部應(yīng)用輸出,由該外部裝置或外部應(yīng)用再現(xiàn)系統(tǒng)的動作?;蛘?,再現(xiàn)模塊170也可以只生成用于再現(xiàn)系統(tǒng)的動作的動態(tài)圖象數(shù)據(jù)并將其存儲于任意的存儲介質(zhì),由其他應(yīng)用播放該動態(tài)圖象數(shù)據(jù)。
編碼器模擬器190生成與運送機(jī)的移動相關(guān)聯(lián)的用于表示該運送機(jī)的位置或位移的信息。作為一個例子,編碼器模擬器190也可以輸出表示從基準(zhǔn)位置的位移量的編碼值,也可以產(chǎn)生與運送機(jī)(傳送帶)的每單位時間的移動量成比例的脈沖。即,編碼值表示傳送帶的位置,每單位時間的脈沖數(shù)表示傳送帶的速度。
存儲部154存儲根據(jù)讀取指令所讀取的圖像數(shù)據(jù),該圖像數(shù)據(jù)與表示運送機(jī)(傳送帶)的位置或位移的信息相關(guān)聯(lián),該信息表示根據(jù)該讀取指令(觸發(fā)信號)所執(zhí)行的圖像測量處理的基準(zhǔn)。作為圖像測量處理的基準(zhǔn),例如,在編碼器模擬器190輸出編碼值的情況下,使用觸發(fā)信號賦予視覺傳感器模擬器150時的編碼值或視覺傳感器模擬器150讀取圖像數(shù)據(jù)時的編碼值。在上述的表示圖像測量處理的基準(zhǔn)的信息相關(guān)聯(lián)的基礎(chǔ)上,該被讀取的圖像數(shù)據(jù)存儲于存儲部154。
通過將圖像測量處理的對象的圖像數(shù)據(jù)和上述那樣的附加信息相關(guān)聯(lián),然后,到利用控制模擬器160開始基于由針對該圖像數(shù)據(jù)的圖像測量處理所得的測量結(jié)果的處理為止,即使產(chǎn)生無法忽視的延遲時間,也能夠修正該延遲時間。
<d.處理順序>
接著,對使用本實施方式的模擬裝置100的模擬的處理順序進(jìn)行說明。
圖7是表示使用本實施方式的模擬裝置100的模擬的處理順序的流程圖。參照圖7,首先,模擬裝置100接受系統(tǒng)模型的設(shè)定(步驟s2)。系統(tǒng)模型的設(shè)定包括構(gòu)成系統(tǒng)的各個裝置的配置位置、運送機(jī)即傳送帶的移動速度等的設(shè)定?;谙到y(tǒng)模型的設(shè)定,模擬裝置100(模型構(gòu)筑模塊182)在三維假想空間內(nèi)假想地構(gòu)筑模擬對象的系統(tǒng)。
模擬裝置100(用戶界面模塊180)接受在系統(tǒng)模型內(nèi)設(shè)定的視覺傳感器的拍攝區(qū)域(步驟s4)。于是,基于構(gòu)筑的系統(tǒng)和設(shè)定的拍攝區(qū)域之間的相對位置關(guān)系,能夠計算出用于將測量結(jié)果變換為控制運算的輸入值的變換參數(shù)即校準(zhǔn)參數(shù)。
此外,如圖6所示,對用戶界面模塊180計算出校準(zhǔn)參數(shù)的例子進(jìn)行說明,但是,也可以在視覺傳感器模擬器150中執(zhí)行該校準(zhǔn)參數(shù)的計算。
接著,模擬裝置100(用戶界面模塊180)接受用于控制系統(tǒng)模型的控制程序(步驟s6)。該控制程序是與系統(tǒng)相關(guān)聯(lián)的程序,由控制模擬器160執(zhí)行。
模擬裝置100(用戶界面模塊180)接受應(yīng)由視覺傳感器模擬器150執(zhí)行的圖像測量處理的內(nèi)容設(shè)定(步驟s8)。
通過上面的處理,完成用于進(jìn)行模擬的設(shè)定。
在指示開始模擬時,模擬裝置100(編碼器模擬器190)按照所指定的時間間隔,更新表示假想地配置的傳送帶的位置或移動量的編碼值(步驟s10)。模擬裝置100(控制模擬器160)判斷是否滿足產(chǎn)生觸發(fā)信號的條件(步驟s12)。若滿足產(chǎn)生觸發(fā)信號的條件(在步驟s12中為yes的情況下),則假想地產(chǎn)生觸發(fā)信號(步驟s14)。若不滿足產(chǎn)生觸發(fā)信號的條件(在步驟s12中為no的情況下),則跳過步驟s14的處理。
響應(yīng)觸發(fā)信號的產(chǎn)生,模擬裝置100(視覺傳感器模擬器150)讀取預(yù)先獲取的圖像數(shù)據(jù)群中的對象的圖像數(shù)據(jù)(步驟s100),執(zhí)行圖像測量處理(步驟s102)。模擬裝置100(視覺傳感器模擬器150)在執(zhí)行圖像測量處理后,輸出測量結(jié)果(步驟s104),并且,將讀取來自編碼器模擬器190的圖像數(shù)據(jù)時的編碼值和讀取的圖像數(shù)據(jù)相關(guān)聯(lián)地存儲(步驟s106)。所述步驟s100~s106的處理和控制模擬器160中的處理獨立地執(zhí)行。
接著,模擬裝置100(控制模擬器160)判斷圖像測量處理的測量結(jié)果是否被更新(步驟s16)。即,判斷是否從視覺傳感器模擬器150接收了新的測量結(jié)果。若圖像測量處理的測量結(jié)果被更新(在步驟s16中為yes的情況下),則模擬裝置100(控制模擬器160)基于該更新的圖像測量處理的測量結(jié)果執(zhí)行控制運算(步驟s18)。若圖像測量處理的測量結(jié)果未被更新(在步驟s16中為no的情況下),則跳過步驟s18的處理。
模擬裝置100(控制模擬器160)將由該控制運算的執(zhí)行所計算出的各個值與時間信息相關(guān)聯(lián)地存儲(步驟s20)。即,存儲作為時間序列數(shù)據(jù)的一個例子的跟蹤數(shù)據(jù)。
模擬裝置100判斷預(yù)先設(shè)定的模擬期間是否已滿(步驟s22)。若預(yù)先設(shè)定的模擬期間未滿(在步驟s22中為no的情況下),則反復(fù)進(jìn)行步驟s10以下的處理。
相對于此,若預(yù)先設(shè)定的模擬期間已滿(在步驟s22中為yes的情況下),則模擬裝置100使用在步驟s20中依次存儲的跟蹤數(shù)據(jù)再現(xiàn)系統(tǒng)模型的動作(步驟s24)。模擬裝置100能夠根據(jù)用戶操作,合適地變更再現(xiàn)的系統(tǒng)模型的動作的時間間隔以及更新間隔等。
通過上面那樣的處理順序,能夠評價系統(tǒng)模型中的生產(chǎn)節(jié)拍、性能等。
<e.表示圖像測量處理的基準(zhǔn)的表示運送機(jī)的位置或位移的信息>
接著,對表示根據(jù)讀取指令(觸發(fā)信號)所執(zhí)行的圖像測量處理的基準(zhǔn)的表示運送機(jī)(傳送帶)的位置或位移的信息進(jìn)行說明。
圖8是用于說明表示本實施方式的模擬裝置100中的圖像測量處理的基準(zhǔn)的信息的示意圖。參照圖8,視覺傳感器模擬器150響應(yīng)控制模擬器160在內(nèi)部產(chǎn)生的觸發(fā)信號,讀取圖像數(shù)據(jù)并對讀取的圖像數(shù)據(jù)執(zhí)行圖像測量處理。如圖8所示,在時刻t1,產(chǎn)生觸發(fā)信號,視覺傳感器模擬器150開始圖像數(shù)據(jù)的讀取。并且,在圖像數(shù)據(jù)的讀取結(jié)束后,從時刻t2開始圖像測量處理。
作為表示圖像測量處理的基準(zhǔn)的表示運送機(jī)(傳送帶)的位置或位移的信息,也可以使用觸發(fā)信號賦予視覺傳感器模擬器150時(時刻t1)的編碼值(在圖8所示的例子中為編碼值e3)?;蛘?,也可以使用圖像數(shù)據(jù)的讀取完成后開始圖像測量處理的時刻(時刻t2)的編碼值(在圖8所示的例子中為編碼值e4)。
而且,或者,也可以使用圖像數(shù)據(jù)的讀取期間的編碼值的平均值。例如,若考慮在時刻t1~t2之間執(zhí)行圖像數(shù)據(jù)的讀取的情況,也可以使用時刻t1的編碼值e3與時刻t2的編碼值e4的平均值((e3+e4)/2)。
參照圖8,說明的作為基準(zhǔn)的信息是一個例子,在針對某些圖像數(shù)據(jù)執(zhí)行圖像測量處理時,若由該圖像測量處理的執(zhí)行所得的測量結(jié)果是能夠事后判斷是在哪個位置或時刻所拍攝的圖像數(shù)據(jù)的信息,則也可以使用任何信息。
<f.與表示運送機(jī)的位置或位移的信息相關(guān)聯(lián)的圖像數(shù)據(jù)的存儲>
接著,對圖像數(shù)據(jù)向模擬裝置100的存儲部154(圖6)的存儲的處理進(jìn)行說明。本實施方式的模擬裝置100存儲根據(jù)讀取指令所讀取的圖像數(shù)據(jù),該圖像數(shù)據(jù)與表示傳送帶(運送機(jī))的位置或位移的信息相關(guān)聯(lián),該信息表示根據(jù)內(nèi)部產(chǎn)生的觸發(fā)信號(讀取指令)所執(zhí)行的圖像測量處理的基準(zhǔn)。
作為將表示圖像測量處理的基準(zhǔn)的表示傳送帶(運送機(jī))的位置或位移的信息和圖像數(shù)據(jù)相關(guān)聯(lián)的方法,若采用事后能夠利用該信息的方法,則可以采用任何方法。作為典型例,說明幾種方法。
圖9是用于說明本實施方式的模擬裝置100中的圖像數(shù)據(jù)的存儲方法的圖。此外,作為表示圖像測量處理的基準(zhǔn)的表示傳送帶(運送機(jī))的位置或位移的信息的典型例,對使用編碼值的例子進(jìn)行說明,但并不限定于該值。
圖9a示出了在存儲的圖像數(shù)據(jù)156的文件名157的一部分或全部使用編碼值的例子。參照圖9a,例如,“0001200.jpg”的文件名的主體部的“0001200”相當(dāng)于編碼值。在處理該圖像數(shù)據(jù)156時,通過提取文件名157的主體部,能夠把握表示對該圖像數(shù)據(jù)156執(zhí)行的圖像測量處理的基準(zhǔn)的編碼值為“0001200”。這樣,編碼值也可以用于圖像數(shù)據(jù)的文件名。
圖9b示出了在存儲的圖像數(shù)據(jù)的文件名的一部分或全部使用編碼值的例子。參照圖9b,例如,在將jpeg形式或tiff形式的圖像數(shù)據(jù)按照exif(exchangeableimagefileformat)標(biāo)準(zhǔn)存儲的情況下,能夠在該exif區(qū)域158附帶各種信息。因此,也可以將表示圖像測量處理的基準(zhǔn)的編碼值編入該exif區(qū)域158。在處理該圖像數(shù)據(jù)156時,通過提取包含于exif區(qū)域158的信息,能夠把握表示對該圖像數(shù)據(jù)156執(zhí)行的圖像測量處理的基準(zhǔn)的編碼值。這樣,編碼值也可以在圖像數(shù)據(jù)內(nèi)的規(guī)定區(qū)域附加編碼值的信息。
圖9c中示出了除了一個或多個圖像數(shù)據(jù)156以外還另外準(zhǔn)備有表示與各個圖像數(shù)據(jù)156相關(guān)聯(lián)的信息的對應(yīng)表159的例子。在對應(yīng)表159中,存儲的圖像數(shù)據(jù)156的各個文件名和對應(yīng)的編碼值相互對應(yīng)。通過使用這樣的對應(yīng)表159,就存儲的圖像數(shù)據(jù)而言,能夠容易地把握表示執(zhí)行的圖像測量處理的基準(zhǔn)的編碼值。
<g.系統(tǒng)模型的構(gòu)筑以及坐標(biāo)系>
接著,對模擬對象的系統(tǒng)模型的構(gòu)筑處理進(jìn)行說明。系統(tǒng)模型的構(gòu)筑處理主要是由模型構(gòu)筑模塊182(圖6)提供的功能,與上述的圖7所示的系統(tǒng)模型的設(shè)定的接受(步驟s2)相對應(yīng)。
在模擬裝置100提供的編輯畫面中,用戶也以直接構(gòu)筑模擬對象的系統(tǒng)模型,也可以通過讀取預(yù)先制作的設(shè)計數(shù)據(jù)(cad(computeraideddesign)數(shù)據(jù)等)構(gòu)筑系統(tǒng)模型。而且,也能夠在讀取過去制作的系統(tǒng)模型的數(shù)據(jù)并進(jìn)行編輯的基礎(chǔ)上來使用。
即,在本實施方式的模擬裝置100中,模型系統(tǒng)的構(gòu)筑能夠采用任意的方法。
圖10是表示本實施方式的模擬裝置100提供的系統(tǒng)模型的構(gòu)筑的用戶界面畫面的一個例子的圖。為了便于說明,在圖10中示出了進(jìn)行簡單的拾取和放置動作的系統(tǒng)模型。
更具體地說,在圖10所示的用戶界面畫面中,在三維假想空間300內(nèi),兩條傳送帶301以及302相互平行地配置。兩個機(jī)械手311以及313對應(yīng)于傳送帶302的規(guī)定位置配置。在該系統(tǒng)模型中假想成如下的應(yīng)用系統(tǒng),即,利用傳送帶301從紙面左側(cè)向紙面右側(cè)運送工件,機(jī)械手311以及313拾取成為對象的工件并放置于傳送帶302上。此外,在圖10所示的用戶界面畫面中,能夠從任意方向渲染三維假想空間300內(nèi)的對象。即,用戶界面畫面所描繪的視點可以由用戶任意地變更。
在此,對圖10所示的系統(tǒng)模型中的坐標(biāo)系進(jìn)行說明。圖11是用于說明由本實施方式的模擬裝置100提供的三維假想空間內(nèi)定義的坐標(biāo)系的示意圖。
參照圖11,三維假想空間300內(nèi)的x、y、z軸定義為世界坐標(biāo)系320。世界坐標(biāo)系320相當(dāng)于用于定義系統(tǒng)模型的各個部分的位置的基準(zhǔn)的坐標(biāo)系。
另一方面,為了進(jìn)行在傳送帶301以及302上被運送的工件的跟蹤等,在控制裝置(圖6所示的控制模擬器160)中,定義將傳送帶301以及302的初始位置作為原點的傳送帶坐標(biāo)系303。傳送帶坐標(biāo)系303是關(guān)于系統(tǒng)模型中的傳送帶的坐標(biāo)系,將傳送帶301以及302的運送方向、與運送方向正交的方向、與傳送帶301以及302的運送表面正交的方向這三個方向作為各個軸。
而且,也可以分別獨立地定義用于分別控制機(jī)械手311以及313的機(jī)械手坐標(biāo)系312以及314。機(jī)械手坐標(biāo)系312以及314是關(guān)于系統(tǒng)模型中的機(jī)械手311以及313的坐標(biāo)系,將機(jī)械手311以及313的設(shè)置位置作為原點。機(jī)械手坐標(biāo)系312以及314從機(jī)械手控制器來看,用于控制機(jī)械手311以及313的動作。而且,在機(jī)械手311以及313的頂端安裝有把持用的夾具等的情況下,還可以定義將機(jī)械手311以及313的頂端作為原點的工具坐標(biāo)系。
在圖11所示的多個坐標(biāo)系之間,預(yù)先計算出用于將某個坐標(biāo)系的坐標(biāo)值變換為其他坐標(biāo)系的坐標(biāo)值的校準(zhǔn)參數(shù)。作為這樣的校準(zhǔn)參數(shù)的一個例子,例如,計算出用于將攝像頭坐標(biāo)系的坐標(biāo)(x,y)變換為機(jī)械手坐標(biāo)系的坐標(biāo)(x,y)的系數(shù)a~f。
x=a·x+b·y+c
y=d·x+e·y+f
在其他坐標(biāo)系之間也計算出同樣的系數(shù)。
而且,在三維假想空間內(nèi),需要再現(xiàn)運送機(jī)(作為典型例為傳送帶)的運送動作,也計算出該運送動作的參數(shù)。即,計算出在構(gòu)筑的系統(tǒng)中使工件移動的運送機(jī)(傳送帶)的單位移動量與構(gòu)筑的系統(tǒng)中的對象物(工件)的移動速度的換算系數(shù)。該換算系數(shù)包括關(guān)于傳送帶的單位移動量(典型地為來自編碼器的每個脈沖)的工件的x軸方向的移動量以及y軸方向的移動量。例如,在采用每一個旋轉(zhuǎn)產(chǎn)生一個脈沖那樣的編碼器的情況下,將來自該編碼器的脈沖數(shù)的乘積作為編碼值進(jìn)行計算。即,產(chǎn)生一個脈沖相當(dāng)于某個編碼值只增加1。在再現(xiàn)構(gòu)筑的系統(tǒng)的動作的情況下,上述的移動量用于計算工件的時間變化。
這樣的換算系數(shù)考慮相對于機(jī)械手坐標(biāo)系的傳送帶的傾斜等進(jìn)行計算。
圖12是用于說明本實施方式的模擬裝置100中的每個脈沖的移動量的計算順序的示意圖。圖12是表示將世界坐標(biāo)系的z軸作為中心使傳送帶以及機(jī)械手旋轉(zhuǎn)時的例子的圖。若傳送帶以z軸為中心只旋轉(zhuǎn)旋轉(zhuǎn)角θ且機(jī)械手以z軸為中心只旋轉(zhuǎn)旋轉(zhuǎn)角α?xí)r,每個脈沖的移動量的計算如下。在此,1是傳送帶行進(jìn)方向的每個脈沖的移動量。
每個脈沖的x軸方向的移動量(x)=1×cos(θ-α)
每個脈沖的y軸方向的移動量(y)=1×sin(θ-α)
這樣,針對傳送帶行進(jìn)方向的每個脈沖的移動量而言,通過應(yīng)用(θ-α)能夠計算出每個脈沖的移動量。
在圖12中,為了便于說明,示出了只以世界坐標(biāo)系的z軸為中心使傳送帶以及機(jī)械手旋轉(zhuǎn)的例子,但在實際的系統(tǒng)模型中,不僅以z軸為中心,還存在以x軸以及y軸為中心旋轉(zhuǎn)的情況。因此,考慮各個軸的旋轉(zhuǎn)角,以下面的方式進(jìn)行計算。
在實際的系統(tǒng)模型中,一般為,例如,傳送帶設(shè)定為,以世界坐標(biāo)系的x軸為中心傾斜旋轉(zhuǎn)角θx、以y軸為中心傾斜旋轉(zhuǎn)角θy、以z軸為中心傾斜旋轉(zhuǎn)角θz。另外,機(jī)械手設(shè)定為,以世界坐標(biāo)系的x軸為中心傾斜旋轉(zhuǎn)角αx、以y軸為中心傾斜旋轉(zhuǎn)角αy、以z軸為中心傾斜旋轉(zhuǎn)角αz。
首先,針對3×3的單位矩陣,通過以x軸為中心旋轉(zhuǎn)(θx-αx)、以y軸為中心旋轉(zhuǎn)(θy-αy)、以z軸為中心旋轉(zhuǎn)(θz-αz),來制作旋轉(zhuǎn)矩陣。
相對于傳送帶的行進(jìn)方向的每個脈沖的移動量1能夠由初始設(shè)定值獲取,因此,如下面所述,通過使旋轉(zhuǎn)矩陣與系統(tǒng)模型的局部坐標(biāo)軸(1,0,0)相乘計算出的坐標(biāo)值x以及y分別相當(dāng)于每個脈沖的x軸方向的移動量(x)以及每個脈沖的y軸方向的移動量(y)。在此,移動量的單位為mm。
移動量(x,y,z)=旋轉(zhuǎn)矩陣×(1,0,0)
每個脈沖的x軸方向的移動量(x)=移動量(x)[mm/脈沖]
每個脈沖的y軸方向的移動量(y)=移動量(y)[mm/脈沖]
由上面的計算處理所確定的每個脈沖的x軸方向的移動量(x)以及每個脈沖的y軸方向的移動量(y)作為換算系數(shù)被計算出。
<h.對象物的位置以及對該位置的修正處理>
接著,說明對象物(工件)的位置計算以及對該位置的修正處理。
(h1:對象物的位置處理)
圖13是表示本實施方式的模擬裝置100的視覺傳感器模擬器150的測量結(jié)果的一個例子的圖。參照圖13,模擬視覺傳感器220的視覺傳感器模擬器150針對像素(像素)的集合體即圖像數(shù)據(jù)進(jìn)行圖像測量處理,因此,該測量結(jié)果由像素值進(jìn)行定義。圖13是表示與預(yù)先登記的圖像圖形的圖形匹配的結(jié)果例的圖。圖像數(shù)據(jù)內(nèi)的兩個對象與登記的圖像圖形一致,(x1,y1,θ1)以及(x2,y2,θ2)作為測量結(jié)果輸出。該測量結(jié)果包括與登記的圖像圖形一致的對象存在的位置(全為像素值)和距登記的圖像圖形的旋轉(zhuǎn)角(姿勢)。
為了使這樣的作為圖像數(shù)據(jù)內(nèi)的坐標(biāo)值輸出的測量結(jié)果適合于在三維假想空間內(nèi)構(gòu)筑的系統(tǒng)模型,使用上述的校準(zhǔn)參數(shù)(系數(shù)a~f)將攝像頭坐標(biāo)系的坐標(biāo)值變換為世界坐標(biāo)系或傳送帶坐標(biāo)系的坐標(biāo)值。
從視覺傳感器模擬器150輸出的測量結(jié)果(包括被識別的工件的位置)變換為機(jī)械手坐標(biāo)系的坐標(biāo)值并向控制模擬器160輸入。另一方面,系統(tǒng)模型按照三維假想空間300內(nèi)的世界坐標(biāo)系設(shè)定,因此,在再現(xiàn)構(gòu)筑的系統(tǒng)的動作的情況下,將機(jī)械手坐標(biāo)系的坐標(biāo)值變換為世界坐標(biāo)系的坐標(biāo)值。用于將機(jī)械手坐標(biāo)系的坐標(biāo)值變換為世界坐標(biāo)系的坐標(biāo)值的參數(shù)能夠利用與上述那樣的用于將攝像頭坐標(biāo)系的坐標(biāo)值變換為機(jī)械手坐標(biāo)系的坐標(biāo)值的參數(shù)的計算相同的順序進(jìn)行計算。使用用于將攝像頭坐標(biāo)系的坐標(biāo)(x,y)變換為世界坐標(biāo)系的坐標(biāo)(x,y)的系數(shù)a1~f1,能夠利用下面的方式通過由視覺傳感器模擬器150檢測出的工件的坐標(biāo)值(x,y)計算出向控制模擬器160輸入時的初始顯示位置。
工件的初始顯示位置(x)=a1×x+b1×y+c1
工件的初始顯示位置(y)=d1×x+e1×y+f1
并且,在初始顯示以后,各個工件的顯示位置根據(jù)編碼值的變化依次被更新。通過這樣的顯示位置的更新處理,能夠再現(xiàn)工件在傳送帶上流動的情況。
(h2:對象物的位置的修正處理)
圖14是用于說明圖1~圖3所示的傳送帶跟蹤系統(tǒng)中的對象物的位置偏移的示意圖。圖14a是表示由拍攝部222拍攝工件232并讀取圖像數(shù)據(jù)的狀態(tài)的圖。圖14a所示的狀態(tài)在模擬裝置100中相當(dāng)于視覺傳感器模擬器150讀取圖像數(shù)據(jù)的處理。另一方面,圖14b是表示視覺傳感器220讀取來自拍攝部222的圖像數(shù)據(jù)執(zhí)行圖像測量處理并將其測量結(jié)果向控制裝置200傳送的狀態(tài)的圖。圖14b所示的狀態(tài)相當(dāng)于控制模擬器160從視覺傳感器模擬器150接收測量結(jié)果并基于該測量結(jié)果執(zhí)行預(yù)定的控制運算的狀態(tài)。
由于視覺傳感器220的圖像數(shù)據(jù)的讀取處理、視覺傳感器220的圖像測量處理、從視覺傳感器220向控制裝置200的測量結(jié)果的傳送處理要花一些時間,因此,在時刻t1,若拍攝部222拍攝對象物(工件232),則控制裝置200基于針對該圖像數(shù)據(jù)的圖像測量處理的結(jié)果能夠開始控制運算的執(zhí)行會變?yōu)闀r刻t2。
通過從該時刻t1到時刻t2的延遲,工件232移動與該延遲時間相應(yīng)的距離。即,需要對在時刻t1與時刻t2之間的工件232的移動距離進(jìn)行修行。下面,將視覺傳感器模擬器150(視覺傳感器220)應(yīng)修正的距離稱為“修正距離”。
在圖14中,時刻t1與根據(jù)讀取指令(觸發(fā)信號)所執(zhí)行的圖像測量處理的基準(zhǔn)相對應(yīng)。為了進(jìn)行這樣的距離的修正,如圖6以及圖14所示,視覺傳感器模擬器150向控制模擬器160除了測量結(jié)果外,還輸出表示生成該測量結(jié)果的圖像測量處理的基準(zhǔn)的編碼值。即,視覺傳感器模擬器150向控制模擬器160除了測量結(jié)果外,還輸出與用于該測量結(jié)果的生成的圖像數(shù)據(jù)相關(guān)聯(lián)的表示傳送帶(運送機(jī))的位置或位移的信息。
控制模擬器160基于附加于測量結(jié)果的編碼值和目前的編碼值的差分,計算出工件從圖像測量處理的基準(zhǔn)時刻移動了多少。即,控制模擬器160基于測量結(jié)果附帶的表示傳送帶(運送機(jī))的位置或位移的信息,在修正三維假想空間內(nèi)的工件(對象物)的位置的基礎(chǔ)上,執(zhí)行控制運算。
更具體地說,在控制模擬器160開始控制運算的時刻或執(zhí)行與控制運算相關(guān)聯(lián)的命令的時刻,計算出編碼值ec與測量結(jié)果附帶的編碼值et的差分,并且使用預(yù)先計算出的傳送帶的每單位移動量的換算系數(shù)計算出修正距離。即,按照下面所述的公式計算出修正距離。
x軸方向的修正距離=(ec-et)×每個脈沖的x軸方向的移動量(x)[mm/脈沖]
y軸方向的修正距離=(ec-et)×每個脈沖的y軸方向的移動量(x)[mm/脈沖]
此外,假定傳送帶坐標(biāo)系相對于世界坐標(biāo)系傾斜(但是,z軸方向上一致),分別計算出x軸方向以及y軸方向上的修正量。但是,除了z軸以外,若x軸和/或y軸一致,則特定的軸的移動量變?yōu)樾拚嚯x。
如上所述,控制模擬器160利用測量結(jié)果附帶的編碼值(表示運送機(jī)的位置或位移的信息)與執(zhí)行控制運算時的編碼值(表示目前時刻的運送機(jī)的位置或位移的信息)的差分,計算出對象物的位置的修正距離(修正量)。并且,控制模擬器160在使用修正距離修正各個時刻的工件的位置的基礎(chǔ)上,生成針對機(jī)械手的控制指令等。
<i.模擬結(jié)果的顯示>
接著,對模擬結(jié)果的顯示處理進(jìn)行說明。模擬結(jié)果的顯示處理即再現(xiàn)系統(tǒng)模型的動作的處理主要是由再現(xiàn)模塊170(圖6)提供的功能,與上述的圖7所示的系統(tǒng)模型的動作的再現(xiàn)(步驟s24)相對應(yīng)。
圖15是表示再現(xiàn)本實施方式的模擬裝置100提供的系統(tǒng)的動作的用戶界面畫面的一個例子的圖。參照圖15,基于將視覺傳感器模擬器150的測量結(jié)果作為輸入的控制運算的結(jié)果,再現(xiàn)構(gòu)筑的系統(tǒng)的動作。即,基于由控制模擬器160中的控制運算所計算出的控制指令,機(jī)械手311以及313依次更新其位置以及姿勢。由此,能夠觀察機(jī)械手311以及313的動作。
另外,在用戶界面畫面中,基于由視覺傳感器模擬器150識別的工件的信息,在構(gòu)筑的系統(tǒng)模型上顯示工件350。工件350顯示為,根據(jù)傳送帶301以及303的移動而移動。另外,根據(jù)機(jī)械手311以及313的拾取和放置動作,其位置也變化。這樣,在由視覺傳感器模擬器150執(zhí)行的圖像測量處理包括基于預(yù)先登記的圖像圖形識別工件的處理的情況下,再現(xiàn)模塊170也可以使由視覺傳感器模擬器150識別而存在的各個工件顯示在構(gòu)筑的系統(tǒng)上,并且伴隨著時間的經(jīng)過而更新各個工件的位置。
通過對這樣的工件350跟蹤顯示,用戶能夠更加容易地識別構(gòu)筑的系統(tǒng)的動作。
另外,在用戶界面畫面中,顯示包括輸入圖像的測量結(jié)果360,該輸入圖像用于由視覺傳感器模擬器150執(zhí)行的圖像測量處理。測量結(jié)果360與系統(tǒng)的動作的再現(xiàn)結(jié)合來顯示。即,再現(xiàn)模塊170顯示構(gòu)筑的系統(tǒng)的動作,并且顯示圖像測量處理的對象的圖像數(shù)據(jù)。此時,也可以同時輸出視覺傳感器模擬器150的測量結(jié)果與該測量結(jié)果的對象的圖像數(shù)據(jù)。在該情況下,也可以在圖像數(shù)據(jù)上重疊顯示測量結(jié)果,也可以排列顯示輸入圖像數(shù)據(jù)和測量結(jié)果。
這樣,通過同時顯示模擬圖像和用于測量的圖像,在存在多個對象物的情況下,用戶能夠容易地確認(rèn)圖像測量處理是否被正確地進(jìn)行。
在圖15所示的用戶界面畫面中,能夠從任意的方向渲染三維假想空間內(nèi)的對象。即,用戶界面畫面所描述的視點可以由用戶任意地變更。另外,也能夠任意地指定再現(xiàn)的時間寬度以及再現(xiàn)速度等。
在顯示模擬結(jié)果時,也可以根據(jù)需要修正工件的顯示位置。例如,若包含于從控制模擬器160輸出的跟蹤數(shù)據(jù)的工件的位置信息反映使用了上述那樣的修正距離的修正,則能夠直接利用于模擬結(jié)果的顯示。另一方面,在未反映使用了這樣的修正距離的修正處理的情況下,也可以進(jìn)行與上述的修正距離的計算相同的修正,并在修正工件的初始顯示位置等的基礎(chǔ)上再現(xiàn)模擬結(jié)果。
在該情況下,再現(xiàn)模塊170基于測量結(jié)果附帶的表示運送機(jī)(傳送帶)的位置或位移的信息,修正對象物(工件)的顯示位置。典型地,再現(xiàn)模塊170對與來自編碼器236的編碼值相關(guān)聯(lián)的構(gòu)筑的系統(tǒng)的各個部位的顯示位置等進(jìn)行更新。例如,在與某個編碼值相對應(yīng)的用于計算出的跟蹤數(shù)據(jù)的測量結(jié)果通過針對賦予與該編碼值不同的編碼值的圖像數(shù)據(jù)執(zhí)行的圖像識別處理生成的情況下,基于對象的編碼值與用于該圖像識別處理的圖像數(shù)據(jù)附帶的編碼值的差分,修正工件的顯示位置。
通過進(jìn)行上面那樣的修正處理,在再現(xiàn)模擬結(jié)果的情況下,能夠?qū)⒐ぜ@示在更合適的位置,就圖像測量處理的時刻而言,也能夠更加嚴(yán)密地進(jìn)行模擬。
<k.變形例>
在圖6所示的結(jié)構(gòu)中,作為與控制模擬器160不同的部件,設(shè)置有模擬編碼器的編碼器模擬器190,但兩者也可以一體地構(gòu)成。即,作為由控制模擬器160執(zhí)行的控制運算的程序的一部分,也可以編入有更新編碼值的處理?;蛘?,也可以利用控制模擬器160使控制程序162和實現(xiàn)編碼器模擬器190的程序并列地執(zhí)行。
而且,或者,也可以使外部裝置或?qū)嶋H的編碼器代替編碼器模擬器190的功能。
即,圖1~圖3所示的編碼器236是與控制裝置200以及視覺傳感器220相獨立的用于檢測運送機(jī)(傳送帶230)的動作的裝置,與控制裝置200以及視覺傳感器220的動作沒有直接相關(guān)聯(lián)的必要性,因此,能夠利用任意的方法實現(xiàn)。
<l.利點>
根據(jù)本實施方式的模擬裝置100,在工件等的圖像數(shù)據(jù)預(yù)先存在的情況下,能夠高效地實現(xiàn)模擬。而且,就針對現(xiàn)有的圖像數(shù)據(jù)的圖像測量處理的時刻而言,能夠更加嚴(yán)密地進(jìn)行模擬。
本次公開的實施方式在所有方面均為例示,并不用于限制。本發(fā)明的范圍不是由上述說明而是由權(quán)利要求的范圍示出,旨在包含與權(quán)利要求的范圍均等的含義以及范圍內(nèi)的全部變更。