本發(fā)明涉及用于控制雙足步行機器人的步行動作的步行控制方法、記錄步行控制流程的記錄媒體以及雙足步行機器人。
背景技術(shù):
以往,研發(fā)模仿人類等雙足步行動物的身體機制及動作的雙足步行機器人的工作得以推進。
例如,日本專利第3167406號(以下稱為專利文獻1)公開一種腿式移動機器人的步行控制裝置,所述腿式移動機器人包括基體和通過第1關(guān)節(jié)連接于該基體并分別至少具備第2關(guān)節(jié)的多根腿部連桿,該腿式移動機器人利用多根腿部連桿交替支撐自重并步行。
以往的該步行控制裝置通過配置于各關(guān)節(jié)的伺服馬達對各關(guān)節(jié)角度進行跟蹤控制以達成目標值,其以相對于重力方向的絕對角度來檢測基體的傾斜角度及/或傾斜角速度,并將檢測值乘以規(guī)定的增益所獲得的校正量加到游腿側(cè)的腿部連桿的第1關(guān)節(jié)及/或第2關(guān)節(jié)的控制值中。
專利文獻1的步行控制裝置控制游腿使其以與傾斜的大小成比例的步幅朝向傾斜方向邁步。即,專利文獻1的步行控制裝置不是使軀體部分始終保持垂直,而是通過使游腿在要著地之前邁出與傾斜角度相對應(yīng)的步幅,從而確保游腿著地之后的穩(wěn)定性。
對于以往的步行控制裝置而言,例如,雙足步行機器人在用單腳接觸地面的狀態(tài)下受到外力,并在傾斜的狀態(tài)下恢復(fù)直立狀態(tài)時,有可能傾斜沒有完全恢復(fù)還留有傾斜或者傾斜會進一步增大。
技術(shù)實現(xiàn)要素:
本發(fā)明為了解決上述問題而做,其目的在于提供一種能夠?qū)崿F(xiàn)穩(wěn)定的步行動作的步行控制方法、記錄步行控制流程的記錄媒體以及雙足步行機器人。
本發(fā)明的一方面所涉及的步行控制方法是步行控制裝置的步行控制方法,用于控制雙足步行機器人的步行動作,該雙足步行機器人具備上身部、連接于所述上身部的第1腿部、連接于所述上身部的第2腿部、驅(qū)動所述第1腿部的第1驅(qū)動部及驅(qū)動所述第2腿部的第2驅(qū)動部,其中包括以下步驟:調(diào)整所述雙足步行機器人的重心位置以便所述雙足步行機器人能以規(guī)定的基準角度直立;在所述雙足步行機器人的步行動作中,取得表示所述上身部相對于所述基準角度的傾斜角度的信息;在所述第1腿部及所述第2腿部的任一方為了所述步行動作而沒有接觸地面的狀態(tài)下,根據(jù)所述傾斜角度使所述第1腿部及所述第2腿部動作,以便讓所述上身部相對于所述基準角度維持在規(guī)定的角度范圍內(nèi)。
根據(jù)本發(fā)明,在第1腿部及第2腿部的任一方為了步行動作而沒有接觸地面的狀態(tài)下,將上身部相對于可直立的規(guī)定的基準角度維持在規(guī)定的角度范圍內(nèi),因此能夠?qū)崿F(xiàn)穩(wěn)定的步行動作。
附圖說明
圖1是表示本實施方式的雙足步行機器人的結(jié)構(gòu)的圖。
圖2是用于說明本實施方式的雙足步行機器人在俯仰軸方向的步行控制的模式圖。
圖3是表示本實施方式中對俯仰軸方向的步行動作進行控制的步行控制裝置的結(jié)構(gòu)的圖。
圖4是用于說明本實施方式中通過步行控制裝置實現(xiàn)的俯仰軸方向的步行動作的流程圖。
圖5是用于說明本實施方式的雙足步行機器人在翻滾軸方向的步行控制的模式圖。
圖6是表示本實施方式中對翻滾軸方向的步行動作進行控制的步行控制裝置的結(jié)構(gòu)的圖。
圖7是用于說明本實施方式中通過步行控制裝置實現(xiàn)的翻滾軸方向的步行動作的流程圖。
圖8是用于說明上身部因外力傾斜時的以往的步行控制的模式圖。
圖9是用于說明上身部因外力傾斜時的本實施方式的步行控制的模式圖。
圖10是利用倒立擺對專利文獻1的步行控制進行說明的模式圖。
圖11是利用倒立擺對本實施方式的步行控制進行說明的模式圖。
具體實施方式
本發(fā)明的基礎(chǔ)知識
作為雙足步行機器人的平衡控制方法,廣為人知的是以力學(xué)觀點為基礎(chǔ)的被稱為零力矩點(以下略稱zmp)的平衡控制方法。
當(dāng)雙足步行機器人步行時,來自地球的重力和因步行發(fā)生的慣性力作用于雙足步行機器人。重力和慣性力的合力的軸與地面的交點因為其合力的力矩為0,故被稱為zmp。此外,作為來自地面的反作用力,地面反力作用于雙足步行機器人中著地的腳上。該地面反力作用的點被稱為地面反力作用點。當(dāng)雙足步行機器人保持理想的平衡狀態(tài)步行時,目標zmp和地面反力作用點相一致。即,通過使目標zmp和地面反力作用點相一致,能夠使雙足步行機器人在不失去平衡的狀態(tài)下穩(wěn)定地步行。
然而,在采用zmp的步行控制方法中,利用設(shè)置于腳掌的傳感器來檢測地面反力作用點從而保持平衡,但是在地面不平整、地面存在異物或凹凸的情況下容易變得不穩(wěn)定。此外,需要始終考慮到目標zmp來生成步態(tài),然而,在生成步態(tài)時,不能唯一地計算出與目標zmp相一致的軌道,一般通過收斂計算獲得近似的軌道,這會造成用于生成步態(tài)的計算量增大。而且,由于地面反力作用點是重要因素,并且步態(tài)計算較為困難,因此難以跟隨快速運動。進一步,也難以應(yīng)對因上身的任意運動帶來的重心位置的變化,遇到快速運動時容易失去平衡。
此外,如上所述,專利文獻1的步行控制裝置控制游腿使其以與傾斜的大小成比例的步幅朝向傾斜方向邁步。即,專利文獻1的步行控制裝置不是使軀體部分始終保持垂直,而是通過使游腿在要著地之前邁出與傾斜角度相對應(yīng)的步幅,從而確保游腿著地之后的穩(wěn)定性。
對于以往的步行控制裝置而言,例如,雙足步行機器人在用單腳接觸地面的狀態(tài)下受到外力,并在傾斜的狀態(tài)下恢復(fù)直立狀態(tài)時,有可能傾斜沒有完全恢復(fù)還留有傾斜或者傾斜會進一步增大。
為了解決上述問題,本發(fā)明的一種實施方式所涉及的步行控制方法是步行控制裝置的步行控制方法,用于控制雙足步行機器人的步行動作,該雙足步行機器人具備上身部、連接于所述上身部的第1腿部、連接于所述上身部的第2腿部、驅(qū)動所述第1腿部的第1驅(qū)動部及驅(qū)動所述第2腿部的第2驅(qū)動部,其中包括以下步驟:調(diào)整所述雙足步行機器人的重心位置以便所述雙足步行機器人能以規(guī)定的基準角度直立;在所述雙足步行機器人的步行動作中,取得表示所述上身部相對于所述基準角度的傾斜角度的信息;在所述第1腿部及所述第2腿部的任一方為了所述步行動作而沒有接觸地面的狀態(tài)下,根據(jù)所述傾斜角度使所述第1腿部及所述第2腿部動作,以便讓所述上身部相對于所述基準角度維持在規(guī)定的角度范圍內(nèi)。
根據(jù)上述結(jié)構(gòu),調(diào)整雙足步行機器人的重心位置以便雙足步行機器人能以規(guī)定的基準角度直立。在雙足步行機器人的步行動作中,取得表示上身部相對于基準角度的傾斜角度的信息。在第1腿部及第2腿部的任一方為了步行動作而沒有接觸地面的狀態(tài)下,根據(jù)傾斜角度使第1腿部及第2腿部動作,以便讓上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
因此,在第1腿部及第2腿部的任一方為了步行動而沒有接觸地面的狀態(tài)下,將上身部相對于可直立的規(guī)定的基準角度維持在規(guī)定的角度范圍內(nèi),因此能夠?qū)崿F(xiàn)穩(wěn)定的步行動作。
此外,在上述步行控制方法中,也可以是:當(dāng)使所述第1腿部及所述第2腿部動作以便讓所述上身部相對于所述基準角度維持在規(guī)定的角度范圍內(nèi)時,基于所述傾斜角度生成第1校正信號,該第1校正信號用于校正將所述上身部相對于所述基準角度維持在規(guī)定的角度范圍內(nèi)時的所述第1腿部及所述第2腿部的各自的動作;基于所述第1校正信號校正用于使所述第1腿部及所述第2腿部進行步行動作的控制信號,并將校正后的所述控制信號分別輸出到所述第1驅(qū)動部及所述第2驅(qū)動部。
根據(jù)上述結(jié)構(gòu),當(dāng)使第1腿部及第2腿部動作以便讓上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)時,基于傾斜角度生成第1校正信號,該第1校正信號用于校正將上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)時的第1腿部及第2腿部的各自的動作。基于第1校正信號校正用于使第1腿部及第2腿部進行步行動作的控制信號。校正后的控制信號分別輸出到第1驅(qū)動部及第2驅(qū)動部。
因此,通過根據(jù)第1校正信號校正用于使第1腿部及第2腿部進行步行動作的控制信號,能夠?qū)⑸仙聿肯鄬τ诨鶞式嵌染S持在規(guī)定的角度范圍內(nèi)。
此外,在上述步行控制方法中,也可以通過將第1校正量加到累計校正量來生成所述第1校正信號,其中,所述第1校正量是根據(jù)所述傾斜角度為了將所述上身部相對于所述基準角度維持在規(guī)定的角度范圍內(nèi)所計算出的校正量,所述累計校正量是到計算出所述第1校正量為止累計的校正量。
根據(jù)上述結(jié)構(gòu),通過將第1校正量加到累計校正量來生成所述第1校正信號,其中,所述第1校正量是根據(jù)傾斜角度為了將上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)所計算出的校正量,所述累計校正量是到計算出第1校正量為止累計的校正量。
因此,由于將與上身部的傾斜角度對應(yīng)的第1校正量累計到累計校正量來生成第1校正信號,能夠保持雙足步行機器人的穩(wěn)定點,實現(xiàn)穩(wěn)定的平衡控制。
此外,在上述步行控制方法中,也可以根據(jù)以規(guī)定時刻的所述傾斜角度為變量的第1函數(shù)來計算所述第1校正量。
根據(jù)上述結(jié)構(gòu),利用第1函數(shù),能夠容易地計算出對應(yīng)于上身部的傾斜角度的第1校正量。
此外,在上述步行控制方法中,也可以生成用于使所述第1腿部及所述第2腿部中的支撐腿進行步行動作的第1控制信號;生成用于使所述第1腿部及所述第2腿部中的游腿進行步行動作的第2控制信號;生成將所述第1控制信號和所述第1校正信號合成的第3控制信號,并將該第3控制信號輸出到所述第1腿部及所述第2腿部之中成為支撐腿的一方;生成將所述第2控制信號和所述第1校正信號合成的第4控制信號,并將該第4控制信號輸出到所述第1腿部及所述第2腿部之中成為游腿的那一方。
根據(jù)上述結(jié)構(gòu),生成用于使第1腿部及第2腿部中的支撐腿進行步行動作的第1控制信號;生成用于使第1腿部及第2腿部中的游腿進行步行動作的第2控制信號;生成將第1控制信號和第1校正信號合成的第3控制信號,并將該第3控制信號輸出到第1腿部及第2腿部之中成為支撐腿的一方;生成將第2控制信號和第1校正信號合成的第4控制信號,并將該第4控制信號輸出到第1腿部及第2腿部之中成為游腿的那一方。
因此,以將上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)的方式,能夠使第1腿部及第2腿部之中成為支撐腿的一方和第1腿部及第2腿部之中成為游腿的那一方進行動作。
此外,在上述步行控制方法中,也可以根據(jù)所述雙足步行機器人的前后方向的傾斜角度計算所述第1校正量及所述累計校正量;所述第1控制信號包含第1前后方向控制信號,該第1前后方向控制信號是在所述雙足步行機器人的步行動作中,用于使所述第1腿部及所述第2腿部之中的支撐腿向前后方向旋轉(zhuǎn)驅(qū)動的信號;所述第2控制信號包含第2前后方向控制信號,該第2前后方向控制信號是在所述雙足步行機器人的步行動作中,用于使所述第1腿部及所述第2腿部之中的游腿向前后方向旋轉(zhuǎn)驅(qū)動的信號;通過將所述第1校正信號加在所述第1前后方向控制信號,生成所述第3控制信號;通過從所述第2前后方向控制信號減去所述第1校正信號,生成所述第4控制信號。
采用上述結(jié)構(gòu),根據(jù)雙足步行機器人的前后方向的傾斜角度計算第1校正量及累計校正量。第1控制信號包含第1前后方向控制信號,該第1前后方向控制信號是在雙足步行機器人的步行動作中,用于使第1腿部及第2腿部之中的支撐腿向前后方向旋轉(zhuǎn)驅(qū)動的信號。第2控制信號包含第2前后方向控制信號,該第2前后方向控制信號是在雙足步行機器人的步行動作中,用于使第1腿部及第2腿部之中的游腿向前后方向旋轉(zhuǎn)驅(qū)動的信號。通過將第1校正信號加在第1前后方向控制信號,生成第3控制信號。另外,通過從第2前后方向控制信號減去第1校正信號,生成第4控制信號。
因此,由于根據(jù)雙足步行機器人的前后方向的傾斜角度計算第1校正量及累計校正量,能夠使第1腿部及第2腿部向前后方向驅(qū)動,將上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
此外,在上述步行控制方法中,也可以判斷基于所述第3控制信號的所述第1腿部或所述第2腿部的第1驅(qū)動量是否超過第1閾值;判斷基于所述第4控制信號的所述第1腿部或所述第2腿部的第2驅(qū)動量是否超過所述第1閾值;當(dāng)判斷為所述第1驅(qū)動量超過所述第1閾值時,將所述第1驅(qū)動量變更為所述第1閾值;當(dāng)判斷為所述第2驅(qū)動量超過所述第1閾值時,將所述第2驅(qū)動量變更為所述第1閾值。
根據(jù)上述結(jié)構(gòu),判斷基于第3控制信號的第1腿部或第2腿部的第1驅(qū)動量是否超過第1閾值;判斷基于第4控制信號的第1腿部或第2腿部的第2驅(qū)動量是否超過第1閾值;在被判斷為第1驅(qū)動量超過第1閾值的情況下,將第1驅(qū)動量變更為第1閾值。此外,在被判斷為第2驅(qū)動量超過第1閾值的情況下,將第2驅(qū)動量變更為第1閾值。
因此,可以控制為相對于支撐腿的第1驅(qū)動量和相對于游腿的第2驅(qū)動量都不會超過可驅(qū)動的第1閾值。
此外,在上述步行控制方法中,也可以是:當(dāng)所述雙足步行機器人被所述第1腿部及所述第2腿部支撐時,不計算所述第1校正量。
根據(jù)上述結(jié)構(gòu),當(dāng)雙足步行機器人被第1腿部及第2腿部支撐時,不計算第1校正,因此可以防止第1校正量與累計校正量相加所引起的步幅的變化。
此外,在上述步行控制方法中,也可以根據(jù)所述雙足步行機器人的左右方向的傾斜角度計算所述第1校正量及所述累計校正量;所述第1控制信號包含第1左右方向控制信號,該第1左右方向控制信號是在所述雙足步行機器人的步行動作中,用于使所述第1腿部及所述第2腿部之中的支撐腿向左右方向旋轉(zhuǎn)驅(qū)動的信號;所述第2控制信號包含第2左右方向控制信號,該第2左右方向控制信號是在所述雙足步行機器人的步行動作中,用于使所述第1腿部及所述第2腿部之中的游腿向左右方向旋轉(zhuǎn)驅(qū)動的信號;通過將所述第1校正信號加在所述第1左右方向控制信號,生成所述第3控制信號;通過將所述第1校正信號乘以規(guī)定的系數(shù)而得的第2校正信號與所述第2左右方向控制信號相加,從而生成所述第4控制信號。
采用上述結(jié)構(gòu),根據(jù)雙足步行機器人的左右方向的傾斜角度計算第1校正量及累計校正量。第1控制信號包含第1左右方向控制信號,該第1左右方向控制信號是在雙足步行機器人的步行動作中,用于使第1腿部及第2腿部之中的支撐腿向左右方向旋轉(zhuǎn)驅(qū)動的信號。第2控制信號包含第2左右方向控制信號,該第2左右方向控制信號是在雙足步行機器人的步行動作中,用于使第1腿部及第2腿部之中的游腿向左右方向旋轉(zhuǎn)驅(qū)動的信號。通過將第1校正信號加在第1左右方向控制信號,生成第3控制信號。此外,通過將第1校正信號乘以規(guī)定的系數(shù)而得的第2校正信號與第2左右方向控制信號相加,從而生成第4控制信號。
因此,由于根據(jù)雙足步行機器人的左右方向的傾斜角度計算第1校正量及累計校正量,能夠使第1腿部及第2腿部向左右方向驅(qū)動,將上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
此外,在上述步行控制方法中,也可以判斷基于所述第3控制信號的所述第1腿部或所述第2腿部的第1驅(qū)動量是否超過所述第1腿部及所述第2腿部相互干擾的第2閾值;判斷基于所述第4控制信號的所述第1腿部或所述第2腿部的第2驅(qū)動量是否超過所述第2閾值;當(dāng)判斷為所述第1驅(qū)動量超過所述第2閾值時,將所述第1驅(qū)動量變更為比所述第2閾值少的規(guī)定值;當(dāng)判斷為所述第2驅(qū)動量超過所述第2閾值時,將所述第2驅(qū)動量變更為比所述第2閾值少的規(guī)定值。
根據(jù)上述結(jié)構(gòu),判斷基于第3控制信號的第1腿部或第2腿部的第1驅(qū)動量是否超過第1腿部及第2腿部相互干擾的第2閾值;判斷基于第4控制信號的第1腿部或第2腿部的第2驅(qū)動量是否超過第2閾值。當(dāng)判斷為第1驅(qū)動量超過第2閾值時,將第1驅(qū)動量變更為比第2閾值少的規(guī)定值。此外,當(dāng)判斷為第2驅(qū)動量超過第2閾值時,將第2驅(qū)動量變更為比第2閾值少的規(guī)定值。
因此,可以控制為相對于支撐腿的第1驅(qū)動量和相對于游腿的第2驅(qū)動量都不會超過可驅(qū)動的第2閾值。
此外,在上述步行控制方法中,也可以是:當(dāng)表示所述雙足步行機器人步行的步行面的凹凸的值為規(guī)定值以下時,將所述規(guī)定的系數(shù)設(shè)為正值。
根據(jù)上述結(jié)構(gòu),通過將與第1校正信號相乘的規(guī)定的系數(shù)設(shè)為正值,能夠在凹凸較少的步行面上穩(wěn)定地步行。
此外,在上述步行控制方法中,也可以是:當(dāng)表示所述雙足步行機器人步行的步行面的凹凸的值大于規(guī)定值時,將所述規(guī)定的系數(shù)設(shè)為負值。
根據(jù)上述結(jié)構(gòu),通過將與第1校正信號相乘的規(guī)定的系數(shù)設(shè)為負值,能夠在有凹凸的步行面上穩(wěn)定地步行。
此外,在上述步行控制方法中,也可以是:當(dāng)檢測出所述上身部相對于所述第1腿部及所述第2腿部呈大致平行的直立狀態(tài)時,將所述累計校正量清除為零,再次生成所述第1控制信號及所述第2控制信號。
根據(jù)上述結(jié)構(gòu),當(dāng)檢測出上身部相對于第1腿部及第2腿部呈大致平行的直立狀態(tài)時,將累計校正量清除為零。并且,再次生成第1控制信號及第2控制信號。
因此,即使振動周期因為外力暫時發(fā)生變化,也能跟隨變化的振動周期,可以平穩(wěn)地繼續(xù)進行橫向的重心移動。
此外,在上述步行控制方法中,也可以存儲通過將所述第1校正信號與所述第1控制信號及所述第2控制信合成而發(fā)生的所述第1腿部及所述第2腿部的步幅的變化量;將所存儲的所述變化量與所述第1控制信號及所述第2控制信號相加;使所存儲的所述變化量隨著時間的推移減少最后成為零。
根據(jù)上述結(jié)構(gòu),存儲通過將第1校正信號與第1控制信號及第2控制信合成而發(fā)生的第1腿部及第2腿部的步幅的變化量,將所存儲的所述變化量與第1控制信號及第2控制信號相加。因此,當(dāng)將所存儲的累計校正量清除為零時,可以防止步幅發(fā)生急劇的變化。此外,所存儲的變化量隨著時間的推移減少,最后成為零。因此,可以恢復(fù)到以第1控制信號及第2控制信號為基準的步幅。
本發(fā)明的另一方面所涉及的記錄步行控制流程的記錄媒體,其中,步行控制流程用于控制雙足步行機器人的步行動作,該雙足步行機器人具備上身部、連接于所述上身部的第1腿部、連接于所述上身部的第2腿部、驅(qū)動所述第1腿部的第1驅(qū)動部及驅(qū)動所述第2腿部的第2驅(qū)動部,該步行控制流程包括:調(diào)整所述雙足步行機器人的重心位置,以便使所述雙足步行機器人可以規(guī)定的基準角度直立;;在所述雙足步行機器人的步行動作中取得表示所述上身部相對于所述基準角度的傾斜角度的信息;在所述第1腿部及所述第2腿部的任一方為了所述步行動作而沒有接觸地面的狀態(tài)下,根據(jù)所述傾斜角度使所述第1腿部及所述第2腿部動作,以便讓所述上身部相對于所述基準角度維持在規(guī)定的角度范圍內(nèi)。
根據(jù)上述結(jié)構(gòu),以可使雙足步行機器人直立的規(guī)定的基準角度對該雙足步行機器人的重心位置進行調(diào)整。在雙足步行機器人的步行動作中,取得表示上身部相對于基準角度的傾斜角度的信息。在第1腿部及第2腿部的任一方為了步行動作而沒有接觸地面的狀態(tài)下,根據(jù)傾斜角度使第1腿部及第2腿部動作,以便讓上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
因此,在第1腿部及第2腿部的任一方為了步行動作而沒有接觸地面的狀態(tài)下,將上身部相對于可直立的規(guī)定的基準角度維持在規(guī)定的角度范圍內(nèi),因此能夠?qū)崿F(xiàn)穩(wěn)定的步行動作。
本發(fā)明的其它實施方式所涉及的雙足步行機器人包括:上身部;連接于所述上身部的第1腿部;連接于所述上身部的第2腿部;驅(qū)動所述第1腿部的第1驅(qū)動部;驅(qū)動所述第2腿部的第2驅(qū)動部;取得部,在調(diào)整了雙足步行機器人的重心位置而雙足步行機器人以可直立的規(guī)定的基準角度步行動作中,取得表示所述上身部相對于所述基準角度的傾斜角度的信息;以及控制部,在所述第1腿部及所述第2腿部的任一方為了所述步行動作而沒有接觸地面的狀態(tài)下,根據(jù)所述傾斜角度使所述第1腿部及所述第2腿部動作,以便讓所述上身部相對于所述基準角度維持在規(guī)定的角度范圍內(nèi)。
根據(jù)上述結(jié)構(gòu),在調(diào)整了雙足步行機器人的重心位置而雙足步行機器人以可直立的規(guī)定的基準角度步行動作中,取得表示上身部相對于基準角度的傾斜角度的信息。在第1腿部及第2腿部的任一方為了步行動作而沒有接觸地面的狀態(tài)下,根據(jù)傾斜角度使第1腿部及第2腿部動作,以便讓上身部相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
因此,在第1腿部及第2腿部的任一方為了步行動作而沒有接觸地面的狀態(tài)下,將上身部相對于可直立的規(guī)定的基準角度維持在規(guī)定的角度范圍內(nèi),因此能夠?qū)崿F(xiàn)穩(wěn)定的步行動作。
下面,參照附圖說明本發(fā)明的實施方式。以下的實施方式是將本發(fā)明具體化的一種例子,并不用于限定本發(fā)明的技術(shù)范圍。
在上述的采用zmp的步行控制方法中,通過腳掌傳感器對地面反力作用點進行檢測對保持平衡極為重要。然而,在人的雙足步行中,與地面反力作用點相比,姿勢反射、特別是前庭脊髓反射中的緊張性迷路反射或強直性頸部反射等不經(jīng)意的反射對步行時的保持平衡發(fā)揮重要的作用。在不經(jīng)意的姿勢反射中,當(dāng)身體傾斜時,通過使傾斜側(cè)的腿伸長,并使相反側(cè)的腿彎曲,從而恢復(fù)姿勢。為了實現(xiàn)如生物一般的靈活的平衡控制,這種機制極為重要。通常,失去平衡跌倒的狀態(tài)也可以說是上身部大幅度傾斜的狀態(tài)。因此,如果可以將上身部始終保持垂直狀態(tài),就不會跌倒。
于是,在本實施方式中,在步行時上身部發(fā)生傾斜的情況下進行如下控制,即,通過將對應(yīng)于傾斜角度的校正量實時地疊加在髖關(guān)節(jié)致動器,可以將上身部的傾斜校正為垂直,從而上身部始終保持垂直狀態(tài)。
圖1是表示本實施方式的雙足步行機器人的結(jié)構(gòu)的圖。圖1所示的雙足步行機器人1包括上身部2、第1腿部3、第2腿部6、步行控制裝置10、傾斜角度檢測部11、第1俯仰(pitch)軸致動器12、第2俯仰軸致動器13、第1翻滾(roll)軸致動器14及第2翻滾軸致動器15。
上身部2模仿人的上身(軀體)。第1腿部3模仿人的一方的腿,其連接于上身部2。第2腿部6模仿人的另一方的腿,其連接于上身部2。
第1俯仰軸致動器12、第2俯仰軸致動器13、第1翻滾軸致動器14及第2翻滾軸致動器15設(shè)置于將上身部2與第1腿部3及第2腿部6相連接的髖關(guān)節(jié)。另外,雙足步行機器人1不僅具有髖關(guān)節(jié),還具有膝關(guān)節(jié)及踝關(guān)節(jié)等,但是這些關(guān)節(jié)與本實施方式的步行動作無關(guān),因此省略其說明。
第1俯仰軸致動器12繞俯仰軸旋轉(zhuǎn)驅(qū)動第1腿部3。第2俯仰軸致動器13繞俯仰軸旋轉(zhuǎn)驅(qū)動第2腿部6。
第1翻滾軸致動器14繞翻滾軸旋轉(zhuǎn)驅(qū)動第1腿部3。第2翻滾軸致動器15繞翻滾軸旋轉(zhuǎn)驅(qū)動第2腿部6。
例如,傾斜角度檢測部11是三軸陀螺儀,檢測上身部2在俯仰軸方向的傾斜角度及上身部2在翻滾軸方向的傾斜角度。
步行控制裝置10控制雙足步行機器人1的步行動作。雙足步行機器人1的重心位置被調(diào)整成可使雙足步行機器人1以規(guī)定的基準角度直立。步行控制裝置10,根據(jù)由傾斜角度檢測部11檢測出的上身部2在俯仰軸方向的傾斜角度來使第1腿部3及第2腿部6動作,以使上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
首先,說明對本實施方式的俯仰軸方向(前后方向)的步行動作進行控制的步行控制裝置。
圖2是用于說明本實施方式的雙足步行機器人在俯仰軸方向的步行控制的模式圖。在圖2中,從側(cè)面觀察雙足步行機器人1。在圖2中,上身部2和第1腿部3通過髖關(guān)節(jié)7相連接,上身部2和第2腿部6通過髖關(guān)節(jié)8相連接,在髖關(guān)節(jié)7及髖關(guān)節(jié)8分別設(shè)有繞俯仰軸旋轉(zhuǎn)驅(qū)動的致動器。例如,第1腿部3是步行時接觸地面的支撐腿,第2腿部6是步行時沒有接觸地面的游腿。
在此,通過致動器實現(xiàn)的髖關(guān)節(jié)7、8的角度變更與上身部2相對于重力方向的傾斜角度的變化相配合。
通常,致動器以10ms左右的時間間隔進行控制。在某時刻t,當(dāng)上身部2相對于垂直線5的俯仰軸方向的傾斜角度為δθx,基本步行動作的支撐腿側(cè)的俯仰軸髖關(guān)節(jié)角度為θ0t-1時,通過將時刻t的基本步行動作的控制量θ0t加在值ixt上,從而計算被更新的支撐腿側(cè)的俯仰軸髖關(guān)節(jié)角度a0t(a0t=θ0t+ixt),其中,所述值ixt是將傾斜校正量αδθx(α為系數(shù))加在直到上次為止的累計值ixt-1上的值(=ixt-1+αδθx)。
此外,也可以通過與支撐腿側(cè)的俯仰軸髖關(guān)節(jié)角度a0t同樣的處理來計算游腿側(cè)的俯仰軸髖關(guān)節(jié)角度a1t,但是值ixt的符號成為相反。因此,通過從時刻t的基本步行動作的控制量θ1t減去值ixt來計算被更新的游腿側(cè)的俯仰軸髖關(guān)節(jié)角度a1t(a1t=θ1t-ixt),其中,所述值ixt是將傾斜校正量αδθx(α為系數(shù))加在直到上次為止的累計值ixt-1上的值(=ixt-1+αδθx)。
用于使傾斜角度δθx最小化的校正方法相當(dāng)于pid(proportional-integral-differential,比例-積分-微分)控制的積分項,ixt=ixt-1+αδθx對應(yīng)于積分項。專利文獻1的技術(shù)采用pid控制的比例項。
接著,說明對本實施方式的俯仰軸方向的步行動作進行控制的步行控制裝置。
圖3是表示本實施方式中對俯仰軸方向的步行動作進行控制的步行控制裝置的結(jié)構(gòu)的圖。
步行控制裝置10具備俯仰軸傾斜角度取得部100及俯仰軸控制部101。
俯仰軸傾斜角度取得部100,在雙足步行機器人1的步行動作中取得表示上身部2相對于基準角度的傾斜角度的信息。俯仰軸傾斜角度取得部100取得由傾斜角度檢測部11檢測出的上身部2在俯仰軸方向的傾斜角度δθx。
在第1腿部3及第2腿部6的任一方為了步行動作而沒有接觸地面的狀態(tài)下,俯仰軸控制部101根據(jù)傾斜角度使第1腿部3及第2腿部6動作,以便讓上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)。特別是,在第1腿部3及第2腿部6的任一方為了步行動作而沒有接觸地面的狀態(tài)下,俯仰軸控制部101根據(jù)俯仰軸方向的傾斜角度使第1腿部3及第2腿部6動作,以便讓上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
俯仰軸控制部101具備俯仰軸校正量累計部103、存儲部104、第1俯仰軸控制信號生成部105、第1合成部106、第2俯仰軸控制信號生成部107及第2合成部108。
俯仰軸校正量累計部103,當(dāng)使第1腿部3及第2腿部6動作以便讓上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)時,基于俯仰軸方向的傾斜角度δθx生成第1俯仰軸校正信號,該第1俯仰軸校正信號用于校正將上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)時的第1腿部3及第2腿部6的各自的動作。俯仰軸校正量累計部103通過將第1校正量加到累計校正量ix來生成第1俯仰軸校正信號,其中,第1校正量是根據(jù)俯仰軸方向的傾斜角度δθx為了將上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)所計算出的校正量,所述累計校正量ix是到計算出第1校正量為止累計的校正量。其中,根據(jù)雙足步行機器人1的前后方向(俯仰軸方向)的傾斜角度來計算第1校正量及累計校正量。
俯仰軸校正量累計部103,根據(jù)以規(guī)定時刻的傾斜角度δθx為變量的第1函數(shù)f1(δθx)計算第1校正量。此外,第1函數(shù)f1(δθx)也可以是將傾斜角度δθx乘以規(guī)定的系數(shù)α的函數(shù)(αδθx),還可以是將傾斜角度δθx的正弦函數(shù)乘以規(guī)定的系數(shù)α而得的函數(shù)(α·sin(δθx))。
如上所述,第1俯仰軸校正信號可被表示為累計校正量ix(=ix+f1(δθx))。
存儲部104用于存儲由俯仰軸校正量累計部103計算的累計校正量ix。
第1俯仰軸控制信號生成部105生成用于使第1腿部3及第2腿部6中的支撐腿進行步行動作的第1俯仰軸控制信號。第1俯仰軸控制信號生成部105生成以角度θ0作為控制量的第1俯仰軸控制信號,所述角度θ0是以髖關(guān)節(jié)為中心使支撐腿向俯仰軸方向旋轉(zhuǎn)時的角度。
第1合成部106生成將第1俯仰軸控制信號(θ0)和第1俯仰軸校正信號(ix)合成的第3俯仰軸控制信號(a0),并將第3俯仰軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為支撐腿的一方的支撐腿側(cè)俯仰軸致動器109。第1合成部106通過將第1俯仰軸校正信號加在第1俯仰軸控制信號來生成第3俯仰軸控制信號。
支撐腿側(cè)俯仰軸致動器109是第1俯仰軸致動器12及第2俯仰軸致動器13中的任一個,根據(jù)第3俯仰軸控制信號使第1腿部3及第2腿部6之中成為支撐腿的腿部向俯仰軸方向旋轉(zhuǎn)驅(qū)動。
第2俯仰軸控制信號生成部107生成用于使第1腿部3及第2腿部6中的游腿進行步行動作的第2俯仰軸控制信號。第2俯仰軸控制信號生成部107生成以角度θ1作為控制量的第2俯仰軸控制信號,所述角度θ1是以髖關(guān)節(jié)為中心使游腿向俯仰軸方向旋轉(zhuǎn)時的角度。
第2合成部108生成將第2俯仰軸控制信號(θ1)和第1俯仰軸校正信號(ix)合成的第4俯仰軸控制信號(a1),并將第4俯仰軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為游腿的那一方的游腿側(cè)俯仰軸致動器110。第2合成部108通過從第2俯仰軸控制信號減去第1俯仰軸校正信號來生成第4俯仰軸控制信號。
這樣,第1合成部106及第2合成部108根據(jù)第1校正信號校正用于使第1腿部3及第2腿部6進行步行動作的第1俯仰軸控制信號及第2俯仰軸控制信號,將校正后的第3俯仰軸控制信號及第4俯仰軸控制信號分別輸出到用于驅(qū)動第1腿部3的第1俯仰軸致動器12及用于驅(qū)動第2腿部6的第2俯仰軸致動器13。
游腿側(cè)俯仰軸致動器110是第1俯仰軸致動器12及第2俯仰軸致動器13中的任一個,根據(jù)第4俯仰軸控制信號使第1腿部3及第2腿部6之中成為游腿的腿部向俯仰軸方向旋轉(zhuǎn)驅(qū)動。
這樣,將與第1俯仰軸控制信號θ0相加的第1俯仰軸校正信號ix的符號設(shè)為正,將與第2俯仰軸控制信號θ1相加的第1俯仰軸校正信號ix的符號設(shè)為負,通過使相加的第1俯仰軸校正信號ix的符號彼此相反,即使步幅發(fā)生變化,也能始終將雙足步行機器人1的重心位置維持在步幅的中心。
另外,在雙足步行機器人1被第1腿部3及第2腿部6支撐的情況下,第1合成部106及第2合成部108不需計算第1校正量。在此情況下,由于不計算第1校正量,累計校正量固定不變。因此,第1合成部106生成將第1俯仰軸控制信號和存儲在存儲部104中的表示累計校正量的第1俯仰軸校正信號合成的第3俯仰軸控制信號。此外,第2合成部108生成將第2俯仰軸控制信號和存儲在存儲部104中的表示累計校正量的第1俯仰軸校正信號合成的第4俯仰軸控制信號。
接著,對本實施方式中通過步行控制裝置實現(xiàn)的俯仰軸方向的步行動作進行說明。
圖4是用于說明本實施方式中通過步行控制裝置實現(xiàn)的俯仰軸方向的步行動作的流程圖。
首先,在步驟s1,傾斜角度檢測部11檢測上身部2相對于垂直線的俯仰軸方向的傾斜角度。
接著,在步驟s2,俯仰軸傾斜角度取得部100取得由傾斜角度檢測部11檢測出的俯仰軸方向的傾斜角度。
然后,在步驟s3,俯仰軸校正量累計部103通過將第1校正量加到累計校正量來生成第1俯仰軸校正信號,其中,第1校正量是根據(jù)所取得的俯仰軸方向的傾斜角度為了將上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)所計算出的校正量,所述累計校正量是到計算出第1校正量為止累計的校正量。俯仰軸校正量累計部103將累計校正量存儲在存儲部104,并且,將所生成的第1俯仰軸校正信號輸出到第1合成部106及第2合成部108。
接著,在步驟s4,第1俯仰軸控制信號生成部105生成用于使第1腿部3及第2腿部6中的支撐腿進行俯仰軸方向的步行動作的第1俯仰軸控制信號。
然后,在步驟s5,第2俯仰軸控制信號生成部107生成用于使第1腿部3及第2腿部6中的游腿進行俯仰軸方向的步行動作的第2俯仰軸控制信號。
接著,在步驟s6,第1合成部106生成將由俯仰軸校正量累計部103生成的第1俯仰軸校正信號與由第1俯仰軸控制信號生成部105生成的第1俯仰軸控制信號相加的第3俯仰軸控制信號。第1合成部106將所生成的第3俯仰軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為支撐腿的腿部的支撐腿側(cè)俯仰軸致動器109。
接著,在步驟s7,第2合成部108生成從第2俯仰軸控制信號生成部107所生成的第2俯仰軸控制信號減去由俯仰軸校正量累計部103生成的第1俯仰軸校正信號的第4俯仰軸控制信號。第2合成部108將所生成的第4俯仰軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為游腿的腿部的游腿側(cè)俯仰軸致動器110。
接著,在步驟s8,支撐腿側(cè)俯仰軸致動器109根據(jù)由第1合成部106生成的第3俯仰軸控制信號,驅(qū)動第1腿部3及第2腿部6之中成為支撐腿的腿部。
然后,在步驟s9,游腿側(cè)俯仰軸致動器110根據(jù)由第2合成部108生成的第4俯仰軸控制信號,驅(qū)動第1腿部3及第2腿部6之中成為游腿的腿部。之后,返回到步驟s1的處理,控制通過步行控制裝置10實現(xiàn)的俯仰軸方向的步行動作。
這樣,根據(jù)基本步行動作,支撐腿和游腿輪換交替,并且與髖關(guān)節(jié)、膝關(guān)節(jié)及踝的俯仰軸相對應(yīng)的致動器被驅(qū)動。此時,如果上身部相對于垂直線在俯仰軸方向傾斜δθx,則將δθx乘以系數(shù)α而得的αδθx加在累計校正量ix,并將累計校正量ix(=ix+αδθx)加在伴隨基本步行動作的雙足的髖關(guān)節(jié)俯仰軸驅(qū)動量θ0、θ1上。
另外,俯仰軸控制部101還可以具備:第1判斷部,判斷基于第3俯仰軸控制信號的第1腿部3或第2腿部6的第1驅(qū)動量是否超過第1閾值;第2判斷部,判斷基于第4俯仰軸控制信號的第1腿部3或第2腿部6的第2驅(qū)動量是否超過第1閾值;第1變更部,在被判斷為第1驅(qū)動量超過第1閾值的情況下,將第1驅(qū)動量變更為第1閾值;以及第2變更部,在被判斷為第2驅(qū)動量超過第1閾值的情況下,將第2驅(qū)動量變更為第1閾值。
此時,第1判斷部及第1變更部也可以按照第1驅(qū)動量的符號變更第1閾值的符號,第2判斷部及第2變更部也可以按照第2驅(qū)動量的符號變更第1閾值的符號。此外,第1判斷部也可以對第1驅(qū)動量的絕對值和第1閾值進行比較,第2判斷部也可以對第2驅(qū)動量的絕對值和第1閾值進行比較。
接著,說明對本實施方式的翻滾軸方向(左右方向)的步行動作進行控制的步行控制裝置。
在步行時,當(dāng)使腿從接觸地面的狀態(tài)即立腿相切換到離開地面的狀態(tài)即游腿相時,或者從游腿相切換到立腿相時,需要在左右方向上穩(wěn)定地進行重心移動。
在步行狀態(tài)下,腿的左右間隔比腿的前后間隔(步幅)窄,因此必須使左右的重心移動良好地與從立腿相向游腿相轉(zhuǎn)移瞬間的抬腿時機同步,否則失去橫向的平衡,有可能導(dǎo)致跌倒。
為了實現(xiàn)穩(wěn)定的橫向重心移動,需要針對各機器人分別設(shè)定符合其機體的振幅d和周期τ,但僅僅如此,因外部擾動、機器人本身的機構(gòu)松動或擾亂等影響,還難以維持穩(wěn)定的左右重心移動。
于是,在本實施方式中,除了實現(xiàn)周期性的橫向重心移動的橫向基本步行動作,還對橫向的傾斜進行校正以使上身部成為垂直,從而使步行動作穩(wěn)定。
圖5是用于說明本實施方式的雙足步行機器人在翻滾軸方向的步行控制的模式圖。在圖5中,從正面觀察雙足步行機器人1。在圖5中,上身部2和第1腿部3通過髖關(guān)節(jié)7相連接,上身部2和第2腿部6通過髖關(guān)節(jié)8相連接,在髖關(guān)節(jié)7及髖關(guān)節(jié)8分別設(shè)有繞翻滾軸旋轉(zhuǎn)驅(qū)動的致動器。例如,第1腿部3是步行時接觸地面的支撐腿,第2腿部6是步行時沒有接觸地面的游腿。
在某時刻t,當(dāng)上身部2相對于垂直線5的左右方向(翻滾軸方向)的傾斜角度為δθy,基本步行動作的支撐腿側(cè)的翻滾軸髖關(guān)節(jié)角度為θ0t-1時,通過將時刻t的基本步行動作的控制量θ0t加在值iyt上,從而計算被更新的支撐腿側(cè)的翻滾軸髖關(guān)節(jié)角度b0t,其中,所述值iyt是將傾斜校正量βδθy(β為系數(shù))加在直到上次為止的累計值iyt-1上的值(=iyt-1+βδθx)。
此外,通過將累計值iyt和系數(shù)γ的乘積加在時刻t的基本步行動作的翻滾軸髖關(guān)節(jié)角度θ1t上來計算游腿側(cè)的翻滾軸髖關(guān)節(jié)角度b1t(b1t=θ1t+γiyt)。另外,在系數(shù)γ為1的情況下,即使對傾斜進行校正,游腿和支撐腿也相對于橫向彼此平行地被驅(qū)動,成為適合于起伏較少的地板上面等的穩(wěn)定的步態(tài)。另一方面,在系數(shù)γ為負值的情況下,當(dāng)對傾斜進行校正時,游腿和支撐腿相對于橫向朝著彼此相反的方向被驅(qū)動,即使在地面不平整的情況下也能容易地保持平衡。
圖6是表示本實施方式中對翻滾軸方向的步行動作進行控制的步行控制裝置的結(jié)構(gòu)的圖。
步行控制裝置10具備翻滾軸傾斜角度取得部200及翻滾軸控制部201。
翻滾軸傾斜角度取得部200,在雙足步行機器人1的步行動作中取得表示上身部2相對于基準角度的傾斜角度的信息。翻滾軸傾斜角度取得部200取得由傾斜角度檢測部11檢測出的上身部2在翻滾軸方向的傾斜角度δθy。
在第1腿部3及第2腿部6的任一方為了步行動作而沒有接觸地面的狀態(tài)下,翻滾軸控制部201根據(jù)傾斜角度使第1腿部3及第2腿部6動作,以便讓上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)。特別是,在第1腿部3及第2腿部6的任一方為了步行動作而沒有接觸地面的狀態(tài)下,翻滾軸控制部201根據(jù)翻滾軸方向的傾斜角度使第1腿部3及第2腿部6動作,以便讓上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)。
翻滾軸控制部201具備翻滾軸校正量累計部203、存儲部204、第1翻滾軸控制信號生成部205、第1合成部206、第2翻滾軸控制信號生成部207、校正增益乘法部208及第2合成部209。
翻滾軸校正量累計部203,當(dāng)使第1腿部3及第2腿部6動作以便讓上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)時,基于翻滾軸方向的傾斜角度δθy生成第1翻滾軸校正信號,該第1翻滾軸校正信號用于校正將上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)時的第1腿部3及第2腿部6的各自的動作。翻滾軸校正量累計部203通過將第1校正量加到累計校正量iy上來生成第1翻滾軸校正信號,其中,所述第1校正量是根據(jù)翻滾軸方向的傾斜角度δθy為了將上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)所計算出的校正量,所述累計校正量iy是到計算出第1校正量為止累計的校正量。其中,根據(jù)雙足步行機器人1的左右方向(翻滾軸方向)的傾斜角度來計算第1校正量及累計校正量。
翻滾軸校正量累計部203,根據(jù)以規(guī)定時刻的傾斜角度δθy為變量的第1函數(shù)f1(δθy)計算第1校正量。另外,第1函數(shù)f1(δθy)也可以是將傾斜角度δθy乘以規(guī)定的系數(shù)β的函數(shù)(βδθy),還可以是將傾斜角度δθy的正弦函數(shù)乘以規(guī)定的系數(shù)β而得的函數(shù)(β·sin(δθy))。
如上所述,第1翻滾軸校正信號可被表示為累計校正量iy(=iy+f1(δθy))。
存儲部204用于存儲由翻滾軸校正量累計部203計算的累計校正量iy。
第1翻滾軸控制信號生成部205生成用于使第1腿部3及第2腿部6中的支撐腿進行步行動作的第1翻滾軸控制信號。第1翻滾軸控制信號生成部205生成以角度θ0作為控制量的第1翻滾軸控制信號,所述角度θ0是以髖關(guān)節(jié)為中心使支撐腿向翻滾軸方向旋轉(zhuǎn)時的角度。
第1合成部206生成將第1翻滾軸控制信號(θ0)和第1翻滾軸校正信號(iy)合成的第3翻滾軸控制信號(b0),并將第3翻滾軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為支撐腿的一方的支撐腿側(cè)翻滾軸致動器210。第1合成部206通過將第1翻滾軸校正信號加在第1翻滾軸控制信號上來生成第3翻滾軸控制信號。
支撐腿側(cè)翻滾軸致動器210是第1翻滾軸致動器14及第2翻滾軸致動器15中的任一個,根據(jù)第3翻滾軸控制信號使第1腿部3及第2腿部6之中成為支撐腿的腿部向翻滾軸方向旋轉(zhuǎn)驅(qū)動。
第2翻滾軸控制信號生成部207生成用于使第1腿部3及第2腿部6中的游腿進行步行動作的第2翻滾軸控制信號。第2翻滾軸控制信號生成部207生成以角度θ1作為控制量的第2翻滾軸控制信號,所述角度θ1是以髖關(guān)節(jié)為中心使游腿向翻滾軸方向旋轉(zhuǎn)時的角度。
校正增益乘法部208通過將第1翻滾軸校正信號(iy)乘以規(guī)定的系數(shù)(γ)來生成第2翻滾軸校正信號(γiy)。
另外,當(dāng)表示雙足步行機器人1步行的步行面的凹凸的值為規(guī)定值以下時,校正增益乘法部208將規(guī)定的系數(shù)γ設(shè)為正值。在此情況下,雙足步行機器人1具備用于將步行面的凹凸數(shù)值化來檢測的傳感器。由此,即使對傾斜進行校正,例如系數(shù)γ為1的情況下,游腿和支撐腿也相對于橫向彼此平行地被驅(qū)動,可在起伏較少的步行面上實現(xiàn)穩(wěn)定的步態(tài)。此外,當(dāng)表示雙足步行機器人1步行的步行面的凹凸的值大于規(guī)定值時,校正增益乘法部208將規(guī)定的系數(shù)γ設(shè)為負值。由此,當(dāng)對傾斜進行校正時,游腿和支撐腿相對于橫向朝著彼此相反的方向被驅(qū)動,即使在地面不平整的情況下也能容易地保持平衡。
第2合成部209生成將第2翻滾軸控制信號(θ1)和第2翻滾軸校正信號(γiy)合成的第4翻滾軸控制信號(b1),并將第4滾軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為游腿的那一方的游腿側(cè)翻滾軸致動器211。第2合成部209通過將第1翻滾軸校正信號乘以規(guī)定的系數(shù)而得的第2翻滾軸校正信號與第2翻滾軸控制信號相加,從而生成第4翻滾軸控制信號。
游腿側(cè)翻滾軸致動器211是第1翻滾軸致動器14及第2翻滾軸致動器15中的任一個,根據(jù)第4翻滾軸控制信號使第1腿部3及第2腿部6之中成為游腿的腿部向翻滾軸方向旋轉(zhuǎn)驅(qū)動。
這樣,第1翻滾軸控制信號生成部205及第2翻滾軸控制信號生成部207連續(xù)生成作為驅(qū)動模式的第1翻滾軸控制信號θ0及第2翻滾軸控制信號θ1,通過將作為傾斜校正量的第1翻滾軸校正信號iy及第2翻滾軸校正信號γiy疊加在所述第1翻滾軸控制信號θ0及第2翻滾軸控制信號θ1,從而能夠使上身部2保持垂直。
此外,當(dāng)檢測出上身部2相對于第1腿部3及第2腿部6呈大致平行的直立狀態(tài)時,翻滾軸校正量累計部203也可以將存儲在存儲部204的累計校正量清除為零。接著,第1翻滾軸控制信號生成部205也可以再次生成第1翻滾軸控制信號,第2翻滾軸控制信號生成部207也可以再次生成第2翻滾軸控制信號。由此,即使振動周期因為外力暫時發(fā)生變化,也能跟隨變化的振動周期,可以平穩(wěn)地繼續(xù)進行橫向的重心移動。另外,當(dāng)再度生成第1翻滾軸控制信號及第2翻滾軸控制信號時,保持相對于左右腿部的支撐腿和游腿的輪換順序。
此外,第1翻滾軸控制信號生成部205及第2翻滾軸控制信號生成部207也可以存儲通過將第1翻滾軸校正信號與第1翻滾軸控制信號合成,并將第2翻滾軸校正信號與第2翻滾軸控制信號合成而發(fā)生的第1腿部3及第2腿部6的步幅的變化量。第1翻滾軸控制信號生成部205將所存儲的變化量加在第1翻滾軸控制信號。第2翻滾軸控制信號生成部207將所存儲的變化量加在第2翻滾軸控制信號。由此,當(dāng)將存儲于存儲部204中的累計校正量清除為零時,可以防止步幅發(fā)生急劇的變化。此外,第1翻滾軸控制信號生成部205及第2翻滾軸控制信號生成部207使所存儲的變化量隨著時間的推移而減少最后成為零。由此,可以恢復(fù)到以第1翻滾軸控制信號及第2翻滾軸控制信號為基準的步幅。
此外,在雙足步行機器人1被第1腿部3及第2腿部6支撐的情況下,第1合成部206及第2合成部209不需計算第1校正量。在此情況下,由于不計算第1校正量,累計校正量固定不變。因此,第1合成部206生成將第1翻滾軸控制信號和存儲在存儲部204中的表示累計校正量的第1翻滾軸校正信號合成的第3翻滾軸控制信號。此外,第2合成部209生成將第2翻滾軸控制信號和存儲在存儲部204中的表示累計校正量的第1翻滾軸校正信號合成的第4翻滾軸控制信號。
接著,對本實施方式中通過步行控制裝置實現(xiàn)的翻滾軸方向的步行動作進行說明。
圖7是用于說明本實施方式中通過步行控制裝置實現(xiàn)的翻滾軸方向的步行動作的流程圖。
首先,在步驟s21,傾斜角度檢測部11檢測上身部2相對于垂直線的翻滾軸方向的傾斜角度。
接著,在步驟s22,翻滾軸傾斜角度取得部200取得由傾斜角度檢測部11檢測出的翻滾軸方向的傾斜角度。
然后,在步驟s23,翻滾軸校正量累計部203通過將第1校正量加到累計校正量來生成第1翻滾軸校正信號,其中,第1校正量是根據(jù)所取得的翻滾軸方向的傾斜角度為了將上身部2相對于基準角度維持在規(guī)定的角度范圍內(nèi)所計算出的校正量,所述累計校正量是到計算出第1校正量為止累計的校正量。翻滾軸校正量累計部203將累計校正量存儲在存儲部204,并將所生成的第1翻滾軸校正信號輸出到第1合成部206及校正增益乘法部208。
接著,在步驟s24,第1翻滾軸控制信號生成部205生成用于使第1腿部3及第2腿部6中的支撐腿進行翻滾軸方向的步行動作的第1翻滾軸控制信號。
然后,在步驟s25,第2翻滾軸控制信號生成部207生成用于使第1腿部3及第2腿部6中的游腿進行翻滾軸方向的步行動作的第2翻滾軸控制信號。
接著,在步驟s26,第1合成部206生成將由翻滾軸校正量累計部203生成的第1翻滾軸校正信號與由第1翻滾軸控制信號生成部205生成的第1翻滾軸控制信號相加的第3翻滾軸控制信號。第1合成部206將所生成的第3翻滾軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為支撐腿的腿部的支撐腿側(cè)翻滾軸致動器210。
接著,在步驟s27,校正增益乘法部208生成將由翻滾軸校正量累計部203生成的第1翻滾軸校正信號乘以規(guī)定的系數(shù)的第2翻滾軸校正信號。校正增益乘法部208將所生成的第2翻滾軸校正信號輸出到第2合成部209。
接著,在步驟s28,第2合成部209生成將由校正增益乘法部208生成的第2翻滾軸校正信號與由第2翻滾軸控制信號生成部207生成的第2翻滾軸控制信號相加的第4翻滾軸控制信號。第2合成部209將所生成的第4翻滾軸控制信號輸出到用于驅(qū)動第1腿部3及第2腿部6之中成為游腿的腿部的游腿側(cè)翻滾軸致動器211。
接著,在步驟s29,支撐腿側(cè)翻滾軸致動器210根據(jù)由第1合成部206生成的第3翻滾軸控制信號,驅(qū)動第1腿部3及第2腿部6之中成為支撐腿的腿部。
然后,在步驟s30,游腿側(cè)翻滾軸致動器211根據(jù)由第2合成部209生成的第4翻滾軸控制信號,驅(qū)動第1腿部3及第2腿部6之中成為游腿的腿部。之后,返回到步驟s21的處理,控制通過步行控制裝置10實現(xiàn)的翻滾軸方向的步行動作。
另外,翻滾軸控制部201還可以具備:第1判斷部,判斷基于第3翻滾軸控制信號的第1腿部3或第2腿部6的第1驅(qū)動量是否超過第1腿部3和第2腿部6相互干擾的第2閾值;第2判斷部,判斷基于第4翻滾軸控制信號的第1腿部3或第2腿部6的第2驅(qū)動量是否超過第2閾值;以及第1變更部,在被判斷為第1驅(qū)動量超過第2閾值的情況下,將第1驅(qū)動量變更為比第2閾值少的規(guī)定值;以及第2變更部,在被判斷為第2驅(qū)動量超過第2閾值的情況下,將第2驅(qū)動量變更為比第2閾值少的規(guī)定值。
此時,第1判斷部及第1變更部也可以按照第1驅(qū)動量的符號變更第2閾值的符號,第2判斷部及第2變更部也可以按照第2驅(qū)動量的符號變更第2閾值的符號。此外,第1判斷部也可以對第1驅(qū)動量的絕對值和第2閾值進行比較,第2判斷部也可以對第2驅(qū)動量的絕對值和第2閾值進行比較。
在此,對以往的步行控制和本實施方式的步行控制的區(qū)別進行說明。
圖8是用于說明上身部因外力傾斜時的以往的步行控制的模式圖,圖9是用于說明上身部因外力傾斜時的本實施方式的步行控制的模式圖。
如圖8所示,對于以往的步行控制裝置而言,例如,雙足步行機器人在用單腳接觸地面的狀態(tài)下從橫向受到外力之后,在上身傾斜θa度的狀態(tài)下恢復(fù)直立姿勢時,存在傾斜沒有完全恢復(fù)還留有部分傾斜,或者傾斜會進一步增大,因此有可能發(fā)生雙足步行機器人跌倒的情況。
另一方面,如圖9所示,對于本實施方式的步行控制裝置而言,雙足步行機器人例如在用單腳接觸地面的狀態(tài)下從橫向受到外力之后,在上身傾斜δθ的狀態(tài)下恢復(fù)直立姿勢時,因為以使上身部成為垂直的方式校正傾斜,能夠防止雙足步行機器人失去平衡而跌倒的情況。
因此,本實施方式的雙足步行機器人無需在腳掌上設(shè)置傳感器,就可實現(xiàn)能夠承受外力的步行動作。此外,本實施方式的步行控制裝置與以往的步行控制裝置不同,不需進行針對目標zmp的收斂計算,因此能迅速計算軌道。此外,本實施方式的步行控制裝置也可以應(yīng)對上身部的任意運動帶來的重心位置的變化,即使是快速運動也能夠容易地跟隨。進一步,本實施方式的步行控制裝置故意向前傾斜,通過賦予向前方向的傾斜,能夠自然地開始步行或者改變步行速度。
進一步,對專利文獻1的步行控制和本實施方式的步行控制的區(qū)別進行說明。
圖10是利用倒立擺對專利文獻1的步行控制進行說明的模式圖,圖11是利用倒立擺對本實施方式的步行控制進行說明的模式圖。
首先,對專利文獻1的步行控制進行說明。如圖10所示,在時刻t=0的初始姿勢時,臺車位置為x0,倒立擺的傾斜e為0。此時,控制量k為x0。接著,在時刻t=1時,如果臺車位置為x0,倒立擺的傾斜e成為θ1,則控制量k為x0+αθ1=x1,使臺車向倒立擺傾斜的方向移動距離(x1-x0)。然后,在時刻t=2,如果臺車位置為x1,倒立擺的傾斜e成為0,則控制量k為x0,使臺車向相反的方向移動距離(x0-x1),返回到初始位置。之后,在時刻t=3,由于臺車通過在時刻t=2時的控制返回到初始位置,因此傾斜e成為θ2,傾斜校正變得無效。此時,通常是θ1<θ2。
這樣,專利文獻1的步行控制方法不是使上身部始終保持垂直,而是通過使游腿在要著地之前邁出與傾斜角度相對應(yīng)的步幅,從而確保游腿著地之后的穩(wěn)定性。
下面,對本實施方式的步行控制進行說明。如圖11所示,在時刻t=0的初始姿勢時,臺車位置為x0,倒立擺的傾斜e為0。此時,校正累計值i=0,控制量k=x0+i=x0+0=x0。接著,在時刻t=1時,如果臺車位置為x0,倒立擺的傾斜e成為θ1,則成為校正累計值i=i+αθ1,控制量k=x0+i=x0+αθ1=x1,使臺車向倒立擺傾斜的方向移動距離(x1-x0)。然后,在時刻t=2,如果臺車位置為x1,倒立擺的傾斜e成為0,則成為校正累計值i=i+0,控制量k=x0+i=x1,臺車的位置不變。之后,在時刻t=3,如果倒立擺的傾斜e為0,則臺車的位置不變,在不施加外力的情況下,倒立擺的傾斜e一直被維持在0。
這樣,本實施方式的步行控制方法累計校正量,因此,在校正后將校正量與校正累計值i相加,加入到固定值,從而保持雙足步行機器人的穩(wěn)定,能夠?qū)崿F(xiàn)穩(wěn)定的平衡控制。
即,以往技術(shù)是控制對固定的標準步行動作施加與上身部的傾斜角度相對應(yīng)的校正量(比例控制),而本發(fā)明是控制對固定的標準步行動作施加與上身部的傾斜角度相對應(yīng)的校正量的累計值(積分控制),這兩者的動作是完全不同的。
另外,上述實施方式中的各構(gòu)成要素也可以由專用的硬件構(gòu)成,還可以通過執(zhí)行符合各構(gòu)成要素的軟件程序來實現(xiàn)。對于各構(gòu)成要素而言,也可以由cpu或處理器等程序執(zhí)行部讀出并執(zhí)行記錄在硬盤或半導(dǎo)體存儲器等計算機可讀取的記錄媒體中的軟件程序,來實現(xiàn)各構(gòu)成要素的動作或功能。
此外,當(dāng)實現(xiàn)各構(gòu)成要素的動作或功能時使用的數(shù)據(jù)也可以記錄在半導(dǎo)體存儲器或硬盤等可寫記錄媒體中。
本發(fā)明所涉及的步行控制方法、記錄步行控制流程的記錄媒體及雙足步行機器人能夠?qū)崿F(xiàn)穩(wěn)定的步行動作,它們作為對雙足步行機器人的步行動作進行控制的步行控制方法、記錄步行控制流程的記錄媒體及雙足步行機器人而有用。