專利名稱:機器人裝置和控制機器人裝置操作的方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及機器人裝置、控制機器人裝置的操作的方法、外力檢測裝置和方法、用于控制機器人裝置的操作的程序、以及在其中記錄了所述程序的記錄介質(zhì),尤其涉及自主確定其行為和舉止以適應于其周圍環(huán)境和外部動作的機器人裝置、控制這種機器人裝置的操作的方法、操作控制程序、以及其中記錄了所述程序的記錄介質(zhì)。
背景技術(shù):
近來,響應于機器人裝置的用戶所給出的指令并且適于周圍環(huán)境等而行動的四足機器人裝置已經(jīng)由本發(fā)明的申請人開發(fā)出來,并且已經(jīng)在商業(yè)上應用。這種機器人裝置中已經(jīng)安裝CCD(電荷耦合器件)攝像機和麥克風。根據(jù)CCD攝像機捕獲的環(huán)境、和來自于用戶的命令聲音或麥克風拾取的環(huán)境聲,機器人裝置評估環(huán)境狀況并且檢測用戶是否已經(jīng)給出指令,并根據(jù)評估和確定的結(jié)果,自主確定如何動作,并且作動作。
然而,由于以上類型的機器人裝置通常用在存在對機器人裝置來說是障礙物的諸如門檻、電源線等的普通居所中,所以必須采取一些措施以防止機器人裝置在這種環(huán)境中行走時輕易地摔倒。為此目的,已經(jīng)提出一些解決方案。這些解決方案之一是通過根據(jù)來自于CCD攝像機的圖像信號檢測障礙物控制其自己的動作、并且使它本身根據(jù)檢測結(jié)果繞過障礙物的四足機器人裝置。另一解決方案將會在機器人裝置的每一腿塊中安裝專用的力傳感器,并且根據(jù)傳感器的輸出,檢測機器人裝置是否已經(jīng)與障礙物碰撞。
然而,在使用CCD攝像機的機器人裝置中,根據(jù)來自于CCD攝像機的圖像信號檢測障礙物會耗費長時間,并且即便在高成功率情況下也不能識別障礙物。而且,在腿塊中安裝的傳感器增加了機器人裝置的部件數(shù)量,使其結(jié)構(gòu)因此而復雜,并且產(chǎn)品成本和重力將會增加。
而且,在在預定位置為這種機器人裝置配備多個傳感器的情況下,將能夠檢測障礙物并相應于傳感器中受壓的一個,作特定的動作(例如,坐下)。因此,在機器人裝置上安裝更多傳感器的措施將允許機器人裝置的用戶與他的或她的機器人裝置享受高層次的交流。
然而,在在機器人裝置的預定位置安裝觸覺傳感器的情況下,僅可以在有限的位置檢測觸覺,并且因此將會限制與其用戶的交流。例如,使用用于檢測對機器人裝置施加的力的方向的高級傳感器,將會帶來復雜的結(jié)構(gòu),并且增加機器人裝置的產(chǎn)品成本和重力。而且,這些傳感器不能安裝在機器人裝置的所有部分。
發(fā)明內(nèi)容
因此,本發(fā)明的目的在于通過提供構(gòu)造簡單的外力檢測裝置、使用該外力檢測裝置的機器人裝置、控制機器人裝置操作的方法、用于控制機器人裝置操作的程序、以及具有其中記錄所述程序的記錄介質(zhì),來克服常規(guī)機器人裝置的上述缺陷,其中外力檢測裝置可以檢測與障礙物的碰撞和諸如外力方向的關(guān)于外力的信息等。
以上目的可以通過提供一種機器人裝置而實現(xiàn),根據(jù)本發(fā)明,該裝置包括其運動被一個控制信號控制的傳動器(actuator);用于輸出使傳動器作預定運動的控制信號的控制部件;以及用于根據(jù)當外力施加到傳動器時所述控制信號所示出的變化而檢測外力的部件。
而且,以上目的可以通過提供一種控制機器人裝置操作的方法而實現(xiàn),根據(jù)本發(fā)明,該方法包括以下步驟通過控制信號控制機器人裝置傳動器的運動;以及當有外力施加于機器人裝置時,根據(jù)控制信號的變化檢測施加于機器人裝置的外力。
而且,以上目的可以通過提供一種外力檢測裝置而實現(xiàn),根據(jù)本發(fā)明的外力檢測裝置包括用于驅(qū)動(actuate)機器人裝置的每一部分的部件;用于向所述驅(qū)動部件指定用于驅(qū)動所述部分的運動量的控制部件;用于檢測所述驅(qū)動部件已經(jīng)作的實際運動量的部件;以及用于根據(jù)指定的和實際的運動量,確定是否有外力施加于機器人裝置的部件。
而且,以上目的可以通過提供一種外力檢測方法而實現(xiàn),根據(jù)本發(fā)明的外力檢測方法包括以下步驟對用于驅(qū)動機器人裝置的每一部分的部件,指定用于驅(qū)動該部分的運動量;檢測為了驅(qū)動所述部分,所述驅(qū)動部件已經(jīng)作的實際運動量;以及根據(jù)指定的和實際的運動量,確定是否已經(jīng)有外力施加于機器人裝置。
而且,以上目的可以通過提供一種用于控制機器人裝置的操作的程序而實現(xiàn),該程序使機器人裝置通過控制信號控制其傳動器的運動;以及當有外力施加于機器人裝置時,根據(jù)控制信號所示出的變化,檢測施加于機器人裝置的外力。
而且,以上目的可以通過提供一種已經(jīng)在其中記錄了程序的記錄介質(zhì)而實現(xiàn),該程序使機器人裝置通過控制信號控制其傳動器的運動;以及當有外力施加于機器人裝置時,根據(jù)控制信號所示出的變化,檢測施加于機器人裝置的外力。
圖1是本發(fā)明基本系統(tǒng)的功能方框圖;圖2示出在圖1的基本系統(tǒng)中所進行的操作的流程;圖3示出準備用于執(zhí)行圖2的步驟S3的程序;圖4以透視圖的方式說明根據(jù)本發(fā)明的機器人裝置的外觀;圖5是圖4中示出的寵物機器人的電路結(jié)構(gòu)的方框圖;圖6是信號處理電路的方框圖;圖7是控制程序的軟件配置的概念方框圖;圖8是中間件層的概念方框圖;圖9是應用層的概念方框圖;圖10是行為模型庫的概念圖;圖11是概率自動機(pobability automaton)的概念圖;
圖12是狀態(tài)轉(zhuǎn)換表的概念圖;圖13是想要檢測施加于機器人裝置的外力的機器人裝置的主系統(tǒng)的方框圖;圖14是示出PWM脈沖和在右前腿塊上測定的扭矩(torque)之間的關(guān)系的特征圖;圖15是示出PWM脈沖和在左前腿塊上測定的扭矩之間的關(guān)系的特征圖;圖16是示出PWM脈沖和在右后腿塊上測定的扭矩之間的關(guān)系的特征圖;圖17是示出PWM脈沖和在左后腿塊上測定的扭矩之間的關(guān)系的特征圖;圖18示出力傳感器系統(tǒng)的配置;圖19是示出用于解釋力傳感器系統(tǒng)的校準的特征圖;圖20示出機器人裝置的模型鏈接點;圖21是示出在關(guān)節(jié)1,測定的扭矩和通過力傳感器檢測的力的變換而獲得的扭矩之間關(guān)系的特征圖;圖22是示出在關(guān)節(jié)1,測定的扭矩和通過力傳感器檢測的力的變換而獲得的扭矩之間關(guān)系的特征圖;圖23是示出在關(guān)節(jié)2,測定的扭矩和通過力傳感器檢測的力的變換而獲得的扭矩之間關(guān)系的特征圖;圖24是示出在關(guān)節(jié)2,測定的扭矩和通過力傳感器檢測的力的變換而獲得的扭矩之間關(guān)系的特征圖;圖25是示出在關(guān)節(jié)3,測定的扭矩和通過力傳感器檢測的力的變換而獲得的扭矩之間關(guān)系的特征圖;圖26是示出在關(guān)節(jié)3,測定的扭矩和通過力傳感器檢測的力的變換而獲得的扭矩之間關(guān)系的特征圖;圖27是示出從后面向站立的機器人裝置施加的力的模擬值的特征圖;圖28是示出從前面向站立的機器人裝置施加的力的模擬值的特征圖;圖29是示出施加于當站立時提起左腿的機器人裝置的力的模擬值的特征圖;圖30是示出以分別從后面、左面、右面和前面的順序施加于站立的機器人裝置的力的模擬值的特征圖;圖31示出了對于俯仰方向的傳動器所指定的運動量與傳動器已經(jīng)作的實際運動量之間關(guān)系的波形;圖32示出了指定的與實際的運動量之間的關(guān)系的波形;圖33是用于解釋穩(wěn)定度邊際(stability margin)的概念圖;圖34示出用于解釋穩(wěn)定度邊際的波形;圖35示出用于解釋通過第一到第三障礙物檢測方法檢測障礙物的波形;圖36示出用于解釋通過第一到第三障礙物檢測方法檢測障礙物的波形;圖37示出用于解釋通過第一到第三障礙物檢測方法檢測障礙物的波形;圖38是用于解釋穩(wěn)定度邊際計算的概念圖;圖39示出用于檢測障礙物而進行的操作的流程。
具體實施例方式
作為本發(fā)明實施例下面將要描述的機器人裝置是自主類型的,它適應于其周圍環(huán)境(外部因素)和內(nèi)部狀態(tài)(內(nèi)部因素)而自主動作。外部因素包括用戶對其施加的力、與障礙物接觸產(chǎn)生的外力等。將機器人裝置設(shè)計為可以檢測對其施加的外力。
除了根據(jù)外部和內(nèi)部因素進行自主行為的基本系統(tǒng)之外,機器人裝置還包括如圖1和2所示的外力傳感器101、外力分析單元102以及行為選擇單元103。在步驟S1,外力傳感器101測定施加于機器人裝置的外力的位置、方向和大小。隨后,在步驟S2,外力分析單元102根據(jù)外力傳感器101所提供的信號對測定的外力進行分類。然后在步驟S3,動作選擇單元103使機器人裝置根據(jù)外力分析單元102對外力分析的結(jié)果改變其姿態(tài)。
在步驟S3,根據(jù)例如圖3所示的程序進行行為選擇。準備圖3中示出的程序,以便根據(jù)施加于機器人裝置的外力的種類和機器人裝置的行為狀態(tài)而選擇下一動作。在該程序中,變量“ForceKind”、“BehaviorStatus”和“ForceDirection”分別指示施加外力的位置、機器人裝置的行為和施加外力的方向。動作選擇單元103根據(jù)這些關(guān)于外力的信息而選擇某種行為。
下面將詳細描述本發(fā)明關(guān)于在設(shè)計為根據(jù)施加的外力選擇行為的自主機器人裝置中所采用的外力檢測方法。
(1)機器人裝置概述圖4示出形如諸如“狗”的動物的機器人裝置1,即寵物機器人。如圖所示,機器人裝置1包括身體塊2,分別連接在身體塊2的前部和后部以及右部和左部的腿塊3A、3B、3C和3D,分別連接在身體塊2的前端和后端的頭塊4和尾塊5。
如圖5所示,身體塊2中有包括經(jīng)內(nèi)部總線15連接的CPU(中央處理單元)10、DRAM(動態(tài)隨機存取存儲器)11、快閃ROM(只讀存儲器)12、PC(個人計算機)卡接口電路13和信號處理電路14,以及作為機器人裝置1的電源的電池17。身體塊2中還有檢測機器人裝置的運動的方向和加速度的角速度傳感器18、加速度傳感器19等。
頭塊4中放置有用于捕獲外部環(huán)境的CCD(電荷耦合器件)攝像機20、用于檢測當用戶對機器人裝置1進行諸如“輕拍”或“打”的身體動作時所施加于機器人裝置1的壓力的接觸傳感器21、用于測定從機器人裝置1到其前方存在的物體的距離的距離傳感器22、用于獲取外部聲音的麥克風23、用于輸出諸如狗吠的聲音的揚聲器24、等效于機器人裝置1的“眼睛”的LED(發(fā)光二極管)(未示出)。
腿塊3A到3D的關(guān)節(jié)、腿塊3A到3D與身體塊2之間的鏈接點、頭塊4與身體塊2之間的鏈接點、尾5A與尾塊5之間的鏈接點等之中,放置了用于它們各自的自由度的傳動器251到25n以及電位器261到26n。例如,每一傳動器251到25n是伺服馬達。腿塊3A到3D用它們各自的伺服馬達控制以實現(xiàn)目標姿態(tài)或進行指定的動作。
包括角速度傳感器18、加速度傳感器19、接觸傳感器21、距離傳感器22、麥克風23、揚聲器24和電位器261到26n、以及LED和傳動器251到25n的傳感器,經(jīng)集線器271到27n分別連接到控制單元16中的信號處理電路14。CCD攝像機20和電池17直接連接到信號處理電路14。
信號處理電路14從傳感器順序獲得傳感器數(shù)據(jù)、圖像數(shù)據(jù)和聲音數(shù)據(jù),并且經(jīng)內(nèi)部總線15將數(shù)據(jù)順序地存儲在DRAM 11中的位置。而且,信號處理電路14從電池17獲得剩余電量數(shù)據(jù),并且將該數(shù)據(jù)存儲在DRAM 11中的位置。
用CPU 10隨后使用存儲在DRAM 11中的傳感器數(shù)據(jù)、圖像數(shù)據(jù)、聲音數(shù)據(jù)和電池剩余電量數(shù)據(jù),控制機器人裝置1的操作。
實際上,僅在啟動機器人裝置1之后的初始運行中,CPU 10經(jīng)PC卡接口電路13從插在身體塊2的PC卡插槽(未示出)中的存儲卡28中,或直接從快閃ROM 12中讀取控制程序,并且將程序存儲在DRAM 11中。
之后,根據(jù)從如圖所示的信號處理電路14順序存儲在DRAM 11中的傳感器數(shù)據(jù)、圖像數(shù)據(jù)和電池剩余電量數(shù)據(jù),CPU 10確定機器人裝置1的內(nèi)部狀態(tài)和周圍環(huán)境,并確定用戶是否已經(jīng)對機器人裝置發(fā)出指令和動作。
CPU 10根據(jù)確定的結(jié)果和存儲在DRAM 11中的控制程序,決定下一動作,并根據(jù)所述確定結(jié)果,例如驅(qū)動傳動器251到25n中相應的傳動器以垂直或水平地擺動頭塊4,移動尾5A與尾塊5,以及驅(qū)動用于行走的腿塊3A到3D。
而且,CPU 10當需要時生成聲音數(shù)據(jù),并且將其作為聲音信號經(jīng)信號處理電路14提供到揚聲器24,以根據(jù)該聲音信號輸出聲音,或打開和關(guān)閉LED,或使其閃爍。
如上所述,機器人裝置1可以適應于其自身狀態(tài)和周圍環(huán)境,并且響應于用戶的指令和動作自主動作。
(1-1)信號處理電路如圖6中詳細所示,信號處理電路14包括DMA(直接存儲器存取)控制器30、DSP(數(shù)字信號處理器)31、外圍接口32、定時器33、FBK/CDT(濾波器組/色彩檢測器)34、IPE(內(nèi)部產(chǎn)品引擎(inner product engine))35、串行總線主機控制器36和串行總線37,以上裝置經(jīng)總線38和以此順序?qū)κ褂每偩€38的權(quán)力判優(yōu)的判優(yōu)器39連接到總線40??偩€40經(jīng)DRAM接口41、主機接口42和ROM接口43分別連接到DRAM 11(圖5中所示)、CPU 10(圖5中)以及快閃ROM 12(圖5中),以及并行部分44、電池管理器45和串行部分46連接到外圍接口32。
參照圖5已經(jīng)描述的包括有角速度傳感器18、加速度傳感器19、接觸傳感器21、距離傳感器22、麥克風23、揚聲器24、傳動器25(251、252、253、…)、電位器26(261、262、263、…)等的部件,經(jīng)集線器27(271到27n)分別連接到串行總線主機控制器36。CCD攝像機20(圖2中所示)連接到FBK/CDT34,以及電池17(圖5中)連接到電池管理器45。
從連接的角速度傳感器18、加速度傳感器19、接觸傳感器21、距離傳感器22、麥克風23、揚聲器24、電位器26(261、262、263、…)等將數(shù)據(jù)順序地提供到串行總線主機控制器36,并且在用于控制數(shù)據(jù)傳輸?shù)淖鳛榭偩€管理器的DMA控制器30的控制下,經(jīng)總線38、總線判優(yōu)器39、總線40和DRAM接口41的該順序,將數(shù)據(jù)存儲到DRAM 11。
而且,串行總線主機控制器36從麥克風23將聲音數(shù)據(jù)發(fā)送到將以預定方式處理聲音數(shù)據(jù)的DSP31,并在DRAM控制器30的控制下,經(jīng)總線38、總線判優(yōu)器39、總線40和DRAM接口41的順序,將所處理的聲音數(shù)據(jù)傳輸?shù)紻RAM 11,并將所述聲音數(shù)據(jù)存儲在DRAM 11中的特定存儲區(qū)域中。
FBK/CDT34從CCD攝像機20獲得圖像數(shù)據(jù),同時進行數(shù)據(jù)的色彩識別以根據(jù)多個分辨率將數(shù)據(jù)分類,并在DRAM控制器30的控制下,經(jīng)總線38、總線判優(yōu)器39、總線40和DRAM接口41的順序,將數(shù)據(jù)傳輸?shù)紻RAM 11(圖5中),并且如稍后所描述將所述圖像數(shù)據(jù)存儲在DRAM 11中的特定存儲區(qū)域中。
另外,在DRAM控制器30的控制下,經(jīng)外圍接口32、總線38、總線判優(yōu)器39、總線40和DRAM接口41,電池管理器45以該順序?qū)碾姵?7發(fā)送并且指示電池17中能量剩余的電池剩余電量數(shù)據(jù)傳輸?shù)紻RAM 11,并且將數(shù)據(jù)存儲在DRAM 11中的預定存儲區(qū)域中。
另一方面,將用于驅(qū)動傳動器25(251、252、253、…)的第一驅(qū)動信號、聲音信號和用于驅(qū)動LED的第二驅(qū)動信號,經(jīng)主機接口42提供給信號處理電路14,所述信號均從CPU 10經(jīng)如圖所示的總線15(圖5中)給出。
隨后,信號處理電路14經(jīng)總線40、總線判優(yōu)器39、總線38、串行總線主機控制器36和相應的集線器27(271到27n)(圖5中),以該順序?qū)⑿盘柊l(fā)送到傳動器25(251、252、253、…)(圖5中)中相應的一個、揚聲器24(圖5中)或LED。
如上所述,在CPU 10和諸如傳感器、CCD攝像機20、麥克風23、揚聲器24、傳動器25(251、252、253、…)等之間提供信號處理電路14,并且可以對CPU 10進行必須的不同種類的信號處理,以控制機器人裝置1的行為。
(1-2)控制程序的軟件配置接下來,將要說明機器人裝置1所采用的控制程序的軟件配置。
圖7示出在機器人裝置1中使用的上述控制程序的軟件配置。如圖所示,控制程序包括位于其底層,并且由由多個驅(qū)動程序所組成的設(shè)備驅(qū)動程序集51形成的設(shè)備驅(qū)動程序?qū)?0。在此程序中,每一設(shè)備驅(qū)動程序51是被允許直接訪問CCD攝像機20(圖5中)和諸如定時器的常規(guī)計算機硬件的對象,并且根據(jù)來自于相應的硬件的中斷工作。
控制程序還包括位于設(shè)備驅(qū)動程序?qū)?0之上的機器人服務程序?qū)ο?2。機器人服務程序?qū)ο?2由虛擬機器人53、電源管理程序54、設(shè)備驅(qū)動管理程序55和設(shè)計好的機器人56組成,其中虛擬機器人53由提供用于訪問諸如前述傳感器和傳動器25(251到25n)的硬件的接口的軟件組形成,電源管理程序54由管理電池之間的選擇的軟件組形成,設(shè)備驅(qū)動管理程序55由管理其它各種設(shè)備驅(qū)動程序的軟件組形成,設(shè)計好的機器人56由管理機器人裝置1的機構(gòu)的軟件組形成。
控制程序還包括由對象管理程序58和服務管理程序59所組成的管理程序?qū)ο?7。在此控制程序中,對象管理程序58是管理包括在機器人服務程序?qū)ο?2、中間件層60和應用層61中的每一軟件組的開始和結(jié)束的軟件組。服務管理程序59是根據(jù)在存儲器卡28(圖5中)中存儲的連接文件中說明的對象間連接信息,管理對象之間的連接的軟件組。
中間件層60由位于機器人服務程序?qū)ο?2之上的軟件組形成,以提供諸如圖像處理和聲音處理的機器人裝置1的基本功能。應用層61由位于中間件層60之上的軟件組形成,用于根據(jù)包括在中間件層60中的每一軟件組進行處理的結(jié)果,決定機器人裝置1的行為。
圖8和9中分別示出中間件層60和應用層61的具體軟件配置。如圖8所示,中間件層60由識別系統(tǒng)700和輸出系統(tǒng)800組成,其中識別系統(tǒng)700包括用于分別檢測噪音、溫度、亮度、音階、距離、姿態(tài)、接觸、動作和色彩的信號處理模塊70到78,還包括輸入語義轉(zhuǎn)換程序模塊79;輸出系統(tǒng)800包括輸出語義轉(zhuǎn)換程序模塊88和信號處理模塊81到87,信號處理模塊81到87分別用于姿態(tài)管理、跟蹤、運動再現(xiàn)、行走、從翻倒恢復、LED打開和聲音再現(xiàn)。
在此實施例中,在識別系統(tǒng)700中包括的信號處理模塊70到78,從DRAM 11(圖5中)獲得由機器人服務程序?qū)ο?2中的虛擬機器人53所讀出的傳感器數(shù)據(jù)、圖像數(shù)據(jù)和聲音數(shù)據(jù)的相應一個,并根據(jù)所述數(shù)據(jù)進行預定的處理,并且將處理的結(jié)果提供到輸入語義轉(zhuǎn)換程序模塊79。
根據(jù)從信號處理模塊70到78提供的處理結(jié)果,輸入語義轉(zhuǎn)換程序模塊79識別機器人裝置1的內(nèi)部狀態(tài)和周圍環(huán)境、以及來自于用戶的指令和動作,諸如“有噪音”、“熱”、“亮”、“機器人裝置檢測到球”、“機器人裝置檢測到其本身跌倒”、“機器人裝置被輕拍”、“機器人裝置被打”、“機器人裝置聽到音階“do”、“mi”、“so”、“機器人裝置檢測到移動物體”或“機器人裝置檢測到障礙物”,并且將識別結(jié)果輸出到應用層61(圖7中)。
如圖9所示,應用層61由5個模塊組成,所述5個模塊包括行為模型庫90、行為選擇模塊91、學習模塊92、情緒模型93和本能模型94。
在此實施例中,如圖10所示,行為模型庫90包括對應于一些預選條件項的獨立行為模型901到90n,所述預選條件諸如“電池剩余電量已經(jīng)變低”、“機器人裝置從翻倒中恢復”、“機器人裝置表達情緒”、“機器人裝置已經(jīng)檢測到球”等。
當從輸入語義轉(zhuǎn)換程序模塊79提供識別結(jié)果,或根據(jù)在提供上一識別結(jié)果之后過去預定的時間時,行為模型901到90n決定下一動作,同時參照如稍后所述必須的在情緒模型93中保持的相應情緒參數(shù)值、和在本能模型94中保持的相應愿望參數(shù)值,并且將決定的結(jié)果提供到行為選擇模塊91。
注意,在此實施例中,為了決定下一動作,每一行為模型901到90n使用稱作“概率自動機”的算法,以根據(jù)為用于將節(jié)點NODE0到NODEn彼此連接的弧線ARC1到ARCn+1設(shè)置的轉(zhuǎn)換概率P1到Pn+1,隨機(stochastically)決定節(jié)點NODE0到NODEn(如圖11所示)的哪一個是轉(zhuǎn)換源和節(jié)點NODE0到NODEn的哪一個是轉(zhuǎn)換目的地。
尤其是,如圖12所示,每一行為模型901到90n具有對于形成行為模型901到90n的每一節(jié)點NODE0到NODEn的狀態(tài)轉(zhuǎn)換表100。
狀態(tài)轉(zhuǎn)換表100有作為用于從節(jié)點NODE0到NODEn的一個向另一個轉(zhuǎn)換的條件的事件(識別結(jié)果),其中條件按優(yōu)先級順序列在對應于其“輸入事件名”列的行中,并且其它的這種轉(zhuǎn)換條件列在對應于“數(shù)據(jù)名”和“數(shù)據(jù)范圍”列的行中。
因此,根據(jù)圖12中的狀態(tài)轉(zhuǎn)換表100,僅當在識別結(jié)果是“機器人裝置檢測到球(BALL)”的情況下,與識別結(jié)果一起給出的球的大小(SIZE)在范圍“0到1000”內(nèi)時,或僅當在識別結(jié)果是“機器人裝置檢測到障礙物(OBSTACLE)”的情況下,與識別結(jié)果一起給出的從機器人裝置1到障礙物的距離(DISTANCE)在范圍“0到100”內(nèi)時,機器人裝置1可以從節(jié)點100向任何其它節(jié)點轉(zhuǎn)換狀態(tài)。
而且,根據(jù)狀態(tài)轉(zhuǎn)換表100,當即使在不提供識別結(jié)果的情況下,情緒和愿望部分參數(shù)值中的“JOY”、“SURPRISE”和“SADNESS”的任一個具有在“50到100”范圍內(nèi)的值時,機器人裝置1可以從節(jié)點100向任何其它節(jié)點轉(zhuǎn)換狀態(tài),其中情緒和愿望部分保持在行為模型901到90n所循環(huán)參考的情緒模型93和本能模型94之中。
而且在狀態(tài)轉(zhuǎn)換表100中,在對應于“轉(zhuǎn)換到其它節(jié)點的概率”列的“轉(zhuǎn)換目的地節(jié)點”行中,寫有其中機器人裝置1可以從節(jié)點NODE0到NODEn的任一個向該節(jié)點轉(zhuǎn)換狀態(tài)的節(jié)點名稱,在對應于“轉(zhuǎn)換到其它節(jié)點的概率”列的行中寫有轉(zhuǎn)換概率,其中當滿足寫在“輸入事件名”、“數(shù)據(jù)值”和“數(shù)據(jù)范圍”行中的全部條件時,機器人裝置1可以以該概率向節(jié)點NODE0到NODEn的任一個轉(zhuǎn)換狀態(tài),并且在對應于“轉(zhuǎn)換到其它節(jié)點的概率”列的“輸出行為”行中寫有當機器人裝置1將狀態(tài)轉(zhuǎn)換到節(jié)點NODE0到NODEn中的上面的節(jié)點時所進行的動作。應該注意,對應于“轉(zhuǎn)換到其它節(jié)點的概率”列的行中概率的總和是100(%)。
因此,根據(jù)圖12中的狀態(tài)轉(zhuǎn)換表100,當識別到“機器人裝置檢測到球(BALL)”和“球的大小(SIZE)”在“0到1000”的范圍內(nèi)時,機器人裝置1可以從節(jié)點100向節(jié)點“節(jié)點120”按“30(%)”的概率轉(zhuǎn)換狀態(tài),并且輸出行為將是“ACTION1”。
每一行為模型901到90n由如在以上狀態(tài)轉(zhuǎn)換表100中所寫的彼此連接的多個節(jié)點NODE0到NODEn組成。當從輸入語義轉(zhuǎn)換模塊79等提供識別結(jié)果時,行為模型通過使用節(jié)點NODE0到NODEn中相應一個的狀態(tài)轉(zhuǎn)換表100隨機決定下一行為,并且將決定結(jié)果提供到行為選擇模塊91。
行為選擇模塊91從由行為模型庫90的行為模型901到90n分別輸出的行為中,選擇從行為模型901到90n輸出的具有更高預定優(yōu)先級的行為,并且將進行行為的命令(以下將稱作“行為命令”)發(fā)送到中間件層60中的輸出語義轉(zhuǎn)換程序88。應該注意,在此實施例中,將圖10中行為模型901到90n最低的一個設(shè)置為具有最高優(yōu)先級,并且將最高的一個設(shè)置為具有最低優(yōu)先級。
而且,行為選擇模塊91根據(jù)在行為完成之后,從輸出語義轉(zhuǎn)換程序88提供的行為完成信息,通知學習模塊92、情緒模型93和本能模型94。
另一方面,將來自于用戶的動作作為給出的教的識別結(jié)果提供到學習模塊92,諸如從輸入語義轉(zhuǎn)換程序79提供的識別結(jié)果中的“打”或“輕拍”。
隨后,學習模塊92根據(jù)所述識別結(jié)果和來自于行為選擇模塊91的信息,改變行為模型庫90中的相應一個行為模型901到90n的轉(zhuǎn)換概率,從而當機器人裝置1被“打(訓斥)”時,降低所述行為的執(zhí)行概率,同時當機器人裝置1被“輕拍(表揚)”時,提高所述行為的執(zhí)行概率。
另一方面,情緒模型93具有表示包括有“快樂”、“憂傷”、“生氣”、“好奇心”、“厭惡”和“害怕”六個情緒的每一個的強烈程度的參數(shù)值。情緒模型93根據(jù)從輸入語義轉(zhuǎn)換程序79提供的諸如“打”、“輕拍”等具體識別結(jié)果等、經(jīng)過的時間和來自于行為選擇模塊91的信息,周期地更新這些情緒的參數(shù)值。
尤其是,情緒模型93根據(jù)輸入語義轉(zhuǎn)換程序79所提供的識別結(jié)果、在某一時刻機器人裝置1的行為和從上一更新到現(xiàn)在所經(jīng)過的時間,用預定算法計算在所述時刻情緒的變化。隨后,取情緒變化為ΔE[t],情緒的當前參數(shù)值為E[t],并且表示情緒敏感度的系數(shù)為ke,情緒模型93通過計算方程(1),確定下一周期情緒的參數(shù)值E[t+1],并且用情緒的當前參數(shù)值E[t]代替在前參數(shù)值E[t+1],從而更新情緒的參數(shù)值。情緒模型93同樣計算方程(1)以更新全部剩余情緒的參數(shù)值。
E[t+1]=E[t]+ke×ΔE[t]…(1)注意,要預定每一識別結(jié)果和來自于輸出語義轉(zhuǎn)換程序模塊88的信息影響每一情緒的參數(shù)值的變化ΔE[t]的多少。預定是諸如“打”的識別結(jié)果將對“生氣”情緒的參數(shù)值的變化ΔE[t]產(chǎn)生更大的影響,同時,“輕拍”的識別結(jié)果將對“快樂”情緒的參數(shù)值的變化ΔE[t]產(chǎn)生更大的影響。
來自于輸出語義轉(zhuǎn)換程序模塊88的信息是關(guān)于行為的反饋信息(行為完成信息)。即,它是關(guān)于行為執(zhí)行結(jié)果的信息。情緒模型93將通過這種信息改變情緒。例如,“哀鳴”行為將降低“生氣”情緒的等級。應該注意,還將來自于輸出語義轉(zhuǎn)換程序模塊88的信息提供到根據(jù)該信息將會改變對應于行為模型901到90n的轉(zhuǎn)換概率的前述學習模塊92。
注意,可以通過行為選擇模塊91的輸出(具有加于其上的感覺的行為)反饋行為的結(jié)果。
另一方面,本能模型94具有表示包括“練習(exercise)”、“感情(affection)”、“愛好(appetite)”和“好奇心(curiosity)”四種愿望(本能)部分每一個的強烈程度的參數(shù)值。根據(jù)輸入語義轉(zhuǎn)換程序79所提供的識別結(jié)果、經(jīng)過時間、來自于行為選擇模塊91的信息等,本能模型94周期性更新這些愿望部分的參數(shù)值。
尤其是,本能模型94根據(jù)識別結(jié)果、經(jīng)過時間和來自于輸出語義轉(zhuǎn)換程序模塊88的信息,用預定算法計算在某時包括“練習”、“感情”、“愛好”和“好奇心”的本能(愿望)部分每一個的變化。隨后,取愿望部分變化作為ΔI[k],愿望部分的當前參數(shù)值為I[k],并且表示愿望部分的敏感度的系數(shù)為kj,本能模型94通過計算在給定周期內(nèi)的方程(2),計算愿望部分在下一周期的參數(shù)值I[k+1],并且用愿望部分的當前參數(shù)值I[k]代替值I[k+1],從而更新愿望部分的在前參數(shù)值。本能模型94同樣計算方程(2)以更新除“愛好”以外的本能(愿望)的全部剩余部分的參數(shù)值。
I[k+1]=I[k]+kj×ΔI[k] …(2)注意,要預定每一識別結(jié)果和來自于輸出語義轉(zhuǎn)換程序模塊88的信息影響每一愿望部分的參數(shù)值的變化ΔI[k]的多少。預定是諸如來自于輸出語義轉(zhuǎn)換程序模塊88的信息將對“疲勞”狀態(tài)的參數(shù)值的變化ΔI[k]產(chǎn)生大的影響。
注意,在此實施例中,將情緒和愿望(本能)部分的參數(shù)值指定為在0到100范圍內(nèi)改變,并且為每一情緒和愿望部分設(shè)定系數(shù)ke和kj。
另一方面,如圖9所示,中間件層40的輸出語義轉(zhuǎn)換程序模塊88將抽象行為命令提供給輸出系統(tǒng)800的信號處理模塊78到84中相應的一個,其中所述抽象動作命令是從如上所述的應用層61的行為選擇模塊91提供的諸如“前進”、“快樂”、“哀鳴”或“跟蹤(球)”的命令。
當提供有上述行為命令時,根據(jù)所述行為命令,信號處理模塊81到85生成用于提供給傳動器251到25n(圖5中)相應的一個的伺服命令、來自于揚聲器24(圖5中)的聲音數(shù)據(jù)和/或用于提供給“眼睛”LED的驅(qū)動數(shù)據(jù),并且將這些數(shù)據(jù)經(jīng)機器人服務程序?qū)ο?2的虛擬機器人53和信號處理電路14(圖5中)的順序,順序地發(fā)送到傳動器251到25n相應的一個、揚聲器24或LED。
如上所述,在控制程序的控制下,機器人裝置1可以適應于其內(nèi)部狀態(tài)和周圍環(huán)境、來自于用戶的指令和動作而自主動作。
當提供有上述行為命令時,根據(jù)所述行為命令,信號處理模塊81到87生成用于提供給傳動器251到25n(圖5中)相應的一個的伺服命令、來自于揚聲器24(圖5中)的聲音數(shù)據(jù)和/或用于提供給“眼睛”LED的驅(qū)動數(shù)據(jù),并且將這些數(shù)據(jù)經(jīng)機器人服務程序?qū)ο?2的虛擬機器人53和信號處理電路14(圖12中)的順序,順序地發(fā)送到傳動器251到25n相應的一個、揚聲器24或LED。
如上所述,在控制程序的控制下,機器人裝置1可以適應于其內(nèi)部狀態(tài)和周圍環(huán)境、來自于用戶的指令和動作而自主動作。
(2)在實施例中檢測外力的第一方法如圖13所示,機器人裝置1還包括外力傳感器7以檢測在機器人裝置1上施加的外力。當有外力施加于機器人裝置1上時,外力傳感器7根據(jù)由從控制器6提供到傳動器8并且指定用于控制移動部分9的控制信號所示出的改變,檢測外力。
外力傳感器7是處理程序的模塊或?qū)ο?。而且,例如,控制?包括CPU 10。移動部分9包括前述腿塊3A到3D,頭塊4或尾塊5等??刂菩盘柺怯脭?shù)據(jù)調(diào)制其寬度的脈沖,即,例如,PWM(脈寬調(diào)制)脈沖。PWM脈沖經(jīng)常用作控制信號。
因為前述的機器人裝置結(jié)構(gòu),可以如下方法檢測施加于機器人裝置1的外力控制器6將控制信號提供給移動部分9的一個。例如,機器人裝置1具有多個預定行為程序數(shù)據(jù)。所述行為程序數(shù)據(jù)是關(guān)于可以由機器人裝置1所執(zhí)行的動作的信息。即,機器人裝置1可以根據(jù)多個所述行為程序數(shù)據(jù),進行不同的行為。在給定條件下,控制器6選擇多個所準備的行為程序數(shù)據(jù)中的一個,并且根據(jù)所選的行為程序數(shù)據(jù),生成控制信號。給定條件包括,例如,定義機器人裝置1的行為的情緒在預定的等級。
將來自于控制器6的控制信號提供給傳動器8。傳動器8根據(jù)所述控制信號,控制移動部分9,并且還根據(jù)基于所述行為程序數(shù)據(jù)從控制器6相繼提供的控制信號,控制移動部分9。
外力傳感器7監(jiān)視如上所述從控制器6提供給傳動器8的控制信號,從而根據(jù)當有外力施加于移動部分9時,由控制信號示出的改變,檢測外力。例如,當控制信號是PWM脈沖時,外力傳感器7根據(jù)當有外力施加于移動部分9時,由PWM脈沖所示出的寬度上的改變檢測外力。外力傳感器7這樣檢測外力。而且,外力傳感器7獲得外力的方向和大小作為關(guān)于外力的信息。
上述構(gòu)造的機器人裝置1可以有其根據(jù)控制信號被控制的姿態(tài)和動作,并且根據(jù)控制信號檢測外力。例如,當用外力向后推其身體時,機器人裝置1產(chǎn)生控制信號以控制其姿態(tài)對抗向后移動,并且根據(jù)控制信號,獲得關(guān)于外力的信息。
隨后,例如,通過彼此鏈接的外力信息和特定操作,當施加外力時,機器人裝置1可以檢測關(guān)于外力的信息,并且作對應于外力的特定動作(例如,“坐下”)。
(2-1)外力檢測的實例接下來,將在下面詳細描述外力檢測。在前面,已經(jīng)描述利用PWM脈沖作為控制信號,對關(guān)于施加于機器人裝置1的外力的信息(方向,大小等)的計算。這里將根據(jù)這種PWM脈沖,描述關(guān)于獲取外力的信息的實例。通常在以下四個步驟中,根據(jù)PWM脈沖獲取外力信息。
在第一步驟中,確定扭矩A(測定值)和PWM脈沖之間的關(guān)系。
在第二步驟中,確定由傳感器等所檢測的外力(測定值)和扭矩B(計算值)之間的關(guān)系。
在第三步驟中,確定扭矩A和B之間的關(guān)系(關(guān)系式)。
在第四步驟中,用在第三步驟中確定的關(guān)系,從對每一關(guān)節(jié)計算的PWM脈沖單獨獲取關(guān)于力的信息。
下面將詳細描述每一上述步驟。
(2-1-1)測定扭矩與PWM脈沖之間關(guān)系的確定(第一步驟)根據(jù)如下的關(guān)系式確定測定扭矩與PWM脈沖之間的關(guān)系。
圖14到17圖解地示出用于每一腿塊的測定扭矩與PWM脈沖之間的關(guān)系。在圖中,垂直軸表示PWM脈沖,水平軸表示扭矩值。圖14示出用于右前腿塊的扭矩/PWM脈沖關(guān)系,圖15示出用于左前腿塊的扭矩/PWM脈沖關(guān)系,圖16示出用于右后腿塊的扭矩/PWM脈沖關(guān)系,圖17示出用于左后腿塊的扭矩/PWM脈沖關(guān)系。每一前腿塊(或后腿塊)上的關(guān)系是從肩部(或臀部)到腳趾計數(shù)的每一前腿塊(或后腿塊)的每一關(guān)節(jié)(關(guān)節(jié)1到3)上的扭矩與PWM脈沖之間的關(guān)系。例如,通過以彈簧秤拉腿塊測定扭矩,并且PWM脈沖的寬度是在那時獲得的。
如圖14到17所示,全部腿塊的關(guān)系從性質(zhì)上看彼此間相同。例如,即使當PWM脈沖存在時,在全部關(guān)系中,扭矩示出未改變(例如,馬達不運行),即,存在所謂的靜區(qū)(dead zone)。例如,靜區(qū)是在±320的范圍內(nèi)。在這種靜區(qū)中,扭矩是變化的,并且因此不可用于力的確定。因此,選擇可用于檢測力的PWM脈沖范圍,并且從所選范圍的值,利用回歸線(regression line)確定關(guān)系。而且,對每一關(guān)節(jié)計算回歸線,并且均分所計算的每一關(guān)節(jié)和回歸線的值,以得到關(guān)系式。
如從圖14到17所見,可用于檢測力的PWM脈沖的范圍分別從+320到+512,以及從-320到-512。用于當PWM脈沖在+320到+512范圍內(nèi)時確定扭矩的回歸線如以下方程(3)中所給出y=26×x-7245 …(3)其中y是扭矩值,并且x是PWM脈沖值。另一方面,用于當PWM脈沖在-320到-512范圍內(nèi)時確定扭矩的回歸線如以下方程(4)中所給出y=28×x+8051 …(4)可以如以上方程獲得表示測定扭矩與PWM脈沖之間關(guān)系的關(guān)系式。
(2-1-2)由傳感器等測定的扭矩與扭矩(計算值)之間關(guān)系的確定(第二步驟)下面將描述施加于機器人裝置1的扭矩到扭矩的轉(zhuǎn)換。
(2-1-2-1)力傳感器系統(tǒng)圖18示出一系統(tǒng),以測定施加于機器人裝置1的力(以下將被稱作“力傳感器系統(tǒng)”)。如圖所示,力傳感器系統(tǒng)包括傳感器201、差動放大器202、A/D轉(zhuǎn)換器203、接口204和分析單元205。
例如,傳感器201是三軸力傳感器。在此實施例中的傳感器201包括安置在三個不同方向并且每一個與金屬球201b接觸的三個單軸傳感器201a。因為傳感器201的這種結(jié)構(gòu),每一力傳感器201a檢測施加于金屬球201b的外力,并且產(chǎn)生對應于外力的信號。例如,每一力傳感器201a是一個應變儀(strain gauge),并且傳感器201是由這種應變儀所形成的橋接電路。
將由傳感器201產(chǎn)生的信號提供給差動放大器202,在其中該信號將被放大,并且被提供給A/D轉(zhuǎn)換器203。例如,A/D轉(zhuǎn)換器203是8位數(shù)據(jù)轉(zhuǎn)換器。將從A/D轉(zhuǎn)換器203輸出的數(shù)據(jù)被RS232C等的接口204轉(zhuǎn)換為電平,并且將其提供給分析單元205。
分析單元205根據(jù)傳感器201的裝置所獲得的數(shù)據(jù)分析外力。分析單元205因此獲取外力的方向和大小作為外力信息。分析單元205包括,例如,分析軟件、和根據(jù)分析軟件的描述分析施加于機器人裝置1的外力的個人計算機(PC)。
圖19是打算用于外力校準的特征圖。為了校準,例如,用秤(balance)檢測當對機器人裝置1施加外力時從差動放大器202提供的輸出電量。如同從圖19中所見,輸出電量和重力彼此成比例。
當取測定輸出電量為V時,如下給出力FV=V0+F×(V1-V0)/(W1-W0)F=(V-V0)×(W1-W0)/(V1-V0) …(5)上述力傳感器系統(tǒng)可以用于測定施加于機器人裝置1的力。
(2-1-2-2)測定的力到扭矩的轉(zhuǎn)換下面將描述用于將由前述力傳感器系統(tǒng)測定的力轉(zhuǎn)換為扭矩的轉(zhuǎn)換方程。轉(zhuǎn)換方程是通過將機器人裝置1的鏈接點(link)建模(modeling)而將作為末端執(zhí)行器(end effector)的力轉(zhuǎn)換為扭矩。
圖20示出機器人裝置1的建模鏈接點的坐標系。通過如圖所示的將機器人裝置的鏈接點建模,可以將測定的力轉(zhuǎn)換為扭矩。
例如,此力/扭矩轉(zhuǎn)換使用雅可比(Jacobian)矩陣。例如,當取作為末端執(zhí)行器的力為F,并且取當將力施加于機器人裝置1時每一關(guān)節(jié)(鏈接點)所需的扭矩為τ時,雅可比矩陣J可以用于建立由以下公式(6)給出的力和扭矩之間的關(guān)系τ=JTF …(6)首先,如下給出基本坐標系和鏈接點1之間的力/扭矩轉(zhuǎn)換。基本坐標系是用于機器人裝置1的身體塊2的坐標。該轉(zhuǎn)換提供如以下取關(guān)于x軸π/2、關(guān)于y軸-π/2、和關(guān)于z軸θ1的公式(7)給出的矩陣 =100000-10010000010100-100000100001cosθ1-sinθ100sinθ1cosθ10000100001]]>=01010x00-110x-10000001cosθ1-sinθ100sinθ1cosθ10000100001]]>=sinθ1cosθ1010x00-110y-cosθ1sinθ1000001···(7)]]>而且,鏈接點1和2之間的力/扭矩轉(zhuǎn)換提供如以下公式(8)給出的矩陣T21=10000cos(-1π2)-sin(-π2)00sin(-π2)cos(-π2)00001cosθ2-sinθ200sinθ2cosθ200001000011000010000100001]]>=cosθ2-sinθ2000010-sinθ2-cosθ21-110001···(8)]]>而且,鏈接點2和3之間的力/扭矩轉(zhuǎn)換提供如以下公式(9)給出的矩陣T32=cosθ3-sinθ301200-10sinθ3-cosθ3100001···(9)]]>而且,鏈接點3和末端執(zhí)行器之間的力/扭矩轉(zhuǎn)換提供如以下公式(10)給出的矩陣TE2=10013010000100001···(10)]]>通過將基本坐標系和末端執(zhí)行器之間的矩陣相乘,提供在基本坐標系和末端執(zhí)行器之間用于力/扭矩轉(zhuǎn)換的如以下公式(11)給出的矩陣TE0=T10T21T32TE3]]> 因此,在基本坐標系的原點和末端執(zhí)行器之間的關(guān)系如以下公式(12)、(13)、(14)和(15)給出Px=13(S1C2C3+C1S3)+12S1C2+10xPy=13S2C3+12S2+10y+11Pz=13(-C1C2C3+S1S3)-12C1C2…(12)dPx/dθ1=13(C1C2C3+S1S3)+12C1C2dPx/dθ2=13(-S1S2S3)-12S1S2dPx/dθ3=13(-S1C2S3+C1C3)…(13)dPy/dθ1=0
dPy/dθ2=13C2C3+12C2dPy/dθ3=-13S2S3…(14)dPz/dθ1=13(S1C2C3+C1S3)+12S1C2dPz/dθ2=13(C1S2C3)+12C1S2dPz/dθ3=13(C1C2S3+S1C3)…(15)根據(jù)以上結(jié)果,雅可比矩陣可由以下公式(16)給出J=13(C1C2C3+S1S3)+12C1C313(-S1S2C3)-12S1S213(-S1C2S3+C1C3)013C2C3+12C2-13S2S313(S1C2C3+C1S3)+12S1C213(C1S2C3)+12C1S213(C1C2C3+S1C3)···(16)]]>通過將上述的機器人裝置的鏈接點建模,可以利用雅可比矩陣將由上述力傳感器系統(tǒng)所檢測的力通過轉(zhuǎn)換轉(zhuǎn)換為扭矩。
(2-1-3)單獨從利用測定扭矩和由轉(zhuǎn)換確定的扭矩之間的關(guān)系對每一關(guān)節(jié)所計算的PWM脈沖獲得力信息(步驟3和4)測定扭矩是在項(1-1-1)中已經(jīng)描述的扭矩,并且通過轉(zhuǎn)換確定的扭矩是由已經(jīng)在項(2-1-2)中已經(jīng)描述的力傳感器檢測的扭矩。
圖21到26以特征圖的形式示出,測定扭矩和通過由力傳感器檢測的力的轉(zhuǎn)換而獲得的扭矩之間的關(guān)系。在每一圖中,垂直軸表示通過轉(zhuǎn)換(由力傳感器檢測的值)而獲得的扭矩(ForceSensor),水平軸表示測定扭矩(ApproxEqu)。圖21和22示出在關(guān)節(jié)1的關(guān)系,圖23和24示出在關(guān)節(jié)2的關(guān)系,圖25和26示出在關(guān)節(jié)3的關(guān)系。圖21、23和25示出PWM脈沖的正域,并且圖22、24和26示出PWM脈沖的負域。
對于關(guān)節(jié)1,由以下公式(17)給出關(guān)系y=1.2336x-866.14(如圖21所示)y=1.4963x-231.59(如圖22所示)…(17)其中,y是通過轉(zhuǎn)換而獲得的扭矩,并且x是測定的扭矩。對后面的方程也是如此。對于關(guān)節(jié)2,由以下公式(18)給出關(guān)系y=0.529x-7893.45(如圖23所示)
y=0.4934x+910.11(如圖24所示)…(18)對于關(guān)節(jié)3,由以下公式(19)給出關(guān)系y=0.6155x-51.28(如圖25所示)y=0.8738x+1056.7(如圖26所示)…(19)根據(jù)如圖21到26所示的結(jié)果,可以獲得力和PWM脈沖之間的關(guān)系式。所述關(guān)系式可被用于從PWM脈沖確定力。應該注意,也可以由除這種關(guān)系式以外的任何表達式獲得測定的扭矩和通過轉(zhuǎn)換而獲得的扭矩之間的關(guān)系。
圖27到30圖示了利用上述關(guān)系式所計算的施加的力的模擬值。
圖27到29示出了從不同方向?qū)φ玖⒌臋C器人裝置1施加的力的模擬值。圖27是示出從后面向站立的機器人裝置1施加的力的的模擬值的特征圖,圖28是示出從前面向站立的機器人裝置1施加的力的模擬值的特征圖,以及圖29是示出向當站立時提起左腿塊的機器人裝置1施加的力的模擬值的特征圖。例如,如圖27所示從后面向機器人裝置1施加力是意圖令機器人裝置1躺下。在此情況下,從圖27中可見已經(jīng)準確計算向右前腿和左前腿施加力的模擬值,并且因為從后背施加于機器人裝置1的力集中在前腿塊,所以幾乎沒有力施加于后腿塊。
圖30是示出分別從后面、左面、右面和前面的順序向站立的機器人裝置1施加的力的模擬值的特征圖。即,圖30示出從機器人裝置1的周圍向其施加力的結(jié)果?!癋x”和“Fy”表示水平方向施加的力。如從圖30中所見,機器人裝置1確實地檢測如上所述從其周圍向其施加的力。
如上所述,根據(jù)作為控制信號的PWM脈沖,可以計算關(guān)于施加于機器人裝置1的外力的信息(大小、方向等)。
即,機器人裝置1可以具有根據(jù)控制信號控制的姿態(tài)和動作,并且使用控制信號檢測對其施加的外力。例如,機器人裝置1還可以利用檢測到的外力作為觸發(fā)信號相繼改變其姿態(tài)。
因此,例如,通過推機器人裝置1的尾塊,用戶可以享有令后者作動作的樂趣。在此情況下,用戶推即為觸發(fā)信號。
因為機器人裝置1根據(jù)最初給定的控制信號檢測外力,所以不需要用于外力檢測的專用傳感器。因此,機器人裝置1可以通過相對簡單的結(jié)構(gòu)檢測外力。
(3)在實施例中檢測外力的第二方法(3-1)機器人裝置1中的外力檢測接下來,將要描述本發(fā)明的機器人裝置1中檢測外力的第二方法。
在機器人裝置1中,用動作學和動力學計算腿塊3A到3D的肩部關(guān)節(jié)在俯仰和旋轉(zhuǎn)方向的角度,以及行走期間膝部關(guān)節(jié)在俯仰方向的目標角度(取計算結(jié)果作為指定值),并且控制肩部關(guān)節(jié)和膝部機構(gòu)相應的傳動器25,以便指定腿塊3A到3D的肩部關(guān)節(jié)的俯仰和旋轉(zhuǎn)方向角度和膝部關(guān)節(jié)的俯仰方向。因此,機器人裝置1可以行走。
當機器人裝置1在行走中碰到障礙物時,障礙物阻礙機器人裝置1,將力施加到腿塊3A到3D的肩部和膝部關(guān)節(jié),從而在某些情況下,肩部和膝部關(guān)節(jié)不能達到指定的值。
為了避免以上問題,設(shè)計機器人裝置1以檢測二者之間的差,即在給到俯仰方向傳動器25(以下將稱作“肩部關(guān)節(jié)俯仰方向傳動器25”)的腿塊3A到3D對障礙物最敏感的肩部關(guān)節(jié)在俯仰方向的角度的指定值,與根據(jù)對應于肩部關(guān)節(jié)俯仰方向傳動器25的電位器26的輸出而獲得的俯仰方向角度(下面稱作“實際值”)之間的差,并且當檢測到的差大于預設(shè)閾值時,確定遇到障礙物。應該注意,以下將用于前腿塊3A和3B的以上方法稱作“第一障礙物檢測方法”,同時用于后腿塊3C和3D的方法稱作“第二障礙物檢測方法”。
圖31示出對3A到3D的肩部關(guān)節(jié)俯仰方向傳動器25指定的運動量和當不存在障礙物時傳動器的實際運動量之間的關(guān)系。在圖31中,參考標號K1指的是對肩部關(guān)節(jié)俯仰方向傳動器25指定的運動量,K2指的是實際的運動量,并且K3指的是指定的和實際的運動量之間的差。如圖31所示,指定的和實際的運動量彼此不一致,這是在對傳動器25指定運動量之后,直到它由傳動器25已經(jīng)作的實際運動量實際反映為止,由在系統(tǒng)中發(fā)生的一些延遲所導致的。通過在水平方向移動圖中之一,指定的和實際的運動量的兩幅圖總的來說表現(xiàn)為彼此一致。
在圖32A到32C中,圖32A示出當機器人裝置1行走并遇到障礙物時,加速度傳感器19(圖5中)所提供的輸出K4的波形,并且圖32B和32C示出對前和后腿塊3A到3D的肩部關(guān)節(jié)俯仰方向傳動器25指定的運動量和傳動器已經(jīng)作的實際運動量之間的關(guān)系。
在圖32B中,參考標號K5指的是對機器人裝置1的前腿塊3A和3B的肩部關(guān)節(jié)俯仰方向傳動器25指定的運動量,并且K6指的是根據(jù)對應于傳動器25的電位器26的輸出而檢測到的實際運動量。參考標號K7到K9分別指的是前腿塊3A和3B的空載階段和著地階段、指定的和實際的運動量之間的差、以及根據(jù)所述差是否大于預設(shè)閾值而產(chǎn)生的檢測信號。
類似地,在圖32C中,參考標號K10指的是對機器人裝置1的后腿塊3C和3D的肩部關(guān)節(jié)俯仰方向傳動器25指定的運動量,并且K11指的是根據(jù)相應的電位器26的輸出而檢測到的實際運動量,并且參考標號K12到K14分別指的是后腿塊3C和3D的空載階段和著地階段、指定的和實際的運動量之間的差、以及根據(jù)所述差是否大于預設(shè)閾值而產(chǎn)生的檢測信號。
如從圖32B和32C中所見,產(chǎn)生指示機器人裝置1在其翻倒前遇到了障礙物的脈沖PL1到PL3(如圖32A中圈起來的部分所示),作為關(guān)于后腿塊3C和3D的檢測信號。更準確地說,脈沖PL1到PL3表示指定的和實際的運動量之間的差大于所述預設(shè)閾值。因此,可以用第一和第二障礙物檢測方法檢測機器人裝置1遇到障礙物。
然而,如果有除與障礙物碰撞的其它因素,例如,諸如機器人裝置1在其上行走的厚地毯引起對腿塊3A到3D動作的阻力,第一和第二障礙物檢測方法將阻力檢測為碰上障礙物,即使當在某些情況下沒有實際障礙物。
為了防止機器人裝置1的這種錯誤檢測,將根據(jù)第一和第二障礙物檢測方法中在指定的和實際的運動量之間的差進行障礙物檢測的閾值設(shè)置得較高,并且用另一方法(以下稱作“第三障礙物檢測方法”)檢測不能由第一和第二障礙物檢測方法檢測的障礙物的碰撞。
實際上,機器人裝置1在第三障礙物檢測方法中采用“穩(wěn)定度邊際”的概念。圖33示出穩(wěn)定度邊際的概念。如圖所示,將穩(wěn)定度邊際定義為從由在地面上機器人裝置1的重心投影所定義的點PG到三角形TR的邊TRE1到TRE3起的距離L1到L3,其中三角形TR由連接腿塊3A到3D(圖33中的3A、3B和3D)接觸地面的點PA、PB和PD所定義。
當穩(wěn)定度邊際L1到L3的任一個取負值,即,當投影的重力點PG在三角形TR以外,機器人裝置1將翻倒。為了避免此情況,總是在行走的同時控制機器人裝置1的姿態(tài),從而全部穩(wěn)定度邊際L1到L3將不會取負值。然而,當機器人裝置1碰到障礙物時,它將會脫離平衡狀態(tài),從而穩(wěn)定度邊際L1到L3的任一個將變負值,或者盡管穩(wěn)定度邊際L1到L3未變負值但是穩(wěn)定度邊際L1到L3非常小,這樣機器人裝置1將不能保持姿態(tài)穩(wěn)定。
在機器人裝置1在行走期間總是監(jiān)視每一穩(wěn)定度邊際L1到L3,并且當穩(wěn)定度邊際L1到L3最小的一個小于預設(shè)的閾值時,確定機器人裝置1碰到障礙物。
圖33示出當機器人裝置1沒有實際碰到障礙物時,穩(wěn)定度邊際L1到L3最小的一個的理論值和測定值之間的關(guān)系。在圖34中,參考標號K20表示理論值,K21表示測定值,并且K22表示腿塊3A到3D的空載階段和著地階段。
而且圖34中明顯示出,當機器人裝置1沒有碰到任何障礙物時,穩(wěn)定度邊際L1到L3最小的一個的理論值和測定值在通常相同的階段改變。因此,可以了解,第三障礙物檢測方法可以用于檢測機器人裝置1與障礙物的碰撞。
因此,機器人裝置1相繼使用這些第一到第三障礙物檢測方法以確定其是否在行走時碰到障礙物。當其確定碰到障礙物時,它通過改變行走方式、行走方向等采取預定動作避免翻倒,從而可以有效防止其自身由于碰到障礙物而翻倒。
圖35到37示出用第一到第三障礙物檢測方法檢測障礙物的結(jié)果。
圖35到37中的每一個示出5個波形。上面4幅圖分別示出二者之間的差(K30B、K30A、K30C、和K30D),即,對腿塊3B、3A、3C和3D,即,右前腿、左前腿、左后腿和右后腿塊的肩部關(guān)節(jié)俯仰方向傳動器25所指定的運動量,和傳動器實際運動量二者之間的差,和根據(jù)該差是否大于預設(shè)閾值而分別產(chǎn)生的方向信號(K31B、K31A、K31C、和K31D)。
圖35到37中的第5幅圖示出了穩(wěn)定度邊際L1到L3最小的一個的理論值(K32)和測定值(K33),和根據(jù)測定值是否小于預設(shè)閾值而產(chǎn)生的、并且想要用第二障礙物檢測方法檢測機器人裝置1是否碰到障礙物的檢測信號(K34)。
在圖35到37中,底端的圖示出加速度傳感器輸出(K35)和指示用第一和第二障礙物檢測方法進行最后障礙物檢測的結(jié)果的檢測信號(K36)。
在圖35到37中,圖35示出了就在機器人裝置1脫離姿態(tài)平衡之前,用第一障礙物檢測方法檢測到了與障礙物的碰撞,圖36示出了用第三障礙物檢測方法檢測到了碰撞,圖37示出了就在機器人裝置1翻倒之前,用第二障礙物檢測方法檢測到了碰撞。
因此,如從圖35到37中所見,應該確定,在機器人裝置1翻倒之前,可以用第一到第三障礙物檢測方法肯定地并以高準確性檢測與障礙物的碰撞。
下面將描述計算穩(wěn)定度邊際的具體方法首先,如圖38所示,取腿塊中的在地面上的3個點分別為P10、P11和P12,根據(jù)腿塊的關(guān)節(jié)角度,用動作學確定三維空間中的點P10、P11和P12的坐標。
其次,用以下公式(20)、(21)和(22)確定向量P10P11、P10P12和P11P12的單位向量a、b和cP10P11/‖P10P11‖=a…(20)P10P12/‖P10P12‖=b…(21)P11P12/‖P11P12‖=c…(22)隨后,利用公式(23)計算作為向量a和b的外積的單位向量的方向向量uu=a×b/‖1×b‖…(23)而且,取機器人裝置1的重心為G,并且利用公式(24)計算方向向量u和向量a的外積(u×a)與向量P1G的內(nèi)積。因此,可以確定對應于邊P10P11的穩(wěn)定度邊際sm1sm1=(u×a)P1G …(24)注意,因為方向向量u和向量a彼此正交,所以外積(u×a)是“1”。
而且,可以用下面的公式(25)計算方向向量u和向量b的外積(u×b)與向量P1G的內(nèi)積,類似地確定對應于邊P10P12的穩(wěn)定度邊際sm2sm2=(u×b)P1G …(25)而且,可以用下面的公式(26)計算方向向量u和向量c的外積(u×c)與向量P1G的內(nèi)積,類似地確定對應于邊P11P12的穩(wěn)定度邊際sm3sm3=(u×c)P1G …(26)
選擇所計算的這三個穩(wěn)定度邊際sm1、sm2和sm3中較小的一個與預設(shè)閾值進行比較,并且可以用第三障礙物檢測方法確定機器人裝置1是否與障礙物碰撞。
(3-2)障礙物檢測程序RT1通過CPU 10(圖4中所示)按圖39中所示的障礙物檢測過程RT1進行機器人裝置1中的前述障礙物檢測。
在步驟SP0,在機器人裝置1開始行走的同時,CPU 10開始障礙物檢測程序RT1。在步驟SP1,確定左前腿塊3B是否在空載階段。
如果在步驟SP1中CPU 10已經(jīng)確定左前腿塊3B不在空載階段,則進到步驟SP4。反之,如果在步驟SP1中CPU 10已經(jīng)確定左前腿塊3B在空載階段,則進到步驟SP2,將計算CPU 10給到左前腿塊3B的肩部關(guān)節(jié)俯仰方向傳動器25上一指定的運動量,與同時根據(jù)對應于俯仰方向傳動器25的電位器26的輸出而獲得的肩部關(guān)節(jié)俯仰方向的實際運動量之間的差。
然后,在步驟SP3中,CPU 10確定在步驟SP2計算的差是否大于預定的閾值。應該注意,在此實施例中,將閾值設(shè)定為18(deg.)。
如果在步驟SP3確定的結(jié)果為否,則CPU 10進到步驟SP4,將確定右前腿塊3A是否在空載階段。如果右前腿塊3A在空載階段,則CPU 10進到步驟SP5,其中將會計算一差,即,CPU 10給到右前腿塊3A的肩部關(guān)節(jié)俯仰方向傳動器25的上一指定運動量,與同時根據(jù)對應于俯仰方向傳動器25的電位器26的輸出而獲得的肩部關(guān)節(jié)俯仰方向的實際運動量之間的差。之后在步驟SP6,CPU 10確定在步驟SP5計算的差是否大于預定的閾值。應該注意,在此實施例中,將閾值設(shè)定為18(deg.)。
因此,在步驟SP1到SP6,通過第一障礙物檢測方法,CPU 10確定機器人裝置1是否碰到障礙物。如果通過在步驟SP3或SP6所獲得的肯定結(jié)果,CPU 10已經(jīng)檢測到與障礙物的碰撞,則其進到步驟SP16,其中通過使機器人裝置1以不同方式或在不同方向行走,它將提供預定的防翻倒。隨后,CPU 10進到步驟SP17,存儲后腿塊的當前值,并且回到步驟SP1,再次開始障礙物檢測程序RT1。
反之,如果CPU 10在步驟SP4或SP6獲得否定結(jié)果,即,它未通過第一障礙物檢測方法檢測到任何這種碰撞,它進到步驟SP7,確定左后腿塊3C是否在空載狀態(tài)。
如果CPU 10在步驟SP7獲得的結(jié)果是否定的,則其進到步驟SP8,臨時存儲一差,即,CPU 10給到左后腿塊3C的肩部關(guān)節(jié)俯仰方向傳動器25的上一指定運動量,與同時根據(jù)對應于俯仰方向傳動器25的電位器26的輸出而獲得的肩部關(guān)節(jié)俯仰方向的實際運動量之間的差,其中該差為“0”,并且隨后進到步驟SP11。
反之,如果在步驟SP7確定的結(jié)果為肯定,則CPU 10進到步驟SP9,其中它將會計算以上差,并且隨后進到步驟SP10,其中它將確定步驟SP9中計算的差是否大于預設(shè)閾值,并且該差是否大于在前的差值(該差是否增加)。在此實施例中,將預設(shè)閾值設(shè)定為15(deg.)。
如果在步驟SP10確定的結(jié)果為否定,則CPU 10進到步驟SP11,其中它將會確定右后腿塊3D是否在空載階段。如果右后腿塊3D在空載階段,則CPU 10進到步驟SP13,其中將會計算一差,即,CPU 10給到右后腿塊3D的肩部關(guān)節(jié)俯仰方向傳動器25的上一指定運動量,與同時根據(jù)對應于俯仰方向傳動器25的電位器26的輸出而獲得的肩部關(guān)節(jié)俯仰方向的實際運動量之間的差。之后在步驟SP14,CPU 10確定在步驟SP13計算的差是否大于先前計算的差值。
因此,在步驟SP7到SP14,通過第二障礙物檢測方法,CPU 10確定機器人裝置1是否碰到障礙物。如果通過在步驟SP10或SP14獲得肯定的結(jié)果,CPU 10已經(jīng)檢測到與障礙物的碰撞,則其進到步驟SP16,其中它將會提供上述預定的防翻倒。
而且在步驟SP17,CPU 10將用于左后腿塊3C或右后腿塊3D而獲得的、并且同時存儲在其中的差,改變?yōu)樵诓襟ESP9或SP14中獲得的值,并且隨后進到步驟SP1,其中它將會再次開始障礙物檢測程序RT1。
反之,如果CPU 10在步驟SP10或SP14獲得否定結(jié)果,即,它沒有檢測到碰撞,則CPU 10進到步驟SP15,其中,通過第三障礙物檢測方法,它將確定機器人裝置1是否碰到障礙物。
即,在步驟SP15,通過公式(1)到(7),CPU 10計算同時存在的三個穩(wěn)定度邊際L1到L3的每一個,并且確定穩(wěn)定度邊際L1到L3的最小的一個是否大于預設(shè)閾值。應該注意,在此實施例中,將所述閾值設(shè)定為2(mm)。
注意,如果在步驟SP15確定的結(jié)果為肯定,則這意味著通過第三障礙物檢測方法已經(jīng)確定碰到障礙物。此時,CPU 10進到步驟SP16,其中它將會提供上述的防翻倒,隨后進到步驟SP17,其中它將用于左后腿塊3C或右后腿塊3D而同時存儲在其中的差,改變?yōu)樵诓襟ESP8或SP12中臨時存儲的值(0),并且隨后回到步驟SP1,其中它將會再次開始障礙物檢測過程RT1。
反之,如果在步驟SP15確定的結(jié)果為否定,則這意味著通過第一到第三障礙物檢測方法未檢測到與障礙物的碰撞。在此情況下,CPU 10進到步驟SP17,其中它將用于左后腿塊3C或右后腿塊3D的差,改變?yōu)樵诓襟ESP8或SP12中臨時存儲的值(0),并且隨后回到步驟SP1,其中它將會再次開始障礙物檢測過程RT1。
在機器人裝置1行走的同時,CPU 10順序地重復障礙物檢測過程RT1,從而控制機器人裝置1的行走,以便即使當后者與障礙物碰撞時也不會翻倒。
(4)第二外力檢測方法的功能和效果根據(jù)CPU 10給到腿塊3A到3D空載的任何一個的肩部關(guān)節(jié)俯仰方向傳動器25的指定運動量、和根據(jù)相應的電位器26的輸出而檢測到的實際運動量,CPU 10確定機器人裝置1是否碰到障礙物,并且當CPU 10用上述方法已經(jīng)檢測到機器人裝置1沒有碰到障礙物時,計算每一穩(wěn)定度邊際L1到L3,并且根據(jù)計算結(jié)果,確定機器人裝置1是否碰到障礙物。
因此,在機器人裝置1中,CPU 10根據(jù)每一腿塊3A到3D的實際狀態(tài)和姿態(tài),確定與障礙物的碰撞。因此,與通過圖像處理的障礙物檢測等,例如根據(jù)CCD攝像機(見圖5)的圖像數(shù)據(jù)相比,可以更準確地檢測與障礙物的碰撞。
而且,在機器人裝置1中,根據(jù)每一現(xiàn)有傳感器(腿塊3A到3D的肩部關(guān)節(jié)俯仰方向的電位器26)的輸出,檢測障礙物。因此,例如,與常規(guī)機器人裝置相比,本發(fā)明的機器人裝置1可以全部更簡單地組成,并且可以以更低的成本和更加有效降低的重力制造。
因為機器人裝置1的前述結(jié)構(gòu),它根據(jù)腿塊3A到3D空載的一個的肩部關(guān)節(jié)俯仰方向傳動器25的指定運動量、和對應于傳動器25的電位器26的輸出而檢測到的實際運動量,確定機器人裝置1是否碰到障礙物。當該系統(tǒng)未檢測到任何與障礙物的碰撞時,計算穩(wěn)定度邊際L1到L3,并且根據(jù)計算結(jié)果,確定是否檢測到任何障礙物。因此,可以肯定地檢測與障礙物的碰撞,而不會使檢測機制復雜化,因此,可以提供具有簡化結(jié)構(gòu),并且即使在不規(guī)則表面也能夠穩(wěn)定行走的機器人裝置。
(5)其它實施例在前述內(nèi)容中,已經(jīng)描述本發(fā)明關(guān)于如圖4構(gòu)造的機器人裝置1的應用,即,四足機器人。然而,本發(fā)明不限于此實施例,還可以廣泛應用于兩足型或其它類型的機器人。
而且,已經(jīng)描述本發(fā)明相關(guān)實施例,其中,第一到第三障礙物檢測方法組合使用。然而,本發(fā)明不限于此實施例,還可以使用從第一到第三障礙物檢測方法中選擇的一種或兩種。
而且,已經(jīng)描述本發(fā)明相關(guān)實施例,其中,根據(jù)關(guān)于腿塊3A到3D每一個的肩部關(guān)節(jié)俯仰方向傳動器25的指定的和實際的運動量,檢測障礙物。然而,本發(fā)明不限于此實施例,還可以根據(jù)腿塊3A到3D每一個的肩部關(guān)節(jié)俯仰方向傳動器25的指定的和實際的運動量、或關(guān)于膝部關(guān)節(jié)結(jié)構(gòu)傳動器25的指定的和實際的運動量,應用于檢測與障礙物的碰撞。簡言之,根據(jù)對傳動器指定的運動量、和傳動器所進行的實際運動量,為了檢測與障礙物的碰撞,可以從大量不同的傳動器中選擇合適的一個,其中傳動器驅(qū)動機器人裝置中的預定關(guān)節(jié)機構(gòu)以行走,同時還驅(qū)動所需的預定關(guān)節(jié)機構(gòu)。
而且,已經(jīng)描述本發(fā)明相關(guān)實施例,其中,單個CPU 10作為控制器工作,以將對傳動器25指定的運動量給到肩部關(guān)節(jié)俯仰方向傳動器25,其中傳動器25是根據(jù)指定的和實際的運動量,用于確定是否存在障礙物的部件,CPU 10還作為這樣的部件,即在機器人裝置的重心的行走表面上,用于計算從三角形TR(在機器人裝置1是具有四條或更多腿的機器人裝置1的情況下的任何其它多邊形)的邊TRE1到TRE3起到由在地面上機器人裝置1的重心投影所指定的點PG的距離L1到L3的部件,其中三角形TR由通過連接腿塊3A到3D在地面上的PA、PB和PD所定義。然而,本發(fā)明不限于此實施例,還可以彼此分開提供CPU 10的這些功能。
而且,已經(jīng)描述本發(fā)明相關(guān)實施例,其中,電位器26用于檢測傳動器所進行的實際運動量。然而,本發(fā)明不限于此實施例,檢測部件可以是除電位器以外的,適于用在機器人裝置1中所選的傳動器類型中的任何一個。
而且,已經(jīng)描述本發(fā)明相關(guān)實施例,其中,當不能用第一和第二障礙物檢測方法檢測障礙物時,則用第三檢測方法檢測障礙物。然而,本發(fā)明不限于此實施例,第一到第三障礙物檢測方法可以用于除了以上檢測障礙物順序以外的任何順序,或者可以同時使用全部方法。
工業(yè)應用如前所述,本發(fā)明的機器人裝置包括以控制信號控制其運動的傳動器,用于輸出在其控制下使傳動器作預定運動的控制信號的控制部件,以及用于根據(jù)當將外力施加到傳動器時由控制信號所示出的變化而檢測外力的部件??梢愿鶕?jù)用于控制機器人裝置操作的控制信號外檢測外力,并不必須使用用于外力檢測的專用傳感器。
而且,本發(fā)明的機器人裝置還包括由傳動器驅(qū)動的關(guān)節(jié)機構(gòu),用于對所述驅(qū)動部件指定用于驅(qū)動所述關(guān)節(jié)機構(gòu)的運動量的運動量控制部件,和用于檢測為了驅(qū)動所述關(guān)節(jié)機構(gòu),所述傳動器已經(jīng)作的實際運動量的部件??梢酝ㄟ^根據(jù)指定的和實際的運動量,確定障礙物是否存在,檢測障礙物而不用任何復雜機構(gòu)。而且,因為根據(jù)對驅(qū)動器指定的運動量、和傳動器已經(jīng)進行的實際運動量而進行障礙物檢測,所以可以確定地檢測與障礙物的身體碰撞。
本發(fā)明的機器人裝置還包括分別以預定模式驅(qū)動的多個腿塊,和用于計算從多邊形的每一邊起到在行走地面上機器人裝置的重心投影點的距離的部件,其中多邊形由通過連接多個腿塊的著陸點所定義。通過根據(jù)到由計算部件計算的多邊形的邊的距離,確定是否存在障礙物,可以進而確定地檢測與障礙物的身體碰撞而不用任何其它專用部件,并且可以通過簡單機構(gòu)檢測與障礙物的碰撞。
本發(fā)明的機器人裝置操作控制方法包括以下步驟通過控制信號控制機器人裝置的傳動器的運動;以及當有外力施加于機器人裝置時,根據(jù)控制信號的變化檢測施加于機器人裝置的外力。根據(jù)用于控制機器人裝置操作的控制信號,并不必須使用用于外力檢測的專用傳感器即可檢測外力。
而且,本發(fā)明的機器人裝置動作控制方法還包括以下步驟對傳動器指定用于驅(qū)動關(guān)節(jié)機構(gòu)的運動量,以及檢測為了驅(qū)動所述關(guān)節(jié)機構(gòu),傳動器必須的實際運動量。通過根據(jù)指定的和實際的運動量,確定是否已經(jīng)有外力施加于機器人裝置,而不用任何復雜機構(gòu)即可檢測障礙物,并且可以肯定地檢測與障礙物的身體碰撞。因此,可以通過簡單機構(gòu)確定地檢測與障礙物的碰撞。
而且,機器人裝置操作控制方法還包括以下步驟通過以預定模式分別驅(qū)動多個腿塊令機器人裝置行走,以及計算從多邊形的每一邊起到在行走地面上機器人裝置的重心投影點的距離,其中多邊形由通過連接多個腿塊的著陸點所定義。通過根據(jù)從由計算裝置計算的多邊形的邊開始的距離,確定是否存在障礙物,可以確定地檢測與障礙物的身體碰撞而不用任何其它專用部件,并且通過簡單機構(gòu)檢測與障礙物的碰撞。
本發(fā)明的外力傳感器包括用于驅(qū)動機器人裝置的每一部分的部件;用于對驅(qū)動部件指定用于驅(qū)動機器人裝置的運動量的控制部件;用于檢測驅(qū)動裝置已經(jīng)進行的實際運動量的部件;以及用于根據(jù)指定的和實際的運動量確定是否已經(jīng)有外力施加于機器人裝置的部件。因此,不用任何復雜機構(gòu)即可以檢測障礙物,并且也可以肯定地檢測與障礙物的身體碰撞,以及通過簡單機構(gòu)確定地檢測與障礙物的碰撞。
本發(fā)明的程序使機器人裝置通過控制信號控制其傳動器的運動,以及當有外力施加于機器人裝置時,根據(jù)控制信號所示出的變化檢測施加于機器人裝置的外力。除了根據(jù)用于控制機器人裝置運動的控制信號外,并不必須使用用于外力檢測的專用傳感器即可檢測外力。
本發(fā)明的記錄介質(zhì)記錄有程序,該程序使機器人裝置通過控制信號控制其傳動器的運動,以及當有外力施加于機器人裝置時,根據(jù)控制信號所示出的變化檢測施加于機器人裝置的外力。在記錄介質(zhì)中記錄的程序的控制之下如上進行操作的機器人裝置,除了根據(jù)用于控制其動作的控制信號外,并不必須使用用于外力檢測的專用傳感器即可以檢測外力。
本發(fā)明的外力檢測方法包括以下步驟向用于驅(qū)動機器人裝置的每一部分的部件提供用于驅(qū)動機器人裝置部分的指定的運動量;檢測為了驅(qū)動所述部分,所述驅(qū)動部件已經(jīng)進行的實際運動量;以及根據(jù)指定的和實際的運動量,確定是否已經(jīng)有外力施加于機器人裝置。通過根據(jù)指定的和實際的運動量確定是否存在障礙物,不用復雜機構(gòu)即可以檢測障礙物。而且,也可以肯定地檢測與障礙物的實際身體碰撞,以及通過簡單機構(gòu)檢測與障礙物的碰撞。
權(quán)利要求
1.一種機器人裝置,包括其運動被一個控制信號控制的傳動器(actuator);用于輸出使所述傳動器作預定運動的控制信號的控制部件;以及用于根據(jù)當將外力施加到所述傳動器時由所述控制信號所示出的變化檢測外力的部件。
2.如權(quán)利要求1所述的裝置,其中,所述外力檢測部件根據(jù)一個處理程序,基于所述控制信號的改變檢測外力。
3.如權(quán)利要求1所述的裝置,其中,所述外力檢測部件檢測外力的方向和/或大小。
4.如權(quán)利要求1所述的裝置,其中,當所述外力檢測部件檢測到預定外力時,所述控制部件控制所述傳動部件進行自主操作。
5.如權(quán)利要求1所述的裝置,其中所述控制信號是用數(shù)據(jù)調(diào)制其寬度的PWM(脈寬調(diào)制)脈沖;以及當有外力施加于所述傳動部件時,所述外力檢測部件根據(jù)PWM脈沖所示出的寬度的改變檢測外力。
6.如權(quán)利要求1所述的裝置,還包括被傳動器驅(qū)動的關(guān)節(jié)機構(gòu);用于對所述傳動部件指定用于驅(qū)動所述關(guān)節(jié)機構(gòu)的運動量的運動控制部件;以及用于檢測為了驅(qū)動所述關(guān)節(jié)機構(gòu),所述傳動器已經(jīng)作的實際運動量的部件;所述外力檢測部件根據(jù)由所述運動控制部件對傳動器指定的運動量、和由傳動器已經(jīng)作的并被運動檢測部件檢測到的實際運動量,檢測是否有外力施加于所述傳動器。
7.如權(quán)利要求6所述的裝置,其中,所述關(guān)節(jié)機構(gòu)是腿塊的肩部關(guān)節(jié)機構(gòu)。
8.如權(quán)利要求6所述的裝置,其中,所述傳動器在俯仰方向驅(qū)動腿塊。
9.如權(quán)利要求6所述的裝置,還包括用于當所述外力檢測部件檢測到外力時,提供預定的摔倒防護的部件。
10.如權(quán)利要求6所述的裝置,還包括分別以預定模式驅(qū)動的多個腿塊;以及用于計算從多邊形的每一邊起到在行走地面上機器人裝置的重心投影點的距離的部件,其中所述多邊形由通過連接多個腿塊的著陸點所定義;所述外力檢測部件,根據(jù)指定的和實際的運動量、和距離計算部件所計算的從多邊形的每一邊到投影點的距離,確定是否有外力施加于所述機器人裝置。
11.一種控制機器人裝置的操作的方法,包括以下步驟通過控制信號控制其傳動器的運動;以及當有外力施加于機器人裝置時,根據(jù)所述控制信號的變化檢測施加于機器人裝置的外力。
12.如權(quán)利要求11所述的方法,其中,在所述外力檢測步驟中,根據(jù)處理程序,基于控制信號的改變檢測外力。
13.如權(quán)利要求11所述的方法,其中,在所述外力檢測步驟中,檢測外力的方向和/或大小。
14.如權(quán)利要求11所述的方法,其中所述控制信號是用數(shù)據(jù)調(diào)制其寬度的PWM(脈寬調(diào)制)脈沖;以及在所述外力檢測步驟中,當有外力施加于所述驅(qū)動部件時,根據(jù)PWM脈沖所示出的寬度的改變檢測外力。
15.如權(quán)利要求11所述的方法,還包括以下步驟對傳動器指定用于驅(qū)動關(guān)節(jié)機構(gòu)的運動量;以及檢測為了驅(qū)動所述關(guān)節(jié)機構(gòu),傳動器已經(jīng)作的實際運動量;在外力檢測步驟中,根據(jù)在運動控制步驟中對傳動器指定的運動量、和由傳動器已經(jīng)作出并在運動檢測步驟中檢測到的實際運動量,檢測是否有外力施加于傳動器。
16.如權(quán)利要求15所述的方法,其中,所述關(guān)節(jié)機構(gòu)是腿塊的肩部關(guān)節(jié)機構(gòu)。
17.如權(quán)利要求15所述的方法,其中,所述傳動器在俯仰方向驅(qū)動腿塊。
18.如權(quán)利要求15所述的方法,還包括當在外力檢測步驟中檢測到外力時,提供預定的摔倒防護的步驟。
19.如權(quán)利要求15所述的方法,還包括以下步驟通過分別以預定模式驅(qū)動多個腿塊,令機器人裝置行走;以及計算從多邊形的每一邊起到在行走地面上機器人裝置的重心投影點的距離,其中所述多邊形由通過連接多個腿塊的著陸點所定義;在所述外力檢測步驟中,根據(jù)指定的和實際的運動量、和所述距離計算部件所計算的多邊形的每一邊到投影點的距離,確定是否有外力施加于所述機器人裝置。
21.一種外力檢測裝置,包括用于驅(qū)動機器人裝置的每一部分的部件;用于對所述驅(qū)動部件指定用于驅(qū)動該部分的運動量的控制部件;用于檢測所述驅(qū)動部件已經(jīng)作的實際運動量的部件;以及用于根據(jù)指定的和實際的運動量,確定是否已經(jīng)有外力施加于機器人裝置的部件。
22.一種外力檢測方法,包括以下步驟對用于驅(qū)動機器人裝置的每一部分的部件,指定用于驅(qū)動該部分的運動量;檢測為了驅(qū)動該部分所述驅(qū)動部件已經(jīng)作的實際運動量;以及根據(jù)指定的和實際的運動量,確定是否已經(jīng)有外力施加于機器人裝置。
23.一種程序,使機器人裝置通過控制信號控制其傳動器的運動;以及當有外力施加于機器人裝置時,根據(jù)所述控制信號所示出的變化檢測施加于機器人裝置的外力。
24.如權(quán)利要求23所述的程序,其中,在外力檢測步驟中,根據(jù)處理程序,基于所述控制信號的改變檢測外力。
25.如權(quán)利要求23所述的程序,其中控制信號是用數(shù)據(jù)調(diào)制其寬度的PWM(脈寬調(diào)制)脈沖;以及在所述外力檢測步驟中,當有外力施加于傳動部件時,根據(jù)PWM脈沖示出的寬度的改變檢測外力。
26.一種具有在其中記錄的程序的記錄介質(zhì),該程序使機器人裝置通過控制信號控制其傳動器的運動;以及當有外力施加于機器人裝置時,根據(jù)控制信號所示出的變化檢測施加于機器人裝置的外力。
27.如權(quán)利要求26所述的記錄介質(zhì),其中,在外力檢測步驟中,根據(jù)處理程序,基于控制信號的改變檢測外力。
28.如權(quán)利要求26所述的記錄介質(zhì),其中控制信號是用數(shù)據(jù)調(diào)制其寬度的PWM(脈寬調(diào)制)脈沖;以及在所述外力檢測步驟中,當有外力施加于驅(qū)動裝置時,根據(jù)PWM脈沖示出的寬度的改變檢測外力。
全文摘要
一種機器人裝置,包括諸如頭(4)和腿(3A-3D)的身體部分,用于驅(qū)動身體部分的傳動器(25),和用于將控制信號輸出到傳動器(25)的CPU(10)。該裝置根據(jù)從CPU(10)輸出以驅(qū)動傳動器(25)的控制信號的改變,和當驅(qū)動傳動器(25)時作為響應輸入到CPU(10)的信號的改變,計算與外力相關(guān)的信息,諸如施加于機器人裝置的外力的位置、大小、和方向。將此外力信息與機器人裝置的行為和情緒結(jié)合,以用作選擇機器人裝置的下一行為的信息。因為機器人裝置根據(jù)CPU(10)的輸出和傳動器(25)與電位器(26)的輸出計算外力信息,所以可以根據(jù)現(xiàn)有的裝置檢測外力,而不需要增加專用的傳感器。
文檔編號B25J9/16GK1460052SQ02801033
公開日2003年12月3日 申請日期2002年2月21日 優(yōu)先權(quán)日2001年2月21日
發(fā)明者橫野順, 藤田雅博, 文森特·赫格爾 申請人:索尼公司