本發(fā)明涉及一種單元控制器,將具有多臺通過程序進行動作的工業(yè)機械的生產(chǎn)系統(tǒng)的動作進行最佳化。
背景技術(shù):
目前在具有多個工業(yè)用機器人或cnc機床等工業(yè)機械的生成系統(tǒng)中,提倡實現(xiàn)系統(tǒng)整體高速化的各種技術(shù)。例如日本專利第3946753號公報中記載以下的機器人程序評價/修正方法,即具備通過計算機的仿真計算用于驅(qū)動機器人的動作部分的電動機的負荷,并且按照時間序列關(guān)聯(lián)存儲針對電動機的指令速度以及指令加速度和電動機負荷、通過評價函數(shù)評價電動機負荷是否超過容許值。
另外,日本特開平08-187648號公報中公開一種生產(chǎn)線管理系統(tǒng),其具備自分布型的多個單元控制器、如果經(jīng)由通信電路與各個單元控制器連接則指示管理條件的管理裝置,進一步記載了在管理裝置中設置虛擬工廠單元和管理條件指示單元,上述虛擬工廠單元使用仿真了由各個單元控制器控制的實際設備單元后的可編程的單元模型,仿真由實際設備生產(chǎn)的產(chǎn)品制造程序,而上述管理條件指示單元經(jīng)由通信電路將在虛擬工廠得到的管理條件下載到各個單元控制器。
如果生產(chǎn)系統(tǒng)為復雜或較大規(guī)模,則經(jīng)由i/o等的機器人與制造機械之間的數(shù)據(jù)通信量巨大,難以判斷生產(chǎn)系統(tǒng)的哪個結(jié)構(gòu)要素成為在將系統(tǒng)整體處理高速化的基礎上的瓶頸。另外,即使發(fā)現(xiàn)成為主要瓶頸的結(jié)構(gòu)要素,如果這是由于該結(jié)構(gòu)要素的性能上的極限引起的話,則該瓶頸不能夠改善,需要找另外的瓶頸。重復這樣的步驟來改善系統(tǒng)會需要很多的時間。
日本專利第3946753號公報中記載的技術(shù)被認為是通過計算機的仿真來評價機器人電動機的負荷,由此最佳地修正機器人程序。但是在該方法中,雖然能夠單獨將機器人高速化,但是根據(jù)生產(chǎn)系統(tǒng)的結(jié)構(gòu),機器人單獨的高速化不一定有助于系統(tǒng)整體的高速化。
另外,日本特開平08-187648號公報中記載的技術(shù)為,虛擬構(gòu)筑生產(chǎn)線,組合生產(chǎn)基本要素進行仿真,為了循環(huán)時間成為最小而組合各個生產(chǎn)基本要素。但是在日本特開平08-187648號公報的方法中,雖然組合了生產(chǎn)基本要素,但是沒有涉及機器人等各個基本要素自身的高速化,因此作為生產(chǎn)線整體的高速化還有極限。
技術(shù)實現(xiàn)要素:
因此本發(fā)明的目的在于提供一種單元控制器,能夠?qū)⒕哂卸嗯_通過動作程序進行動作的工業(yè)機械的生產(chǎn)系統(tǒng)的動作適當?shù)剡M行最佳化。
為了達到上述目的,本申請的發(fā)明為單元控制器,管理一種具有多臺通過動作程序進行動作的工業(yè)機械的生產(chǎn)系統(tǒng),該單元控制器具備:系統(tǒng)運轉(zhuǎn)信息分析器,其根據(jù)經(jīng)由網(wǎng)絡從上述工業(yè)機械接收到的生產(chǎn)系統(tǒng)的時間序列的運轉(zhuǎn)信息,來分析對上述生產(chǎn)系統(tǒng)整體的生產(chǎn)節(jié)拍時間產(chǎn)生不良影響的部分;狀態(tài)量分析器,其根據(jù)包括檢測上述工業(yè)機械的狀態(tài)的傳感器數(shù)據(jù)的狀態(tài)量來分析上述工業(yè)機械的各自的動作的余量;程序改良器,其根據(jù)從上述狀態(tài)量分析器輸出的余量自動進行上述動作程序的速度或加速度的改良;以及仿真器,其為了確認上述動作程序的改良結(jié)果,執(zhí)行上述生產(chǎn)系統(tǒng)的動作仿真。
上述工業(yè)機械的狀態(tài)量能夠包括搭載到上述工業(yè)機械上的電動機速度、加速度、加加速度、電流、溫度以及來自電動機速度指令的跟蹤誤差中的任意一個或多個的組合。
上述單元控制器可以具備顯示器,該顯示器顯示上述系統(tǒng)運轉(zhuǎn)信息分析器以及上述狀態(tài)量分析器的分析結(jié)果、上述程序改良器的修正結(jié)果。
此時,上述仿真器能夠?qū)νㄟ^將功能追加到工業(yè)機械而得到的上述生產(chǎn)系統(tǒng)整體的生產(chǎn)節(jié)拍時間的改善效果進行仿真,該仿真的結(jié)果能夠顯示在上述顯示器或通過網(wǎng)絡與上述單元控制器連接的云服務器上。
上述單元控制器還可以具備以下功能:將上述系統(tǒng)運轉(zhuǎn)信息分析器以及上述狀態(tài)量分析器的分析結(jié)果、上述程序改良器的修正結(jié)果發(fā)送給通過網(wǎng)絡與上述單元控制器連接的云服務器。
上述單元控制器還可以具備根據(jù)上述系統(tǒng)運轉(zhuǎn)信息分析器以及上述狀態(tài)量分析器的輸出來學習動作程序的修正方法的機械學習器,上述機械學習器能夠?qū)⑴c上述生產(chǎn)系統(tǒng)的生產(chǎn)節(jié)拍時間對應的回報賦予所選擇的行為從而進行強化學習。
附圖說明
通過參照附圖說明以下優(yōu)選的實施方式,能夠更加明確本發(fā)明的上述或其他目的、特征以及優(yōu)點。
圖1是表示包括本發(fā)明一個實施方式的單元控制器和多個工業(yè)機械的生產(chǎn)系統(tǒng)的概略結(jié)構(gòu)的功能框圖。
圖2是表示圖1所示的單元控制器的系統(tǒng)運轉(zhuǎn)信息分析器的分析結(jié)果一例的圖。
圖3是表示圖1所示的單元控制器的系統(tǒng)運轉(zhuǎn)信息分析器的分析結(jié)果其他一例的圖。
圖4是表示通過圖1所示的單元控制器的狀態(tài)量分析器進行評價的狀態(tài)量的時間變化一例的圖。
具體實施方式
圖1是表示本發(fā)明一個實施方式的生產(chǎn)系統(tǒng)12的概略結(jié)構(gòu)的功能框圖,上述生產(chǎn)系統(tǒng)12包括單元控制器11和通過單元控制器11管理的多臺工業(yè)機械。單元控制器11具有:系統(tǒng)運轉(zhuǎn)信息分析器21,其根據(jù)經(jīng)由網(wǎng)絡從通過動作程序進行動作的多個(圖示例中為4個)工業(yè)機械31接收到的生產(chǎn)系統(tǒng)12的時間序列的運轉(zhuǎn)信息(動作信息)來分析對生產(chǎn)系統(tǒng)12整體的生產(chǎn)節(jié)拍時間產(chǎn)生不良影響的部分;狀態(tài)量分析器22,其根據(jù)包括檢測工業(yè)機械31的狀態(tài)的傳感器數(shù)據(jù)的狀態(tài)量來分析工業(yè)機械31各自的動作的余量;程序改良器23,其根據(jù)從狀態(tài)量分析器22輸出的余量來自動進行動作程序的速度或加速度的修正(改良);以及仿真器24,其為了確認程序改良器23進行的動作程序的改良結(jié)果而執(zhí)行生產(chǎn)系統(tǒng)12的動作仿真。
另外,在本實施方式中,作為能夠通過程序變更動作的工業(yè)機械31列舉有工業(yè)用機器人、cnc機床、制造機械。
作為單元控制器11,例如能夠使用工業(yè)用pc(個人計算機),其優(yōu)選與工業(yè)機械31的控制裝置(未圖示)分開設置。單元控制器11是獨立的硬件,從而不需要使機器人、制造機械或者控制它們的控制裝置具有過剩的計算能力能夠降低生產(chǎn)系統(tǒng)的成本。另外,一旦將生產(chǎn)系統(tǒng)12最佳化之后能夠不使用單元控制器11而使生產(chǎn)系統(tǒng)12動作,所以能夠?qū)卧刂破?1用于其他系統(tǒng)的高速化而使其有效使用。但是,單元控制器11能夠作為處理器等一體地嵌入工業(yè)機械31的控制裝置內(nèi)。
系統(tǒng)運轉(zhuǎn)信息分析器21從每個工業(yè)機械31接收時間序列的運轉(zhuǎn)信息,根據(jù)接收到的運轉(zhuǎn)信息、從工件向生產(chǎn)系統(tǒng)12輸入到輸出的時間日程,來分析在將生產(chǎn)系統(tǒng)12高速化基礎上的瓶頸。另外,時間序列的運轉(zhuǎn)信息是與時間序列關(guān)聯(lián)的多個產(chǎn)業(yè)機械的i/o信息、驅(qū)動時間信息等。
圖2表示系統(tǒng)運轉(zhuǎn)信息分析器12的分析結(jié)果的一例。詳細地說,圖2以時間序列表示在將第一工件(工件1)投入生產(chǎn)系統(tǒng),一系列的制造工程結(jié)束后被排出之前,機器人a~d以及制造機械a、b進行運轉(zhuǎn)的時間。另外,圖2中,實線表示機器人或制造機械的動作時間,虛線表示工件沒有做任何的作業(yè)而滯留的時間。
從圖2可知,在機器人a針對工件1的作業(yè)(動作)結(jié)束時第二工件(工件2)被投入到生產(chǎn)系統(tǒng)12的情況下,產(chǎn)生工件2滯留的時間段直到機器人b針對工件1的作業(yè)結(jié)束為止。因此這種情況下,為了改善生產(chǎn)系統(tǒng)12的生產(chǎn)節(jié)拍時間,需要改善機器人b的作業(yè)速度。
圖3是表示系統(tǒng)運轉(zhuǎn)信息分析器21的分析結(jié)果的其他例子。詳細地說,圖3以時間序列表示由機器人b和機器人c一邊交換工件或信號,一邊實質(zhì)進行一個作業(yè)的情況。另外,圖3中,實線表示機器人或制造機械的動作時間,虛線表示機器人或制造機械的等待時間,箭頭線表示機器人之間或機器人與制造機械之間的同步定時。
機器人b和機器人c分別進行預定的作業(yè),但是在需要兩個機器人同步的定時,會產(chǎn)生一方機器人等待另一方機器人的時間。在這種情況下為了實現(xiàn)系統(tǒng)的高速化,需要分析哪個機器人到需要同步的定時為止所需要的動作時間較長,針對該較長一方的機器人的相應程序部分尋求速度的改善。
例如圖3中,為了縮短或消除機器人c的等待時間t1,在機器人b的動作時間m1,使機器人b的動作速度上升的措施是有效的。相反,即使縮短機器人c的動作時間m2,對縮短或消除機器人b的等待時間也沒有作用。另外,為了縮短或消除機器人b的等待時間t2,在機器人c的動作時間m3,使機器人c的動作速度上升的措施是有效的。相反,即使縮短機器人b的動作時間m4,對縮短或消除機器人b的等待時間也沒有作用。
這樣,通過進行生產(chǎn)系統(tǒng)12整體的分析,對系統(tǒng)整體的生產(chǎn)節(jié)拍時間產(chǎn)生不良影響的部分變得明確,能夠判斷為了生產(chǎn)系統(tǒng)12的高效化(高速化)改良哪部分是有效的。
狀態(tài)量分析器22關(guān)于通過系統(tǒng)運轉(zhuǎn)信息分析器21進行分析的高速化所需要的動作程序部分而收集/分析工業(yè)機械31的狀態(tài)量,并計算高速化的余量。這里,作為狀態(tài)量分析器22從工業(yè)機械31收集的狀態(tài)量,例如列舉有裝備/搭載到工業(yè)機械31上的電動機速度、加速度、加加速度、轉(zhuǎn)矩、電流、溫度以及來自電動機速度指令的跟蹤誤差等。另外,也可以組合這些狀態(tài)量而導入(例如,根據(jù)電動機的加速度和加加速度來推算振動量)新的狀態(tài)量。這些狀態(tài)量與時間序列關(guān)聯(lián)地被收集。
圖4是表示通過狀態(tài)量分析器22進行評價的狀態(tài)量的時間變化的具體例。如圖4所示,能夠針對各個狀態(tài)量設定閾值(例如上限值s1以及下限值s2),當沒有超過該閾值時,關(guān)于該狀態(tài)量有余量,能夠判斷為能夠高速化。例如,通過電動機的規(guī)格決定電動機速度的閾值,但是當電動機速度沒有達到該閾值(上限值)時,能夠判斷為電動機速度還存在高速化的余地。另外,在根據(jù)加速度推定振動時,如果振動相對于閾值(上限值)有余量,則能夠判斷為還存在增加加速度的余地。這樣,能夠通過取得各個狀態(tài)量的時間序列數(shù)據(jù)來判定速度、加速度、加加速度等是否有余量。
以下說明根據(jù)狀態(tài)量的余量(與閾值之間的差)來實現(xiàn)生產(chǎn)系統(tǒng)12的高速化的具體例子。首先,狀態(tài)量分析器22計算圖4所示的各個狀態(tài)量的時間序列數(shù)據(jù)的時間積分,對各個狀態(tài)量求出余量(或其移動平均值)大的時間段。例如圖4中,能夠判斷為在電動機速度大致為零的時間段t3,電動機速度的余量比較大。
接著,程序改良器23根據(jù)從狀態(tài)量分析器22的分析結(jié)果得到的用于高速化的余量(或移動平均值)大的時間段相關(guān)的信息來選擇與該時間段對應的程序部分,對該程序部分自動進行用于高速化的修正。具體地說,對該程序部分所包括的動作指令語句進行增加速度指令值或加速度指令值等的修正。
此時,為了確認作為程序修正的結(jié)果而得到的工業(yè)機械的生產(chǎn)節(jié)拍時間和動作速度等狀態(tài)量的變化,能夠使用仿真器24。仿真器24根據(jù)從程序改良器23得到的改良后的動作程序,計算此時的工業(yè)機械的狀態(tài)量(例如電動機速度或加速度等)。根據(jù)需要將該狀態(tài)量再次輸入到狀態(tài)量分析器22,再次將該輸出發(fā)送給程序改良器23,由此能夠反復地改善動作程序。另外,當通過仿真器24計算出的工業(yè)機械的狀態(tài)量在反復處理過程中超過圖4所示的閾值的范圍時,不采用該動作程序而結(jié)束該部分的程序改良。
這樣生成的改良后的程序從程序改良器23發(fā)送給各個工業(yè)機械31(或其控制裝置),自動更新各個工業(yè)機械的動作程序。另外,可以以預定的周期定期地進行該更新,也可以在用戶指定的定時進行該更新。另外,也可以不自動適用動作程序的改良而使用顯示器25對用戶進行提示,在得到用戶的認可后進行適用。另外,顯示器25也能夠顯示系統(tǒng)運轉(zhuǎn)信息分析器21以及狀態(tài)量分析器22的分析結(jié)果和程序改良器23的修正結(jié)果。
如圖1所示,在單元控制器11得到的信息也能夠發(fā)送給單元控制器11的上位的云服務器41。而且,通過網(wǎng)絡連接云服務器41和多個單元控制器,由此能夠統(tǒng)一地處理多個單元控制器相關(guān)的信息,能夠?qū)τ啥鄠€單元構(gòu)成的生成系統(tǒng)整體進行最佳化。
另外,用戶也能夠從外部網(wǎng)絡參照云服務器41的信息。這樣,能夠遠程地判斷、操作動作改良的狀況或改良程序的適用判斷等。另外,也能夠在工業(yè)設備生產(chǎn)商或系統(tǒng)集成商公開云服務器41的信息。這樣,能夠由生產(chǎn)商進行生產(chǎn)系統(tǒng)的運轉(zhuǎn)檢查、生產(chǎn)系統(tǒng)的診斷、改善提案,也能夠進一步實現(xiàn)生產(chǎn)系統(tǒng)的高效化。
有時至少一個工業(yè)機械31中包括追加用于動作高速化的功能的軟件選項。這種情況下,仿真器24對于在追加了新軟件選項的情況下得到的效果、更具體地說是包括工業(yè)機械31的生產(chǎn)系統(tǒng)12整體的生產(chǎn)節(jié)拍時間的改善效果進行仿真,能夠?qū)⒃摲抡娴慕Y(jié)果顯示在顯示器25或云服務器41中來對用戶進行提示。這樣,用戶能夠容易地判斷對于追加導入軟件選項的費用效果。
實際上有時不限于以一定間隔向生產(chǎn)系統(tǒng)12投入第一工件(工件1)。另外,如圖2例示那樣,為了使在工件1和工件2有無滯留不同,即使以相同的時間間隔投入了工件的情況下,成為瓶頸的地方也會根據(jù)工件而不同。這種情況下,能夠記錄多次投入工件的結(jié)果和程序改良內(nèi)容,并適用統(tǒng)計上最有效的改良。
在上述實施方式中,說明了修正工業(yè)機械的動作程序來高速化的例子,但是關(guān)于不影響生產(chǎn)系統(tǒng)的生產(chǎn)節(jié)拍時間的部分,也能夠使工業(yè)機械的動作低速化。這樣,能夠得到使工業(yè)機械長壽命、降低消耗功率以及噪音、抑制過熱等效果。這樣,在生產(chǎn)系統(tǒng)中通過適當混合高速化的部分和低速化的部分,能夠?qū)崿F(xiàn)作為生產(chǎn)系統(tǒng)整體的動作最佳化。
如圖1所示,單元控制器11可以具有機械學習器26,機械學習器26根據(jù)系統(tǒng)運轉(zhuǎn)信息分析器21以及狀態(tài)量分析器22的輸出來進行用于得到修正后的動作程序的強化學習,將其結(jié)果發(fā)送給仿真器24。
作為機械學習器26進行的強化學習方法的一例,說明使用q學習進行學習的情況。q學習是在某個環(huán)境狀態(tài)s下學習選擇行為a的價值q(s、a)的方法。即,在某個狀態(tài)s時,選擇價值q(s、a)的最高行為a作為最佳的行為即可。但是,最初關(guān)于狀態(tài)s和行為a的組合,完全不知道價值q(s、a)的準確值。因此,智能體(行為主體)選擇某個狀態(tài)s下的各種行為a,針對此時的行為a賦予回報。這樣,智能體學習更良好的行為的選擇、即準確的價值q(s、a)。
在將q學習適用于本實施方式而進行學習時,狀態(tài)量s由系統(tǒng)運轉(zhuǎn)信息分析器21的輸出和狀態(tài)量分析器22的輸出而構(gòu)成。行為a是對動作程序的改良命令,例如在將稱為z的值增加到程序名x的第y行時,能夠表示為將x、y、z作為分量的向量。使得賦予回報地重復學習由該s和a構(gòu)成的價值函數(shù)q。例如當生產(chǎn)節(jié)拍時間短時對選擇出的行為賦予正回報,另一方面,當針對狀態(tài)量的閾值的超過量較大時對選擇出的行為賦予負回報,從而能夠一邊滿足狀態(tài)量的限制,一邊學習生產(chǎn)節(jié)拍時間短的最佳的動作。
進一步,想要使行為的結(jié)果、將來得到的回報的合計最大化,所以最終以q(s、a)=e[σ(γt)rt]為目標。這里e表示期待值,t表示時刻,γ表示后述的被稱為折扣率的參數(shù)、rt表示時刻t的回報、σ表示時刻t的合計。該公式中的期待值是作為根據(jù)最佳的行為狀態(tài)發(fā)生變化時所采取的值,因為不清楚該值,所以一邊搜尋一邊學習。例如能夠用以下的公式(1)表示這樣的價值q(s、a)的更新式。
在上述公式(1)中,st表示時刻t的環(huán)境的狀態(tài),at表示時刻t的行為。根據(jù)行為a,狀態(tài)變化為st+1。rt+1表示通過該狀態(tài)的變化得到的回報。另外,被賦予了“max”的項是在狀態(tài)st+1下將γ與選擇了此時了解到的q值最高的行為a時的q值相乘后得到的。這里,γ是0<γ≤1的參數(shù),被稱為折扣率。另外,α是學習系數(shù),設為0<α≤1的范圍。
如上所述,機械學習器26根據(jù)系統(tǒng)運轉(zhuǎn)信息分析器21以及狀態(tài)量分析器22的輸出來學習動作程序的修正方法,具體地說,將與生產(chǎn)系統(tǒng)12的生產(chǎn)節(jié)拍時間對應的回報賦予所選擇的行為,從而進行強化學習。一般機械學習需要很多的試行次數(shù),但是本實施方式中能夠不使實際設備進行動作而通過仿真器24進行生產(chǎn)節(jié)拍時間的仿真,因此能夠高速地計算回報,能夠高速地推進學習。
根據(jù)本發(fā)明,從能夠通過程序變更動作的多臺工業(yè)機械接收運轉(zhuǎn)信息,分析生產(chǎn)系統(tǒng)的瓶頸,并根據(jù)該分析結(jié)果來提取與生產(chǎn)系統(tǒng)的高速化有關(guān)的動作程序部分,能夠自動修正動作程序的相應部分,所以能夠較佳地使生產(chǎn)系統(tǒng)高速化。