亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于編輯和控制移動機器人的行為的系統(tǒng)和方法

文檔序號:6326633閱讀:241來源:國知局
專利名稱:用于編輯和控制移動機器人的行為的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及機器人編程系統(tǒng)的領(lǐng)域。更具體地,它應(yīng)用于基于有關(guān)節(jié)的肢或使用它們來走動的機器人(尤其是人或動物形狀的機器人)的行為和運動的編輯和控制。
背景技術(shù)
當(dāng)機器人具有下述特定人外觀屬性時運動可以被認(rèn)為是類人機頭,軀干、兩臂、 兩手、兩腿、兩腳等。然而,類人機器人可能或多或少地復(fù)雜。它的肢可能具有更多或更少數(shù)量的關(guān)節(jié)。它可以靜態(tài)地和動態(tài)地控制其本身的平衡,并且可能在三個維度上基于兩肢行走。它可以從環(huán)境采集信號(“聽”、“看”、“觸摸”、“感測”等),并且根據(jù)或多或少復(fù)雜的行為來進(jìn)行反應(yīng),并且通過語音或通過手勢與其他機器人或人交互。為了最佳地利用這些能力,仍然需要向機器人的計算機控制單元提供用于所述行為的命令。一些機器人可以獨立地提取執(zhí)行與它們的使用簡檔(profile)對應(yīng)的行為所需的命令。然而,仍然需要用戶能夠介入以創(chuàng)建新的行為和運動。編程所需命令的第一種方式是使得它們根據(jù)預(yù)定的時序來運行。這種編程邏輯提供了機器人的行為在時間上可預(yù)測的優(yōu)點行為的系列具有在可預(yù)測的時間發(fā)生的起點和終點。例如參見由美國專利6,718,231公開的用于編輯和時間編程機器人的行為的方法。然而,這種邏輯在下述情況下受到限制機器人與其環(huán)境的交互既是不可避免的(在路徑上遇到障礙)又是期望的(機器人對環(huán)境或其用戶的要求作出反應(yīng)),這些事件中斷了預(yù)編程的行為序列的進(jìn)展。這是為什么基于狀態(tài)機理論的事件類型的另一種編程邏輯已經(jīng)用于類人機器人以及工業(yè)機器人在該編程邏輯中,鏈路連接行為,在鏈中的第二事件取決于第一事件的輸出。這個邏輯使得有可能控制與環(huán)境的交互。例如參見由美國專利6,470,235公開的用于編輯和事件編程機器人的方法。然而,這個邏輯呈現(xiàn)了缺點直到預(yù)期的事件已經(jīng)發(fā)生才能中斷行為的預(yù)編程的序列。簡化的示例將使得容易理解這個困難用戶想要機器人從第一位置走向它必須在確定的時刻到達(dá)的第二位置。在其路徑中,它可能必須執(zhí)行取決于與環(huán)境的交互的動作(向它遇到的另一個機器人說“你好”、收集物體等)。不受時間限制的純事件編程不能解決這個問題。通過日本專利申請JP2002/120174公開了并置該事件和時間編程邏輯二者的方法。然而,在所述方法中,編程者必須介入這兩個編程塊之一,以使得它們兼容。該方法因此未解決在沒有編程者的介入的情況下使得事件和時間編程邏輯二者兼容所存在的問題。

發(fā)明內(nèi)容
本發(fā)明提供下述方式來解決這個問題提供一種用于編輯和編程機器人的行為的系統(tǒng)和方法,其在不需要編程者在每一個事件上介入的情況下將時間和事件編程邏輯二者結(jié)合起來。為此,本發(fā)明公開了一種使得用戶能夠編輯和控制移動機器人的至少一個動作的方法,所述至少一個動作屬于行為類型和運動類型的一組動作,并且屬于至少一個主動作幀(action frame),其中,所述主動作幀連接到選自一組先前事件和后續(xù)事件的至少一個事件,并且根據(jù)由時間線(timeline)限定的時間約束來進(jìn)行。有益的是,所述主動作幀屬于至少一個動作層。有益的是,所述動作層屬于控制框(box)。

有益的是,所述主動作幀是行為類型的,并且被分解為基本行為,所述基本行為中的每一個由至少一個控制框定義,所述控制框在至少一個流程圖內(nèi)互連。有益的是,至少兩個行為主幀根據(jù)相同的時間線來進(jìn)行,并且每一個包括連接到所述第二行為主幀的至少一個控制框的所述第一行為主幀的至少一個控制框。有益的是,至少一個控制框包括至少一個第二控制框。有益的是,所述第二控制框使得所述用戶能夠設(shè)置高級控制框的操作參數(shù)。有益的是,所述控制框包括可以直接由機器人解釋的腳本,所述程序可直接由用戶修改。有益的是,所述控制框包括至少一個輸入和至少一個輸出。有益的是,至少一個第一控制框的至少一個輸出通過用于傳送表示事件的信號的連接器而鏈接到至少一個第二控制框的至少一個輸入。有益的是,所述移動機器人包括頭和至多四個肢。有益的是,所述動作是選自至少包括頭和至多四個肢的一組部件的、并且被至少一個電機的旋轉(zhuǎn)限定的機器人的至少一部件的運動。有益的是,所述至少一個電機的所述至少一個旋轉(zhuǎn)由所述用戶對于位于運動屏幕上的光標(biāo)的動作來定義,該動作表示要被設(shè)置進(jìn)行運動的所述機器人的所述部件。本發(fā)明還公開了一種計算機程序,用于實現(xiàn)用于編輯和控制移動機器人的動作的方法;以及公開了一種編輯和控制系統(tǒng),其包括所述程序和能夠從所述編輯和控制系統(tǒng)接收指令的機器人。本發(fā)明還提供了允許對由所述機器人執(zhí)行的命令進(jìn)行用戶友好的編輯的優(yōu)點,所述機器人允許使用預(yù)編程的行為和運動控制框。以分層結(jié)構(gòu)來組織所述框,該分層結(jié)構(gòu)使得有可能將復(fù)雜行為分解為基本行為??梢杂媚軌蛑苯佑蓹C器人解釋的腳本語言來編程所述基本行為。以模塊來組織所述腳本,所述模塊使用通用數(shù)據(jù)結(jié)構(gòu)并且因此彼此獨立。用戶可以在分層行為樹的所有層介入。用戶也可以在樹的一個分支的行為和屬于樹的另一個分支的其他行為之間建立交互。他或她也可以在機器人的基本運動層介入,所述機器人的基本運動層確定給定的行為。此外,所述系統(tǒng)與多個開發(fā)環(huán)境(語言,特別是諸如Python、 URBI ;Windows XP, Mac OS、UNIX 等)兼容。


通過下面的多個示例性實施例的說明以及附圖,將更好地理解本發(fā)明,并且其各種特征和優(yōu)點將變得清楚,在附圖中圖1是在本發(fā)明的一個實施例中的用于編輯和編程機器人的行為的功能架構(gòu)的圖;圖2是在本發(fā)明的一個實施例中的用于編輯和編程機器人的行為的系統(tǒng)的主屏幕的視圖;圖3是在本發(fā)明的一個實施例中的使得用戶能夠編輯機器人的行為和運動層的屏幕的視圖;圖4 是示出在本發(fā)明的一個實施例中的連接來用于編輯和編程要由機器人執(zhí)行的行為主幀的行為控制框的屏幕的視圖;圖5是在本發(fā)明的一個實施例中的用于編輯和編程機器人的行為的系統(tǒng)的控制框的架構(gòu)的功能流程圖;圖6是示出在本發(fā)明的一個實施例中的、在連接來用于編輯和編程要由機器人執(zhí)行的行為主幀的行為控制框之間的不同類型的連接的視圖;圖7是示出在本發(fā)明的一個實施例中的通過在虛擬機器人的電機的圖形表示上的直接動作來進(jìn)行示例性編程的視圖;圖8a和8b是說明在本發(fā)明的一個實施例中的在所分配的時間中不可能執(zhí)行的機器人的運動的示例的兩個屏幕的視圖;圖9a、9b和9c是說明在本發(fā)明的一個實施例中的編輯和控制機器人的行為的復(fù)雜示例的屏幕的視圖;圖10a、IOb和IOc是說明在本發(fā)明的一個實施例中的編輯和控制與幀時間軸或時間線同步的機器人的行為序列的示例的屏幕的視圖;圖11說明在本發(fā)明的一個實施例中的允許機器人的行為的執(zhí)行的直接編程的示例性腳本。
具體實施例方式圖1是在本發(fā)明的一個實施例中的用于編輯和編程機器人的行為的功能架構(gòu)的圖。由本發(fā)明的方法和系統(tǒng)控制的機器人可以是類人機器人,該類人機器人具有頭、 軀干和四肢,每一個部件被關(guān)節(jié)連接,每一個關(guān)節(jié)被一個或多個電機控制。本發(fā)明使得系統(tǒng)的用戶能夠通過下述方式來控制這樣的機器人建立行為,該行為是在虛擬機器人上模擬的,并且在通過有線或無線鏈路連接到系統(tǒng)的真實機器人上被執(zhí)行。它涉及在為了該目的而編程的計算機的屏幕上觀看、模擬和引起要執(zhí)行的行為 (諸如行走——直向前、向右或向左走η步;“你好”——手臂之一在頭上方的運動;語音等)和(頭的、肢的部分的、給定角度的)運動。

由具有時間維度的事件觸發(fā)的命令聯(lián)連方式。通過框或“控制框” 10在本發(fā)明的語義中表示由事件觸發(fā)的命令。框是樹形結(jié)構(gòu)的編程結(jié)構(gòu),其可以包括隨后定義的下面的元素的一個或多個-“時間線”或幀時間軸20 ;-“圖”和流程圖70-腳本 90控制框通常通過連接互連,該連接經(jīng)常從一個框向另一個框發(fā)送事件信息項,如下面的描述中詳細(xì)描述的。任何幀直接或間接地連接到初始化機器人的行為/運動情況的 “根框”。幀時間軸20表示機器人的行為和運動必須符合的時間約束,如在其中插入所述幀時間軸的框中所限定的。以下在說明書和權(quán)利要求中,將使用術(shù)語時間線,其通常被接受以傳送在編程領(lǐng)域中的相同含義。時間線因此產(chǎn)生幀的行為和運動的同步。它被細(xì)分為與被定義為每秒幀數(shù)(FPS)的滾動速度相關(guān)聯(lián)的幀。用戶可以將每一個時間線的FPS參數(shù)化。 默認(rèn)地,F(xiàn)PS可以被設(shè)置為給定值,例如,15FPS。時間線可以包括 -一個或多個行為層30,每一個包括一個或多個行為主幀50,行為主幀50繼而可以包括一個或多個圖或“流程圖” 70,圖或“流程圖” 70事實上是也可以直接地附接到更高級框的多組框,而不通過行為層或時間線;-一個或多個運動層40,其中每一個包括一個或多個運動主幀60,該主幀60可以包括一個或多個運動屏幕80。行為層定義了一組機器人的行為或行為主幀??梢栽谕粋€框內(nèi)定義多個行為層。它們?nèi)缓蟊痪幊桃员阋杂煽虻臅r間線同步的方式來運行。行為層可以包括一個或多個行為主幀。行為主幀定義機器人的行為,諸如行走 (行走)、說話(“說”)、播放音樂(“音樂”)等。在本發(fā)明的系統(tǒng)中預(yù)編程了特定數(shù)量的行為,以由用戶從后面在說明書中詳細(xì)說明的庫中以簡單的“拖放”操作來直接地進(jìn)行插入。 每一個行為主幀由觸發(fā)事件定義,該觸發(fā)事件是幀的開始,在此時幀被插入到時間線中。僅由另一個行為主幀在其后被插入,或如果定義了結(jié)束事件來定義該行為主幀的結(jié)束。運動層定義了機器人的一組運動,該一組運動被一個或多個連續(xù)運動主幀編程, 該一個或多個連續(xù)運動主幀將機器人的關(guān)節(jié)的電機的運動編組在一起。這些要執(zhí)行的運動由可以被運動屏幕上的動作編程的所述電機的到達(dá)的角位置來定義,下面在說明書中詳細(xì)地描述所述動作。通過框的時間線來同步同一框的所有運動主幀。通過到達(dá)幀來定義運動主幀。離開幀是前一個運動主幀的結(jié)尾的幀或框的開始事件的幀。短語“動作主幀”用于表示行為主幀和運動主幀。有可能并行地執(zhí)行多個動作主幀(行為或運動),只要它們附接到同一時間線。流程圖是一組互連的框,如下詳細(xì)所述。每一個框可以繼而包括附接新的行為或運動層的其他時間線。腳本是可以由機器人直接地執(zhí)行的程序。包括腳本的框不包括任何其他元素。圖2是在本發(fā)明的一個實施例中的用于編輯和編程機器人的行為的系統(tǒng)的主屏幕的視圖。右手部件2. 1包括要控制的機器人的虛擬圖像,它使得有可能產(chǎn)生命令的執(zhí)行的模擬。機器人可以是任何類型的,但是本發(fā)明在具有頭、身體和肢的人或動物形狀的機器人的情況中特別有益。左手部件2. 2給出了對在計算機上存儲的行為庫的訪問。這些行為是可再用的部件,這些可再用的部件可以用于定義頻繁使用的基本行為,諸如行走、跳舞、說話、眼睛或其他LED的接通等。中心部件2. 3用于組裝從庫2. 2獲取的行為以編輯它們,并且以流程圖形式的行為序列來組裝它們,如在下面的說明書中詳細(xì)指示的。圖3是在本發(fā)明的一個實施例中的使得用戶能夠編輯機器人的行為和運動層的屏幕的視圖。如在部件3.1 (行為層)和3.2 (運動層)中可以看到的,可以在行為類型和運動類型中定義多個層,并且在每一個層中,可以創(chuàng)建多個主幀。以下在說明書中描述行為類型的層。后面將在說明 書中描述運動類型的層的主幀的創(chuàng)建。在此解釋用于編輯運動主幀的模態(tài)??梢栽谶\動層內(nèi)或從一個運動層到另一個運動層復(fù)制或移動序列。在該第二種情況下,可能不能執(zhí)行運動,因為向同一個電機提供了沖突的命令??梢酝ㄟ^例如產(chǎn)生線性或指數(shù)類型的插入來平滑在運動序列之間的過渡。還可以在適用于其中運動本身對稱的對稱構(gòu)件的序列中復(fù)制對于上或下肢定義的序列??梢栽诟綀D的部件3. 3中看出,在運動類型的層中,也可能在軸的系統(tǒng)中看到機器人的每一個部件的電機的趨勢,在該軸的系統(tǒng)中,X軸是行為和運動層的時間線,并且Y 軸是可以為正或負(fù)的每一個電機的旋轉(zhuǎn)角度。在本發(fā)明的一個示例性實施例中,機器人可以包括多個電機。通過在X軸和/或在Y軸上移動電機的停止點來修改運動。一些電機運動不是相互兼容的,并且不能被執(zhí)行。圖4是示出在本發(fā)明的一個實施例中的、連接來編輯和編程要由機器人執(zhí)行的行為序列的行為控制框的屏幕的視圖。行為控制框是根據(jù)本發(fā)明的用于編輯和控制機器人的系統(tǒng)的基本構(gòu)建塊。行為控制框定義了一個或多個動作,并且具有一個或多個輸入和一個或多個輸出。在圖4的示例中,輸入是在圖2的屏幕2. 3的左上處的“Start of behavior sequence X (行為序列X 的開始)”事件。這個點通過弧連接到位于第一“Movement (運動)”框的左面的輸入之一。 所述框的輸出連接到第二 “Hello (你好)”框的輸入之一。該第二框的輸出連接到在屏幕的右上處的“End of behavior sequence X(行為序列X的結(jié)尾)”事件。通過從圖2的庫 2. 2復(fù)制對應(yīng)元素(拖放操作)來在屏幕中創(chuàng)建這兩個框。已經(jīng)通過使用鼠標(biāo)鏈接輸入/ 輸出點來圖形地創(chuàng)建連接。如在對于圖1的注釋中所指示的,在本發(fā)明的一個實施例中,框可以具有三種類型-腳本框,其包括計算機語言的一系列指令;所使用的語言可以是機器人控制專用語言,諸如URBITM ;-流程圖框,其包括多個框,例如包括使得用戶能夠定義由另一個框使用的參數(shù) (例如,行駛距離)的框;-包括具有一個或多個運動層和/或一個或多個行為層的時間線的框。圖5是在本發(fā)明的一個實施例中的用于編輯和編程機器人的行為的系統(tǒng)的框的架構(gòu)的功能流程圖。該圖的流程圖匯總了由框提供的各種可能腳本、流程圖、時間線,該時間線一方面具有行為主幀并且另一方面具有由行為構(gòu)成的另一個流程圖。圖6是示出在本發(fā)明的一個實施例中的、在連接來編輯和編程要由機器人執(zhí)行的行為主幀的行為框之間的不同類型的鏈接的視圖。存在多個可能輸入-OnStart 開始輸入,其啟動框的執(zhí)行;-OnStop 由叉表示的輸入,當(dāng)其被激活時停止框的執(zhí)行;然而,僅在動作的結(jié)尾出現(xiàn)停止,因為在執(zhí)行期間的中斷會將機器人置于不穩(wěn)定位置(例如,“Walk(行走)”框的情況);-OnStopped 當(dāng)結(jié)束框的執(zhí)行時激活的輸出;該輸出可以連接到其他框的輸入; 當(dāng)連接到該輸入的在前框的行為已經(jīng)被完全執(zhí)行時將激活這些輸入;-OnLoad 在框的結(jié)構(gòu)中隱藏的輸入;當(dāng)打開多級框時這個輸入出現(xiàn);當(dāng)多級框被完全加載到存儲器中時激活該輸入,所述加載僅在更高級框的激活時出現(xiàn);-連接到ALMemory的輸入每當(dāng)在A LMemory中計算的值改變時該輸入被激活;〇存儲器ALMemory是機器人內(nèi)部的數(shù)據(jù)庫;它是短期存儲器給定變量的最新值被插入其中(可能具有較短的歷史,即,變量的幾個在前值),并且存儲器可以注意通知被一個或多個變量的改變影響的模塊;它包含例如每20ms更新的來自所有傳感器的信息電機的角度值、電流、溫度等;在機器人上的執(zhí)行期間,該存儲器可以包含超過4000個變量; 在機器人上運行或與其連接的所有模塊可以與ALMemory進(jìn)行通信,以插入要公布的值或獲得(register)它們感興趣的變量,并且對于它們的改變作出反應(yīng)(示例對于電池值作出反應(yīng),以使得當(dāng)電池電平低于特定閾值時機器人尋找其充電器);-事件輸入當(dāng)激活該輸入時,修改在框中的執(zhí)行期間的行為;〇作為說明性示例,我們采用以規(guī)則的速率來刺激其輸出之一的“定時器”框的情況每η秒“事件輸入”類型的輸入等待“數(shù)量”類型的參數(shù),并且如果它接收到關(guān)于這個輸入的信號則改變框的步調(diào);因此,如果值‘3’的信號到達(dá)它的輸入,則將僅在每3秒刺激輸出;-準(zhǔn)時輸出在框中的行為的執(zhí)行期間的任何時刻可以激活該輸出;〇作為說明性示例,我們采用面部檢測框的情況這個框具有“數(shù)量”類型的準(zhǔn)時輸出;當(dāng)正在執(zhí)行該框時,它在每次機器人在其視場內(nèi)識別與前一個時刻作相比不同數(shù)量的面部時刺激這個輸出;如果過去沒有面部,并且如果機器人現(xiàn)在看到面部,則它使用信息 ‘1’來刺激其輸出;如果第二個面部到達(dá),則它發(fā)送信息‘2’,并且如果該兩個面部稍后消失,則它發(fā)送‘O’ ;因此恢復(fù)事件“識別了面部”,并且識別了面部的數(shù)量。通過鏈路來互連框和事件,如在圖6中所示。鏈路在輸入和輸出之間傳送事件信號??梢杂卸喾N類型的事件信號-激活信號,沒有其他信息;-攜帶一個或多個數(shù)量(例如,步驟的數(shù)量或距離)的信號;-攜帶一個或多個字符串(例如,必須被傳送到機器人的語音合成模塊的文本)的
信號;-復(fù)合信號,其可以包括多個信號,每一個信號是前面的類型之一。有益地,通過具有不同紋理的顏色或線來以不同方式圖形地表示這些鏈路。一些框僅接受某些預(yù)定義類型的輸入,而不接受其他類型的輸入??梢栽趯儆诓煌男袨橹鲙窃谕粫r間線上具有交叉的兩個框之間建立連接。對于這一點,本發(fā)明的系統(tǒng)的用戶可以在時間線上選擇時刻,并且編輯在所述時刻處活躍的所有行為主幀。因此,如果第一主幀被加載到時間線內(nèi)并且第二主幀以及其框和其連接出現(xiàn),則用戶可以移動或修改框和它們之間的連接,因此動態(tài)地修改將由機器人執(zhí)行的行為。圖7是示出在本發(fā)明的一個實施例中的通過在虛擬機器人的電機的圖形表示上的直接動作來進(jìn)行編程的視圖。圖7表示機器人的左臂。在這個示例中,該手臂具有臂肩關(guān)節(jié)和手臂關(guān)節(jié),該臂肩關(guān)節(jié)具有由兩個電機致動的兩個正交自由度,該手臂關(guān)節(jié)也具有兩個自由度??梢酝ㄟ^使用鼠標(biāo)拖動 每個電機的對應(yīng)游標(biāo)來直接地控制該關(guān)節(jié)的4個電機的旋轉(zhuǎn)角度。對于每一個電機顯示角度值。在本發(fā)明的標(biāo)準(zhǔn)實施例中,由虛擬機器人的關(guān)節(jié)的電機進(jìn)行的命令的執(zhí)行可能需要大約1秒。在未在這個時間內(nèi)執(zhí)行運動的情況下,這可能表示該運動是不可行的,特別是因為存在反對運動的執(zhí)行的障礙。狀態(tài)指示符示出是否記錄受控的運動。如果狀態(tài)指示符在“未記錄”位置,則這可能表示該運動是不可執(zhí)行的,特別是因為在依賴時間線的運動層調(diào)用的電機不能在依賴于同一時間線的另一個運動層中調(diào)用。有可能單獨地或?qū)τ诮o定部件觀看在圖3中所示的電機的每一個的時間線/角度。如已經(jīng)指示的,在該控制模式中還可以將對于肢編程的運動傳送到對稱肢。在該情況下,電機的運動是對稱的。在這個屏幕中,可以編程主從模式,其中,連接到本發(fā)明的編輯和編程系統(tǒng)的物理機器人被系統(tǒng)控制,而虛擬機器人被物理機器人控制。圖8a和8b是分別說明在本發(fā)明的一個實施例中的不可能按照命令執(zhí)行的機器人的運動的示例和使得它能夠執(zhí)行的運動調(diào)整的示例的兩個屏幕的視圖。在圖8a中,可以看出,表示所命令的運動的線未遇到它正常應(yīng)當(dāng)遇到的下一個運動序列的位置(由小正方形具體化)。在離開位置和到達(dá)位置之間,僅有5個運動序列步驟。 在給定的對于電機設(shè)置的速度限制(它可以例如根據(jù)電機在例如4和Srev/s之間改變)、 幀滾動速度(在該情況下為30FPS)和要由電機覆蓋的角振幅(在附圖的示例中為從-52 度到+37度)的情況下,不能執(zhí)行該命令。在圖8b中,可以看出,一到達(dá)不可執(zhí)行運動主幀所位于的幀,則電機移動到下一個命令的執(zhí)行。可以看出,不可能的條件取決于由用戶選擇的FPS的數(shù)量和電機限制速度,注意后一個參數(shù)僅接受小變化,并且取決于電機特性。圖9a、9b和9c是說明在本發(fā)明的一個實施例中的編輯和控制機器人的行為的復(fù)雜示例的屏幕的視圖。圖9a說明了下述情況通過在行為類型層中通過在框編輯窗口中增加第一 “Dance”框進(jìn)行創(chuàng)建來產(chǎn)生第一行為序列(在behavior Iayerl上的主幀1),所述第一序列與motion Iayerl中的時間線同步。在第一序列主幀1中的框編輯窗口中增加第二 “FaceLed” 框(面部的 LED)。圖9b和9c是圖9a的兩種變化形式,其中-在圖9b中,其他LED替代FaceLed,并且全部鏈接到框的輸入,這意味著將并行地執(zhí)行對應(yīng)的行為(LED的接通);-在圖9c中,在FaceLed之前的序列中增加其他LED,這意味著在FaceLED的接通之前連續(xù)地進(jìn)行它們的接通。圖10a、10b和IOc是說明在本發(fā)明的一個實施例中的編輯和控制與時間線同步的機器人的行為序列的示例的屏幕的視圖。圖IOa示出 通過時間線的幀索引(在附圖的示例中的100)參數(shù)化的 “GotoAndStop”框。當(dāng)激活這個框時,執(zhí)行跳到由框的參數(shù)指定的步驟,并且停止當(dāng)前行為的執(zhí)行。如在圖IOb中所示,也存在“GotoAndPlay”行為框,其與“GotoAndStop”行為框區(qū)別在于不是停止在所涉及的行為層中的時間的運行,而是它可以從指定步驟運行它。在所說明的情況下,兩個框“GotoAndPlay”和“GotoAndStop”連接到“Bumper (緩沖器)”框的輸出,“Bumper”框分別包括機器人的左腳和右腳的沖擊傳感器(在一個實施例中,機器人在每只腳上有兩個沖擊傳感器)。圖IOc示出緩沖器框的內(nèi)部視圖,其中,說明了傳感器的兩個“左”(左腳的傳感器)和“右”(右腳的傳感器)傳感器。返回到圖10b,將可以看到-如果激活左腳的傳感器中的至少一個(左腳在由傳感器檢測的障礙物上的沖擊),則停止當(dāng)前行為(在附圖的示例中的跳舞),但是其中插入行走行為的行為層的時間線繼續(xù)運行;-如果啟動右腳的傳感器中的至少一個(右腳在由傳感器檢測的障礙物上的沖擊),則停止當(dāng)前行為(在附圖的示例中的行走),并且暫停其中插入行走行為的行為層的時間線。圖11說明在本發(fā)明的一個實施例中的允許對機器人的行為的執(zhí)行的直接編程的腳本的示例。該圖的示例是用于接通機器人的左耳的LED的腳本(LEarLed)。腳本是在此以 Python語言編寫的模塊,Python語言是解釋語言。用3個步驟來進(jìn)行腳本框的建立_框的實例化;_將框注冊為能夠由鏈接到它的其他框調(diào)用的模塊;_框的初始化。用戶不在前兩個步驟中介入。他或她控制第三步驟。因為它傳統(tǒng)上使用腳本語言,所以每一個模塊由可以在一個或多個類中使用的方法構(gòu)成。對于一個或多個模塊定義屬性(或變量)。用戶能夠完全或部分地修改腳本。系統(tǒng)的模式是直接可訪問的。一些模塊管理機器人的基本功能(ALMemory用于其存儲器、ALMotion用于運動功能、ALLed用于 LED等)。ALMotion模塊提供了用于移動機器人的接口(在編程接口的意義上)。它包含諸如“向前行走一米”的非常高級的方法,或較低級方法“在1. 5秒中移動‘HeadPitch’關(guān)節(jié)至多30度,使用內(nèi)插以平滑運動”。ALLed模塊提供對機器人的所有LED的訪問;因此可以調(diào)整每一個LED或一組LED(例如一次調(diào)整左眼的全部LED)的強度、顏色(當(dāng)LED可以改變顏色時)。也存在更高級的方法,使得可以旋轉(zhuǎn)一組LED (諸如耳部的LED)。用于編輯和控制本發(fā)明的移動機器人的運動的系統(tǒng)可以被安裝在具有傳統(tǒng)操作系統(tǒng)(Windows、Mac、UNIX)的市場標(biāo)準(zhǔn)的個人計算機上。所使用的腳本語言或多種腳本語言必須被安裝在計算機上。如果系統(tǒng)用于直接地控制物理機器人,則需要鏈路,WiFi型無線電鏈路或有線鏈路。這些鏈路也可以用于通過局域網(wǎng)或遠(yuǎn)程網(wǎng)絡(luò)來獲得與其他用戶交換的行為腳本。編輯和控制系統(tǒng)的虛擬機器人是要由系統(tǒng)控制的物理機器人的圖像,該虛擬機器人必須能夠解釋和執(zhí)行從系統(tǒng)接收的命令。根據(jù)本發(fā)明的同一編輯和控制系統(tǒng)可以控制多個機器人。這些機器人中的一些可以具有不同的物理外觀——類人、動物等——和甚至不同的結(jié)構(gòu)(不同的自由度數(shù)量;僅 執(zhí)行運動的簡單機器人和可以執(zhí)行運動和行為的其他機器人)。然而,能夠被本發(fā)明的系統(tǒng)控制的機器人必須具有必要的通信接口和適合于執(zhí)行根據(jù)本發(fā)明的編輯和控制系統(tǒng)的框的腳本的軟件模塊。如上所述的示例被給出作為本發(fā)明的實施例的說明。它們不以任何方式限制由所附的權(quán)利要求限定的本發(fā)明的范圍。
權(quán)利要求
1.一種使得用戶能夠編輯和控制運動機器人的至少一個動作的方法,所述動作屬于行為類型或運動類型的一組動作,并且屬于至少一個主動作幀,其中,所述主動作幀連接到選自一組先前事件和后續(xù)事件的至少一個事件,并且根據(jù)由時間線預(yù)定義的時間約束來進(jìn)行。
2.根據(jù)權(quán)利要求1所述的編輯和控制方法,其中,所述主動作幀屬于至少一個動作層。
3.根據(jù)權(quán)利要求2所述的編輯和控制方法,其中,所述動作層屬于控制框。
4.根據(jù)權(quán)利要求1所述的編輯和控制方法,其中,所述主動作幀是行為類型的,并且被分解為基本行為,所述基本行為的每一個由至少一個控制框定義,所述控制框在至少一個流程圖內(nèi)互連。
5.根據(jù)權(quán)利要求4所述的編輯和控制方法,其中,至少兩個行為主幀根據(jù)相同的時間線來進(jìn)行,并且每一個包括連接到第二行為主幀的至少一個控制框的第一行為主幀的至少一個控制框。
6.根據(jù)權(quán)利要求4所述的編輯和控制方法,其中,至少一個控制框包括至少一個第二控制框。
7.根據(jù)權(quán)利要求6所述的編輯和控制方法,其中,所述第二控制框使得所述用戶能夠設(shè)置更高級控制框的操作參數(shù)。
8.根據(jù)權(quán)利要求4所述的編輯和控制方法,其中,所述控制框的至少一個包括腳本,所述腳本可以由所述機器人直接地解釋,所述腳本可直接地由所述用戶修改。
9.根據(jù)權(quán)利要求3所述的編輯和控制方法,其中,所述控制框包括至少一個輸入和至少一個輸出。
10.根據(jù)權(quán)利要求9所述的編輯和控制方法,其中,至少一個第一控制框的至少一個輸出通過用于傳送表示事件的信號的連接器而連接到至少一個第二控制框的至少一個輸入。
11.根據(jù)權(quán)利要求1所述的編輯和控制方法,其中,所述移動機器人包括頭和至多四個肢。
12.根據(jù)權(quán)利要求11所述的編輯和控制方法,其中,所述動作是選自至少包括所述頭和至多四個肢的一組部件的、被至少一個電機的旋轉(zhuǎn)限定的所述機器人的至少一部件的運動。
13.根據(jù)權(quán)利要求12所述的編輯和控制方法,其中,所述至少一個電機的所述至少一個旋轉(zhuǎn)由所述用戶對位于運動屏幕上的光標(biāo)的動作來定義,所述動作表示要被設(shè)置進(jìn)行運動的所述機器人的所述部件。
14.一種計算機程序,包括程序代碼指令,使得當(dāng)在計算機上執(zhí)行所述程序時可以執(zhí)行根據(jù)權(quán)利要求1至13的任何一項所述的方法,所述程序適用于使得用戶能夠編輯和控制移動機器人的至少一個動作,所述動作屬于一組行為和運動,所述動作屬于至少一個主動作幀,并且其中,所述動作包括至少一個控制框,其中,所述主動作幀連接到選自一組先前事件和后續(xù)事件的至少一個事件,并且根據(jù)由時間線預(yù)定義的時間約束來進(jìn)行。
15.一種使得用戶能夠編輯和控制移動機器人的至少一個動作的系統(tǒng),所述系統(tǒng)包括計算機、適合用于將所述計算機與所述移動機器人連接的通信鏈路,所述計算機包括用于顯示所述移動機器人的虛擬圖像的模塊,其中,所述系統(tǒng)包括在權(quán)利要求14中所述的計算機程序。
16. 一種移動機器人,包括計算機程序;以及,存儲器,適合用于解釋由在權(quán)利要求15 中所述的編輯和控制系統(tǒng)發(fā)送的命令。
全文摘要
本發(fā)明涉及用于編輯和控制移動機器人的動作的系統(tǒng)和方法。它特別允許根據(jù)事件邏輯和根據(jù)時間邏輯來創(chuàng)建和修改行為和運動,后者控制事件邏輯并且因此允許不同機器人子組件的行為和運動的同步。為此,以行為和運動層來組織該系統(tǒng),該行為和運動層包括動作序列和時間線。可以以通過傳送信息的信號互連的框來編程動作。以分層結(jié)構(gòu)來組織框,其最低級包括可以被虛擬機器人和在適當(dāng)時被物理機器人解釋的腳本,虛擬機器人模擬命令的執(zhí)行。也可以通過運動屏幕來圖形地控制機器人的運動。
文檔編號G05B19/409GK102448678SQ201080022802
公開日2012年5月9日 申請日期2010年5月25日 優(yōu)先權(quán)日2009年5月26日
發(fā)明者B·邁索尼耶, J·蒙索 申請人:奧爾德巴倫機器人公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1