用于產(chǎn)生機器人的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種用于自動產(chǎn)生機器人設(shè)備的方法,其中,所述方法包括以下步驟:接收用戶輸入,以確定所述機器人設(shè)備的一個或多個任務的任務規(guī)定;基于所提供的任務規(guī)定來確定包括一個或多個任務的任務列表;基于所提供的任務列表來確定一個或多個機械組件、一個或多個處理組件以及執(zhí)行一個或多個任務所需的邏輯組件;以及產(chǎn)生執(zhí)行一個或多個任務所需的邏輯組件,并將所述邏輯組件嵌入與所述機器人設(shè)備相關(guān)聯(lián)的可記錄介質(zhì)上。
【專利說明】用于產(chǎn)生機器人的方法和系統(tǒng)
[0001]分案說明
[0002]本申請是申請日為2008年I月11日,申請?zhí)枮?00880008371.7,題為“用于產(chǎn)生機器人的方法和系統(tǒng)”的中國專利申請的分案申請。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明總體涉及機器人學領(lǐng)域,更具體地涉及用于產(chǎn)生機器人設(shè)備的改進的方法和系統(tǒng)。
【背景技術(shù)】
[0004]許多年以前已經(jīng)預測過,而現(xiàn)在繼續(xù)著這種預測,即在將來數(shù)年,普通消費者對機器人設(shè)備的使用的依賴性將會不斷增加。盡管目前有許多采用機器人設(shè)備執(zhí)行特定任務的方法和系統(tǒng),但這些機器人設(shè)備一般用于專門用途。
[0005]機器人的使用尚未變得像所預測的那樣流行的一個主要原因是:設(shè)計和開發(fā)哪怕用于執(zhí)行簡單任務的簡單機器人都需要大量的時間和努力。此外,盡管為設(shè)計機器人已經(jīng)付出了相當多的努力,但在機器人開發(fā)方面存在限制。設(shè)計機器人方面目前的限制包括:設(shè)計和開發(fā)機器人所需的技藝的復雜特性;缺乏將目前機器人設(shè)計擴展到新機器人設(shè)計的可移植性;以及機器人設(shè)備不能對非預見的情形或情況作出響應。
【發(fā)明內(nèi)容】
[0006]在本發(fā)明的第一方面,提供了一種用于完全或部分自動產(chǎn)生機器人設(shè)備的方法。該方法包括以下步驟:引出和接收用戶輸入,以確定所述機器人設(shè)備的一個或多個任務的任務規(guī)定;基于所提供的任務規(guī)定來確定包括一個或多個任務的任務列表;基于所提供的任務列表來確定一個或多個運動組件、一個或多個處理組件以及執(zhí)行一個或多個任務所需的邏輯組件;以及產(chǎn)生執(zhí)行一個或多個任務所需的邏輯組件,并將所述邏輯組件嵌入與所述機器人設(shè)備相關(guān)聯(lián)的可記錄介質(zhì)上。
[0007]在本發(fā)明的第二方面,提供了一種創(chuàng)建機器人設(shè)備的方法,其中提供了所述機器人設(shè)備操作的環(huán)境,該方法包括:輸入對所述環(huán)境的區(qū)域進行限定的地圖;輸入起始點,所述起始點指示了所述區(qū)域內(nèi)所述機器人設(shè)備將從其開始操作的位置;沿從所述起始點發(fā)出的、所述機器人設(shè)備將遵循的路線輸入一個或多個停止點;以及輸入所述機器人設(shè)備在起始點、停止點或沿所述路線要完成一個或多個任務。
[0008]在本發(fā)明的另一方面,提供了一種用于規(guī)定機器人設(shè)備要完成的一個或多個任務的方法。該方法包括:規(guī)定所述機器人設(shè)備是物理機器人設(shè)備還是虛擬機器人設(shè)備;規(guī)定所述機器人設(shè)備將要操作的位置;規(guī)定所述機器人設(shè)備將要執(zhí)行的活動;以及提供與所述機器人設(shè)備將要執(zhí)行的活動有關(guān)的詳細信息。
[0009]在本發(fā)明的另一方面,提供了一種由在團隊環(huán)境中進行操作的多個機器人設(shè)備完成一個或多個任務的方法。該方法包括:將所述多個機器人設(shè)備中的一個或多個選擇為控制機器人設(shè)備;在所述控制機器人設(shè)備處確定所述多個機器人設(shè)備中的一個或多個是否需要新的機器人規(guī)定;從所述控制機器人設(shè)備向機器人服務器發(fā)送針對新的機器人規(guī)定的請求;以及在所述多個機器人設(shè)備中的所述一個或多個處接收新的機器人規(guī)定。
【專利附圖】
【附圖說明】
[0010]為了更好地理解此處描述的系統(tǒng)和方法的實施例,以及更清楚地示出如何實現(xiàn)這些實施例,將以示例方式參照附圖,在附圖中:[0011]圖1是示出了機器人產(chǎn)生系統(tǒng)的組件的框圖;[0012]圖2是示出了機器人設(shè)備的組件的框圖;[0013]圖3是示出了產(chǎn)生器的組件的框圖;[0014]圖4是示出了知識庫模塊的組件的圖;[0015]圖5是示出了機器人產(chǎn)生方法的步驟的流程圖;[0016]圖6是示出了任務規(guī)定方法的步驟的流程圖;[0017]圖7是示出了任務產(chǎn)生方法的步驟的流程圖;[0018]圖8是示出了環(huán)境規(guī)定方法的步驟的流程圖;[0019]圖9是示例地圖編輯器窗口的屏幕截圖;[0020]圖10是示例地圖編輯器窗口的另一屏幕截圖;[0021]圖11是示例地圖編輯器窗口的另一屏幕截圖;[0022]圖12是示例地圖編輯器窗口的另一屏幕截圖;[0023]圖13是示例地圖編輯器窗口的另一屏幕截圖;以及[0024]圖14A和圖14B是任務規(guī)定窗口的示例屏幕截圖。
【具體實施方式】
[0025]應當理解,為了示意簡單清楚,在認為適當?shù)那闆r下,在附圖中可以重復使用附圖標記,以指示對應的或相似的元件或步驟。另外,為了提供對此處描述的示例實施例的詳盡理解,闡述了許多具體細節(jié)。然而,本領(lǐng)域普通技術(shù)人員應當理解,此處描述的實施例可以在沒有這些具體細節(jié)的情況下實施。在其他情況下,未詳細描述公知的方法、過程和組件,以免不能突出此處描述的實施例。此外,該描述不應被視為以任何方式限制此處描述的實施例的范圍,而應被視為僅僅描述了此處描述的各種實施例的實現(xiàn)方式。
[0026]現(xiàn)在參照圖1,圖1是示出了機器人產(chǎn)生系統(tǒng)10的組件的框圖。機器人產(chǎn)生系統(tǒng)10用于產(chǎn)生機器人設(shè)備12,機器人設(shè)備12可以是真實機器人設(shè)備、虛擬機器人設(shè)備以及包括真實和虛擬組件的混合在內(nèi)的機器人設(shè)備(被稱作混合現(xiàn)實機器人設(shè)備)。示例實施例中的系統(tǒng)10由一個或多個機器人設(shè)備12組成。一個或多個機器人設(shè)備12組成的組可以被稱作機器人團隊14。機器人設(shè)備12通過機器人服務器20來與指令進行交互并接收指令。機器人服務器20用于接收與所創(chuàng)建的機器人設(shè)備12有關(guān)的指令,并執(zhí)行對與機器人設(shè)備12相關(guān)聯(lián)的組件進行確定所需的處理。機器人服務器20還被稱作機器人控制器,并且在如下所述的示例實施例中,機器人服務器20由機器人產(chǎn)生器應用22、機器人產(chǎn)生接口24和知識數(shù)據(jù)庫26組成。機器人服務器20從通過計算設(shè)備30與機器人服務器20進行通信的一個或多個用戶接收指令。計算設(shè)備30通過任何類型的通信網(wǎng)絡(luò)31來與機器人服務器20進行交互。
[0027]機器人設(shè)備12在所限定的環(huán)境中進行操作,并通過實現(xiàn)任務規(guī)定來執(zhí)行已針對設(shè)備12定義的一個或多個任務。機器人設(shè)備12操作的環(huán)境可以包括真實設(shè)置、仿真設(shè)置或混合現(xiàn)實設(shè)置。這樣的真實環(huán)境的示例包括但不限于:家庭環(huán)境、辦公室環(huán)境、公園、購物中心、商場、加工和制造廠、石油鉆探和采礦環(huán)境、精煉廠、飛行和空間環(huán)境、醫(yī)療和顯微環(huán)境、以及可以關(guān)于其區(qū)域和潛在障礙物來描述的任何其他環(huán)境。在示例實施例中,用戶通常描述環(huán)境的位置(即室內(nèi)、室外、或兩者)、環(huán)境的類型(即虛擬環(huán)境、真實環(huán)境、或混合環(huán)境)、控制的類型(即用戶控制或自控制)。如下以更詳細描述的,用戶可以進一步規(guī)定興趣點、起始點、行進方向以及機器人設(shè)備在環(huán)境內(nèi)的競賽任務。標準的區(qū)別包括但不限于:室內(nèi)環(huán)境、室外環(huán)境或混合環(huán)境;虛擬、物理或混合現(xiàn)實;自控制、用戶控制或用戶引導;而如沿途點之間的行程之類的區(qū)別完全覆蓋了給定區(qū)域或徘徊于給定區(qū)域,或特定障礙物,或者可以與特定應用相關(guān)來規(guī)定特定任務。仿真設(shè)置包括虛擬機器人設(shè)備12可以操作的所限定的任何虛擬環(huán)境,這些虛擬環(huán)境的示例包括仿真中使用的虛擬環(huán)境,如通過仿真提供訓練的視頻游戲和環(huán)境。這些訓練環(huán)境的示例可以包括但不限于:仿真的操作室環(huán)境、仿真的災難/營救環(huán)境以及仿真的空間環(huán)境。混合現(xiàn)實設(shè)置可以包括真實、虛擬或混合現(xiàn)實機器人設(shè)備可以操作的所限定的任何環(huán)境,這些混合現(xiàn)實環(huán)境的示例包括但不限于以下的真實環(huán)境:其中,環(huán)境的一部分是投影到真實環(huán)境中或投影到真實環(huán)境上的虛擬環(huán)境。任務可以包括為使機器人設(shè)備在限定的環(huán)境內(nèi)完成而定義的任何活動或動作。
[0028]機器人團隊14可以包括任意數(shù)目的機器人設(shè)備12。作為機器人團隊一部分的機器人設(shè)備12進行協(xié)作,以執(zhí)行在特定環(huán)境中已針對機器人設(shè)備12定義的任務。機器人團隊14內(nèi)的機器人設(shè)備12可以互相進行交互以完成定義的任務。機器人設(shè)備12之間的交互可以由以下構(gòu)成:傳感器數(shù)據(jù)、動作計劃和/或控制指令的交換;以及對各個其他機器人設(shè)備12的總體操作的控制。
[0029]機器人服務器20是計算設(shè)備,用于產(chǎn)生機器人設(shè)備,更具體地,用于產(chǎn)生與機器人設(shè)備12相關(guān)聯(lián)的固件、硬件和軟件(被稱作邏輯組件)。當用戶希望發(fā)起產(chǎn)生機器人的過程,或者希望與已產(chǎn)生的機器人設(shè)備12進行交互時,通過使用計算站30來接合機器人服務器20。在示例實施例中,多個計算站30可以通過通信網(wǎng)絡(luò)31來訪問機器人服務器20。在備選實施例中,服務器20和計算站可以駐留于相同計算機上,而無需是分離的設(shè)備。機器人服務器20可以是web應用、云計算機(cloud computer)、聯(lián)網(wǎng)計算機、個人計算機、手持計算機,或者可以在移動設(shè)備上找到。
[0030]在示例實施例中,機器人產(chǎn)生器應用22駐留于機器人服務器20上。在備選實施例中,機器人產(chǎn)生器應用22可以分布在兩個或更多個設(shè)備12上。因此,機器人產(chǎn)生器應用22可以被多個計算設(shè)備訪問。參照圖3更詳細地描述機器人產(chǎn)生器應用22。在接合時,機器人產(chǎn)生器應用22允許接收對要產(chǎn)生的機器人設(shè)備12的描述,以便可以創(chuàng)建適當?shù)脑O(shè)計方案。
[0031]機器人產(chǎn)生接口 24用于從用戶接收涉及機器人設(shè)備12的設(shè)計的指令,并與已創(chuàng)建的機器人設(shè)備12進行交互。產(chǎn)生接口 24還根據(jù)機器人設(shè)備12的規(guī)定來產(chǎn)生定制接口,以允許用戶根據(jù)需要控制設(shè)備12的操作。
[0032]在示例實施例中,知識庫模塊26是數(shù)據(jù)存儲器或儲存庫,存儲產(chǎn)生機器人設(shè)備12的組件過程中所使用的多種類型的信息。在示例實施例中,如圖4所示,提供了多種類型的知識庫,其中,機器人產(chǎn)生器應用22訪問并使用這些知識庫,以確定機器人的規(guī)定并創(chuàng)建機器人設(shè)備12。
[0033]機器人制造模塊28接收所有的硬件規(guī)定、軟件規(guī)定和固件規(guī)定,以包括在機器人設(shè)備12中。當機器人制造模塊28已接收到用于創(chuàng)建機器人設(shè)備12的指令時,制造模塊28可以產(chǎn)生芯片上機器人系統(tǒng)(RSOC)。制造模塊可以產(chǎn)生機器人設(shè)備12的組件,以使得機器人設(shè)備可以包括RS0C、機器人規(guī)定、固件下載、固件ROM、軟件模塊、如通過CNC的機械制造、以及MEMS/NEMS制造的任意組合。如在以下解釋的機器人創(chuàng)建方法中由用戶所規(guī)定的,對機器人設(shè)備12的組件的確定將根據(jù)要創(chuàng)建的機器人設(shè)備12的特性、使用和用途而變化。例如,機器人制造模塊28所創(chuàng)建的機器人設(shè)備12的組件可能根據(jù)機器人設(shè)備是用于大規(guī)模市場銷售還是用于一次性創(chuàng)建而變化。制造模塊28接收由各種產(chǎn)生器提供的輸出,然后,使用該信息來制造機器人設(shè)備12。在示例實施例中,由產(chǎn)生器提供的輸出是應當產(chǎn)生的組件的規(guī)定。在示例實施例中,要產(chǎn)生的組件是通過對被稱作高級組件組的內(nèi)容進行標識來描述的。高級組件組可以包括但不限于:發(fā)動機、傳感器、致動器、機械組件、軟件和固件、邏輯和處理組件。這些高級組件組可以進一步子劃分為更具體的組件,如溫度、音頻、視覺、觸覺和環(huán)境傳感器。這些組件可以包括機械組件、處理組件和邏輯組件。在示例實施例中,規(guī)定是以XML格式提供的,并可以表示實際軟件代碼或規(guī)定。關(guān)于與機器人設(shè)備相關(guān)聯(lián)的機械組件,在示例實施例中,規(guī)定包括對在機器人設(shè)備12的組裝中應當使用的機械組件的描述。這些機械組件可以包括但不限于:輪子、接合部、齒輪、底盤、夾持器、傳感器和致動器。這些機械組件可以關(guān)于制造者、制造者的指令、設(shè)備類型、電學要求、固件接口、大小、重量和成本的任意組合來進行描述。在示例實施例中,這些規(guī)定是以如XML之類的文件格式提供的。在接收到這樣的規(guī)定之后,可以手動組裝機器人設(shè)備12的物理組件,或者備選地,可以通過自動化過程來組裝機器人設(shè)備12的物理組件。
[0034]舉例而言,對于已具有執(zhí)行清掃任務這一任務的機器人設(shè)備12,制造模塊28從如下所述的各個產(chǎn)生器接收對機器人設(shè)備進行構(gòu)造所必需的所有物理(機械)組件的規(guī)定。這樣的描述可以包括:與任何傳感器和致動器相關(guān)聯(lián)的各種規(guī)定;以及與關(guān)聯(lián)于設(shè)備12的底盤和底座的機械規(guī)定相關(guān)聯(lián)的各種規(guī)定。該規(guī)定還可以包括電氣和電子組件,這些電氣和電子組件可以包括但不限于:處理器、存儲器、配線、存儲裝置。該規(guī)定還包括軟件、操作系統(tǒng)信息和環(huán)境描述。軟件包括但不限于相應的行為、例程、算法、試探法以及任何人工智能組件。一旦組裝了機器人設(shè)備12,機器人設(shè)備12將其操作所需的適當軟件/固件下載到機器人設(shè)備12。在示例實施例中,基于已由如下所述的各個產(chǎn)生器提供的規(guī)定,制造模塊28創(chuàng)建用于機器人設(shè)備12的軟件/固件。
[0035]可以接合機器人產(chǎn)生服務器20的計算設(shè)備30可以是用戶能向其提供輸入的任何類型的計算設(shè)備,包括但不限于:膝上型計算機、薄線型計算機、大型計算機、手持計算機、視頻游戲類型控制臺計算機、云計算機、蜂窩設(shè)備、以及具有處理能力并可接收輸入的任何其他計算設(shè)備。
[0036]現(xiàn)在參照圖2,其中,在示例實施例中示出了一幅框圖,該框圖示意了機器人設(shè)備12的組件。示例實施例中的機器人設(shè)備12由一個或多個傳感器32、一個或多個致動器34、一個或多個通信信道36、至少一個處理器38以及電源和存儲器(圖中未示出)組成。機器人設(shè)備12由可以存儲于機器人設(shè)備12的外部、內(nèi)部或內(nèi)部與外部組合的各種硬件、軟件、固件組件(邏輯組件)組成。與機器人設(shè)備相關(guān)聯(lián)的傳感器32可以包括視覺傳感器、音頻傳感器、溫度傳感器或用于確定與機器人設(shè)備12操作的環(huán)境有關(guān)的特性的任何其他傳感器。然后,可以將感測到的特性發(fā)送給處理器38,然后在處理器38中可以可選地將其發(fā)送給包括機器人控制器在內(nèi)的允許對該機器人設(shè)備進行外部控制的設(shè)備,或發(fā)送給作為機器人團隊14 一部分的其他機器人設(shè)備12。致動器能夠在相應環(huán)境內(nèi)執(zhí)行各種動作,這樣的動作的示例包括:環(huán)境內(nèi)的運動;以及在環(huán)境內(nèi)與一個或多個對象接合。通信信道36允許與外部組件或設(shè)備進行有線或無線通信。被發(fā)送至外部通信設(shè)備或從外部通信設(shè)備接收的通信允許對傳感器數(shù)據(jù)進行交換,以及允許接收指令以允許控制設(shè)備12。與機器人設(shè)備相關(guān)聯(lián)的處理器38用于執(zhí)行命令,并接收和發(fā)送指令,以使得機器人設(shè)備12將以規(guī)定的方式進行操作。
[0037]基于產(chǎn)生機器人設(shè)備12的組件的過程,將機器人設(shè)備12設(shè)計并實現(xiàn)為在環(huán)境內(nèi)完成一個或多個任務,而無需來自用戶的任何特定指令交互。在該示例實施例中,已將機器人設(shè)備12描述為物理實體,然而應當注意,在備選實施例中,機器人設(shè)備可以在虛擬環(huán)境、仿真環(huán)境或混合現(xiàn)實環(huán)境中表示。
[0038]現(xiàn)在參照圖3,其中,在示例實施例中示出了產(chǎn)生器應用22的組件。產(chǎn)生器應用22用于規(guī)定創(chuàng)建機器人設(shè)備12的用途,然后在不需要任何另外的低級規(guī)定或開發(fā)者編程的情況下創(chuàng)建機器人設(shè)備。因此,產(chǎn)生器應用22允許基于用戶規(guī)定來自動產(chǎn)生要與機器人設(shè)備12相關(guān)聯(lián)的各種硬件、軟件和固件組件。
[0039]在示例實施例中,產(chǎn)生器應用22包括以下組件:任務規(guī)定模塊40、任務產(chǎn)生器模塊42、機器人產(chǎn)生器模塊44、接口產(chǎn)生器模塊46和通信產(chǎn)生器模塊48。與產(chǎn)生器應用22相關(guān)聯(lián)的各種組件能夠同與以下參照圖4更詳細描述的知識模塊26相關(guān)聯(lián)的組件進行交互,因此,這允許產(chǎn)生與機器人設(shè)備12相關(guān)聯(lián)的組件。
[0040]用戶通過產(chǎn)生器應用22來接合任務規(guī)定模塊40,產(chǎn)生器應用22提供與創(chuàng)建機器人設(shè)備12相關(guān)聯(lián)的用途和其他細節(jié)。如下更詳細描述的,用戶提供要與機器人設(shè)備12相關(guān)聯(lián)的任務的描述。在示例實施例中,用戶通過包括與該用戶的多種交互的用戶接口來接合任務產(chǎn)生器模塊40。首先可以基于問題和答案、多項選擇問題、圖示接合的任意組合來確定與創(chuàng)建機器人設(shè)備12相關(guān)聯(lián)的任務描述,在該圖示接合中,用戶可以操控可用于提供任務描述的圖形對象。用戶可以提供先前已完成的任務的任務描述,或與先前已完成的任務類似的任務的任務描述。用戶還可以接合已設(shè)計并實現(xiàn)的機器人設(shè)備12,以通過具有關(guān)聯(lián)視覺識別系統(tǒng)和其他感官組件的機器人設(shè)備12來提供任務描述。其他感官組件可以包括但不限于聽覺和觸覺傳感器。視覺識別系統(tǒng)可以用于向機器人設(shè)備12規(guī)定例如它們可以穿行在什么區(qū)域。在一個示例實施例中,感官組件可以用于規(guī)定要穿行的區(qū)域,在該區(qū)域中在環(huán)境中放置各個已標識的標記。這些標記可以代表可穿行和不可穿行的區(qū)域。相應的標識符可以由傳感器檢測,該傳感器包括但不限于:視覺、GPS、RFID、音頻、減震器或軸編碼器系統(tǒng)??梢砸钥梢园煌墑e的細節(jié)的地圖的形式來表示相應的環(huán)境。
[0041]在示例實施例中,任務規(guī)定模塊40首先從用戶接收機器人設(shè)備12將要執(zhí)行的任務的描述,以及與用戶相關(guān)聯(lián)的技巧級別(該級別的范圍從新初學者至有經(jīng)驗的用戶)?;诩记杉墑e的規(guī)定,針對適當?shù)募墑e來調(diào)整用戶與相應接口之間的任何通信交換。在示例實施例中,被提供給用戶的功能可以根據(jù)該技巧級別以及向用戶給出的相關(guān)聯(lián)特權(quán)而變化。在特定實施例中,可以向高級用戶提供規(guī)定用于產(chǎn)生機器人設(shè)備12的較高級別細節(jié)的能力。在接收到任務規(guī)定的描述時,如下詳述的任務規(guī)定模塊40創(chuàng)建對機器人設(shè)備12要執(zhí)行的任務的規(guī)定以及與機器人設(shè)備12操作的環(huán)境相關(guān)聯(lián)的約束有關(guān)的任何信息。然后,任務產(chǎn)生器模塊42使用這些約束和已規(guī)定的任務,來產(chǎn)生機器人設(shè)備12要使用的適當硬件/軟件規(guī)定。在示例實施例中,可以使用專家系統(tǒng)來對任務規(guī)定細節(jié)進行構(gòu)造,該專家系統(tǒng)采用一系列問題和選擇,以將該規(guī)定從概括的可能性范圍縮小至一個或多個集中具體的任務。此外,還可以使用學習方法,其中,對先前的動作進行檢查以幫助確定未來的動作。此外,還可以使用案例推理算法。任務產(chǎn)生器模塊42接收各種輸入,以產(chǎn)生硬件/軟件規(guī)定,這將在以下更詳細地描述。任務產(chǎn)生器模塊42接收用戶已提供的高級別的任務規(guī)定。如果先前已實現(xiàn)了類似的或相同的任務,則任務產(chǎn)生器模塊42從適當?shù)闹R數(shù)據(jù)庫檢索這些規(guī)定。用戶可以提供輸入,以進一步闡明或規(guī)定預先存在的任務規(guī)定。新的任務還可以由若干預先存在的任務組成。如參照圖5進一步描述的,示例實施例中的任務產(chǎn)生器將已針對特定機器人設(shè)備而規(guī)定的任務、與該機器人設(shè)備將要操作的環(huán)境有關(guān)的信息、以及處理要求作為輸入進行接收。與機器人設(shè)備12操作的環(huán)境有關(guān)的信息包括但不限于與區(qū)域的尺寸、障礙物和環(huán)境條件有關(guān)的信息。還可以將物理能力和成本作為任務規(guī)定的方面予以提供。一旦基于與執(zhí)行機器人設(shè)備12要實現(xiàn)的任務的實現(xiàn)相關(guān)聯(lián)的計算要求對這些任務進行了確定,則進行處理要求確定。產(chǎn)生器模塊42與之交互的相應知識數(shù)據(jù)庫存儲與各個任務相關(guān)聯(lián)的處理要求有關(guān)的數(shù)據(jù)。例如,知識數(shù)據(jù)庫62將針對任何特定任務來規(guī)定所需處理器的類型(即,微控制器或如桌面處理器之類的較大處理器是兩個這樣的示例)。任務產(chǎn)生器模塊44首先接收任務的規(guī)定,然后開發(fā)任務列表。任務列表的開發(fā)基于如參照圖7描述的與任務產(chǎn)生器知識數(shù)據(jù)庫62的交互?;谝韵赂敿毥忉尩呐c任務產(chǎn)生器知識數(shù)據(jù)庫62的交互來規(guī)定任務列表,在任務列表中規(guī)定了機器人設(shè)備12執(zhí)行的任務。此外,任務產(chǎn)生器模塊42基于與知識產(chǎn)生器62的交互來開發(fā)各種控制系統(tǒng)功能??刂葡到y(tǒng)功能用于指代對機器人設(shè)備12的較低級別功能(可以與例如運動能力有關(guān))的控制。確定與機器人設(shè)備12相關(guān)聯(lián)的約束的一個示例是以必須重復執(zhí)行多個類似運動的機器人設(shè)備為例。這樣的機器人在其運動中需要高度的穩(wěn)定性和可重復性,這是由于如果在先運動失敗,則未來的運動可能不能進行。這些約束將通過從可能性范圍中去除實驗機器人,來縮小機器人設(shè)備的選擇。如果運動包括通過重復的過道運動(例如,在監(jiān)視機器人中),則可以選擇帶輪子的機器人,而不選擇較不穩(wěn)定的人形機器人。相應知識數(shù)據(jù)庫和產(chǎn)生器模塊確定機器人設(shè)備12要實現(xiàn)的適當算法,以實現(xiàn)任務列表中的任務。這些算法可以包括但不限于:定位算法、路徑規(guī)劃算法、計算機視覺算法、模式識別算法、學習算法、行為模式、試探法以及案例推理。各種硬件/軟件/和固件規(guī)定被稱作邏輯組件。
[0042]參照圖6所示的任務規(guī)定方法150的操作來進一步描述任務規(guī)定模塊42的操作,并參照圖7來更詳細地描述任務產(chǎn)生器模塊與任務產(chǎn)生器知識數(shù)據(jù)庫62之間的交互。
[0043]機器人產(chǎn)生器模塊44從任務規(guī)定模塊42接收輸入?;谔峁┙o機器人產(chǎn)生器模塊44的各種輸入,模塊44對要與機器人設(shè)備12相關(guān)聯(lián)的要求作出各種確定。這些確定包括:確定機器人底座(一般指設(shè)備12的底座)。例如,如果機器人設(shè)備12要執(zhí)行水上動作,則使用在平臺(如船)上實現(xiàn)的機器人設(shè)備,此外,如果機器人設(shè)備12要執(zhí)行需要機器人設(shè)備12處于空中的任務,則將在基于飛機的平臺上建造該底座。其他確定包括:對處理要求以及組成機器人設(shè)備12的其他機器人組件(可以包括但不限于:機器臂、機器人接合部、其他機械組件和機器人設(shè)備的潛在覆蓋物)的確定。機器人產(chǎn)生器模塊44基于與機器人產(chǎn)生器知識庫64的交互來確定這些要求。細化來自用戶的任務規(guī)定,直到機器人產(chǎn)生器的可能性范圍包含單一的匹配響應(不再有其他選項)或包含已從包括可接受方案的知識庫檢索到的響應集合。一旦方案可用,則可以產(chǎn)生機器人,或者如果用戶給出了另外的規(guī)定,則可以進一步細化機器人,直到該方案可接受或者是唯一可能的方案為止。如果不存在方案,則不能滿足規(guī)定。舉例而言,可以基于任務規(guī)定來選擇傳感器。例如,如果需要機器人設(shè)備12監(jiān)視環(huán)境的空氣質(zhì)量,則如煤氣和C02的傳感器將被添加至機器人設(shè)備12的物理組成。如果規(guī)定了最高成本,則將選擇滿足規(guī)定成本的組件,而如果規(guī)定了可靠性,則將代之以選擇高度可靠的組件。接口產(chǎn)生器模塊46產(chǎn)生允許用戶與機器人設(shè)備12進行交互的適當接口。具體地,接口產(chǎn)生器46接收與確定接口特性(例如,最大帶寬、可靠性)的接口類型(即,有線或無線)有關(guān)的信息以及機器人設(shè)備12將與之通信的計算設(shè)備的類型(即,PDA、臺式計算機)的描述。計算設(shè)備的類型確定了屏幕大小、計算能力和接口的存儲特性。參照適當知識庫與接口產(chǎn)生器模塊46之間的交互,來更詳細地描述接口產(chǎn)生器模塊46確定接口組件的方法。
[0044]通信產(chǎn)生器模塊48用于產(chǎn)生由機器人設(shè)備12使用的各種通信工具。通信產(chǎn)生器模塊48確定各種設(shè)備12采用以進行通信的方法。在示例實施例中,該確定包括規(guī)定哪種協(xié)議用于通信,這可以包括以下協(xié)議,這些協(xié)議包括但不限于UPD、RF、莫爾斯碼、基于視覺的通信和自然語言通信。通信產(chǎn)生器模塊48與通信知識庫68進行交互,以確定機器人設(shè)備12要使用的適當通信工具。
[0045]現(xiàn)在參照圖4,其中在示例實施例中示出了知識庫模塊26的組件。出于描述的目的,已經(jīng)將知識數(shù)據(jù)庫描述為分離的知識數(shù)據(jù)庫。在示例實施例中,知識庫模塊26包括任務規(guī)定知識數(shù)據(jù)庫60、任務產(chǎn)生器知識數(shù)據(jù)庫62、機器人產(chǎn)生器知識數(shù)據(jù)庫64、接口產(chǎn)生器知識數(shù)據(jù)庫66和通信產(chǎn)生器知識數(shù)據(jù)庫68。此處的示例實施例中描述的各個知識數(shù)據(jù)庫是參照這些數(shù)據(jù)庫中包含的、用于產(chǎn)生機器人設(shè)備12的一個或多個組件的信息來描述的。
[0046]當與描述任務并提供與機器人設(shè)備12操作的環(huán)境有關(guān)的信息的用戶進行交互時,任務規(guī)定模塊20使用任務規(guī)定知識數(shù)據(jù)庫60。在示例實施例中,任務規(guī)定知識數(shù)據(jù)庫60存儲與多個用戶接口有關(guān)的信息以及與針對要產(chǎn)生的機器人設(shè)備來規(guī)定任務的用戶相關(guān)聯(lián)的其他信息。用戶接口用于從用戶接收所需的規(guī)定。呈現(xiàn)給用戶的用戶接口可以根據(jù)交互的當前狀態(tài)而變化。知識數(shù)據(jù)庫60可以用于采用各種類型的接口,包括但不限于:問答形式、判決樹、圖形編輯器、具有可選選項列表的形式、包括前進按鈕或后退按鈕的用戶導航元件、具有啟用缺省選項的形式以及強制用戶輸入字段。呈現(xiàn)給用戶的接口可以基于與用戶相關(guān)聯(lián)的技巧級別,并包括幫助確定用戶接口的元模型信息。元模型用于在與計算機或機器人系統(tǒng)進行交互的過程中封裝與各種用戶類型及其偏好有關(guān)的知識。例如,元模型可以指示高級用戶偏愛文本輸入(例如,編程)勝于圖形表示(例如,可視編程)。元模型還允許用戶控制呈現(xiàn)給他們的細節(jié)的級別。例如,管理員可以選擇非常詳細地檢查代碼,對其進行優(yōu)化和微調(diào),而終端用戶可以選擇僅使用大量系統(tǒng)產(chǎn)生的代碼。管理員可以管理接口以允許更強大的功能,其中,向用戶呈現(xiàn)與機器人設(shè)備可以完成的潛在任務有關(guān)的更多選項。此外,相應的任務規(guī)定知識數(shù)據(jù)庫存儲與特定機器人設(shè)備12及其規(guī)定相關(guān)聯(lián)的用戶接口。
[0047]任務產(chǎn)生器知識數(shù)據(jù)庫62存儲關(guān)于任務考慮的信息、任務特定信息、域信息和歷史信息。任務產(chǎn)生器知識數(shù)據(jù)庫62存儲與先前機器人系統(tǒng)相關(guān)聯(lián)的要求。例如,對于先前建造的機器人系統(tǒng)12,數(shù)據(jù)庫62將存儲與特定任務的處理要求、硬件和軟件要求有關(guān)的信息以及任何其他這種信息。機器人產(chǎn)生器知識數(shù)據(jù)庫64存儲允許機器人產(chǎn)生器模塊44執(zhí)行其相應任務的信息。在示例實施例中,機器人產(chǎn)生器知識數(shù)據(jù)庫64存儲與同機器人設(shè)備12的設(shè)計相關(guān)聯(lián)的材料考慮(即,重量和成本考慮)有關(guān)的信息、與先前設(shè)計有關(guān)的信息、環(huán)境考慮(與特定機器人組件可能如何受環(huán)境影響有關(guān)的信息)、處理能力、以及與任何機器人設(shè)備的可用組件(包括可以在任何設(shè)計中使用的致動器和傳感器組件)有關(guān)的信息。
[0048]接口產(chǎn)生器知識數(shù)據(jù)庫66存儲與接口的選擇相關(guān)聯(lián)的考慮有關(guān)的信息,例如包括與先前產(chǎn)生的機器人設(shè)備12的接口設(shè)計有關(guān)的信息。具體地,接口產(chǎn)生器知識數(shù)據(jù)庫66存儲與關(guān)于接口的系統(tǒng)考慮有關(guān)的信息,包括:其駐留的平臺、與相關(guān)聯(lián)機器人設(shè)備12及其組件相關(guān)聯(lián)的能力、機器人設(shè)備組件之間的物理連接、以及與機器人設(shè)備12可能如何受環(huán)境條件影響有關(guān)的其他信息。關(guān)于系統(tǒng)考慮,接口產(chǎn)生器知識數(shù)據(jù)庫66存儲與特定接口相關(guān)聯(lián)的硬件和軟件有關(guān)的信息。與特定接口相關(guān)聯(lián)的硬件可以包括與顯示類型有關(guān)的考慮和與接口相關(guān)聯(lián)的組件(包括音頻組件、輸入組件和視頻組件)有關(guān)的信息。關(guān)于軟件,接口產(chǎn)生器知識數(shù)據(jù)庫66存儲與在先前接口設(shè)計中使用并可以在后續(xù)接口設(shè)計中使用的任何GUI庫和控件有關(guān)的信息。
[0049]通信產(chǎn)生器知識數(shù)據(jù)庫68存儲與機器人設(shè)備12可以如何進行通信有關(guān)的信息,并包括與通信設(shè)備和先前設(shè)計的機器人設(shè)備的相關(guān)聯(lián)的規(guī)定有關(guān)的信息。示例實施例中的通信產(chǎn)生器知識數(shù)據(jù)庫68存儲與可以與特定任務相關(guān)聯(lián)的通信的要求和能力有關(guān)的信息、以及與各種通信設(shè)備12的硬件和軟件考慮有關(guān)的信息。
[0050]由于可以針對與產(chǎn)生機器人設(shè)備12的組件有關(guān)的特定功能來實現(xiàn)知識庫,因而已出于示例目的描述了此處已描述的所有知識庫。知識數(shù)據(jù)庫通常存儲與各種組件有關(guān)的信息以及其可用以實現(xiàn)已在任務規(guī)定中規(guī)定的任務的設(shè)計信息。在知識數(shù)據(jù)庫中存儲具體與特定組件是否適合于特定任務有關(guān)的各種信息,包括與是否存在任何特定要求有關(guān)的信息(包括使用任何組件之前必須滿足的事先考慮和事后考慮)。組件信息可以包括與特定設(shè)備的組件的總體適合性有關(guān)的細節(jié)。例如,推進器通常適合于基于水的設(shè)備。與組件有關(guān)的其他信息可以包括特定適合性細節(jié)(即,0.Sm范圍的聲納傳感器適合于不大于ImX ImX Im的機器人設(shè)備)、過去的使用、或基于所定義的穩(wěn)定性和過去使用而推斷出的未來使用。特定設(shè)備的總體描述還允許用戶或產(chǎn)生器從設(shè)備的選擇中選擇任何合適的設(shè)備。例如,任務規(guī)定可以僅指示需要光傳感器設(shè)備,從而允許產(chǎn)生器或程序在系統(tǒng)中選擇被描述為光傳感器的任何設(shè)備以實現(xiàn)其作用(即,可以選擇可用的最便宜的光傳感器)。與創(chuàng)建機器人設(shè)備12相關(guān)聯(lián)的產(chǎn)生器的數(shù)目可以變化,以下更詳細地描述用于訪問產(chǎn)生器的方法。管理員可以更新各個知識數(shù)據(jù)庫(管理員例如可以添加對特定傳感器的規(guī)定以及其對機器人產(chǎn)生器知識數(shù)據(jù)庫64執(zhí)行的功能,并通過創(chuàng)建其他機器人設(shè)備12),其中,然后在各個數(shù)據(jù)庫中存儲與機器人設(shè)備12相關(guān)聯(lián)的任務和組件有關(guān)的規(guī)定。[0051]現(xiàn)在參照圖5,圖5是示出了機器人創(chuàng)建方法100的步驟的流程圖。機器人創(chuàng)建方法100提供了對采取用以創(chuàng)建機器人的過程的高級概述。方法100開始于步驟102,在步驟102,要求用戶提供與機器人設(shè)備12要操作的環(huán)境相關(guān)聯(lián)的任務和約束的描述。參照圖6和任務規(guī)定方法150來進一步描述步驟102。在步驟104,基于由用戶提供的任務描述,任務產(chǎn)生模塊產(chǎn)生任務列表。在產(chǎn)生任務列表時,方法100前進至步驟106,在步驟106,確定將組成機器人設(shè)備12的部分的各個組件。在步驟106,基于已規(guī)定的任務列表,定義各個組件,包括機器人設(shè)備中包括的硬件和軟件組件。然后,方法100前進至步驟108,在步驟108,定義控制接口。控制接口是由接口產(chǎn)生器模塊通過與接口產(chǎn)生器知識數(shù)據(jù)庫66接合來定義的。控制接口允許用戶通過向機器人設(shè)備12提供另外的指令,以及通過接收對特定環(huán)境內(nèi)機器人設(shè)備12的狀態(tài)及其交互的更新,來與機器人設(shè)備12進行交互。然后,方法100前進至步驟110,在步驟110,定義了允許機器人設(shè)備12在環(huán)境內(nèi)與其他外部設(shè)備或者其他機器人設(shè)備12或?qū)ο筮M行通信的通信組件。通信組件可以允許同與其他機器人設(shè)備12相關(guān)聯(lián)的其他設(shè)備和組件進行的電子數(shù)據(jù)互換,或者可以使得通信組件提供在機器人設(shè)備12在環(huán)境內(nèi)與人進行交互時的語音通信能力。然后,方法100前進至步驟112,在步驟112,制造或構(gòu)造機器人設(shè)備12。在示例實施例中,可以在制造步驟中創(chuàng)建RS0C,其中,示例實施例中的RSOC可以包含所有處理和計算功能、高級功能(傳感器/致動器)以及輸入/輸出能力的連接??梢酝ㄟ^FPGA編程來創(chuàng)建RS0C,其中,F(xiàn)PGA編譯器用于產(chǎn)生嵌入式芯片。如上關(guān)于制造模塊28所討論的,可以基于手動和機械制造的組合來構(gòu)造機器人設(shè)備12。例如,CNC制造可以用于制造與設(shè)備12相關(guān)聯(lián)的金屬組件。已參照被接合以提供與機器人設(shè)備相關(guān)聯(lián)的一個或多個組件的產(chǎn)生器應用22的每個模塊描述了方法100。應當注意,在示例實施例中,機器人創(chuàng)建方法100通過首先確定任何特定組件是否需要產(chǎn)生以及特定組件何時需要產(chǎn)生來進行操作,然后接合適當?shù)哪K。此外,機器人設(shè)備的構(gòu)造可以包括物理或虛擬組件,并且RSOC可以以仿真或虛擬的方式存在。
[0052]現(xiàn)在參照圖6,其中,參照規(guī)定方法150更詳細地描述圖5所示的上述處理步驟102。任務規(guī)定方法150用于產(chǎn)生機器人設(shè)備12要執(zhí)行的任務的一組規(guī)定。方法150開始于步驟152,在步驟152,用戶提供機器人設(shè)備12將操作的環(huán)境的描述。用戶可以提供與環(huán)境有關(guān)的各種細節(jié)。例如,如果用戶已規(guī)定其后院(已針對該后院提供了坐標,或者通過知識庫可以獲得該坐標),則用戶提供了與該環(huán)境相關(guān)聯(lián)的陸標或約束信息,并且例如可以規(guī)定如游泳池和花壇等陸標?;谝讯x的陸標,可以規(guī)定約束,這些約束包括要避免的指令。具體地,在示例實施例中,在步驟152,用戶可以提供與可以出現(xiàn)在特定環(huán)境中的導航約束有關(guān)的信息以及可以出現(xiàn)在該環(huán)境中的其他對象(例如陸標)的描述。此外,用戶可以提供機器人設(shè)備12將操作的環(huán)境的地圖。地圖是可以通過一種或多種方法來提供的,這些方法包括:畫草圖程序、畫圖程序、或上載系統(tǒng)10可識別的地圖。參照圖8提供對地圖提供的進一步描述。還可以使用傳感器提供的數(shù)據(jù),或通過訪問包含相關(guān)信息的現(xiàn)有數(shù)據(jù)系統(tǒng)(例如,Google Maps等),來動態(tài)創(chuàng)建地圖。
[0053]然后,方法150前進至步驟154,在步驟154,執(zhí)行檢查以確定用戶是否已提供對環(huán)境的充分描述。這種確定是通過以下方式作出的:首先分析任務描述以確定關(guān)于該環(huán)境將需要哪種類型的約束信息,然后檢查是否已提供這種約束信息。例如,如果已提供了機器人設(shè)備12要在后院中移動但應避開花壇的任務描述,則執(zhí)行檢查以確定是否已提供與花壇有關(guān)的信息。如果在步驟154確定尚未提供充分描述,則方法150返回至步驟152,在步驟152,請求用戶提供與該環(huán)境有關(guān)的另外的細節(jié)。如果在步驟154確定用戶已提供與該環(huán)境有關(guān)的充分信息,則方法150前進至步驟156?;谟脩粢岩?guī)定的任務,從用戶請求與該任務有關(guān)的更詳細的特定信息。例如,如果用戶已規(guī)定機器人設(shè)備要割草,則必須提供與時間、速度、日期、長度、障礙物、區(qū)域和地形有關(guān)的另外的信息。如果沒有提供特定信息或者特定信息不一致,則方法150返回至步驟152,向用戶提供特定問題或方向以求更多規(guī)定或修正的規(guī)定。
[0054]在步驟156,用戶提供與機器人設(shè)備12要執(zhí)行的任務描述有關(guān)的信息。如上所述,用戶可以通過多于一種方法來提供信息,這些方法包括:通過響應于多項選擇問題的回答,或者從一個或多個已定義的任務中進行選擇。用戶響應于所示提示而提供的輸入用于形成對機器人設(shè)備12要執(zhí)行的各種任務/目標的總體任務規(guī)定。然后,方法150前進至步驟158。在步驟158,執(zhí)行檢查以確定已提供的任務描述是否充分,這可以包括:確定在適當時是否已提供適當位置或持續(xù)時間信息。如果在步驟158確定尚未提供充分描述,則方法150返回至步驟156,并且向用戶詢問與任務描述有關(guān)的另外的信息。如果在步驟158確定已提供與任務描述有關(guān)的充分信息,則方法150前進至步驟160。
[0055]在步驟160,用戶提供與機器人設(shè)備相關(guān)聯(lián)的約束有關(guān)的信息。在示例實施例中,這些約束的示例可以包括與特定任務的定時和調(diào)度相關(guān)聯(lián)的約束。例如,用戶可以規(guī)定與任務相關(guān)聯(lián)的最大時間限制或者必須執(zhí)行任務的特定時刻。然后,方法150前進至步驟162,在步驟162,執(zhí)行檢查以確定是否已提供與各種系統(tǒng)約束有關(guān)的充分信息。如果在步驟164確定已提供充分信息,則方法150前進至步驟166。如果在步驟164確定尚未提供系統(tǒng)約束的充分規(guī)定,則方法150返回至步驟164,在步驟164,要求用戶提供與系統(tǒng)約束有關(guān)的更多息。
[0056]在步驟166,要求用戶提供與機器人設(shè)備12的制造方法有關(guān)的信息。用戶提供與在適當時應當如何制造設(shè)備12有關(guān)的信息。例如,用戶可以在各種選項之間進行選擇,這些選項包括但不限于:確定是否應當由CNC機器自動完成制造,或者是否應當將規(guī)定提供給將制造適當組件的制造者。在步驟168,執(zhí)行檢查以確定是否提供了充分信息。如果在步驟168確定尚未提供充分信息,則方法150返回至步驟166,并且要求用戶提供與制造機器人設(shè)備12有關(guān)的另外的信息。
[0057]在方法150的結(jié)束處,系統(tǒng)10已從用戶接收到如下所述的、然后可以用于設(shè)計和開發(fā)機器人的總體任務描述。在接收到任務描述后,如上所述,系統(tǒng)10隨后繼續(xù)以產(chǎn)生可以由機器人設(shè)備12實現(xiàn)的任務列表。如上所述,基于與任務規(guī)定知識數(shù)據(jù)庫60的交互來確定各種任務規(guī)定,此處提供與各個知識數(shù)據(jù)庫的交互的描述。
[0058]現(xiàn)在參照圖7,其中,在示例實施例中示出了任務產(chǎn)生方法200的步驟。執(zhí)行任務產(chǎn)生方法200,其中如參照圖5的步驟102所示,已從用戶接收到任務描述。方法200進一步詳述了參照圖5所示在步驟104采取的處理。
[0059]示例實施例中的任務產(chǎn)生器模塊40定義了要基于已提供的任務規(guī)定而實現(xiàn)的目標或任務(可以基于其重要性對其進行分級),定義了與機器人設(shè)備相關(guān)聯(lián)的最低要求,并確定了與機器人設(shè)備相關(guān)聯(lián)的處理要求。任務產(chǎn)生器模塊40與任務產(chǎn)生器知識數(shù)據(jù)庫62進行交互以定義任務列表。如上所述,任務產(chǎn)生器知識數(shù)據(jù)庫62存儲與已用于其他機器人設(shè)備的任務列表有關(guān)的信息以及與特定任務相關(guān)聯(lián)的硬件和軟件要求。任務產(chǎn)生器模塊40基于所提供的任務規(guī)定來分析任務規(guī)定,并且如果該任務為知識數(shù)據(jù)庫所知,則任務產(chǎn)生器將返回與該特定任務的完成相關(guān)聯(lián)的相關(guān)聯(lián)處理要求。如果已提供的任務規(guī)定不匹配于先前已執(zhí)行的任務,則任務產(chǎn)生器向用戶返回可能任務的列表,所述可能任務與隨后可以被修改以實現(xiàn)期望任務的任務規(guī)定相類似。類似地,對各個知識數(shù)據(jù)庫的各種其他模塊進行訪問采用與此處已描述相類似的方式來完成這一點。
[0060]方法200是遞歸函數(shù),開始于步驟202,在步驟202,該方法基于已提供的任務規(guī)定,將目標列表以及要用于規(guī)定與每個目標相關(guān)聯(lián)的要求的模板作為輸入進行接收,然后,方法200前進至步驟204,以確定已提供的目標列表是否確實包含一個或多個目標。如果目標/任務的列表為空,則意味著不再有針對其必須規(guī)定任務的目標。如果在步驟204確定不存在已輸入的任務/目標,則方法200前進至步驟206,并且將已確定的模板返回至產(chǎn)生器模塊40。如果在步驟204確定任務列表或目標列表不為空,則方法200前進至步驟208。在步驟208,執(zhí)行檢查以確定計算資源是否耗盡。當與方法200相關(guān)聯(lián)的計算資源已被耗盡時,說明將永遠不會產(chǎn)生針對所提供的任務規(guī)定的任務列表。計算資源已被耗盡的情況包括但不限于:相關(guān)聯(lián)的任務產(chǎn)生器知識數(shù)據(jù)庫62為空的情況,這說明無法產(chǎn)生任務列表;以及存儲器不足的情況。當確定計算資源已被耗盡時,方法200前進至步驟210,在步驟210,產(chǎn)生失敗消息,該失敗消息指示將不會產(chǎn)生針對特定任務規(guī)定的任務列表。如果在步驟208確定計算資源尚未被耗盡,則方法200前進至步驟212。在步驟212,按照每個目標的重要性順序?qū)δ繕嘶蛉蝿盏牧斜磉M行排序??梢源_定每個目標的重要性,其中,用戶已規(guī)定了與他們已提供的每個任務的規(guī)定相關(guān)聯(lián)的優(yōu)先級。舉例而言,如果用戶正在規(guī)定與要在家庭環(huán)境內(nèi)操作的機器人設(shè)備12相關(guān)聯(lián)的任務描述,則可以為一些任務描述給出比其他任務描述高的優(yōu)先級。然后,方法200前進至步驟214,在步驟214,對于每個目標或任務,搜索知識數(shù)據(jù)庫以確定是否存在與該特定任務規(guī)定有關(guān)的任何知識,并且如果存在,則將該特定知識或信息存儲在模板中。對每個目標都采取該過程。在方法200的結(jié)束處,返回模板,其中,對于作為輸入提供的每個任務規(guī)定,返回用作下一產(chǎn)生器的輸入的信息,并且在這種情況下,產(chǎn)生任務列表。
[0061 ] 包括機器人產(chǎn)生器模塊在內(nèi)的各個其他模塊以及接口產(chǎn)生器模塊執(zhí)行與方法200類似的方法,其中,通過提供一組目標來訪問它們的相應知識數(shù)據(jù)庫,這組目標是作為用于在知識數(shù)據(jù)庫中搜索的輸入而提供的。這些目標與以下輸入有關(guān),對于該輸入,知識數(shù)據(jù)庫包含用于產(chǎn)生機器人設(shè)備12的規(guī)定和組件。然后在產(chǎn)生機器人設(shè)備12的過程中使用所返回的信息。
[0062]現(xiàn)在參照圖8,其中,在示例實施例中示出了一幅流程圖,該流程圖示意了環(huán)境規(guī)定方法250的步驟。環(huán)境規(guī)定方法250更詳細地描述了方法150中主要在步驟152和156采取的步驟。環(huán)境規(guī)定方法描述了用戶可以如何規(guī)定環(huán)境以及用戶可以如何將特定任務與環(huán)境中的區(qū)域或路線相關(guān)聯(lián)。此處描述的環(huán)境規(guī)定方法250描述了可以如何規(guī)定環(huán)境的一個示例。
[0063]參照圖9至13描述環(huán)境規(guī)定方法250,圖9至13提供了用于更好地示意各個方法步驟中描述的功能的示例屏幕截圖。
[0064]方法250開始于步驟252,在步驟252,用戶可以首先規(guī)定要在環(huán)境中使用的機器人設(shè)備12的類型。在步驟252選擇的機器人設(shè)備12可以是移動機器人設(shè)備或靜止機器人設(shè)備。然后,方法250前進至步驟254,在步驟254,用戶規(guī)定該環(huán)境是室外環(huán)境還是室內(nèi)環(huán)境。然后,方法250前進至步驟256,在步驟256,用戶規(guī)定該環(huán)境是真實環(huán)境、虛擬環(huán)境還是混合現(xiàn)實環(huán)境。然后,方法250前進至步驟258,在步驟258,用戶規(guī)定設(shè)備是否將要在其自身控制下在環(huán)境中導航,或者設(shè)備是否要由外部控制(例如,通過操縱桿輸入的用戶命令)所控制。在示例實施例中,導航方法可以基于在環(huán)境內(nèi)提供特定點,或者通過允許機器人設(shè)備12以徘徊模式來在環(huán)境中導航,其中,設(shè)備12在不遵循預定義路徑的情況下探測環(huán)境。然后,方法250前進至步驟260,在步驟260,用戶提供機器人設(shè)備12要操作的環(huán)境的地圖。參照圖9,其中,在一個實施例中示出了示例地圖編輯器窗口 300。此處描述的地圖編輯器窗口 300允許用戶規(guī)定環(huán)境的布局、環(huán)境內(nèi)的各個點、以及要在環(huán)境內(nèi)完成的任務。用戶可以通過在地圖規(guī)定窗口 302中提供相應的尺寸,來創(chuàng)建用戶在步驟260提供的地圖。用戶可以通過利用在工具菜單304中提供的各種工具來在地圖規(guī)定窗口中規(guī)定環(huán)境的尺寸。用戶還可以選擇機器人設(shè)備12,針對該機器人設(shè)備12使用設(shè)備選擇器窗口 306來規(guī)定相應環(huán)境。將圖9的地圖編輯器窗口 300不出為可以用于規(guī)定環(huán)境的方法的一個不例。備選地,用戶可以上載二維的或者三維的地圖。這些相應地圖所覆蓋的地理區(qū)域不限于房間大小尺寸,而是可以表示任何尺寸的地圖。
[0065]現(xiàn)在,方法250前進至步驟262,在步驟262,用戶可以在地圖上選擇區(qū)域,以規(guī)定特定沿途點或興趣點。興趣點可以是起始點、停止點或過渡點。參照圖10,其中示出了地圖編輯器窗口 300,其中,用戶已選擇興趣點310。在規(guī)定了興趣點310后,方法250前進至步驟264。在步驟264,用戶可以規(guī)定機器人設(shè)備12從興趣點310開始要采用的行進方向或路線。在示例實施例中規(guī)定了路線,然而應當注意,還可以要求機器人設(shè)備12確定已規(guī)定的特定點之間的路線。現(xiàn)在參照圖11,其中示出了地圖編輯器窗口 300,其中,用戶規(guī)定了從興趣點310開始機器人設(shè)備12應當遵循的路線312。現(xiàn)在參照圖12,其中與興趣點310一起示出了兩個停止點314。在停止點314處,機器人設(shè)備12可以執(zhí)行任務或可以改變其行進方向。然后,方法250前進至步驟266,在步驟266,用戶可以規(guī)定要在興趣點310、停止點314處或沿路線312采取的任務。參照圖13,其中與地圖編輯器窗口 300 —起示出了任務選擇器窗口 316。任務選擇器窗口 316用于選擇要由機器人設(shè)備12完成的一個或多個任務。一旦用戶已完成在相應環(huán)境內(nèi)規(guī)定機器人設(shè)備12的行進的各個點,并且當規(guī)定了要在各個位置處完成的任務時,方法250前進至步驟268。在步驟268,將相應地圖和任務發(fā)送給機器人設(shè)備12。在示例實施例中,通過UDP將相應信息發(fā)送給機器人設(shè)備。此外,在機器人設(shè)備要執(zhí)行特定任務的情況下,還可以將預定任務發(fā)送給機器人設(shè)備。
[0066]如上所述,當用戶規(guī)定任務時,可以向用戶呈現(xiàn)各種選項,以充分詳述與正在規(guī)定的任務相關(guān)聯(lián)的功能。現(xiàn)在參照圖14A和14B,其中示出了在規(guī)定任務時所使用的屏幕截圖的示例集合?,F(xiàn)在參照圖14A和圖14B,其中,在一個實施例中示出了任務規(guī)定窗口 350。任務規(guī)定窗口 350將根據(jù)正在規(guī)定的任務而變化。圖14A和14B所示的任務規(guī)定窗口 350用于針對機器人設(shè)備12來規(guī)定完成的任務,其中,從與系統(tǒng)相關(guān)聯(lián)的預定義任務中選擇任務。圖14A和14B示出了用戶已通過首先規(guī)定位置352來選擇任務。本領(lǐng)域技術(shù)人員應當理解,出于示例目的提供了參照圖14A和14B提供的種類,并且可以在規(guī)定任務時使用不同類型的種類,并且可以向用戶呈現(xiàn)一個種類內(nèi)的多個選項。位置字段352允許用戶規(guī)定是要在室內(nèi)還是室外完成任務。然后,要求用戶從活動字段354選擇要執(zhí)行的活動的類型?;顒幼侄?54允許用戶從要執(zhí)行的活動類型中進行選擇。在該示例中,用戶已選擇“清掃”作為機器人設(shè)備12要執(zhí)行的活動的類型。在選擇活動類型時,關(guān)于清掃活動類型,用戶從方法字段356中進行選擇。在該示例中,用戶已選擇進行用吸塵器進行清掃。然后,用戶通過在強度字段358中指示強度,來規(guī)定要進行的吸塵器清掃的類型。與每個種類內(nèi)的選項一同向用戶示出的種類依賴于用戶先前作出的選擇以及已在每個種類中規(guī)定的選項。
[0067]如上所述,機器人設(shè)備12還可以作為機器人團隊14的一部分進行操作。機器人團隊是指在相同環(huán)境中共同存在的兩個或更多個機器人設(shè)備。機器人設(shè)備的團隊14可以存在于物理環(huán)境、虛擬環(huán)境或混合環(huán)境中。在環(huán)境內(nèi),團隊成員中的一個或多個可以用于控制各個其他設(shè)備12。在機器人團隊內(nèi),可以控制其他設(shè)備12的機器人設(shè)備12被稱作控制機器人設(shè)備??刂茩C器人設(shè)備可以是機器人服務器或可以訪問機器人服務器??刂圃O(shè)備監(jiān)視相應動作以及環(huán)境內(nèi)的要求,并可以在正被控制的其他機器人設(shè)備需要新組件時與機器人服務器進行通信。例如,如果被控制設(shè)備要在環(huán)境內(nèi)執(zhí)行新任務,則該任務的完成可能需要新組件,包括對新任務規(guī)定的更新。然后,控制設(shè)備可以與機器人服務器進行交互,并規(guī)定新任務信息,并且機器人服務器將繼續(xù)確定對于各個被控制機器人設(shè)備中的每一個可能必要的各種組件和后續(xù)修改??刂茩C器人設(shè)備也可以針對自身的新組件向機器人服務器發(fā)出請求。
[0068]盡管以上描述提供了實施例的示例,但應當理解,在不脫離所描述的實施例的操作的精神和原理的前提下,可以對所描述的實施例的一些特征和/或功能進行修改。相應地,以上已描述的內(nèi)容意在示意本發(fā)明而不是限制本發(fā)明,并且本領(lǐng)域技術(shù)人員應當理解,在不脫離所附權(quán)利要求所限定的本發(fā)明范圍的前提下,可以作出其他變型和修改。
【權(quán)利要求】
1.一種用于完全或部分自動產(chǎn)生機器人設(shè)備的系統(tǒng),包括: a)用于經(jīng)由任務規(guī)定模塊引出和接收用戶輸入,以確定所述機器人設(shè)備的一個或多個任務的任務規(guī)定的裝置; b)用于使用任務產(chǎn)生器模塊,基于所提供的任務規(guī)定來自動確定包括一個或多個任務的任務列表的裝置; c)用于使用機器人產(chǎn)生模塊,基于所提供的任務列表來自動確定一個或多個機械組件、一個或多個處理組件以及執(zhí)行一個或多個任務所需的邏輯組件的裝置;以及 d)用于自動產(chǎn)生執(zhí)行一個或多個任務所需的邏輯組件,并將所述邏輯組件嵌入與所述機器人設(shè)備相關(guān)聯(lián)的可記錄介質(zhì)上的裝置。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括:用于自動確定對所述一個或多個機械組件、所述一個或多個處理組件以及一個或多個邏輯組件的規(guī)定,以用于產(chǎn)生所述機器人設(shè)備的裝置。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,通過以與所述處理組件和所述可記錄介質(zhì)相結(jié)合的方式來組裝所述一個或多個機械組件,來構(gòu)造物理機器人設(shè)備。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,創(chuàng)建多個物理機器人設(shè)備,并且所述多個物理機器人設(shè)備在機器人團隊環(huán)境中操作。
5.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,通過創(chuàng)建所述一個或多個機械組件的虛擬表示來構(gòu)造虛擬機器人設(shè)備,所述一個或多個機械組件與所述一個或多個處理組件和所述邏輯組件相結(jié)合。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,創(chuàng)建多個虛擬機器人設(shè)備,并且所述多個虛擬機器人設(shè)備在機器人團隊 環(huán)境中操作。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括:用于引出和接收與環(huán)境規(guī)定有關(guān)的用戶輸入的裝置,所述環(huán)境規(guī)定與所述機器人設(shè)備要操作的環(huán)境有關(guān)。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,利用表示所述一個或多個機械組件的物理和虛擬組件來構(gòu)造機器人設(shè)備,所述一個或多個機械組件與所述一個或多個處理組件和所述邏輯組件相結(jié)合。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,創(chuàng)建具有混合的物理和虛擬組件的多個機器人設(shè)備,并且所述多個機器人設(shè)備在機器人團隊環(huán)境中操作。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述系統(tǒng)在機器人服務器處執(zhí)行。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,機器人設(shè)備是機器人服務器。
12.根據(jù)權(quán)利要求7所述的系統(tǒng),其中,用于引出和接收與環(huán)境規(guī)定有關(guān)的用戶輸入的裝置包括: a)用于輸入對所述環(huán)境的區(qū)域進行限定的地圖的裝置; b)用于輸入起始點的裝置,所述起始點指示了所述區(qū)域內(nèi)所述機器人設(shè)備將從其開始操作的位置; c)用于沿從所述起始點發(fā)出的、所述機器人設(shè)備將遵循的路線輸入一個或多個停止點的裝置;以及 d)用于輸入所述機器人設(shè)備在所述起始點、所述停止點或沿所述路線要完成的一個或多個任務的裝置。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述地圖是上載的預先存在的地圖。
14.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述地圖能夠被創(chuàng)建為限定所述環(huán)境的區(qū)域。
15.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所規(guī)定的環(huán)境被發(fā)送到所述機器人設(shè)備。
16.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述機器人設(shè)備是物理機器人設(shè)備或虛擬機器人設(shè)備,或者具有混合的物理和虛擬組件的機器人設(shè)備。
17.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,用于經(jīng)由任務規(guī)定模塊引出和接收用戶輸入以確定所述機器人設(shè)備的一個或多個任務的任務規(guī)定的裝置包括: a)用于規(guī)定所述機器人設(shè)備是物理機器人設(shè)備、虛擬機器人設(shè)備、還是具有混合的物理和虛擬組件的機器人設(shè)備的裝置; b)用于規(guī)定所述機器人設(shè)備要操作的位置的裝置; c)用于規(guī)定所述機器人設(shè)備要執(zhí)行的活動的裝置;以及 d)用于提供與所述機器人設(shè)備要執(zhí)行的活動有關(guān)的詳細信息的裝置。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述位置可以是室內(nèi)或室外位置,或者室內(nèi)和室外位置。
19.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述活動能夠從所述機器人設(shè)備先前已執(zhí)行的一個或多個活動中選擇。
20.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述活動是所述機器人設(shè)備先前尚未執(zhí)行的活動。
21.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,產(chǎn)生機器人設(shè)備以完成所述一個或多個任務。
22.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述機器人設(shè)備是物理機器人設(shè)備或虛擬機器人設(shè)備,或者具有混合的物理和虛擬組件的機器人設(shè)備。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其中,所述機器人設(shè)備能夠操作于物理環(huán)境、虛擬環(huán)境或混合的虛擬和物理環(huán)境中。
【文檔編號】B25J9/16GK103433923SQ201310252706
【公開日】2013年12月11日 申請日期:2008年1月11日 優(yōu)先權(quán)日:2007年1月12日
【發(fā)明者】漢斯喬格·巴爾特斯, 杰克·埃爾明·彼得森, 斯旺·薩繆爾·希勒, 曉文·特里·劉, 布萊恩·P·麥金農(nóng), 薩拉·埃珀, 瓦吉爾·凱恩, 謝恩·揚克 申請人:漢斯喬格·巴爾特斯, 杰克·埃爾明·彼得森, 斯旺·薩繆爾·希勒, 曉文·特里·劉, 布萊恩·P·麥金農(nóng), 薩拉·埃珀, 瓦吉爾·凱恩, 謝恩·揚克