(57)【要約】  【課題】  人間が搭乗した状態或いは重量物等を積載した状態であっても２足歩行ロボット装置に安定した２足歩行を行わせることができる歩行パターン作成装置の提供。  【解決手段】  本発明の歩行パターン作成装置は、予め取得した搭乗者の力学モデルのパラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段２２２ａと、算出した各質点の軌道に基づいて搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段２２２ｂと、算出した２足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段２１９と、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置を算出すると共に足部の姿勢を算出する足部位置姿勢算出手段２２１とを有する。【選択図】  図１８
2008068339.tif 000002
【特許請求の範囲】
【請求項１】
足部を備えた脚部と腰部とから成る２足歩行ロボット装置の歩行パターンを作成する歩行パターン作成装置であって、
前記足部の軌道と前記腰部の初期軌道を設定する軌道設定手段と、
前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ＺＭＰ軌道設定手段と、
前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ＺＭＰ回りモーメント算出手段と、
前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出手段と、
前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記２足歩行ロボット装置の各質点の加速度を算出する質点加速度算出手段と、
予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段と、
前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段と、
前記算出した前記２足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段と、
前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出手段と
を有することを特徴とする歩行パターン作成装置。
【請求項２】
前記搭乗者の力学モデルは、１乃至複数の固定質点と１乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出手段は、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することを特徴とする請求項１に記載の歩行パターン作成装置。
【請求項３】
前記ＺＭＰ回りモーメント算出手段において算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換手段と、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定手段とを備え、前記モーメント補償軌道算出手段は、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することを特徴とする請求項１又は２に記載の歩行パターン作成装置。
【請求項４】
前記目標ＺＭＰ回りモーメント算出手段は、前記脚部の運動により生じる目標ＺＭＰ回りモーメントを算出する下肢運動による目標ＺＭＰ回りモーメント算出手段と、前記腰部の運動により生じる目標ＺＭＰ回りモーメントを算出する腰運動による目標ＺＭＰ回り既知モーメント算出手段とを有することを特徴とする請求項１乃至３の内いずれか１項に記載の歩行パターン作成装置。
【請求項５】
前記足部位置姿勢算出手段は、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出手段と、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段と、前記回転行列算出手段で算出した回転行列により足部の姿勢を算出する姿勢算出手段とを有することを特徴とする請求項１乃至４の内いずれか１項に記載の歩行パターン作成装置。
【請求項６】
足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とからなり、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項１乃至５の内いずれか１項に記載の歩行パターン作成装置と無線通信を行う制御コンピュータを有する２足歩行ロボット装置であって、
前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて２足歩行の制御を行うことを特徴とする２足歩行ロボット装置。
【請求項７】
前記腰部は、前記搭乗部から受ける力及びモーメントを検出する搭乗者検出部を備えていることを特徴とする請求項６に記載の２足歩行ロボット装置。
【請求項８】
前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段と、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段と、前記歩行開始命令手段の指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御手段とを有することを特徴とする請求項６又は７に記載の２足歩行ロボット装置。
【請求項９】
前記モータ制御手段は、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令手段の指令に基づいて出力する歩行パターン出力手段と、前記歩行パターン出力手段から出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算手段とを有することを特徴とする請求項８に記載の２足歩行ロボット装置。
【請求項１０】
足部を備えた脚部と腰部とから成る２足歩行ロボット装置の歩行パターンを作成する歩行パターン作成方法であって、
前記足部の軌道と前記腰部の初期軌道を設定する軌道設定ステップと、
前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ＺＭＰ軌道設定ステップと、
前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ＺＭＰ回りモーメント算出ステップと、
前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出ステップと、
前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記２足歩行ロボット装置の各質点の加速度を算出する質点加速度算出ステップと、
予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出ステップと、
前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出ステップと、
前記算出した前記２足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出ステップと、
前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出ステップと
を有することを特徴とする歩行パターン作成方法。
【請求項１１】
前記搭乗者の力学モデルは、１乃至複数の固定質点と１乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出ステップにおいて、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することを特徴とする請求項１０に記載の歩行パターン作成方法。
【請求項１２】
前記ＺＭＰ回りモーメント算出ステップにおいて算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換ステップと、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定ステップとを備え、前記モーメント補償軌道算出ステップにおいては、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することを特徴とする請求項１０又は１１に記載の歩行パターン作成方法。
【請求項１３】
前記目標ＺＭＰ回りモーメント算出ステップは、前記脚部の運動により生じる目標ＺＭＰ回りモーメントを算出する下肢運動による目標ＺＭＰ回りモーメント算出ステップと、前記腰部の運動により生じる目標ＺＭＰ回りモーメントを算出する腰運動による目標ＺＭＰ回り既知モーメント算出ステップとを有することを特徴とする請求項１０乃至１２の内いずれか１項に記載の歩行パターン作成方法。
【請求項１４】
前記足部位置姿勢算出ステップは、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出ステップと、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出ステップと、前記回転行列算出ステップで算出した回転行列により足部の姿勢を算出する姿勢算出ステップとを有することを特徴とする請求項１０乃至１３の内いずれか１項に記載の歩行パターン作成方法。
【請求項１５】
足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とから成り、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項１乃至５の内いずれか１項に記載の歩行パターン作成装置と無線通信を行う制御用コンピュータを有する２足歩行ロボット装置の制御方法であって、前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて２足歩行の制御を行うことを特徴とする２足歩行ロボット装置の制御方法。
【請求項１６】
前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定ステップと、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令ステップと、前記歩行開始命令ステップにおける指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御ステップとを有することを特徴とする請求項１５に記載の２足歩行ロボット装置の制御方法。
【請求項１７】
前記モータ制御ステップは、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令ステップにおける指令に基づいて出力する歩行パターン出力ステップと、前記歩行パターン出力ステップから出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算ステップとを有することを特徴とする請求項１６に記載の２足歩行ロボット装置の制御方法。
【請求項１８】
コンピュータに請求項１０乃至１４の内いずれか１項に記載の歩行パターン作成方法の各ステップを実行させるためのプログラム。
【請求項１９】
請求項１８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２０】
コンピュータに請求項１５乃至１７の内いずれか１項に記載の２足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラム。
【請求項２１】
請求項２０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２足歩行ロボット装置に２足歩行を行わせる歩行パターンを作成する装置、その歩行パターンに基づいて２足歩行を行う２足歩行ロボット装置、２足歩行を行わせる歩行パターンを作成する方法、および２足歩行を行う２足歩行ロボット装置の制御方法、ならびに、その歩行パターン作成方法とその２足歩行ロボット装置の制御方法を実行させるためのプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
近年、人間が搭乗した状態で歩行可能な人間搭乗型の２足歩行ロボット装置の研究が行われている。しかしながら、これらの２足歩行ロボット装置は極めて大型で重量が人間の重量に比べはるかに大きいため、人間の住環境等の狭隘な環境での運用が困難である。その反面、これらの人間搭乗型の２足歩行ロボット装置では搭乗者の運動を考慮しなくても歩行の安定性に与える影響は小さく、搭乗者の運動を考慮した２足歩行に関連する研究も行われていない。
一方、従来、２足歩行を行わせる歩行パターンを作成する装置及び方法としては、（特許文献１）に記載されたものがある。この文献では、２足歩行ロボット装置の足部の軌道と該足部において目標ゼロモーメントポイントとを設定し、設定した目標ゼロモーメントポイントに応じて腰部のモーメント補償軌道を算出し、設定した足部の軌道と腰部のモーメント補償軌道とにより算出された各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出し、算出したエラーモーメントが所定モーメントより小さくなるような歩行パターンとすることで、２足歩行の安定化を図っている。この技術ではロボットの脚機構にパラレルリンク機構を用いることが示されており、これにより上記のような大型のものではなく、小型、軽量な２足歩行ロボット装置を実現できるが、（特許文献１）では、体幹（ロボットの胴部）の質点は腰部に固定されたものとしてロボットのモデル化を行っているため、２足歩行ロボット装置に搭乗する搭乗者を考慮した歩行パターンの作成を行っていない。
【特許文献１】特開２００４−８２２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように、搭乗者や積載物の重量に対して比較的小型で軽量な２足歩行ロボット装置において人間等が搭乗した場合であっても安定歩行が可能であり、且つ、このような２足歩行の安定化を主にソフトウェアによる処理で実現可能な２足歩行ロボット装置の出現が要求されていた。
【０００４】
本発明は、上記従来の要求を充たすもので、人間が搭乗した状態或いは重量物等を積載した状態であっても２足歩行ロボット装置に安定した２足歩行を行わせることができる歩行パターンを作成する歩行パターン作成装置、安定した２足歩行を行うことができる２足歩行ロボット装置、２足歩行ロボット装置に安定した２足歩行を行わせることができる歩行パターンを作成する歩行パターン作成方法、２足歩行ロボット装置に安定した２足歩行を行うことができる２足歩行ロボット装置の制御方法、ならびに、その歩行パターン作成方法とその２足歩行ロボット装置の制御方法を実行させるためのプログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために本発明の歩行パターン作成装置、２足歩行ロボット装置、歩行パターン作成方法、２足歩行ロボット装置の制御方法、プログラムおよび記録媒体は、以下の構成を有している。
本発明の請求項１に記載の歩行パターン作成装置は、足部を備えた脚部と腰部とから成る２足歩行ロボット装置の歩行パターンを作成する歩行パターン作成装置であって、前記足部の軌道と前記腰部の初期軌道を設定する軌道設定手段と、前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ＺＭＰ軌道設定手段と、前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ＺＭＰ回りモーメント算出手段と、前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出手段と、前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記２足歩行ロボット装置の各質点の加速度を算出する質点加速度算出手段と、予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段と、前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段と、前記算出した前記２足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段と、前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出手段とを有することとしたものである。
この構成により、以下の作用を有する。
（１）搭乗者質点軌道算出手段は搭乗者の力学モデルのパラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出し、搭乗者質点加速度算出手段は算出した各質点の軌道に基づいて各質点の加速度を算出し、エラーモーメント算出手段は２足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出し、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置及び姿勢を算出するので、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者や積載物の受動的運動（２足歩行ロボット装置の運動による受動的な運動）も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型等の２足歩行ロボット装置に極めて安定した歩行を行わせることができる歩行パターンを作成することができる。
（２）搭乗者の体重や体型、積載物の重量や大きさ、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を２足歩行ロボット装置に行わせることができる歩行パターンを作成することができる。
（３）搭乗者や積載物の重量に対して比較的小型で軽量な２足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境で２足歩行ロボット装置を運用することが可能になり実用性に優れる。
【０００６】
ここで、本発明の方法により作成された歩行パターンは、脚機構としてパラレルリンク機構やシリアルリンク機構等の種々の機構を用いた２足歩行ロボット装置の歩行パターンとして使用することができる。
搭乗者の力学モデルとしては、２足歩行ロボットの腰部に固定とされる固定質点としての１乃至複数下半身質点と、自由質点としての１乃至複数の上半身質点と、下半身質点と上半身質点との間の仮想的なバネ等の弾性要素及びダンパ等の粘性要素とを有するものが用いられる。なお、バネダンパ系としてマックスウェルモデルやフォークトモデル等、種々のものを用いることができる。搭乗者の力学モデルのパラメータとしては、各質点の質量や初期位置、弾性要素の弾性係数、粘性要素の粘性係数等が用いられる。なお、この力学モデルは搭乗者としての人間をモデル化したものに限らず、２足歩行ロボット装置に積載する積載物（特に剛性の低いものや重量物を積み上げたもの等の受動的運動がロボットの歩行に与える影響の大きいもの）の重心の揺れをバネダンパ系の振動で近似する等してモデル化したものとすることもでき、この場合、積載物の積載時における歩行の安定性を図ることができる。
【０００７】
請求項２に記載の歩行パターン作成装置は、請求項１に記載の歩行パターン作成装置において、前記搭乗者の力学モデルは、１乃至複数の固定質点と１乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出手段は、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することとしたものである。
この構成により、請求項１の作用に加え、以下の作用を有する。
（１）搭乗者質点軌道算出手段は搭乗者の力学モデルの自由質点の質量、初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数に基づいて自由質点の軌道を算出するので、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することができ、正確にモデル化できるため搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を２足歩行ロボット装置に行わせることができる歩行パターンを作成することができる。
（２）搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得（同定）を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができる。
【０００８】
請求項３に記載の歩行パターン作成装置は、請求項１又は２に記載の歩行パターン作成装置において、前記ＺＭＰ回りモーメント算出手段において算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換手段と、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定手段とを備え、前記モーメント補償軌道算出手段は、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することとしたものである。
この構成により、請求項１又は２の作用に加え、以下の作用を有する。
（１）フーリエ変換手段は目標ゼロモーメントポイント回りのモーメントとエラーモーメントとの総和に基づいてフーリエ係数を算出し、フーリエ係数決定手段は算出したフーリエ係数に基づいてモーメント補償軌道の近似解を求めるためのフーリエ係数を決定し、モーメント補償軌道算出手段は決定したフーリエ係数に基づく逆フーリエ変換により腰部のモーメント補償軌道を算出するので、腰部のモーメント補償軌道を正確に算出することができ、目標ゼロモーメントポイント回りのモーメントを迅速にゼロに近づけることができ、歩行安定性の高い歩行パターンを迅速に作成することができる。
【０００９】
請求項４に記載の歩行パターン作成装置は、請求項１乃至３の内いずれか１項に記載の歩行パターン作成装置において、前記目標ＺＭＰ回りモーメント算出手段は、前記脚部の運動により生じる目標ＺＭＰ回りモーメントを算出する下肢運動による目標ＺＭＰ回りモーメント算出手段と、前記腰部の運動により生じる目標ＺＭＰ回りモーメントを算出する腰運動による目標ＺＭＰ回り既知モーメント算出手段とを有することとしたものである。
この構成により、請求項１乃至３の内いずれか１項の作用に加え、以下の作用を有する。
（１）目標ＺＭＰ回りモーメント算出手段は、下肢運動による目標ＺＭＰ回りモーメント算出手段と腰運動による目標ＺＭＰ回り既知モーメント算出手段とを有するので、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができ、腰部のモーメント補償軌道を正確に算出することができ、歩行安定性の高い歩行パターンを作成することができる。
【００１０】
請求項５に記載の歩行パターン作成装置は、請求項１乃至４の内いずれか１項に記載の歩行パターン作成装置において、前記足部位置姿勢算出手段は、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出手段と、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段と、前記回転行列算出手段で算出した回転行列により足部の姿勢を算出する姿勢算出手段とを有することとしたものである。
この構成により、請求項１乃至４の内いずれか１項の作用に加え、以下の作用を有する。
（１）足部位置姿勢算出手段は、腰座標系から見た足部の位置を算出する原点位置算出手段と、腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段と、算出した回転行列により足部の姿勢を算出する姿勢算出手段とを有するので、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができ、歩行パターンを用いた２足歩行ロボット装置の制御において、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができる。
【００１１】
請求項６に記載の２足歩行ロボット装置は、足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とからなり、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項１乃至５の内いずれか１項に記載の歩行パターン作成装置と無線通信を行う制御コンピュータを有する２足歩行ロボット装置であって、
前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて２足歩行の制御を行うこととしたものである。
この構成により、以下の作用を有する。
（１）腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途（たとえば福祉用、移動用）に適合する２足歩行ロボットを容易に構築することができる。
（２）２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができる。
（３）足部の位置と姿勢のデータに対して逆運動学演算を行って脚部を伸縮するシリンダの長さを制御することができるので、パラレルリンク機構においてはリアルタイム演算が困難な順運動学演算を行う必要がなく、リアルタイム演算が容易な逆運動学演算によりロボットの歩行を制御することができる。
（４）種々の補正データを足部の位置や姿勢の次元で足し合わせてから逆運動学演算を行うという容易な実装ができ、２足歩行ロボットの歩行を更に安定化することができる。
（５）歩行パターンを無線を介して遠隔地でも受信することができる。
【００１２】
請求項７に記載の２足歩行ロボット装置は、請求項６に記載の２足歩行ロボット装置において、前記腰部は、前記搭乗部から受ける力及びモーメントを検出する搭乗者検出部を備えていることとしたものである。
この構成により、請求項６の作用に加え、以下の作用を有する。
（１）２足歩行ロボット装置に搭乗者が搭乗した状態で腰部を揺動させる動作を行わせ、その時の搭乗者検出部の検出値に基づいて搭乗者の力学モデルのパラメータを取得（同定）することができるので、パラメータの取得を２足歩行ロボット装置を用いて正確に且つ容易に行うことができ、他の装置を用いることなく搭乗者のモデル化を正確に且つ簡単に行うことができる。
【００１３】
請求項８に記載の２足歩行ロボット装置は、請求項６又は７に記載の２足歩行ロボット装置において、前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段と、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段と、前記歩行開始命令手段の指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御手段とを有することとしたものである。
この構成により、請求項６又は７の作用に加え、以下の作用を有する。
（１）歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段を有するので、歩行状態において２足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段と、モータを制御してシリンダの長さを制御するモータ制御手段とを有するので、歩行パターン作成装置で作成された歩行パターンに基づいて周囲または自己の状態（たとえば搭載重量の軽重状態）に応じた適切な歩行を行うことができる。
【００１４】
請求項９に記載の２足歩行ロボット装置は、請求項８に記載の２足歩行ロボット装置において、前記モータ制御手段は、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令手段の指令に基づいて出力する歩行パターン出力手段と、前記歩行パターン出力手段から出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算手段とを有することとしたものである。
この構成により、請求項８の作用に加え、以下の作用を有する。
（１）歩行パターン出力手段から出力される足部の位置・姿勢の目標値を逆運動学演算してシリンダの長さを算出する逆運動学演算手段を有するので、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さ（つまりシリンダ長さ）を制御することができ制御が容易であると共に、逆運動学演算において種々の補正データを用いて足部の位置・姿勢に関して種々の制御を行うことができ、２足歩行ロボット装置の歩行を更に安定化することができる。
【００１５】
請求項１０に記載の歩行パターン作成方法は、足部を備えた脚部と腰部とから成る２足歩行ロボット装置の歩行パターンを作成する歩行パターン作成方法であって、前記足部の軌道と前記腰部の初期軌道を設定する軌道設定ステップと、前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ＺＭＰ軌道設定ステップと、前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ＺＭＰ回りモーメント算出ステップと、前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出ステップと、前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記２足歩行ロボット装置の各質点の加速度を算出する質点加速度算出ステップと、予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出ステップと、前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出ステップと、前記算出した前記２足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出ステップと、前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出ステップとを有することとしたものである。
この構成により、以下の作用を有する。
（１）搭乗者質点軌道算出ステップにおいて搭乗者の力学モデルのパラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出し、搭乗者質点加速度算出ステップにおいて算出した各質点の軌道に基づいて各質点の加速度を算出し、エラーモーメント算出ステップにおいて２足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出し、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置及び姿勢を算出するので、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者や積載物の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型等の２足歩行ロボット装置に極めて安定した歩行を行わせることができる歩行パターンを生成することができる。
（２）搭乗者の体重や体型、積載物の重量や大きさ、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を２足歩行ロボット装置に行わせることができる歩行パターンを生成することができる。
（３）搭乗者や積載物の重量に対して比較的小型で軽量な２足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境で２足歩行ロボット装置を運用することが可能になり実用性に優れる。
【００１６】
請求項１１に記載の歩行パターン作成方法は、請求項１０に記載の歩行パターン作成方法において、前記搭乗者の力学モデルは、１乃至複数の固定質点と１乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出ステップにおいて、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することとしたものである。
この構成により、請求項１０の作用に加え、以下の作用を有する。
（１）搭乗者質点軌道算出ステップにおいて搭乗者の力学モデルの自由質点の質量、初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数に基づいて自由質点の軌道を算出するので、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を２足歩行ロボット装置に行わせることができる歩行パターンを生成することができる。
（２）搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得（同定）を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができる。
【００１７】
請求項１２に記載の歩行パターン作成方法は、請求項１０又は１１に記載の歩行パターン作成方法において、前記ＺＭＰ回りモーメント算出ステップにおいて算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換ステップと、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定ステップとを備え、前記モーメント補償軌道算出ステップにおいては、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することとしたものである。
この構成により、請求項１０又は１１の作用に加え、以下の作用を有する。
（１）フーリエ変換ステップにおいて目標ゼロモーメントポイント回りのモーメントとエラーモーメントとの総和に基づいてフーリエ係数を算出し、フーリエ係数決定ステップにおいて算出したフーリエ係数に基づいてモーメント補償軌道の近似解を求めるためのフーリエ係数を決定し、モーメント補償軌道算出ステップにおいて決定したフーリエ係数に基づく逆フーリエ変換により腰部のモーメント補償軌道を算出するので、腰部のモーメント補償軌道を正確に算出することができ、目標ゼロモーメントポイント回りのモーメントを軌道が発散することなく迅速にゼロに近づけることができ、歩行安定性の高い歩行パターンを迅速に作成することができる。
【００１８】
請求項１３に記載の歩行パターン作成方法は、請求項１０乃至１２の内いずれか１項に記載の歩行パターン作成方法において、前記目標ＺＭＰ回りモーメント算出ステップは、前記脚部の運動により生じる目標ＺＭＰ回りモーメントを算出する下肢運動による目標ＺＭＰ回りモーメント算出ステップと、前記腰部の運動により生じる目標ＺＭＰ回りモーメントを算出する腰運動による目標ＺＭＰ回り既知モーメント算出ステップとを有することとしたものである。
この構成により、請求項１０乃至１２の内いずれか１項の作用に加え、以下の作用を有する。
（１）目標ＺＭＰ回りモーメント算出ステップは、下肢運動による目標ＺＭＰ回りモーメント算出ステップと腰運動による目標ＺＭＰ回り既知モーメント算出ステップとを有するので、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができ、腰部のモーメント補償軌道を正確に算出することができ、歩行安定性の高い歩行パターンを作成することができる。
【００１９】
請求項１４に記載の歩行パターン作成方法は、請求項１０乃至１３の内いずれか１項に記載の歩行パターン作成方法において、前記足部位置姿勢算出ステップは、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出ステップと、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出ステップと、前記回転行列算出ステップで算出した回転行列により足部の姿勢を算出する姿勢算出ステップとを有することとしたものである。
この構成により、請求項１０乃至１３の内いずれか１項の作用に加え、以下の作用を有する。
（１）足部位置姿勢算出ステップは、腰座標系から見た足部の位置を算出する原点位置算出ステップと、腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出ステップと、算出した回転行列により足部の姿勢を算出する姿勢算出ステップとを有するので、２足歩行ロボット装置の制御方法において腰座標系からみた足部の位置と姿勢のデータを正確に生成することができ、歩行パターンを用いた２足歩行ロボット装置の制御において、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができる。
【００２０】
請求項１５に記載の２足歩行ロボット装置の制御方法は、足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とから成り、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項１乃至５の内いずれか１項に記載の歩行パターン作成装置と無線通信を行う制御用コンピュータを有する２足歩行ロボット装置の制御方法であって、前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて２足歩行の制御を行うこととしたものである。
この構成により、以下の作用を有する。
（１）２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができる。
（２）足部の位置と姿勢のデータに対して逆運動学演算を行って脚部を伸縮するシリンダの長さを制御することができるので、パラレルリンク機構においてはリアルタイム演算が困難な順運動学演算を行う必要がなく、リアルタイム演算が容易な逆運動学演算によりロボットの歩行を制御することができる。
（３）種々の補正データを足部の位置や姿勢の次元で足し合わせてから逆運動学演算を行うという容易な実装ができ、２足歩行ロボットの歩行を更に安定化することができる。
（４）歩行パターンを無線を介して遠隔地でも受信することができる。
【００２１】
請求項１６に記載の２足歩行ロボット装置の制御方法は、請求項１５に記載の２足歩行ロボット装置の制御方法において、前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定ステップと、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令ステップと、前記歩行開始命令ステップにおける指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御ステップとを有することとしたものである。
この構成により、請求項２０の作用に加え、以下の作用を有する。
（１）歩行パターン設定ステップにおいて歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納するので、歩行状態において２足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、歩行開始命令ステップにおいて歩行に使用するパターンを選択して歩行開始を指令し、モータ制御ステップにおいてモータを制御してシリンダの長さを制御するので、歩行パターン作成装置で作成された歩行パターンに基づいて周囲または自己の状態（たとえば搭載重量の軽重状態）に応じた適切な歩行を行わせることができる。
【００２２】
請求項１７に記載の２足歩行ロボット装置の制御方法は、請求項１６に記載の２足歩行ロボット装置の制御方法において、前記モータ制御ステップは、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令ステップにおける指令に基づいて出力する歩行パターン出力ステップと、前記歩行パターン出力ステップから出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算ステップとを有することとしたものである。
この構成により、請求項２１の作用に加え、以下の作用を有する。
（１）歩行パターン出力ステップから出力される足部の位置・姿勢の目標値を逆運動学演算してシリンダの長さを算出する逆運動学演算ステップを有するので、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができ制御が容易であると共に、逆運動学演算において種々の補正データを用いて足部の位置・姿勢に関して種々の制御を行うことができ、２足歩行ロボット装置の歩行を更に安定化することができる。
【００２３】
請求項１８に記載のプログラムは、コンピュータに請求項１０乃至１４の内いずれか１項に記載の歩行パターン作成方法の各ステップを実行させるためのプログラムであることとしたものである。
この構成により、以下の作用を有する。
（１）請求項１０乃至１４の内いずれか１項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【００２４】
請求項１９に記載の記録媒体は、請求項１８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることとしたものである。
この構成により、以下の作用を有する。
（１）汎用コンピュータで記録媒体を読み取りさえすれば、請求項１０乃至１４の内いずれか１項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【００２５】
請求項２０に記載のプログラムは、コンピュータに請求項１５乃至１７の内いずれか１項に記載の２足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラムであることとしたものである。
この構成により、以下の作用を有する。
（１）請求項１５乃至１７の内いずれか１項に記載の２足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【００２６】
請求項２１に記載の記録媒体は、請求項２０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることとしたものである。
この構成により、以下の作用を有する。
（１）汎用コンピュータで記録媒体を読み取りさえすれば、請求項１５乃至１７の内いずれか１項に記載の２足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【発明の効果】
【００２７】
本発明の請求項１に記載の歩行パターン作成装置によれば、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者等の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型や重量物搬送用等の２足歩行ロボット装置に極めて安定した歩行を行わせることができ、搭乗者等の重量に対して比較的小型で軽量な２足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境での運用が可能であり実用性に優れ、また、搭乗者の体重や体型、積載物の重量や大きさ、形状、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を２足歩行ロボット装置に行わせることができる歩行パターンを作成できるという有利な効果が得られる。
【００２８】
請求項２に記載の歩行パターン作成装置によれば、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を２足歩行ロボット装置に行わせることができる歩行パターンを作成でき、また、搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができるという有利な効果が得られる。
【００２９】
請求項３に記載の歩行パターン作成装置によれば、腰部のモーメント補償軌道を正確に算出することができるので、目標ゼロモーメントポイント回りのモーメントを迅速にゼロに近づけることができるという有利な効果が得られる。
【００３０】
請求項４に記載の歩行パターン作成装置によれば、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができるので、腰部のモーメント補償軌道を正確に算出することができるという有利な効果が得られる。
【００３１】
請求項５に記載の歩行パターン作成装置によれば、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができるので、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができるという有利な効果が得られる。
【００３２】
請求項６に記載の２足歩行ロボット装置によれば、腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途に適合する２足歩行ロボットを容易に構築することができ、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができるという有利な効果が得られる。
【００３３】
請求項７に記載の２足歩行ロボット装置によれば、パラメータの取得を２足歩行ロボット装置を用いて正確に且つ容易に行うことができ、他の装置を用いることなく搭乗者のモデル化を正確に且つ簡単に行うことができるという有利な効果が得られる。
【００３４】
請求項８に記載の２足歩行ロボット装置によれば、歩行状態において２足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、周囲または自己の状態に応じた適切な歩行パターンで歩行することができるという有利な効果が得られる。
【００３５】
請求項９に記載の２足歩行ロボット装置によれば、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができるという有利な効果が得られる。
【００３６】
請求項１０に記載の歩行パターン作成方法によれば、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者等の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型や重量物搬送用等の２足歩行ロボット装置に極めて安定した歩行を行わせることができ、搭乗者等の重量に対して比較的小型で軽量な２足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境での運用が可能であり実用性に優れ、また、搭乗者の体重や体型、積載物の重量や大きさ、形状、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を２足歩行ロボット装置に行わせることができる歩行パターンを作成できるという有利な効果が得られる。
【００３７】
請求項１１に記載の歩行パターン作成方法によれば、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を２足歩行ロボット装置に行わせることができる歩行パターンを作成でき、また、搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができるという有利な効果が得られる。
【００３８】
請求項１２に記載の歩行パターン作成方法によれば、腰部のモーメント補償軌道を正確に算出することができるので、目標ゼロモーメントポイント回りのモーメントを軌道が発散することなく迅速にゼロに近づけることができるという有利な効果が得られる。
【００３９】
請求項１３に記載の歩行パターン作成方法によれば、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができるので、腰部のモーメント補償軌道を正確に算出することができるという有利な効果が得られる。
【００４０】
請求項１４に記載の歩行パターン作成方法によれば、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができるので、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができるという有利な効果が得られる。
【００４１】
請求項１５に記載の２足歩行ロボット装置の制御方法によれば、腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途に適合する２足歩行ロボットを容易に構築することができ、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができるという有利な効果が得られる。
【００４２】
請求項１６に記載の２足歩行ロボット装置の制御方法は、歩行状態において２足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、周囲または自己の状態に応じた適切な歩行パターンで歩行することができるという有利な効果が得られる。
【００４３】
請求項１７に記載の２足歩行ロボット装置の制御方法は、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができるという有利な効果が得られる。
【００４４】
請求項１８に記載のプログラムは、コンピュータに請求項１０乃至１４の内いずれか１項に記載の歩行パターン作成方法の各ステップを実行させるためのプログラムであることにより、請求項１０乃至１４の内いずれか１項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【００４５】
請求項１９に記載の記録媒体は、請求項１８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、請求項１０乃至１４の内いずれか１項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【００４６】
請求項２０に記載のプログラムは、コンピュータに請求項１５乃至１７の内いずれか１項に記載の２足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラムであることにより、請求項１５乃至１７の内いずれか１項に記載の２足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【００４７】
請求項２１に記載の記録媒体は、請求項２０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、請求項１５乃至１７の内いずれか１項に記載の２足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【発明を実施するための最良の形態】
【００４８】
以下、本発明の実施の形態について、図１〜図４７を用いて説明する。
（実施の形態１）
本発明の実施の形態１による歩行パターン作成装置と２足歩行ロボット装置の説明においては、まず、（１）２足歩行ロボット装置の機構について説明し、次に（２）２足歩行の制御理論、（３）２足歩行ロボット装置の構成（ハードウェア構成およびソフトウェア構成（機能実現手段の構成））について説明し、最後に上記制御理論に基づく（４）歩行パターン作成装置と２足歩行ロボット装置の動作（歩行パターン作成動作と２足歩行ロボット装置の制御動作）をフローチャートに基づいて説明する。
【００４９】
（１）ロボット装置の機構について
最初に、本発明の実施の形態１における２足歩行ロボット装置の機構について、図４０〜図４７を用いて説明する。
図４０（ａ）は本実施の形態における２足歩行ロボット装置の模式斜視図であり、図４０（ｂ）は本実施の形態による２足歩行ロボット装置の模式平面図である。なお、図４０においては説明の都合上、搭乗部は省略している。
図４０において、２０１は本実施の形態における２足歩行ロボット装置、２０１ａは右脚部のパラレルリンク機構部、２０１ｂは左脚部のパラレルリンク機構部、２０２はベース部（腰部）、２０３は右足部、２０４は左足部である。右脚部のパラレルリンク機構部２０１ａにおいて、２０５ａ、２０５ａ′、２０５ｂ、２０５ｂ′、２０５ｃ、２０５ｃ′は直動リンク、２０６ａ、２０６ａ′、２０６ｂ、２０６ｂ′、２０６ｃ、２０６ｃ′はベース部側受動ジョイント、２０７ａ、２０７ｂ、２０７ｃは足部側受動ジョイント、２０８ａ、２０８ｂ、２０８ｃは回動受動ジョイントである。なお、左脚部のパラレルリンク機構部２０１ｂの各部は右脚部のパラレルリンク機構部２０１ａと対称で同一構成なので同様の符号を付し説明を省略する。
【００５０】
ここで、ベース部側受動ジョイント２０６ａ、２０６ａ′はベース部２０２の下面の右後部側に配設されている。足部側受動ジョイント２０７ａは右足部２０３の右後部側に配設され、その下部には回動受動ジョイント２０８ａが配設されている。直動リンク２０５ａは上端部がベース部側受動ジョイント２０６ａに連結され、下端部が足部側受動ジョイント２０７ａに連結されている。直動リンク２０５ａ′は上端部がベース部側受動ジョイント２０６ａ′に連結され、下端部が足部側受動ジョイント２０７ａに連結されている。
ベース部側受動ジョイント２０６ｂ、２０６ｂ′はベース部２０２の下面の右前部側に配設されている。足部側受動ジョイント２０７ｂは右足部２０３の右前部側に配設され、その下部には回動受動ジョイント２０８ｂが配設されている。直動リンク２０５ｂは上端部がベース部側受動ジョイント２０６ｂに連結され、下端部が足部側受動ジョイント２０７ｂに連結されている。直動リンク２０５ｂ′は上端部がベース部側受動ジョイント２０６ｂ′に連結され、下端部が足部側受動ジョイント２０７ｂに連結されている。
【００５１】
ベース部側受動ジョイント２０６ｃ、２０６ｃ′はベース部２０２の下面の右中央部に配設されている。足部側受動ジョイント２０７ｃは右足部２０３の右中央部に配設され、その下部には回動受動ジョイント２０８ｃが配設されている。直動リンク２０５ｃは上端部がベース部側受動ジョイント２０６ｃに連結され、下端部が足部側受動ジョイント２０７ｃに連結されている。直動リンク２０５ｃ′は上端部がベース部側受動ジョイント２０６ｃ′に連結され、下端部が足部側受動ジョイント２０７ｃに連結されている。
このように、右脚部のパラレルリンク機構部２０１ａと左脚部のパラレルリンク機構部２０１ｂはベース部２０２の中央に対してその両側に対称に配設されている。
【００５２】
また、直動リンク２０５、２０５ａ、２０５ａ′、２０５ｂ、２０５ｂ′、２０５ｃ、２０５ｃ′（以下、直動リンク２０５、２０５ａ〜２０５ｃ′とする）は、モータを用いた送り螺子機構や、油圧、水圧、空気圧等を用いたシリンダ等の直動型アクチュエータを用いて伸縮自在に形成され、その長手方向に伸縮する１自由度に形成されている。ベース部側受動ジョイント２０６、２０６ａ、２０６ａ′、２０６ｂ、２０６ｂ′、２０６ｃ、２０６ｃ′（以下、ベース部側受動ジョイント２０６、２０６ａ〜２０６ｃ′とする）は、直動リンク２０５、２０５ａ〜２０５ｃ′の長手方向と直交し、且つ各々直交する２軸の軸周方向に回動する２自由度に形成されている。足部側受動ジョイント２０７、２０７ａ、２０７ｂ、２０７ｃは、直動リンク２０５、２０５ａ〜２０５ｃ′の長手方向と直交し、且つ各々直交する２軸の軸周方向に回動する２自由度に形成されている。回動受動ジョイント２０８、２０８ａ、２０８ｂ、２０８ｃは、直動リンク２０５、２０５ａ〜２０５ｃ′の軸周方向に回動する１自由度に形成されている。
【００５３】
このように、右脚部、左脚部のパラレルリンク機構部２０１ａ、２０１ｂは各々６自由度に形成されているため、右足部２０３及び左足部２０４は、前後、左右、上下、及び前後方向、左右方向、上下方向を軸とした軸周方向の動作が可能であり、多様な動作を行うことができ、歩行動作を円滑に行うことができる。
【００５４】
以上のように構成された本実施の形態における２足歩行ロボット装置について、以下その動作を図４０を用いて説明する。なお、本実施の形態においては、右脚部の動作について説明する。左脚部の動作については右脚部と同様であるので説明を省略する。
【００５５】
右脚部を動作させる場合、予め設定された歩行パターンに基づいて右足部２０３の逆運動学を計算（詳細については後述する）し、算出された値に基づいて直動リンク２０５ａ〜２０５ｃ′の各々の図示しないアクチュエータを駆動させ直動リンク２０５ａ〜２０５ｃ′を伸縮させる。直動リンク２０５ａ〜２０５ｃ′とベース部２０２又は右足部２０３との連結部分に配設されているベース部側受動ジョイント２０６ａ〜２０６ｃ′、足部側受動ジョイント２０７ａ〜２０７ｃ、及び回動受動ジョイント２０８ａ〜２０８ｃは、直動リンク２０５ａ〜２０５ｃ′の伸縮に追従してこれを妨げることなく円滑に従動する。直動リンク２０５ａ〜２０５ｃ′のアクチュエータの駆動は各々に配設されたロータリエンコーダ等の図示しない検出器により検出され、取得された検出値は角度データ等としてフィードバックされ直動リンク２０５ａ〜２０５ｃ′はフィードバック制御される。これにより、右足部２０３は、一歩踏み出す動作やその場で足踏みする動作等を行うことができる。更に、このような動作を右足部２０３と左足部２０４で交互に連続して行うことにより、歩行動作を行うことができる。
【００５６】
図４１は本実施の形態における２足歩行ロボット装置の斜視図であり、図４２は２足歩行ロボット装置の腰部の要部側面図である。
図４１及び図４２において、２０１ｃは本実施の形態における２足歩行ロボット装置、２０２はベース部、２０３は右足部、２０３ａは右足部２０３の上部に固定された平板状の固定板、２０４は左足部、２０４ａは左足部２０４の上部に固定された平板状の固定板、２０９はベース部２０２の上面に配設された制御装置部、２０９′は制御装置部２０９の後部に配設された制御用コンピュータ、２１０ａは搭乗者の着座部２１０ｂを有する搭乗部、２１０ｃはベース部２０２の略中央部の上部に固定された搭乗者検出部としての腰部６軸力覚センサであり、搭乗部２１０ａは腰部６軸力覚センサ２１０ｃを介してベース部２０２に固定されている。腰部６軸力覚センサ２１０ｃは後述する搭乗者の力学モデルのパラメータの取得時に使用する。２３１はバッテリ、２３２はモータ駆動用回路部、２３５はベース部２０２と右足部２０３及び左足部２０４の間に各々立設された直動リンク、２３６はベース部２０２の下面側の所定位置に固定されたベース部側受動ジョイント、２３７は右足部２０３及び左足部２０４の固定板２０３ａ、２０４ａの上面側の所定位置に回動自在に固定された足部側受動ジョイント、２４８は直動リンク２３５を伸縮するための直流サーボモータである。足部側受動ジョイント２３７は図４０で説明した足部側受動ジョイント２０７、２０７ａ、２０７ｂ、２０７ｃ及び回動受動ジョイント２０８、２０８ａ、２０８ｂ、２０８ｃと同様の機能をボールジョイントで実現したものである。このボールジョイントについては後述する。
【００５７】
ここで、本実施の形態においては、直動リンク２３５は後述する送り螺子機構により長手方向に伸縮自在に形成されている。送り螺子機構の代わりに油圧、水圧、空気圧等を用いたシリンダや直動型アクチュエータを用いた機構としてもよい。また、直動リンク２３５は、２本を１組として上端部が各々ベース部側受動ジョイント２３６に連結され下端部が１つの足部側受動ジョイント２３７に連結されたＶ字形状に配設されている。１組の直動リンク２３５は、右脚部及び左脚部に各々３組ずつ、平面視三角形状に配設され、片脚に６本、合計１２本が配設されている。すなわち、本実施の形態における２足歩行ロボット装置２０１ｃの左右の脚部は、各々スチュワートプラットホーム（パラレルメカニズムの一種であり、６本の直動シリンダの両端をボールジョイントとユニバーサルジョイントでベースとエンドエフェクタに結合する構造を有している）により構成されている。これにより、動作の安定性及び強度、剛性、出力に優れる。また、１つのベース部側受動ジョイント２３６には１つの直動リンク２３５の上端部が連結され、１つの足部側受動ジョイント２３７には２つの直動リンク２１５の下端部が連結されている。
バッテリ２３１、モータ駆動用回路部２３２は制御装置部２０９に配設されている。本実施の形態においては、バッテリ２１１としてニッケル水素バッテリを使用した。
また、右足部２０３及び左足部２０４の底面側に、床反力を検出する６軸力覚センサ２０３ｂ、２０４ｂ（図１６の１４２）を設ける。６軸力覚センサ２０３ｂ、２０４ｂは、各軸方向の力３成分と各軸周りのモーメント３成分を同時に且つ逐次連続的に高精度で検出することができる。
【００５８】
次に、直動リンクの構造について図４３及び図４４を用いて詳細に説明する。
図４３は直動リンクの要部斜視図であり、図４４（ａ）は直動リンクの要部側面図であり、図４４（ｂ）は図４４（ａ）の部分内部構造図である。
【００５９】
図４３において、２３５は直動リンク、２４１は後述のインナーロッド部２４３等を保持する保持ケーシング、２４３は保持ケーシング２４１に挿設され直動リンク２３５の長手方向に摺動するインナーロッド部である。直動リンク２３５の伸縮はインナーロッド部２４３が摺動することにより行われる。２４４はインナーロッド部２４３にその長手方向に形成されたジョイント結合部、２４５はインナーロッド部２４３の一方の側部の上部側および下部側に配置されその長手方向に敷設されたロッドレール部である。
【００６０】
図４４において、２４６はレールガイド、２４７はインナーロッド部２４３の初期位置を検出する初期位置センサ、２４８は保持ケーシング２４１に平行に配設されたモータ、２４８ａはモータ２４８を保持ケーシング２４１の端部の側部に平行に保持するモータホルダ、２４９はモータ２４８のモータ先端軸部に取り付けられた歯付プーリ、２５０は非通電時においてモータ２４８の回動軸を固定しインナーロッド部２４３を保持するための保持ブレーキ、２５１はモータ２４８の回動軸の回動を検出するロータリエンコーダ、２５２はモータ先端軸部２４９の回転動力を後述の雄螺子先端軸部２５４ａへ伝達する溝付きベルト、２５３は雄螺子軸部２５４を支持するベアリング、２５４は保持ケーシング２４１の内部に後述の雌螺子ナット部２５５に挿通されて配設され外周が螺子切りされた雄螺子軸部、２５４ａは雄螺子先端軸部、２５５はインナーロッド部２４３に固定され雄螺子軸部２５４に螺合した雌螺子ナット部、２５６ａ、２５６ｂはストッパである。このようにモータ２４８を保持ケーシング２４１に平行に配設したので、直動リンク２３５の最短長さ（最も短い時の長さ）を長くすることなくストロークを長くすることができ、ロボット装置の可動範囲を広くすることができる。
【００６１】
ここで、本実施の形態においては、保持ケーシング２４１の材質として、軽量で且つ比較的強度の高いアルミニウムを用いた。また、初期位置の確認のための初期位置センサ２４７として、フォトマイクロセンサを用いた。また、本実施の形態においては、雄螺子軸部２５４と雌螺子ナット部２５５を螺合させるためにボール螺子を用いている。これにより、インナーロッド部２４３を高速で摺動させることができ、歩行速度を向上させることができる。またボール螺子を用いた場合は螺合部分の摩擦抵抗を低減することができる。また、ボール螺子はがたが少なく、動作を確実にすることができる。
【００６２】
図４３や図４４に示すように、モータ２４８が駆動されると、その回動軸の回動力がベルト２５２を介して雄螺子先端軸部２５４ａに伝えられ、雄螺子軸部２５４が回動する。雄螺子軸部２５４にはインナーロッド部２４３に固定された雌螺子ナット部２５５が螺合している。ここで、インナーロッド部２４３は外周面に設けられたロッドレール部２４５がレールガイド２４６に嵌合しているため、長手方向には摺動するが軸周方向には回動しない。これにより、雄螺子軸部２５４が回動すると、送り螺子機構により雌螺子ナット部２５５を介してインナーロッド部２４３がその長手方向に摺動する。このようにして、直動リンク２３５の伸縮が行われる。
【００６３】
続いて、ベース部側受動ジョイントの構造について図４５を用いて詳細に説明する。
図４５はベース部側受動ジョイントの要部斜視図である。
図４５において、２０２はベース部、２３５は直動リンク、２３６はベース部側受動ジョイント、２４１は直動リンク２３５の保持ケーシング、２６１はベース部２０２の下部に固定されたコ字形状のベース部側上部継手、２６２はベース部側上部継手２６１の一対の立設部に架設された上部継手軸、２６３は直動リンク２３５の保持ケーシング２４１側の上端部に固定されたコ字形状のベース部側下部継手、２６４はベース部側下部継手２６３の一対の立設部に架設された下部継手軸、２６５は上部継手軸２６２と下部継手軸２６４を直交状に連結する連結回動部である。
【００６４】
図４５に示すように、ベース部側下部継手２６３は、ベース部側上部継手２６１に対して、上部継手軸２６２と下部継手軸２６４の軸周方向に回動する。これにより、ベース部側受動ジョイント２３６は、直動リンク２３５の長手方向に直交する上部継手軸２６２と下部継手軸２６４の軸周方向に２自由度を有するので、直動リンク２３５の伸縮に追従してこれを妨げることなく円滑に従動する。
【００６５】
続いて、足部側受動ジョイントの構造について図４６及び図４７を用いて詳細に説明する。
図４６は足部側受動ジョイントの要部斜視図であり、図４７は足部側受動ジョイントの要部縦断面図である。
図４６および図４７において、２０３ａは右足部２０３の固定板、２３５、２３５′は直動リンク、２３７は足部側受動ジョイント、２４４は直動リンク２３５のジョイント結合部、２４４′は直動リンク２３５′のジョイント結合部、２７１はジョイント結合部２４４の下端部に連結された第１の足側上部継手、２７１ａ、２７１ｂは第１の足側上部継手２７１の両側部に互いに対向して配設され下端部が後述の継手軸に軸支された側部軸支板、２７３はジョイント結合部２４４′の下端部に連結された第２の足側上部継手、２７３ａ、２７３ｂは第２の足側上部継手２７３の両側部に互いに対向して配設され下端部が後述の継手軸に軸支された側部軸支板である。ここで、各側部軸支板２７１ａ，２７１ｂ，２７３ａ，２７３ｂはボールベアリング２７２ａ（図４７参照）を介して後述の継手軸に軸支されている。２７５は内部に内壁面が球面状のボール収容部２７５ａを有するボール保持部、２７６ａ、２７６ｂはボール保持部２７５の両側部に突設された継手軸（図４７参照）、２７７は各継手軸２７６ａ、２７６ｂに螺着され各側部軸支板２７１ａ、２７１ｂ、２７３ａ、２７３ｂを抜け止めするための止めナット、２７８は固定板２０３ａ上に固定された足側基部、２７９は足側基部２７８上に立設され上端部にボール収容部２７５ａに収容されるボール部２７９ａが形成されたボール継手軸である。
【００６６】
図４６および図４７に示すように、第１の足側上部継手２７１及び第２の足側上部継手２７３は、ボール保持部２７５に対して、継手軸２７６ａ、２７６ｂの軸周方向に回動する。また、ボール保持部２７５は、足側基部２７８に対して任意の方向に回動する。これにより、足部側受動ジョイント２３７は、継手軸２７６ａ、２７６ｂの軸周方向およびボール継手軸２７９の軸周方向に２自由度を有すると共に、少なくとも継手軸２７６ａ、２７６ｂとボール継手軸２７９とに直交する軸の軸周方向に１自由度を有するので、直動リンク２３５、２３５′の伸縮に追従してこれを妨げることなく円滑に従動する。
このように足部側受動ジョイント２３７をボールジョイントを用いた構造にしたので、従来は構造的に締結箇所が多くがたが生じていたが、締結箇所が少なくなりがたが低減し、動作の精度が向上し、制御の安定性および剛性を高めることができ、高速で安定した歩行動作を行うことができる。
以上のように構成された本実施の形態における２足歩行ロボット装置の歩行動作については、図４０で説明したものと同様であるので説明を省略する。
【００６７】
（２）２足歩行ロボットの制御理論について
次に、２足歩行ロボットの制御理論について、図１〜図３を用いて説明する。
図１（ａ）は支持多角形を示す説明図であり、図１（ｂ）は座標系とベクトルの定義を示す説明図である。
２足歩行のパターンを生成するにあたり、安定性を判別する必要がある。ここでは、２足歩行ロボット装置に対して力学的視点から安定性を判別するために、「ＺＭＰ安定判別規範」を用いる。以下に、ＺＭＰの説明および安定判別法を述べる。
２足歩行ロボットが歩行中に安定な支持状態を維持するために必要な条件を考える。２足歩行ロボットが安定な支持状態を保てなくなる、つまり転倒するということは、足底部と路面との接点（３点以上）が形成する支持多角形（路面と足底の接地点が形成する面積最大の凸多角形）のある辺または点を通る路面上の直線を軸に回転運動をしていると考えられる。すなわち、支持多角形から見て外向きのモーメントが作用していると考えられる。逆に言えば、支持多角形上の全ての辺および点のまわりに外向きのモーメントが発生せず、内向きのモーメントのみ発生していれば、２足歩行ロボットは安定な支持状態を維持できる。このときの２足歩行ロボットの支持状態を考えると、足底の接地点が浮かないため、全ての接地点において２足歩行ロボットから路面に作用する重力および慣性力による力は路面を押す向きであり、これらの合力が作用する点Ｐ（図１（ａ）参照）は足底の支持多角形内になければならない。この点Ｐ回りの合力によるモーメントは明らかにゼロであり、この点をＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ、ゼロモーメントポイント）と呼ぶ。
【００６８】
２足歩行の制御に用いるモーメント補償軌道算出アルゴリズムについて説明する。本アルゴリズムは次の４点からなる。
Ｉ．２足歩行ロボットのモデル化
ＩＩ．ＩのモデルにおけるＺＭＰ方程式の導出
ＩＩＩ．２足歩行ロボット近似モデル化
ＩＶ．搭乗者のモデル化とパラメータの取得
Ｖ．ＩＩＩの近似モデルとＩＶの搭乗者モデルを用いた繰り返し計算によるＩＩを満足するモーメント補償軌道の厳密解の算出
【００６９】
まず２足歩行ロボットのモデル化について説明する。最初に、２足歩行ロボット、座標系および路面に次の条件を設定する。
１）２足歩行ロボットは質点の集合から成る。
２）路面は十分に硬く、どんな力やモーメントが作用しても変形したり動いたりすることはない。
３）Ｘ軸（２足歩行ロボットの正面方向に一致）およびＹ軸を含む平面が路面に一致し、路面に垂直な軸をＺ軸とする直交座標系Ｏ（右手系）を設定する（図１（ｂ）参照）。
４）２足歩行ロボットの足底と路面との接地状況は点接地の集合とする。
５）歩行系と路面との接地点において、路面での回転（Ｘ、ＹおよびＺ軸回り）に対する摩擦係数は無視できるほど小さい。
６）２足歩行ロボットが歩行する際の推進力は、接地点における並進（ＸおよびＹ軸）方向の滑りが生じない範囲とする。
７）路面に対してロボットは滑らないものとして、ヨー軸に関しての補償（Ｚ軸回りの回転に関しての補償）は行わない。
【００７０】
次に、ＺＭＰ方程式の導出について説明する。
以上の仮定と設定のもとに絶対座標系Ｏ−ＸＹＺにおいて任意の点Ｐについてのモーメントの釣り合い式を導出する次式（数１）を得る（なお、各記号の説明は後述の（数２６）に示されている）。
【数１】
2008068339.tif 000003
（数１）において点ＰをＺＭＰとすることで、Ｔ＝０となり、次式（数２）のＺＭＰ方程式を得る。
【数２】
2008068339.tif 000004
さらに、各部の相対運動を考えるために、図１（ｂ）に示す２足歩行ロボットの腰部付近に固定された運動座標系Ｏバー−ＸＹＺバーを設定する。この座標系を用いてＺＭＰ方程式を表すと、次式（数３）を得る。
【数３】
2008068339.tif 000005
このＺＭＰ方程式を満たすように腰部の軌道を算出する。
【００７１】
次に、２足歩行ロボットの近似モデル化について説明する。
本アルゴリズムでは、モーメント補償軌道の近似解及び搭乗者質点軌道の算出とそれらの厳密モデルへの代入、モーメント誤差のフィードバック、蓄積する繰り返し計算により、モーメント補償軌道の厳密解を得ている。その近似モデル化のプロセスは次の通りである。
ｉ）外力は近似モデルでは考慮しない。
ｉｉ）搭乗者上半身、下半身の質点を含め、ロボットの腰などの下肢以外の部位は１質点近似モデルとする（図１（ｂ）参照）。
ｉｉｉ）線形、非干渉化のために運動座標系の回転は考慮しない（ただし体幹ヨー軸に関しては線形、非干渉化できる範囲でその一部を考慮している）。
ｉｖ）Ｚ軸の運動を共有しないものとして線形、非干渉化する。
【００７２】
まず、外力を近似モデルで考慮しないとすると、（数３）は（数４）のようになる。
【数４】
2008068339.tif 000006
ここで、被補償モーメントとなる下肢の運動により発生するモーメントをベクトルＭとおき、腰部について１質点近似モデル化を行うと、（数４）は（数５）のようになる。
【数５】
2008068339.tif 000007
（数５）は、運動座標系の回転により発生する見掛けの力の項において互いに干渉している。よって、これらの微分方程式を非干渉なものにするためには、まずその見掛けの力によるモーメントが発生しないものと仮定、つまり運動座標系が回転していないものとすると、（数５）は（数６）、（数７）のようになる。
【数６】
2008068339.tif 000008
【数７】
2008068339.tif 000009
（数６）、（数７）はＺ軸方向の運動を共有していることから、非線形かつ干渉な系である。そこで、２足歩行ロボットは運動中腰高さ一定と仮定し、線形、非干渉化する。すなわち、（数８）、（数９）、（数１０）が成立する。ここで、（数９）はピッチ軸（ｙ軸）に関し、（数１０）はロール軸（ｘ軸）に関する。
【数８】
2008068339.tif 000010
【数９】
2008068339.tif 000011
【数１０】
2008068339.tif 000012
また、（数９）、（数１０）において左辺の既知項を右辺に移動し、（数９）、（数１０）において右辺を改めて（数１１）と置き直すと、次の（数１２）、（数１３）を得る。ここで、（数１２）はピッチ軸（ｙ軸）に関し、（数１３）はロール軸（ｘ軸）に関する。
【数１１】
2008068339.tif 000013
【数１２】
2008068339.tif 000014
【数１３】
2008068339.tif 000015
ここで、（数１２）、（数１３）は（数１４）、（数１５）、（数１６）、（数１７）のように書き換えられる。
【数１４】
2008068339.tif 000016
【数１５】
2008068339.tif 000017
【数１６】
2008068339.tif 000018
【数１７】
2008068339.tif 000019
【００７３】
次に、近似解の算出について説明する。
モーメント補償軌道（数１８）、（数１９）の近似解を求めるために、（数１４）、（数１５）を用いて解析的に近似解を得る。
【数１８】
2008068339.tif 000020
【数１９】
2008068339.tif 000021
ここで、（数１４）において、（数２０）は下肢軌道およびＺＭＰ軌道から算出できるので既知関数となり、さらに定常歩行であるとすれば、２足歩行ロボットの各部質点ならびにＺＭＰは運動座標系Ｏバー−ＸＹＺバーに関して周期的な相対運動をするので、（数２０）は周期関数となる。
【数２０】
2008068339.tif 000022
よって、（数１４）の左辺も同じく周期関数になる。そこで（数１４）の右辺を（数２１）に示すようにフーリエ級数展開する。
【数２１】
2008068339.tif 000023
このときのフーリエ係数は（数２２）のようになる。
【数２２】
2008068339.tif 000024
続いて、（数１８）を係数未知のフーリエ級数で表すと、（数２３）のようになる。
【数２３】
2008068339.tif 000025
（数２３）を（数１４）の左辺に代入し、各両辺のフーリエ係数を比較することで、（数１８）のフーリエ係数を求めると、（数２４）のようになる。
【数２４】
2008068339.tif 000026
そして、これを逆フーリエ級数展開することで、ピッチ軸回りのモーメント補償軌道（数１８）の近似解を（数２５）に示すように得ることができる。
【数２５】
2008068339.tif 000027
なお、（数２６）に各記号の説明を示す。
【数２６】
2008068339.tif 000028
【００７４】
次に、搭乗者のモデル化とパラメータの取得について説明する。
まず、搭乗者の力学モデルを図２に示す。図２は搭乗者の力学モデルを示す説明図である。搭乗者の力学モデルは１乃至複数の質点とそれらを接続する仮想的なばね等の弾性要素及びダンパ等の粘性要素により構成される。ここでは一例として、ロボットの腰部に固定される固定質点としての下半身質点群と、腰部の上部に２自由度のばねダンパを介して接続された自由質点としての上半身質点とからなる力学モデルを用いた。各質点の重さは、人間の平均的重量比を元に、頭部と上肢を含む上半身質点の質量を男性では体重の６５．７％、女性では６３．９％とした。
上半身質点の運動方程式は（数２７）、（数２８）のようになる。
【数２７】
2008068339.tif 000029
【数２８】
2008068339.tif 000030
（数２７）は上半身質点の質量、初期位置及び弾性要素の弾性係数、粘性要素の粘性係数（以下、まとめて搭乗者パラメータという）によって搭乗者の力学モデルの上半身質点の運動を表している。
搭乗者パラメータは、上述した２足歩行ロボット装置２０１ｃ（図４１参照）に搭乗者が搭乗した状態で腰部の揺動動作を行った時の腰部６軸力覚センサ２１０ｃの検出値に基づいて取得することができる。以下、搭乗者パラメータの取得方法の詳細について説明する。
【００７５】
まず、上半身質点の初期位置の取得方法について説明する。
上半身質点の初期位置は、その質量と、腰部の揺動動作時に腰部６軸力覚センサ２１０ｃにより検出されるモーメントにより求める。すなわち、搭乗者は搭乗部２０１ａに着座し手摺を把持して上半身をできるだけ動かさないようにした状態で、２足歩行ロボット装置２０１ｃを試験的に作成した所定の歩行パターンにより腰部を左右に各々５ｃｍ程度、約４秒の周期で揺動させ、この時の着座部２１０ｂにかかる座面反力モーメントを腰部６軸力覚センサ２１０ｃにより測定する。座面反力モーメントの実測値を（数２９）とする。
【数２９】
2008068339.tif 000031
ここで着座部２１０ｂに対し搭乗者の上半身が運動しないと仮定した場合、座面反力モーメントの理論値を（数３０）とし、上半身質点の初期位置を（数３１）とすると、（数３２）のようになる。
【数３０】
2008068339.tif 000032
【数３１】
2008068339.tif 000033
【数３２】
2008068339.tif 000034
次に、（数３０）と（数２９）を比較し、一致若しくは最も近似する場合の（数３１）の値を求める。（数３１）の値を求めるための具体的な計算方法としては、例えば、次の方法等を用いることができる。すなわち、（数３２）中の（数３１）のｙ成分とｚ成分に適当な数値（例えばｙ成分は−０．２００から０．２００まで、ｚ成分は０から０．２００まで、０．００１きざみで変化させる）を代入し、各々について（数３０）の値を算出する。なお、ｘ成分は０に固定しておく。算出した（数３０）の値と測定した（数２９）の値の差の２乗値の積分値を算出し、これが最も小さくなる時の数値を求める（数３１）のｙ成分とｚ成分の値とする。なお、（数３１）を求めるには、これに限らず、最急降下法や遺伝的アルゴリズム、ニューラルネットワーク等の手法を用いることができる。
【００７６】
２足歩行ロボット装置２０１ｃの腰部を左右に揺動させて（数３１）のｙ成分とｚ成分の値を求めた後、腰部を前後に揺動させる点以外は上述した方法と同様にして（数３１）のｘ成分を求める。なお、この場合、（数３１）のｘ成分を変化させ、ｙ成分とｚ成分は固定とする。
【００７７】
次に、弾性係数及び粘性係数の取得方法について説明する。
弾性係数及び粘性係数は、上半身質点の質量と、上半身質点の初期位置と、腰部の揺動動作時に腰部６軸力覚センサ２１０ｃにより検出される座面反力モーメント（数２９）により求める。すなわち、搭乗者は搭乗部２０１ａに自然に着座した状態で、２足歩行ロボット装置２０１ｃを試験的に作成した所定の歩行パターンにより腰部を左右に各々５〜６ｃｍ程度、約２秒（作成する歩行パターンの歩行周期と同程度の周期、すなわち１歩約１秒の歩行パターンを作成するならば約２秒）の周期で揺動させ、この時の着座部２１０ｂにかかる座面反力モーメントを腰部６軸力覚センサ２１０ｃにより測定する。
一方、この場合の座面反力モーメントの理論値（数３０）は（数３３）で表される。
【数３３】
2008068339.tif 000035
なお、（数３３）中の上半身質点の位置ベクトル（数３４）は、（数２７）によりルンゲ・クッタ法を用いて暫定的に求めることができる。この場合、ｒｗ（ｔ）はこの時の歩行パターンにおける腰の運動である。
【数３４】
2008068339.tif 000036
このようにして算出した（数３０）と測定した（数２９）を比較し、一致若しくは最も近似する場合の弾性係数（数３５）及び粘性係数（数３６）の値を求める。
【数３５】
2008068339.tif 000037
【数３６】
2008068339.tif 000038
（数３５）、（数３６）の値を求めるための具体的な計算方法としては、例えば、次の方法等を用いることができる。すなわち、（数２７）中の（数３５）、（数３６）に適当な数値（例えば（数３５）は０から５０００まで１００きざみ、（数３６）は０から１０００まで２０きざみで変化させる）を代入し、ルンゲ・クッタ法により（数３４）のｙ成分を算出する。次に（数３３）を用い、算出した（数３４）のｙ成分により（数３０）を算出する。算出した（数３０）の値と測定した（数２９）の値の差の２乗値の積分値を算出し、これが最も小さくなる時の数値を求める（数３５）、（数３６）の値とする。このようにして搭乗者モデルのｙ軸方向に配置されたばね及びダンパの弾性係数及び粘性係数を求めることができる。
【００７８】
２足歩行ロボット装置２０１ｃの腰部を左右に揺動させてｙ軸方向に配置されたばね及びダンパの弾性係数（数３５）及び粘性係数（数３６）の値を求めた後、腰部を前後に揺動させる点以外は上述した方法と同様にしてｘ軸方向に配置されたばね及びダンパの弾性係数（数３５）及び粘性係数（数３６）の値を求める。
【００７９】
なお、弾性係数（数３５）及び粘性係数（数３６）の値は簡易的に一貫して同じ値（時間的に変化しない）を取るとみなしてもある程度の歩行安定性を得ることができるが、時間的に断続変化するものとし、測定期間を時間的に区切って、例えば歩行開始時過渡期、定常歩行期、歩行終了時過渡期の３区間等、各時間区間毎に求めるとより良好な結果が得られる。
【００８０】
以上のようにして取得した搭乗者パラメータ（上半身質点の初期位置（数３１）、弾性係数（数３５）、粘性係数（数３６））を用いて（数２７）をルンゲ・クッタ法で解くことにより搭乗者の上半身質点の軌道を算出する。
【００８１】
次に、スチュワートプラットホームの逆運動学について説明する。
パラレルリンク機構（特にスチュワートプラットホーム型）では、シリアルリンク機構と比較して、非常に逆運動学は容易になる。これは、シリアルリンク機構においては、特別な場合を除いて解析解が存在しないため、解を繰り返し計算による数値解として求める必要があり、計算の量が非常に多くなるためである。また、解析解が存在する場合でも、多くの座標変換があるために計算が複雑になる。以下、逆運動学の解法について述べる。
２足歩行ロボットのパラレルリンク機構は、ベースプレート（２足歩行ロボットの腰部）とエンドエフェクタ（２足歩行ロボットの足底部）からなる。まず、右足のリンク配置、座標系を図３（ａ）、（ｂ）に示す。図３（ａ）、（ｂ）は腰座標系（数３７）および足座標系（数３８）を示す模式図である。また、（数３９）は腰座標系から見たエンドエフェクタ側ジョイントの位置ベクトルである。
【数３７】
2008068339.tif 000039
【数３８】
2008068339.tif 000040
【数３９】
2008068339.tif 000041
腰座標系（数３７）においての腰側ジョイントの位置を（数４０）とし、足座標系（数３８）においての足側ジョイントの位置を（数４１）とする。
【数４０】
2008068339.tif 000042
【数４１】
2008068339.tif 000043
ここで、腰座標系から見た足座標系の位置・姿勢（エンドエフェクタの位置・姿勢）を表わすベクトル（数４２）を定義する。
【数４２】
2008068339.tif 000044
また、腰座標系から見た足座標系の原点の位置ベクトル（数４３）と、腰座標系においてθｘ、θｙ、θｚの順に回転させる回転変換行列（数４４）とを、（数４５）、（数４６）のように定義する。
【数４３】
2008068339.tif 000045
【数４４】
2008068339.tif 000046
【数４５】
2008068339.tif 000047
【数４６】
2008068339.tif 000048
（数４１）、（数４５）、（数４６）より（数４７）となり、（数３９）の各成分は、（数４８）となる。
【数４７】
2008068339.tif 000049
【数４８】
2008068339.tif 000050
ここで、（数４９）となる変数を導入すると、単に幾何学的関係より、ｉ番目の腰側ジョイントとｉ番目の足側ジョイントを結ぶリンクの長さは、（数５０）となる。
【数４９】
2008068339.tif 000051
【数５０】
2008068339.tif 000052
詳細に書けば、（数５１）となる。
【数５１】
2008068339.tif 000053
【００８２】
（３）歩行パターン作成装置と２足歩行ロボット装置の構成について
次に、本実施の形態による歩行パターン作成装置と２足歩行ロボット装置の構成について図４〜図１７を用いてハードウェア構成を説明し、図１８、図３３を用いてソフトウェア構成を説明する。
図４は、本実施の形態による歩行パターン作成装置（歩行パターン作成用コンピュータ）と２足歩行ロボット装置の全体構成を示すブロック図である。
図４において、１は２足歩行ロボット装置としてのロボット部（図４０、４１の２０１、２０１ｃに相当）、２は歩行パターンを作成する歩行パターン作成装置としての歩行パターン作成用コンピュータ、３は商用電源（ＡＣ１００Ｖ）が供給される外部電源部、４はロボット部（２足歩行ロボット装置）１の緊急停止等を行うための外部スイッチ、５はロボット部１を構成する腰部（図４０、４１の２０２と２０９に相当）、６はロボット部１を構成する脚部（下肢）（図４０の２０１ａ、２０１ｂに相当）である。図４に示すように、ロボット部１の腰部５と歩行パターン作成コンピュータ２とは無線（たとえば無線ＬＡＮ）を介して接続されている。腰部５には外部電源部３から電源が供給される。ただし、腰部５に内蔵するバッテリ（図４１の２３１）を使用しているときは外部電源部３は必要ない。
【００８３】
図５は、主に腰部５を示すブロック図である。
図５において、腰部５は、制御用コンピュータ７（図４１の２０９′に相当）、腰部６軸力覚センサ８（図４１の２１０ｃに相当）、モータ制御部９、ブレーキ制御部１０、電源部１１、スイッチ回路１２を有する。制御用コンピュータ７は、外部の歩行パターン作成用コンピュータ２と無線ＬＡＮを介して接続され、また脚部６からのセンサ情報を取得して処理する。また、制御用コンピュータ７は、モータ制御部９にモータの速度指令値（電圧）を出力すると共に、脚部６のシリンダＣ１〜Ｃ１２（後述する）に内蔵のＤＣサーボモータ（後述）のオン・オフ、ブレーキのオン・オフ、ＤＣサーボモータ端子の短絡機能を制御する信号をスイッチ回路１２に出力する。電源部１１は、外部電源部３から電源を供給されるが、バッテリ使用時は必要ない。電源部１１は、脚部６のセンサ、制御用コンピュータ７、モータ制御部９、ブレーキ制御部１０、スイッチ回路１２に電源を供給する。スイッチ回路１２は、外部スイッチ４および制御用コンピュータ７からの信号を受け取り、排他的論理和（後述する）の論理に基づき、ＤＣサーボモータのオン・オフ、ブレーキのオン・オフ、ＤＣサーボモータ端子の短絡機能を制御する。モータ制御部９は、制御用コンピュータ７からの速度指令値に従い、脚部６のＤＣサーボモータの速度制御を行う。また、スイッチ回路１２からのサーボオン・オフ信号によりＤＣサーボモータのオン・オフを行い、スイッチ回路１２からのモータ端子短絡信号によりＤＣサーボモータ端子の短絡を行う。ブレーキ制御部１０は、スイッチ回路１２からの信号に従い、ブレーキの開閉を行う。
【００８４】
図６は、主に脚部６を示すブロック図である。
図６において、脚部６は、２本の脚部、右脚部１３ａおよび左脚部１３ｂから成る。各脚部１３ａ、１３ｂは、各々６本のアクチュエータシリンダＣ１〜Ｃ６、Ｃ７〜Ｃ１２（図４１の直動リンク２３５）と、右足底部１４ａ（図４０、４１の右足部２０３に相当）および左足底部１４ｂ（図４０、４１の左足部２０４に相当）とから成る。各シリンダのＤＣサーボモータはモータ制御部９からの電流により制御される。また、ＤＣサーボモータの端子間電圧および電流はモータ制御部９にフィードバックされる。各シリンダＣ１〜Ｃ１２のロータリエンコーダ（後述する）はＤＣサーボモータの回転角度を検出し、制御用コンピュータ７にフィードバックする。各シリンダＣ１〜Ｃ１２のオフセット検出用フォトマイクロセンサは、初期位置を検出し、制御用コンピュータ７に信号を出力する。足底部１４ａ、１４ｂの６軸力覚センサ（後述する）は床反力情報を取得する。これは制御用コンピュータ７に記録される。各シリンダＣ１〜Ｃ１２のセンサ類には、電源部１１より電源が供給される。
【００８５】
図７は、外部電源部３を示すブロック図である。
図７において、外部電源部３はＡＣ／ＤＣコンバータ３１で構成される。ＡＣ／ＤＣコンバータ３１は、商用電源（交流１００Ｖ）を４８Ｖ等の直流電圧に変換し、ロボット部１の腰部５の電源部１１に供給する。
図８は、歩行パターン作成用コンピュータ２を示すブロック図である。
図８において、歩行パターン作成用コンピュータ２は、ＣＰＵ２１、メモリ２２、ハードディスク２３、入力装置２４、表示装置２５、インタフェース部２６、ＬＡＮカード２７、無線ＬＡＮ２８から成り、歩行パターン作成ソフトウェアによりロボット部１の歩行パターンを作成する。また、無線ＬＡＮ２８により制御用コンピュータ７と通信することができ、歩行パターンを含むロボット制御ソフトウェアを制御用コンピュータ７にロードする。
【００８６】
図９は、外部スイッチ４を示すブロック図である。
図９において、外部スイッチ４は、ブレーキ制御スイッチ４１、サーボＯＮスイッチ４２、モータ端子短絡スイッチ４３から成る。各スイッチ４１〜４３の状態はロボット部１の腰部５のスイッチ回路１２に信号として送られ、該当する機能が制御される。ブレーキ制御スイッチ４１は各アクチュエータシリンダＣ１〜Ｃ１２の保持ブレーキをオン・オフする。サーボＯＮスイッチ４２はＤＣサーボドライバ（後述する）のサーボのオン・オフを制御する。モータ端子短絡スイッチ４３はＤＣサーボドライバのモータ端子短絡スイッチを制御する。モータ端子が短絡されると、モータの逆起電力により、モータが回転し難くなる。
【００８７】
図１０は、主に制御用コンピュータ７を示すブロック図である。
図１０において、制御用コンピュータ７は、ＣＰＵ７１、メモリ７２、ハードディスク７３などの基本的な構成要素と、パルスカウンタ７９等に対するインタフェース部７４、ＬＡＮカード７５、無線ＬＡＮ７６、Ｄ／Ａコンバータ７７、６軸力覚センサレシーバボード７８から成る。制御用コンピュータ７は、無線ＬＡＮ７６により、歩行パターン作成用コンピュータ２と通信可能であり、歩行パターン作成用コンピュータ２で作成されハードディスク７３に格納されているロボット制御ソフトウェアをメモリ７２にロードし、実行する。また、制御用コンピュータ７は、ロボット制御ソフトウェアで計算された速度指令値をＤ／Ａコンバータ７７を用いてアナログ電圧に変換してモータ制御部９に出力すると共に、脚部６の各シリンダＣ１〜Ｃ１２のロータリエンコーダから出力されるモータ角度情報をパルスカウンタ７９を介して取得し、これをＣＰＵ７１にフィードバックしてモータの位置制御を行う。さらに、制御用コンピュータ７は、必要に応じてスイッチ回路１２にブレーキ制御信号、サーボＯＮ信号、モータ端子短絡信号を出力することにより、各機能を制御することができる。制御コンピュータ７内の全ての電源は腰部５の電源部１１から供給される。
【００８８】
図１１は、主に電源部１１を示すブロック図である。
図１１において、電源部１１は、４８Ｖ等のニッケル水素バッテリ１１１（図４１の２３１に相当）、バッテリ／電源切替部１１２、電源スイッチ１１３、４つのＤＣ−ＤＣコンバータ１１４〜１１７から成る。電源部１１には、外部電源部３より供給される電源と、４８Ｖニッケル水素バッテリ１１１により供給される電源とを選択するためのバッテリ／電源切替部１１２が設けられている。ＤＣ−ＤＣコンバータ１１４、１１５は、制御用コンピュータ７に電源を供給するために用いられ、電圧は５Ｖ、±１２Ｖである。ＤＣ−ＤＣコンバータ１１６は、ブレーキ制御部１０に電源を供給するためのもので、電圧は２４Ｖである。ＤＣ−ＤＣコンバータ１１７は、脚部６のセンサ類、スイッチ回路１２のデジタルＩＣなどのデジタル機器に電源を供給するために用いられ、電圧は５Ｖである。モータ制御部９には、主電源電圧つまりバッテリ１１１または外部電源部３の電圧がそのまま供給される。電源部１１の電源スイッチ１１３をオンにすることによってロボット部１に電源が供給される。
【００８９】
図１２は、主にスイッチ回路１２を示すブロック図である。
図１２において、スイッチ回路１２は、ブレーキ制御部１０を介するブレーキのオン・オフ、モータ制御部９を介するサーボのオン・オフ、モータ制御部９を介するモータ端子短絡の各機能を制御するための論理回路（排他的論理和）１２３、１２１、１２２である。スイッチ回路１２は、制御用コンピュータ７からの信号と外部スイッチ４からの信号との２つを入力し、排他的論理和をとって出力する。つまり、どちらかの入力が変化すると、出力の状態は必ず変化するので、任意の入力の組み合わせにおいてロボット部１を緊急停止させることが可能である。スイッチ回路１２を構成するデジタルＩＣには、腰部５の電源部１１から電源が供給される。
【００９０】
図１３は、主にブレーキ制御部１０を示すブロック図である。
図１３において、ブレーキ制御部１０は、半導体リレー１０１で構成され、スイッチ回路１２からのブレーキオン・オフ信号を入力とし、電源部１１より供給される電流をオン・オフし、脚部６の各シリンダＣ１〜Ｃ１２の保持ブレーキをオン・オフする。ブレーキ制御部１０の制御する上記保持ブレーキは、電流を流した状態で解放状態になり、電流オフ（非通電状態）でブレーキがかかった状態になる。
【００９１】
図１４は、主にモータ制御部９を示すブロック図である。
図１４において、モータ制御部９は１２個のＤＣサーボドライバＤ１〜Ｄ１２で構成され、各ドライバＤ１〜Ｄ１２が脚部６の各シリンダＣ１〜Ｃ１２に対応する。ＤＣサーボドライバＤ１〜Ｄ１２に必要な電源は、腰部５の電源部１１から供給される。ＤＣサーボドライバＤ１〜Ｄ１２は、スイッチ回路１２からの信号（サーボオン・オフ信号）により、サーボをオン・オフする。サーボオフ時はモータの端子は開放され、フリーな状態になる。また、ＤＣサーボドライバＤ１〜Ｄ１２は、スイッチ回路１２からの信号（モータ端子短絡信号）により、モータの端子を短絡する。モータ端子短絡時は、モータ自身の逆起電力により、モータが回転し難くなる。さらに、ＤＣサーボドライバＤ１〜Ｄ１２は、制御用コンピュータ７からの速度指令値（電圧）を目標値とし、脚部６のシリンダＣ１〜Ｃ１２のモータを速度制御する。さらに、ＤＣサーボドライバＤ１〜Ｄ１２は、モータに電流を供給し、またモータの端子間電圧および電流を取得してフィードバックすることにより、速度制御を可能にしている。
【００９２】
図１５は、主にシリンダＣ１〜Ｃ１２を示すブロック図である。
図１５において、各シリンダＣ１〜Ｃ１２（直動リンク２３５）は、ロータリエンコーダ１５１（図４２、４３の２５１に相当）、ＤＣサーボモータ１５２（図４２、４３の２４８に相当）、保持ブレーキ１５３（図４２、４３の２５０に相当）、直動部１５４およびオフセット検出用のフォトマイクロセンサ１５５（図４２、４３の初期位置センサ２４７に相当）から構成される。ロータリエンコーダ１５１およびフォトマイクロセンサ１５５には、腰部５の電源部１１から電源が供給される。ＤＣサーボモータ１５２は、モータ制御部９により速度制御される。保持ブレーキ１５３は、ブレーキ制御部１０により制御され、保持ブレーキ１５３がオンになると、ＤＣサーボモータ１５２は摩擦力により固定される。ロータリエンコーダ１５１は、ＤＣサーボモータ１５２の相対回転角度を検出し、それに比例した数のパルスを制御用コンピュータ７に送る。フィードバックされた角度データをもとに、制御用コンピュータ７は、ＤＣサーボモータ１５２を位置制御することができる。ＤＣサーボモータ１５２の回転運動は、直動部１５４で直動運動（直線運動）に変換され、左右それぞれ６つのシリンダの直動運動が足底部１４に伝えられる。このときの足底部１４の運動はスチュアートプラットホームの順運動学に従う。なお、歩行パターン作成時には逆運動学を用いる。また、ロータリエンコーダ１５１は、相対的な角度変位のみを検出するセンサであるので、フォトマイクロセンサ１５５を用いて初期位置を検出する。フォトマイクロセンサ１５５は、最もシリンダが縮んだ状態で反応し、シリンダが初期位置にあることを制御用コンピュータ７に知らせる。
【００９３】
図１６は、主に足底部（足部）１４を示すブロック図である。なお、足底部１４は右足底部１４ａ（２０３）と左足底部１４ｂ（２０４）から成る（図６及び図４０、４１参照）。
図１６において、足底部１４は、足底板１４１（図４１の２０３ａ、２０４ａに相当）と６軸力覚センサ１４２（図４１の２０４ｂに相当）から成る。６本のシリンダＣ１〜Ｃ６（直動リンク２３５）の直動運動の結果として、足底板１４１の運動が決定される。立脚時には６軸力覚センサ１４２によって床反力情報を取得し、これを制御用コンピュータ７で処理することにより、実際のＺＭＰの位置を調べることができる。
【００９４】
図１７は、主に直動部１５４（図４１、４３、４４の直動リンク２３５の直動部分）を示すブロック図である。
図１７において、直動部１５４は、動力伝達部１７１（図４３、４４の歯付プーリ２４９、溝付きベルト２５２等から構成）、すべりねじ１７２（図４４の雄螺子軸部２５４に相当）、ナット１７３（図４４の２５５に相当）、リニアガイド１７４（図４３、４４のロッドレール部２４５、レールガイド２４６に相当）から構成される。動力伝達部１７１は、ＤＣサーボモータ１５２の回転をすべりねじ１７２の軸に伝え、また回転軸の軸心のずれを吸収する。すべりねじ１７２の軸が回転すると、ナット１７３が直動運動（直線運動、直進後退運動）をする。ナット１７３の回転はリニアガイド１７４により抑制されるので、直進後退運動だけを取り出すことができる。直動部１５４の従動側の運動はジョイントを介して足底板１４１に伝えられる。
【００９５】
図１８は、歩行パターン作成用コンピュータ２のＣＰＵ２１における機能実現手段（ソフトウェア構成）を示すブロック図である。
図１８において、２１１はロボット部１の全相数等の設定データを入力するための設定データ入力手段、２１２は足部（足底部）１４の軌道と腰部５の初期軌道とを設定する軌道設定手段、２１３は設定した足部１４の軌道と腰部５の初期軌道とに基づいて目標ゼロモーメントポイント（目標ＺＭＰ）の軌道を設定する目標ＺＭＰ軌道設定手段、２１４は脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを算出する目標ＺＭＰ回りモーメント算出手段、２１５は目標ゼロモーメントポイント回りのモーメント等に対してフーリエ変換を行ってフーリエ係数を算出するフーリエ変換手段、２１６は算出したフーリエ係数に基づいてフーリエ係数を決定するフーリエ係数決定手段、２１７は算出した目標ゼロモーメントポイント回りのモーメント等に基づいて腰部５のモーメント補償軌道（初期軌道に対してモーメントを補償した軌道）を算出するモーメント補償軌道算出手段、２１８は設定した足部１６の軌道と腰部５のモーメント補償軌道とにより各質点の加速度を算出する質点加速度算出手段、２１９は算出された各質点の加速度に基づいて目標ゼロモーメントポイント回りのモーメントであるエラーモーメントを算出するエラーモーメント算出手段、２２０は算出したエラーモーメントが所定モーメントよりも小さいか否かを判定するエラーモーメント判定手段、２２１は腰座標系（数２７）から見た足部（「足底部」ともいう）の位置と姿勢（ロール角、ヨー角、ピッチ角）を算出する足部位置姿勢算出手段、２２２ａは予め取得した搭乗者の力学モデルのパラメータ（搭乗者パラメータ）に基づいて搭乗者の各質点の軌道を算出する搭乗者質点軌道算出手段、２２２ｂは算出した搭乗者の各質点の軌道に基づいて搭乗者の各質点の加速度を算出する搭乗者質点加速度算出手段、２２３は腰部から見た足部の位置・姿勢の時系列データおよび腰部から見たＺＭＰ軌道および歩容フラグを歩行パターンとしてハードディスク２３のファイルに出力するファイル出力手段である。また、目標ＺＭＰ回りモーメント算出手段２１４は、脚部６の運動により生じる目標ＺＭＰ回りモーメントを算出する下肢運動による目標ＺＭＰ回りモーメント算出手段２１４１と、腰部５の運動により生じる目標ＺＭＰ回りの既知のモーメントを算出する腰運動による目標ＺＭＰ回り既知モーメント算出手段２１４２とを有し、フーリエ変換手段２１５は、目標ＺＭＰ回りモーメント算出手段２１４において算出した目標ゼロモーメントポイント回りのモーメントと算出したエラーモーメントとの総和を算出するモーメント総和算出手段２１５１と、その算出した総和に基づいてフーリエ係数を算出するフーリエ算出手段２１５２とを有し、足部位置姿勢算出手段２２１は、足座標系（数３８）の原点位置を算出する原点位置算出手段２２１１と、足部の姿勢を算出するための回転行列を求める回転行列算出手段２２１２と、ロール角、ヨー角、ピッチ角の姿勢角を算出する姿勢算出手段２２１３とを有する。
【００９６】
図３３は、制御用コンピュータ７のＣＰＵ７１における機能実現手段（ソフトウェア構成）を示すブロック図である。
図３３において、７１１は電源部１１を介して電源を投入するための電源投入手段、７１２は歩行パターン作成用コンピュータ２から歩行パターンを無線で受信してハードディスク７３に格納する歩行パターン設定手段、７１３は脚部６の脚を伸縮するシリンダＣ１〜Ｃ１２の初期位置を設定するシリンダ初期位置設定手段、７１４はハードディスク７３に格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段、７１５は使用する歩行パターンに基づいてモータ（ＤＣサーボモータ）を制御するモータ制御手段、７１６は歩行動作の終了か否かを判定する終了判定手段である。
【００９７】
（４）歩行パターン作成動作と２足歩行ロボット装置の制御動作
このように構成された２足歩行ロボット装置について、その動作を図１９〜図３６を用いて説明する。まず、図４〜図１８の２足歩行ロボット装置における歩行パターン作成用コンピュータ２による歩行パターン作成動作について、図１９〜図３２を用いて説明する。図１９〜図３１は歩行パターン作成用コンピュータ２のＣＰＵ２１の動作（歩行パターン作成動作）を示すフローチャートであり、図３２は足座標系の原点位置の算出、回転行列の算出および姿勢角算出について説明する説明図である。
【００９８】
図１９は歩行パターン作成の全体動作を示す。
図１９において、まず、設定データ入力手段２１１は、総歩数、足底部１４の位置と姿勢、１相の時間（歩行速度）を設定データとして入力装置２４を介して入力する（Ｓ１）。ここで、１相の時間とは或る期間を分割したときの１個分の時間長さであり、１相毎に２足歩行ロボット装置に歩行パターンを与えることで連続した歩行動作を行うことができる。次に、軌道設定手段２１２は、足部（足底部）１４の軌道と腰部５の初期軌道とを設定し（Ｓ２、軌道設定ステップ）、目標ＺＭＰ軌道設定手段２１３は、設定した足部１４の軌道と腰部５の初期軌道とに基づいて目標ゼロモーメントポイント（目標ＺＭＰ）の軌道を設定する（Ｓ３、目標ＺＭＰ軌道設定ステップ）。目標ＺＭＰ回りモーメント算出手段２１４の下肢運動による目標ＺＭＰ回りモーメント算出手段２１４１は、脚部６の運動により生じる目標ＺＭＰ回りモーメントを算出し（Ｓ４、下肢運動による目標ＺＭＰ回りモーメント算出ステップ）、目標ＺＭＰ回りモーメント算出手段２１４の腰運動による目標ＺＭＰ回り既知モーメント算出手段２１４２は、腰部５の運動により生じる目標ＺＭＰ回りモーメントを算出する（Ｓ５、腰運動による目標ＺＭＰ回り既知モーメント算出ステップ）。フーリエ変換手段２１５のモーメント総和算出手段２１５１は、目標ＺＭＰ回りモーメント算出手段２１４において算出した足部１４と腰部５の運動による目標ゼロモーメントポイント回りのモーメントと算出したエラーモーメント（初期値はゼロ）との総和を算出し（モーメント総和算出ステップ）、フーリエ変換手段２１５のフーリエ係数算出手段２１５２は、その算出した総和に基づいてフーリエ係数を算出し（Ｓ６、フーリエ係数算出ステップ）、フーリエ係数決定手段２１６は、ステップＳ６で算出したフーリエ係数に基づいてフーリエ係数を決定する（Ｓ７、フーリエ係数決定ステップ）。次に、モーメント補償軌道算出手段２１７は、ステップＳ７で決定したフーリエ係数を逆フーリエ変換してモーメント補償軌道を算出し、この算出したモーメント補償軌道に基づいて腰部５の軌道（腰部５のモーメント補償軌道）を設定する（Ｓ８、モーメント補償軌道算出ステップ）。次に、質点加速度算出手段２１８は、設定した足部１４の軌道とステップＳ８で算出した腰部５のモーメント補償軌道とにより搭乗者の力学モデルの各質点を含まない２足歩行ロボット装置の各質点の加速度を算出して加速度の時系列データを取得し（Ｓ９、質点加速度算出ステップ）、搭乗者質点軌道算出手段２２２ａは、予め取得した搭乗者パラメータに基づいて搭乗者の各質点の軌道を算出し（Ｓ１０ａ、搭乗者質点軌道算出ステップ）、搭乗者質点加速度算出手段２２２ｂは、算出した搭乗者の各質点の軌道に基づいて搭乗者の各質点の加速度を算出して加速度の時系列データを取得し（Ｓ１０ｂ、搭乗者質点加速度算出ステップ）、エラーモーメント算出手段２１９は、算出された２足歩行ロボット装置及び搭乗者の各質点の加速度の時系列データに基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出する（Ｓ１１、エラーモーメント算出ステップ）。次に、エラーモーメント判定手段２２０は、算出したエラーモーメント（ｅＭ）が所定モーメント（εＭ）よりも小さいか否かを判定し（Ｓ１２、エラーモーメント判定ステップ）、所定モーメントよりも大きいと判定したときはエラーモーメント判定手段２２０はフィードバックするエラーモーメントを算出し、その後ステップＳ４へ戻る（Ｓ１３）。ステップＳ１１でエラーモーメントが所定モーメントよりも小さいと判定した場合は原点位置算出手段２２１１は足座標系の原点位置を算出し、回転行列算出手段２２１２は足部の姿勢を算出するための回転行列を算出し、姿勢算出手段２２１３はロール角、ヨー角、ピッチ角の姿勢角を算出する（Ｓ１４、足部位置姿勢算出ステップ）。次に、ファイル出力手段２２３は、腰部から見た足部の位置・姿勢の時系列データおよび腰部から見たＺＭＰ軌道を歩行パターンとしてハードディスク２３のファイルに出力する（Ｓ１５）。
【００９９】
次に、ステップＳ２に示す軌道設定手段２１２の動作を図２０（ａ）〜（ｃ）を用いて詳細に説明する。図２０（ａ）は足底部１４の軌道と腰部５の初期軌道の設定動作を示し、図２０（ｂ）は一歩分の足底部１４の軌道設定動作を、図２０（ｃ）は一歩分の腰部５の初期軌道設定動作を示す。
【０１００】
まず図２０（ａ）において、ｉをゼロに設定し（Ｓ２１）、ｉが全相数より小さいか否かを判定する（Ｓ２２）。最初はｉ＜全相数であるので、ステップＳ２３へ移行し、一歩分の足底部１４の軌道を設定する（一歩分の足底部軌道設定処理）。次に、一歩分の腰部５の初期軌道を設定する（Ｓ２４、一歩分の腰部初期軌道設定処理）。次に、ｉを１だけ増加して（ｉ＝ｉ＋１の演算を行って）ステップＳ２２へ戻る（Ｓ２５）。ステップＳ２２〜Ｓ２５をｉ≧全相数と成るまで繰り返す。ステップＳ２２でｉ≧全相数と判定すると、この処理を終了する。
【０１０１】
次に、ステップＳ２３の一歩分の足部軌道設定処理について図２０（ｂ）を用いて説明する。
まず一歩の中間点と終点を設定し（Ｓ２３１）、一歩の片立脚期の相数（或る期間を所定時間たとえば３０ｍｓで分割したときの分割数）と一歩の相数とを設定する（Ｓ２３２）。次に、ｉを１に設定し（Ｓ２３３）、ｉが片立脚期の相数以下か否かを判定する（Ｓ２３４）。最初はｉ≦片立脚期の相数であるので、ステップＳ２３５へ移行し、上記中間点と終点に基づいて遊脚（路面から離れている脚）の足底部の位置を５次多項式（５次多項式とするのは、２回微分しても充分になめらかである必要があるからである）で近似して求め、静止している立脚の足底部の位置を設定する（Ｓ２３６）。次に、ｉを１だけ増加して（ｉ＝ｉ＋１の演算を行って）ステップＳ２３４へ戻る（Ｓ２３７）。ステップＳ２３４〜Ｓ２３７をｉ＞片立脚期の相数となるまで繰り返す。ステップＳ２３４でｉ＞片立脚期の相数と判定すると、ステップＳ２３８へ移行し、ｉ≦一歩の相数か否かを判定し、最初はｉ≦一歩の相数であるので、次に、静止している両脚の足底部１４の位置を設定する（Ｓ２３９）。次に、ｉを１だけ増加して（ｉ＝ｉ＋１の演算を行って）ステップＳ２３８へ戻る（Ｓ２４０）。ステップＳ２３８〜Ｓ２４０をｉ＞一歩の相数と成るまで繰り返す。ステップＳ２３８でｉ＞一歩の相数と判定すると、この処理を終了する。
【０１０２】
次に、ステップＳ２４の一歩分の腰部初期軌道設定処理について図２０（ｃ）を用いて説明する。
まずｉを１に設定し（Ｓ２４１）、ｉが一歩の相数以下か否かを判定する（Ｓ２４２）。最初はｉ≦一歩の相数であるので、次に、腰部５は一定の高さかつ一定速度で直線的に移動するとして腰の位置を求める（Ｓ２４３）。次に、ｉを１だけ増加して（ｉ＝ｉ＋１の演算を行って）ステップＳ２４２へ戻る（Ｓ２４４）。ステップＳ２４２〜Ｓ２４４をｉ＞一歩の相数と成るまで繰り返す。ステップＳ２４２でｉ＞一歩の相数と判定すると、この処理を終了する。
【０１０３】
次に、ステップＳ３に示す目標ＺＭＰ軌道設定手段２１３の動作について図２１を用いて説明する。
まず、ｊとｉを１に設定する（Ｓ３１、Ｓ３２）。次に、ｉ≦片立脚期の相数か否かを判定し（Ｓ３３）、最初はｉ≦片立脚期の相数であるので、次に、ＺＭＰの位置を立脚側の足底部１４の中心に設定する（Ｓ３４）。次に、ｉを１だけ増加して（ｉ＝ｉ＋１の演算を行って）ステップＳ３３へ戻る（Ｓ３５）。ステップＳ３３〜Ｓ３５をｉ＞片立脚期の相数と成るまで繰り返す。ステップＳ３３でｉ＞片立脚期の相数と判定すると、次に、ｉ≦一歩の相数か否かを判定し（Ｓ３６）、最初はｉ≦一歩の相数であるので、次に、ＺＭＰの位置を２つの足底部１４（右足底部１４ａと左足底部１４ｂ）の中間点に設定する（Ｓ３７）。次に、ｉを１だけ増加してステップＳ３６へ戻る（Ｓ３８）。ステップＳ３６〜Ｓ３８をｉ＞一歩の相数と成るまで繰り返す。ステップＳ３６でｉ＞一歩の相数と判定すると、次に、ｊ＜全相数か否かを判定し（Ｓ３９）、最初はｊ＜全相数であるので、ｊを１だけ増加してステップＳ３２へ戻る（Ｓ４０）。次に、再びｉを１に設定して、ｊ≧全相数となるまでステップＳ３２〜Ｓ３８を繰り返す。ｊ≧全相数と判定すると、この処理を終了する。
【０１０４】
次に、ステップＳ４に示す下肢運動による目標ＺＭＰ回りモーメント算出手段２１４１の動作について図２２を用いて説明する。
まずｎを１に、下肢の質点数をＮに設定し（Ｓ４１）、ｎ≦全相数か否かを判定する（Ｓ４２）。最初はｎ≦全相数であるので、下肢の運動により目標ＺＭＰの回りに生ずるモーメント（ベクトルＭ）を算出する（Ｓ４３）。ステップＳ４３に示すベクトルＭは、（数２）において外力をゼロとした場合のベクトルである。次に、ｎを１だけ増加してステップＳ４２へ戻る（Ｓ４４）。ステップＳ４２でｎ＞全相数と判定されるまで、ステップＳ４２〜Ｓ４４を繰り返す。ｎ＞全相数と判定すると、この処理を終了する。全相数とは例えば１０２４（２の１０乗）である。
【０１０５】
次に、ステップＳ５に示す腰運動による目標ＺＭＰ回り既知モーメント算出手段２１４２の動作について図２３を用いて説明する。
まずｎを１に設定し（Ｓ５１）、ｎ≦全相数か否かを判定する（Ｓ５２）。最初はｎ≦全相数であるので、腰の運動により目標ＺＭＰの回りに生ずる既知モーメント（Ｍｋｙ，Ｍｋｘ）を算出する（Ｓ５３）。ステップＳ５３に示す既知モーメントは、（数６），（数７）において腰部５に関する座標を未知とした場合のモーメントである（数６、７における左辺の既知の項だけを抜き出し，右辺に移項したもの）。次に、ｎを１だけ増加してステップＳ５２へ戻る（Ｓ５４）。ステップＳ５２でｎ＞全相数と判定されるまで、ステップＳ５２〜Ｓ５４を繰り返す。ｎ＞全相数と判定すると、この処理を終了する。
【０１０６】
次に、ステップＳ６に示すフーリエ変換手段２１５の動作について図２４を用いて説明する。
まずモーメント総和算出手段２１５１は、ステップＳ４で求めたベクトルＭとステップＳ５で求めた既知モーメント（ベクトルＭｋ）と後述のステップＳ１２で求めたエラーモーメント（ベクトルＥ）との総和を求めると共に、全相数をＮに設定する（Ｓ６１、モーメント総和算出ステップ）。なお、エラーモーメントの初期値はゼロである。次に、フーリエ係数算出手段２１５２は、上記総和をフーリエ変換し（Ｓ６２）、フーリエ係数を算出する（Ｓ６３）。フーリエ変換やフーリエ係数の算出は一般的手法である。
【０１０７】
次に、ステップＳ７に示すフーリエ係数決定手段２１６の動作について図２５を用いて説明する。
まずフーリエ係数決定手段２１６は、腰部５のモーメント補償軌道をフーリエ級数で表す（Ｓ７１）。ステップＳ７１のＡｎ，Ｂｎ，Ｃｎ，Ｄｎ（ｎ＝０〜Ｎ−１）はフーリエ係数である。次に、このフーリエ級数を（数１５）、（数１６）に代入してフーリエ係数を比較し（Ｓ７２）、比較結果に基づいてフーリエ係数を決定する（Ｓ７３）。
【０１０８】
次に、ステップＳ８に示すモーメント補償軌道算出手段２１７の動作について図２６を用いて説明する。
まずモーメント補償軌道算出手段２１７は、全相数をＮに設定し（Ｓ８１）、逆フーリエ変換用のデータ（つまりステップＳ７３で決定したフーリエ係数を元に設定した逆フーリエ変換用のデータ）を設定し（（数２５）参照）（Ｓ８２）、腰部５のモーメント補償軌道を上記逆フーリエ変換用のデータを逆フーリエ変換することにより算出する（Ｓ８３）。次に、ｉを１に設定し（Ｓ８４）、ｉ≦Ｎか否かを判定する（Ｓ８５）。最初はｉ≦Ｎであるので、次に、ステップＳ８３で算出したモーメント補償軌道に基づいて腰部５の軌道を設定する（Ｓ８６）。次に、ｉを１だけ増加する（Ｓ８７）。ステップＳ８５〜Ｓ８７をｉ＞Ｎとなるまで繰り返し、ｉ＞Ｎと判定すると、この処理を終了する。
【０１０９】
次に、ステップＳ９に示す質点加速度算出手段２１８の動作について図２７を用いて説明する。
まず質点加速度算出手段２１８は、１相の時間をＴ（たとえば３０ｍｓ）に、ｎを１に、全相数をＮに設定し（Ｓ９１、Ｓ９２）、ｎ≦Ｎか否かを判定する（Ｓ９３）。最初はｎ≦Ｎであるので、次に、ｉを１に、質点の総数をＪに設定し（Ｓ９４）、ｉ≦Ｊか否かを判定する（Ｓ９５）。最初はｉ≦Ｊであるので、次に、離散時間における各質点の加速度（ｒｉ（ｎ）の２階微分）を計算する（Ｓ９６）。次に、ｉを１だけ増加する（Ｓ９７）。ステップＳ９５〜Ｓ９７をｉ＞Ｊとなるまで繰り返し、ｉ＞Ｊであると判定すると、次にｎを１だけ増加し（Ｓ９８）、ステップＳ９４〜Ｓ９８をｎ＞Ｎとなるまで繰り返し、ｎ＞Ｎであると判定すると、この処理を終了する。
【０１１０】
次に、ステップＳ１０ａに示す搭乗者質点軌道算出手段２２２ａの動作について図２８（ａ）を用いて説明する。
まずｎを１に設定し（Ｓ１００）、ｎ≦全相数か否かを判定する（Ｓ１０１）。最初はｎ≦全相数であるので、予め取得した搭乗者パラメータ（上半身質点の質量、初期位置（数３１）、弾性係数（数３５）、粘性係数（数３６））を用いて（数２７）をルンゲ・クッタ法で解くことにより搭乗者の上半身質点の軌道（ｒｈ（ｎ））を算出する（Ｓ１０２）。なお、この場合のｒｗ（ｎ）はモーメント補償軌道（逆フーリエ変換で求めた近似値）である。次に、ｎを１だけ増加してステップＳ１０１へ戻る（Ｓ１０３）。ステップＳ１０１でｎ＞全相数と判定されるまで、ステップＳ１０１〜Ｓ１０３を繰り返す。ｎ＞全相数と判定すると、この処理を終了する。
なお、搭乗者の力学モデルを構成する自由質点が複数ある場合は、各自由質点について同様にしてその軌道を算出する。
【０１１１】
次に、ステップＳ１０ｂに示す搭乗者質点加速度算出手段２２２ｂの動作について図２８（ｂ）を用いて説明する。
まず、搭乗者質点加速度算出手段２２２ｂは、１相の時間をＴに、ｎを１に、全相数をＮに設定し（Ｓ１０６、Ｓ１０７）、ｎ≦Ｎか否かを判定する（Ｓ１０８）。最初はｎ≦Ｎであるので、次に、離散時間における上半身質点の加速度（ｒｈ（ｎ）の２階微分）を計算する（Ｓ１０９）。次に、ｎを１だけ増加し（Ｓ１１０）、ステップＳ１０８〜Ｓ１１０をｎ＞Ｎとなるまで繰り返し、ｎ＞Ｎであると判定すると、この処理を終了する。
なお、自由質点が複数ある場合は、各自由質点について同様にしてその加速度を算出する。
【０１１２】
また、２足歩行ロボット装置の腰部に固定された下半身質点（固定質点）の軌道及び腰部の軌道及び加速度に基づいて算出する。
【０１１３】
次に、ステップＳ１１に示すエラーモーメント算出手段２１９の動作について図２９を用いて説明する。
まずエラーモーメント算出手段２１９は、ｎを１に設定し（Ｓ１１１）、ｎ≦全相数か否かを判定する（Ｓ１１２）。最初はｎ≦全相数であるので、次に、２足歩行ロボット装置の全ての質点及び搭乗者力学モデルの全ての質点について、ステップＳ４３と同様にしてエラーモーメント（ｅＭ（ｎ））を算出し（Ｓ１１３）、ｎを１だけ増加する（Ｓ１１４）。ステップＳ１１２〜Ｓ１１４をｎ＞全相数となるまで繰り返す。
【０１１４】
次に、ステップＳ１２に示すエラーモーメント判定手段２２０の動作について図３０を用いて説明する。図３０はエラーモーメントの算出方法について説明するものである。
まずエラーモーメント判定手段２２０は、繰り返し回数をｎとし（Ｓ１２１）、ｎが１の場合はエラーモーメントを０とし（Ｓ１２２、Ｓ１２３）、ｎが２の場合はエラーモーメントを１回目で算出した値とし（Ｓ１２４、Ｓ１２５）、ｎが３以上の場合は前回で使用したエラーモーメントに前回で算出したエラーモーメントの半分を加えたものを今回のエラーモーメントとする（Ｓ１２６）。
ｎ＝１のときにエラーモーメントを０とする理由について説明する。ｎ＝１は、１回目の計算の後にフィードバックする値を表わしているのでは無くて、１回目の計算で使うエラーモーメントを示している。すなわち、ｎ＝１の場合のエラーモーメントＥ１を計算に用いる時点ではｅＭ１は計算されておらず、フィードバックすべき量がない。そのためにＥ１＝０というステップを便宜上入れてある。初めて計算される算出エラーモーメントｅＭ１がＥ２に代入されるのも同様の理由で、ｅＭ１が計算された直後は繰り返し回数ｎ＝２となるために、Ｅ２に代入されて２回目の計算に使用される。
【０１１５】
次に、ステップＳ１３に示す足部位置姿勢算出手段２２１の動作について図３１を用いて説明する。
まず、ｎを１に設定し（Ｓ１３１）、ｎ≦全相数か否かを判定する（Ｓ１３２）。最初はｎ≦全相数であるので、原点位置算出手段２２１１は、足座標系の原点位置を算出し（Ｓ１３３、後述の図３２および（数８２）参照）、回転行列算出手段２２１２は足部の姿勢を算出するための回転行列を算出し（Ｓ１３４、後述の（数５８）参照）、姿勢算出手段２２１３はロール角、ヨー角、ピッチ角の姿勢角を算出する（Ｓ１３５、後述の（数９１）参照）。次に、ｎを１増加し、ステップＳ１３２へ戻る。これをｎ＞全相数となるまで繰り返す。ｎ＞全相数となると、この処理を終了する。
【０１１６】
ここで、足座標系の原点位置の算出、回転行列の算出および姿勢角算出について図３２を用いて説明する。
従来は、絶対座標系における足部位置・姿勢および腰部位置・姿勢から逆運動学により各シリンダ長さ（つまり腰部ジョイントと足部ジョイントとの間の距離）を算出し、これを歩行パターンとして出力していたが、本実施の形態では、次のような手順で、絶対座標系における足部位置・姿勢および腰部位置・姿勢から、腰座標系から見た足座標系の位置・姿勢を算出し、これを歩行パターンとして出力する。
腰座標系から見た足座標系原点の位置ベクトル（数５２）は、足部と腰部の絶対座標から、（数５３）となる（図３２参照）。
【数５２】
2008068339.tif 000054
【数５３】
2008068339.tif 000055
また、腰座標系から見た足座標系の姿勢を表わす回転行列（数５４）と、絶対座標系から見た足座標系の姿勢を表わす回転行列（数５５）と、絶対座標系から見た腰座標系の姿勢を表わす回転行列（数５６）の関係は（数５７）、（数５８）のようになる。
【数５４】
2008068339.tif 000056
【数５５】
2008068339.tif 000057
【数５６】
2008068339.tif 000058
【数５７】
2008068339.tif 000059
【数５８】
2008068339.tif 000060
ここで、（数５５）、（数５６）は（数５９）、（数６０）のように表わされる。
【数５９】
2008068339.tif 000061
【数６０】
2008068339.tif 000062
【０１１７】
このようにして求めた、腰座標系から見た足座標系の姿勢を表わす回転行列（数５４）より、次の手順でロール角、ヨー角、ピッチ角に換算する。
腰座標系から見た足座標系の姿勢を表わす回転行列（数５４）の成分を（数６１）のようにおく。
【数６１】
2008068339.tif 000063
これらより、２変数逆正接関数を用い、腰座標系から見た足座標系の姿勢を表わすロール角、ヨー角、ピッチ角は、（数６２）のようになる。
【数６２】
2008068339.tif 000064
この腰座標系から見た足座標系の位置・姿勢（数６３）、（数６４）を両足分算出し、歩行パターンとして出力する。
【数６３】
2008068339.tif 000065
【数６４】
2008068339.tif 000066
ここで、（数６２）について説明する。Ａｔａｎ２（ｙ，ｘ）は（数６５）として計算されるが、結果の角度が存在する象限は、ｘとｙの両方の符号によって決定される。例えば、Ａｔａｎ２（−２．０，−２．０）＝−１３５°である。
【数６５】
2008068339.tif 000067
【０１１８】
次に、２足歩行ロボット装置の制御動作について、図３３〜図３７を用いて説明する。図３３は制御用コンピュータ７のＣＰＵ７１における機能実現手段を示すブロック図であり、図３４〜図３６は制御用コンピュータ７のＣＰＵ動作を示すフローチャートであり、図３７はＣＰＵ７１のモータ制御手段７１５を示す機能ブロック図である。
【０１１９】
まず２足歩行ロボット装置の制御動作の全体動作について図３４を用いて説明する。
図３４において、電源投入手段７１１は電源部１１を介して２足歩行ロボット装置の電源を投入する（ＳＳ１）。次に歩行パターン設定手段７１２は、歩行パターン作成用コンピュータ（歩行パターン作成装置）２から歩行パターンを無線で受信してハードディスク７３に格納し（ＳＳ２、歩行パターン設定ステップ）、シリンダ初期位置設定手段７１３は、脚部６の脚を伸縮するシリンダＣ１〜Ｃ１２の初期位置を設定する（ＳＳ３、シリンダ初期位置設定ステップ）。次に、歩行開始命令手段７１４は、ハードディスク７３に格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令し（ＳＳ４、歩行開始命令ステップ）、モータ制御手段７１５は、使用する歩行パターンに基づいてモータ（ＤＣサーボモータ）１５２を制御する（ＳＳ５、モータ制御ステップ）。次に、終了判定手段７１６は、歩行動作の終了か否かを（終了命令が制御用コンピュータ７から出ているか否かを）判定する（ＳＳ６）。
【０１２０】
次に、ステップＳＳ２に示す歩行パターン設定手段７１２の動作を図３５を用いて説明する。
図３５において、まず、設定したいパターンの数をＮに、ｊをゼロに設定する（ＳＳ２１）。次に、ｊ＜Ｎか否かを判定する（ＳＳ２２）。最初はｊ＜Ｎであるので、次に、歩行パターン作成用コンピュータ２で作成したデータ（腰座標系における足部の位置・姿勢、絶対座標系における腰軌道、絶対座標系におけるＺＭＰ軌道）を制御用コンピュータ７のメモリ７２に記憶する（ＳＳ２３）。次に、ｊを１だけ増加する（ＳＳ２４）。ステップＳＳ２２〜ＳＳ２４をｊ≧Ｎとなるまで繰り返す。ｊ≧Ｎであると判定すると、この処理を終了する。
【０１２１】
次に、ステップＳＳ３に示すシリンダ初期位置設定手段７１３の動作を図３６を用いて説明する。
図３６において、まず、Ｄ／Ａコンバータ７７から一定電圧を各モータドライバ（ＤＣサーボドライバ）Ｄ１〜Ｄ１２に出力し、低速かつ一定速度でシリンダＣ１〜Ｃ１２を縮める方向に動かす（ＳＳ３１）。次に、初期位置検出用のセンサ１５５が反応したか否かを判定し（ＳＳ３２）、反応しない場合にはステップＳＳ３１へ戻り、反応した場合には反応したセンサがついているシリンダに位置制御（ＰＩ制御）をかけて固定する（ＳＳ３３）。ステップＳＳ３１〜ＳＳ３３の動作を全てのセンサが反応するまで行う（ＳＳ３４）。全てのセンサが反応したと判定した場合は、全てのシリンダを動かして、２足歩行ロボット装置を歩行パターンに基づく初期位置にする（ＳＳ３５）。
【０１２２】
次に、モータ制御手段７１５について図３７を用いて説明する。図３７はモータ制御手段７１５を示す機能ブロック図である。
図３７において、モータ制御手段７１５は、メモリ７２に記憶されている歩行パターンを出力する歩行パターン出力手段８１１と、足部の位置・姿勢の目標値に対して逆運動学演算を行ってシリンダ長さのデータ（つまりリンク長さのデータ）を生成する逆運動学演算手段８１３と、シリンダ長さのデータをモータの角度変位のデータに変換するデータ変換手段８１４と、シリンダの初期位置の微調整を行う初期位置微調整手段８１５と、後述のシリンダ駆動装置４００（図３７参照）を駆動するシリンダ駆動装置駆動手段８１６とを有する。
【０１２３】
このように構成されたモータ制御手段７１５の動作について図３８、図３９を用いて説明する。
図３８はモータ制御手段とモータ駆動装置を示すブロック図である。図３９はモータ制御手段７１５の動作を示すフローチャートである。
図３８において、歩行パターン出力手段８１１、逆運動学演算手段８１３、データ変換手段８１４、初期位置微調整手段８１５、シリンダ駆動装置駆動手段８１６は図３７と同様のものであり、同一符号を付し、説明は省略する。
【０１２４】
このように構成されたモータ制御手段７１５の動作について図３９を用いて説明する。
図３９において、まず、歩行パターンが選択され、歩行開始命令が出されると（歩行パターン選択と歩行開始命令とは外部のコンピュータから無線を介して伝えられる。通常は歩行パターン作成用コンピュータ２がこの役割を果たしている）、歩行パターン出力手段８１１は、腰座標系における足部の位置・姿勢のデータや絶対座標系における腰座標・ＺＭＰ座標のデータ（以下、「足部等データ」という）を制御周期（約１ｍｓ）毎に補間して出力する（ＳＳ４１）。次に、逆運動学演算手段８１３は、足部等データに対して前述した逆運動学演算を行ってシリンダ長さのデータを算出し（ＳＳ４２）、データ変換手段８１４は、算出したシリンダ長さのデータをモータの角度変位のデータに変換する（ＳＳ４３）。このモータ角度変位データに初期位置微調整手段８１５からの初期位置の微調整データ（ＳＳ４４）を加えた加算データａをシリンダ駆動装置駆動手段８１６が比較部ＣＯＭに出力する（ＳＳ４５）。加算データａはパルスカウンタ７９からの実角度変位データｂと比較部ＣＯＭで比較され、差データ（ａ−ｂ）となる。この差データ（ａ−ｂ）の積分データと比例データとは比例積分部３００において加算されてモータ回転速度データｃとなり、このデータｃは換算部３０１でデジタル電圧に換算されて、Ｄ／Ａコンバータ７７に出力され、Ｄ／Ａコンバータ７７でアナログ電圧となり、このアナログ電圧はサーボドライバＤ１〜Ｄ１２に入力され、サーボドライバＤ１〜Ｄ１２は上記アナログ電圧によりＤＣサーボモータ１５２を回転駆動する。ＤＣサーボモータ１５２の回転変位（角度変位）はロータリエンコーダ１５１でパルス数として検出され、このパルス数はパルスカウンタ７９で計数されて比較部ＣＯＭへフィードバックされる。ここで比較部ＣＯＭ、比例積分部３００、換算部３０１、Ｄ／Ａコンバータ７７、サーボドライバＤ１〜Ｄ１２、ＤＣサーボモータ１５２、エンコーダ１５１、カウンタ７９はシリンダ駆動装置４００を構成する。
【０１２５】
このように、本実施の形態においては、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さ（つまりシリンダ長さ）を制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができるようになる。
【０１２６】
以上のように本実施の形態によれば、足部の軌道と腰部の初期軌道を設定する軌道設定手段２１２と、設定した足部の軌道と腰部の初期軌道とに基づいて目標ゼロモーメントポイントの軌道を設定する目標ＺＭＰ軌道設定手段２１３と、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを算出する目標ＺＭＰ回りモーメント算出手段２１４と、算出した目標ゼロモーメントポイント回りのモーメントに基づいて腰部のモーメント補償軌道を算出するモーメント補償軌道算出手段２１７と、設定した足部の軌道と腰部のモーメント補償軌道とに基づいて２足歩行ロボット装置の各質点の加速度を算出する質点加速度算出手段２１８と、予め取得した搭乗者の力学モデルの搭乗者パラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段２２２ａと、算出した各質点の軌道に基づいて搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段２２２ｂと、算出された２足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段２１９と、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置を算出すると共に足部の姿勢を算出する足部位置姿勢算出手段２２１とを有することにより、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することができ、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型の２足歩行ロボット装置に安定性の極めて高い２足歩行を行わせることができ、搭乗者の重量に対して比較的小型で軽量な２足歩行ロボット装置であっても搭乗者の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境での運用が可能であり実用性に優れ、また、搭乗者の体重や体型に応じて搭乗者毎に力学モデルのパラメータを取得することで、搭乗者が代わっても正確な力学モデルに基づく安定した歩行を２足歩行ロボット装置に行わせることができる。
【０１２７】
搭乗者質点軌道算出手段２２２ａは、搭乗者パラメータとして上半身質点（自由質点）の質量、初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数に基づいて上半身質点の軌道を算出することにより、搭乗者の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者の受動的運動を考慮した極めて安定性の高い歩行を２足歩行ロボット装置に行わせることができ、また、搭乗者の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得を容易に行うことができ、搭乗者のモデル化を正確に且つ簡単に行うことができる。
【０１２８】
さらに、ＺＭＰ回りモーメント算出手段において算出した目標ゼロモーメントポイント回りのモーメントと算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換手段２１５と、算出したフーリエ係数に基づいてモーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定手段２１６とを備え、モーメント補償軌道算出手段２１７は、決定したフーリエ係数に基づく逆フーリエ変換により腰部のモーメント補償軌道を算出することにより、腰部のモーメント補償軌道を正確に算出することができるので、目標ゼロモーメントポイント回りのモーメントを迅速にゼロに近づけることができる。
【０１２９】
さらに、目標ＺＭＰ回りモーメント算出手段２１４１は、脚部の運動により生じる目標ＺＭＰ回りモーメントを算出する下肢運動による目標ＺＭＰ回りモーメント算出手段２１４１と、腰部の運動により生じる目標ＺＭＰ回りモーメントを算出する腰運動による目標ＺＭＰ回り既知モーメント算出手段２１４２とを有することにより、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができるので、腰部のモーメント補償軌道を正確に算出することができる。
【０１３０】
さらに、足部位置姿勢算出手段２２１は、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出手段２２１１と、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段２２１２と、回転行列算出手段で算出した回転行列により足部の姿勢を算出する姿勢算出手段２２１３とを有することにより、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができるので、パラレルリンク機構においてはリアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができる。
【０１３１】
さらに、足部を備えた脚部と腰部と腰部の上部に固定された搭乗部とから成り、脚部は脚部を伸縮するシリンダを有し、腰部は全体を制御すると共に上記記載の歩行パターン作成装置と無線通信を行う制御コンピュータ７を有する２足歩行ロボット装置であって、制御コンピュータは、歩行パターン作成装置から受信した歩行パターンに基づいて２足歩行の制御を行うことにより、腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途（たとえば福祉用、移動用）に適合する２足歩行ロボットを容易且つ迅速に構築することができ、２足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができる。
【０１３２】
さらに、制御コンピュータ７は、歩行パターン作成用コンピュータから歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段７１２と、格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段７１４と、歩行開始命令手段の指令に基づいてモータを制御してシリンダの長さを制御するモータ制御手段７１５とを有することにより、歩行状態において２足歩行ロボット装置は歩行パターン作成用コンピュータから物理的な拘束を受けることなく高安定な歩行を行うことができ、また、周囲または自己の状態（たとえば搭載重量の軽重状態）に応じた適切な歩行パターンで歩行することができる。
【０１３３】
さらに、モータ制御手段７１５は、足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を歩行開始命令手段の指令に基づいて出力する歩行パターン出力手段８１１と、歩行パターン出力手段から出力される足部の位置・姿勢の目標値を逆運動学演算してシリンダの長さを算出する逆運動学演算手段８１３とを有することにより、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができる。
【０１３４】
また、図１９〜図３１に記載の歩行パターン作成方法の各ステップを実行させるためのプログラムであることにより、上記歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【０１３５】
さらに、上記プログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、上記歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【０１３６】
また、図３４〜図３６、図３８〜図３９に記載の２足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラムであることにより、上記２足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【０１３７】
さらに、上記プログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、上記２足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【産業上の利用可能性】
【０１３８】
本発明は２足歩行ロボット装置に２足歩行を行わせる歩行パターンを作成する装置、その歩行パターンに基づいて２足歩行を行う２足歩行ロボット装置、２足歩行を行わせる歩行パターンを作成する方法、および２足歩行を行う２足歩行ロボット装置の制御方法、ならびに、その歩行パターン作成方法とその２足歩行ロボット装置の制御方法を実行させるためのプログラムおよび記録媒体に関し、本発明によれば、搭乗者や積載物の重量に対して比較的小型で軽量な２足歩行ロボット装置において人間が搭乗した状態或いは重量物を積載した状態であっても安定した２足歩行を行わせることができる。
【図面の簡単な説明】
【０１３９】
【図１】（ａ）支持多角形を示す説明図、座標系とベクトルの定義を示す説明図
【図２】搭乗者の力学モデルを示す説明図
【図３】（ａ）腰座標系および足座標系を示す模式図、（ｂ）腰座標系および足座標系を示す模式図
【図４】本発明の実施の形態１による歩行パターン作成装置と２足歩行ロボット装置の全体構成を示すブロック図
【図５】主に腰部を示すブロック図
【図６】主に脚部を示すブロック図
【図７】外部電源部を示すブロック図
【図８】歩行パターン作成用コンピュータを示すブロック図
【図９】外部スイッチを示すブロック図
【図１０】主に制御用コンピュータを示すブロック図
【図１１】主に電源部を示すブロック図
【図１２】主にスイッチ回路を示すブロック図
【図１３】主にブレーキ制御部を示すブロック図
【図１４】主にモータ制御部を示すブロック図
【図１５】主にシリンダを示すブロック図
【図１６】主に足底部（脚部）を示すブロック図
【図１７】主に直動部を示すブロック図
【図１８】歩行パターン作成用コンピュータのＣＰＵにおける機能実現手段を示すブロック図
【図１９】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２０】（ａ）歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート、（ｂ）歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート、（ｃ）歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２１】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２２】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２３】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２４】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２５】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２６】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２７】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２８】（ａ）歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート（ｂ）歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図２９】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図３０】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図３１】歩行パターン作成用コンピュータのＣＰＵ動作を示すフローチャート
【図３２】足座標系の原点位置の算出、回転行列の算出および姿勢角算出について説明する説明図
【図３３】制御用コンピュータのＣＰＵにおける機能実現手段を示すブロック図
【図３４】制御用コンピュータのＣＰＵ動作を示すフローチャート
【図３５】制御用コンピュータのＣＰＵ動作を示すフローチャート
【図３６】制御用コンピュータのＣＰＵ動作を示すフローチャート
【図３７】モータ制御手段を示す機能ブロック図
【図３８】モータ制御手段とモータ駆動装置を示すブロック図
【図３９】モータ制御手段の動作を示すフローチャート
【図４０】（ａ）実施の形態１における２足歩行ロボットの模式斜視図、（ｂ）実施の形態１における２足歩行ロボットの模式平面図
【図４１】２足歩行ロボットの斜視図
【図４２】２足歩行ロボット装置の腰部の要部側面図
【図４３】直動リンクの要部斜視図
【図４４】（ａ）直動リンクの要部側面図、（ｂ）（ａ）のＡ−Ａ線の要部矢視断面図
【図４５】ベース部側受動ジョイントの要部斜視図
【図４６】足部側受動ジョイントの要部斜視図
【図４７】足部側受動ジョイントの要部縦断面図
【符号の説明】
【０１４０】
１    ロボット部（２足歩行ロボット装置）
２    歩行パターン作成用コンピュータ（歩行パターン作成装置）
３    外部電源部
４    外部スイッチ
５    腰部
６    脚部
７    制御用コンピュータ
９    モータ制御部
１０    ブレーキ制御部
１１    電源部
１２    スイッチ回路
１３ａ    右脚部
１３ｂ    左脚部
１４    足底部（足部）
１４ａ    右足底部（右足部）
１４ｂ    左足底部（左足部）
２１、７１    ＣＰＵ
２２、７２    メモリ
２３、７３    ハードディスク
２４    入力装置
２５    表示装置
２６、７４    インタフェース部
２７、７５    ＬＡＮカード
２８、７６    無線ＬＡＮ
３１    ＡＣ／ＤＣコンバータ
４１    ブレーキ制御スイッチ
４２    サーボＯＮスイッチ
４３    モータ端子短絡スイッチ
７７    Ｄ／Ａコンバータ
７８    ６軸力覚センサレシーバボード
７９    パルスカウンタ
１０１    半導体リレー
１１１    ニッケル水素バッテリ
１１２    バッテリ／電源切替部
１１３    電源スイッチ
１１４、１１５、１１６、１１７    ＤＣ−ＤＣコンバータ
１２１、１２２、１２３    排他的論理和
１４１    足底板
１４２、２０３ｂ、２０４ｂ    ６軸力覚センサ
１５１    ロータリエンコーダ
１５２    ＤＣサーボモータ
１５３    保持ブレーキ
１５４    直動部
１５５    フォトマイクロセンサ
１７１    動力伝達部
１７２    すべりねじ
１７３    ナット
１７４    リニアガイド
Ｃ１〜Ｃ１２    シリンダ
Ｄ１〜Ｄ１２    ＤＣサーボドライバ
２０１、２０１ｃ    ２足歩行ロボット装置
２０１ａ    右脚部のパラレルリンク機構部
２０１ｂ    左脚部のパラレルリンク機構部
２０２    ベース部
２０３    右足部
２０３ａ  固定板
２０４    左足部
２０４ａ  固定板
２０５、２０５′、２０５ａ、２０５ａ′、２０５ｂ、２０５ｂ′、２０５ｃ、２０５ｃ′    直動リンク
２０６、２０６ａ、２０６ａ′、２０６ｂ、２０６ｂ′、２０６ｃ、２０６ｃ′    ベース部側受動ジョイント
２０７、２０７ａ、２０７ｂ、２０７ｃ    足部側受動ジョイント
２０８、２０８ａ、２０８ｂ、２０８ｃ    回動受動ジョイント
２０９    制御装置部
２０９′    制御用コンピュータ
２１０ａ    搭乗部
２１０ｂ    着座部
２１０ｃ    腰部６軸力覚センサ
２１１    設定データ入力手段
２１２    軌道設定手段
２１３    目標ＺＭＰ軌道設定手段
２１４    目標ＺＭＰ回りモーメント算出手段
２１５    フーリエ変換手段
２１６    フーリエ係数決定手段
２１７    モーメント補償軌道算出手段
２１８    質点加速度算出手段
２１９    エラーモーメント算出手段
２２０    エラーモーメント判定手段
２２１    足部位置姿勢算出手段
２２２ａ    搭乗者質点軌道算出手段
２２２ｂ    搭乗者質点加速度算出手段
２２３    ファイル出力手段
２３１    バッテリ
２３２    モータ駆動用回路部
２３５    直動リンク
２３６    ベース部側受動ジョイント
２３７    足部側受動ジョイント
２４１    保持ケーシング
２４２    アウターチューブ部
２４３    インナーロッド部
２４４、２４４′    ジョイント結合部
２４５    ロッドレール部
２４６    レールガイド
２４７    初期位置センサ
２４８    モータ
２４８ａ  モータホルダ
２４９    モータ先端軸部
２５０    保持ブレーキ
２５１    ロータリエンコーダ
２５２    溝付きベルト
２５４    雄螺子軸部
２５４ａ  雄螺子先端軸部
２５５    雌螺子ナット部
２５６ａ、２５６ｂ    ストッパ
２６１    ベース部側上部継手
２６２    上部継手軸
２６３    ベース部側下部継手
２６４    下部継手軸
２６５    連結回動部
２７１    第１の足側上部継手
２７１ａ、２７１ｂ、２７３ａ、２７３ｂ  側部軸支板
２７３    第２の足側上部継手
２７２ａ  ボールベアリング
２７５    ボール保持部
２７５ａ  ボール収容部
２７６ａ、２７６ｂ  継手軸
２７７    止めナット
２７８    足側基部
２７９    ボール継手軸
２７９ａ  ボール部
ＣＯＭ    比較部
３００    比例積分部
３０１    換算部
４００    モータ駆動装置
７１１    電源投入手段
７１２    歩行パターン設定手段
７１３    シリンダ初期位置設定手段
７１４    歩行開始命令手段
７１５，７１５′    モータ制御手段
７１６    終了判定手段
８１１    歩行パターン出力手段
８１３    逆運動学演算手段
８１４    データ変換手段
８１５    初期位置微調整手段
８１６    シリンダ駆動装置駆動手段
【図１】
2008068339.tif 000068
【図２】
2008068339.tif 000069
【図３】
2008068339.tif 000070
【図４】
2008068339.tif 000071
【図５】
2008068339.tif 000072
【図６】
2008068339.tif 000073
【図７】
2008068339.tif 000074
【図８】
2008068339.tif 000075
【図９】
2008068339.tif 000076
【図１０】
2008068339.tif 000077
【図１１】
2008068339.tif 000078
【図１２】
2008068339.tif 000079
【図１３】
2008068339.tif 000080
【図１４】
2008068339.tif 000081
【図１５】
2008068339.tif 000082
【図１６】
2008068339.tif 000083
【図１７】
2008068339.tif 000084
【図１８】
2008068339.tif 000085
【図１９】
2008068339.tif 000086
【図２０】
2008068339.tif 000087
【図２１】
2008068339.tif 000088
【図２２】
2008068339.tif 000089
【図２３】
2008068339.tif 000090
【図２４】
2008068339.tif 000091
【図２５】
2008068339.tif 000092
【図２６】
2008068339.tif 000093
【図２７】
2008068339.tif 000094
【図２８】
2008068339.tif 000095
【図２９】
2008068339.tif 000096
【図３０】
2008068339.tif 000097
【図３１】
2008068339.tif 000098
【図３２】
2008068339.tif 000099
【図３３】
2008068339.tif 000100
【図３４】
2008068339.tif 000101
【図３５】
2008068339.tif 000102
【図３６】
2008068339.tif 000103
【図３７】
2008068339.tif 000104
【図３８】
2008068339.tif 000105
【図３９】
2008068339.tif 000106
【図４０】
2008068339.tif 000107
【図４１】
2008068339.tif 000108
【図４２】
2008068339.tif 000109
【図４３】
2008068339.tif 000110
【図４４】
2008068339.tif 000111
【図４５】
2008068339.tif 000112
【図４６】
2008068339.tif 000113
【図４７】
2008068339.tif 000114