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