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