專利名稱:機器人裝置、機器人裝置的主體單元和連接單元的制作方法
技術領域:
本發(fā)明涉及機器人裝置、機器人裝置的主體單元和機器人裝置的連接單元,并且特別適用于例如根據來自外部的信息自己確定動作的自動型機器人裝置。
背景技術:
最近人們已經提出了一種自動型機器人裝置,它根據外部控制裝置輸入的命令信號和安裝在預定位置的傳感器輸入的外界圖象信息由自己確定動作。當命令信號和圖象信息從控制設備和傳感器輸入時,這種自動型機器人裝置配置為首先進行隨機動作,然后隨著機器人裝置逐步地重復這種動作才逐漸地開始執(zhí)行適于輸入命令信號和圖象信息的動作。
具體地說,當命令信號和圖象信息從控制裝置和傳感器輸入和機器人裝置進行隨機動作時,這種自動機器人不僅把輸入的命令信號和圖象信息且還把機器人執(zhí)行動作的信息作為學習數據存儲到內部存儲裝置中。當隨后輸入的命令信號與過去輸入并存儲在存儲裝置中的命令信號相同時,自動型機器人裝置根據預定的參數對存儲裝置中存儲的過去的學習數據和新近的學習數據進行估算。
當自動型機器人裝置判定新學習的數據具有高于過去的學習數據的值時,機器人裝置檢測來自存儲裝置的過去學習數據并重新存儲新學習數據,或者,另一方面,當機器人裝置判定過去學習數據具有高于新學習數據的值時,機器人裝置保留存儲裝置中的過去學習數據并取消新學習數據。在上述的把學習數據逐漸寫入存儲裝置中的時候通過累積學習數據,自動型機器人裝置獲得了根據外部給定的命令自動地確定動作的能力。作為在這種情形下存儲學習數據的一種模式,自動型機器人裝置采用在單個存儲裝置中存儲和管理學習數據的集中管理模式。
盡管存在不需要分離每個單元的整體型機器人裝置,比如自動型機器人裝置,但目前已經在考慮包括多個單元的機器人裝置。作為包括多個單元的機器人裝置,人們已經提出例如通過連接相當于動物頭部的頭部部件、相當于身體的主體部件和相當于腳的動作部件進行配置的機器人裝置。
由多個單元配置的機器人裝置事實上通過組合一些期望的單元構成,這些期望的單元從包括多個頭部部件單元的一個頭部部件單元組、包括多個主體部件單元的一個主部件單元組和包括多個動作部件單元的動作部件單元組中選出。例如,當這種條件下的機器人裝置需要調換頭部部件單元時,機器人裝置允許通過從頭部部件單元組中選擇一個期望的頭部部件單元,并用從頭部部件單元組中選擇的頭部部件單元換下當前連接的頭部部件單元來修改單元的組合。
當包括多個單元的機器人裝置采用集中管理模式作為存儲學習數據的模式時,機器人裝置通過在主體部件單元的存儲裝置中存儲和管理學習數據來配置。例如,在機器人裝置已經按足以啟動自動動作的程度獲取學習數據之后,動作部件單元被調換為在這種機器人裝置中具有不同功能的另一個動作部件單元時,則不可能使主體部件單元的存儲裝置存儲足以使這另一個動作部件單元在調換后充分展現其功能的學習數據。在這種情況下,機器人裝置必須在調換之后從頭開始重新獲取用于動作部件單元的學習數據,從而造成了機器人裝置需要花費勞動和時間去獲取學習數據的問題。
本發(fā)明的公開本發(fā)明已經解決了上述的問題,并且提出了與傳統(tǒng)的機器人裝置相比能夠顯著提高使用便利性的機器人裝置。
為了解決這一問題,本發(fā)明提供了一種機器人裝置,它通過組合和連接從多種連接單元中選擇的所期望的連接單元進行配置并根據從外部輸入的輸入信息自動地執(zhí)行預定的動作,其中存儲裝置被安裝在連接單元中,將出自所述輸入信息和機器人裝置作為整體響應于所述輸入信息的動作歷史的所述輸入信息和連接單元本身響應于所述輸入信息的動作歷史存儲為學習數據。
通過將出自所述輸入信息和機器人裝置作為整體響應于所述輸入信息的動作歷史的所述輸入信息和連接單元本身響應于所述輸入信息的動作歷史存儲為學習數據,即使連接單元被調換,機器人裝置也能夠不修改地直接使用新連接單元的學習數據來確定換上的新連接單元的動作,并且不必在調換后從頭開始獲取新連接單元的學習數據,從而節(jié)省了獲取學習數據的勞動和時間。因此,即使連接單元被調換,機器人裝置也能夠不用修改地直接使用新連接單元的學習數據來確定換上的新連接單元的動作,從而展現了顯著高于傳統(tǒng)的機器人裝置的使用便利性。
此外,本發(fā)明提供了一種機器人裝置,它通過組合和連接從各類現存的連接單元中選出的期望連接單元進行配置和根據外部給定的輸出信息執(zhí)行預定動作,其中機器人裝置包括動作控制裝置,用于根據外部給定的輸入信息執(zhí)行與連接單元的組合相匹配的動作;存儲裝置,根據輸入信息存儲作為組合學習數據的連接單元的組合和動作控制裝置的動作歷史;輸出裝置,需要時從存儲裝置中讀出組合學習數據并向外輸出組合的學習數據。
由于存儲裝置根據輸入信息把連接單元的組合和控制裝置的動作歷史存儲為組合學習數據和當需要時從存儲裝置中讀出組合學習數據并借助輸出裝置向外輸出,因此用戶能夠容易地判定適于執(zhí)行期望動作的組合。因此,機器人裝置可以有顯著高于傳統(tǒng)的機器人裝置的使用便利性。
附圖的簡要說明
圖1是顯示本發(fā)明的機器人裝置的一個實施例的示意圖;圖2是顯示組成機器人裝置的單元組的示意圖;圖3是顯示被優(yōu)選為本發(fā)明第一實施例的機器人裝置的電路配置的方框圖;圖4是顯示第一實施例中的融合學習數據的步驟的流程圖;圖5是顯示產生組合學習數據的步驟的流程圖;圖6是被優(yōu)選為第二實施例的機器人裝置的電路配置的方框圖;圖7是描述適合于各個單元存儲部分的各類表的原理圖;圖8是描述狀態(tài)換算表的原理圖;圖9是顯示動作確定表和估算值表的原理圖;圖10是描述動作換算表的原理圖;圖11是描述由第二實施例的主體部件單元的CPU執(zhí)行的處理的方框圖;圖12是描述第二實施例的融合學習數據的步驟的流程圖。
執(zhí)行本發(fā)明的最佳模式下面將參照附圖詳細說明本發(fā)明的實施例。
(1)第一實施例(1-1)機器人裝置的配置在圖1中,參考標號1指整個機器人裝置,它通過連接相當于動物頭部的頭部部件單元2A、相當于身體的主體部件單元3A和相當于腳的動作部件單元4A來配置(成形),并且管理分布在這些單元中的用于自動確定動作的學習數據。
機器人裝置1機器人裝置是通過以下選擇進行配置的從包括多種類型的頭部部件單元2A至2C的頭部部件單元組2中選擇頭部部件單元2A,從包括多種類型的主體部件單元3A至3B的主體部件單元組3中選擇主體部件單元3A,和從包括多種類型的動作部件單元4A至4D的動作部件單元組4中選擇動作部件單元4A,并按預定的條件連接這些所選擇的部件單元。
機器人裝置1允許按下述方式進行配置,當需要調換動作部件單元4A時,通過(例如)從動作部件單元組4中選擇動作部件單元4C并換下當前連接的動作部件單元4A來修改各單元的組合。
動作部件單元4A是具有以短步長快速奔跑功能的單元,而動作部件單元4C是具有捕獲目標對象功能的單元,并且每個單元所獲得的學習數據包括允許該單元展示其功能的數據。因此,在動作部件單元4A被調換為動作部件單元4C之后,機器人裝置1不可能通過把動作部件單元4A所獲得的學習數據施加給動作部件單元4C使動作部件4C充分展示其功能。因此,機器人裝置1被配置來管理在各單元中分布學習數據,以便甚至在一個單元被調換時也能使被調換所用的新單元充分展示其功能。
(1-2)機器人裝置的電路配置接下來,圖3顯示了機器人裝置1的電路配置。當用戶首先通過發(fā)出一個預期的聲音給定目標動作時,主體部件單元3用麥克風10收集聲音并把由此獲得的聲音信號S1輸入給信號處理器11。信號處理器11執(zhí)行對聲音信號S1的預定處理,并向被設置為動作控制裝置的CPU(中央處理單元)12發(fā)送與上述目標動作相對應的目標動作數據S2。
主體部件單元2采用由CCD(電荷耦合器件)攝像機組成的傳感器15拾取周圍環(huán)境的圖象,并經由管理總線的串行總線主控制器16向CPU12發(fā)送包含由此獲得的圖象數據的觀測數據S3。此時,頭部部件單元2經由集線器21向主體部件單元3和CPU22發(fā)送觀測數據S10,該觀測數據S10包含由CCD攝像機組成的傳感器20所獲取的圖象數據。主體部件單元3將觀測數據S10連續(xù)地經由集線器25和串行總線主控制器16輸入給CPU12。
同樣地,動作部件單元14經由集線器29向主體部件單元3和CPU30發(fā)送經由傳感器28獲得的觀測數據并經由集線器25和主體部件單元3的串行總線主控制器16向CPU12發(fā)送該觀測數據。傳感器28由CCD攝像機、電位計、檢測器或類似物組成。
當目標動作數據被輸入時,CPU12首先產生整體上動作機器人裝置1的驅動信號S15,然后以驅動信號S15為基礎產生用于驅動主體部件單元3的主體部件驅動信號S16,并經由串行總線主控制器16向致動裝置32發(fā)送該信號,從而驅動致動裝置32以允許主體部件單元3執(zhí)行例如搖尾巴的動作。同時,CPU12經由串行總線主控制器16和集線器25向頭部部件單元2和動作部件單元4連續(xù)地發(fā)送驅動信號S15。
頭部部件單元2將主體部件單元3供給的驅動信號S15經由集線器21輸入給CPU22。以該驅動信號S15為基礎,CPU22產生用于驅動頭部部件單元2的頭部部件驅動信號S17并將該信號經由集線器21發(fā)送給致動裝置36,從而驅動致動裝置36以動作頭部部件單元2。
同樣地,動作部件單元4將主體部件單元3供給的驅動信號S15經由集線器29輸入給CPU30。以該驅動信號S15為基礎,CPU30產生用于驅動動作部件單元4的動作部件驅動信號S18并將該信號經由集線器29發(fā)送給致動裝置41,從而驅動致動裝置41以動作動作部件單元4。
此時,主體部件單元3的CPU12將經由麥克風10輸入的目標動作數據S2、經由傳感器15輸入的觀測數據S3和用于驅動主體部件單元3的主體部件驅動信號S16作為學習數據存儲到存儲部分45中。
CPU12通過經由串行總線主控制器16和集線器25連續(xù)地向頭部部件單元2和動作部件單元4發(fā)送目標動作數據來進行配置。當目標動作數據S2從主體部件單元3供給時,頭部部件單元2的CPU35將目標動作數據S2、經由傳感器20輸入的觀測數據S10和用于驅動頭部部件單元2的頭部部件驅動信號S17作為學習數據S22存儲到存儲部分47中。
當目標動作數據S2從主體部件單元3供給時,動作部件單元4的CPU30將目標動作數據S2、經由傳感器28輸入的觀測數據S13和用于驅動動作部件單元4的動作部件驅動信號S18作為學習數據S24存儲到存儲部分47中。
機器人裝置1通過連續(xù)地重復上述動作將學習數據存儲到各單元的存儲部分45、47和49中。當輸入與存儲部分45中存儲的目標動作數據S2相同的目標動作數據S2來隨后操作機器人裝置1時,主體部件單元3的CPU12根據預定標準估算存儲部分45中存儲的過去的學習數據S20和此時新輸入的學習數據S20。
因而,當此時輸入的學習數據S20被估算為高于過去學習數據S20時,主體部件單元3的CPU12從存儲部分45中刪除過去的學習數據S20并重新存儲新輸入的學習數據S20。而當過去的學習數據S20被估算為高于新輸入的學習數據S20時,CPU12允許過去的學習數據S20保留在存儲部分45中并刪除此時獲得的學習數據S20。
同樣地,頭部部件單元2的CPU22在更新存儲部分47中存儲的學習數據S22的時候累積學習數據S22,動作部件單元4的CPU30在更新存儲部分49中存儲的學習數據S24的時候累積學習數據S24。
機器人裝置1通過逐步地獲取上述的學習數據而獲得了確定適合于外部給定命令的動作的能力,并且作為管理獲得的學習數據的模式,采用面向對象的學習模式來管理各單元中分布的學習數據。
(1-3)學習數據的融合至于存儲經重復上述動作而獲得的學習數據的動作部件單元4A和4C(圖2),將按下述情形進行說明新學習的數據是根據動作部件單元4A中存儲的學習數據和動作部件單元4C中存儲的學習數據而產生(以下稱為融合)的,并且該融合數據是要被存儲在動作部件單元4C中的。
當用戶第一次將動作部件單元4A與主體部件單元2A連接時,動作部件單元4A的CPU30從動作部件單元4A的存儲部分49中讀出學習數據S24,并經由集線器29、主體部件單元3A的集線器25和串行總線主控制器16連續(xù)地將該數據傳遞和存儲到存儲部分45中。
然后,用戶將動作部件單元4A與主體部件單元2A分離并重新將動作部件單元4C與主體部件單元2A相連接。一旦連接,動作部件單元4C的CPU30就從動作部件單元4C的存儲部分49中讀出學習數據S24,并經由集線器29、主體部件單元3A的集線器25和串行總線主控制器16連續(xù)地將該數據傳遞和存儲到存儲部分45中。
CPU12是主體部件單元3A的學習數據融合裝置,它包括一個諸如存儲器的工作區(qū)域,CPU12從存儲部分45中讀出動作部件單元4A的學習數據和動作部件單元4C的學習數據,并把該數據傳遞到工作區(qū)域。CPU12產生新的學習數據,也就是,在工作區(qū)域中,將動作部件單元4A的學習數據與動作部件單元4C的學習數據相融合而形成融合學習數據,并經由串行總線主控制器16、集線器25和動作部件單元4C的集線器29連續(xù)地將產生的融合學習數據傳遞和存儲到動作部件單元4C的存儲部分49中。
因此,動作部件單元4C不僅具有以自己獲取的學習數據為基礎的動作能力,而且還具有以動作部件單元4A獲取的學習數據為基礎的動作能力,從而能夠在不需要學習動作的條件下提高自身的動作能力。
(1-4)學習數據的數據結構下面將說明學習數據的數據結構。動作部件單元4獲取的學習數據S24包括例如,命令數據T,指示由用戶命令的目標動作數據S2;矢量g,指示從傳感器28輸入的觀測數據S13的狀態(tài);矢量a,指示供給致動裝置41的動作部件驅動信號S18,它們分別表示為數據T、矢量g和矢量a。
具體地說,指示目標動作數據S2的命令數據T是指示例如“前進”、“踢”、“跳躍”或類似動作的數據。指示從傳感器28輸入的觀測數據S13的狀態(tài)的矢量g被表示為具有Gm={g(1),g(2),g(3),…,g(m)}的m維數的狀態(tài)矢量,其中m表示狀態(tài)的數目,即,觀測數據S13的一種字符量。指示供給致動裝置41的動作部件驅動信號S18的動作矢量a被表示為具有An={a(1),a(2),a(3),…,a(n)}的n維數的動作矢量,其中n相當于動作部件單元4中的電機的數目。
分別取動作部件單元4A的學習數據和動作部件單元4B的學習數據作為(數據T1、矢量g1、矢量a1)和(數據T2、矢量g2、矢量a2),下面將連續(xù)地說明數據被融合和存儲到動作部件單元4B中的情況。在這種情況下,當學習數據(數據T1、矢量g1、矢量a1)等于學習數據(數據T2、矢量g2、矢量a2)相同時,主體部件單元3的CPU12不需要執(zhí)行融合處理,并且存儲任何一種數據以作為融合學習數據。
當命令數據T1與命令數據T2相同和狀態(tài)矢量g1不同于狀態(tài)矢量g2和/或動作矢量a1不同于動作矢量a2時,主體部件單元3的CPU12根據估算函數分別估算學習數據,選擇和存儲具有較高估算結果的那一個學習數據以作為融合學習數據,并刪除具有較低估算結果的學習數據,上述的估算函數使用了基于給定命令的動作所需的時間和功率消耗作為參數。當命令數據T1不同于命令數據T2時,即,當各目標動作不同時,主體部件單元3的CPU12把學習數據(數據T1,矢量g1、矢量a1)和學習數據(數據T2、矢量g2,矢量a2)存儲為融合學習數據。
例如,當主體部件單元3的CPU12將動作部件單元4A的學習數據“射擊動作”與動作部件單元4B的學習數據“通過動作”相融合時,CPU12產生融合學習數據“射擊和通過動作”。當主體部件單元3的CPU12將頭部部件單元4A的學習數據“從點A到點B的導航能力”與頭部部件單元4B的學習數據“從點B到點A的導航能力”融合在一起時,CPU12產生融合學習數據“從點A到點C的導航能力”。通過融合上述的學習數據,頭部部件單元3的CPU12增強了每個單元的能力。
(1-5)適合于目標動作的各單元組合的學習處理下面將說明所謂的增強的學習處理,它確定適合于給定目標動作的各單元組合并產生組合的學習數據。用戶給主體部件單元3A一個目標動作之后,用戶通過例如連接頭部部件單元2A、主體部件單元3A和動作部件單元4A來配置機器人裝置1(圖1)。
頭部部件單元2A的CPU22從存儲部分47讀出用于指示頭部部件單元2A的標識信息S30,并將該信息經由集線器21、主體部件單元3A的集線器25和串行總線控制器16發(fā)送給CPU12。此外,動作部件單元4A的CPU30從存儲部分49讀出用于指示動作部件單元4A的標識信息S31,并將該信息經由集線器29、主體部件單元3A集線器25和串行總線控制器16發(fā)送給CPU12。
主體部件單元3A的CPU12從存儲部分45讀出用于標識主體部件單元3A的標識信息S35,將主體部件單元3A的標識信息S35、頭部部件單元2A的標識信息S30和動作部件單元4A的標識信息S31存儲到存儲部分45中,作為指示當前各單元組合的連接信息,并根據目標動作數據S2設置目標和執(zhí)行動作。
此時,主體部件單元3A的CPU12以設置目標作為標準判斷執(zhí)行動作是否是成功的。結果,當CPU12判定執(zhí)行的動作是成功時,則認為各單元的當前組合適合于目標動作,CPU12將外部給定的目標動作數據送給存儲部分45,從而把目標動作數據S2和上述的連接信息存儲到存儲部分45中以作為組合學習數據。
與此相反,當CPU12判定執(zhí)行的動作失敗時,CPU12產生包含動作失敗的執(zhí)行結果信號S40,用信號處理器11執(zhí)行這一信號的預定處理并把該信號發(fā)送給顯示部分50使之顯示“任務失敗。調換單元”。顯示部分50是作為由液晶顯示器組成的輸出裝置而設置的。當用戶根據該顯示調換(例如)動作部件單元4A,則主體部件單元3A的CPU12在存儲部分45中更新和存儲連接信息S37,并再次執(zhí)行目標動作。通過重復這種動作,機器人裝置可以獲得包括適合于用戶給定的目標動作的各單元組合的學習數據。
(1-6)融合學習數據的步驟和主體部件單元3的CPU12產生組合學習數據的步驟下面采用圖4所示的流程圖說明融合學習數據的步驟,例如將動作部件單元4A(圖2)的學習數據S24與動作部件單元4B(圖2)的學習數據S24相融合的步驟。順便說明,其它單元的學習數據同樣也被融合,但不作具體說明。
在從步驟SP1進行到步驟SP2上,動作部件單元4A首先與主體部件單元3S相連接,此時主體部件單元3A的CPU12經由集線器25從動作部件單元4A的存儲部分49中讀出學習數據S24,并將該學習數據S24傳遞給存儲部分45。
在步驟SP3,CPU12確認用戶把動作部件單元4A與主體部件單元3A相分離的情況,并為調換目的而將動作部件單元4B重新連接到主體部件單元3A上,然后處理進行到下一個步驟SP4。在步驟SP4上,主體部件單元3A的CPU12從新近連接的動作部件單元4B的存儲部分49中讀出學習數據S24并把該數據傳遞到存儲部分45,此后通過將動作部件單元4A的學習數據與動作部件單元4B的學習數據相融合產生融合的學習數據并把該融合的學習數據存儲到存儲部分45中。
在相繼的步驟SP5上,主體部件單元3A的CPU12將產生的學習數據經由集線器25發(fā)送給動作部件單元4B的存儲部分49,從而將該數據按標題存儲在存儲部分49中。在步驟SP6中,主體部件單元3A的CPU12刪除存儲在存儲部分45中的融合的學習數據并返回到步驟SP1以重復動作。
下面將采用圖5的流程圖連續(xù)說明產生組合學習數據的步驟。在從步驟SP10進入的步驟SP11上,當目標動作數據S2從外部給定時,和在步驟SP12上,當連接所需單元例如頭部部件單元2A和動作部件單元4A時,主體部件單元3A的CPU12把此時指示各單元組合的連接信息存儲到存儲部分45上,根據目標動作數據S2設置一個目標并執(zhí)行與一個目標動作相匹配的任務。
在步驟SP13上,主體部件單元3A的CPU12以設置的目標作為標準判斷所執(zhí)行的任務是否成功的。當主體部件單元3A的CPU12判定該任務是成功時,CPU12進行到步驟SP14,或者當CPU12判定該任務是失敗時,CPU12進行到步驟SP15。
假定當前組合適合于步驟SP14上的給定目標動作,則主體部件單元3A的CPU12把目標動作和所述的連接信息存儲在存儲部分45中作為組合數據。與此相反,在步驟SP15上,主體部件單元3A的CPU12允許顯示部分50顯示預定的消息,從而促使用戶調換單元。當用戶根據顯示部分50的指示調換單元時,主體部件單元3A的CPU12返回到步驟SP12以重復上述的操作。
(1-7)實施例的操作和效果具有上述配置的機器人裝置1能夠初步地獲得用于根據用戶命令和外界條件自動地確定所要采取的動作的學習數據,管理分布在組成機器人裝置1的各單元的存儲部分中的已獲得的學習數據,并且在一個單元被調換成另一個單元時把由調換前使用的單元所獲得的學習數據與調換后所使用的單元的學習數據相融合,從而消除了在調換后再次從頭開始獲取與調換前的單元所獲取的學習數據相對應的學習數據的需要,因而節(jié)省了獲取學習數據所需的勞動和時間。
此外,機器人裝置1能夠初步地獲取組合的學習數據,該數據代表適合于執(zhí)行由用戶給定的目標動作的各單元的組合,并且把與由用戶給定的命令所指示的目標動作相對應的組合通知給用戶,從而允許用戶容易地判斷那些對所期望采取的動作適合的單元的組合。
上述的配置能夠初步地獲得用于根據外部信息自動確定所要采取的動作的學習數據,管理分布在各單元中的已獲取的學習數據,并且將其它單元的學習數據與要被調換的單元所獲取的學習數據相融合,因而能夠節(jié)省獲取學習數據所需的勞動和時間,從而實現了使用便利性被增強的機器人裝置1。
此外,上述的配置能夠初步地獲取組合的學習數據,它根據用戶給定的命令確定各單元的組合,并且把對應于用戶給定的命令的組合通知給用戶,從而允許用戶容易地判斷適合于執(zhí)行用戶所期望的動作的組合和實現使用便利性增強的機器人裝置1。
(2)第二實施例(2-1)在第二實施例中機器人裝置的配置圖6示出了被優(yōu)選為第二實施例的機器人裝置60,除了下面將要說明的在主體部件單元61、頭部部件單元62和動作部件單元63的存儲部分45、47和49中進行調節(jié)的各類數據表和不使用CPU的頭部部件單元62及動作部件單元63外,它的配置與圖1所示的機器人裝置1近似相同。在圖6中,用相同的參考標號表示與圖2所示的那些部件相對應的部件。
就機器人裝置60具體而言,狀態(tài)換算表Ts的數據、作為學習數據的動作確定表Ta(w,s)的數據、估算值表Tp(w)的數據和動作換算表Ta的數據分別在主體部件單元61、頭部部件單元62和動作部件單元63的存儲部分64至66中進行調節(jié),如圖7所示。
在這種情況下,狀態(tài)換算表Ts是用于根據各單元中的傳感器15、20和28輸出的觀測數據S3、S10和S13對初步確定的諸如“球在右前方附近”的狀態(tài)進行確認的表。在第二實施例中,每個狀態(tài)Sj(j=1,2,2,…,m)由下列公式確定,在該公式中,分別取單元中的傳感器數量和確定狀態(tài)的次數作為P和m,如圖8所示X1min(sj)≤X1<X1max(sj)X2min(sj)≤X2<X2max(sj):
Xpmin(sj)≤Xp<Xpmax(sj) …(1)在存儲部分的相應區(qū)域中的狀態(tài)換算表Ts有下述公式(2)所表達的數量為2×P×m的數值,它包括用于判斷的對應于公式(1)中的每個狀態(tài)Sj的觀測數據值X1至Xp的上限(X1max(sj)至Xpmax(sj))值和下限值(X1min(sj)至Xpmin(sj))2×P×m …(2)圖8相當于P=2的情況并且表示Sj的條件相當于下式(3)給出的區(qū)域(圖8中畫斜線的區(qū)域)X1min(sj)≤X1<X1max(sj)和Xpmin(sj)≤Xp<Xpmax(sj)…(3)此外,動作確定表Ta(w,s)是用于根據狀態(tài)sj確定要輸出的動作的表并且調節(jié)圖9A所示的數據,使動作ak(wi,sj)(k=1,2,…,n)相當于根據目標動作數據S2(圖6)獲得并由用戶選定的目標動作wi,其中狀態(tài)sj是使用狀態(tài)換算表Ts和外部給定的目標動作wi(i=1,2,…,1)所識別的。動作ak(wi,sj)(k=1,2,…,n)是到目前為止通過學習獲得的并且是依據狀態(tài)sj從用于目標動作wi的多個動作ak中輸出的最佳的動作,在狀態(tài)s“球在右前方附近”被識別和目標動作w“用前腳踢球”被給出的情況下,例如,可以有兩種輸出動作a,即“用右前腳踢球”和“用左前腳踢球”,不過動作確定表Ta(w,s)容納該數據,使得例如通過后面所述的學習從這些可選用動作中選擇的動作ak(wi,sj)“用右前腳踢球”相應于狀態(tài)sj“球在右前方附近”和目標動作wi“用前腳踢球”。
此外,估算值表Tp(w)是一種對根據動作ak(wi,sj)的成功率和執(zhí)行時間計算的估算值P(w)進行說明的表,動作ak(wi,sj)相應于圖9B所示的動作確定表Ta(w,s)中的目標動作wi。
此外,動作換算表Ta是一種把用動作確定表Ta(w,s)確定的動作轉換成用于各單元的致動裝置15、20和28的命令值的表。在數目為q的致動裝置32、36和41被設置在圖10所示的單元中的第二實施例的情況下,用于每個動作ak(wi,sj)的致動裝置32、36和41的命令值y1(ak)至yq(ak)按下述公式(4)進行調節(jié)ak={Y1(ak),Y2(ak),…,Yq(ak)}…(4)
圖10對應于q=2的情況,并且表示例如命令值yl(ak)對應于單元的第一致動裝置32、36和41和命令值yq(ak)對應于用于每個動作ak(wi,sj)的第二致動裝置32、36和41。
對于機器人裝置60,狀態(tài)換算表Ts和出自狀態(tài)換算表Ts的動作換算表Ta、動作確定表Ta(w,s)和動作換算表Ta的配置依賴于各單元的配置,而動作確定表Ta(w,s)的配置不依賴于各單元的配置。
在機器人裝置60中,主體部件單元61的CPU67在初始步驟分別讀出存儲在頭部部件單元62的存儲部分65中的和存儲在動作部件單元63的存儲部分66中的狀態(tài)換算表Ts、動作確定表Ta(w,s)估算值表Tp(w)和動作換算表Ta。并把數據存儲到主體部件單元61的存儲部分64中。
在各單元(主體部件單元61、頭部部件單元62和動作部件單元63)的傳感器15、20和28給出的觀測數據S3、S10和S13以及在存儲部分64中容納的各單元的狀態(tài)換算表Ts的基礎上,CPU67總是根據圖11所示的各單元中的傳感器15、20和28的輸出監(jiān)視各單元識別的狀態(tài)Sj。
當隨后目標動作wi被給定為目標動作數據S2時,CPU67根據上述識別的單元狀態(tài)和在存儲部分64中容納的單元動作確定表Ta(w,s),把對應于動作確定表Ta(w,s)中每個單元的動作確定為單元的輸出動作。
此外,CPU67根據確定的結果和相應的動作換算表Ta確定用于每個單元的致動裝置32、36和41的命令值y1(ak)至yq(ak),并根據確定的結果經由串行總線主控制器16和相應的總線21和29向相應的致動裝置32、36和41發(fā)送驅動信號S50至S52,驅動這些致動裝置,從而驅動單元。
另一方面,當目標動作wi被給定為目標動作數據S2時,CPU67用源于與目標動作wi對應的某些動作ak的預定幾率把未在動作確定表Ta(w,s)中描述的動作ak確定為輸出動作,而不是進行上述的處理。
在確定的結果和相應的動作換算表Ta的基礎上,CPU67確定用于各單元的致動裝置32、36和41的命令值y1(ak)至yq(ak),并根據確定結果經由串行總線主控制器16和相應的總線21和29向相應的致動裝置32、36和41發(fā)送驅動信號S50至S52,驅動致動裝置,從而驅動單元。
此外,CPU67此后根據該動作ak的成功率、執(zhí)行時間或類似物計算此時輸出的單元動作ak的估算值p(wi)′。
只有當為單元計算的估算值p(wi)′高于在相應估算值表Tp(w)中描述的目標動作wi的估算值p(wi)時,CPU67才把在相應單元中的存儲部分64至66中容納的動作確定表Ta(w,s)內的相應動作ak(wi,sj)改寫成此時輸出的ak,并且把在存儲部分64至66中容納的估算值表Tp(w)內的相應估算值p(wi)改寫成與上述計算的動作ak相對應的估算值p(wi)′。
機器人裝置60被配置來把動作確定表Ta(w,s)中的對應此時狀態(tài)sj和外部給出的目標動作wi的動作ak(wi,sj)逐步修改成具有較高估算值p(wi)的動作ak,因而總是能夠執(zhí)行最佳的動作。
(2-2)第二實施例中的融合學習數據的步驟下面,說明當一個單元被調換為另一個相同類型的單元時,由主體部件單元61的CPU67執(zhí)行的將調換之前使用的單元的學習數據(動作確定表Ta(w,s)中的數據)與調換之后使用的學習數據(動作確定表中的數據)相融合的處理。
在下述的說明中,調換之前使用的單元的動作確定表Ta(w,s)和估算表Tp(w)將分別由Ta(w,s)A和Tp(w)A代表,而調換之后使用的單元的動作確定表Ta(w,s)和估算表Tp(w)將分別由Ta(w,s)和Tp(w)B代表。
在第二實施例的情況中,主體部件單元61根據圖12所示的學習數據融合處理將替換之前使用的學習數據與替換之后使用的學習數據相融合。
當設置在機器人裝置60上的暫停按鈕(未示出)被按下以設置暫停模式時,CPU67開始步驟SP30上的融合學習數據的處理,在后續(xù)的步驟SP31上從單元的存儲部分64至66中讀出每個單元的估算值表Tp(w)A和動作確定表Ta(w,s)A的數據,并把數據存儲到主體部件單元61的存儲部分64中。
接著,CPU67進行到步驟SP31并判斷是否已經調換了任何單元。當在步驟SP32上得到否定結果時,CPU67進行到步驟SP33并判斷暫停模式是否通過按壓上述的暫定按鈕已經取消了暫停模式。
當在步驟SP33上得到否定結果時,CPU67返回步驟SP32,然后重復步驟SP32-SP33-SP32的循環(huán),直至在步驟SP32或步驟SP33上得到肯定結果。
當在步驟SP32上按預定時間獲得肯定結果時,CPU67進行到步驟SP34,讀出在調換后使用的新單元的存儲部分65和66中容納的估算值表Tp(w)B和動作確定表Ta(w,s)B的數據。
接著,CPU67進行到步驟SP34,執(zhí)行將調換之前所使用的原始單元的學習數據(動作確定表Ta(w,s)A與調換之后使用的新單元的學習數據(動作確定表Ta(w,s)B)相融合的處理。
具體地說,CPU67比較調換之前所使用的原始單元的估算值表Tp(w)A與調換之后使用的新單元的估算值表Tp(w)B,將存在于原始單元的估算值表Tp(w)A和新單元的估算值表Tp(w)B中的用于目標動作wi的原始單元的估算值表Tp(w)A中的估算值P(wi)與新單元的估算值表Tp(w)B中的估算值p(wi)進行比較,并且當新單元估算值較大時,不進行處理。
與此相反,當原始單元的估算值是較大時,CPU67將新單元動作確定表Ta(w,s)B中的在目標動作wi的所有條件aj下的所有動作ak(wi,sj)(圖9A的目標動作wi的相應行中所有動作ak(wi,sj))修改成與相應于原始單元動作確定表Ta(w,s)A中的目標動作wi的狀態(tài)sj相對應的動作ak(wi,sj),并且把新單元估算值表Tp(w)B中的用于目標動作wi的估算值p(wi)修改成原始單元估算值表Tp(w)A中的相應估算值p(wi)。
此外,CPU67比較調換之前所使用的原始單元的估算值表Tp(w)A與調換之后使用的新單元的估算值表Tp(w)B,并且在目標動作wi存在于原始單元估算值表Tp(w)A中和目標動作wi不存在于新單元估算值表Tp(w)B中的情況下,CPU67將該目標動作wi和原始單元估算值表Tp(w)A中用于目標動作wi的估算值p(wi)復制到新單元的估算值表中Tp(w)B。
在完成上述的融合處理之后,CPU67前進到步驟SP35,把通過融合處理獲得的新估算值表Tp(w)B′和新動作確定表Ta(w,s)B′的數據傳遞給新單元,在存儲部分65和66中存儲這一數據以替代該單元的存儲部分65和66中容納的原始估算值表Tp(w)B和動作確定表Ta(w,s)B的數據,然后前進到步驟SP36終止融合處理。
當在步驟SP33獲得肯定結果時,CPU67通過前進到步驟SP36終止融合處理。
如上所述,當一個單元被調換為另一個單元時,配置機器人裝置60使之能夠將調換前使用的原始單元的學習數據與調換后使用的新單元學習數據相融合,從而在新單元中也能利用由原始單元獲得的學習數據。
(2-3)第二實施例的操作和效果當在上述配置中目標動作wi被給定為目標動作數據S2時,機器人裝置60用源于與目標動作wi對應的某些動作ak的預定幾率輸出未在動作確定表Ta(w,s)中描述的動作ak,然后估算該動作ak,并且在估算值高于動作確定表Ta(w,s)中描述的動作ak(wi,sj)的情況下,將動作確定表Ta(w,s)中的相應動作ak(wi,sj)改寫成動作ak。
當一個單元被調換為另一個單元時,機器人裝置60通過把包括按上述方式獲得的原始單元的動作確定表Ta(w,s)A的數據的學習數據與包括新單元動作確定表Ta(w,s)B的數據的學習數據相融合來修改新動作確定表Ta(w,s)B。
因此,機器人裝置60在單元被調換之后像被優(yōu)選為第一實施例的機器人裝置1那樣,消除了從頭開始獲取與調換前使用的單元所獲取的學習數據相當的學習數據的需要,因而能夠節(jié)省獲取學習數據所需的勞動和時間。
上述配置適合于在單元被調換后通過把包括調換前使用的原始單元動作確定表Ta(w,s)A的數據的學習數據與包括調換后使用的新單元動作確定表Ta(w,s)B的數據的學習數據相融合來修改新單元的動作確定表Ta(w,s)B,因而能夠像第一實施例那樣節(jié)省獲取學習數據所需的勞動和時間,從而實現了使用便利性提高的機器人裝置。
(3)其它實施例盡管上述的第一實施例是按照在圖4所示的數據融合處理的步驟SP6上刪除存儲部分45中存儲的融合學習數據情況進行說明的,但是本發(fā)明不局限于該實施例,融合學習數據也可以不刪除而是維持在存儲狀況。
盡管上述的第一實施例是按照組合學習數據被存儲在主體部件單元3的存儲部分45中情況進行說明的,但是本發(fā)明不局限于該實施例,組合學習數據被存儲在主體部件單元3的存儲部分45、頭部部件單元2的存儲部分47和動作部件單元4的存儲部分49中,并進行分布式管理。
盡管上述的第一實施例是按照根據從外部供給的目標動作數據S2設置一個目標的情況進行說明的,但是本發(fā)明不局限于該實施例,可以根據從傳感器15供給的觀測數據S3或其它不同數據由機器人裝置自己設置該目標。
盡管上述第一實施例是按照把用戶給定的目標動作和適合于該目標動作的單元組合作為組合的學習數據存儲在存儲器單元45中的情況進行說明的,但是本發(fā)明不局限于該實施例,除了目標動作和適合于該目標動作的組合外,不適合于該目標動作的組合數據也可以存儲在存儲器單元45中。
盡管上述第一實施例是按照外部給定的目標動作數據S2、經由傳感器輸入的圖象數據和用于驅動單元的驅動信號被用作學習數據的情況進行說明的,但是本發(fā)明不局限于該實施例,關鍵點在于外部輸入的輸入信息和與輸入信息對應的連接單元的動作歷史都被用作學習數據。
盡管上述第一實施例是按照本發(fā)明適合于通過連接頭部單元2、主體部件單元3和動作部件單元4進行配置的機器人裝置1的情況進行說明的,但是本發(fā)明不局限于該實施例,本發(fā)明還可以適用于通過連接主體部件單元和動作部件單元或其它各種連接單元而進行配置的機器人裝置。
盡管上述第一實施例是按照CPU22和30被設置在與主體部件單元3連接的頭部部件單元2A至2C(如圖3所示)和動作部件單元4A至4D的每一個中的情況進行說明的,但是本發(fā)明不局限于該實施例,(如圖6所示,例如)主體部件單元4的CPU12也可以被配置來對存儲部分47和29中存儲的學習數據進行修改處理,而不用在頭部部件單元2A至2C或動作部件單元4A至4C中設置CPU。
盡管上述第一實施例是按照在各單元的存儲部分45、47和49中存儲各單元的學習數據的情況進行說明的,但本發(fā)明不局限于該實施例,其它單元的學習數據也可以同例如附在傳感器15、20和28上的傳感器ID或類似物一起被存儲。
盡管上述第二實施例是按照本發(fā)明適合于按圖1和圖6進行配置的機器人裝置1的情況進行說明的,但本發(fā)明不局限于該實施例,本發(fā)明普遍地適用于具有各種配置的其它機器人裝置。
盡管上述第二實施例是按照用通過單元調換所獲得的融合學習數據(動作確定表Ta(w,s)B′的數據)改寫調換后使用的新單元的原始學習數據的情況進行說明的,但是本發(fā)明不局限于該實施例,融合學習數據(動作確定表Ta(w,s)B′的數據)可以由新單元保持,與調換后使用的新單元的原始學習數據相分離。
工業(yè)應用性本發(fā)明可用于通過組合和連接來自現有的各種類型連接單元中的期望連接單元而進行配置并且根據外部輸入的輸入信息自動采取預定動作的機器人裝置。
權利要求
1.一種機器人裝置,通過組合和連接選自各類現存的連接單元中的所期望的連接單元進行配置并且根據外部輸入的輸入信息自動地采取預定的動作,其特征在于,包括安裝在所述各連接單元中的存儲裝置,將出自所述輸入信息和機器人裝置作為整體響應于所述輸入信息的動作歷史的所述輸入信息和連接單元本身響應于所述輸入信息的動作歷史存儲為學習數據。
2.根據權利要求1所示的機器人裝置,其特征在于存儲所述的學習數據,用于執(zhí)行出自各類現有連接單元中的與所述輸入信息相應的所述連接單元專有的動作。
3.一種機器人裝置的主體部件單元,它通過選擇和連接分別來自各類現存的主體部件單元和各類現存的所述連接單元中的期望的主體部件單元和連接單元進行配置,并根據從外部輸入的輸入信息自動地采取預定的動作,其特征在于,包括從當前連接的所述連接單元的存儲裝置中讀出學習數據的學習數據融合裝置,它通過把讀出的所述學習數據與先前連接的連接單元的學習數據相融合產生新的學習數據,并且把產生的學習數據存儲到當前連接的所述連接單元的所述存儲裝置中。
4.一種機器人裝置的連接單元,它通過組合和連接來自各類現存的連接單元的期望連接單元進行配置,并且根據從外部輸入的輸入信息自動地采取預定的動作,其特征在于,包括存儲裝置,將出自所述輸入信息和機器人裝置作為整體響應于所述輸入信息的動作歷史的所述輸入信息和連接單元本身響應于所述輸入信息的動作歷史存儲為學習數據。
5.根據權利要求4所述的連接單元,其特征在于存儲所述學習數據,用于執(zhí)行出自各類現存的所述連接單元中的與所述輸入信息相應的所述連接單元的專有動作。
6.一種機器人裝置,它通過組合和連接選自各類現存的連接單元中的期望的連接單元進行配置,并根據外部給定的輸入信息采取預定的動作,其特征在于,包括動作控制裝置,根據外部給定的輸入信息采取與所述連接單元的組合相對應的動作;存儲裝置,把所述連接單元的組合和相應于所述輸入信息所采取的所述動作控制裝置的動作歷史存儲為學習數據;和輸出裝置,從所述存儲裝置中讀出所述組合學習數據,需要時向外輸出數據。
7.根據權利要求6所述的機器人裝置,其特征在于所述存儲裝置被設置在為配置所述機器人裝置而組合的所述各連接單元的每個中。
全文摘要
把輸入信息和出自機器人裝置作為整體響應于所述輸入信息的動作歷史的各連接單元自己的動作歷史作為學習數據存儲在存儲裝置。當連接單元被調換時,使用存儲的連接單元的學習數據來確定其操作,因而與傳統(tǒng)的機器人裝置相比顯著地增強了使用便利性。
文檔編號G05B13/02GK1293605SQ00800042
公開日2001年5月2日 申請日期2000年1月18日 優(yōu)先權日1999年1月18日
發(fā)明者高村成一 申請人:索尼公司