(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024025624
(43)【公開日】2024-02-26
(54)【発明の名称】二足ロボットの制御方法及び装置、二足ロボット、読み取り可能な記憶媒体
(51)【国際特許分類】
B25J 5/00 20060101AFI20240216BHJP
【FI】
B25J5/00 F
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022210536
(22)【出願日】2022-12-27
(31)【優先権主張番号】202210957726.9
(32)【優先日】2022-08-10
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】523392349
【氏名又は名称】ベイジン シャオミ ロボット テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】シェ,イェン
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS27
3C707CS08
3C707KS06
3C707KS22
3C707KS34
3C707KS38
3C707LS15
3C707WA13
3C707WK03
3C707WK08
(57)【要約】 (修正有)
【課題】本開示は、二足ロボットの制御方法及び装置、二足ロボット、読み取り可能な記憶媒体に関する。
【解決手段】この方法は、二足ロボットの支持期間を取得するステップと、二足ロボットの重心の支持期間末における前方向速度と横方向速度とを取得するステップと、前方向速度と横方向速度とに基づいて、二足ロボットの支持足の足関節のモーメントベクトルを取得するステップと、モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するステップと、目標モーメントベクトルに基づいて二足ロボットの運動を制御するステップと、を含む。足関節のモーメントベクトルによって二足ロボットの重心の前方向運動及び横方向運動を制御することにより、二足を制御する効果を達し、二次計画によって二足ロボットの全身運動を制御することができるため、二足ロボットがすべて全駆動状態になるようにし、ロバスト性が強い。
【選択図】
図1
【特許請求の範囲】
【請求項1】
二足ロボットの制御方法であって、
現在の状態での前記二足ロボットの支持期間を取得するステップと、
前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップと、
前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップと、
前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するステップと、
前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御するステップと、を含む、
ことを特徴とする二足ロボットの制御方法。
【請求項2】
現在の状態での前記二足ロボットの支持期間を取得するステップは、
現在の時刻及び前記二足ロボットの揺動足が受ける地面の法線分力を取得するステップと、
前記現在の時刻が第1の条件または第2の条件を満たすか否かを判断し、前記現在の時刻及び前記法線分力が第3の条件を満たすか否かを判断するステップであって、前記第1の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長との合計を超えることを指し、前記第2の条件とは現在の時刻が二足支持期の開始時刻と二足支持期の時間長との合計を超えることを指し、前記第3の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長の半分との合計を超え、かつ、前記法線分力が予め設定された係数と前記二足ロボットの重力との積よりも大きいことを指すステップと、
前記現在の時刻が前記第1の条件を満たしているまたは前記現在の時刻及び前記法線分力が前記第3の条件を満たしている場合前記二足ロボットが二足支持期にあると決定し、前記現在の時刻が前記第2の条件を満たしている場合、前記二足ロボットが片足支持期にあると決定するステップと、を含む、
ことを特徴とする請求項1に記載の二足ロボットの制御方法。
【請求項3】
前記支持期間は片足支持期を含み、前記前方向速度は第1の予測前方向速度を含み、前記横方向速度は第1の予測横方向速度を含み、
前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップは、
前記二足ロボットの重心の前記二足ロボットに対する第1の前方向位置と第1の前方向速度及び第1の横方向位置と第1の横方向速度を取得するステップと、
第1の予め設定された前方向速度モデル、前記第1の前方向位置及び前記第1の前方向速度に基づいて、前記二足ロボットの第1の予測前方向速度を推定し、第1の予め設定された横方向速度モデル、前記第1の横方向位置及び前記第1の横方向速度に基づいて、前記二足ロボットの第1の予測横方向速度を推定するステップと、を含む、
ことを特徴とする請求項1に記載の二足ロボットの制御方法。
【請求項4】
前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップは、
現在の状態での片足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度、及び現在の状態での前記重心の次の歩の前方向速度と次の歩の横方向速度を取得するステップと、
現在の歩の前方向速度、現在の歩の横方向速度、次の歩の前方向速度及び次の歩の横方向速度に基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップと、を含む、
ことを特徴とする請求項3に記載の二足ロボットの制御方法。
【請求項5】
前記片足支持期末における重心に対する前記支持足の揺動足の現在の歩の前方向変位と現在の歩の横方向変位とを取得するステップと、
前記揺動足の現在の歩の前方向変位、前記重心の現在の歩の前方向速度及び前記第1の予測前方向速度に基づいて、前記揺動足の次の歩の前方向速度と次の歩の横方向速度とを取得するステップと、をさらに含む、
ことを特徴とする請求項4に記載の二足ロボットの制御方法。
【請求項6】
前記支持期間は二足支持期を含み、前記前方向速度は第2の予測前方向速度を含み、前記横方向速度は第2の予測横方向速度を含み、
前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップは、
前記二足ロボットの重心の前記二足ロボットに対する第2の前方向位置と第2の前方向速度及び第2の横方向位置と第2の横方向速度を取得するステップと、
第2の予め設定された前方向速度モデル、前記第2の前方向位置及び前記第2の前方向速度に基づいて、前記二足ロボットの第2の予測前方向速度を推定し、第2の予め設定された横方向速度モデル、前記第2の横方向位置及び前記第2の横方向速度に基づいて、前記二足ロボットの第2の予測横方向速度を推定するステップと、を含む、
ことを特徴とする請求項1に記載の二足ロボットの制御方法。
【請求項7】
前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップは、
現在の状態での二足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するステップと、
前記現在の歩の前方向速度と前記第2の予測前方向速度とに基づいて、第1の支持足のモーメントベクトルを取得し、前記現在の歩の横方向速度と前記第2の予測横方向速度とに基づいて、第2の支持足のモーメントベクトルを取得するステップであって、前記第1の支持足とは前記二足支持期の前の片足支持期の支持足を指し、前記第2の支持足とは前記二足支持期の前の片足支持期の揺動足を指すステップと、を含む、
ことを特徴とする請求項6に記載の二足ロボットの制御方法。
【請求項8】
前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するステップは、
前記予め設定された二次計画モデルと前記モーメントベクトルとに基づいて、前記二足ロボットの広義の加速度ベクトルと前記二足ロボットの二足が受ける外力ベクトルとを取得するステップと、
前記広義の加速度ベクトル、前記外力ベクトル及び予め設定された逆動力学モデルに基づいて、前記二足ロボットの各足関節の目標モーメントベクトルを取得するステップと、を含む、
ことを特徴とする請求項1に記載の二足ロボットの制御方法。
【請求項9】
二足ロボットの制御装置であって、
現在の状態での前記二足ロボットの支持期間を取得するための支持期取得モジュールと、
前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するための現在速度取得モジュールと、
前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するためのモーメントベクトル取得モジュールと、
前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するための目標モーメント取得モジュールと、
前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御するための目標モーメント取得モジュールロボット制御モジュールと、を含む、
ことを特徴とする二足ロボットの制御装置。
【請求項10】
前記支持期取得モジュールは、
現在の時刻を取得するための時刻取得サブモジュールと、
前記二足ロボットの揺動足が受ける地面の法線分力を取得するための法線分力取得サブモジュールと、
前記現在の時刻が第1の条件または第2の条件を満たすか否かを判断し、前記現在の時刻及び前記法線分力が第3の条件を満たすか否かを判断するための条件判断サブモジュールであって、前記第1の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長との合計を超えることを指し、前記第2の条件とは現在の時刻が二足支持期の開始時刻と二足支持期の時間長との合計を超えることを指し、前記第3の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長の半分との合計を超え、かつ、前記法線分力が予め設定された係数と前記二足ロボットの重力との積よりも大きいことを指す条件判断サブモジュールと、
前記現在の時刻が前記第1の条件を満たしているまたは前記現在の時刻及び前記法線分力が前記第3の条件を満たしている場合、前記二足ロボットが二足支持期にあると決定し、前記現在の時刻が前記第2の条件を満たしている場合、前記二足ロボットが片足支持期にあると決定するための支持期決定サブモジュールと、を含む、
ことを特徴とする請求項9に記載の二足ロボットの制御装置。
【請求項11】
前記支持期間は片足支持期を含み、前記前方向速度は第1の予測前方向速度を含み、前記横方向速度は第1の予測横方向速度を含み、
前記現在速度取得モジュールは、
前記二足ロボットの重心の前記二足ロボットに対する第1の前方向位置と第1の前方向速度及び第1の横方向位置と第1の横方向速度を取得するための位置速度取得サブモジュールと、
第1の予め設定された前方向速度モデル、前記第1の前方向位置及び前記第1の前方向速度に基づいて、前記二足ロボットの第1の予測前方向速度を推定するための第1の前方向速度取得サブモジュールと、
第1の予め設定された横方向速度モデル、前記第1の横方向位置及び前記第1の横方向速度に基づいて、前記二足ロボットの第1の予測横方向速度を推定するための第1の横方向速度取得サブモジュールと、を含む、
ことを特徴とする請求項9に記載の二足ロボットの制御装置。
【請求項12】
前記モーメントベクトル取得モジュールは、
現在の状態での片足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するための現在の歩の速度取得サブモジュールと、
現在の状態での前記重心の次の歩の前方向速度と次の歩の横方向速度とを取得するための次の歩の速度取得サブモジュールと、
現在の歩の前方向速度、現在の歩の横方向速度、次の歩の前方向速度及び次の歩の横方向速度に基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するためのモーメントベクトル取得サブモジュールと、を含む、
ことを特徴とする請求項11に記載の二足ロボットの制御装置。
【請求項13】
前記片足支持期末における重心に対する前記支持足の揺動足の現在の歩の前方向変位と現在の歩の横方向変位とを取得するための揺動足変位取得モジュールと、
前記揺動足の現在の歩の前方向変位、前記重心の現在の歩の前方向速度及び前記第1の予測前方向速度に基づいて、前記揺動足の次の歩の前方向速度と次の歩の横方向速度とを取得するための次の歩の速度取得モジュールと、をさらに含む、
ことを特徴とする請求項12に記載の二足ロボットの制御装置。
【請求項14】
前記支持期間は二足支持期を含み、前記前方向速度は第2の予測前方向速度を含み、前記横方向速度は第2の予測横方向速度を含み、
前記現在速度取得モジュールは、
前記二足ロボットの重心の前記二足ロボットに対する第2の前方向位置と第2の前方向速度及び第2の横方向位置と第2の横方向速度を取得するための位置速度取得サブモジュールと、
第2の予め設定された前方向速度モデル、前記第2の前方向位置及び前記第2の前方向速度に基づいて、前記二足ロボットの第2の予測前方向速度を推定するための第2の前方向速度取得サブモジュールと、
第2の予め設定された横方向速度モデル、前記第2の横方向位置及び前記第2の横方向速度に基づいて、前記二足ロボットの第2の予測横方向速度を推定するための第2の横方向速度取得サブモジュールと、を含む、
ことを特徴とする請求項9に記載の二足ロボットの制御装置。
【請求項15】
前記モーメントベクトル取得モジュールは、
現在の状態での二足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するための現在の歩の速度取得サブモジュールと、
前記現在の歩の前方向速度と前記第2の予測前方向速度とに基づいて、第1の支持足のモーメントベクトルを取得するための第1のモーメントベクトル取得サブモジュールと、
前記現在の歩の横方向速度と前記第2の予測横方向速度とに基づいて、第2の支持足のモーメントベクトルを取得するための第2のモーメントベクトル取得サブモジュールであって、前記第1の支持足とは前記二足支持期の前の片足支持期の支持足を指し、前記第2の支持足とは前記二足支持期の前の片足支持期の揺動足を指す第2のモーメントベクトル取得サブモジュールと、を含む、
ことを特徴とする請求項14に記載の二足ロボットの制御装置。
【請求項16】
前記目標モーメント取得モジュールは、
前記予め設定された二次計画モデルと前記モーメントベクトルとに基づいて、前記二足ロボットの広義の加速度ベクトルと前記二足ロボットの二足が受ける外力ベクトルとを取得するためのベクトル取得サブモジュールと、
前記広義の加速度ベクトル、前記外力ベクトル及び予め設定された逆動力学モデルに基づいて、前記二足ロボットの各足関節の目標モーメントベクトルを取得するための目標モーメント取得サブモジュールと、を含む、
ことを特徴とする請求項9に記載の二足ロボットの制御装置。
【請求項17】
二足ロボットであって、
メモリとプロセッサとを含み、
前記メモリは前記プロセッサによって実行可能なコンピュータプログラムを記憶するために使用され、
前記プロセッサは、請求項1~8のいずれかに記載の二足ロボットの制御方法を実現するように、前記メモリにおけるコンピュータプログラムを実行するために使用される、
ことを特徴とする二足ロボット。
【請求項18】
非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記記憶媒体における実行可能なコンピュータプログラムがプロセッサによって実行される場合、請求項1~8のいずれかに記載の二足ロボットの制御方法を実現できる、
ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御技術の分野に関し、特に二足ロボットの制御方法及び装置、二足ロボット、読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
現在、移動ロボットは生活の中で重要な役割を果たし、人々に様々な便利を提供している。このうち、移動ロボットは、ホイール式、キャタピラー式及び二足ロボットに分けられ、ホイール式とキャタピラー式のロボットはは起伏が大きく、複雑で多様な地形環境での使用が大きく制限されており、例えば砂利の地面、起伏の大きい地面などは通行に影響を及ぼす。二足ロボットは地面に触れるだけで働くことができ、地面に対する要求が低いため、より良い使用の見通しを持っている。
【0003】
二足ロボットが二足/擬似ロボットであることを例にとると、そのバイオニックの構造的特徴に基づいて、より複雑な地形と作業環境に適応し、人の代わりに危険または反復的な作業を行うことができる。二足/擬似ロボットの歩行と走行は往々にして高い非線形性、駆動不足、混合連続システム及び離散システムの特徴を持っているため、適切な二足ロボットの歩行制御方法は特に重要である。
【0004】
運動では、外界の接触環境が構造化または非構造化であっても、地形が理想的であっても起伏があっても、二足ロボットの動力学は本質的に駆動不足である。これは、(1)足式運動の歩容には片足支持期(Single Support Phase、SSP)が不可避的に存在し、(2)支持足は接触面からの支持力と摩擦力しか受けられなく、すなわち、地面が二足ロボットに引っ張り力を加えることができないためである。そのため、高ダイナミックな運動の場合、片足支持期には、二足ロボットの支持脚のすべての駆動可能自由度はフローティングベース(または重心運動量)の完全な制御を実現できない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、関連技術の不足を解決するために、二足ロボットの制御方法及び装置、二足ロボット、読み取り可能な記憶媒体を提供する。
【0006】
本開示の実施例の第1の態様によれば、二足ロボットの制御方法を提供し、前記方法は、現在の状態での前記二足ロボットの支持期間を取得するステップと、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップと、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップと、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するステップと、前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御するステップと、を含む。
【0007】
選択的に、現在の状態での前記二足ロボットの支持期間を取得するステップは、現在の時刻及び前記二足ロボットの揺動足が受ける地面の法線分力を取得するステップと、前記現在の時刻が第1の条件または第2の条件を満たすか否かを判断し、前記現在の時刻及び前記法線分力が第3の条件を満たすか否かを判断するステップであって、前記第1の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長との合計を超えることを指し、前記第2の条件とは現在の時刻が二足支持期の開始時刻と二足支持期の時間長との合計を超えることを指し、前記第3の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長の半分との合計を超え、かつ、前記法線分力が予め設定された係数と前記二足ロボットの重力との積よりも大きいことを指すステップと、前記現在の時刻が前記第1の条件を満たしているまたは前記現在の時刻及び前記法線分力が前記第3の条件を満たしている場合、前記二足ロボットが二足支持期にあると決定し、前記現在の時刻が前記第2の条件を満たしている場合、前記二足ロボットが片足支持期にあると決定するステップと、を含む。
【0008】
選択的に、前記支持期間は片足支持期を含み、前記前方向速度は第1の予測前方向速度を含み、前記横方向速度は第1の予測横方向速度を含み、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップは、前記二足ロボットの重心の前記二足ロボットに対する第1の前方向位置と第1の前方向速度及び第1の横方向位置と第1の横方向速度を取得するステップと、第1の予め設定された前方向速度モデル、前記第1の前方向位置及び前記第1の前方向速度に基づいて、前記二足ロボットの第1の予測前方向速度を推定し、第1の予め設定された横方向速度モデル、前記第1の横方向位置及び前記第1の横方向速度に基づいて、前記二足ロボットの第1の予測横方向速度を推定するステップと、を含む。
【0009】
選択的に、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップは、現在の状態での片足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度、及び現在の状態での前記重心の次の歩の前方向速度と次の歩の横方向速度を取得するステップと、現在の歩の前方向速度、現在の歩の横方向速度、次の歩の前方向速度及び次の歩の横方向速度に基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップと、を含む。
【0010】
選択的に、前記方法は、前記片足支持期末における重心に対する前記支持足の揺動足の現在の歩の前方向変位と現在の歩の横方向変位とを取得するステップと、前記揺動足の現在の歩の前方向変位、前記重心の現在の歩の前方向速度及び前記第1の予測前方向速度に基づいて、前記揺動足の次の歩の前方向速度と次の歩の横方向速度とを取得するステップと、をさらに含む。
【0011】
選択的に、前記支持期間は二足支持期を含み、前記前方向速度は第2の予測前方向速度を含み、前記横方向速度は第2の予測横方向速度を含み、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップは、前記二足ロボットの重心の前記二足ロボットに対する第2の前方向位置と第2の前方向速度及び第2の横方向位置と第2の横方向速度を取得するステップと、第2の予め設定された前方向速度モデル、前記第2の前方向位置及び前記第2の前方向速度に基づいて、前記二足ロボットの第2の予測前方向速度を推定し、第2の予め設定された横方向速度モデル、前記第2の横方向位置及び前記第2の横方向速度に基づいて、前記二足ロボットの第2の予測横方向速度を推定するステップと、を含む。
【0012】
選択的に、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップは、現在の状態での二足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するステップと、前記現在の歩の前方向速度と前記第2の予測前方向速度とに基づいて、第1の支持足のモーメントベクトルを取得し、前記現在の歩の横方向速度と前記第2の予測横方向速度とに基づいて、第2の支持足のモーメントベクトルを取得するステップであって、前記第1の支持足とは前記二足支持期の前の片足支持期の支持足を指し、前記第2の支持足とは前記二足支持期の前の片足支持期の揺動足を指すステップと、を含む。
【0013】
選択的に、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するステップは、前記予め設定された二次計画モデルと前記モーメントベクトルとに基づいて、前記二足ロボットの広義の加速度ベクトルと前記二足ロボットの二足が受ける外力ベクトルとを取得するステップと、前記広義の加速度ベクトル、前記外力ベクトル及び予め設定された逆動力学モデルに基づいて、前記二足ロボットの各足関節の目標モーメントベクトルを取得するステップと、を含む。
【0014】
本開示の実施例の第2の態様によれば、二足ロボットの制御装置を提供し、前記装置は、現在の状態での前記二足ロボットの支持期間を取得するための支持期取得モジュールと、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するための現在速度取得モジュールと、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するためのモーメントベクトル取得モジュールと、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するための目標モーメント取得モジュールと、前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御するためのロボット制御モジュールと、を含む。
【0015】
選択的に、前記支持期取得モジュールは、現在の時刻を取得するための時刻取得サブモジュールと、前記二足ロボットの揺動足が受ける地面の法線分力を取得するための法線分力取得サブモジュールと、前記現在の時刻が第1の条件または第2の条件を満たすか否かを判断し、前記現在の時刻及び前記法線分力が第3の条件を満たすか否かを判断するための条件判断サブモジュールであって、前記第1の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長との合計を超えることを指し、前記第2の条件とは現在の時刻が二足支持期の開始時刻と二足支持期の時間長との合計を超えることを指し、前記第3の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長の半分との合計を超え、かつ、前記法線分力が予め設定された係数と前記二足ロボットの重力との積よりも大きいことを指す条件判断サブモジュールと、前記現在の時刻が前記第1の条件を満たしているまたは前記現在の時刻及び前記法線分力が前記第3の条件を満たしている場合、前記二足ロボットが二足支持期にあると決定し、前記現在の時刻が前記第2の条件を満たしている場合、前記二足ロボットが片足支持期にあると決定するための支持期決定サブモジュールと、を含む。
【0016】
選択的に、前記支持期間は片足支持期を含み、前記前方向速度は第1の予測前方向速度を含み、前記横方向速度は第1の予測横方向速度を含み、前記現在速度取得モジュールは、前記二足ロボットの重心の前記二足ロボットに対する第1の前方向位置と第1の前方向速度及び第1の横方向位置と第1の横方向速度を取得するための位置速度取得サブモジュールと、第1の予め設定された前方向速度モデル、前記第1の前方向位置及び前記第1の前方向速度に基づいて、前記二足ロボットの第1の予測前方向速度を推定するための第1の前方向速度取得サブモジュールと、第1の予め設定された横方向速度モデル、前記第1の横方向位置及び前記第1の横方向速度に基づいて、前記二足ロボットの第1の予測横方向速度を推定するための第1の横方向速度取得サブモジュールと、を含む。
【0017】
選択的に、前記モーメントベクトル取得モジュールは、現在の状態での片足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するための現在の歩の速度取得サブモジュールと、現在の状態での前記重心の次の歩の前方向速度と次の歩の横方向速度とを取得するための次の歩の速度取得サブモジュールと、現在の歩の前方向速度、現在の歩の横方向速度、次の歩の前方向速度及び次の歩の横方向速度に基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するためのモーメントベクトル取得サブモジュールと、を含む。
【0018】
選択的に、前記装置は、前記片足支持期末における重心に対する前記支持足の揺動足の現在の歩の前方向変位と現在の歩の横方向変位とを取得するための揺動足変位取得モジュールと、前記揺動足の現在の歩の前方向変位、前記重心の現在の歩の前方向速度及び前記第1の予測前方向速度に基づいて、前記揺動足の次の歩の前方向速度と次の歩の横方向速度とを取得するための次の歩の速度取得モジュールと、をさらに含む。
【0019】
選択的に、前記支持期間は二足支持期を含み、前記前方向速度は第2の予測前方向速度を含み、前記横方向速度は第2の予測横方向速度を含み、前記現在速度取得モジュールは、前記二足ロボットの重心の前記二足ロボットに対する第2の前方向位置と第2の前方向速度及び第2の横方向位置と第2の横方向速度を取得するための位置速度取得サブモジュールと、第2の予め設定された前方向速度モデル、前記第2の前方向位置及び前記第2の前方向速度に基づいて、前記二足ロボットの第2の予測前方向速度を推定するための第2の前方向速度取得サブモジュールと、第2の予め設定された横方向速度モデル、前記第2の横方向位置及び前記第2の横方向速度に基づいて、前記二足ロボットの第2の予測横方向速度を推定するための第2の横方向速度取得サブモジュールと、を含む。
【0020】
選択的に、前記モーメントベクトル取得モジュールは、現在の状態での二足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するための現在の歩の速度取得サブモジュールと、前記現在の歩の前方向速度と前記第2の予測前方向速度とに基づいて、第1の支持足のモーメントベクトルを取得するための第1のモーメントベクトル取得サブモジュールと、前記現在の歩の横方向速度と前記第2の予測横方向速度とに基づいて、第2の支持足のモーメントベクトルを取得するための第2のモーメントベクトル取得サブモジュールであって、前記第1の支持足とは前記二足支持期の前の片足支持期の支持足を指し、前記第2の支持足とは前記二足支持期の前の片足支持期の揺動足を指す第2のモーメントベクトル取得サブモジュールと、を含む。
【0021】
選択的に、前記目標モーメント取得モジュールは、前記予め設定された二次計画モデルと前記モーメントベクトルとに基づいて、前記二足ロボットの広義の加速度ベクトルと前記二足ロボットの二足が受ける外力ベクトルとを取得するためのベクトル取得サブモジュールと、前記広義の加速度ベクトル、前記外力ベクトル及び予め設定された逆動力学モデルに基づいて、前記二足ロボットの各足関節の目標モーメントベクトルを取得するための目標モーメント取得サブモジュールと、を含む。
【0022】
本開示の実施例の第3の態様によれば、二足ロボットを提供し、メモリとプロセッサとを含み、前記メモリは前記プロセッサによって実行可能なコンピュータプログラムを記憶するために使用され、前記プロセッサは、上記方法を実現するように、前記メモリにおけるコンピュータプログラムを実行するために使用される。
【0023】
本開示の実施例の第4の態様によれば、非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記記憶媒体における実行可能なコンピュータプログラムがプロセッサによって実行される場合、上記方法を実現できる。
【0024】
本開示の実施例によって提供される技術案は、以下の有益な効果を含むことができる。
本開示の実施例によって提供される方案では、現在の状態での前記二足ロボットの支持期間を取得し、そして、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得し、その後、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得し、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得し、最後に、前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御することができる。このように、本実施例では、足関節のモーメントベクトルによって二足ロボットの重心の前方向運動及び横方向運動を制御することにより、二足を制御する効果を達し、また、本実施例では、二次計画によって二足ロボットの全身運動を制御することができるため、(全駆動と駆動不足の)二足ロボットがすべて全駆動状態になり、ロバスト性が強い。
【0025】
なお、上記一般的な説明及び後文の詳細な説明は、単なる例示的及び解釈的なものであり、本開示を限定するものではない。
【図面の簡単な説明】
【0026】
ここでの図面は、明細書に組み込まれ、本明細書の一部として構成され、本開示に適合する実施例を示し、明細書とともに本開示の原理を説明するために使用される。
【
図1】例示的な一実施例によって示される二足ロボットの制御方法のフローチャートである。
【
図2】例示的な一実施例によって示される片足支持期と二足支持期の概略図である。
【
図3】例示的な一実施例によって示される二足ロボットが片足支持期にあると取得し決定するフローチャートである。
【
図4】例示的な一実施例によって示される第1の予測前方向速度と第1の予測横方向速度とを取得するフローチャートである。
【
図5】例示的な一実施例によって示される重心と接触面との間の高さの概略図である。
【
図6】例示的な一実施例によって示される第2の予測前方向速度と第2の予測横方向速度とを取得するフローチャートである。
【
図7】例示的な一実施例によって示される片足支持期の足関節のモーメントベクトルを取得するフローチャートである。
【
図8】例示的な一実施例によって示される次の歩の前方向速度と次の歩の横方向速度とを取得するフローチャートである。
【
図9】例示的な一実施例によって示される支持足のモーメントベクトルを取得するフローチャートである。
【
図10】例示的な一実施例によって示される各関節の目標モーメントベクトルを取得するフローチャートである。
【
図11】例示的な一実施例によって示される別の二足ロボットの制御方法のフローチャートである。
【
図12】例示的な一実施例によって示される二足ロボットの制御装置のブロック図である。
【発明を実施するための形態】
【0027】
ここで、例示的な実施例を詳細に説明し、その例を図面に示す。以下の説明が図面に関連する場合、別段の表現がない限り、異なる図面の同じ数字は同じまたは類似の要素を表す。以下の例示的に説明された実施例は、本発明の実施例と一致する全ての実施例を表すものではない。むしろ、それらは、添付の請求項の範囲に詳細に記載された、本発明の実施例のいくつかの態様と一致する装置及び方法の例にすぎない。なお、衝突しない場合、後述する実施例および実施形態における特徴は互いに組み合わせることができる。
【0028】
現在、移動ロボットは生活の中で重要な役割を果たし、人々に様々な便利を提供している。このうち、移動ロボットは、ホイール式、キャタピラー式及び二足ロボットに分けられ、ホイール式とキャタピラー式のロボットはは起伏が大きく、複雑で多様な地形環境での使用が大きく制限されており、例えば砂利の地面、起伏の大きい地面などは通行に影響を及ぼす。二足ロボットは地面に触れるだけで働くことができ、地面に対する要求が低いため、より良い使用の見通しを持っている。
【0029】
二足ロボットが二足/擬似ロボットであることを例にとると、そのバイオニックの構造的特徴に基づいて、より複雑な地形と作業環境に適応し、人の代わりに危険または反復的な作業を行うことができる。二足/擬似ロボットの歩行と走行は往々にして高い非線形性、駆動不足、混合連続システム及び離散システムの特徴を持っているため、適切な二足ロボットの歩行制御方法は特に重要である。
【0030】
運動では、外界の接触環境が構造化または非構造化であっても、地形が理想的であっても起伏があっても、二足ロボットの動力学は本質的に駆動不足である。これは、(1)足式運動の歩容には片足支持期(Single Support Phase、 SSP)が不可避的に存在し、(2)支持足は接触面からの支持力と摩擦力しか受けられなく、すなわち、地面が二足ロボットに引っ張り力を加えることができないためである。そのため、高ダイナミックな運動の場合、片足支持期には、二足ロボットの支持脚のすべての駆動可能自由度はフローティングベース(または重心運動量)の完全な制御を実現できない。
【0031】
上記技術的課題を解決するために、本開示の実施例は、二足ロボットの制御方法及び装置、二足ロボット、読み取り可能な記憶媒体を提供し、二足ロボットに適用できる。この二足ロボットは、0、1または2つの足関節を含むことができ、各足部に2つの足関節がある場合、足部のピッチとロールの両方向の運動を制御でき、全駆動状態に属し、各足部に0または1つの足関節がある場合、足部のピッチとロールの両方向の運動を制御できず、駆動不足状態に属する。説明の便宜上、後述する実施例における二足ロボットは全駆動状態と駆動不足状態のロボットを含む。本開示のアイデアは、足関節のモーメントベクトルと足落ち点の選択によって、二足ロボットの重心の前方向速度(運動)及び横方向速度(運動)を制御することである。ここで、重心とは二足ロボットの質量の中心を指す。
【0032】
あるいは、支持足の足関節のモーメントの制御によって片足支持期(Single Support Phase、SSP)末及び二足支持期(Double Support Phase、DSP)末の時刻の重心速度を追跡し、すなわちSSP末の時刻での足落ち点の選択によってSSP開始時刻の重心の支持足に対する位置を間接的に制御することにより、予測制御の効果を達する。
【0033】
そして、他の計画されたワークスペースに対する軌跡追跡(例えば重心の高さ、フローティングベース(例えばロボットの胴体)の姿勢角、揺動足の位置と姿勢など)は、二次計画に基づく全身運動制御によって実現され、二次計画モデルでは上記重心制御を等式拘束とすることができる。本開示の実施例では、先に分解して融合する制御方式により、二足ロボットの片足支持期における高さとフローティングベースの姿勢を全駆動状態に確保することができ、完全に制御できる効果を達し、ロバスト性が強く、全駆動と駆動不足状態の二足ロボットの動的歩行制御に適応できる。
【0034】
図1は例示的な一実施例によって示される二足ロボットの制御方法であり、
図1を参照して、二足ロボットの制御方法は、ステップ11~ステップ15を含む。
【0035】
ステップ11では、現在の状態での前記二足ロボットの支持期間を取得する。
【0036】
本実施例では、二足ロボットのプロセッサは、現在の状態での二足ロボットの支持期間を取得することができる。なお、上記支持期間は片足支持期と二足支持期とを含む。
図2を参照して、二足ロボットは、片足支持期において地面と接触する支持足(左図中左脚)と地面から離脱する揺動脚(左図の右脚)とを含み、二足ロボットは、二足支持期において地面と接触する2本の支持脚(右図の左脚と右脚)を含む。なお、二足支持期が片足支持期から転じたことを考慮すると、後続に二足支持期内の一方の支持足である片足支持期内の支持足を第1の支持足と呼び、二足支持期内の他方の支持足である片足支持期内の揺動足を第2の支持足と呼ぶ。
【0037】
本実施例では、プロセッサが、二足ロボットの揺動足が地面に落ちたか否かで二足ロボットの支持期間を決定するステップは、
図3を参照して、ステップ31~ステップ33を含む。
【0038】
ステップ31では、プロセッサは、現在の時刻及び二足ロボットの揺動足が受ける地面の法線分力を取得することができる。
【0039】
ステップ32では、プロセッサは、現在の時刻が第1の条件または第2の条件を満たすか否かを判断し、前記現在の時刻及び前記法線分力が第3の条件を満たすか否かを判断することができる。前記第1の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長との合計を超えることを指し、片足支持期の開始時刻と片足支持期の時間長との合計は片足支持期の終了時刻であり、前記第2の条件とは現在の時刻が二足支持期の開始時刻と二足支持期の時間長との合計を超えることを指し、二足支持期の開始時刻と二足支持期の時間長との合計は二足支持期の終了時刻であり、前記第3の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長の半分との合計を超え、かつ、前記法線分力が予め設定された係数と前記二足ロボットの重力との積よりも大きいことを指す。片足支持期の開始時刻と片足支持期の時間長の半分との合計は片足支持期の半分の終了時刻である。
【0040】
ステップ33では、プロセッサは、前記現在の時刻が前記第1の条件を満たしているまたは前記現在の時刻及び前記法線分力が前記第3の条件を満たしている場合、前記二足ロボットが二足支持期にあると決定し、または前記現在の時刻が前記第2の条件を満たしている場合、前記二足ロボットが片足支持期にあると決定することができる。
【0041】
片足支持期を例にとると、現在の時刻をtとし、片足支持期の開始時刻をts0とし、片足支持期の表面支持時間長をTsとする場合、現在の時刻が満たしている第1の条件はt>ts0+Tsであると決定する。ここで、ts0+Tsとは、開始時刻ts0を基点としてTsを遅らせて得られる終了時刻を指すため、t>ts0+Tsは、現在の時刻が上記終了時刻(すなわちts0+Ts)よりも大きいことを表す。なお、後述する実施例では、時刻と時間長を加算することに関係する場合、同様に終了時刻を求めることを意味する。
【0042】
また例えば、推定された揺動足が受ける法線分力をfnとし、αが0よりも大きく0.5よりも小さい係数であり、mが二足ロボットの質量であり、gが重力加速度である場合、現在の時刻及び法線分力が満たしている第3の条件が(t>ts0+0.5Ts)I(fn>αmg)であると決定し、ここでmgは二足ロボットの重力を表す。
【0043】
二足支持期を例として、現在の時刻をtとし、二足支持期の開始時刻をtd0とし、表面二足支持期時間長をTdとする場合、現在の時刻が満たしている第2の条件はt>td0+Tdであると決定する。
【0044】
ステップ12では、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得する。
【0045】
一実施例では、支持期間が片足支持期を含むことを例として、この場合、前方向速度は第1の予測前方向速度を含み、横方向速度は第1の予測横方向速度を含み、
図4を参照して、プロセッサが、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップは、ステップ41~ステップ42を含む。
【0046】
ステップ41では、プロセッサは、前記二足ロボットの重心の前記二足ロボットに対する第1の前方向位置と第1の前方向速度及び第1の横方向位置と第1の横方向速度を取得することができる。
【0047】
本ステップでは、片足支持期末における重心の状態を予測する場合、二足ロボットを線形倒立振子モデル(Linear Inverted Pendulum Model、LIP)と見なす。正運動の夢中と状態推定を経て、二足ロボットの重心の支持足に対する前方向位置(以下、第1の前方向位置と呼ぶ)、前方向速度(以下、第1の前方向速度と呼ぶ)、横方向位置(以下、第1の横方向位置と呼ぶ)及び横方向速度(以下、第1の横方向速度と呼ぶ)が得られると仮定する。
【0048】
ステップ42では、プロセッサは、第1の予め設定された前方向速度モデル、前記第1の前方向位置及び前記第1の前方向速度に基づいて、前記二足ロボットの第1の予測前方向速度を推定し、第1の予め設定された横方向速度モデル、前記第1の横方向位置及び前記第1の横方向速度に基づいて、前記二足ロボットの第1の予測横方向速度を推定することができる。
【0049】
【0050】
一実施例では、支持期間が二足支持期を含むことを例として、この場合、前方向速度は第2の予測前方向速度を含み、横方向速度は第2の予測横方向速度を含み、
図6を参照して、プロセッサが、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するステップは、ステップ61~ステップ62を含む。
【0051】
【0052】
式(2)では、Tdは表面二足支持期時間長を表し、td0は二足支持期の開始時刻を表す。
【0053】
なお、ステップ62における第2の予測前方向速度モデルと第2の予測横方向速度モデルは等速モデルに基づいて構築される。
【0054】
ステップ13では、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得する。
【0055】
一実施例では、二足ロボットが片足支持期にあることを例として、プロセッサが、現在の前方向速度と現在の横方向速度とに基づいて前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップは、
図7を参照して、ステップ71~ステップ72を含む。
【0056】
【0057】
ステップ72では、プロセッサは、現在の歩の前方向速度、現在の歩の横方向速度、次の歩の前方向速度及び次の歩の横方向速度に基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得することができ、以下の式(3)に示される。
【0058】
【数4】
式(3)では、τ
1
qankleは片足支持期における支持足の足関節(2つ以下)に対応するモーメントベクトルを表し、J
1
ankleは二足ロボットの重心速度の広義のヤコビ行列における重心の前方向速度及び横方向速度と支持足の足関節速度との対応部分を表し、k
τ
xとk
τ
yはそれぞれ0よりも大きいゲインを表す。
【0059】
片足支持期における揺動足の足関節のモーメントは重心速度の制御に関与せず、揺動足の姿勢の制御に作用する。二足ロボット足関節が駆動不足状態である場合、すなわち足関節の駆動可能な自由度が0または1である場合、J1
ankleの対応項は0であるため、式(3)は全駆動状態と駆動不足状態の足関節に適用される。
【0060】
一実施例では、プロセッサが片足支持期における揺動足の計画を修正するステップは、
図8を参照して、ステップ81~ステップ82を含む。
【0061】
ステップ81では、プロセッサは、前記片足支持期末における重心に対する前記支持足の揺動足の現在の歩の前方向変位と現在の歩の横方向変位とを取得することができる。上層計画によって与えられた片足支持期末(すなわち揺動足が地面に落ちる時刻)における揺動足の重心に対する現在の歩の前方向変位と現在の歩の横方向変位をそれぞれfootx-
refとfooty-
refと仮定する。
【0062】
ステップ82では、プロセッサは、前記揺動足の現在の歩の前方向変位、前記重心の現在の歩の前方向速度及び前記第1の予測前方向速度に基づいて、前記揺動足の次の歩の前方向速度と次の歩の横方向速度とを取得することができ、以下の式(4)に示される。
【0063】
【0064】
別の実施例では、二足ロボットが片足支持期にあることを例として、プロセッサが、現在の前方向速度と現在の横方向速度とに基づいて前記二足ロボットの支持足の足関節のモーメントベクトルを取得するステップは、
図9を参照して、ステップ91~ステップ92を含む。
【0065】
【0066】
式(5)では、τ1
qankleとτ2
qankleはそれぞれ第1の支持足と第2の支持足のモーメントベクトルを表し、J1
ankleとJ2
ankleはそれぞれ二足ロボットの重心速度の広義のヤコビ行列における重心の前方向速度及び横方向速度と第1の支持足または第2の支持足の足関節速度との対応部分を表す。
【0067】
ステップ14では、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得する。
【0068】
本実施例では、プロセッサが、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するステップは、
図10を参照して、ステップ101~ステップ102を含む。
【0069】
ステップ101では、プロセッサは、前記予め設定された二次計画モデルと前記モーメントベクトルとに基づいて、前記二足ロボットの広義の加速度ベクトルと前記二足ロボットの二足が受ける外力ベクトルとを取得することができる。ここで、広義の加速度ベクトルは、二足ロボットの各足関節の加速度ベクトル及びフローティングベース(例えば胴体)の加速度ベクトルを含む。本ステップでは、二足ロボットのリアルタイム全身運動制御を二次計画(quadratic programming、QP)モデルとして記述することができる。上層計画によって出力された二足ロボットのワークスペース参照軌跡ベクトル(例えば重心の高さ、フローティングベースの姿勢角、揺動足の位置と姿勢など)をξrefとし、状態推定された対応ベクトルをξestと仮定する。二足ロボットが必要な物理的拘束(例えばモーメント飽和、接触摩擦コーン拘束など)を満たす条件で参照軌跡を追跡するために、二次計画モデルを構築し、以下の式(6)に示される。
【0070】
【0071】
上記二次計画モデルに基づいて二足ロボットの動力学モデルが得られ、式(7)に示される。
【0072】
【0073】
なお、上記拘束条件に加えて、片足支持期には式(3)のような等式拘束も含まれ、二足支持期には式(5)のような等式拘束も含まれる。
【0074】
【0075】
ステップ15では、前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御する。
【0076】
本実施例では、プロセッサは、各足関節の目標モーメントベクトルを取得した後、各足関節を運動させるようにそれぞれ各足関節に送信することにより、二足ロボットの制御が実現される。
【0077】
ここまで、本開示の実施例によって提供される方案では、現在の状態での前記二足ロボットの支持期間を取得し、そして、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得し、その後、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得し、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得し、最後に、前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御することができる。このように、本実施例中足関節のモーメントベクトルによって二足ロボットの重心の前方向運動及び横方向運動を制御することにより、二足を制御する効果を達し、また、本実施例では、二次計画によって二足ロボットの全身運動を制御することができるため、(全駆動と駆動不足の)二足ロボットがすべて全駆動状態になり、ロバスト性が強い。
【0078】
以下、
図11と組み合わせて本開示の実施例によって提供される二足ロボットの制御方法の方案を説明し、
図11を参照して、プロセッサは、この二足ロボットが片足支持期にあるか否かを判断することができる。
【0079】
この二足ロボットが片足支持期にある場合、片足支持期末における重心の前方向速度(すなわち第1の予測前方向速度)と横方向速度(すなわち第1の予測横方向速度)を予測し、その後支持足の足関節のモーメントベクトルを計算し、揺動足の計画を修正する。この二足ロボットが二足支持期にある場合、二足支持期末における重心の前方向速度(すなわち第2の予測前方向速度)と横方向速度(すなわち第2の予測横方向速度)を予測し、その後支持足の足関節のモーメントベクトルを計算する。
【0080】
プロセッサは、上記予測前方向速度、予測横方向速度及び二次計画モデルに基づいて全身制御の二次計画問題を求めることにより、二足ロボットの広義の加速度変量と二足ロボット二足が受ける外力ベクトルとを得ることができる。その後、プロセッサは、逆動力学モデルに基づいて各足関節の目標モーメントベクトルを算出し、上記目標モーメントベクトルに基づいて二足ロボットを制御することができる。
【0081】
本開示の実施例によって提供される二足ロボットの制御方法は全駆動状態と不足状態の二足ロボットに適用でき、足関節の関節モーメントと足落ち点の選択によってロボットの重心の前方向運動と横方向運動を制御し、すなわち支持足の足関節のモーメントベクトルの制御によってSSP末及びDSP末の時刻の重心速度を追跡し、SSP末の時刻の足落ち点の選択によってSSP開始時刻の重心の支持足に対する位置を間接的に制御することにより、予測制御効果を持っている。また、本実施例では、他の計画されたワークスペースに対する軌跡追跡(例えば重心の高さ、フローティングベース(例えばロボットの胴体)の姿勢角、揺動足の位置と姿勢など)は、二次計画に基づく全身運動制御によって実現され、この二次計画問題は上記重心制御を等式拘束とする。本開示の実施例では、先に分解して融合する制御方式により、片足支持期におけるロボットの高さとフローティングベースの姿勢が全駆動状態にある場合、完全に制御可能であり、他の方法に比べて、重心の高さとフローティングベース姿勢に対する追跡制御効果が顕著に向上している。同時に、本開示の制御方法は予測情報と受動動力学特性を利用して、ロバスト性が強く、全駆動と駆動不足の二足ロボットの動的歩行制御によく適応できる。
【0082】
本開示の実施例によって提供される二足ロボットの制御方法を基に、本開示の実施例は二足ロボットの制御装置をさらに提供し、
図12を参照して、前記装置は、現在の状態での前記二足ロボットの支持期間を取得するための支持期取得モジュール121と、前記二足ロボットの重心の前記支持期間末における現在の前方向速度と現在の横方向速度とを取得するための現在速度取得モジュール122と、前記現在の前方向速度と前記現在の横方向速度とに基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するためのモーメントベクトル取得モジュール123と、前記モーメントベクトルと予め設定された二次計画モデルとに基づいて、目標モーメントベクトルを取得するための目標モーメント取得モジュール124と、前記目標モーメントベクトルに基づいて前記二足ロボットの運動を制御するためのロボット制御モジュール125と、を含む。
【0083】
一実施例では、前記支持期取得モジュールは、現在の時刻を取得するための時刻取得サブモジュールと、前記二足ロボットの揺動足が受ける地面の法線分力を取得するための法線分力取得サブモジュールと、前記現在の時刻が第1の条件または第2の条件を満たすか否かを判断し、前記現在の時刻及び前記法線分力が第3の条件を満たすか否かを判断するための条件判断サブモジュールであって、前記第1の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長との合計を超えることを指し、前記第2の条件とは現在の時刻が二足支持期の開始時刻と二足支持期の時間長との合計を超えることを指し、前記第3の条件とは現在の時刻が片足支持期の開始時刻と片足支持期の時間長の半分との合計を超え、かつ、前記法線分力が予め設定された係数と前記二足ロボットの重力との積よりも大きいことを指す条件判断サブモジュールと、前記現在の時刻が前記第1の条件を満たしているまたは前記現在の時刻及び前記法線分力が前記第3の条件を満たしている場合、前記二足ロボットが二足支持期にあると決定し、前記現在の時刻が前記第2の条件を満たしている場合、前記二足ロボットが片足支持期にあると決定するための支持期決定サブモジュールと、を含む。
【0084】
一実施例では、前記支持期間は片足支持期を含み、前記前方向速度は第1の予測前方向速度を含み、前記横方向速度は第1の予測横方向速度を含み、前記現在速度取得モジュールは、前記二足ロボットの重心の前記二足ロボットに対する第1の前方向位置と第1の前方向速度及び第1の横方向位置と第1の横方向速度を取得するための位置速度取得サブモジュールと、第1の予め設定された前方向速度モデル、前記第1の前方向位置及び前記第1の前方向速度に基づいて、前記二足ロボットの第1の予測前方向速度を推定するための第1の前方向速度取得サブモジュールと、第1の予め設定された横方向速度モデル、前記第1の横方向位置及び前記第1の横方向速度に基づいて、前記二足ロボットの第1の予測横方向速度を推定するための第1の横方向速度取得サブモジュールと、を含む。
【0085】
一実施例では、前記モーメントベクトル取得モジュールは、現在の状態での片足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するための現在の歩の速度取得サブモジュールと、現在の状態での前記重心の次の歩の前方向速度と次の歩の横方向速度とを取得するための次の歩の速度取得サブモジュールと、現在の歩の前方向速度、現在の歩の横方向速度、次の歩の前方向速度及び次の歩の横方向速度に基づいて、前記二足ロボットの支持足の足関節のモーメントベクトルを取得するためのモーメントベクトル取得サブモジュールと、を含む。
【0086】
一実施例では、前記装置は、前記片足支持期末における重心に対する前記支持足の揺動足の現在の歩の前方向変位と現在の歩の横方向変位とを取得するための揺動足変位取得モジュールと、前記揺動足の現在の歩の前方向変位、前記重心の現在の歩の前方向速度及び前記第1の予測前方向速度に基づいて、前記揺動足の次の歩の前方向速度と次の歩の横方向速度とを取得するための次の歩の速度取得モジュールと、をさらに含む。
【0087】
一実施例では、前記支持期間は二足支持期を含み、前記前方向速度は第2の予測前方向速度を含み、前記横方向速度は第2の予測横方向速度を含み、前記現在速度取得モジュールは、前記二足ロボットの重心の前記二足ロボットに対する第2の前方向位置と第2の前方向速度及び第2の横方向位置と第2の横方向速度を取得するための位置速度取得サブモジュールと、第2の予め設定された前方向速度モデル、前記第2の前方向位置及び前記第2の前方向速度に基づいて、前記二足ロボットの第2の予測前方向速度を推定するための第2の前方向速度取得サブモジュールと、第2の予め設定された横方向速度モデル、前記第2の横方向位置及び前記第2の横方向速度に基づいて、前記二足ロボットの第2の予測横方向速度を推定するための第2の横方向速度取得サブモジュールと、を含む。
【0088】
一実施例では、前記モーメントベクトル取得モジュールは、現在の状態での二足支持期末における重心の現在の歩の前方向速度と現在の歩の横方向速度とを取得するための現在の歩の速度取得サブモジュールと、前記現在の歩の前方向速度と前記第2の予測前方向速度とに基づいて、第1の支持足のモーメントベクトルを取得するための第1のモーメントベクトル取得サブモジュールと、前記現在の歩の横方向速度と前記第2の予測横方向速度とに基づいて、第2の支持足のモーメントベクトルを取得するための第2のモーメントベクトル取得サブモジュールであって、前記第1の支持足とは前記二足支持期の前の片足支持期の支持足を指し、前記第2の支持足とは前記二足支持期の前の片足支持期の揺動足を指す第2のモーメントベクトル取得サブモジュールと、を含む。
【0089】
一実施例では、前記目標モーメント取得モジュールは、前記予め設定された二次計画モデルと前記モーメントベクトルとに基づいて、前記二足ロボットの広義の加速度ベクトルと前記二足ロボットの二足が受ける外力ベクトルとを取得するためのベクトル取得サブモジュールと、前記広義の加速度ベクトル、前記外力ベクトル及び予め設定された逆動力学モデルに基づいて、前記二足ロボットの各足関節の目標モーメントベクトルを取得するための目標モーメント取得サブモジュールと、を含む。
【0090】
なお、本実施例に示された装置の実施例は、前述の方法の実施例の内容と一致しており、前述の方法の実施例の内容を参照することができるので、ここでは説明を省略する。
【0091】
例示的な実施例では、二足ロボットをさらに提供し、メモリとプロセッサとを含み、前記メモリは前記プロセッサによって実行可能なコンピュータプログラムを記憶するために使用され、前記プロセッサは、上記方法を実現するように前記メモリにおけるコンピュータプログラムを実行するために使用される。
【0092】
例示的な実施例では、非一時的なコンピュータ読み取り可能な記憶媒体、例えば命令を含むメモリをさらに提供し、上記実行可能なコンピュータプログラムはプロセッサによって実行可能である。ここで、読み取り可能な記憶媒体はROM、ランダムアクセスメモリ(RAM)、CD-ROM、磁気テープ、フロッピーディスク及び光学データ記憶装置などであってもよい。
【0093】
当業者であれば、明細書を考慮してここで開示される技術案を実践した後、本開示の他の実施形態を容易に想到し得る。本開示は、任意の変形、用途または適応的変化をカバーすることを意図しており、これらの変形、用途または適応的変化は、本開示の一般原理に従い、本開示で開示されていない当分野における周知技術または慣用されている技術手段を含む。明細書および実施例は、例示的なものとしてのみ見なされ、本開示の真の範囲及び精神は、以下の特許請求の範囲によって示される。
【0094】
なお、本開示は、上記説明され、図面に示された正確な構造に限定されず、その範囲から逸脱することなく、様々な修正や変更が可能であることを理解すべきである。本開示の範囲は、添付された特許請求の範囲のみによって限定される。