(57)【特許請求の範囲】
【請求項１】
脚式ロボットの、左足平位置姿勢と右足平位置姿勢と体幹位置姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する手段と、
前記データ群から、前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算する手段と、
前記データ群から、前記位置姿勢を実現するのに必要な各関節の目標回転量を計算する手段と、
計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整する手段と、
前記アクチュエータの実トルクを、当該アクチュエータのモータに通電する電流計を用いて検出する手段と、
計算された前記目標トルクと前記指令トルクを比較するか、又は計算された前記目標トルクと検出された前記実トルクを比較する手段と、
比較結果に基づいて、前記アクチュエータの摩擦特性値を推定する手段
を備えた脚式ロボット。
【請求項２】
前記比較手段が、遊脚時におけるトルクデータを用いて比較を行う
ことを特徴とする請求項１記載の脚式ロボット。
【請求項３】
脚式ロボットの部位の剛性を局所的に低減させ、前記低剛性部位である足裏部がバネ要素として作用し、前記低剛性部位に最も近い足首関節を駆動するアクチュエータを前記低剛性部位を駆動するアクチュエータとし、前記足首関節をバネモデルで仮定する脚式ロボットであって、
前記脚式ロボットの、左足平位置姿勢と右足平位置姿勢と体幹位置姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する手段と、
前記データ群から、前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算する手段と、
前記データ群から、前記位置姿勢を実現するのに必要な各関節の目標回転量を計算する手段と、
計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、前記足首関節を駆動するアクチュエータのモータに加える指令トルクを調整する手段と、
前記足首関節を駆動するアクチュエータの実トルクを、当該アクチュエータのモータに通電する電流計を用いて検出する手段と、
計算された前記目標トルクと検出された前記実トルクの偏差と、前記バネ要素のバネ定数とに基づいて、前記低剛性部位を駆動するアクチュエータである前記足首関節を駆動するアクチュエータの前記目標回転量を補正するのに必要な補正量を計算する手段と、を備え、
前記調整手段が、計算された前記補正量を前記目標回転量に加算する
ことを特徴とする脚式ロボット。
【請求項４】
前記指令トルクに対するリミット値を設定して記憶する手段と、
前記指令トルクと前記リミット値とを比較して、前記指令トルクが前記リミット値を超えた場合に、前記リミット値に応じた駆動信号を前記アクチュエータのモータに出力する手段
を更に備えたことを特徴とする請求項１または３に記載の脚式ロボット。
【請求項５】
立脚時における前記脚式ロボットの足裏部において、ＺＭＰを許容可能な許容範囲を計算し、計算された前記許容範囲に基づいて、前記指令トルクに対するリミット値を設定する
ことを特徴とする請求項４記載の脚式ロボット。
【請求項６】
前記目標トルク計算手段が、
前記データ群から、前記位置姿勢を実現するのに必要な各関節の目標回転量を計算する手段と、
前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、計算された各関節の前記目標回転量の時間的変化から各質点の位置及び加速度を計算して、前記脚式ロボットの関節の目標トルクを計算する手段
を備えることを特徴とする請求項１または３に記載の脚式ロボット。
【請求項７】
前記脚式ロボットの脚部が立脚である場合には、前記立脚の注目する関節からそのつま先方向に存在する質点を除いた他の質点を用いて、前記注目関節の目標トルクを計算する
ことを特徴とする請求項６記載の脚式ロボット。
【請求項８】
前記脚式ロボットの脚部が遊脚である場合には、前記遊脚の注目する関節からそのつま先方向に存在する質点を用いて、前記注目関節の目標トルクを計算する
ことを特徴とする請求項６又は７記載の脚式ロボット。
【請求項９】
前記脚式ロボットが空中に浮いている空中相である場合には、前記脚部の注目する関節からそのつま先方向に存在する質点を用いて、前記注目関節の目標トルクを計算する
ことを特徴とする請求項６乃至８いずれか１項記載の脚式ロボット。
【請求項１０】
前記アクチュエータを駆動可能な所定値を設定して記憶する手段と、
前記目標トルクと前記所定値とを比較して、前記目標トルクが前記所定値を超えた場合に、前記目標トルクを前記所定値に変更する手段
を更に備えたことを特徴とする請求項１または３に記載の脚式ロボット。
【請求項１１】
前記アクチュエータが駆動可能な最大トルク値を前記所定値として設定する
ことを特徴とする請求項１０記載の脚式ロボット。
【請求項１２】
前記目標トルク計算手段が、
前記データ群から、左膝位置と右膝位置を示すデータを計算する手段と、
胴体と前記左膝位置と前記右膝位置と前記左足平近傍位置と前記右足平近傍位置に質量が集中して存在する力学系と、前記左足平位置と前記右足平位置と前記体幹位置と前記体幹位置姿勢と前記左膝位置と前記右膝位置を示すデータから、前記脚式ロボットの関節の目標トルクを計算する手段
を備えることを特徴とする請求項１または３に記載の脚式ロボット。
【請求項１３】
前記目標トルク計算手段で利用する力学系が、胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置と体幹下部基準点と体幹上部基準点に質量が集中して存在する力学系である
ことを特徴とする請求項１２記載の脚式ロボット。
【請求項１４】
前記力学系が、左足平近傍位置に左脛下半分質量と左足首質量と左足平質量の合計質量が集中して存在し、右足平近傍位置に右脛下半分質量と右足首質量と右足平質量の合計質量が集中して存在し、左膝位置に左脛上半分質量と左膝関節質量と左腿下半分質量の合計質量が集中して存在し、右膝位置に右脛上半分質量と右膝関節質量と右腿下半分質量の合計質量が集中して存在し、体幹下部基準点に左腿上半分質量と左股関節質量と右腿上半分質量と右股関節質量と体幹下半分質量の合計質量が集中して存在し、体幹上部基準点に体幹上半分質量が集中して存在する力学系である
ことを特徴とする請求項１３記載の脚式ロボット。
【請求項１５】
体幹下部基準点と体幹上部基準点の高さが、水平軸回りの体幹の慣性モーメントの大きさを維持する高さに設定されている
ことを特徴とする請求項１４記載の脚式ロボット。
【請求項１６】
脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算するステップと、
前記脚式ロボットの位置姿勢を実現するのに必要な各関節の目標回転量を計算するステップと、
計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整するステップと、
計算された前記目標トルクと前記指令トルクを比較するか、又は計算された前記目標トルクと前記アクチュエータのモータに通電する電流計を用いて検出される実トルクを比較するステップと、
比較結果に基づいて、前記アクチュエータの摩擦特性値を推定するステップ
を備えた脚式ロボットの制御方法。
【請求項１７】
前記比較ステップでは、遊脚時におけるトルクデータを用いて比較を行う
ことを特徴とする請求項１６記載の脚式ロボットの制御方法。
【請求項１８】
脚式ロボットの部位の剛性を局所的に低減させ、前記低剛性部位である足裏部がバネ要素として作用し、前記低剛性部位に最も近い足首関節を駆動するアクチュエータを前記低剛性部位を駆動するアクチュエータとし、前記足首関節をバネモデルで仮定する脚式ロボットの制御方法であって、
前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算するステップと、
前記脚式ロボットの位置姿勢を実現するのに必要な各関節の目標回転量を計算するステップと、
計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、前記足首関節を駆動するアクチュエータのモータに加える指令トルクを調整するステップと、
計算された前記目標トルクと前記アクチュエータのモータに通電する電流計を用いて検出される実トルクの偏差と、前記バネ要素のバネ定数とに基づいて、前記低剛性部位を駆動するアクチュエータである前記足首関節を駆動するアクチュエータの前記目標回転量を補正するのに必要な補正量を計算するステップと、を備え、
前記調整ステップでは、計算された前記補正量を前記目標回転量に加算する
ことを特徴とする脚式ロボットの制御方法。
【請求項１９】
前記指令トルクと前記指令トルクに対する前記リミット値とを比較して、前記指令トルクが前記リミット値を超えた場合に、前記リミット値に応じた駆動信号を前記アクチュエータのモータに出力する手段
を更に備えたことを特徴とする請求項１６または１８に記載の脚式ロボットの制御方法。
【請求項２０】
立脚時における前記脚式ロボットの足裏部において、ＺＭＰを許容可能な許容範囲を計算し、計算された前記許容範囲に基づいて、前記指令トルクに対するリミット値を設定する
ことを特徴とする請求項１９記載の脚式ロボットの制御方法。
【請求項２１】
前記目標トルク計算ステップは、
前記脚式ロボットの位置姿勢を実現するのに必要な各関節の目標回転量を計算するステップと、
前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、計算された各関節の前記目標回転量の時間的変化から各質点の位置及び加速度を計算して、前記脚式ロボットの関節の目標トルクを計算するステップ
を備えることを特徴とする請求項１６または１８に記記載の脚式ロボットの制御方法。
【請求項２２】
前記脚式ロボットの脚部が立脚である場合には、前記立脚の注目する関節からそのつま先方向に存在する質点を除いた他の質点を用いて、前記注目関節の目標トルクを計算する
ことを特徴とする請求項２１記載の脚式ロボットの制御方法。
【請求項２３】
前記脚式ロボットの脚部が遊脚である場合には、前記遊脚の注目する関節からそのつま先方向に存在する質点を用いて、前記注目関節の目標トルクを計算する
ことを特徴とする請求項２１又は２２記載の脚式ロボットの制御方法。
【請求項２４】
前記脚式ロボットが空中に浮いている空中相である場合には、前記脚部の注目する関節からそのつま先方向に存在する質点を用いて、前記注目関節の目標トルクを計算する
ことを特徴とする請求項２１乃至２３いずれか１項記載の脚式ロボットの制御方法。
【請求項２５】
前記目標トルクと前記アクチュエータに対する所定値とを比較して、前記目標トルクが前記所定値を超えた場合に、前記目標トルクを前記所定値に変更するステップ
を更に備えたことを特徴とする請求項１６または１８に記載の脚式ロボットの制御方法。
【請求項２６】
前記アクチュエータが駆動可能な最大トルク値を前記所定値として設定する
ことを特徴とする請求項２５記載の脚式ロボットの制御方法。
【請求項２７】
前記目標トルク計算ステップは、
左膝位置と右膝位置を示すデータを計算するステップと、
胴体と前記左膝位置と前記右膝位置と前記左足平近傍位置と前記右足平近傍位置に質量が集中して存在する力学系と、前記左足平位置姿勢と前記右足平位置姿勢と前記体幹位置と前記体幹位置姿勢と前記左膝位置と前記右膝位置を示すデータから、前記脚式ロボットの関節の目標トルクを計算するステップ
を備えることを特徴とする請求項１６または１８に記載の脚式ロボットの制御方法。
【請求項２８】
前記目標トルク計算手段で利用する力学系が、胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置と体幹下部基準点と体幹上部基準点に質量が集中して存在する力学系である
ことを特徴とする請求項２７記載の脚式ロボットの制御方法。
【請求項２９】
前記力学系が、左足平近傍位置に左脛下半分質量と左足首質量と左足平質量の合計質量が集中して存在し、右足平近傍位置に右脛下半分質量と右足首質量と右足平質量の合計質量が集中して存在し、左膝位置に左脛上半分質量と左膝関節質量と左腿下半分質量の合計質量が集中して存在し、右膝位置に右脛上半分質量と右膝関節質量と右腿下半分質量の合計質量が集中して存在し、体幹下部基準点に左腿上半分質量と左股関節質量と右腿上半分質量と右股関節質量と体幹下半分質量の合計質量が集中して存在し、体幹上部基準点に体幹上半分質量が集中して存在する力学系である
ことを特徴とする請求項２８記載の脚式ロボットの制御方法。
【請求項３０】
体幹下部基準点と体幹上部基準点の高さが、水平軸回りの体幹の慣性モーメントの大きさを維持する高さに設定されている
ことを特徴とする請求項２９記載の脚式ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は脚式ロボット、及びその制御方法に関する。
【背景技術】
【０００２】
脚式ロボットが安定して歩行するための歩行軌道を生成する技術が数多く提案されている。例えば特許文献１には、高速に歩行ロボットのＺＭＰ（ゼロモーメント・ポイント）を計算して、少ない計算量で歩容データを計算可能な歩容データ作成装置が開示されている。特許文献１記載の歩容データ作成装置は、ロボットのフルモデルを６つの質点に近似して、それら質点を適切に配分することにより、ＺＭＰ計算を高速化するものである。尚、本明細書で「軌道」とは、位置・姿勢の経時的な変化を記述するデータのことを言う。
【特許文献１】特開２００４−２３７４０３号公報
【特許文献２】特許３１４８８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来技術により作成された理想的な軌道データであっても、実際にロボットで当該軌道データを再生した場合には、必ずしも安定した歩行／走行動作を実現することができないという問題点があった。作成した軌道をロボットで実際に再生した場合に、ロボットが安定して歩行／走行できない理由としては以下の原因が想定される。
【０００４】
まず、ロボットの関節部に発生する摩擦、アクチュエータ性能、ゲイン設定などに起因する、軌道データに対する追従性や応答性の劣化が挙げられる。摩擦特性は、ロボットの組み直しや、時間経過によっても、その特性が変化する。通常、ロボットの組みつけ具合はその都度異なるため、摩擦もその都度変化する。時間経過についても、グリスが少なくなるなどの原因で、摩擦の変化をもたらす。また、歩行／走行動作パターンや、安定化制御などによっては、目標軌道が不連続となる。このため、関節によっては、指令されたトルクがアクチュエータの仕様を上回る場合があり、アクチュエータの最大仕様範囲を超えるトルクや速度では、アクチュエータを正常に動作させることができない。
【０００５】
また、ロボットの低剛性部位（足裏の衝撃吸収部材や、関節などに設ける減速機など）が撓むことによる重心位置追従性の劣化が原因として挙げられる。このような低剛性部位は衝撃吸収効果を備える反面、ロボットの姿勢が崩れる原因にもなりうる。サーボ追従性がよく、メカ（リンク、関節部、減速機など）の剛性を十分高くし、かつ、外乱が存在しない場合には、ロボットは略目標値（重心、関節角度などの目標値の時系列データ）に対して良好に追従することができ、安定した動作が可能となる。しかし現実的には、サーボ追従性は調整が難しく、メガの剛性も低い部分が撓みやすい。サーボに関しては、実験によりある程度の調整は可能であるものの、メカに関しては、剛性を高めると、重量増加や、設計変更や、組み直しのための時間を要するという問題が生じる。
【０００６】
さらにまた、アクチュエータのハイゲインな位置制御や安定化制御に起因する、目標ＺＭＰと実ＺＭＰの大きなズレが原因として挙げられる。従来技術では、関節を駆動させるために必要なトルク指令値を計算し、そのトルク指令値に正確に追従させるため、制御におけるゲインを高くすることで、トルク指令値への応答性を高めている。しかし、このようにトルク指令値を出力している状況において、ロボットの足裏などが撓んだことに起因して、タイミングを間違えて着地してしまう場合がある。この場合には、着地の瞬間には足裏の剛性を局所的に高くして制御しているため、足裏が路面を蹴ってしまうおそれがある。このため、着地時における衝撃吸収を実現するためには、ゲインを小さくして、アクチュエータに与えるトルク指令値を小さくすることが好ましい。また、ゲインが高いと、制御が不安定になりやすいという問題もある。一方で、着地時の立脚を除いては、トルク指令への応答性が悪い場合には、ロボットが目標通りの軌道（姿勢）を実現することができずに、不安定になりやすいという問題がある。
【０００７】
特許文献１では、歩容データ作成の過程で作成されるデータ（質点の位置や、加速度）を、軌道データ作成の高速化のためにのみ使用しており、作成された軌道の追従性については考慮がなされていないものであった。
【０００８】
また、特許文献２には、脚部の関節と脚部接地端との間をバネ機構で連結し、目標荷重を発生させるのに必要なバネ機構体の変形角度を求め、求めた変形角度によって関節角度指令値を補正する脚式移動ロボットの歩行制御装置が開示されている。特許文献２記載の脚式移動ロボットの歩行制御装置では、脚部先端を床の凹凸や傾斜に柔軟に接地させ、踏破性を高めて外乱トルクを緩和し、また着地時の衝撃も効果的に緩和すると共に、初期の床を蹴る力を確保して歩行に支障を来たさない様にすることを目標とする。しかし、特許文献２記載の技術では、脚部の関節と脚部接地端との間にバネ機構体を設け、目標荷重を発生させるのに必要なバネ機構体の変形角度を求めるため、目標荷重検出に複雑な計算が必要となり、短時間で目標荷重を検出することができない。
【０００９】
このように、従来技術では、作成された理想的な軌道データであっても、実際にロボットで当該軌道データを再生した場合には、軌道の追従性を良好に維持することができず、安定した歩行／走行動作を実現することができないという問題点があった。
【００１０】
本発明は、かかる課題を解決するためになされたものであり、軌道の追従性を良好に維持することで安定して歩行／走行動作を実現可能な脚式ロボット、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る脚式ロボットは、脚式ロボットの、左足平位置姿勢と右足平位置姿勢と体幹位置姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する手段と、前記データ群から、前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算する手段と、前記データ群から、前記位置姿勢を実現するのに必要な各関節の目標回転量を計算する手段と、計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整する手段を備え、前記調整手段が、計算された前記目標トルクを前記指令トルクに加算するものである。
【００１２】
このように、実回転量を目標回転量に一致するようにフィードバック制御する際に、その操作量であるトルク指令値に対して、計算された目標トルクをフィードフォワードトルクとして入力（加算）することで、制御ゲインを小さくした場合においても、目標回転量の追従性を良好に維持することができる。尚、歩容データの作成に際しては、左足平姿勢を示すベクトルと、右足平姿勢を示すベクトルを入力することが多いが、後記するように、足平姿勢の変化パターンを規格化することができ、左足平姿勢ベクトルと右足平姿勢ベクトルの入力は不可欠でない。
【００１３】
本発明に係る脚式ロボットの他の態様は、脚式ロボットの、左足平位置姿勢と右足平位置姿勢と体幹位置姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する手段と、前記データ群から、前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算する手段と、前記データ群から、前記位置姿勢を実現するのに必要な各関節の目標回転量を計算する手段と、計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整する手段と、前記アクチュエータの実トルクを検出する手段と、計算された前記目標トルクと前記指令トルクを比較するか、又は計算された前記目標トルクと検出された前記実トルクを比較する手段と、比較結果に基づいて、前記アクチュエータの摩擦特性値を推定する手段を備えるものである。
【００１４】
これにより、時間経過、温度変化、オーバーホールなどによって摩擦特性が変化した場合においても、摩擦特性値の同定を任意のタイミングで実施することで、計算される目標トルクの精度を良好に維持することができる。
【００１５】
また、前記比較手段が、遊脚時におけるトルクデータを用いて比較を行うようにしてもよい。遊脚時におけるトルクデータは、床からの反力を受けず、摩擦や慣性の成分が顕著なものとなるため、摩擦特性値をより容易に推定することができるからである。
【００１６】
本発明に係る脚式ロボットの他の態様は、脚式ロボットの部位の剛性を局所的に低減させ、前記低剛性部位がバネ要素として作用する脚式ロボットであって、前記脚式ロボットの、左足平位置姿勢と右足平位置姿勢と体幹位置姿勢を示すデータと、前記位置姿勢を実現する体幹位置を示すデータを入力して記憶する手段と、前記データ群から、前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算する手段と、前記データ群から、前記位置姿勢を実現するのに必要な各関節の目標回転量を計算する手段と、計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整する手段と、前記アクチュエータの実トルクを検出する手段と、計算された前記目標トルクと検出された前記実トルクの偏差と、前記バネ要素のバネ定数とに基づいて、前記低剛性部位を駆動するアクチュエータの前記目標回転量を補正するのに必要な補正量を計算する手段と、前記調整手段が、計算された前記補正量を前記目標回転量に加算するものである。
【００１７】
このように、低剛性部位の撓み分を、目標トルクと実トルクの関係から関節角度レベルで補正することで、低剛性部位による衝撃吸収効果を損ねることなく、重心の位置追従性を改善することができる。
【００１８】
また、前記脚式ロボットの足裏部が前記バネ要素として作用するようにしてもよい。さらにまた、前記アクチュエータの減速機が前記バネ要素として作用するようにしてもよい。また、前記低剛性部位を駆動するアクチュエータが前記脚式ロボットの足首関節を駆動するアクチュエータであるようにしてもよい。
【００１９】
さらにまた、前記指令トルクに対するリミット値を設定して記憶する手段と、前記指令トルクと前記リミット値とを比較して、前記指令トルクが前記リミット値を超えた場合に、前記リミット値に応じた駆動信号を前記アクチュエータのモータに出力する手段を更に備えるようにしてもよい。指令トルクにリミット値を設定することで、関節部に過大なトルクが発生することを防止し、且つ、足平が床から剥がれることを防止することができるからである。
【００２０】
また、立脚時における前記脚式ロボットの足裏部において、ＺＭＰを許容可能な許容範囲を計算し、計算された前記許容範囲に基づいて、前記指令トルクに対するリミット値を設定するようにしてもよい。
【００２１】
さらにまた、前記目標トルク計算手段が、前記データ群から、前記位置姿勢を実現するのに必要な各関節の目標回転量を計算する手段と、前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、計算された各関節の前記目標回転量の時間的変化から各質点の位置及び加速度を計算して、前記脚式ロボットの関節の目標トルクを計算する手段を備えるようにしてもよい。
【００２２】
また、前記脚式ロボットの脚部が立脚である場合には、前記立脚の注目する関節からそのつま先方向に存在する質点を除いた他の質点を用いて、前記注目関節の目標トルクを計算するようにしてもよい。
【００２３】
さらにまた、前記脚式ロボットの脚部が遊脚である場合には、前記遊脚の注目する関節からそのつま先方向に存在する質点を用いて、前記注目関節の目標トルクを計算するようにしてもよい。
【００２４】
また、前記脚式ロボットが空中に浮いている空中相である場合には、前記脚部の注目する関節からそのつま先方向に存在する質点を用いて、前記注目関節の目標トルクを計算するようにしてもよい。
【００２５】
さらにまた、前記アクチュエータを駆動可能な所定値を設定して記憶する手段と、前記目標トルクと前記所定値とを比較して、前記目標トルクが前記所定値を超えた場合に、前記目標トルクを前記所定値に変更する手段を更に備えるようにしてもよい。
【００２６】
また、前記アクチュエータが駆動可能な最大トルク値を前記所定値として設定するようにしてもよい。
【００２７】
さらにまた、前記目標トルク計算手段が、前記データ群から、左膝位置と右膝位置を示すデータを計算する手段と、胴体と前記左膝位置と前記右膝位置と前記左足平近傍位置と前記右足平近傍位置に質量が集中して存在する力学系と、前記左足平位置姿勢と前記右足平位置姿勢と前記体幹位置と前記体幹位置姿勢と前記左膝位置と前記右膝位置を示すデータから、前記脚式ロボットの関節の目標トルクを計算する手段を備えるようにしてもよい。この目標トルク計算では、ロボットの寸法データから幾何学的に計算することができるため、各関節の関節角を算出するよりもはるかに少ない計算量で済ませることができる。ロボットの位置と姿勢と運動状態から目標トルクを計算するにあたって、従来の「１２関節１３リンク」という複雑な力学系を用いず、代わって胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系を用いる。集中した質量が上記位置に存在するとした力学系を用いることによって、ロボットの目標トルクを少ない計算量で正確に計算できる。従って、少ない計算量で精度良く目標トルクを計算することができる。
【００２８】
また、前記目標トルク計算手段で利用する力学系が、胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置と体幹下部基準点と体幹上部基準点に質量が集中して存在する力学系であるようにしてもよい。このように、目標トルクを計算する際には、胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置と体幹下部基準点と体幹上部基準点に質量が集中して存在する６質点の力学系を用いて、目標トルクを示すデータを計算することが好ましい。体幹に対して１つの質点を与える力学系を用いることが可能であり、体幹下部基準点と体幹上部基準点に分けることが必ずしも必要ではないが、体幹下部基準点と体幹上部基準点に分けることによって体幹位置姿勢を正確に反映することができるために、目標トルクの計算精度が向上する。
【００２９】
さらにまた、前記力学系が、左足平近傍位置に左脛下半分質量と左足首質量と左足平質量の合計質量が集中して存在し、右足平近傍位置に右脛下半分質量と右足首質量と右足平質量の合計質量が集中して存在し、左膝位置に左脛上半分質量と左膝関節質量と左腿下半分質量の合計質量が集中して存在し、右膝位置に右脛上半分質量と右膝関節質量と右腿下半分質量の合計質量が集中して存在し、体幹下部基準点に左腿上半分質量と左股関節質量と右腿上半分質量と右股関節質量と体幹下半分質量の合計質量が集中して存在し、体幹上部基準点に体幹上半分質量が集中して存在する力学系であるようにしてもよい。図２に模式的に示すように、左足平近傍位置に、左脛下半分３２４の質量と左足首３２２の質量と左足平３２０の質量の合計質量Ｍ１が集中して存在し、右足平近傍位置に、右脛下半分３４０の質量と右足首３３８の質量と右足平３３６の質量の合計質量Ｍ３が集中して存在し、左膝位置に、左脛上半分３２６の質量と左膝関節３２８の質量と左腿下半分３３０の質量の合計質量Ｍ２が集中して存在し、右膝位置に、右脛上半分３４２の質量と右膝関節３４４の質量と右腿下半分３４６の質量の合計質量Ｍ４が集中して存在し、体幹下部基準点に、左腿上半分３３２の質量と左股関節３３４の質量と右腿上半分３４８の質量と右股関節３５０の質量と体幹下半分３５２の質量の合計質量Ｍ５が集中して存在し、体幹上部基準点に、体幹上半分３５４の質量Ｍ６が集中して存在する力学系を用いて、目標トルクを示すデータを計算することが好ましい。この力学系は、簡単でありながらロボットを精度よくモデル化しており、計算の簡単化を損ねることなく目標トルクの計算精度を向上させる。
【００３０】
また、体幹下部基準点と体幹上部基準点の高さが、水平軸回りの体幹の慣性モーメントの大きさを維持する高さに設定されているようにしてもよい。特に、体幹下部基準点と体幹上部基準点の高さが、水平軸回りの体幹の慣性モーメントの大きさを維持する高さに設定されていることが好ましい。体幹は質量が大きく、目標トルクの計算にあたって慣性モーメントを加味することが好ましい。特に、垂直軸回りの慣性に比して水平軸回りの慣性が目標トルクに大きく影響する。体幹下部基準点と体幹上部基準点の高さが、水平軸回りの体幹の慣性モーメントの大きさを維持する高さ、即ち、体幹の実際の慣性モーメントをもたらす高さに設定されていると、水平軸回りの体幹の慣性モーメントを正確に考慮して目標トルクを計算することができる。
【００３１】
本発明に係る脚式ロボットの制御方法は、脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算するステップと、前記脚式ロボットの位置姿勢を実現するのに必要な各関節の目標回転量を計算するステップと、計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整するステップを備え、前記調整ステップでは、計算された前記目標トルクを前記指令トルクに加算するものである。
【００３２】
また、本発明に係る脚式ロボットの制御方法の他の態様は、脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算するステップと、前記脚式ロボットの位置姿勢を実現するのに必要な各関節の目標回転量を計算するステップと、計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整するステップと、計算された前記目標トルクと前記指令トルクを比較するか、又は計算された前記目標トルクと検出される実トルクを比較するステップと、比較結果に基づいて、前記アクチュエータの摩擦特性値を推定するステップを備えるものである。
【００３３】
さらにまた、本発明に係る脚式ロボットの制御方法の他の態様は、脚式ロボットの部位の剛性を局所的に低減させ、前記低剛性部位がバネ要素として作用する脚式ロボットの制御方法であって、前記脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、前記脚式ロボットの関節の目標トルクを計算するステップと、前記脚式ロボットの位置姿勢を実現するのに必要な各関節の目標回転量を計算するステップと、計算された前記目標回転量と、検出される実回転量の偏差とに基づいて、アクチュエータのモータに加える指令トルクを調整するステップと、計算された前記目標トルクと検出される実トルクの偏差と、前記バネ要素のバネ定数とに基づいて、前記低剛性部位を駆動するアクチュエータの前記目標回転量を補正するのに必要な補正量を計算するステップと、前記調整ステップでは、計算された前記補正量を前記目標回転量に加算するものである。
【発明の効果】
【００３４】
本発明によれば、軌道の追従性を良好に維持することで安定して歩行／走行動作を実現可能な脚式ロボット、及びその制御方法を提供することを目的とする。
即ち、本発明は、制御ゲインを小さくした場合においても、軌道の追従性を良好に維持することができる脚式ロボット、及びその制御方法を提供することを第一の目的とする。
また、本発明は、時間経過などによって摩擦特性が変化した場合においても、摩擦特性値の同定を任意のタイミングで実施することで、計算される目標トルクの精度を良好に維持することができる脚式ロボット、及びその制御方法を提供することを第二の目的とする。
さらにまた、本発明は、低剛性部位による衝撃吸収効果を損ねることなく、重心の位置追従性を改善することができる脚式ロボット、及びその制御方法を提供することを第三の目的とする。
【発明を実施するための最良の形態】
【００３５】
以下に説明する本発明に係る脚式ロボットについて、その主な特徴を最初に説明する。図１は、本発明に係る脚式ロボットの主要な特徴を示す制御ブロック図である。図１に示すように、本発明に係る脚式ロボットは、アクチュエータのモータ８を駆動して移動する。脚式ロボットのモータドライバ６は、各関節に与える目標トルクデータ及び目標関節角度データに基づいて、モータ８を駆動する。
【００３６】
より詳細には、脚式ロボットは、左足平位置姿勢と右足平位置姿勢と体幹位置姿勢を示すデータと、その位置姿勢を実現する体幹位置を示すデータを入力して記憶する。そして、データ群から、脚式ロボットをモデル化した「胴体と左膝位置と右膝位置と左足平近傍位置と右足平近傍位置に質量が集中して存在する力学系」を用いて、脚式ロボットの関節の目標トルクを計算する。また、脚式ロボットは、データ群から、位置姿勢を実現するのに必要な各関節の目標回転量を計算する。目標回転量として、例えば、目標関節角度を計算する。尚、上述した力学系を用いて、関節の目標トルク及び目標関節角度を計算する方法については後述する。
【００３７】
実施の形態１に係る脚式ロボットは、計算された目標回転量と、検出される実回転量の偏差（６２、６４）とに基づいて、アクチュエータのモータ８に加える指令トルクを調整する。ここで、計算された目標トルクを指令トルクに加算（６６）することを特徴とする。尚、実回転量として、例えば、実角度や実角速度が検出される。これらの実回転量はエンコーダ１０等により検出される。
【００３８】
実施の形態２に係る脚式ロボットは、アクチュエータの実トルクを検出する。実トルクは、モータ８に通電する電流計１２等により検出する。そして、計算された目標トルクと指令トルクを比較するか、又は計算された目標トルクと検出された実トルクを比較する。脚式ロボットは、比較結果に基づいて、アクチュエータの摩擦特性値を推定する。
【００３９】
実施の形態３に係る脚式ロボットは、脚式ロボットの部位の剛性を局所的に低減させ、低剛性部位がバネ要素として作用する脚式ロボットである。脚式ロボットは、計算された目標トルクと検出された実トルクの偏差（６８）と、バネ要素のバネ定数とに基づいて、低剛性部位を駆動するアクチュエータの目標回転量を補正するのに必要な補正量を計算する。ここで、補正量を目標回転量に加算（７０）することを特徴とする。
【００４０】
実施の形態４に係る脚式ロボットは、指令トルクに対するリミット値を設定して記憶する。そして、脚式ロボットは、指令トルクとリミット値とを比較して、指令トルクがリミット値を超えた場合に、リミット値に応じた駆動信号をアクチュエータのモータ８に出力（７２）する。
【００４１】
実施の形態５に係るロボットは、アクチュエータを駆動可能な所定値を予め設定して記憶しておき、目標トルクとその所定値とを比較して、目標トルクが所定値を超えた場合には、目標トルクを所定値に変更する。
【００４２】
本発明によれば、軌道の追従性を良好に維持することで安定して歩行／走行を実現することができる。特に、従来技術と比して、サーボの追従性と、着地時の衝撃緩和という点に優位性を有するものである。また、本発明では、軌道の追従性を高めるため、図２に示す力学系を用いて目標トルクを計算する。このような単純な力学系を用いることで、短時間で軌道及び目標トルクを計算することができる。
【００４３】
続いて、関節の目標トルク及び目標関節角度を計算する方法について説明する。図３を参照して、２足歩行ロボットが２足で歩行するために必要とする制御用データ（歩容データ）の作成方法を説明する。この歩容データ作成装置２９０は、２足歩行ロボットを実際に歩行させるのに先立って用いられ、２足歩行ロボットを実際に歩行させるために必要な制御用データを作成する。この歩容データ作成装置２９０で作成された歩容データは、２足歩行ロボットに伝達される。２足歩行ロボットは、伝達された歩容データに従って動作することによって歩行する。歩容データ作成装置２９０は、十分に高速に歩容データを作成することができ、実質上リアルタイムで歩容データを作成することができる。歩行ロボットが歩行している様子を見ながら、人がジョイスティック等を使って次の一歩の足の運びを指定してから、次の一歩を実際に実施するまでの短時間の間に、次の一歩のための歩容データを作成することができるために、実質的にはリアルタイムで歩容データを作成することができる。
【００４４】
オペレータが、歩行指令データ（歩容データ）作成装置２９０に、歩行ロボットを歩行させたいコース等のデータを入力する。具体的には、図３の左下の（Ａ）に示される、５個のベクトルと１個のスカラ量を入力する。ベクトルＣは左足平位置ベクトルであり、座標原点Ｏから見たロボットの左足平位置を示す。ベクトルＤは左足平姿勢ベクトルであり、左足平の向きを示す。ベクトルＥは右足平位置ベクトルであり、座標原点Ｏから見たロボットの右足平位置を示す。ベクトルＦは右足平姿勢ベクトルであり、右足平の向きを示す。ベクトルＲは体幹姿勢ベクトルであり、ロボットの体幹の向きを示す。人間の背骨に相当する部材が伸びる方向を示す。ロボットの胴部が腰部（下胴部）と上胴部に分離されている場合には、腰部が体幹に相当し、体幹姿勢ベクトルＲは腰部に垂直な方向を定義する。Ｑは、体幹高さであり、人間で言う腰位置の高さに相当する。オペレータは、これらの５種のベクトルと１種のスカラ量を時系列に従って次々に入力する。尚、このためのデータ入力支援ソフトが開発されており、主要タイミングでのデータを指定することで、時系列での中間データが補完計算されるようになっている。また、一歩分の入力データを繰り返して利用するように指示することで、入力量を低減することができる。
【００４５】
また、オペレータがジョイスティック等で歩行コースや歩行速度等を指示することもある。一歩分の標準的な足平姿勢ベクトルの変化パターンと体幹姿勢ベクトルの変化パターンと体幹高さの変化パターンを記憶しておくと、オペレータがジョイスティック等で歩行コースや歩行速度を指示するによって、一歩分の５種ベクトルＣ（ｔ），Ｄ（ｔ），Ｅ（ｔ），Ｆ（ｔ），Ｒ（ｔ）と１種スカラ量Ｑ（ｔ）を生成して記憶することができる。歩容データを作成するのに必要な５種のベクトルＣ（ｔ），Ｄ（ｔ），Ｅ（ｔ），Ｆ（ｔ），Ｒ（ｔ）と１の種スカラ量Ｑ（ｔ）は、歩容データ作成装置２９０に入力されて記憶装置２９２に記憶される。
【００４６】
オペレータは、更に、目標ＺＭＰ位置ベクトルを時系列に従って入力する。この場合、ベクトルＣ乃至Ｆによって、左足接地状態・両足接地状態・右足接地状態の別がわかっていることから、左足接地状態では左足接地面内の位置を指定し、右足接地状態では右足接地面内の位置を指定する。ベクトルＣ乃至Ｆを用いることによって、目標ＺＭＰ位置ベクトル（ＺＭＰ＊ベクトル）を指定することができる。歩行時に観測される実際ＺＭＰが目標ＺＭＰに一致するように制御することによって、ロボットは転倒しないで歩行することが可能となる。
【００４７】
図３に示す歩容データ作成装置２９０は、オペレータが入力した５種のベクトルと１種のスカラ量に基づいて、実際に生じるであろうＺＭＰを計算して目標ＺＭＰとの偏差を求め、そのＺＭＰ偏差から目標ＺＭＰをもたらす体幹位置ベクトルＰを計算して歩容データを作成する。更に、歩容データ作成装置２９０は、オペレータが入力した５種のベクトルと１種のスカラ量に基づいて、各関節の目標トルクを計算して歩容データを作成する。手段２９４は、５種のベクトルと１種のスカラ量で定義されるロボットの位置と姿勢を実現する一つの体幹位置を示すデータを生成する。５種のベクトルと１種のスカラ量で定義されるロボットの位置と姿勢を実現する体幹位置は複数存在するので一意に決定することができない。ここでは任意の一個を採用する。体幹位置ベクトルＰを生成すると、６種のベクトルＣ，Ｄ，Ｅ，Ｆ，Ｐ，Ｒが揃うので、ロボットの位置と姿勢が一意に決定される。
【００４８】
ここで用いる体幹ベクトルＰは、仮に用いられるものであり、後述する手段３１０によって補正されるので、ラフなものでよい。人が指定して歩容データ作成装置２９０に入力して記憶してもよいし、歩容データ作成装置２９０で生成してもよい。
【００４９】
体幹位置ベクトルＰに対する、体幹姿勢ベクトルＲや足先位置ベクトルＣ，Ｅや足先姿勢ベクトルＤ，Ｆや体幹高さＱや目標ＺＭＰベクトルの変化パターンを規格化しておくことができる。一歩分の変化パターンが規格化されていれば、人が体幹位置ベクトルＰを指定することによって、歩容データ作成装置２９０が必要とする５種のベクトルと１種のスカラ量を入力することができる。体幹位置ベクトルＰはジョイスティック等を利用して指定することができる。歩行するロボットを観測しながらジョイスティック等を操作して体幹位置ベクトルＰをリアルタイムで入力することが可能である。体幹位置ベクトルＰをリアルタイムで入力することができ、歩容データ作成装置２９０が必要とする５種のベクトルと１個のスカラ量をリアルタイムで入力することができ、歩容デー作成装置２９０がリアルタイムの制御に間に合うほど高速に歩容データを作成できれば、２足歩行ロボットの歩行をリアルタイムで指定することができる。
【００５０】
体幹の位置Ｐと姿勢Ｒが決定されれば、左右の股関節の位置が決定する。左足平位置Ｃと左足平姿勢Ｄが決定されれば、左足首の位置が決定する。左股関節の位置と左足首の位置が決定されれば、左膝の位置Ｇが決定される。左腿の長さと左脛の長さが既知であり、左膝関節の回転自由度が１自由度しかないことから、左股関節の位置と左足首の位置が決まれば左膝の位置Ｇが一意に決定される。同様に、右足平位置Ｅと右足平姿勢Ｆから、右足首の位置が決定する。右股関節の位置と右足首の位置から、右膝の位置Ｈが決定される。手段２９６は、上記の幾何学的関係を利用して、左膝位置ベクトルＧと右膝位置ベクトルＨを計算する。手段２９８では、ロボットのＺＭＰ位置を計算する。ここでは、図２に示した６質点系モデルを用いる。
【００５１】
６質点を持つ力学系では、左足平近傍位置に、左脛下半分３２４の質量と左足首３２２の質量と左足平３２０の質量の合計質量Ｍ１が集中して存在する。右足平近傍位置に、右脛下半分３４０の質量と右足首３３８の質量と右足平３３６の質量の合計質量Ｍ３が集中して存在する。左膝位置に、左脛上半分３２６の質量と左膝関節３２８の質量と左腿下半分３３０の質量の合計質量Ｍ２が集中して存在する。右膝位置に、右脛上半分３４２の質量と右膝関節３４４の質量と右腿下半分３４６の質量の合計質量Ｍ４が集中して存在する。体幹下部基準点に、左腿上半分３３２の質量と左股関節３３４の質量と右腿上半分３４８の質量と右股関節３５０の質量と体幹下半分３５２の質量の合計質量Ｍ５が集中して存在する。体幹上部基準点に、体幹上半分３５４の質量Ｍ６が集中して存在するものとする。
【００５２】
質点Ｍ１の位置は、左足平近傍位置にあればよく、左足首関節位置からずれていてもよく、左足平位置ベクトルＣの終点からずれていてもよい。質点Ｍ３の位置は、右足平近傍位置にあればよく、右足首関節位置からずれていてもよく、右足平位置ベクトルＥの終点からずれていてもよい。これに対し、質点Ｍ２の位置は、左膝関節位置にあるとするのが極めて効果的であり、左膝関節位置に質量が集中して存在しているとすることによって、ＺＭＰ位置の計算が極めて簡単化され、体幹位置の補正量の計算が極めて簡単化される。同様に、質点Ｍ４の位置は、右膝関節位置にあるとするのが極めて効果的である。質点Ｍ５とＭ６は人間の背骨上に存在している。その高さは、集中質量Ｍ５とＭ６を用いて体幹の水平軸回りの慣性モーメントを計算した値と、実際の体幹の水平軸回りの慣性モーメントが一致する高さに設定しておくことが好ましい。
【００５３】
図３の手段２９８では、手段２９６で決定されるロボットの位置と姿勢の変化から、質点Ｍ１乃至Ｍ６の速度と加速度と、集中質量Ｍ５とＭ６による水平軸回りの慣性モーメントを利用して、ロボットに生じるＺＭＰ位置を計算する。
【００５４】
図３に示す歩容データ作成装置２９０は、目標ＺＭＰ位置を示すデータを入力して記憶する手段２９２を備えており、手段２９８で計算されたＺＭＰ位置と、手段２９２に記憶されている目標ＺＭＰ位置との偏差を計算することができる（手段３００）。
【００５５】
歩容データ作成装置２９０は、手段３００で計算されたＺＭＰ偏差を解消するのに必要な体幹位置ベクトルの補正量を計算して、目標ＺＭＰ位置と等しいＺＭＰ位置が計算される体幹位置ベクトルＰを計算する手段３１０を備えている。手段３１０は、体幹位置を示すデータをどれだけ補正すると左膝位置と右膝位置を示すデータがどれだけ変化してＺＭＰ位置を示すデータがどれだけ変化するか示関係を利用して体幹位置を示すデータの補正量を求める。補正手段３１０によると、繰返し計算して補正量を収束させる必要がなく、一度の補正でＺＭＰ偏差を解消することができる。体幹位置の補正量から左膝位置と右膝位置の移動量を計算するにあたって、体幹位置の補正量ΔＰに係数をかけることによって左膝位置と右膝位置の移動量を計算するようにすると計算が一層に簡単化される。体幹高さと膝位置高さの比例係数を利用することによって、体幹位置の補正量ΔＰから左膝位置と右膝位置の移動量を簡単に計算することができる。
【００５６】
上述したようにして、目標ＺＭＰ位置にほぼ一致するＺＭＰ位置が計算されるが、体幹位置ベクトルＰを１回補正しただけでは、なおもＺＭＰ偏差が十分に解消されない場合がある。この場合、手段２９８以降を再度活用して２回補正すると、ＺＭＰ偏差をさらに解消することができる。このように、目標ＺＭＰによく追従する歩容データを、少ない計算量で短時間で計算できることが検証されている。
【００５７】
続いて、各関節の目標トルク計算方法について説明する。図３の手段３１２では、手段３１０で決定されるロボットの位置と姿勢の変化から、質点Ｍ１乃至Ｍ６の速度と加速度と、集中質量Ｍ５とＭ６による水平軸回りの慣性モーメントを利用して、ロボットの各関節の目標トルクを計算する。各関節の目標トルクを計算するに際しては、ロボットの歩行／走行動作パターンに応じて目標トルクを計算することができる。本発明では、ロボットの脚が、立脚時であるか、遊脚時であるか、空中相であるかに応じて、関節の目標トルクを計算する。歩容データ作成装置２９０に入力されるデータから、ロボットの脚が、立脚時であるか、遊脚時であるか、空中相であるかを判定することができる。
【００５８】
図４（ａ）は、ロボットの脚が立脚時である場合に、立脚側に設けられた関節の目標トルク計算方法を例示する図である。ロボットの脚部が立脚である場合には、立脚の注目する関節からそのつま先方向に存在する質点を除いた他の質点を用いて、ロボットの立脚の関節の目標トルクを計算する。ここで、手段３１２は、支持脚となっている脚の足首関節３３８は固定しているものとし、目標トルクの計算対象とはしない。従って、立脚側に設けられた右膝関節３４４と右股関節３５０の目標トルクを計算する。以下では、目標トルク計算対象となる関節を注目関節と称す。
【００５９】
より詳細には、まず、手段３１２では、手段３１０で決定されるロボットの位置と姿勢の変化から、質点Ｍ１乃至Ｍ６の速度と加速度と、集中質量Ｍ５とＭ６による水平軸回りの慣性モーメントを利用して、各質点Ｍ１乃至６に発生する力Ｆ（慣性力及び重力）を計算する。ここで、手段３１２は、注目関節が右膝関節３４４と右股関節３５０である場合には、４個の質点Ｍ１、２、５、６に発生する力Ｆ（Ｆ１、Ｆ２、Ｆ５、Ｆ６）を計算する。尚、ロボットが右足平につま先関節（不図示）を備えている場合には、手段３１２は、つま先関節の目標トルクを計算するため、６個の質点Ｍ１乃至６に発生する力Ｆ（Ｆ１乃至６）を計算する。
【００６０】
次いで、手段３１２は、各質点から注目関節に働くモーメントＴを計算する。次式を用いて、動いている質点からの力Ｆが（遊脚・胴体側の質点からの力Ｆが）、注目関節（立脚側の関節）にもたらすモーメントを計算する。ここで、Ｔは注目関節に働くモーメントであり、Ｒは注目関節から質点への（相対）位置ベクトルであり、Ｆは質点に作用する力（慣性、重力）を示す。Ｒ及びＦは、ｘ、ｙ、ｚ方向の値を持つベクトルであり、これらベクトルＲ及びＦの外積を計算することで、ベクトルＴを計算する。
【数１】
0005071140.tif 000002
【００６１】
次いで、手段３１２は、モーメントＴについて、計算対象となる全ての質点について総和をとり、その合計値を注目関節でのモータのトルク値に変換する。このときの目標トルク値[Ｎ・ｍ]を次式に示す。ここで、ｉｎｒｔはアクチュエータのモータや、モータに使用している減速機の慣性であり、ｆｒｉｃはモータや減速機の摩擦である。目標トルクとは、例えば図４（ａ）に示すようにロボットが前進しようとしているときに、その前進をするために必要なトルクである。また、目標トルクはロボットの自重を支えるために必要なトルクでもある。ｉｎｒｔ（ｉｎｅｒｔｉａ）は、物（その質量や形状）によって決まる物理的な値であり、アクチュエータのモータについて、スペック表等から決定することができる。ｆｒｉｃ（ｆｒｉｃｔｉｏｎ）に関しても、基本的には、スペック表等から決定することができる。尚、ｆｒｉｃについては、後述する推定方法により推定される摩擦特性値を用いて計算することもできる。
【数２】
0005071140.tif 000003
【００６２】
図４（ｂ）は、ロボットの脚が遊脚時である場合に、遊脚側に設けられた関節の目標トルク計算方法を例示する図である。ロボットの脚部が遊脚である場合には、遊脚の注目する関節からそのつま先方向に存在する質点を用いて、ロボットの遊脚の関節の目標トルクを計算する。手段３１２は、遊脚側に設けられた左股関節３３４と、左膝関節３２８と、左足首関節３２２の目標トルクを計算する。遊脚時の脚部には２つの質点を配置しているのみである。手段３１２は、例えば、注目関節が左股関節３３４である場合には、２個の質点Ｍ１及び２に発生する力Ｆ（Ｆ１、Ｆ２）を計算する。以下、上述した立脚時の場合と同様にして、左股関節３３４の目標トルクを計算する。
【００６３】
図４（ｃ）は、ロボットの脚が空中相である場合に、各関節の目標トルク計算方法を例示する図である。ロボットが空中に浮いている空中相である場合には、脚部の注目する関節からそのつま先方向に存在する質点を用いて、ロボットの注目関節の目標トルクを計算する。空中相での各関節の目標トルクは、注目関節よりつま先側に存在する質点の個数について、その個数が少ない方向から計算することが計算上好ましい。即ち、注目関節よりつま先方向に存在する質点を考慮して、目標トルクを計算する。ニュートン・オイラー法では、どちらかの端部を固定端とした上で、自由端へと向かって、力の伝達を考慮してトルクを算出する。空中相では固定されている部分が存在しないため、ニュートン・オイラー法をそのまま適用しては、各関節の目標トルクを計算できないとも考えられる。しかし、上述した力学系を用いて、動力学を考慮して各質点に作用する力Ｆが計算されるため、空中相においても、立脚時、遊脚時と同様に、一端が固定されているものと想定して計算することができる。このため、固定端が存在せずとも、各関節の目標トルクを計算することができる。尚、空中相とは、ロボットが走行している際の状況であるため、例えば、ロボットはその走行時に股関節を前方へと大きく振り出す必要がある。即ち、空中相での関節の目標トルクとは、例えば股関節をそのように駆動するのに必要となるトルクである。
【００６４】
続いて、図５を参照して２足歩行ロボットの制御装置を説明する。図５は、ロボットの２足歩行を制御する制御装置の構成を示し、歩行指令データ作成装置２９０で作成された、体幹位置ベクトルＰ（これは歩行指令データ作成装置２９０によってオペレータが入力したものから修正されている）と、体幹姿勢ベクトルＲと、左足先位置ベクトルＣと、左足先姿勢ベクトルＤと、右足先位置ベクトルＥと、右足先姿勢ベクトルＦを入力し、逆キネマティクス計算する計算装置３０４を備えている。但し、体幹位置ベクトルＰについては、歩行指令データ作成装置２９０によって修正されるのみならず、後述する「倒立振子制御」と「ならい制御」を実施するために、更に修正されて計算装置３０４に入力される。また、体幹姿勢ベクトルＲについても、実際の体幹姿勢ベクトルが目標体幹姿勢ベクトルに一致するように、目標体幹姿勢ベクトルを補正する処理が実施されて計算装置３０４に入力される。
【００６５】
計算装置３０４は、入力された体幹位置ベクトルＰ（これは修正されている）と、体幹姿勢ベクトルＲ（これも補正されている）と、左足先位置ベクトルＣと、左足先姿勢ベクトルＤと、右足先位置ベクトルＥと、右足先姿勢ベクトルＦに基づいて、入力した各ベクトルで記述される位置と姿勢を実現するのに必要な各関節の回転角θを計算する。回転角は、各関節を回転させるモータの回転量で計算される。図５では、１個のアクチュエータ分しか表示されていないが、すべてのアクチュエータのモータ回転量が計算される。この計算では、逆キネマティクス演算が実施される。アクチュエータ毎に計算された目標回転量θは、各アクチュエータのためのドライバ３０６に入力される。各ドライバは、目標回転量と実際回転量の偏差に基づいて各アクチュエータのモータ３０８に加えるトルクを調整する。実際回転量は、アクチュエータのモータ毎に設けられているエンコーダ３１０で検出される。このフィードバック制御によって、アクチュエータのモータ３０８は、実際回転量が目標回転量に一致するようにフィードバック制御される。
【００６６】
目標ＺＭＰは、倒立振子モデル３３４に入力される。倒立振子モデル３３４には、実際の体幹位置ベクトルＰも入力される。実際の体幹位置ベクトルＰは、ロボットの体幹に設けられているジャイロ３２８の信号を演算装置３３０で演算して求められる。
【００６７】
倒立振子モデル３３４は、目標ＺＭＰと実際の体幹位置ベクトルＰを用いて、目標ＺＭＰから体幹位置ベクトルＰに向かう傾斜線の垂直からの傾きφを計算する。計算されたφは、ＺＭＰの修正量算出装置３３６に入力される。ＺＭＰの修正量算出装置３３６は、ΔＺＭＰ＝ｋ１×φ＋ｋ２×ｄφ／ｄｔの式によって、ＺＭＰの修正量を算出する。即ち、前記した傾斜角φに比例する値と、傾斜角φの時間微分に比例する値を加算してＺＭＰの修正量を算出する。算出されたＺＭＰの修正量ΔＺＭＰは、入力された目標ＺＭＰに加算され、目標ＺＭＰはΔＺＭＰだけ修正される。以上のように、目標ＺＭＰをΔＺＭＰだけ修正する処理を、通常は倒立振子制御と称している。
【００６８】
人間は、歩行する場合、とくに高速で走行する場合には顕著なように、体幹を前方に傾けて走行しやすくする。体幹を前方に傾斜させることで重心を前方に移動させ、前方に移動した重心に追従するように足を前方に移動させる。倒立振子制御は、人間のこの種の制御に対応するものであり、体幹位置を前方に傾ける制御をする。
【００６９】
倒立振子モデルで修正された目標ＺＭＰ（３４０）は、実際のＺＭＰ（３２６）と比較され、その偏差（３４２）が算出される。実際のＺＭＰ（３２６）は、ロボットの足の裏に設けられている複数の力センサ３２２の出力を演算装置３２４によって演算することで演算される。偏差３４２にはゲインｋ３が乗じられて体幹位置ベクトルＰのディメンジョンに変換される。体幹位置ベクトルＰのディメンジョンに変換された偏差ΔＰは、体幹位置ベクトルＰに足し合わされる。目標ＺＭＰ（３４０）と実際ＺＭＰ（３２６）の偏差（３４２）を体幹位置ベクトルＰのディメンジョンに変換して体幹位置ベクトルＰに足し合わせる処理を、通常は「ならい制御処理」と称している。
【００７０】
ロボットが歩行する面には、体幹位置ベクトルＰと、体幹姿勢ベクトルＲと、左足先位置ベクトルＣと、左足先姿勢ベクトルＤと、右足先位置ベクトルＥと、右足先姿勢ベクトルＦと、目標ＺＭＰを決定する段階では、予期していない凹凸が存在し、ロボットの足が例えば凸を踏むことがある。これは、人間であれば蹴躓くことに相当する。人間はそのとき、膝を曲げて腰の位置を前方に送ることによって転倒しないようにする。ならい制御処理は、人間のこの種の制御に対応するものであり、体幹を前方に平行移動する制御をする。膝を曲げて体幹を前方に平行移動することによって転倒を防止する場合、そのままでは歩行を続けることができない。転倒を防止した後には、膝を伸ばして通常の歩行姿勢に復帰することが必要である。倒立振子モデルは、それに相当する制御を実行する。比喩的に言えば、ならいモデルは体の柔軟性に相当し、倒立振子モデルは歩行姿勢の維持力に相当する。
【００７１】
尚、倒立振子制御系３３４で目標ＺＭＰを修正し、ならい制御系で目標ＺＭＰと実際ＺＭＰの偏差（３４２）によって目標体幹位置ベクトルＰを修正するにあたって、修正量制限装置３４６を組み込むことによって修正量を制限するようにしてもよい。
【００７２】
ならい制御は、体の柔軟性に相当する。ならい制御のためのゲインｋ３（変換装置３４４）が大きいほど、ロボットの肢体は柔軟に姿勢を変え、受けるショックを和らげる。従って、着地時等のようにショックを受ける場合には、ならい制御が強く働くことが好ましい。反面ならい制御が常時に強く働いていると、片足立脚時に慣性力で姿勢が乱れ、着地予定でないタイミングで着地して着地ショックが大きくなることがある。ならい制御のためのゲインｋ３の値の設定には、上述した相反する要素があり、最適値に調整することが難しい。この相反関係を解決するために、ならい制御のためのゲインｋ３の値をロボットの状態に合わせて増減するようにしてもよい。
【００７３】
発明の実施の形態１．
本実施の形態１に係るロボットは、図６に示すように、計算された目標回転量と、検出される実回転量の偏差（６２、６４）とに基づいて、アクチュエータのモータ８に加える指令トルクを調整する。ここで、計算された目標トルクを指令トルクに加算（６６）することを特徴とする。尚、実回転量として、例えば、実角度や実各速度が検出される。これらの実回転量はエンコーダ１０等により検出される。
【００７４】
従来技術では、目標関節角度に対して、エンコーダ１０等からの角度偏差、角速度偏差をフィードバックし（位置ループ、速度ループ）、それら偏差をトルク指令値に変換した後、トルク指令値をモータ８に与えて駆動させていた。このとき、着地時の衝撃吸収実現するため、図のゲイン（Ｋｐ、Ｋｖ）を小さくして、モータ８へ与える指令トルクを小さくし（即ち、関節を柔らかくして）、目標角度と実角度の偏差を許容するように制御していた。しかし、着地時の立脚を除いては、目標関節角度に対してモータ８の追従性が悪い場合には、ロボットは目標通りの軌道（姿勢）を実現することができずに不安定になりやすいものであった。尚、ゲインＫｐは、位置偏差（角度偏差）をトルク値に変換するためのゲインであり、ゲインＫｖは、速度偏差（角速度偏差）をトルク値に変換するためのゲインである。
【００７５】
本実施の形態１に係るロボットは、図６に示すように、位置・速度制御ループの最終出力に対して、上述した目標トルクをフィードフォワードトルクとして入力（加算６６）することで、ゲイン（Ｋｐ、Ｋｖ）を下げた場合でも、目標関節角度の追従性を良好に維持することができる。言い換えると、目標トルクを加算することで、ゲインＫｐの値を必要以上に大きな値とせず、小さな値に設定することができる。ゲインを小さな値に設定できるということは、剛性を低くし、関節を柔らかく制御可能であることを意味する。これによって、着地時に衝撃を吸収しやすくなる。但し、ゲインを必要以上に小さな値とした場合には、関節が不要に柔らかくなり転倒するおそれがあるため、その分を目標トルクで補償するものとする。
【００７６】
発明の実施の形態２．
本実施の形態２に係るロボットは、アクチュエータの実トルクを検出する。実トルクは、モータ８に通電する電流計１２等により検出する。そして、計算された目標トルクと指令トルクを比較するか、又は計算された目標トルクと検出された実トルクを比較する。ロボットは、比較結果に基づいて、アクチュエータの摩擦特性値を推定する。
【００７７】
アクチュエータの摩擦特性は、ロボットを組み直した場合やオーバーホール、時間経過によって、その特性が変化する。オーバーホールにより、組みつけ具合が前回と異なるため、例えば、摩擦が大きくなっていたりする。時間経過によっても、グリスが少なくなるなどの原因で摩擦が変化する。本実施の形態２に係るロボットによれば、オーバーホール、時間経過、温度変化等によって摩擦特性が変化した場合においても、摩擦特性値の同定を任意のタイミングで実施することで、常に正常な摩擦の値（摩擦トルク）を決定することができ、計算される目標トルクの精度を良好に維持することができる。
【００７８】
以下、図７乃至８を参照して、摩擦特性値の推定方法について説明する。図７は、摩擦特性パラメタ推定処理を説明するフローチャートである。まず、ロボットは、歩容データ作成装置２９０により作成された歩容データに基づいて、通常の歩行／走行動作を実施する（ステップＳ１０１）。このときロボットは、歩行／走行動作中のトルクデータを取得して記憶しておく。取得するトルクデータとしては、モータ８を駆動するための指令トルクでもよいし、実際に検出される実トルクでもよい。次いで、ロボットは、上述したようにして、目標トルクを計算する（ステップＳ１０３）。ここで、目標トルクの計算においては、上述したモータや減速機の摩擦ｆｒｉｃについては、図８に示す非線形摩擦特性モデルを用いて計算する。図８は、モータの角速度（ω）に応じて、減速機に生じる摩擦トルク（Ｔ）を示す図である。Ｋｃは静止摩擦係数であり、Ｋｖは粘性摩擦係数である。ここで、角速度ωが０以上の範囲においては、Ｔ＝Ｋｖ×ω＋Ｋｃの関係が成立する。尚、摩擦特性パラメタＫｃ及びＫｖの初期値としては、カタログのスペック表の値を用いることができる。
【００７９】
これら摩擦特性パラメタＫｃ及びＫｖは、上述したように様々な要因の影響を受けて変化するため、ロボットは、計算された目標トルクとトルクデータ（指令トルク又は実トルク）を比較し（ステップＳ１０４）、比較結果に基づいて、アクチュエータの摩擦特性パラメタを決定する（ステップＳ１０５）。図９は、計算された目標トルクと、取得されたトルクデータの変化を例示する図である。目標トルクとトルクデータの差が、角速度ωに起因するものであれば粘性摩擦係数Ｋｖを変更すればよいし、角速度ωが０の場合に差が生じていれば、静止摩擦係数Ｋｃを変更すればよい。即ち、目標トルクとトルクデータの時系列比較において、角速度ωが０の場合の差は、静止摩擦係数Ｋｃを示し、それ以外の時点での差はＫｖに比例することを利用して、摩擦特性パラメタＫｃ及びＫｖを決定する。例えば、偏差の二乗和を最小にするパラメタを選定することで、摩擦特性パラメタＫｃ及びＫｖを決定することができる。
【００８０】
目標トルクとトルクデータの比較は、遊脚時におけるデータを用いて比較することが好ましい。立脚時には、トルクデータとの比較においては、床からの外力まで考慮しなければならず、場合によっては、角速度ω以上に床反力からの成分が大きくなり、摩擦の影響が相対的に著減するおそれがある。このため、計算が複雑化するという問題がある。一方で、遊脚時では床からの外力を考慮せずに済むため、摩擦や慣性の影響が大きく、それら成分が相対的に顕著となるため、より容易に摩擦特性パラメタを決定することができる。
【００８１】
尚、摩擦特性パラメタの推定処理は、上述したように、予めパラメタ決定プログラムをロボットに実装しておき、ロボットの動作中にリアルタイムにパラメタ決定処理を実行するようにしてもよいし、実験終了後に、オフラインにて２つのデータを比較して、摩擦特性パラメタを決定するようにしてもよい。リアルタイムに摩擦特性パラメタの推定処理を実行する構成とすることで、任意のタイミングで摩擦パラメタ決定処理を実行することができ、目標トルク計算精度を高いレベルに維持しつつ、効率的に摩擦特性パラメタ推定処理を実行することができる。また、パラメタ推定処理はオペレータがトルクデータと目標トルクとを見比べ、両者が大きくずれてきた場合に決定するようにしてもよい。
【００８２】
発明の実施の形態３．
本実施の形態３に係るロボットは、図１２に示すように、ロボットの部位の剛性を局所的に低減させ、低剛性部位がバネ要素として作用するロボットである。ロボットは、計算された目標トルクと検出された実トルクの偏差（６８）と、バネ要素のバネ定数とに基づいて、低剛性部位を駆動するアクチュエータの目標回転量を補正するのに必要な補正量を計算する。ここで、補正量を目標回転量に加算（７０）することを特徴とする。
【００８３】
ロボットのサーボ追従性が良く、メカ（リンク、関節部、減速機など）の剛性を十分に高くすることでき、さらに外乱がなければ、ロボットは略目標値（重心、関節角度など）に追従し、安定した動作が可能である。しかし、現実的には、サーボ追従性も調整が難しく、また、メカの剛性が低い部分も撓みやすいという問題がある。サーボに関しては、実験によりある程度調整可能ではあるが、メカに関しては、剛性の向上は重量増加を招き、更に、設計変更や組み直しのために余計な時間を要するという問題が生じる。そのため、低剛性部位は衝撃吸収の効果がある反面、ロボットの姿勢が崩れる原因にもなりうる。
【００８４】
例えば、図１０（ａ）に示す目標姿勢に対して、図１０（ｂ）に示すように、ロボットの低剛性部位（例えば、足裏部であり、図において斜線で示す部分。）が撓み、重心位置Ｇがずれることがある。そこで、本実施の形態３に係るロボットは、図１０（ｃ）に示すように、低剛性部位付近の関節（例えば足首関節）に対して、フィードフォワード的に角度補正を加えることで、重心の追従性を向上させるものである。
【００８５】
図１１は、ロボットの足裏部（図において斜線で示す部分）が撓む状況を例示する図である。図１１では、１質点と片足のみの例を示すが、ロボットのフルモデルの場合も同様の現象が発生する。図１１（ａ）は、ＺＭＰが足裏部の略中心に位置する場合を例示する図である。一方、図１１（ｂ）は、質点の慣性力によってＺＭＰが足裏部の端部へと移動したため、荷重のバランスが偏り、低剛性部位が撓む場合を例示する図である。
【００８６】
ＺＭＰの移動が足裏部の低剛性に主に起因する場合には、図１１（ｃ）に示すように、足裏部の撓みを、足裏部に最も近い関節により補正することができる。即ち、低剛性部位に最も近い足首関節をバネモデルで仮定し、低剛性部位の撓みを補正するための補正角度θを次式により計算する。ここで、Ｔｒｅｆは上述したようにして計算した目標トルクであり、Ｔｍｅｓは上述したようにして検出される実トルクであり、Ｋはバネ定数である。バネ定数Ｋは、実機やシミュレーションによる検討で、予め又はリアルタイムに決定することができる。
【数３】
0005071140.tif 000004
【００８７】
本実施の形態３に係るロボットは、図１２に示すように、計算された目標トルクと検出された実トルクの偏差（６８）に応じた補正角度θを、目標関節角度に加算（７０）する。このように、低剛性部位の撓み分を、目標トルクと実トルクの関係から関節角度レベルで補正することで、低剛性部位による衝撃吸収効果を損ねることなく、重心の位置追従性を改善することができる。
【００８８】
発明の実施の形態４．
本実施の形態４に係るロボットは、指令トルクに対するリミット値を設定して記憶する。そして、ロボットは、指令トルクとリミット値とを比較して、指令トルクがリミット値を超えた場合に、リミット値に応じた駆動信号をアクチュエータのモータ８に出力（７２）する。
【００８９】
上述した実施の形態１及び３において、ロボットは目標関節角度及び目標トルクに基づいてトルク指令値を計算し、そのトルク指令値を与えることでアクチュエータのモータを駆動する。アクチュエータのモータを駆動する場合に、例えば、ロボットの胴体が前方に傾いた場合には、その姿勢を元に戻すため、ロボットは足裏を踏ん張る必要がある。しかし、胴体に作用する慣性は足裏を押す力より大きいため、足裏を押す力が大きくなりすぎる場合には、足裏が剥がれてしまうという問題がある。そこで、本実施の形態３に係るロボットは、モータに与えるトルク指令値にトルクリミットを設け、足裏が剥がれる前に、足首関節に与えるトルクについて事前に制限して、必要以上のトルクが発生することを防止する。
【００９０】
図１３を参照して、足首関節に与えるトルク指令値の制限値について説明する。図に示すように、まず、足首関節に与えるトルクτ＊について、次式で示すつりあいの式が成立する。足首周りのモーメントを考慮して、ＺＭＰ＊がＺＭＰｍａｘとなる場合に、ＺＭＰｍａｘを支点に足平が回転する（足平が剥がれる）場合のトルクτｍａｘを計算する。ここで、トルクは反時計回りの方向を正の値とし、時計回りの方向を負の値とする。Ｆ１とＦ２は重心に作用する慣性力と略等しい。重心位置軌道は既知であるため、その値を微分することでＦ１とＦ２を計算することができる。また、Ｄｍａｘとｈは、図に示す足首関節とＺＭＰｍａｘとの位置関係を表すものであり、メカの機構から決定することができる。許容ＺＭＰ範囲（Ｄｍａｘ，Ｄｍｉｎ）は、足裏においてＺＭＰが存在可能な範囲を示すものであり、実機の特性を見て決定する。Ｄｍａｘは足平の前方部が剥がれないようにする場合における、ＺＭＰが存在可能な足平後方部までの範囲を示す。Ｄｍｉｎは足平の後方部が剥がれないようにする場合における、ＺＭＰが存在可能な足平前方部までの範囲を示す。
【数４】
0005071140.tif 000005
【００９１】
図１４は、計算したトルク指令値の制限値（τｍａｘ、τｍｉｎ）を例示する図である。図では、横軸は計算した目標トルクであり、縦軸は実際に与えるトルク（トルク指令値）である。即ち、目標トルクがτｍａｘを超えないようにトルク指令値を制限すると共に、目標トルクがτｍｉｎを下回らないようにトルク指令値を制限する。
【００９２】
本実施の形態４に係るロボットは、図１に示すように、トルク指令値についてトルクリミット７２を設定することで、立脚時の足平が床から剥がれることを防止することができる。
【００９３】
尚、上述した実施の形態においては、ＺＭＰの許容範囲Ｄを予め計算するものとしたが、ＺＭＰの許容範囲Ｄは、歩行／走行動作中にリアルタイムに変更するものとしてもよい。また、トルクリミットを設定する関節は床面に近い関節のトルク指令値に限定されず、脚部に設けられた任意の関節に与えるトルク指令値について、トルクリミットを設定するようにしてもよい。
【００９４】
発明の実施の形態５．
上述した実施の形態においては、計算した目標トルクをそのまま使用する構成としたが、本発明はこれに限定されない。即ち、本実施の形態５に係るロボットは、アクチュエータを駆動可能な所定値を予め設定して記憶しておき、目標トルクとその所定値とを比較して、目標トルクが所定値を超えた場合には、目標トルクを所定値に変更するようにしてもよい。ここで、アクチュエータが駆動可能な最大トルク値を所定値として設定することができる。
【００９５】
ロボットの歩行／走行動作パターンや、安定化制御などにより、目標軌道が不連続となる場合がある。かかる場合に、関節によっては、目標トルクがアクチュエータ（モータ）の仕様を上回る可能性がある。モータの最大仕様範囲を超えるトルクや角速度ではアクチュエータを動作させることはできないため、軌道追従性が劣化するという問題がある。本実施の形態５に係るロボットは、計算された目標トルクの大きさを確認して、モータの仕様範囲に収まるように変更する。アクチュエータ仕様は、一般的に、図１５に示すトルク線図を用いて表現される。図において、縦軸はモータの回転数を示し、横軸はモータのトルクを示す。モータの最大仕様が、回転数とトルクに応じて決定されている。図１５に示すように、計算された目標トルク（図において実線で示す）が最大仕様の範囲内である場合には、目標トルクをそのまま出力する。一方で、計算された目標トルク（図において破線線で示す）が最大仕様の範囲内に収まらない場合には、目標トルクの値を変更して出力する。
【００９６】
目標トルクの変更方法としては、例えば以下の２通りを採用することができる。まず、図１６（ａ）に示すように目標トルクが最大仕様を超えた場合には、図１６（ｂ）に示すように、最大仕様、若しくは最大仕様よりも小さな所定値で、目標トルクの値を変更することができる。最大仕様よりも小さな所定値は、オペレータが与えることができる。また、図１７（ａ）に示すように、目標トルクが最大仕様を超えた場合には、図１７（ｂ）に示すように、１計算周期前の目標トルク値（過去データ）を、新たなトルクデータ（最新のデータ）として置き換えることもできる。
【００９７】
その他の実施の形態．
上述した実施の形態では２の脚リンクを備える脚式ロボットについて説明したが、本発明は３以上の脚リンクを備える脚式ロボットとして具現化することもできるし、１の脚リンクのみを備える脚式ロボットとして具現化することもできる。
【００９８】
また、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施の形態に係る脚式ロボットの構成を示す図である。
【図２】本発明の実施の形態に係る６質点モデルを概念的に示す図である。
【図３】本発明の実施の形態に係る歩容データ作成装置の構成を示す図である。
【図４】本発明の実施の形態に係る制御装置の構成を示す図である。
【図５】本発明の実施の形態に係る目標トルク計算方法を説明するための図である。
【図６】本発明の実施の形態１に係る制御装置の構成を示す図である。
【図７】本発明の実施の形態２に係る摩擦特性パラメタ推定処理のフローチャートである。
【図８】本発明の実施の形態２に係る非線形摩擦特性モデルを示す図である。
【図９】本発明の実施の形態２に係る摩擦特性パラメタ推定処理を説明するための図である。
【図１０】本発明の実施の形態３に係る撓み補正処理を説明するための図である。
【図１１】本発明の実施の形態３に係る撓み補正処理を説明するための図である。
【図１２】本発明の実施の形態３に係る制御装置の構成を示す図である。
【図１３】本発明の実施の形態４に係るトルクリミットを説明するための図である。
【図１４】本発明の実施の形態４に係るトルクリミットを説明するための図である。
【図１５】本発明の実施の形態５に係る目標トルク変更方法を説明するための図である。
【図１６】本発明の実施の形態５に係る目標トルク変更方法を説明するための図である。
【図１７】本発明の実施の形態５に係る目標トルク変更方法を説明するための図である。
【符号の説明】
【０１００】
６  モータドライバ、８  モータ、１０  エンコーダ、１２  電流計、
２９０  歩容データ作成装置、
３２８  左膝関節、３３４  左股関節、３４４  右膝関節、３５０  右股関節、
３２０  左足平、３２２  左足首、３２４  左脛下半分、３２６  左脛上半分、
３３０  左腿下半分、３３２  左腿上半分、３３６  右足平、３３８  右足首、
３４０  右脛下半分、３４２  右脛上半分、３４６  右腿下半分、３４８  右腿上半分、
３５２  体幹下半分、３５４  体幹上半分
【図１】
0005071140.tif 000006
【図２】
0005071140.tif 000007
【図３】
0005071140.tif 000008
【図４】
0005071140.tif 000009
【図５】
0005071140.tif 000010
【図６】
0005071140.tif 000011
【図７】
0005071140.tif 000012
【図８】
0005071140.tif 000013
【図９】
0005071140.tif 000014
【図１０】
0005071140.tif 000015
【図１１】
0005071140.tif 000016
【図１２】
0005071140.tif 000017
【図１３】
0005071140.tif 000018
【図１４】
0005071140.tif 000019
【図１５】
0005071140.tif 000020
【図１６】
0005071140.tif 000021
【図１７】
0005071140.tif 000022