<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

機器人控制裝置、機器人系統、機器人控制方法

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


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