国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      機(jī)器人控制裝置、機(jī)器人系統(tǒng)、機(jī)器人控制方法

      文檔序號:2312031閱讀:178來源:國知局
      專利名稱:機(jī)器人控制裝置、機(jī)器人系統(tǒng)、機(jī)器人控制方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及機(jī)器人控制裝置、機(jī)器人系統(tǒng)、機(jī)器人控制方法以及機(jī)器人控制程序, 特別是涉及解釋并執(zhí)行腳本的技術(shù)。
      背景技術(shù)
      以往,已知一種進(jìn)行人所指示的動作的機(jī)器人。另一方面,如專利文獻(xiàn)I中記載的機(jī)器人那樣,還能夠追加地并行進(jìn)行人所指示的動作以外的動作的機(jī)器人也已被公知。在這樣的機(jī)器人中,預(yù)先規(guī)定不能夠同時執(zhí)行的動作、若同時執(zhí)行則帶來負(fù)面影響的動作的對應(yīng)關(guān)系,參照該對應(yīng)關(guān)系來進(jìn)行能夠同時執(zhí)行的動作。
      專利文獻(xiàn)1:日本特開2006 - 088282號公報
      在引入代替作業(yè)者進(jìn)行作業(yè)者進(jìn)行的作業(yè)的替代機(jī)器人的情況下,如果能夠創(chuàng)建將作業(yè)者進(jìn)行的作業(yè)的順序直接排列成動作順序的腳本來使機(jī)器人處理,則腳本創(chuàng)建的時間較少即可。另一方面,如果存在能夠并行執(zhí)行的動作,則并行執(zhí)行它們,從而高效地執(zhí)行腳本的作業(yè)。如果是以并行執(zhí)行能夠并行執(zhí)行的命令的方式定義的腳本,則若獲取了該腳本的機(jī)器人控制裝置按照在該腳本中所定義的那樣來執(zhí)行命令,則能夠高效地執(zhí)行腳本的作業(yè)??墒?,專利文獻(xiàn)I所記載的參照對應(yīng)關(guān)系來創(chuàng)建腳本的作業(yè)較復(fù)雜,使腳本創(chuàng)建者負(fù)擔(dān)繁瑣的作業(yè)。發(fā)明內(nèi)容
      本發(fā)明是鑒于上述課題而完成的,其目的在于提供一種在獲取了沒有對命令的并行執(zhí)行特別指定的腳本的情況下,也能夠判斷可否并行執(zhí)行,并執(zhí)行命令的技術(shù)。
      為了實現(xiàn)上述目的,本發(fā)明的機(jī)器人控制裝置具備腳本獲取單元、命令隊列生成單元和命令執(zhí)行單元。 腳本獲取單元對包括了多個占有包括多個動作主體分別作為相互不同的資源的多個上述資源中的至少一個動作主體的命令的腳本進(jìn)行獲取。在腳本中指定該多個命令的串行的執(zhí)行順序。此處,所謂資源指每當(dāng)執(zhí)行命令時機(jī)器人所使用的要素,至少包括機(jī)器人系統(tǒng)具備的動作主體。另外,資源也可以是機(jī)器人系統(tǒng)外部的要素。占有資源指排他地使用資源(即、指多個命令不能夠同時使用單一的資源)。另外,多個動作主體能夠相互獨立地進(jìn)行動作。
      命令隊列生成單元基于腳本,按每個資源,生成根據(jù)由腳本規(guī)定的執(zhí)行順序排列了占有該資源的未執(zhí)行的命令的命令隊列。即、命令隊列生成單元將由腳本規(guī)定的命令分配給與該命令占有的資源對應(yīng)設(shè)置的命令隊列,在各命令隊列中根據(jù)由腳本規(guī)定的執(zhí)行順序排列命令。因此,若著眼于某資源,則儲存在與資源對應(yīng)的命令隊列中的命令的順序,與占有該資源的命令的在腳本規(guī)定的順序不矛盾。即、占有與在腳本規(guī)定第η個執(zhí)行的命令相同的資源的第n + m個命令以與第η個命令相比執(zhí)行順序靠后的方式被排列在命令隊列中(η以及m為自然數(shù))。另外,命令隊列生成單元能夠生成排列了未執(zhí)行的命令的命令隊列即可,例如,可以每當(dāng)某個命令執(zhí)行完畢就將該執(zhí)行完畢的命令從命令隊列中刪除,或者,可以每當(dāng)某個命令執(zhí)行完畢就從腳本提取未執(zhí)行的命令,并生成排列了該提取出的命令的 命令隊列。
      命令執(zhí)行單元使在與占有的全部資源對應(yīng)的命令隊列中執(zhí)行順序為最前列的多 個命令并行執(zhí)行。此外,“使多個命令并行執(zhí)行”,即、并行執(zhí)行多個命令是指以某個命令的 執(zhí)行期間與其他的命令的執(zhí)行期間的至少一部分重復(fù)的方式執(zhí)行命令。當(dāng)然,在與占有的 全部資源對應(yīng)的命令隊列中執(zhí)行順序為最前列的命令是一個的情況下,命令執(zhí)行單元執(zhí)行 一個該命令。在與占有的全部資源對應(yīng)的命令隊列中執(zhí)行順序為最前列的命令是3個以上 的情況下,可以使其全部并行執(zhí)行,或者可以使其中的至少2個命令并行執(zhí)行。
      根據(jù)本發(fā)明,在處于與占有的全部資源對應(yīng)的命令隊列的最前列的命令是2個以 上的情況下,能夠使2個以上該命令(占有的資源不同的命令)并行執(zhí)行。并且,在各命令隊 列以與由腳本規(guī)定的執(zhí)行順序不矛盾的順序排列命令,所以能夠以與記載在腳本中的命令 的執(zhí)行順序不矛盾的順序執(zhí)行占有與該命令隊列對應(yīng)的資源的命令。因此,根據(jù)本發(fā)明,即 便在獲取了沒有對命令的并行執(zhí)行特別指定的腳本的情況下,也能夠判斷可否并行執(zhí)行, 并執(zhí)行命令。
      并且,在用于實現(xiàn)上述目的的機(jī)器人控制裝置中,多個資源可以包含被命令占有 的多個動作對象物分別作為相互不同的資源。動作對象物指動作主體進(jìn)行的動作的對象 物。
      因此,該情況下,對動作對象物以與由腳本規(guī)定的順序不矛盾的順序?qū)嵭忻睢?br> 并且,在用于實現(xiàn)上述目的的機(jī)器人控制裝置中,多個資源可以包含被命令占有 的多個動作位置分別作為相互不同資源。動作位置指動作主體作為動作的對象的位置。
      因此,該情況下,在動作位置中,以與在腳本中規(guī)定的順序不矛盾順序?qū)嵭忻睢?br> 并且,在用于實現(xiàn)上述目的的機(jī)器人控制裝置中,多個動作主體各自可以是分別 相互不同的多個機(jī)器人手臂。
      該情況下,能夠通過多個機(jī)器人手臂并行執(zhí)行多個命令。
      并且,在用于實現(xiàn)上述目的的機(jī)器人控制裝置中,腳本獲取單元可以對多個按被 腳本創(chuàng)建者指定的串行的執(zhí)行順序排列了占有被腳本創(chuàng)建者指定的資源的命令的腳本進(jìn) 行獲取。
      因此,腳本創(chuàng)建者只創(chuàng)建按執(zhí)行順序串行地排列了指定資源的命令的腳本即可, 無需腳本創(chuàng)建者考慮是否能夠并行執(zhí)行而創(chuàng)建以并行執(zhí)行的方式設(shè)計的腳本。
      此外,技術(shù)方案中記載的各單元的功能由通過以構(gòu)成本身確定功能的硬件資源、 通過程序確定功能的硬件資源、或者它們的組合來實現(xiàn)。另外,這些各單元的功能并不限定 于利用各自物理上相互獨立的硬件資源來實現(xiàn)。并且,本發(fā)明作為包括上述的機(jī)器人控制 裝置具備的各單元的機(jī)器人系統(tǒng)、作為機(jī)器人控制方法,作為使計算機(jī)實現(xiàn)各功能的機(jī)器 人控制程序,另外,作為其程序的記錄介質(zhì)也成立。當(dāng)然,該計算機(jī)程序的記錄介質(zhì)可以是 磁記錄介質(zhì),也可以是光磁記錄介質(zhì),還可以是今后開發(fā)的任何的記錄介質(zhì)。


      圖1是第一實施方式所涉及的機(jī)器人系統(tǒng)的框圖。
      圖2是表示第一實施方式所涉及的機(jī)器人的示意圖。
      圖3是表示第一實施方式所涉及的腳本的圖。
      圖4是表示第一實施方式所涉及的命令隊列處理的流程圖。
      圖5A以及5B是表示第一實施方式所涉及的命令隊列的圖。
      圖6是表示第一實施方式所涉及的命令執(zhí)行處理的流程圖。
      圖7是表示第一實施方式所涉及的可否執(zhí)行判定處理的流程圖。
      圖8A 8C是表示第一實施方式所涉及的命令隊列的圖。
      圖9A 9C是表示第一實施方式所涉及的命令隊列的圖。
      圖10是表示第一實施方式所涉及的命令的執(zhí)行順序的圖。
      具體實施方式
      以下,參照附圖,對本發(fā)明的實施方式進(jìn)行說明。另外,在各圖中,對對應(yīng)的構(gòu)成要 素標(biāo)注相同的符號,省略重復(fù)的說明。
      1.第一實施方式
      1 — 1.構(gòu)成
      圖1是表示本發(fā)明所涉及的機(jī)器人系統(tǒng)100的構(gòu)成的框圖。機(jī)器人系統(tǒng)100具備 PC (Personal Computer :個人計算機(jī))10和機(jī)器人20。PClO具備控制部11、未圖示的HDD (硬盤裝置)、和用于與外部的設(shè)備進(jìn)行通信的USB(Universal Serial Bus:通用串行總線) 等外部I / F等,其中,該控制部11具備CPU、RAM、R0M等。控制部11經(jīng)由外部I / F連接 鼠標(biāo)、鍵盤等操作部400、和監(jiān)視器等顯示部300。PClO的用戶能夠操作操作部400對PClO 給予指示,并且能夠通過顯示部300來識別PClO顯示的各種信息。PClO能夠?qū)⒋鎯υ赗OM、 HDD中的各種程序加載至RAM,并由CPU執(zhí)行。在本實施方式中,作為該程序之一,控制部11 執(zhí)行機(jī)器人控制程序12,從而能夠使PClO作為機(jī)器人控制裝置發(fā)揮作用。PClO能夠經(jīng)由 外部I / F與機(jī)器人20收發(fā)各種信號。
      圖2是表示機(jī)器人20的示意圖。機(jī)器人20具備手臂控制器21、22、右手臂23、和 左手臂24。右手臂23以及左手臂24是各自具備臂部200、關(guān)節(jié)部201、手部202等的所謂 機(jī)器人手臂,是根據(jù)來自PClO的指示進(jìn)行“抓住”或“放開”動作對象物、向動作對象物、動 作位置“移動”等動作的動作主體。為了進(jìn)行這些動作,右手臂23以及左手臂24具備各種 驅(qū)動部件。手臂控制器21為了根據(jù)從控制部10指示的命令來使對應(yīng)的機(jī)器人手臂亦即右 手臂23動作,進(jìn)行各驅(qū)動部件的控制,并且,向控制部10通知與命令對應(yīng)的動作結(jié)束了。手 臂控制器22也同樣,為了根據(jù)從控制部10指示的命令來使對應(yīng)的左手臂24動作,進(jìn)行驅(qū) 動部件的控制,并且,向控制部10通知與命令對應(yīng)的動作結(jié)束了。圖2所示的基部203是 間接地支承右手臂23以及左手臂24的箱狀的部件??梢詫ClO設(shè)置在該基部203的內(nèi) 部。另外或者,也可以與機(jī)器人20獨立設(shè)置。
      第I工件Wl與第2工件W2是成為右手臂23、左手臂24的動作的對象的動作對 象物。將第I位置Pl與第2位置P2規(guī)定為成為由右手臂23、左手臂24進(jìn)行的動作的對 象的位置(動作位置)。例如,以機(jī)器人20的位置為基準(zhǔn),預(yù)先相對地規(guī)定第I位置P1、第2 位置P2。右手臂23、左手臂24、第I工件W1、第2工件W2、第I位置P1、和第2位置P2分 別相當(dāng)于資源。
      機(jī)器人控制程序12具備腳本獲取部12a、命令隊列生成部12b、和命令執(zhí)行部12c。腳本獲取部12a具有獲取表示腳本創(chuàng)建者創(chuàng)建的腳本S的數(shù)據(jù)的功能。在本實施方式中, 腳本是指定串行的執(zhí)行順序來排列使機(jī)器人20執(zhí)行的多個命令的數(shù)據(jù)??刂撇?1獲取例如表示腳本創(chuàng)建者操作操作部400創(chuàng)建的腳本S的數(shù)據(jù)。
      圖3表示腳本S的一個例子。如圖3所示,在本實施方式中,以“動作的種類(資源1、資源2)”這樣的形式定義各命令。動作的種類包括“移動”、“抓住”、“放開”等。資源I以及資源2中指定當(dāng)執(zhí)行動作時占有的資源。更詳細(xì)而言,資源I中指定相當(dāng)于動作主體的資源。資源2中指定相當(dāng)于動作主體進(jìn)行的動作的動作對象物、動作位置的資源。因此,例如第I個命令“移動(右手臂,第I工件)”是“右手臂23向第I工件Wl移動”這樣的命令。 “向第I工件Wl移動”是指確定第I工件Wl的位置并向該位置移動。在本實施方式的機(jī)器人系統(tǒng)100中,像這樣,即便在命令中不指定位置,如果指定物,則也能夠確定該物的位置來使手臂移動。此外,載置工件的位置能夠基于例如機(jī)器人20所具備的未圖示的圖像傳感器的拍攝圖像來確定出。另外,第2個命令“抓住(右手臂,第I工件)”是“右手臂23抓住第I工件W1”這樣的命令。
      命令隊列生成部12b具有基于腳本S按不準(zhǔn)許同時被多個命令使用的每個資源來生成命令隊列的功能。在命令隊列中按照在腳本S中指定的執(zhí)行順序儲存占有與該命令隊列對應(yīng)的資源的命令。另外,命令隊列生成部12b具有基于從手臂控制器21、22通知的表示命令的執(zhí)行完成的信息,將執(zhí)行完成的命令從與該命令占有的資源對應(yīng)的命令隊列的最前列刪除的功能。
      命令執(zhí)行部12c具有基于生成的命令隊列來使命令執(zhí)行的功能,更具體而言,具有使在與占有的全部資源對應(yīng)的命令隊列中的執(zhí)行順序為最前列的命令執(zhí)行的功能。在與占有的全部資源對應(yīng)的命令隊列中執(zhí)行順序為最前列的命令是一個的情況下,命令執(zhí)行部 12c使一個該命令執(zhí)行。另外,在與占有的全部資源對應(yīng)的命令隊列中執(zhí)行順序為最前列的命令存在多個的情況下,命令執(zhí)行部12c使多個該命令并行執(zhí)行。
      1- 2.基于腳本的機(jī)器人控制圖4是表示命令隊列處理的流程的流程圖。圖6是表示命令執(zhí)行處理的流程的流程圖。命令隊列處理是基于腳本S來生成上述的命令隊列的處理。命令執(zhí)行處理是基于在命令隊列處理中生成的命令隊列來執(zhí)行命令的處理。并行執(zhí)行命令執(zhí)行處理與命令隊列處理。首先,對圖4的命令隊列處理進(jìn)行說明。首先,控制部11獲取腳本S(S100)。接著,控制部11將“I”代入變量I (S105),判定腳本中是否存在第I個命令(S110)。變量I是與由腳本指定的命令的執(zhí)行順序?qū)?yīng)的變量(參照圖3)。在SllO中,在判定為腳本中存在第 I個命令的情況下,控制部11將“I”代入變量P (S115)。變量P是與由命令所指定的資源 I以及資源2對應(yīng)的變量(參照圖3)。接下來,控制部11判定在腳本的第I個命令中是否存在第P個資源(S120),在存在的情況下,判定第P個資源是否合適(S125)。具體而言,控制部11判定是否沒有包括機(jī)器人20不能夠使用的資源。而且,預(yù)先規(guī)定機(jī)器人20能夠使用的資源,控制部11基于該信息,進(jìn)行S125的判定。
      在S125中,在判定為腳本的第I個命令的第P個資源合適的情況下,控制部11判定與第P個資源對應(yīng)的命令隊列是否為滿(S130)。S卩、控制部11判定命令隊列中是否已經(jīng)儲存了在命令隊列中儲存的命令的最大個數(shù)。在S130中判定為不滿(存在空位)的情況下,控制部11在與腳本的第I個命令的第P個資源對應(yīng)的命令隊列的最末尾追加腳本的第I個命令(S140),使變量P自加1(S145)。在S130中判定為滿的情況下,控制部11進(jìn)行等 待,直至在與腳本的第I個命令的第P個資源對應(yīng)的命令隊列有空位為止(S135)。若通過 執(zhí)行命令執(zhí)行處理而在與腳本的第I個命令的第P個資源對應(yīng)的命令隊列有空位,則控制 部11從S140的處理起再次開始命令隊列處理。
      在S145中使變量P自加I后,控制部11返回到S120的處理。在S120中判定為 在腳本的第I個命令中不存在第P個資源的情況下,即、在本實施方式中,在完成了 2個資 源的量的上述的處理的情況下,控制部11使變量I自加I (S150),并返回到SllO的處理。 在SllO中判定為在腳本的第I個處不存在命令的情況下,即、在腳本所包含的全部命令向 命令隊列的分配結(jié)束的情況下,控制部11使命令隊列處理結(jié)束。
      圖5A表示基于圖3所示的腳本S執(zhí)行命令隊列處理的結(jié)果為在RAM中生成的命 令隊列。此外,在本實施方式中,以各命令隊列能夠儲存的命令的最大個數(shù)為9個以上為前 提進(jìn)行說明(即、設(shè)為不在圖4的S135中等待命令隊列處理就能夠執(zhí)行命令隊列處理,并使 其結(jié)束)。分別對通過命令隊列處理生成的各命令隊列分配編號。此處,將第Q個命令隊列 表記為命令隊列Q。在本實施方式中,命令隊列I是按執(zhí)行順序?qū)φ加杏沂直?3的命令進(jìn) 行儲存的隊列。命令隊列2是按執(zhí)行順序?qū)φ加凶笫直?4的命令進(jìn)行儲存的隊列。命令 隊列3是按執(zhí)行順序?qū)φ加械贗工件Wl的命令進(jìn)行儲存的隊列。命令隊列4按執(zhí)行順序 對占有第2工件W2的命令進(jìn)行儲存的隊列。命令隊列5是按執(zhí)行順序?qū)φ加械贗位置Pl 的命令進(jìn)行儲存的隊列。命令隊列6是按執(zhí)行順序?qū)φ加械?位置P2的命令進(jìn)行儲存的 隊列。此外,在本實施方式中,不存在Q > 7的命令隊列Q。
      腳本S所指定的第I個命令是“移動(右手臂,第I工件)”。在圖5、后述的圖8、圖 9中,利用在腳本S中指定的表示命令的順序的數(shù)字、和由在該數(shù)字下所示的()括起來的2 個數(shù)字表示儲存在命令隊列中的命令。由()括起來的2個數(shù)字表示與在命令中指定的資 源對應(yīng)的命令隊列的編號。在圖5A中,表示在與被腳本S的第I個命令占有的資源亦即右 手臂23對應(yīng)的命令隊列I的最前列儲存有腳本S的第I個命令亦即“移動(右手臂,第I工 件)”。另外同樣,表示在與被腳本S的第I個命令占有的第2個資源亦即第I工件Wl對應(yīng) 的命令隊列3的最前列儲存有腳本S的第I個命令“移動(右手臂,第I工件)”。
      接下來,對命令執(zhí)行處理進(jìn)行說明。命令執(zhí)行處理是如下這樣的處理,即、直至全 部的命令隊列為空為止反復(fù)檢查與各資源對應(yīng)的命令隊列的最前列的命令,對于能夠開始 執(zhí)行的命令使之開始執(zhí)行,對于執(zhí)行完成的命令,從儲存有該命令的命令隊列的最前列刪 除。首先,控制部11將“I”代入變量Q,并且將“I”代入變量EMPTY (S200)。如上述那樣, 變量Q與表示各命令隊列的編號對應(yīng)。變量EMPTY是如下這樣的變量,即、值為“I”時表 示與所有資源對應(yīng)的命令隊列為空,如后述,值為“O”時表示與至少任意一個資源對應(yīng)的命 令隊列不是空。接下來,控制部11判定是否存在命令隊列Q (S205),在存在命令隊列Q的 情況下,判定命令隊列是否為空,即、判定在命令隊列Q的最前列是否存在命令(S210)。以 下,將命令隊列Q的最前列的命令稱為命令C。在S210中,在判定為在命令隊列Q的最前 列存在命令C的情況下,控制部11將“O”代入變量EMPTY (S215),進(jìn)行可否執(zhí)行判定處理 (S220)。
      圖7是表示可否執(zhí)行的判定處理的流程的流程圖。首先,控制部11將“I”代入 變量P (S300)。此外,在命令隊列處理所使用的變量P與在可否執(zhí)行的判定處理所使用的變量P是不同的變量。接下來,控制部11判定是否存在命令C (命令隊列Q的最前列的命 令)的第P個資源(S305),在存在的情況下,與S125相同,判定命令C的第p個資源是否合 適(S310)。在S310中,在判定為命令C的第P個資源的值不合適的情況下,控制部11進(jìn)到 S320的處理。在S310中,在判定為命令C的第P個資源的值合適的情況下,控制部11判定 與命令C的第P個資源對應(yīng)的命令隊列的最前列是否是命令C (S315),在最前列不是命令 C的情況下,控制部11判定還不可執(zhí)行命令C (S325),結(jié)束可否執(zhí)行判定處理。
      在S315中,在判定為在與命令C的第P個資源對應(yīng)的命令隊列的最前列儲存有命 令C的情況下,控制部11使變量P自加1(S320),并返回到S305的處理。在S305中,在判 定為不存在命令C的第P個資源的情況下,即、完成了命令C的2個資源的量的處理的情況 下,控制部11判定為可執(zhí)行命令C (S330),結(jié)束可否執(zhí)行判定處理。返回到圖6的命令執(zhí) 行處理的說明。接下來,控制部11在S220的可否執(zhí)行判定處理中判定是否判定為可執(zhí)行 命令C (S225),在判定為可執(zhí)行命令C的情況下,控制部11使命令C的執(zhí)行開始(S230)。 具體而言,控制部11經(jīng)由外部I / F向手臂控制器21或者手臂控制器22發(fā)送用于使命令 C的執(zhí)行開始的信息。手臂控制器21或手臂控制器22基于該信息來驅(qū)動符合的驅(qū)動部件。 其結(jié)果,能夠使作為動作主體的右手臂23或者左手臂24按照命令進(jìn)行動作。
      接下來,控制部11基于從手臂控制器21或者手臂控制器22通知的表示命令的 執(zhí)行完成的信息,將與執(zhí)行完成的命令的各資源對應(yīng)的命令隊列內(nèi)的最前列的命令(即、執(zhí) 行完成的命令)刪除(S235)。此外,在執(zhí)行S235的時刻沒有執(zhí)行完成的命令的情況下,控 制部11在S235什么也不處理而移至S240的處理。控制部11在S210中判定為在命令隊 列Q的最前列不存在命令C的情況下、以及在S225中判定為不可執(zhí)行命令C的情況下,都 執(zhí)行S235的處理。命令執(zhí)行處理是只要記載在腳本中的全部命令的執(zhí)行未完成就重復(fù)的 循環(huán)處理。S235是每當(dāng)重復(fù)循環(huán)處理被執(zhí)行的處理,所以能夠監(jiān)視命令的執(zhí)行完成,如果 完成則執(zhí)行將命令從命令隊列刪除的處理。接下來,控制部11使變量Q自加I (S240)后, 返回到S205的處理。在S205中,在判定為不存在命令隊列Q的情況下,即、在本實施方式 中輪完6個命令隊列的最前列的檢查的情況下,控制部11判定變量EMPTY的值是否為“I” (S150)。在S150中,在變量EMPTY的值不是“I”的情況下,控制部11返回到S200的處理, 在變量EMPTY的值是“I”的情況下,控制部11使命令執(zhí)行處理結(jié)束。以上,對命令執(zhí)行處 理進(jìn)行了說明。接下來,基于通過以腳本S為對象執(zhí)行命令隊列處理而生成的圖5A所示的 命令隊列,對執(zhí)行命令執(zhí)行處理的過程的各命令隊列的狀態(tài)進(jìn)行說明。此外,在本實施方式 中,將各命令的執(zhí)行所需的所需時間(從執(zhí)行開始至執(zhí)行結(jié)束的時間)設(shè)為相同程度。
      圖5、圖8以及圖9是表示命令執(zhí)行處理的執(zhí)行過程中的各命令隊列的狀態(tài)的圖。 首先,如上述,圖5A表示通過命令隊列處理,將在腳本S中指定的全部命令按執(zhí)行順序分配 給與該命令占有的資源對應(yīng)的命令隊列的狀態(tài)。在該狀態(tài)下,若控制部11執(zhí)行命令執(zhí)行處 理的S200S225,則在與儲存在命令隊列I的最前列的命令、且在腳本S中被指定為執(zhí)行順序 的第I個的命令的2個資源對應(yīng)的命令隊列(命令隊列I與命令隊列3)各自的最前列儲存 有腳本S的第I個命令,所以在S225中控制部11判定為可執(zhí)行腳本S的第I個命令。因 此,控制部11使腳本S的第I個命令的執(zhí)行開始。在之后的S235中,如果腳本S的第I個 命令執(zhí)行完成,則將該命令從命令隊列I與命令隊列3中刪除,但未執(zhí)行完成的情況下不刪 除,在S240使變量Q自加1,反復(fù)從S210開始的處理。在變量Q = 3時,即、在檢查命令隊列3的最前列的命令時,如果腳本S的第I個命令未執(zhí)行完成,則雖在命令隊列3的最前列 還存在腳本S的第I個命令,但控制部11存儲已經(jīng)開始了的命令,不會再次開始執(zhí)行曾經(jīng) 開始執(zhí)行了的命令。
      若腳本S的第I個命令執(zhí)行完成,則控制部11在S235中從命令隊列I與命令隊 列3的最前列刪除腳本S的第I個命令。圖5B表示刪除腳本S的第I個命令后的各命令 隊列。在圖5B中腳本S的第2個命令成為可執(zhí)行命令,所以控制部11與上述相同,使腳本 S的第2個命令的執(zhí)行開始,若執(zhí)行完成則從命令隊列I與命令隊列3中刪除腳本S的第2 個命令。圖8A表示刪除后的各命令隊列。在圖8A中腳本S的第3個命令成為可執(zhí)行,所以 控制部11與上述相同,使腳本S的第3個命令的執(zhí)行開始,若執(zhí)行完成則從命令隊列I與 命令隊列5中刪除腳本S的第3個命令。圖SB表示刪除后的各命令隊列??刂撇?1與上 述相同,使腳本S的第4個命令的執(zhí)行開始,在執(zhí)行完成后,將第4個命令從命令隊列I與 命令隊列3中刪除,各命令隊列成為圖SC所示的狀態(tài)。
      在圖8C所示的狀態(tài)中,腳本S的第5個命令在與該命令占有的資源之一亦即左手 臂24對應(yīng)的命令隊列2、和與該命令占有的又一個資源亦即第I工件Wl對應(yīng)的命令隊列3 中分別被儲存在最前列,所以控制部11在可否執(zhí)行判定處理中判定為可執(zhí)行該命令,并在 S230中使該命令的執(zhí)行開始。另外,開始腳本S的第5個命令的執(zhí)行且還未完成的狀態(tài)時, 腳本S的第9個命令也在與該命令占有的資源之一亦即右手臂23對應(yīng)的命令隊列1、和與 該命令占有的又一個資源亦即第2工件W2對應(yīng)的命令隊列4中分別被儲存在最前列,所以 控制部11在可否執(zhí)行判定處理中判定為可執(zhí)行該命令,并在S230中使該命令的執(zhí)行開始。 因此,并行執(zhí)行腳本S的第5個命令與第9個命令。
      若腳本S的第5個命令執(zhí)行完成,則控制部11從命令隊列2與命令隊列3中刪除 腳本S的第5個命令。其結(jié)果,命令隊列2與命令隊列3的最前列的命令成為腳本S的第6 個命令。腳本S的第6個命令處于與該命令占有的資源對應(yīng)的命令隊列各自的最前列,所 以控制部11使腳本S的第6個命令的執(zhí)行開始。另外,若腳本S的第9個命令執(zhí)行完成, 則控制部11從命令隊列I與命令隊列4中刪除腳本S的第9個命令。圖9A表示刪除后的 各隊列的狀態(tài)。通過從命令隊列I與命令隊列4中刪除腳本S的第9個命令,從而命令隊 列I和命令隊列4的最前列的命令成為腳本S的第10個命令。控制部11判定為可執(zhí)行腳 本S的第10個命令,并使該命令的執(zhí)行開始。以下,同樣重復(fù)使命令的執(zhí)行開始,如果執(zhí)行 完成則刪除命令的動作,由此如圖9B所示,并行執(zhí)行腳本S的第7個與第11個命令,其后, 如圖9C所示,并行執(zhí)行腳本S的第8個與第12個命令。此外,在本實施方式中,以各命令 的執(zhí)行所需的所需時間為相同程度為前提,但當(dāng)然各命令的所用時間也可以分別不同。
      圖10是表示基于圖5A所示的命令隊列執(zhí)行命令執(zhí)行處理時的命令的執(zhí)行順序的 圖。這樣,根據(jù)本實施方式,并行執(zhí)行從腳本的第5個命令至第8個命令、和從腳本的第9 個命令至第12個命令。因此,與按照在腳本S中指定的串行的執(zhí)行順序來串行地執(zhí)行命令 的情況相比較,能夠縮短執(zhí)行記載在腳本S中的全部命令所需的時間。另外,在各命令隊列 以與在腳本S中規(guī)定的執(zhí)行順序不矛盾的順序排列命令,所以能夠以與記載在腳本中的命 令的執(zhí)行順序不矛盾的順序執(zhí)行占有與該命令隊列對應(yīng)的資源的命令。并且,如果腳本創(chuàng) 建者創(chuàng)建按執(zhí)行順序串行地排列了指定資源的命令的腳本,則機(jī)器人控制裝置基于該腳本 并行執(zhí)行能夠并行執(zhí)行的命令。因此,腳本創(chuàng)建者無需考慮是否能夠并行執(zhí)行而創(chuàng)建以并行執(zhí)行的方式設(shè)計的腳本,所以能夠減少腳本創(chuàng)建者的作業(yè)負(fù)擔(dān)。
      2.其他的實施方式
      另外,本發(fā)明的技術(shù)范圍并不限定于上述的實施方式,當(dāng)然在不脫離本發(fā)明的主旨的范圍內(nèi)能夠附加各種變更。例如,除了將動作主體應(yīng)用于機(jī)器人手臂之外,還能夠應(yīng)用于使機(jī)器人整體的位置移動的與腿相當(dāng)?shù)牟糠?、使拍攝對象的照相機(jī)的視場角變更的與眼睛相當(dāng)?shù)牟糠值绕渌麡?gòu)成機(jī)器人的各種資源。
      另外,在上述實施方式中,由命令指定的資源的個數(shù)是2個,但也可以是3個以上。 另外,在可并行執(zhí)行3個以上的命令的情況下,能夠并行執(zhí)行成為可執(zhí)行的3個以上的命令中的至少2個命令即可。當(dāng)然,也可以并行執(zhí)行成為可執(zhí)行的3個以上的命令的全部。
      符號說明
      100…機(jī)器人系統(tǒng),10…控制部,11…控制部,12…機(jī)器人控制程序,12a…腳本獲取部,12b…命令隊列生成部,12c…命令執(zhí)行部,20···機(jī)器人,21···手臂控制器,22···手臂控制器,23…右手臂,24···左手臂,Pl…第I位置,P2…第2位置,S…腳本,Wl… 第I工件,W2··· 第2工件
      權(quán)利要求
      1.一種機(jī)器人控制裝置,其特征在于,具備腳本獲取單元,其對按串行的執(zhí)行順序排列了多個占有包括多個動作主體分別作為相互不同的資源的多個所述資源中的至少一個所述動作主體的命令的腳本進(jìn)行獲??;命令隊列生成單元,其按照每個所述資源,生成根據(jù)所述腳本的所述執(zhí)行順序排列了占有該資源的未執(zhí)行的所述命令的命令隊列;命令執(zhí)行單元,其使在與占有的全部所述資源對應(yīng)的所述命令隊列中的所述執(zhí)行順序是最前列的多個所述命令并行執(zhí)行。
      2.根據(jù)權(quán)利要求1所述的機(jī)器人控制裝置,其特征在于,多個所述資源包括被所述命令占有的多個動作對象物分別作為相互不同的所述資源。
      3.根據(jù)權(quán)利要求1或者2所述的機(jī)器人控制裝置,其特征在于,多個所述資源包括被所述命令占有的多個動作位置分別作為相互不同的所述資源。
      4.根據(jù)權(quán)利要求1 3中任一項所述的機(jī)器人控制裝置,其特征在于,多個所述動作主體各自是分別相互不同的多個機(jī)器人手臂。
      5.根據(jù)權(quán)利要求1 4中任一項所述的機(jī)器人控制裝置,其特征在于,所述腳本獲取單元對按由所述腳本創(chuàng)建者指定的所述串行的執(zhí)行順序排列了多個占有由腳本創(chuàng)建者指定的所述資源的所述命令的所述腳本進(jìn)行獲取。
      6.—種機(jī)器人系統(tǒng),其特征在于,具備腳本獲取單元,其對以串行的執(zhí)行順序排列了多個占有包括多個動作主體分別作為相互不同的資源的多個所述資源中的至少一個所述動作主體的命令的腳本進(jìn)行獲??;命令隊列生成單元,其按照每個所述資源,生成根據(jù)所述腳本的所述執(zhí)行順序排列了占有該資源的未執(zhí)行的所述命令的命令隊列;命令執(zhí)行單元,其使在與占有的全部所述資源對應(yīng)的所述命令隊列中的所述執(zhí)行順序是最前列的多個所述命令并行執(zhí)行。
      7.—種機(jī)器人控制方法,其特征在于,包括腳本獲取工序,在該腳本獲取工序中對以串行的執(zhí)行順序排列了多個占有包括多個動作主體分別作為相互不同的資源的多個所述資源中的至少一個所述動作主體的命令的腳本進(jìn)行獲??;命令隊列生成工序,在該命令隊列生成工序中按照每個所述資源,生成根據(jù)所述腳本的所述執(zhí)行順序排列了占有該資源的未執(zhí)行的所述命令的命令隊列;命令執(zhí)行工序,在該命令執(zhí)行工序中使在與占有的全部所述資源對應(yīng)的所述命令隊列中的所述執(zhí)行順序是最前列的多個所述命令并行執(zhí)行。
      全文摘要
      本發(fā)明涉及機(jī)器人控制裝置、機(jī)器人系統(tǒng)、機(jī)器人控制方法。具備腳本獲取單元,其對按串行的執(zhí)行順序排列了多個占有包括多個動作主體分別作為相互不同的資源的多個上述資源中的至少一個上述動作主體的命令的腳本進(jìn)行獲??;命令隊列生成單元,其按照上述資源,生成根據(jù)上述腳本的上述執(zhí)行順序排列了占有該資源的未執(zhí)行的上述命令的命令隊列;命令執(zhí)行單元,其使在與占有的全部上述資源對應(yīng)的上述命令隊列中上述執(zhí)行順序是最前列的多個上述命令并行執(zhí)行。
      文檔編號B25J13/00GK102990670SQ20121034014
      公開日2013年3月27日 申請日期2012年9月13日 優(yōu)先權(quán)日2011年9月15日
      發(fā)明者大內(nèi)真 申請人:精工愛普生株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1