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

機(jī)器人及其控制方法

文檔序號(hào):2332933閱讀:297來源:國知局
專利名稱:機(jī)器人及其控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及機(jī)器人以及控制其運(yùn)動(dòng)的方法。
背景技術(shù)
具有至少一個(gè)腿連桿、并在重復(fù)一定方向上向外擺動(dòng)腿連桿的運(yùn)動(dòng), 以利用作為支撐腿的、向外擺動(dòng)并著地的腿連桿實(shí)現(xiàn)運(yùn)動(dòng)的機(jī)器人近來已 有了進(jìn)一步的發(fā)展。
公知的是,上述機(jī)器人通常能夠在留意ZMP (零力矩點(diǎn))的情況下通 過控制運(yùn)動(dòng)而執(zhí)行穩(wěn)定的行走。ZMP表示地板上的點(diǎn),在該點(diǎn)處作用在機(jī) 器人上的外力(包括慣性)的力矩的總和為零。如果ZMP與地板反作用 力施加的點(diǎn)重合,則即使僅有一條腿連桿著地,也不會(huì)產(chǎn)生使機(jī)器人倒下 的力矩。在僅有一條腿著地的情況下,地板反作用力施加的點(diǎn)位于支撐腿 的扁平腳板(foot)的內(nèi)側(cè)。因此,為了使機(jī)器人執(zhí)行穩(wěn)定的行走,需要 進(jìn)行控制來使ZMP保持在支撐腿的扁平腳板的內(nèi)側(cè)。
如果機(jī)器人例如具有一對(duì)腿連桿,則機(jī)器人通過使用一條腿連桿作為 支撐腿并將另一條腿連桿作為自由腿向前向外擺動(dòng)而運(yùn)動(dòng)。如果在一條腿 連桿著地時(shí)ZMP位于支撐腿的扁平腳內(nèi)部,則機(jī)器人就不會(huì)摔倒。在之 前作為自由腿的腿連桿著地且兩個(gè)腿連桿均著地的情況下,如果ZMP從 之前作為支撐腿的腿連桿的扁平腳移開而移動(dòng)到新著地的腿連桿的內(nèi)部, 則機(jī)器人將不會(huì)摔倒,并能夠向前向外擺動(dòng)至此之前作為支撐腿的腿連 桿。當(dāng)機(jī)器人向前向外擺動(dòng)至此之前作為支撐腿的腿連桿時(shí),如果ZMP 位于新支撐腿的扁平腳的內(nèi)部,則機(jī)器人不會(huì)摔倒。因此,通過在一對(duì)腿 連桿之間交替重復(fù)使腿連桿之一向外擺動(dòng)并使其著地的運(yùn)動(dòng),機(jī)器人將能 夠持續(xù)行走而不會(huì)摔倒。
通常,在機(jī)器人實(shí)際執(zhí)行運(yùn)動(dòng)之前,就對(duì)機(jī)器人能夠執(zhí)行穩(wěn)定行走的連續(xù)運(yùn)動(dòng)模式進(jìn)行計(jì)算。以下,將表示機(jī)器人的連續(xù)運(yùn)動(dòng)模式的數(shù)據(jù)稱為 步法數(shù)據(jù)。通過存儲(chǔ)計(jì)算得到的步法數(shù)據(jù)以使機(jī)器人能夠穩(wěn)定行走,并通 過連續(xù)執(zhí)行存儲(chǔ)的步法數(shù)據(jù)所表示的運(yùn)動(dòng)模式,機(jī)器人能夠執(zhí)行穩(wěn)定的行 走。
在一些情況下,在機(jī)器人上會(huì)作用不能預(yù)期的干擾。在一些情況下, 不能預(yù)期的不平整路面會(huì)對(duì)機(jī)器人造成不能預(yù)期的干擾,在其他情況下, 會(huì)造成從外側(cè)推或拉機(jī)器人的干擾。如果機(jī)器人的運(yùn)動(dòng)因機(jī)器人結(jié)構(gòu)偏 斜、機(jī)器人關(guān)節(jié)松動(dòng)、機(jī)器人反應(yīng)延遲等原因而錯(cuò)誤地未能遵循步法數(shù) 據(jù),則均會(huì)導(dǎo)致不能預(yù)期的干擾作用在機(jī)器人上。當(dāng)不能預(yù)期的干擾作用 在機(jī)器人上時(shí),會(huì)使機(jī)器人失去平衡。
為了即使在有不能預(yù)期的干擾作用的情況下也能夠連續(xù)行走,使得機(jī) 器人實(shí)時(shí)更新存儲(chǔ)的步法數(shù)據(jù)是有效的。例如,在日本專利早期公開號(hào)
2004-114243中揭示了實(shí)時(shí)地生成步法數(shù)據(jù)的技術(shù)。

發(fā)明內(nèi)容
在常規(guī)技術(shù)中,僅根據(jù)機(jī)器人的實(shí)際運(yùn)動(dòng)來對(duì)機(jī)器人的重心的軌跡進(jìn) 行更新,而不對(duì)腿連桿的腳部(toe)的軌跡進(jìn)行更新。在本說明書中, "軌跡"指描述了隨著時(shí)間的位置變化的數(shù)據(jù)。在常規(guī)技術(shù)中,預(yù)先根據(jù) 諸如步伐長度、行走周期、轉(zhuǎn)向角度以及環(huán)境狀況等行走模式來設(shè)定腿連 桿的腳部的軌跡。如果常規(guī)技術(shù)僅實(shí)時(shí)更新機(jī)器人的重心的軌跡而不對(duì)腿 連桿的腳部的軌跡進(jìn)行更新,則只要機(jī)器人的實(shí)際運(yùn)動(dòng)與目標(biāo)運(yùn)動(dòng)的偏差 較小,則常規(guī)技術(shù)尚可實(shí)現(xiàn)對(duì)機(jī)器人預(yù)設(shè)的行走模式,還算奏效。
但是,在機(jī)器人的實(shí)際運(yùn)動(dòng)與目標(biāo)運(yùn)動(dòng)的偏差較大的情況下,上述技 術(shù)就不能使機(jī)器人的運(yùn)動(dòng)穩(wěn)定。例如如果有不能預(yù)期的干擾作用在機(jī)器人 上,并且重心的實(shí)際軌跡與重心的目標(biāo)軌跡偏差較大,則上述技術(shù)將不能 對(duì)腿連桿的腳部的目標(biāo)軌跡進(jìn)行修正。因此,機(jī)器人將從不合理的姿態(tài)試 圖實(shí)現(xiàn)腿連桿的腳部的目標(biāo)軌跡,由此隨后機(jī)器人的運(yùn)動(dòng)會(huì)趨于不穩(wěn)定。
本發(fā)明解決了上述問題。本發(fā)明提供了一種技術(shù),使得即使在機(jī)器人 的實(shí)際運(yùn)動(dòng)與目標(biāo)運(yùn)動(dòng)偏差較大的情況下,執(zhí)行行走運(yùn)動(dòng)的機(jī)器人也可以持續(xù)穩(wěn)定地行走。
本發(fā)明的通過一種機(jī)器人來實(shí)現(xiàn)。該機(jī)器人包括軀干、以可擺動(dòng)方式 與所述軀干連接的一對(duì)腿連桿、獨(dú)立地使所述腿連桿中每一者相對(duì)于所述 軀干擺動(dòng)的致動(dòng)器組、以及控制所述致動(dòng)器組的控制器。所述機(jī)器人通過 在所述一對(duì)腿連桿之間交替地重復(fù)進(jìn)行使一個(gè)腿連桿相對(duì)于所述軀干向外 擺動(dòng)并使其著地的運(yùn)動(dòng)來行走。所述控制器被編程,以在給定所述機(jī)器人 的重心的軌跡以及所述腿連桿的腳部的軌跡時(shí)對(duì)所述致動(dòng)器組進(jìn)行控制, 從而實(shí)現(xiàn)給定的所述重心的軌跡以及所述腿連桿的腳部的軌跡。所述控制 器在從所述一個(gè)腿連桿著地到隨后向外擺動(dòng)的另一個(gè)所述腿連桿著地的過 程中執(zhí)行如下控制(1)更新所述另一個(gè)腿連桿著地之后所述機(jī)器人的 重心的軌跡,(2)根據(jù)經(jīng)過更新的重心的軌跡來確定用于使所述另一個(gè) 腿連桿著地的預(yù)定位置,并且(3)根據(jù)所確定的用于著地的預(yù)定位置, 來更新所述另一個(gè)腿連桿著地之前的所述另一個(gè)腿連桿的腳部的軌跡。
上述機(jī)器人在每一次使一個(gè)腿連桿著地時(shí)確定用于使另一個(gè)隨后向外 擺動(dòng)的腿連桿著地的預(yù)定位置,并根據(jù)所確定的用于著地的預(yù)定位置來更 新另一個(gè)腿連桿的腳部的軌跡。以機(jī)器人在使另一個(gè)腿連桿著地之后的運(yùn) 動(dòng)變得穩(wěn)定的方式,根據(jù)在使另一個(gè)腿連桿著地之后機(jī)器人的重心的軌跡 來確定用于著地的預(yù)定位置。
例如,上述機(jī)器人在使右側(cè)腿連桿著地時(shí)確定用于使隨后向外擺動(dòng)的 左側(cè)腿連桿著地的預(yù)定位置,并根據(jù)所確定的用于著地的預(yù)定位置來更新 左側(cè)腿連桿的腳部的軌跡。根據(jù)在使左惻腿連桿著地之后機(jī)器人的重心的 軌跡來確定用于使左側(cè)腿連桿著地的預(yù)定位置。
對(duì)應(yīng)于在后續(xù)運(yùn)動(dòng)中機(jī)器人的重心的軌跡,根據(jù)本發(fā)明的機(jī)器人能夠 在行走過程中動(dòng)態(tài)地更新用于使腿連桿著地的預(yù)定位置。因此,如果作用 在機(jī)器人上的不能預(yù)期的干擾要求對(duì)應(yīng)于干擾而對(duì)機(jī)器人的重心的軌跡進(jìn) 行校正,以穩(wěn)定隨后機(jī)器人的行走運(yùn)動(dòng),則機(jī)器人能夠?qū)?yīng)于校正后的重 心的軌跡來對(duì)用于使腿連桿著地的預(yù)定位置進(jìn)行校正,以持續(xù)穩(wěn)定運(yùn)動(dòng)。 在機(jī)器人正在行走時(shí),如果使用者發(fā)出更改重心軌跡的命令(例如,增大 或減小重心速度的命令),則機(jī)器人根據(jù)更改后的重心軌跡來對(duì)用于使腿
6連桿著地的預(yù)定位置進(jìn)行更改,以執(zhí)行穩(wěn)定的運(yùn)動(dòng)。
在上述機(jī)器人中,優(yōu)選地,兩個(gè)所述腿連桿都著地的過程中的所述重心的軌跡的水平方向分量以等速軌跡的形式來給定。
當(dāng)機(jī)器人的重心沿水平方向以等速運(yùn)動(dòng)時(shí),ZMP位于重心的正下方。因此,當(dāng)ZMP從在后方著地的腿連桿的扁平腳板移動(dòng)至在前方著地的腿連桿的扁平腳板時(shí),通過以等速軌跡的形式來給定重心的軌跡的水平分量,就能夠利用簡化的計(jì)算來確定用于實(shí)現(xiàn)穩(wěn)定運(yùn)動(dòng)的重心軌跡,由此利用少量計(jì)算來實(shí)現(xiàn)穩(wěn)定行走。
本發(fā)明的通過一種控制機(jī)器人的方法來實(shí)現(xiàn)。該方法是一種機(jī)器人的控制方法,所述機(jī)器人包括軀干、以可擺動(dòng)方式與所述軀干連接的一對(duì)腿連桿、獨(dú)立地使所述腿連桿中每一者相對(duì)于所述軀干擺動(dòng)的致動(dòng)器組、以及控制器,所述控制器在給定所述機(jī)器人的重心的軌跡以及所述腿連桿的腳部的軌跡時(shí)對(duì)所述致動(dòng)器組進(jìn)行控制,以實(shí)現(xiàn)給定的所述重心的軌跡以及所述腳部的軌跡。所述機(jī)器人通過在所述一對(duì)腿連桿之間交替地重復(fù)進(jìn)行使一個(gè)腿連桿相對(duì)于所述軀干向外擺動(dòng)并使其著地的運(yùn)動(dòng)來行走。所述方法在從所述一個(gè)腿連桿著地到隨后向外擺動(dòng)的另一個(gè)所述腿連桿著地的
過程中包括如下步驟(1)更新所述另一個(gè)腿連桿著地之后所述機(jī)器人
的重心的軌跡,(2)根據(jù)經(jīng)過更新的重心的軌跡來確定用于使所述另一個(gè)腿連桿著地的預(yù)定位置,并且(3)根據(jù)所確定的用于著地的預(yù)定位置,來更新所述另一個(gè)腿連桿著地之前的所述另一個(gè)腿連桿的腳部的軌跡。
根據(jù)本發(fā)明,即使機(jī)器人的實(shí)際運(yùn)動(dòng)大大偏離機(jī)器人的目標(biāo)運(yùn)動(dòng),執(zhí)行行走運(yùn)動(dòng)的機(jī)器人也能夠持續(xù)穩(wěn)定行走。


圖l是與本發(fā)明相關(guān)的機(jī)器人2的示意圖2是與本發(fā)明相關(guān)的機(jī)器人2的行走運(yùn)動(dòng)的示意圖,其中圖2 (A)示出了在一條腿著地階段機(jī)器人2的行走運(yùn)動(dòng),圖2 (B)示出了在圖2(A)中的運(yùn)動(dòng)之后在兩條腿均著地階段機(jī)器人2的行走運(yùn)動(dòng),而圖2(C)示出了在圖2 (B)中的運(yùn)動(dòng)之后在一條腿著地階段機(jī)器人2的行走 運(yùn)動(dòng);
圖3是示出與本發(fā)明相關(guān)的機(jī)器人2的控制單元10的結(jié)構(gòu)的框圖; 圖4是示出與本發(fā)明相關(guān)的機(jī)器人2的步法數(shù)據(jù)的生成處理的流程
圖5是示出與本發(fā)明相關(guān)的機(jī)器人2的自由腿的腳部的相對(duì)軌跡的視 圖;而
圖6是示出與本發(fā)明相關(guān)的機(jī)器人2的步法數(shù)據(jù)的更新處理的流程圖。
具體實(shí)施例方式
將列出下述實(shí)施例的主要特征。
(特征l) 當(dāng)更新機(jī)器人的重心的軌跡時(shí),控制器以在一條腿著地 階段實(shí)現(xiàn)的機(jī)器人的ZMP被保持在扁平腳板內(nèi)部的方式,來更新在一條 腿著地階段機(jī)器人的重心的軌跡。
(特征2) 當(dāng)更新機(jī)器人的重心的軌跡時(shí),控制器以在兩條腿著地 階段重心以等速運(yùn)動(dòng)的方式,來更新在兩條腿著地階段機(jī)器人的重心的軌 跡。
(特征3) 控制器還包括用于檢測(cè)機(jī)器人的重心的實(shí)際速度的裝 置,并根據(jù)檢測(cè)得到的重心的速度來對(duì)機(jī)器人的重心的軌跡進(jìn)行更新。
將參考附圖描述與本發(fā)明的一個(gè)實(shí)施例相關(guān)的機(jī)器人2的運(yùn)動(dòng)控制。 圖1示意性地示出了與本實(shí)施例相關(guān)的機(jī)器人2。機(jī)器人2包括軀干4、 左側(cè)腿連桿6、右側(cè)腿連桿8、控制單元10、輸入/輸出裝置12以及傳感 器組14。左側(cè)腿連桿6通過髖關(guān)節(jié)以可擺動(dòng)方式在其一端連接至軀干4。 左側(cè)腿連桿6還包括膝關(guān)節(jié)以及踝關(guān)節(jié),以及位于一端的扁平腳板。右側(cè) 腿連桿8通過髖關(guān)節(jié)以可擺動(dòng)方式連接至軀干4。右側(cè)腿連桿8還包括膝 關(guān)節(jié)以及踝關(guān)節(jié),以及位于一端的扁平腳板?;鶞?zhǔn)點(diǎn)L0, R0分別設(shè)置在 左側(cè)腿連桿6及右側(cè)腿連桿8的扁平腳板的中心。基準(zhǔn)點(diǎn)L0, R0是在生 成機(jī)器人2的步法數(shù)據(jù)時(shí)要描述的點(diǎn)。圖中的符號(hào)G表示機(jī)器人2的重心的位置。
機(jī)器人2的每一個(gè)關(guān)節(jié)分別包括致動(dòng)器組318 (圖1中未示出)。致動(dòng)器組318進(jìn)行驅(qū)動(dòng)以根據(jù)來自控制單元10的命令來轉(zhuǎn)動(dòng)各個(gè)關(guān)節(jié)。機(jī)器人2的每一個(gè)關(guān)節(jié)分別設(shè)置有編碼器組320 (圖1中未示出)。編碼器組320向控制單元IO輸出各個(gè)關(guān)節(jié)的關(guān)節(jié)角隨時(shí)間的變化。
控制單元10是包括CPU、 ROM、 RAM以及硬盤等的計(jì)算機(jī)裝置??刂茊卧?0能夠與輸入/輸出裝置12通信,并從由用戶操作的輸入/輸出裝置12接收用戶命令。控制單元IO根據(jù)用戶命令值生成機(jī)器人2的步法數(shù)據(jù)。控制單元10存儲(chǔ)生成的步法數(shù)據(jù),并驅(qū)動(dòng)各個(gè)關(guān)節(jié)以實(shí)現(xiàn)由存儲(chǔ)的步法數(shù)據(jù)所表示的運(yùn)動(dòng)。以下將描述控制單元10的細(xì)節(jié)。
傳感器組14包括位置及姿態(tài)均被固定的加速度傳感器322 (圖1中未示出)以及陀螺儀傳感器324 (圖1中未示出)。加速度傳感器322能夠測(cè)量沿三條軸線的加速度,而陀螺儀傳感器324能夠測(cè)量繞三條軸線的角速度。對(duì)于加速度傳感器322以及陀螺儀傳感器324的測(cè)量點(diǎn),以在機(jī)器人2靜止直立的狀態(tài)下測(cè)量點(diǎn)與重心位置大致重合的方式來調(diào)整其位置。傳感器組14連接至控制單元10,并將測(cè)量的加速度以及角速度發(fā)送至控制單元10。
圖2示意性地示出了與本實(shí)施例相關(guān)的機(jī)器人2的行走運(yùn)動(dòng)。如圖2(A)所示,機(jī)器人2具有姿態(tài)P1,在該姿態(tài)下,機(jī)器人2的兩條腿連桿同時(shí)均著地。當(dāng)機(jī)器人2具有姿態(tài)Pl時(shí),機(jī)器人2的重心位于位置Gl。從該姿態(tài)Pl開始,在使作為支撐腿的機(jī)器人2前方的腿連桿(即,圖2(A)中的左側(cè)腿連桿6)保持著地不變的狀態(tài)下,機(jī)器人2抬起并向前向外擺動(dòng)作為自由腿的、機(jī)器人2后方的腿連桿(即,圖2 (A)中的右側(cè)腿連桿8)。當(dāng)向前向外擺動(dòng)的腿連桿著地時(shí),機(jī)器人2呈現(xiàn)兩條腿連桿均著地的姿態(tài)P2。姿態(tài)P1及姿態(tài)P2是兩條腿連桿均著地的姿態(tài)。在姿態(tài)Pl中于機(jī)器人2前方著地的腿連桿(g卩,左側(cè)腿連桿6)在姿態(tài)P2中于機(jī)器人2后方著地。在姿態(tài)Pl中于機(jī)器人2后方著地的腿連桿(即,右側(cè)腿連桿8)在姿態(tài)P2中于機(jī)器人2前方著地。機(jī)器人2從姿態(tài)Pl至姿態(tài)P2的轉(zhuǎn)變使得機(jī)器人2的重心從位置Gl運(yùn)動(dòng)至位置G2。隨后,如圖2 (B)所示,機(jī)器人2在使兩條腿連桿保持著地不變的狀態(tài)下使重心向前移動(dòng)。在該運(yùn)動(dòng)中,機(jī)器人2從姿態(tài)P2改變至姿態(tài)P3。通過該運(yùn)動(dòng),機(jī)器人2的重心從位置G2運(yùn)動(dòng)至位置G3。
隨后,如圖2 (C)所示,在機(jī)器人2保持作為支撐腿的、于前方著地的腿連桿(SP,右側(cè)腿連桿8)不變的情況下,機(jī)器人2抬起并向前向外擺動(dòng)作為自由腿的、于后方著地的腿連桿(即,左側(cè)腿連桿6)。當(dāng)向前向外擺動(dòng)的腿連桿著地時(shí),機(jī)器人2呈現(xiàn)兩條腿連桿均著地的姿態(tài)P4。通過使姿態(tài)從姿態(tài)P3改變?yōu)樽藨B(tài)P4,機(jī)器人2的重心從位置G3移動(dòng)至位置G4。
通過重復(fù)上述運(yùn)動(dòng),機(jī)器人2向前行走。
在本實(shí)施例的機(jī)器人2中,機(jī)器人2的運(yùn)動(dòng)被劃分為數(shù)個(gè)運(yùn)動(dòng)片段。在本實(shí)施例的機(jī)器人2中,將僅一條腿連桿著地的運(yùn)動(dòng)狀態(tài)(一條腿著地階段)以及跟在前一狀態(tài)之后兩條腿連桿均著地的運(yùn)動(dòng)狀態(tài)(兩條腿著地階段)作為一個(gè)運(yùn)動(dòng)片段進(jìn)行處理。在圖2的示例中,圖2 (A)及圖2
(C)示出了處于一條腿著地階段的機(jī)器人2的行走運(yùn)動(dòng),而圖2 (B)示出了處于兩條腿著地階段的機(jī)器人2的行走運(yùn)動(dòng)。在圖2的示例中,圖2
(A)中的一條腿著地階段與圖2 (B)中的兩條腿著地階段都被包括在一個(gè)運(yùn)動(dòng)片段中。當(dāng)機(jī)器人2執(zhí)行行走時(shí), 一條腿著地階段與兩條腿著地階段交替重復(fù)。
以下,通過(x,y,z)來表示固定至機(jī)器人2外部的地板的坐標(biāo)系,其被用作表示機(jī)器人2的軌跡的坐標(biāo)系。并且,通過(x',y,z')來表示固定至機(jī)器人2上的基準(zhǔn)點(diǎn)的坐標(biāo)系。
在本實(shí)施例的機(jī)器人2中,假定支撐腿的扁平腳板的基準(zhǔn)點(diǎn)為圖2
(A) 及圖2 (C)所示一條腿著地階段中坐標(biāo)系(x',y',z')的原點(diǎn)。在圖2
(B) 所示的兩條腿著地階段中,為了方便起見,將在機(jī)器人2后方著地的腿連桿(即,當(dāng)剛剛在兩條腿著地階段之前在一條腿著地階段中曾經(jīng)是支撐腿的腿連桿)作為支撐腿進(jìn)行處理,并且作為支撐腿處理的腿連桿的扁平腳板的基準(zhǔn)點(diǎn)被假定為坐標(biāo)系(x',y',z')的原點(diǎn)。在以下描述中,通過固定至機(jī)器人2上的基準(zhǔn)點(diǎn)的坐標(biāo)系(x',y',z')描述的位置、速度、加速度以及軌跡被分別表示為相對(duì)位置、相對(duì)速度、相對(duì)加速度以及相對(duì)軌
跡。并且,通過坐標(biāo)系(x',y',z')描述的ZMP被表示為相對(duì)ZMP。
本實(shí)施例的機(jī)器人2生成并存儲(chǔ)各個(gè)運(yùn)動(dòng)片段的步法數(shù)據(jù),并順序地 讀取存儲(chǔ)的步法數(shù)據(jù)以執(zhí)行行走運(yùn)動(dòng)。
此外,當(dāng)一條腿著地階段切換至兩個(gè)腿著地階段時(shí),與通過編碼器組 320及傳感器組14測(cè)量得到的重心的實(shí)際速度以及用戶通過輸入/輸出裝 置12給定的用戶命令值對(duì)應(yīng),本實(shí)施例的機(jī)器人2隨后再次生成步法數(shù) 據(jù),并更新所存儲(chǔ)的步法數(shù)據(jù)。當(dāng)在機(jī)器人2行走運(yùn)動(dòng)過程中重新輸入用 戶命令值時(shí),該用戶命令值被存儲(chǔ)在控制單元10中,并在隨后更新步法 數(shù)據(jù)中得到反映。
現(xiàn)將詳細(xì)描述控制單元10的工作。
圖3是示出控制單元10的功能結(jié)構(gòu)的框圖??刂茊卧狪O包括用戶命 令值存儲(chǔ)裝置304、步法數(shù)據(jù)生成裝置302、步法數(shù)據(jù)存儲(chǔ)裝置308、目標(biāo) 關(guān)節(jié)角生成裝置312、致動(dòng)器控制裝置314、重心速度計(jì)算裝置316以及 步法數(shù)據(jù)更新裝置310。
用戶命令值存儲(chǔ)裝置304存儲(chǔ)由用戶輸入的用戶命令值。當(dāng)在機(jī)器人 2的運(yùn)動(dòng)過程中輸入新的用戶命令值時(shí),控制單元IO將存儲(chǔ)在用戶命令值 存儲(chǔ)裝置304中的用戶命令值更新為最新輸入的用戶命令值。當(dāng)隨后更新 步法數(shù)據(jù)時(shí),在生成機(jī)器人2的步法數(shù)據(jù)時(shí)反映最新輸入的用戶命令值。 用戶觀察機(jī)器人2的行走運(yùn)動(dòng),通過使用輸入/輸出裝置12來輸入用戶命 令值,以對(duì)機(jī)器人2的運(yùn)動(dòng)進(jìn)行實(shí)時(shí)的控制。
根據(jù)存儲(chǔ)在用戶命令值存儲(chǔ)裝置304中的用戶命令值,步法數(shù)據(jù)生成 裝置302生成在各個(gè)運(yùn)動(dòng)片段中的機(jī)器人2的重心的相對(duì)軌跡,并生成自 由腿的腳部的相對(duì)軌跡。由步法數(shù)據(jù)生成裝置302生成的重心的相對(duì)軌跡 是由坐標(biāo)系(x',y',z')描述的重心的軌跡,其中,設(shè)定至機(jī)器人2的支撐 腿的扁平腳板的基準(zhǔn)點(diǎn)被假定為原點(diǎn)。由步法數(shù)據(jù)生成裝置302生成的自 由腿的腳部的相對(duì)軌跡是由坐標(biāo)系(x',y',z')描述的腳部的軌跡,其中, 設(shè)定至機(jī)器人2的支撐腿的扁平腳板的基準(zhǔn)點(diǎn)被假定為原點(diǎn)。隨后將描述 處理的細(xì)節(jié),其中步法數(shù)據(jù)生成裝置302生成重心的相對(duì)軌跡以及自由腿
ii的腳部的相對(duì)軌跡。步法數(shù)據(jù)生成裝置302使步法數(shù)據(jù)存儲(chǔ)裝置308存儲(chǔ) 各個(gè)運(yùn)動(dòng)片段中機(jī)器人2的重心的相對(duì)軌跡以及自由腿的腳部的相對(duì)軌 跡。
步法數(shù)據(jù)存儲(chǔ)裝置308儲(chǔ)存各個(gè)運(yùn)動(dòng)片段中機(jī)器人2的重心的相對(duì)軌 跡以及自由腿的腳部的相對(duì)軌跡。
目標(biāo)關(guān)節(jié)角生成裝置312根據(jù)存儲(chǔ)在步法數(shù)據(jù)存儲(chǔ)裝置308中的重心 的相對(duì)軌跡以及自由腿的腳部的相對(duì)軌跡,通過執(zhí)行所謂的反向運(yùn)動(dòng)計(jì)算 (inverse kinematics calculation)而生成機(jī)器人2的各個(gè)關(guān)節(jié)的目標(biāo)關(guān)節(jié)角 的順序數(shù)據(jù)。目標(biāo)關(guān)節(jié)角生成裝置312向致動(dòng)器控制裝置314輸出生成的 各個(gè)關(guān)節(jié)的目標(biāo)關(guān)節(jié)角的順序數(shù)據(jù)。
致動(dòng)器控制裝置314根據(jù)由目標(biāo)關(guān)節(jié)角生成裝置312生成的各個(gè)關(guān)節(jié) 的目標(biāo)關(guān)節(jié)角的順序數(shù)據(jù)來驅(qū)動(dòng)致動(dòng)器組318。通過對(duì)致動(dòng)器組318進(jìn)行 驅(qū)動(dòng)的致動(dòng)器控制裝置314,機(jī)器人2通過轉(zhuǎn)動(dòng)關(guān)節(jié)并改變姿態(tài)來執(zhí)行行 走運(yùn)動(dòng)。
重心速度計(jì)算裝置316根據(jù)從編碼器組320輸出的機(jī)器人2的關(guān)節(jié)的 關(guān)節(jié)角的順序變化、從加速度傳感器322輸出的軀干4的加速度的順序變 化、以及從陀螺儀傳感器324輸出的軀干4的角速度的順序變化,來計(jì)算 重心的速度。
例如可通過以下處理來獲得機(jī)器人2的重心速度通過對(duì)從加速度傳 感器322輸出的軀干4的加速度進(jìn)行積分來計(jì)算軀干4的速度,根據(jù)從編 碼器組320輸出的機(jī)器人2的關(guān)節(jié)的關(guān)節(jié)角的順序變化來計(jì)算機(jī)器人2的 重心與軀干4之間位置關(guān)系在時(shí)間上的變化,并計(jì)算前兩者的總和。將計(jì) 算得到的重心速度輸出至步法數(shù)據(jù)更新裝置310。
步法數(shù)據(jù)更新裝置310根據(jù)存儲(chǔ)在用戶命令值存儲(chǔ)裝置304中的用戶 命令值以及由重心速度計(jì)算裝置316計(jì)算得到的機(jī)器人2的重心速度,重 新生成各個(gè)運(yùn)動(dòng)片段中機(jī)器人2的重心的相對(duì)軌跡以及自由腿的腳部的相 對(duì)軌跡。以下將描述以上處理的細(xì)節(jié),其中步法數(shù)據(jù)更新裝置310生成機(jī) 器人2的重心的相對(duì)軌跡以及自由腿的腳部的相對(duì)軌跡。由步法數(shù)據(jù)更新 裝置310生成的各個(gè)運(yùn)動(dòng)片段中機(jī)器人2的重心的相對(duì)軌跡以及自由腿的腳部的相對(duì)軌跡被至那時(shí)為止存儲(chǔ)在步法數(shù)據(jù)存儲(chǔ)裝置308中的重心的相 對(duì)軌跡以及自由腿的腳部的相對(duì)軌跡替代。
現(xiàn)將參考圖4描述由步法數(shù)據(jù)生成裝置302生成機(jī)器人2的步法數(shù)據(jù) 的處理。
步驟S402將變量k設(shè)定為1,變量k表示產(chǎn)生運(yùn)動(dòng)的運(yùn)動(dòng)片段的數(shù)目。
步驟S404從用戶命令值存儲(chǔ)裝置304讀出用戶命令值??梢砸杂脩?命令值的形式來給定以下參數(shù)。
(1) 重心的高度(豎直位置)
(2) —條腿著地階段的持續(xù)時(shí)間
(3) 兩條腿著地階段的持續(xù)時(shí)間
(4) 目標(biāo)相對(duì)ZMP軌跡
(5) 角動(dòng)量的目標(biāo)順序數(shù)據(jù)
(6) 切換運(yùn)動(dòng)時(shí)重心的水平速度
上述(1)中重心的高度(豎直位置)是機(jī)器人2的重心所處的高 度??捎捎脩粼跈C(jī)器人2的機(jī)構(gòu)幾何結(jié)構(gòu)允許的范圍內(nèi)任意給定重心的高 度。本實(shí)施例的機(jī)器人2的重心的高度設(shè)定成在每一個(gè)運(yùn)動(dòng)片段中均為恒 定值。
上述(2)中一條腿著地階段的持續(xù)時(shí)間是一條腿著地階段持續(xù)的時(shí) 間。上述(3)中兩條腿著地階段的持續(xù)時(shí)間是兩條腿著地階段持續(xù)的時(shí) 間??捎捎脩羧我饨o定一條腿著地階段的持續(xù)時(shí)間以及兩條腿著地階段的 持續(xù)時(shí)間。
上述(4)中目標(biāo)相對(duì)ZMP軌跡是目標(biāo)ZMP對(duì)于支撐腿的扁平腳板 的基準(zhǔn)點(diǎn)的相對(duì)位置的順序數(shù)據(jù)。對(duì)于一條腿著地階段,在ZMP位于用 作支撐腿的腿連桿的扁平腳板的內(nèi)部的限制條件之下,可以由用戶任意給 定目標(biāo)相對(duì)ZMP軌跡。即使在另一腿連桿懸浮成為自由腿的情況下,如 果ZMP位于用作支撐腿的腿連桿的扁平腳板的內(nèi)部,則機(jī)器人2也能夠 持續(xù)行走運(yùn)動(dòng)而不會(huì)摔倒。
在本實(shí)施例的機(jī)器人2中,對(duì)于兩條腿著地階段,生成重心的相對(duì)軌跡而不對(duì)目標(biāo)相對(duì)ZMP軌跡進(jìn)行設(shè)定。在本實(shí)施例的機(jī)器人2中,如下
詳述,以重心在兩條腿著地階段以等速運(yùn)動(dòng)的方式來生成重心的相對(duì)軌
跡。當(dāng)重心以等速運(yùn)動(dòng)時(shí),機(jī)器人2所實(shí)現(xiàn)的ZMP的位置被保持在重心 的豎直下方。因此,在兩條腿著地階段,只要機(jī)器人2的重心從在后方著 地的腿連桿的位置向在前方著地的腿連桿的位置運(yùn)動(dòng),則機(jī)器人2就能夠 持續(xù)行走運(yùn)動(dòng)而不會(huì)摔倒。
在本實(shí)施例的機(jī)器人2中,目標(biāo)相對(duì)ZMP軌跡被設(shè)定成下述方式-在一條腿著地階段中,ZMP被固定至支撐腿的扁平腳板的中心。如果實(shí)現(xiàn) 了上述相對(duì)ZMP軌跡,則機(jī)器人2就不會(huì)摔倒,并將實(shí)現(xiàn)穩(wěn)定運(yùn)動(dòng)。在 一條腿著地階段中,可以對(duì)目標(biāo)相對(duì)ZMP軌跡給定任意軌跡,只要在一 條腿著地階段期間將其保持在支撐腿的扁平腳的內(nèi)部即可。例如,在一條 腿著地階段期間,可以使用軌跡使得ZMP從支撐腿的扁平腳板的后部移 動(dòng)至其前部。如果實(shí)現(xiàn)了上述類型的相對(duì)ZMP軌跡,則機(jī)器人2將不會(huì) 摔倒,并將實(shí)現(xiàn)穩(wěn)定運(yùn)動(dòng)。
上述(5)的角動(dòng)量的目標(biāo)順序數(shù)據(jù)是圍繞機(jī)器人2的重心的角動(dòng)量 的順序數(shù)據(jù)??梢栽谥聞?dòng)器性能允許的范圍內(nèi)由用戶任意給定角動(dòng)量的目 標(biāo)順序數(shù)據(jù)。可以以機(jī)器人2實(shí)現(xiàn)希望姿態(tài)的方式來設(shè)定圍繞機(jī)器人2的 側(cè)傾軸(即,x'軸)以及縱傾軸(即,y,軸)的角動(dòng)量。可以以機(jī)器人2 實(shí)現(xiàn)希望轉(zhuǎn)向運(yùn)動(dòng)的方式來設(shè)定圍繞橫擺軸(即,z'軸)的角動(dòng)量。
在本實(shí)施例的機(jī)器人2中,在各個(gè)運(yùn)動(dòng)片段中分別將圍繞側(cè)傾軸、縱 傾軸以及橫擺軸的角動(dòng)量設(shè)定為零。
當(dāng)機(jī)器人2的運(yùn)動(dòng)在一條腿著地階段與兩條腿著地階段之間切換時(shí), 上述(6)中切換運(yùn)動(dòng)時(shí)重心的水平速度是機(jī)器人2的重心的水平速度。 可以在機(jī)器人2的致動(dòng)器性能允許的范圍內(nèi)由用戶任意給定重心的水平速 度。
步驟S406生成第一運(yùn)動(dòng)片段1中重心的軌跡。在步驟S406的運(yùn)動(dòng)片 段1中的重心的軌跡的生成與以下步驟S410描述的總的運(yùn)動(dòng)片段k中重 心的軌跡的生成相同。將在S410詳述重心軌跡的生成處理。通過執(zhí)行步 驟S406的處理來生成運(yùn)動(dòng)片段1中重心的豎直軌跡以及水平軌跡。步驟S408在產(chǎn)生運(yùn)動(dòng)時(shí)使表示運(yùn)動(dòng)片段的編號(hào)k加1 。
步驟S410生成運(yùn)動(dòng)片段k中的重心的豎直軌跡以及水平軌跡。
根據(jù)以用戶命令值形式給定的重心的高度來確定運(yùn)動(dòng)片段k中重心的 豎直軌跡。在本實(shí)施例的機(jī)器人2中,以重心的高度在一條腿著地階段與 兩條腿著地階段總保持恒定的方式來確定重心的豎直軌跡。
在一條腿著地階段與兩條腿著地階段中,生成運(yùn)動(dòng)片段k中重心的水 平軌跡的方法不同。首先,將描述在一條腿著地階段中運(yùn)動(dòng)片段k中重心 的水平軌跡的生成。根據(jù)一條腿著地階段中重心的豎直軌跡的狀態(tài)、目標(biāo) 相對(duì)ZMP軌跡、角動(dòng)量的目標(biāo)順序數(shù)據(jù)、以及一條腿著地階段開始時(shí)及 結(jié)束時(shí)重心的水平速度,來確定重心的水平軌跡。步驟S410以相對(duì)ZMP 軌跡在實(shí)現(xiàn)重心的豎直軌跡及水平軌跡時(shí)變?yōu)榕c目標(biāo)相對(duì)ZMP軌跡重合 的方式,來計(jì)算重心的水平軌跡。
己經(jīng)根據(jù)以用戶命令值給定的重心的高度確定了重心的豎直軌跡。以 用戶命令值形式給定目標(biāo)相對(duì)ZMP軌跡以及角動(dòng)量的目標(biāo)順序數(shù)據(jù)。通 過規(guī)定片段k-l結(jié)束時(shí)重心的水平速度,根據(jù)在片段k-l已經(jīng)生成的重心 軌跡來給定運(yùn)動(dòng)片段開始時(shí)重心的水平速度。以通過用戶命令值來切換運(yùn) 動(dòng)時(shí)的重心的水平速度的形式,來給定在一條腿著地階段結(jié)束時(shí)重心的水 平速度。步驟S410計(jì)算重心的水平軌跡以符合這些條件。
可根據(jù)機(jī)器人2的重心的相對(duì)位置(x',y',z')以及從假定支撐腿的扁 平腳板的基準(zhǔn)點(diǎn)作為原點(diǎn)的坐標(biāo)系觀察圍繞機(jī)器人2的重心的角速度(cox,, ov),來計(jì)算機(jī)器人2實(shí)現(xiàn)的相對(duì)ZMP的位置(px,, py,)。將以下公式稱 為ZMP等式,其根據(jù)機(jī)器人2的重心的相對(duì)位置以及圍繞機(jī)器人2的重 心的角速度來計(jì)算由機(jī)器人2實(shí)現(xiàn)的相對(duì)ZMP。
<formula>formula see original document page 15</formula>
在這里,(1)表示時(shí)間t的一階微分,而(2)表示時(shí)間t的二階微分。而m表示機(jī)器人2的質(zhì)量。
在上述公式中,z,是假定機(jī)器人2的支撐腿的扁平腳板的基準(zhǔn)點(diǎn)為原 點(diǎn)的情況下,重心的豎直位置,而z'②是其豎直加速度。因?yàn)闄C(jī)器人2的 支撐腿的扁平腳板并不移動(dòng)至地板,故可通過重心的豎直軌跡來規(guī)定z'及 z'(2)。因?yàn)樵诿恳粋€(gè)運(yùn)動(dòng)片段中機(jī)器人2的重心的高度恒定,故豎直加速 度z,("為零。
在以上公式中,Ix, (^,(1)以及Iy, (^,(1)表示機(jī)器人2的轉(zhuǎn)動(dòng)慣性的影響。 在本實(shí)施例中,將在每一個(gè)運(yùn)動(dòng)片段中圍繞側(cè)傾軸(g卩,x'軸)以及縱傾 軸(g卩,y,軸)的角動(dòng)量假定為零,并且Ix,ovW以及Iy,ovW為零。
把上述ZMP等式轉(zhuǎn)換到離散表達(dá)式將得到計(jì)算重心的水平位置(x', y,)的順序數(shù)據(jù)的公式。如上所述,這里的離散表達(dá)式使用與時(shí)間t相關(guān) 的單位時(shí)間At。對(duì)于重心沿x'方向的軌跡,獲得以下公式。
這里,X'i以及Px,i是變量,其中重心沿X'方向的軌跡X' (t)以及沿X'方
向的相對(duì)ZMP軌跡px<t)分別受到離散轉(zhuǎn)換。i表示根據(jù)單位時(shí)間劃分的 時(shí)間順序。公式2表明,在時(shí)間i的沿ZMP的x'方向的坐標(biāo)px,i可根據(jù)在
那時(shí)的沿X'方向的坐標(biāo)X'i,剛剛在那時(shí)之前的沿X'方向的坐標(biāo)X'i.p以及
緊跟在那時(shí)之后的沿x'方向的坐標(biāo)xVi來計(jì)算。ab bi,以及q是通過以下公 式計(jì)算得到的系數(shù)。 [公式3]
在上述公式中,At表示用于將ZMP等式轉(zhuǎn)換為離散表達(dá)式的時(shí)間寬 度,而Z'i以及z',是變量,其中重心的豎直位置以及加速度分別受到離 散轉(zhuǎn)換。在本實(shí)施例中,At表示將一條腿著地階段的持續(xù)時(shí)間均等地劃分 為n部分的時(shí)間寬度。
此外,di是通過以下公式計(jì)算得到的系數(shù)。
16[公式4]
' m(z'(2),+g)
這里,Iy, ov^是圍繞縱傾軸(g卩,y'軸)的目標(biāo)角動(dòng)量被離散轉(zhuǎn)換的 值。這里,在本實(shí)施例的機(jī)器人2中,目標(biāo)角動(dòng)量為零,并且全部di為 零。
在本實(shí)施例中,以重心的軌跡在一條腿著地階段開始及結(jié)束時(shí)變得平 滑的方式來計(jì)算機(jī)器人2的運(yùn)動(dòng)。通過以此方式計(jì)算運(yùn)動(dòng),機(jī)器人2的重 心的位置在機(jī)器人2使自由腿著地(一條腿著地階段的結(jié)束時(shí)間)之前, 并且在機(jī)器人2替換支撐腿并向外擺動(dòng)曾經(jīng)作為支撐腿直至重新作為自由 腿的腿連桿時(shí)(一條腿著地階段的開始時(shí)間)都平滑地移動(dòng),并且機(jī)器人 2實(shí)現(xiàn)穩(wěn)定運(yùn)動(dòng)。
利用分割時(shí)間寬度At以及重心的位置x'。, x、,通過以下公式來表達(dá) 在運(yùn)動(dòng)片段k中一條腿著地階段的開始時(shí)重心沿x'方向的速度vx,o。 [公式5] 、'0& = )
根據(jù)已經(jīng)計(jì)算得到的運(yùn)動(dòng)片段k-l中重心的軌跡來對(duì)上述在運(yùn)動(dòng)片段 k中一條腿著地階段的開始時(shí)重心沿x'方向的速度v^進(jìn)行設(shè)定。例如如 果k為2,則假定重心在片段2開始時(shí)的水平速度、,o為重心在片段1結(jié)束 時(shí)的水平速度,其由片段l中的水平軌跡來規(guī)定。
以相同的方式,在運(yùn)動(dòng)片段k中一條腿著地階段的結(jié)束時(shí)重心沿x'方 向的速度V^-i與分割時(shí)間寬度At以及重心的位置x'n.2, 具有以下關(guān) 系。
2
將在運(yùn)動(dòng)片段k中一條腿著地階段的結(jié)束時(shí)重心沿X,方向的速度 假定為在切換運(yùn)動(dòng)時(shí)重心的水平速度,其以用戶命令值的形式給定。
為了組織上述關(guān)系,可以通過解算呈三對(duì)角線矩陣(即,三對(duì)角線方
程)形式給出的以下公式,來計(jì)算在運(yùn)動(dòng)片段k中一條腿著地階段的重心沿X,方向的軌跡(X,。, X,h…,X'^),該軌跡其實(shí)現(xiàn)與目標(biāo)相對(duì)ZMP軌跡
相同的相對(duì)ZMP軌跡。 [公式7]
、'(A —
iW3-《-3 A'/i—2 —《—2
_
以矩陣與列矢量的乘積的形式來表達(dá)上述公式中的左側(cè),而矩陣是具 有通過豎直軌跡計(jì)算得到的系數(shù)的三對(duì)角矩陣。三對(duì)角矩陣指使得對(duì)角線 分量以及與其臨接的副對(duì)角線分量具有有意義的值而其他分量為零的矩
陣。左側(cè)的列矢量是表示重心沿x'方向的軌跡(X'o, x'1;…,x'^)的列矢 量。右側(cè)的列矢量是包括下列內(nèi)容的列矢量根據(jù)目標(biāo)角動(dòng)量施加了校正
的目標(biāo)相對(duì)ZMP軌跡,通過使在一條腿著地階段開始時(shí)的重心沿x'方向 的速度Vx,。乘以單位時(shí)間At而獲得的距離vx,QAt,以及通過使在一條腿著 地階段結(jié)束時(shí)的重心沿x'方向的速度Vxw乘以單位時(shí)間At而獲得的距離
對(duì)公式7的左側(cè)的三對(duì)角矩陣的逆矩陣的計(jì)算以及對(duì)逆矩陣與右側(cè)乘
積的計(jì)算可計(jì)算出未知數(shù)(x'o,x、…,xV,)。由此,可以計(jì)算出重心沿x'
方向的軌跡。
以與沿X,方向的重心軌跡(X'o,X、…,X'n-。相同的方式,還可以根據(jù)
沿y,方向的相對(duì)ZMP位置(py,h…,py,n.2)、圍繞側(cè)傾軸(即,x'軸)的 目標(biāo)角動(dòng)量、以及在運(yùn)動(dòng)片段k中一條腿著地階段開始時(shí)的重心速度vy,0
以及結(jié)束時(shí)的重心速度VyW,來計(jì)算在運(yùn)動(dòng)片段k中一條腿著地階段中沿
y,方向的重心軌跡(y、…,y,n-!)。
上述方法可直接計(jì)算與目標(biāo)相對(duì)ZMP軌跡符合的重心水平軌跡,而
無需以逐次逼近法來計(jì)算重心的水平軌跡。上述方法涉及相對(duì)較少的計(jì)算
—1100
0
0"262c2
0
x'
0
n—3
0 0
6,
—2
0
n-36.
"一2 —1
0


n—1
18量,由此可以進(jìn)行高速計(jì)算。
替代上述水平速度VX,D, Vy,Q,用戶可給定表示重心運(yùn)動(dòng)方向的水平單
位矢量iV,ny,,速度的絕對(duì)值I v I ,作為在轉(zhuǎn)換運(yùn)動(dòng)時(shí)重心的水平速度。
在此情況下,可通過以下公式來計(jì)算水平速度VX,Q, Vy,Q。
在通過上述方法生成的重心軌跡中,并不總是能確保通過ZMP等式 計(jì)算得到的ZMP在一條腿著地階段開始及結(jié)束時(shí)均與目標(biāo)ZMP相符。但 是,在一條腿著地階段開始及結(jié)束時(shí)的重心軌跡得到平滑的連接,并且不 滿足ZMP等式的持續(xù)時(shí)間極短(約為用于離散地轉(zhuǎn)換ZMP等式的時(shí)間寬 度At的兩倍),因此,實(shí)現(xiàn)如上生成的運(yùn)動(dòng)的機(jī)器人2能夠執(zhí)行穩(wěn)定的運(yùn) 動(dòng)而不會(huì)摔倒。
下面,將描述在兩條腿著地階段中運(yùn)動(dòng)片段k中重心的水平軌跡的計(jì) 算。在兩條腿著地階段中,本實(shí)施例的機(jī)器人2使重心以等速運(yùn)動(dòng)。因 此,可以根據(jù)重心在兩條腿著地階段開始時(shí)的位置、兩條腿著地階段中重 心速度、以及兩條腿著地階段的持續(xù)時(shí)間,來生成在兩條腿著地階段中重 心的水平軌跡。通過給定剛在此之前的一條腿著地階段的結(jié)束時(shí)的重心位 置,可給定在兩條腿著地階段開始時(shí)的重心位置。通過上述水平速度vx,o, Vy,o來給定兩條腿著地階段中的重心速度。己經(jīng)以用戶命令值形式給定了 兩條腿著地階段的持續(xù)時(shí)間。因此,可以生成兩條腿著地階段中重心的水 平軌跡。
當(dāng)機(jī)器人2的重心以等速運(yùn)動(dòng)時(shí),作用在機(jī)器人2上的外力的水平分 量的總和為零,因此,機(jī)器人2實(shí)現(xiàn)的ZMP位于重心豎直下方。因此, 在兩條腿著地階段中,只要重心的水平位置從在后方著地的腿連桿的位置 朝向在前方著地的腿連桿的位置移動(dòng),機(jī)器人2就能夠執(zhí)行穩(wěn)定的運(yùn)動(dòng)而 不會(huì)摔倒。
步驟S412計(jì)算在從一條腿著地階段向兩條腿著地階段轉(zhuǎn)換時(shí)自由腿 的著地位置。將自由腿的著地位置計(jì)算為在片段k-1中當(dāng)一條腿著地階段結(jié)束時(shí)自由腿的扁平腳板的基準(zhǔn)點(diǎn)相對(duì)于支撐腿的扁平腳板的基準(zhǔn)點(diǎn)的相 對(duì)位置。作為片段k-l的一條腿著地階段中的自由腿的腿連桿變?yōu)槠蝛
的一條腿著地階段中的支撐腿。因此,在片段k的一條腿著地階段中支撐 腿的扁平腳板將著地的地板上的位置相應(yīng)于自由腿在片段k-l中著地的位 置而改變。在本實(shí)施例的機(jī)器人2中,以在片段k中一條腿著地階段的運(yùn) 動(dòng)變得穩(wěn)定的方式,來確定在片段k-l中自由腿的著地位置。
首先,根據(jù)在步驟S410生成的片段k的一條腿著地階段中重心的相 對(duì)軌跡,來規(guī)定在片段k開始時(shí)重心相對(duì)于支撐腿的扁平腳板的基準(zhǔn)點(diǎn)的 相對(duì)位置(Ax/, Ayf')。所規(guī)定的重心的相對(duì)位置(Ax/, Ayf')對(duì)應(yīng)于 重心相對(duì)于在片段k-l的兩條腿著地階段結(jié)束時(shí)在前方著地的腿連桿的扁 平腳板的基準(zhǔn)點(diǎn)的相對(duì)位置。
然后,根據(jù)已經(jīng)生成的片段k-l的兩條腿著地階段中重心的相對(duì)軌 跡,來規(guī)定重心相對(duì)于在片段k-l的兩條腿著地階段結(jié)束時(shí)在后方著地的 腿連桿的扁平腳板的基準(zhǔn)點(diǎn)的相對(duì)位置(Axb',Ayb')。
此外,通過計(jì)算重心相對(duì)于在前方著地的腿連桿的扁平腳板的基準(zhǔn)點(diǎn) 的相對(duì)位置(Ax/, Ayf')與重心相對(duì)于在后方著地的腿連桿的扁平腳板的 基準(zhǔn)點(diǎn)的相對(duì)位置(Ax" Ayb')之間的差異,在片段k-l的兩條腿著地階 段結(jié)束時(shí),可規(guī)定在前方著地的腿連桿的扁平腳板的基準(zhǔn)點(diǎn)與在后方著地 的腿連桿的扁平腳板的基準(zhǔn)點(diǎn)之間的相對(duì)位置(sx, Sy)。因?yàn)閮蓷l腿連桿 的扁平腳板不會(huì)在兩條腿著地階段向地板移動(dòng),故這樣規(guī)定的相對(duì)位置 (sx, Sy)與在片段k-l的一條腿著地階段結(jié)束時(shí)支撐腿的扁平腳板的基準(zhǔn) 點(diǎn)與自由腿的扁平腳板的基準(zhǔn)點(diǎn)(即,自由腿的著地位置)之間的相對(duì)位 置對(duì)應(yīng)。
步驟S414生成片段k-l中自由腿的相對(duì)軌跡。根據(jù)在片段k-l的一條 腿著地階段開始時(shí)自由腿的相對(duì)位置(即,在變?yōu)樽杂赏鹊耐冗B桿剛被抬 起之前的著地位置)、在片段k-l的一條腿著地階段結(jié)束時(shí)自由腿的相對(duì) 位置(即,在步驟S412確定的自由腿的著地位置)、以及以用戶命令值 的形式給定的一條腿著地階段的持續(xù)時(shí)間,而生成自由腿的腳部的相對(duì)軌 跡。圖5典型地示出了生成了自由腿的腳部的相對(duì)軌跡510的狀態(tài)。如圖5所示,在片段k-l的一條腿著地階段中,在支撐腿的扁平腳板在著地位
置504著地的狀態(tài)下,自由腿的腳部的相對(duì)軌跡510被生成為從著地位置 502抬起自由腿的扁平腳板,然后在一條腿著地階段的持續(xù)時(shí)間結(jié)束時(shí)使 自由腿的扁平腳板移動(dòng)至著地位置506。例如可通過使用多項(xiàng)式插值來生 成自由腿的腳部的相對(duì)軌跡510。
步驟S416判定是否在全部運(yùn)動(dòng)片段中分別結(jié)束了重心的相對(duì)軌跡的 生成。通過將經(jīng)過處理的運(yùn)動(dòng)片段的數(shù)目k與最后的運(yùn)動(dòng)片段的編號(hào)kmax 進(jìn)行比較來進(jìn)行上述判定。如果k等于或大于kmax (即,在步驟S416為 是),則該步驟判定為在全部運(yùn)動(dòng)片段中分別結(jié)束了重心的相對(duì)軌跡的生 成,并使處理進(jìn)行至步驟S418。如果k小于kmax (即,在步驟S416為 否),則步驟使處理進(jìn)行至步驟S408以生成運(yùn)動(dòng)片段(尚未對(duì)這些運(yùn)動(dòng) 片段生成軌跡)中的重心的軌跡,并且重復(fù)執(zhí)行從步驟S408至步驟S414 的處理。
步驟S418確定在最后運(yùn)動(dòng)片段kn^中自由腿的著地位置。對(duì)于最后 運(yùn)動(dòng)片段kmax,可以任意地確定自由腿的著地位置。在本實(shí)施例的機(jī)器人 2中,將自由腿的著地位置設(shè)定至支撐腿著地一側(cè),使得機(jī)器人2可在最 后運(yùn)動(dòng)片段km^結(jié)束之后呈直立姿態(tài)。
對(duì)于最后運(yùn)動(dòng)片段k=kmax,步驟S420生成自由腿的腳部的相對(duì)軌 跡。步驟S420的處理與步驟S414的相同,并將省去對(duì)其的描述。
通過圖4所示的處理,生成重心的相對(duì)軌跡以及自由腿的腳部的相對(duì) 軌跡,以實(shí)現(xiàn)機(jī)器人2的行走運(yùn)動(dòng)。由此生成的重心的相對(duì)軌跡以及自由 腿的腳部的相對(duì)軌跡被存儲(chǔ)在步法數(shù)據(jù)存儲(chǔ)裝置308中。
在機(jī)器人2的行走運(yùn)動(dòng)開始時(shí),目標(biāo)關(guān)節(jié)角生成裝置312通過從步法 數(shù)據(jù)存儲(chǔ)裝置308讀取重心的相對(duì)軌跡以及自由腿的腳部的相對(duì)軌跡,來 通過反向運(yùn)動(dòng)計(jì)算而生成各個(gè)關(guān)節(jié)的目標(biāo)關(guān)節(jié)角的順序數(shù)據(jù)。致動(dòng)器控制 裝置314根據(jù)所生成的目標(biāo)關(guān)節(jié)角的順序數(shù)據(jù)來驅(qū)動(dòng)致動(dòng)器組318,機(jī)器 人2根據(jù)用戶命令值而實(shí)現(xiàn)行走運(yùn)動(dòng)。
在機(jī)器人2實(shí)現(xiàn)行走運(yùn)動(dòng)時(shí),控制單元10監(jiān)控從一條腿著地階段向 兩條腿著地階段的轉(zhuǎn)換??筛鶕?jù)目標(biāo)關(guān)節(jié)角生成裝置312從步法數(shù)據(jù)存儲(chǔ)裝置308讀取的自由腿的腳部的相對(duì)軌跡來判定從一條腿著地階段向兩條 腿著地階段的轉(zhuǎn)換。在機(jī)器人2的運(yùn)動(dòng)從一條腿著地階段向兩條腿著地階 段轉(zhuǎn)換的時(shí)刻,控制單元IO更新在該時(shí)刻之后運(yùn)動(dòng)片段中的步法數(shù)據(jù)。
圖6的流程圖說明了控制單元10的步法數(shù)據(jù)更新裝置310對(duì)機(jī)器人2 的步法數(shù)據(jù)進(jìn)行更新的處理。
步驟S602規(guī)定了當(dāng)前運(yùn)動(dòng)片段m,其中機(jī)器人2正在執(zhí)行那時(shí)的運(yùn)動(dòng)。
步驟S604通過使用重心速度計(jì)算裝置316對(duì)重心的實(shí)際速度進(jìn)行檢
步驟S606讀取存儲(chǔ)在用戶命令值存儲(chǔ)裝置304中的用戶命令值。
步驟S608設(shè)定步法數(shù)據(jù)要被更新的那個(gè)運(yùn)動(dòng)片段k。在本實(shí)施例的機(jī) 器人2中,將在步驟S602規(guī)定的當(dāng)前運(yùn)動(dòng)片段之后的那個(gè)運(yùn)動(dòng)片段設(shè)定 為步法數(shù)據(jù)要被更新的運(yùn)動(dòng)片段k。
步驟S610生成運(yùn)動(dòng)片段k中重心的相對(duì)軌跡。除了在一條腿著地階 段開始時(shí)給定重心的水平速度的方法不同之外,在步驟S610執(zhí)行的生成 重心的相對(duì)軌跡的處理與圖4中在步驟S410的處理大致相同。步驟S610 使用在步驟S604檢測(cè)得到的重心的實(shí)際速度作為在運(yùn)動(dòng)片段k中一條腿 著地階段開始時(shí)重心的水平速度。
從步驟S612至步驟S624的處理與在圖4中從步驟S408至步驟S420 的處理相同,將省去對(duì)其的詳細(xì)描述。因此,運(yùn)動(dòng)片段k+l時(shí)及之后的重 心的相對(duì)軌跡、用于使自由腿在運(yùn)動(dòng)片段k時(shí)及之后著地的預(yù)定位置、以 及在運(yùn)動(dòng)片段k時(shí)及之后自由腿的腳部的相對(duì)軌跡得到更新。
如上所述,在每一次將運(yùn)動(dòng)從一條腿著地階段切換至兩條腿著地階段 時(shí),本實(shí)施例的機(jī)器人2執(zhí)行步法數(shù)據(jù)的更新處理。因此,如果新的用戶 命令值在機(jī)器人2運(yùn)動(dòng)期間由用戶輸入,則運(yùn)動(dòng)可以被更改以與新的用戶 命令值相符。
在更新上述步法數(shù)據(jù)時(shí),本實(shí)施例的機(jī)器人2通過使用傳感器組14 以及編碼器組320來測(cè)量重心的實(shí)際速度,并隨后更新重心的軌跡以平滑 地與重心的測(cè)量速度相銜接。如果不能預(yù)期的干擾作用在機(jī)器人2上,則響應(yīng)于干擾后對(duì)此后的重心的軌跡進(jìn)行更新,并且機(jī)器人2能夠持續(xù)穩(wěn)定 行走。
本實(shí)施例的機(jī)器人2根據(jù)重心在兩條腿著地階段中的相對(duì)軌跡以及隨 后重心在一條腿著地階段中的相對(duì)軌跡,在運(yùn)動(dòng)從一條腿著地階段切換至 兩條腿著地階段時(shí)設(shè)定自由腿的著地位置,使得隨后的運(yùn)動(dòng)變得穩(wěn)定。通 過以此方式設(shè)定自由腿的著地位置,機(jī)器人2能夠在較大程度上實(shí)現(xiàn)穩(wěn)定 的行走運(yùn)動(dòng)。
上述實(shí)施例描述了根據(jù)安裝在軀干4中的加速度傳感器322的測(cè)量值 以及安裝在各個(gè)關(guān)節(jié)中的編碼器組320的測(cè)量值來計(jì)算重心的加速度、并 通過利用重心加速度對(duì)時(shí)間的積分來檢測(cè)重心的速度的示例。但是,對(duì)重 心的加速度的檢測(cè)并不限于此,例如可以構(gòu)思出在機(jī)器人2中安裝多個(gè)加 速度傳感器,并根據(jù)這些加速度傳感器的測(cè)量點(diǎn)的位置以及其測(cè)量值來計(jì) 算重心的加速度?;蛘撸梢愿鶕?jù)加速度傳感器的測(cè)量值以及陀螺儀傳感 器的測(cè)量值來計(jì)算重心的加速度。
上述實(shí)施例描述了根據(jù)由傳感器組14測(cè)量得到的加速度來測(cè)量重心 的速度的示例,但對(duì)重心的速度的測(cè)量方法并不限于此。
例如可以通過使用固定至機(jī)器人2外部的地板上的距離測(cè)量傳感器來 測(cè)量機(jī)器人2的代表點(diǎn)的位置、根據(jù)各個(gè)關(guān)節(jié)的關(guān)節(jié)角來計(jì)算代表點(diǎn)與重 心之間的相對(duì)位置關(guān)系、根據(jù)重心與代表點(diǎn)之間的相對(duì)位置關(guān)系以及代表 點(diǎn)的測(cè)量位置來計(jì)算重心的位置、并且計(jì)算重心的位置隨時(shí)間的變化率, 來確定重心的速度。或者,可以構(gòu)思到在軀干4上安裝GPS接收器、根據(jù) 由GPS接收器獲得的位置以及各個(gè)關(guān)節(jié)的關(guān)節(jié)角來計(jì)算重心的位置、并根 據(jù)重心的位置隨時(shí)間的變化來計(jì)算重心的速度。
或者,可以通過僅使用各個(gè)關(guān)節(jié)的關(guān)節(jié)角隨時(shí)間的變化來直接計(jì)算重 心的速度。
上述實(shí)施例描述了這樣的示例當(dāng)機(jī)器人2正在實(shí)際行走時(shí),在機(jī)器 人2在運(yùn)動(dòng)片段m中使自由腿著地的時(shí)刻,對(duì)用于在運(yùn)動(dòng)片段m+l時(shí)及 之后使自由腿著地的預(yù)定位置進(jìn)行更新。因此,在機(jī)器人2開始運(yùn)動(dòng)片段 m+l中的運(yùn)動(dòng)之前,對(duì)用于在運(yùn)動(dòng)片段m+l中使自由腿著地的預(yù)定位置進(jìn)
23行更新,將會(huì)防止在一條腿著地階段中運(yùn)動(dòng)的突然改變,并且機(jī)器人2能 夠執(zhí)行穩(wěn)定的運(yùn)動(dòng)。
與以上不同,可采用以下結(jié)構(gòu),即在機(jī)器人2在一條腿著地階段的
運(yùn)動(dòng)片段m中執(zhí)行運(yùn)動(dòng)時(shí),對(duì)用于在運(yùn)動(dòng)片段m中使自由腿著地的預(yù)定 位置進(jìn)行更新。在此情況下,即使在一條腿著地階段的運(yùn)動(dòng)片段m中存在 作用在機(jī)器人上的不能預(yù)期的干擾,也能夠響應(yīng)于該干擾對(duì)運(yùn)動(dòng)片段m+l 時(shí)及之后的重心的相對(duì)軌跡進(jìn)行更新,并響應(yīng)于更新后的重心的相對(duì)軌跡 來對(duì)用于在運(yùn)動(dòng)片段m中使自由腿著地的預(yù)定位置以及自由腿的腳部的相 對(duì)軌跡進(jìn)行更新。機(jī)器人2能夠快速地響應(yīng)于作用在機(jī)器人2上的干擾, 來迅速恢復(fù)穩(wěn)定的行走運(yùn)動(dòng)。
上述實(shí)施例描述了在全部運(yùn)動(dòng)片段中以作為常量的用戶命令值的形式 來給定機(jī)器人2的重心高度的示例,但是,也可以使機(jī)器人2的重心的高 度隨時(shí)間而改變。假定在生成機(jī)器人2的重心的水平軌跡之前獲取了機(jī)器 人2的豎直軌跡,則通過對(duì)上述三對(duì)角矩陣的解算,可生成與豎直軌跡對(duì) 應(yīng)的水平軌跡。
已經(jīng)結(jié)合具體示例詳細(xì)描述了本發(fā)明,但是,這些示例僅是說明,其 不能對(duì)權(quán)利要求的范圍構(gòu)成限制。權(quán)利要求中描述的技術(shù)方案包含上述具 體示例,以及這些示例的各種變化及變更。
此外,本說明書或附圖中描述的技術(shù)要素可獨(dú)立地或以不同的結(jié)合方 式實(shí)現(xiàn)技術(shù)應(yīng)用,在應(yīng)用時(shí)其不限于權(quán)利要求中的結(jié)合。并且,本說明書 或附圖中描述的技術(shù)方案可同時(shí)實(shí)現(xiàn)多種目的,并且實(shí)現(xiàn)這些目的中一個(gè) 目的就可顯示出技術(shù)實(shí)用性。 相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2006年7月18日遞交的日本專利申請(qǐng)?zhí)?006-195717 的優(yōu)先權(quán),通過引用將其全部內(nèi)容包含于本說明書中。
權(quán)利要求
1. 一種機(jī)器人,包括軀干、以可擺動(dòng)方式與所述軀干連接的一對(duì)腿連桿、獨(dú)立地使所述腿連桿中每一者相對(duì)于所述軀干擺動(dòng)的致動(dòng)器組、以及控制所述致動(dòng)器組的控制器,所述機(jī)器人通過在所述一對(duì)腿連桿之間交替地重復(fù)進(jìn)行使一個(gè)腿連桿相對(duì)于所述軀干向外擺動(dòng)并使其著地的運(yùn)動(dòng)來行走,其中所述控制器被編程,以在給定所述機(jī)器人的重心的軌跡以及所述腿連桿的腳部的軌跡時(shí)對(duì)所述致動(dòng)器組進(jìn)行控制,從而實(shí)現(xiàn)給定的所述重心的軌跡以及所述腿連桿的腳部的軌跡;并且所述控制器在從所述一個(gè)腿連桿著地到隨后向外擺動(dòng)的另一個(gè)所述腿連桿著地的過程中執(zhí)行如下控制(1)更新所述另一個(gè)腿連桿著地之后所述機(jī)器人的重心的軌跡,(2)根據(jù)經(jīng)過更新的重心的軌跡來確定用于使所述另一個(gè)腿連桿著地的預(yù)定位置,并且(3)根據(jù)所確定的用于著地的預(yù)定位置,來更新所述另一個(gè)腿連桿著地之前的所述另一個(gè)腿連桿的腳部的軌跡。
2. 根據(jù)權(quán)利要求1所述的機(jī)器人,其中兩個(gè)所述腿連桿都著地的過程中的所述重心的軌跡的水平方向分量以 等速軌跡的形式來給定。
3. —種控制機(jī)器人的方法,所述機(jī)器人包括軀干、以可擺動(dòng)方式與所述軀干連接的一對(duì)腿連桿、獨(dú)立地使所述腿連桿中每一者相對(duì)于所述軀干 擺動(dòng)的致動(dòng)器組、以及控制器,所述控制器在給定所述機(jī)器人的重心的軌 跡以及所述腿連桿的腳部的軌跡時(shí)對(duì)所述致動(dòng)器組進(jìn)行控制,以實(shí)現(xiàn)給定 的所述重心的軌跡以及所述腳部的軌跡,所述機(jī)器人通過在所述一對(duì)腿連 桿之間交替地重復(fù)進(jìn)行使一個(gè)腿連桿相對(duì)于所述軀干向外擺動(dòng)并使其著地的運(yùn)動(dòng)來行走,所述方法在從所述一個(gè)腿連桿著地到隨后向外擺動(dòng)的另一個(gè)所述腿連桿著地的過程中包括如下步驟(1 )更新所述另一個(gè)腿連桿著地之后所述機(jī)器人的重心的軌跡,(2) 根據(jù)經(jīng)過更新的重心的軌跡來確定用于使所述另一個(gè)腿連桿著 地的預(yù)定位置,并且(3) 根據(jù)所確定的用于著地的預(yù)定位置,來更新所述另一個(gè)腿連桿 著地之前的所述另一個(gè)腿連桿的腳部的軌跡。
全文摘要
本發(fā)明涉及機(jī)器人及其控制方法,并提供了一種即使在機(jī)器人的實(shí)際運(yùn)動(dòng)狀態(tài)大大偏離目標(biāo)運(yùn)動(dòng)狀態(tài)時(shí)也能使機(jī)器人持續(xù)穩(wěn)定行走的技術(shù)。機(jī)器人包括軀干、以可擺動(dòng)方式與軀干連接的一對(duì)腿連桿、獨(dú)立地使腿連桿中每一者相對(duì)于軀干擺動(dòng)的致動(dòng)器組、控制致動(dòng)器組的控制器??刂破鞅痪幊桃詫?duì)致動(dòng)器組進(jìn)行控制,從而實(shí)現(xiàn)給定的重心的軌跡及腿連桿的腳部的軌跡。控制器在從一個(gè)腿連桿著地到隨后向外擺動(dòng)的另一個(gè)腿連桿著地的過程中執(zhí)行如下控制更新另一個(gè)腿連桿著地之后機(jī)器人的重心軌跡,根據(jù)經(jīng)過更新的重心軌跡來確定用于使另一個(gè)腿連桿著地的預(yù)定位置,并且根據(jù)所確定的用于著地的預(yù)定位置,來更新另一個(gè)腿連桿著地之前的另一個(gè)腿連桿的腳部的軌跡。
文檔編號(hào)B25J5/00GK101466507SQ20078002139
公開日2009年6月24日 申請(qǐng)日期2007年7月17日 優(yōu)先權(quán)日2006年7月18日
發(fā)明者但馬龍介 申請(qǐng)人:豐田自動(dòng)車株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1