説明

歩行パターン作成装置、2足歩行ロボット装置、歩行パターン作成方法、2足歩行ロボット装置の制御方法、プログラムおよび記録媒体

【課題】 人間が搭乗した状態或いは重量物等を積載した状態であっても2足歩行ロボット装置に安定した2足歩行を行わせることができる歩行パターン作成装置の提供。
【解決手段】 本発明の歩行パターン作成装置は、予め取得した搭乗者の力学モデルのパラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段222aと、算出した各質点の軌道に基づいて搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段222bと、算出した2足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段219と、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置を算出すると共に足部の姿勢を算出する足部位置姿勢算出手段221とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2足歩行ロボット装置に2足歩行を行わせる歩行パターンを作成する装置、その歩行パターンに基づいて2足歩行を行う2足歩行ロボット装置、2足歩行を行わせる歩行パターンを作成する方法、および2足歩行を行う2足歩行ロボット装置の制御方法、ならびに、その歩行パターン作成方法とその2足歩行ロボット装置の制御方法を実行させるためのプログラムおよび記録媒体に関する。
【背景技術】
【0002】
近年、人間が搭乗した状態で歩行可能な人間搭乗型の2足歩行ロボット装置の研究が行われている。しかしながら、これらの2足歩行ロボット装置は極めて大型で重量が人間の重量に比べはるかに大きいため、人間の住環境等の狭隘な環境での運用が困難である。その反面、これらの人間搭乗型の2足歩行ロボット装置では搭乗者の運動を考慮しなくても歩行の安定性に与える影響は小さく、搭乗者の運動を考慮した2足歩行に関連する研究も行われていない。
一方、従来、2足歩行を行わせる歩行パターンを作成する装置及び方法としては、(特許文献1)に記載されたものがある。この文献では、2足歩行ロボット装置の足部の軌道と該足部において目標ゼロモーメントポイントとを設定し、設定した目標ゼロモーメントポイントに応じて腰部のモーメント補償軌道を算出し、設定した足部の軌道と腰部のモーメント補償軌道とにより算出された各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出し、算出したエラーモーメントが所定モーメントより小さくなるような歩行パターンとすることで、2足歩行の安定化を図っている。この技術ではロボットの脚機構にパラレルリンク機構を用いることが示されており、これにより上記のような大型のものではなく、小型、軽量な2足歩行ロボット装置を実現できるが、(特許文献1)では、体幹(ロボットの胴部)の質点は腰部に固定されたものとしてロボットのモデル化を行っているため、2足歩行ロボット装置に搭乗する搭乗者を考慮した歩行パターンの作成を行っていない。
【特許文献1】特開2004−82223号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
このように、搭乗者や積載物の重量に対して比較的小型で軽量な2足歩行ロボット装置において人間等が搭乗した場合であっても安定歩行が可能であり、且つ、このような2足歩行の安定化を主にソフトウェアによる処理で実現可能な2足歩行ロボット装置の出現が要求されていた。
【0004】
本発明は、上記従来の要求を充たすもので、人間が搭乗した状態或いは重量物等を積載した状態であっても2足歩行ロボット装置に安定した2足歩行を行わせることができる歩行パターンを作成する歩行パターン作成装置、安定した2足歩行を行うことができる2足歩行ロボット装置、2足歩行ロボット装置に安定した2足歩行を行わせることができる歩行パターンを作成する歩行パターン作成方法、2足歩行ロボット装置に安定した2足歩行を行うことができる2足歩行ロボット装置の制御方法、ならびに、その歩行パターン作成方法とその2足歩行ロボット装置の制御方法を実行させるためのプログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために本発明の歩行パターン作成装置、2足歩行ロボット装置、歩行パターン作成方法、2足歩行ロボット装置の制御方法、プログラムおよび記録媒体は、以下の構成を有している。
本発明の請求項1に記載の歩行パターン作成装置は、足部を備えた脚部と腰部とから成る2足歩行ロボット装置の歩行パターンを作成する歩行パターン作成装置であって、前記足部の軌道と前記腰部の初期軌道を設定する軌道設定手段と、前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ZMP軌道設定手段と、前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ZMP回りモーメント算出手段と、前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出手段と、前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記2足歩行ロボット装置の各質点の加速度を算出する質点加速度算出手段と、予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段と、前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段と、前記算出した前記2足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段と、前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出手段とを有することとしたものである。
この構成により、以下の作用を有する。
(1)搭乗者質点軌道算出手段は搭乗者の力学モデルのパラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出し、搭乗者質点加速度算出手段は算出した各質点の軌道に基づいて各質点の加速度を算出し、エラーモーメント算出手段は2足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出し、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置及び姿勢を算出するので、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者や積載物の受動的運動(2足歩行ロボット装置の運動による受動的な運動)も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型等の2足歩行ロボット装置に極めて安定した歩行を行わせることができる歩行パターンを作成することができる。
(2)搭乗者の体重や体型、積載物の重量や大きさ、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を2足歩行ロボット装置に行わせることができる歩行パターンを作成することができる。
(3)搭乗者や積載物の重量に対して比較的小型で軽量な2足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境で2足歩行ロボット装置を運用することが可能になり実用性に優れる。
【0006】
ここで、本発明の方法により作成された歩行パターンは、脚機構としてパラレルリンク機構やシリアルリンク機構等の種々の機構を用いた2足歩行ロボット装置の歩行パターンとして使用することができる。
搭乗者の力学モデルとしては、2足歩行ロボットの腰部に固定とされる固定質点としての1乃至複数下半身質点と、自由質点としての1乃至複数の上半身質点と、下半身質点と上半身質点との間の仮想的なバネ等の弾性要素及びダンパ等の粘性要素とを有するものが用いられる。なお、バネダンパ系としてマックスウェルモデルやフォークトモデル等、種々のものを用いることができる。搭乗者の力学モデルのパラメータとしては、各質点の質量や初期位置、弾性要素の弾性係数、粘性要素の粘性係数等が用いられる。なお、この力学モデルは搭乗者としての人間をモデル化したものに限らず、2足歩行ロボット装置に積載する積載物(特に剛性の低いものや重量物を積み上げたもの等の受動的運動がロボットの歩行に与える影響の大きいもの)の重心の揺れをバネダンパ系の振動で近似する等してモデル化したものとすることもでき、この場合、積載物の積載時における歩行の安定性を図ることができる。
【0007】
請求項2に記載の歩行パターン作成装置は、請求項1に記載の歩行パターン作成装置において、前記搭乗者の力学モデルは、1乃至複数の固定質点と1乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出手段は、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することとしたものである。
この構成により、請求項1の作用に加え、以下の作用を有する。
(1)搭乗者質点軌道算出手段は搭乗者の力学モデルの自由質点の質量、初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数に基づいて自由質点の軌道を算出するので、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することができ、正確にモデル化できるため搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を2足歩行ロボット装置に行わせることができる歩行パターンを作成することができる。
(2)搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得(同定)を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができる。
【0008】
請求項3に記載の歩行パターン作成装置は、請求項1又は2に記載の歩行パターン作成装置において、前記ZMP回りモーメント算出手段において算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換手段と、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定手段とを備え、前記モーメント補償軌道算出手段は、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することとしたものである。
この構成により、請求項1又は2の作用に加え、以下の作用を有する。
(1)フーリエ変換手段は目標ゼロモーメントポイント回りのモーメントとエラーモーメントとの総和に基づいてフーリエ係数を算出し、フーリエ係数決定手段は算出したフーリエ係数に基づいてモーメント補償軌道の近似解を求めるためのフーリエ係数を決定し、モーメント補償軌道算出手段は決定したフーリエ係数に基づく逆フーリエ変換により腰部のモーメント補償軌道を算出するので、腰部のモーメント補償軌道を正確に算出することができ、目標ゼロモーメントポイント回りのモーメントを迅速にゼロに近づけることができ、歩行安定性の高い歩行パターンを迅速に作成することができる。
【0009】
請求項4に記載の歩行パターン作成装置は、請求項1乃至3の内いずれか1項に記載の歩行パターン作成装置において、前記目標ZMP回りモーメント算出手段は、前記脚部の運動により生じる目標ZMP回りモーメントを算出する下肢運動による目標ZMP回りモーメント算出手段と、前記腰部の運動により生じる目標ZMP回りモーメントを算出する腰運動による目標ZMP回り既知モーメント算出手段とを有することとしたものである。
この構成により、請求項1乃至3の内いずれか1項の作用に加え、以下の作用を有する。
(1)目標ZMP回りモーメント算出手段は、下肢運動による目標ZMP回りモーメント算出手段と腰運動による目標ZMP回り既知モーメント算出手段とを有するので、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができ、腰部のモーメント補償軌道を正確に算出することができ、歩行安定性の高い歩行パターンを作成することができる。
【0010】
請求項5に記載の歩行パターン作成装置は、請求項1乃至4の内いずれか1項に記載の歩行パターン作成装置において、前記足部位置姿勢算出手段は、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出手段と、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段と、前記回転行列算出手段で算出した回転行列により足部の姿勢を算出する姿勢算出手段とを有することとしたものである。
この構成により、請求項1乃至4の内いずれか1項の作用に加え、以下の作用を有する。
(1)足部位置姿勢算出手段は、腰座標系から見た足部の位置を算出する原点位置算出手段と、腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段と、算出した回転行列により足部の姿勢を算出する姿勢算出手段とを有するので、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができ、歩行パターンを用いた2足歩行ロボット装置の制御において、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができる。
【0011】
請求項6に記載の2足歩行ロボット装置は、足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とからなり、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項1乃至5の内いずれか1項に記載の歩行パターン作成装置と無線通信を行う制御コンピュータを有する2足歩行ロボット装置であって、
前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて2足歩行の制御を行うこととしたものである。
この構成により、以下の作用を有する。
(1)腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途(たとえば福祉用、移動用)に適合する2足歩行ロボットを容易に構築することができる。
(2)2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができる。
(3)足部の位置と姿勢のデータに対して逆運動学演算を行って脚部を伸縮するシリンダの長さを制御することができるので、パラレルリンク機構においてはリアルタイム演算が困難な順運動学演算を行う必要がなく、リアルタイム演算が容易な逆運動学演算によりロボットの歩行を制御することができる。
(4)種々の補正データを足部の位置や姿勢の次元で足し合わせてから逆運動学演算を行うという容易な実装ができ、2足歩行ロボットの歩行を更に安定化することができる。
(5)歩行パターンを無線を介して遠隔地でも受信することができる。
【0012】
請求項7に記載の2足歩行ロボット装置は、請求項6に記載の2足歩行ロボット装置において、前記腰部は、前記搭乗部から受ける力及びモーメントを検出する搭乗者検出部を備えていることとしたものである。
この構成により、請求項6の作用に加え、以下の作用を有する。
(1)2足歩行ロボット装置に搭乗者が搭乗した状態で腰部を揺動させる動作を行わせ、その時の搭乗者検出部の検出値に基づいて搭乗者の力学モデルのパラメータを取得(同定)することができるので、パラメータの取得を2足歩行ロボット装置を用いて正確に且つ容易に行うことができ、他の装置を用いることなく搭乗者のモデル化を正確に且つ簡単に行うことができる。
【0013】
請求項8に記載の2足歩行ロボット装置は、請求項6又は7に記載の2足歩行ロボット装置において、前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段と、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段と、前記歩行開始命令手段の指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御手段とを有することとしたものである。
この構成により、請求項6又は7の作用に加え、以下の作用を有する。
(1)歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段を有するので、歩行状態において2足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段と、モータを制御してシリンダの長さを制御するモータ制御手段とを有するので、歩行パターン作成装置で作成された歩行パターンに基づいて周囲または自己の状態(たとえば搭載重量の軽重状態)に応じた適切な歩行を行うことができる。
【0014】
請求項9に記載の2足歩行ロボット装置は、請求項8に記載の2足歩行ロボット装置において、前記モータ制御手段は、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令手段の指令に基づいて出力する歩行パターン出力手段と、前記歩行パターン出力手段から出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算手段とを有することとしたものである。
この構成により、請求項8の作用に加え、以下の作用を有する。
(1)歩行パターン出力手段から出力される足部の位置・姿勢の目標値を逆運動学演算してシリンダの長さを算出する逆運動学演算手段を有するので、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さ(つまりシリンダ長さ)を制御することができ制御が容易であると共に、逆運動学演算において種々の補正データを用いて足部の位置・姿勢に関して種々の制御を行うことができ、2足歩行ロボット装置の歩行を更に安定化することができる。
【0015】
請求項10に記載の歩行パターン作成方法は、足部を備えた脚部と腰部とから成る2足歩行ロボット装置の歩行パターンを作成する歩行パターン作成方法であって、前記足部の軌道と前記腰部の初期軌道を設定する軌道設定ステップと、前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ZMP軌道設定ステップと、前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ZMP回りモーメント算出ステップと、前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出ステップと、前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記2足歩行ロボット装置の各質点の加速度を算出する質点加速度算出ステップと、予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出ステップと、前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出ステップと、前記算出した前記2足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出ステップと、前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出ステップとを有することとしたものである。
この構成により、以下の作用を有する。
(1)搭乗者質点軌道算出ステップにおいて搭乗者の力学モデルのパラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出し、搭乗者質点加速度算出ステップにおいて算出した各質点の軌道に基づいて各質点の加速度を算出し、エラーモーメント算出ステップにおいて2足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出し、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置及び姿勢を算出するので、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者や積載物の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型等の2足歩行ロボット装置に極めて安定した歩行を行わせることができる歩行パターンを生成することができる。
(2)搭乗者の体重や体型、積載物の重量や大きさ、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を2足歩行ロボット装置に行わせることができる歩行パターンを生成することができる。
(3)搭乗者や積載物の重量に対して比較的小型で軽量な2足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境で2足歩行ロボット装置を運用することが可能になり実用性に優れる。
【0016】
請求項11に記載の歩行パターン作成方法は、請求項10に記載の歩行パターン作成方法において、前記搭乗者の力学モデルは、1乃至複数の固定質点と1乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出ステップにおいて、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することとしたものである。
この構成により、請求項10の作用に加え、以下の作用を有する。
(1)搭乗者質点軌道算出ステップにおいて搭乗者の力学モデルの自由質点の質量、初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数に基づいて自由質点の軌道を算出するので、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を2足歩行ロボット装置に行わせることができる歩行パターンを生成することができる。
(2)搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得(同定)を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができる。
【0017】
請求項12に記載の歩行パターン作成方法は、請求項10又は11に記載の歩行パターン作成方法において、前記ZMP回りモーメント算出ステップにおいて算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換ステップと、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定ステップとを備え、前記モーメント補償軌道算出ステップにおいては、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することとしたものである。
この構成により、請求項10又は11の作用に加え、以下の作用を有する。
(1)フーリエ変換ステップにおいて目標ゼロモーメントポイント回りのモーメントとエラーモーメントとの総和に基づいてフーリエ係数を算出し、フーリエ係数決定ステップにおいて算出したフーリエ係数に基づいてモーメント補償軌道の近似解を求めるためのフーリエ係数を決定し、モーメント補償軌道算出ステップにおいて決定したフーリエ係数に基づく逆フーリエ変換により腰部のモーメント補償軌道を算出するので、腰部のモーメント補償軌道を正確に算出することができ、目標ゼロモーメントポイント回りのモーメントを軌道が発散することなく迅速にゼロに近づけることができ、歩行安定性の高い歩行パターンを迅速に作成することができる。
【0018】
請求項13に記載の歩行パターン作成方法は、請求項10乃至12の内いずれか1項に記載の歩行パターン作成方法において、前記目標ZMP回りモーメント算出ステップは、前記脚部の運動により生じる目標ZMP回りモーメントを算出する下肢運動による目標ZMP回りモーメント算出ステップと、前記腰部の運動により生じる目標ZMP回りモーメントを算出する腰運動による目標ZMP回り既知モーメント算出ステップとを有することとしたものである。
この構成により、請求項10乃至12の内いずれか1項の作用に加え、以下の作用を有する。
(1)目標ZMP回りモーメント算出ステップは、下肢運動による目標ZMP回りモーメント算出ステップと腰運動による目標ZMP回り既知モーメント算出ステップとを有するので、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができ、腰部のモーメント補償軌道を正確に算出することができ、歩行安定性の高い歩行パターンを作成することができる。
【0019】
請求項14に記載の歩行パターン作成方法は、請求項10乃至13の内いずれか1項に記載の歩行パターン作成方法において、前記足部位置姿勢算出ステップは、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出ステップと、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出ステップと、前記回転行列算出ステップで算出した回転行列により足部の姿勢を算出する姿勢算出ステップとを有することとしたものである。
この構成により、請求項10乃至13の内いずれか1項の作用に加え、以下の作用を有する。
(1)足部位置姿勢算出ステップは、腰座標系から見た足部の位置を算出する原点位置算出ステップと、腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出ステップと、算出した回転行列により足部の姿勢を算出する姿勢算出ステップとを有するので、2足歩行ロボット装置の制御方法において腰座標系からみた足部の位置と姿勢のデータを正確に生成することができ、歩行パターンを用いた2足歩行ロボット装置の制御において、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができる。
【0020】
請求項15に記載の2足歩行ロボット装置の制御方法は、足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とから成り、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項1乃至5の内いずれか1項に記載の歩行パターン作成装置と無線通信を行う制御用コンピュータを有する2足歩行ロボット装置の制御方法であって、前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて2足歩行の制御を行うこととしたものである。
この構成により、以下の作用を有する。
(1)2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができる。
(2)足部の位置と姿勢のデータに対して逆運動学演算を行って脚部を伸縮するシリンダの長さを制御することができるので、パラレルリンク機構においてはリアルタイム演算が困難な順運動学演算を行う必要がなく、リアルタイム演算が容易な逆運動学演算によりロボットの歩行を制御することができる。
(3)種々の補正データを足部の位置や姿勢の次元で足し合わせてから逆運動学演算を行うという容易な実装ができ、2足歩行ロボットの歩行を更に安定化することができる。
(4)歩行パターンを無線を介して遠隔地でも受信することができる。
【0021】
請求項16に記載の2足歩行ロボット装置の制御方法は、請求項15に記載の2足歩行ロボット装置の制御方法において、前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定ステップと、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令ステップと、前記歩行開始命令ステップにおける指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御ステップとを有することとしたものである。
この構成により、請求項20の作用に加え、以下の作用を有する。
(1)歩行パターン設定ステップにおいて歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納するので、歩行状態において2足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、歩行開始命令ステップにおいて歩行に使用するパターンを選択して歩行開始を指令し、モータ制御ステップにおいてモータを制御してシリンダの長さを制御するので、歩行パターン作成装置で作成された歩行パターンに基づいて周囲または自己の状態(たとえば搭載重量の軽重状態)に応じた適切な歩行を行わせることができる。
【0022】
請求項17に記載の2足歩行ロボット装置の制御方法は、請求項16に記載の2足歩行ロボット装置の制御方法において、前記モータ制御ステップは、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令ステップにおける指令に基づいて出力する歩行パターン出力ステップと、前記歩行パターン出力ステップから出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算ステップとを有することとしたものである。
この構成により、請求項21の作用に加え、以下の作用を有する。
(1)歩行パターン出力ステップから出力される足部の位置・姿勢の目標値を逆運動学演算してシリンダの長さを算出する逆運動学演算ステップを有するので、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができ制御が容易であると共に、逆運動学演算において種々の補正データを用いて足部の位置・姿勢に関して種々の制御を行うことができ、2足歩行ロボット装置の歩行を更に安定化することができる。
【0023】
請求項18に記載のプログラムは、コンピュータに請求項10乃至14の内いずれか1項に記載の歩行パターン作成方法の各ステップを実行させるためのプログラムであることとしたものである。
この構成により、以下の作用を有する。
(1)請求項10乃至14の内いずれか1項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【0024】
請求項19に記載の記録媒体は、請求項18に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることとしたものである。
この構成により、以下の作用を有する。
(1)汎用コンピュータで記録媒体を読み取りさえすれば、請求項10乃至14の内いずれか1項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【0025】
請求項20に記載のプログラムは、コンピュータに請求項15乃至17の内いずれか1項に記載の2足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラムであることとしたものである。
この構成により、以下の作用を有する。
(1)請求項15乃至17の内いずれか1項に記載の2足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【0026】
請求項21に記載の記録媒体は、請求項20に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることとしたものである。
この構成により、以下の作用を有する。
(1)汎用コンピュータで記録媒体を読み取りさえすれば、請求項15乃至17の内いずれか1項に記載の2足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【発明の効果】
【0027】
本発明の請求項1に記載の歩行パターン作成装置によれば、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者等の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型や重量物搬送用等の2足歩行ロボット装置に極めて安定した歩行を行わせることができ、搭乗者等の重量に対して比較的小型で軽量な2足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境での運用が可能であり実用性に優れ、また、搭乗者の体重や体型、積載物の重量や大きさ、形状、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を2足歩行ロボット装置に行わせることができる歩行パターンを作成できるという有利な効果が得られる。
【0028】
請求項2に記載の歩行パターン作成装置によれば、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を2足歩行ロボット装置に行わせることができる歩行パターンを作成でき、また、搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができるという有利な効果が得られる。
【0029】
請求項3に記載の歩行パターン作成装置によれば、腰部のモーメント補償軌道を正確に算出することができるので、目標ゼロモーメントポイント回りのモーメントを迅速にゼロに近づけることができるという有利な効果が得られる。
【0030】
請求項4に記載の歩行パターン作成装置によれば、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができるので、腰部のモーメント補償軌道を正確に算出することができるという有利な効果が得られる。
【0031】
請求項5に記載の歩行パターン作成装置によれば、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができるので、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができるという有利な効果が得られる。
【0032】
請求項6に記載の2足歩行ロボット装置によれば、腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途に適合する2足歩行ロボットを容易に構築することができ、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができるという有利な効果が得られる。
【0033】
請求項7に記載の2足歩行ロボット装置によれば、パラメータの取得を2足歩行ロボット装置を用いて正確に且つ容易に行うことができ、他の装置を用いることなく搭乗者のモデル化を正確に且つ簡単に行うことができるという有利な効果が得られる。
【0034】
請求項8に記載の2足歩行ロボット装置によれば、歩行状態において2足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、周囲または自己の状態に応じた適切な歩行パターンで歩行することができるという有利な効果が得られる。
【0035】
請求項9に記載の2足歩行ロボット装置によれば、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができるという有利な効果が得られる。
【0036】
請求項10に記載の歩行パターン作成方法によれば、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者等の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することにより、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型や重量物搬送用等の2足歩行ロボット装置に極めて安定した歩行を行わせることができ、搭乗者等の重量に対して比較的小型で軽量な2足歩行ロボット装置であっても搭乗者等の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境での運用が可能であり実用性に優れ、また、搭乗者の体重や体型、積載物の重量や大きさ、形状、剛性等に応じて搭乗者毎又は積載物毎に力学モデルのパラメータを取得することで、搭乗者等が代わっても正確な力学モデルに基づく安定した歩行を2足歩行ロボット装置に行わせることができる歩行パターンを作成できるという有利な効果が得られる。
【0037】
請求項11に記載の歩行パターン作成方法によれば、搭乗者等の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者等の受動的運動を考慮した極めて安定性の高い歩行を2足歩行ロボット装置に行わせることができる歩行パターンを作成でき、また、搭乗者等の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得を容易に行うことができ、搭乗者等のモデル化を正確に且つ簡単に行うことができるという有利な効果が得られる。
【0038】
請求項12に記載の歩行パターン作成方法によれば、腰部のモーメント補償軌道を正確に算出することができるので、目標ゼロモーメントポイント回りのモーメントを軌道が発散することなく迅速にゼロに近づけることができるという有利な効果が得られる。
【0039】
請求項13に記載の歩行パターン作成方法によれば、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができるので、腰部のモーメント補償軌道を正確に算出することができるという有利な効果が得られる。
【0040】
請求項14に記載の歩行パターン作成方法によれば、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができるので、リアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができるという有利な効果が得られる。
【0041】
請求項15に記載の2足歩行ロボット装置の制御方法によれば、腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途に適合する2足歩行ロボットを容易に構築することができ、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができるという有利な効果が得られる。
【0042】
請求項16に記載の2足歩行ロボット装置の制御方法は、歩行状態において2足歩行ロボット装置は歩行パターン作成装置から物理的な拘束を受けることなく高安定な歩行を行うことができ、また、周囲または自己の状態に応じた適切な歩行パターンで歩行することができるという有利な効果が得られる。
【0043】
請求項17に記載の2足歩行ロボット装置の制御方法は、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができるという有利な効果が得られる。
【0044】
請求項18に記載のプログラムは、コンピュータに請求項10乃至14の内いずれか1項に記載の歩行パターン作成方法の各ステップを実行させるためのプログラムであることにより、請求項10乃至14の内いずれか1項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【0045】
請求項19に記載の記録媒体は、請求項18に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、請求項10乃至14の内いずれか1項に記載の歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【0046】
請求項20に記載のプログラムは、コンピュータに請求項15乃至17の内いずれか1項に記載の2足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラムであることにより、請求項15乃至17の内いずれか1項に記載の2足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【0047】
請求項21に記載の記録媒体は、請求項20に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、請求項15乃至17の内いずれか1項に記載の2足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができるという有利な効果が得られる。
【発明を実施するための最良の形態】
【0048】
以下、本発明の実施の形態について、図1〜図47を用いて説明する。
(実施の形態1)
本発明の実施の形態1による歩行パターン作成装置と2足歩行ロボット装置の説明においては、まず、(1)2足歩行ロボット装置の機構について説明し、次に(2)2足歩行の制御理論、(3)2足歩行ロボット装置の構成(ハードウェア構成およびソフトウェア構成(機能実現手段の構成))について説明し、最後に上記制御理論に基づく(4)歩行パターン作成装置と2足歩行ロボット装置の動作(歩行パターン作成動作と2足歩行ロボット装置の制御動作)をフローチャートに基づいて説明する。
【0049】
(1)ロボット装置の機構について
最初に、本発明の実施の形態1における2足歩行ロボット装置の機構について、図40〜図47を用いて説明する。
図40(a)は本実施の形態における2足歩行ロボット装置の模式斜視図であり、図40(b)は本実施の形態による2足歩行ロボット装置の模式平面図である。なお、図40においては説明の都合上、搭乗部は省略している。
図40において、201は本実施の形態における2足歩行ロボット装置、201aは右脚部のパラレルリンク機構部、201bは左脚部のパラレルリンク機構部、202はベース部(腰部)、203は右足部、204は左足部である。右脚部のパラレルリンク機構部201aにおいて、205a、205a′、205b、205b′、205c、205c′は直動リンク、206a、206a′、206b、206b′、206c、206c′はベース部側受動ジョイント、207a、207b、207cは足部側受動ジョイント、208a、208b、208cは回動受動ジョイントである。なお、左脚部のパラレルリンク機構部201bの各部は右脚部のパラレルリンク機構部201aと対称で同一構成なので同様の符号を付し説明を省略する。
【0050】
ここで、ベース部側受動ジョイント206a、206a′はベース部202の下面の右後部側に配設されている。足部側受動ジョイント207aは右足部203の右後部側に配設され、その下部には回動受動ジョイント208aが配設されている。直動リンク205aは上端部がベース部側受動ジョイント206aに連結され、下端部が足部側受動ジョイント207aに連結されている。直動リンク205a′は上端部がベース部側受動ジョイント206a′に連結され、下端部が足部側受動ジョイント207aに連結されている。
ベース部側受動ジョイント206b、206b′はベース部202の下面の右前部側に配設されている。足部側受動ジョイント207bは右足部203の右前部側に配設され、その下部には回動受動ジョイント208bが配設されている。直動リンク205bは上端部がベース部側受動ジョイント206bに連結され、下端部が足部側受動ジョイント207bに連結されている。直動リンク205b′は上端部がベース部側受動ジョイント206b′に連結され、下端部が足部側受動ジョイント207bに連結されている。
【0051】
ベース部側受動ジョイント206c、206c′はベース部202の下面の右中央部に配設されている。足部側受動ジョイント207cは右足部203の右中央部に配設され、その下部には回動受動ジョイント208cが配設されている。直動リンク205cは上端部がベース部側受動ジョイント206cに連結され、下端部が足部側受動ジョイント207cに連結されている。直動リンク205c′は上端部がベース部側受動ジョイント206c′に連結され、下端部が足部側受動ジョイント207cに連結されている。
このように、右脚部のパラレルリンク機構部201aと左脚部のパラレルリンク機構部201bはベース部202の中央に対してその両側に対称に配設されている。
【0052】
また、直動リンク205、205a、205a′、205b、205b′、205c、205c′(以下、直動リンク205、205a〜205c′とする)は、モータを用いた送り螺子機構や、油圧、水圧、空気圧等を用いたシリンダ等の直動型アクチュエータを用いて伸縮自在に形成され、その長手方向に伸縮する1自由度に形成されている。ベース部側受動ジョイント206、206a、206a′、206b、206b′、206c、206c′(以下、ベース部側受動ジョイント206、206a〜206c′とする)は、直動リンク205、205a〜205c′の長手方向と直交し、且つ各々直交する2軸の軸周方向に回動する2自由度に形成されている。足部側受動ジョイント207、207a、207b、207cは、直動リンク205、205a〜205c′の長手方向と直交し、且つ各々直交する2軸の軸周方向に回動する2自由度に形成されている。回動受動ジョイント208、208a、208b、208cは、直動リンク205、205a〜205c′の軸周方向に回動する1自由度に形成されている。
【0053】
このように、右脚部、左脚部のパラレルリンク機構部201a、201bは各々6自由度に形成されているため、右足部203及び左足部204は、前後、左右、上下、及び前後方向、左右方向、上下方向を軸とした軸周方向の動作が可能であり、多様な動作を行うことができ、歩行動作を円滑に行うことができる。
【0054】
以上のように構成された本実施の形態における2足歩行ロボット装置について、以下その動作を図40を用いて説明する。なお、本実施の形態においては、右脚部の動作について説明する。左脚部の動作については右脚部と同様であるので説明を省略する。
【0055】
右脚部を動作させる場合、予め設定された歩行パターンに基づいて右足部203の逆運動学を計算(詳細については後述する)し、算出された値に基づいて直動リンク205a〜205c′の各々の図示しないアクチュエータを駆動させ直動リンク205a〜205c′を伸縮させる。直動リンク205a〜205c′とベース部202又は右足部203との連結部分に配設されているベース部側受動ジョイント206a〜206c′、足部側受動ジョイント207a〜207c、及び回動受動ジョイント208a〜208cは、直動リンク205a〜205c′の伸縮に追従してこれを妨げることなく円滑に従動する。直動リンク205a〜205c′のアクチュエータの駆動は各々に配設されたロータリエンコーダ等の図示しない検出器により検出され、取得された検出値は角度データ等としてフィードバックされ直動リンク205a〜205c′はフィードバック制御される。これにより、右足部203は、一歩踏み出す動作やその場で足踏みする動作等を行うことができる。更に、このような動作を右足部203と左足部204で交互に連続して行うことにより、歩行動作を行うことができる。
【0056】
図41は本実施の形態における2足歩行ロボット装置の斜視図であり、図42は2足歩行ロボット装置の腰部の要部側面図である。
図41及び図42において、201cは本実施の形態における2足歩行ロボット装置、202はベース部、203は右足部、203aは右足部203の上部に固定された平板状の固定板、204は左足部、204aは左足部204の上部に固定された平板状の固定板、209はベース部202の上面に配設された制御装置部、209′は制御装置部209の後部に配設された制御用コンピュータ、210aは搭乗者の着座部210bを有する搭乗部、210cはベース部202の略中央部の上部に固定された搭乗者検出部としての腰部6軸力覚センサであり、搭乗部210aは腰部6軸力覚センサ210cを介してベース部202に固定されている。腰部6軸力覚センサ210cは後述する搭乗者の力学モデルのパラメータの取得時に使用する。231はバッテリ、232はモータ駆動用回路部、235はベース部202と右足部203及び左足部204の間に各々立設された直動リンク、236はベース部202の下面側の所定位置に固定されたベース部側受動ジョイント、237は右足部203及び左足部204の固定板203a、204aの上面側の所定位置に回動自在に固定された足部側受動ジョイント、248は直動リンク235を伸縮するための直流サーボモータである。足部側受動ジョイント237は図40で説明した足部側受動ジョイント207、207a、207b、207c及び回動受動ジョイント208、208a、208b、208cと同様の機能をボールジョイントで実現したものである。このボールジョイントについては後述する。
【0057】
ここで、本実施の形態においては、直動リンク235は後述する送り螺子機構により長手方向に伸縮自在に形成されている。送り螺子機構の代わりに油圧、水圧、空気圧等を用いたシリンダや直動型アクチュエータを用いた機構としてもよい。また、直動リンク235は、2本を1組として上端部が各々ベース部側受動ジョイント236に連結され下端部が1つの足部側受動ジョイント237に連結されたV字形状に配設されている。1組の直動リンク235は、右脚部及び左脚部に各々3組ずつ、平面視三角形状に配設され、片脚に6本、合計12本が配設されている。すなわち、本実施の形態における2足歩行ロボット装置201cの左右の脚部は、各々スチュワートプラットホーム(パラレルメカニズムの一種であり、6本の直動シリンダの両端をボールジョイントとユニバーサルジョイントでベースとエンドエフェクタに結合する構造を有している)により構成されている。これにより、動作の安定性及び強度、剛性、出力に優れる。また、1つのベース部側受動ジョイント236には1つの直動リンク235の上端部が連結され、1つの足部側受動ジョイント237には2つの直動リンク215の下端部が連結されている。
バッテリ231、モータ駆動用回路部232は制御装置部209に配設されている。本実施の形態においては、バッテリ211としてニッケル水素バッテリを使用した。
また、右足部203及び左足部204の底面側に、床反力を検出する6軸力覚センサ203b、204b(図16の142)を設ける。6軸力覚センサ203b、204bは、各軸方向の力3成分と各軸周りのモーメント3成分を同時に且つ逐次連続的に高精度で検出することができる。
【0058】
次に、直動リンクの構造について図43及び図44を用いて詳細に説明する。
図43は直動リンクの要部斜視図であり、図44(a)は直動リンクの要部側面図であり、図44(b)は図44(a)の部分内部構造図である。
【0059】
図43において、235は直動リンク、241は後述のインナーロッド部243等を保持する保持ケーシング、243は保持ケーシング241に挿設され直動リンク235の長手方向に摺動するインナーロッド部である。直動リンク235の伸縮はインナーロッド部243が摺動することにより行われる。244はインナーロッド部243にその長手方向に形成されたジョイント結合部、245はインナーロッド部243の一方の側部の上部側および下部側に配置されその長手方向に敷設されたロッドレール部である。
【0060】
図44において、246はレールガイド、247はインナーロッド部243の初期位置を検出する初期位置センサ、248は保持ケーシング241に平行に配設されたモータ、248aはモータ248を保持ケーシング241の端部の側部に平行に保持するモータホルダ、249はモータ248のモータ先端軸部に取り付けられた歯付プーリ、250は非通電時においてモータ248の回動軸を固定しインナーロッド部243を保持するための保持ブレーキ、251はモータ248の回動軸の回動を検出するロータリエンコーダ、252はモータ先端軸部249の回転動力を後述の雄螺子先端軸部254aへ伝達する溝付きベルト、253は雄螺子軸部254を支持するベアリング、254は保持ケーシング241の内部に後述の雌螺子ナット部255に挿通されて配設され外周が螺子切りされた雄螺子軸部、254aは雄螺子先端軸部、255はインナーロッド部243に固定され雄螺子軸部254に螺合した雌螺子ナット部、256a、256bはストッパである。このようにモータ248を保持ケーシング241に平行に配設したので、直動リンク235の最短長さ(最も短い時の長さ)を長くすることなくストロークを長くすることができ、ロボット装置の可動範囲を広くすることができる。
【0061】
ここで、本実施の形態においては、保持ケーシング241の材質として、軽量で且つ比較的強度の高いアルミニウムを用いた。また、初期位置の確認のための初期位置センサ247として、フォトマイクロセンサを用いた。また、本実施の形態においては、雄螺子軸部254と雌螺子ナット部255を螺合させるためにボール螺子を用いている。これにより、インナーロッド部243を高速で摺動させることができ、歩行速度を向上させることができる。またボール螺子を用いた場合は螺合部分の摩擦抵抗を低減することができる。また、ボール螺子はがたが少なく、動作を確実にすることができる。
【0062】
図43や図44に示すように、モータ248が駆動されると、その回動軸の回動力がベルト252を介して雄螺子先端軸部254aに伝えられ、雄螺子軸部254が回動する。雄螺子軸部254にはインナーロッド部243に固定された雌螺子ナット部255が螺合している。ここで、インナーロッド部243は外周面に設けられたロッドレール部245がレールガイド246に嵌合しているため、長手方向には摺動するが軸周方向には回動しない。これにより、雄螺子軸部254が回動すると、送り螺子機構により雌螺子ナット部255を介してインナーロッド部243がその長手方向に摺動する。このようにして、直動リンク235の伸縮が行われる。
【0063】
続いて、ベース部側受動ジョイントの構造について図45を用いて詳細に説明する。
図45はベース部側受動ジョイントの要部斜視図である。
図45において、202はベース部、235は直動リンク、236はベース部側受動ジョイント、241は直動リンク235の保持ケーシング、261はベース部202の下部に固定されたコ字形状のベース部側上部継手、262はベース部側上部継手261の一対の立設部に架設された上部継手軸、263は直動リンク235の保持ケーシング241側の上端部に固定されたコ字形状のベース部側下部継手、264はベース部側下部継手263の一対の立設部に架設された下部継手軸、265は上部継手軸262と下部継手軸264を直交状に連結する連結回動部である。
【0064】
図45に示すように、ベース部側下部継手263は、ベース部側上部継手261に対して、上部継手軸262と下部継手軸264の軸周方向に回動する。これにより、ベース部側受動ジョイント236は、直動リンク235の長手方向に直交する上部継手軸262と下部継手軸264の軸周方向に2自由度を有するので、直動リンク235の伸縮に追従してこれを妨げることなく円滑に従動する。
【0065】
続いて、足部側受動ジョイントの構造について図46及び図47を用いて詳細に説明する。
図46は足部側受動ジョイントの要部斜視図であり、図47は足部側受動ジョイントの要部縦断面図である。
図46および図47において、203aは右足部203の固定板、235、235′は直動リンク、237は足部側受動ジョイント、244は直動リンク235のジョイント結合部、244′は直動リンク235′のジョイント結合部、271はジョイント結合部244の下端部に連結された第1の足側上部継手、271a、271bは第1の足側上部継手271の両側部に互いに対向して配設され下端部が後述の継手軸に軸支された側部軸支板、273はジョイント結合部244′の下端部に連結された第2の足側上部継手、273a、273bは第2の足側上部継手273の両側部に互いに対向して配設され下端部が後述の継手軸に軸支された側部軸支板である。ここで、各側部軸支板271a,271b,273a,273bはボールベアリング272a(図47参照)を介して後述の継手軸に軸支されている。275は内部に内壁面が球面状のボール収容部275aを有するボール保持部、276a、276bはボール保持部275の両側部に突設された継手軸(図47参照)、277は各継手軸276a、276bに螺着され各側部軸支板271a、271b、273a、273bを抜け止めするための止めナット、278は固定板203a上に固定された足側基部、279は足側基部278上に立設され上端部にボール収容部275aに収容されるボール部279aが形成されたボール継手軸である。
【0066】
図46および図47に示すように、第1の足側上部継手271及び第2の足側上部継手273は、ボール保持部275に対して、継手軸276a、276bの軸周方向に回動する。また、ボール保持部275は、足側基部278に対して任意の方向に回動する。これにより、足部側受動ジョイント237は、継手軸276a、276bの軸周方向およびボール継手軸279の軸周方向に2自由度を有すると共に、少なくとも継手軸276a、276bとボール継手軸279とに直交する軸の軸周方向に1自由度を有するので、直動リンク235、235′の伸縮に追従してこれを妨げることなく円滑に従動する。
このように足部側受動ジョイント237をボールジョイントを用いた構造にしたので、従来は構造的に締結箇所が多くがたが生じていたが、締結箇所が少なくなりがたが低減し、動作の精度が向上し、制御の安定性および剛性を高めることができ、高速で安定した歩行動作を行うことができる。
以上のように構成された本実施の形態における2足歩行ロボット装置の歩行動作については、図40で説明したものと同様であるので説明を省略する。
【0067】
(2)2足歩行ロボットの制御理論について
次に、2足歩行ロボットの制御理論について、図1〜図3を用いて説明する。
図1(a)は支持多角形を示す説明図であり、図1(b)は座標系とベクトルの定義を示す説明図である。
2足歩行のパターンを生成するにあたり、安定性を判別する必要がある。ここでは、2足歩行ロボット装置に対して力学的視点から安定性を判別するために、「ZMP安定判別規範」を用いる。以下に、ZMPの説明および安定判別法を述べる。
2足歩行ロボットが歩行中に安定な支持状態を維持するために必要な条件を考える。2足歩行ロボットが安定な支持状態を保てなくなる、つまり転倒するということは、足底部と路面との接点(3点以上)が形成する支持多角形(路面と足底の接地点が形成する面積最大の凸多角形)のある辺または点を通る路面上の直線を軸に回転運動をしていると考えられる。すなわち、支持多角形から見て外向きのモーメントが作用していると考えられる。逆に言えば、支持多角形上の全ての辺および点のまわりに外向きのモーメントが発生せず、内向きのモーメントのみ発生していれば、2足歩行ロボットは安定な支持状態を維持できる。このときの2足歩行ロボットの支持状態を考えると、足底の接地点が浮かないため、全ての接地点において2足歩行ロボットから路面に作用する重力および慣性力による力は路面を押す向きであり、これらの合力が作用する点P(図1(a)参照)は足底の支持多角形内になければならない。この点P回りの合力によるモーメントは明らかにゼロであり、この点をZMP(Zero Moment Point、ゼロモーメントポイント)と呼ぶ。
【0068】
2足歩行の制御に用いるモーメント補償軌道算出アルゴリズムについて説明する。本アルゴリズムは次の4点からなる。
I.2足歩行ロボットのモデル化
II.IのモデルにおけるZMP方程式の導出
III.2足歩行ロボット近似モデル化
IV.搭乗者のモデル化とパラメータの取得
V.IIIの近似モデルとIVの搭乗者モデルを用いた繰り返し計算によるIIを満足するモーメント補償軌道の厳密解の算出
【0069】
まず2足歩行ロボットのモデル化について説明する。最初に、2足歩行ロボット、座標系および路面に次の条件を設定する。
1)2足歩行ロボットは質点の集合から成る。
2)路面は十分に硬く、どんな力やモーメントが作用しても変形したり動いたりすることはない。
3)X軸(2足歩行ロボットの正面方向に一致)およびY軸を含む平面が路面に一致し、路面に垂直な軸をZ軸とする直交座標系O(右手系)を設定する(図1(b)参照)。
4)2足歩行ロボットの足底と路面との接地状況は点接地の集合とする。
5)歩行系と路面との接地点において、路面での回転(X、YおよびZ軸回り)に対する摩擦係数は無視できるほど小さい。
6)2足歩行ロボットが歩行する際の推進力は、接地点における並進(XおよびY軸)方向の滑りが生じない範囲とする。
7)路面に対してロボットは滑らないものとして、ヨー軸に関しての補償(Z軸回りの回転に関しての補償)は行わない。
【0070】
次に、ZMP方程式の導出について説明する。
以上の仮定と設定のもとに絶対座標系O−XYZにおいて任意の点Pについてのモーメントの釣り合い式を導出する次式(数1)を得る(なお、各記号の説明は後述の(数26)に示されている)。
【数1】

(数1)において点PをZMPとすることで、T=0となり、次式(数2)のZMP方程式を得る。
【数2】

さらに、各部の相対運動を考えるために、図1(b)に示す2足歩行ロボットの腰部付近に固定された運動座標系Oバー−XYZバーを設定する。この座標系を用いてZMP方程式を表すと、次式(数3)を得る。
【数3】

このZMP方程式を満たすように腰部の軌道を算出する。
【0071】
次に、2足歩行ロボットの近似モデル化について説明する。
本アルゴリズムでは、モーメント補償軌道の近似解及び搭乗者質点軌道の算出とそれらの厳密モデルへの代入、モーメント誤差のフィードバック、蓄積する繰り返し計算により、モーメント補償軌道の厳密解を得ている。その近似モデル化のプロセスは次の通りである。
i)外力は近似モデルでは考慮しない。
ii)搭乗者上半身、下半身の質点を含め、ロボットの腰などの下肢以外の部位は1質点近似モデルとする(図1(b)参照)。
iii)線形、非干渉化のために運動座標系の回転は考慮しない(ただし体幹ヨー軸に関しては線形、非干渉化できる範囲でその一部を考慮している)。
iv)Z軸の運動を共有しないものとして線形、非干渉化する。
【0072】
まず、外力を近似モデルで考慮しないとすると、(数3)は(数4)のようになる。
【数4】

ここで、被補償モーメントとなる下肢の運動により発生するモーメントをベクトルMとおき、腰部について1質点近似モデル化を行うと、(数4)は(数5)のようになる。
【数5】

(数5)は、運動座標系の回転により発生する見掛けの力の項において互いに干渉している。よって、これらの微分方程式を非干渉なものにするためには、まずその見掛けの力によるモーメントが発生しないものと仮定、つまり運動座標系が回転していないものとすると、(数5)は(数6)、(数7)のようになる。
【数6】

【数7】

(数6)、(数7)はZ軸方向の運動を共有していることから、非線形かつ干渉な系である。そこで、2足歩行ロボットは運動中腰高さ一定と仮定し、線形、非干渉化する。すなわち、(数8)、(数9)、(数10)が成立する。ここで、(数9)はピッチ軸(y軸)に関し、(数10)はロール軸(x軸)に関する。
【数8】

【数9】

【数10】

また、(数9)、(数10)において左辺の既知項を右辺に移動し、(数9)、(数10)において右辺を改めて(数11)と置き直すと、次の(数12)、(数13)を得る。ここで、(数12)はピッチ軸(y軸)に関し、(数13)はロール軸(x軸)に関する。
【数11】

【数12】

【数13】

ここで、(数12)、(数13)は(数14)、(数15)、(数16)、(数17)のように書き換えられる。
【数14】

【数15】

【数16】

【数17】

【0073】
次に、近似解の算出について説明する。
モーメント補償軌道(数18)、(数19)の近似解を求めるために、(数14)、(数15)を用いて解析的に近似解を得る。
【数18】

【数19】

ここで、(数14)において、(数20)は下肢軌道およびZMP軌道から算出できるので既知関数となり、さらに定常歩行であるとすれば、2足歩行ロボットの各部質点ならびにZMPは運動座標系Oバー−XYZバーに関して周期的な相対運動をするので、(数20)は周期関数となる。
【数20】

よって、(数14)の左辺も同じく周期関数になる。そこで(数14)の右辺を(数21)に示すようにフーリエ級数展開する。
【数21】

このときのフーリエ係数は(数22)のようになる。
【数22】

続いて、(数18)を係数未知のフーリエ級数で表すと、(数23)のようになる。
【数23】

(数23)を(数14)の左辺に代入し、各両辺のフーリエ係数を比較することで、(数18)のフーリエ係数を求めると、(数24)のようになる。
【数24】

そして、これを逆フーリエ級数展開することで、ピッチ軸回りのモーメント補償軌道(数18)の近似解を(数25)に示すように得ることができる。
【数25】

なお、(数26)に各記号の説明を示す。
【数26】

【0074】
次に、搭乗者のモデル化とパラメータの取得について説明する。
まず、搭乗者の力学モデルを図2に示す。図2は搭乗者の力学モデルを示す説明図である。搭乗者の力学モデルは1乃至複数の質点とそれらを接続する仮想的なばね等の弾性要素及びダンパ等の粘性要素により構成される。ここでは一例として、ロボットの腰部に固定される固定質点としての下半身質点群と、腰部の上部に2自由度のばねダンパを介して接続された自由質点としての上半身質点とからなる力学モデルを用いた。各質点の重さは、人間の平均的重量比を元に、頭部と上肢を含む上半身質点の質量を男性では体重の65.7%、女性では63.9%とした。
上半身質点の運動方程式は(数27)、(数28)のようになる。
【数27】

【数28】

(数27)は上半身質点の質量、初期位置及び弾性要素の弾性係数、粘性要素の粘性係数(以下、まとめて搭乗者パラメータという)によって搭乗者の力学モデルの上半身質点の運動を表している。
搭乗者パラメータは、上述した2足歩行ロボット装置201c(図41参照)に搭乗者が搭乗した状態で腰部の揺動動作を行った時の腰部6軸力覚センサ210cの検出値に基づいて取得することができる。以下、搭乗者パラメータの取得方法の詳細について説明する。
【0075】
まず、上半身質点の初期位置の取得方法について説明する。
上半身質点の初期位置は、その質量と、腰部の揺動動作時に腰部6軸力覚センサ210cにより検出されるモーメントにより求める。すなわち、搭乗者は搭乗部201aに着座し手摺を把持して上半身をできるだけ動かさないようにした状態で、2足歩行ロボット装置201cを試験的に作成した所定の歩行パターンにより腰部を左右に各々5cm程度、約4秒の周期で揺動させ、この時の着座部210bにかかる座面反力モーメントを腰部6軸力覚センサ210cにより測定する。座面反力モーメントの実測値を(数29)とする。
【数29】

ここで着座部210bに対し搭乗者の上半身が運動しないと仮定した場合、座面反力モーメントの理論値を(数30)とし、上半身質点の初期位置を(数31)とすると、(数32)のようになる。
【数30】

【数31】

【数32】

次に、(数30)と(数29)を比較し、一致若しくは最も近似する場合の(数31)の値を求める。(数31)の値を求めるための具体的な計算方法としては、例えば、次の方法等を用いることができる。すなわち、(数32)中の(数31)のy成分とz成分に適当な数値(例えばy成分は−0.200から0.200まで、z成分は0から0.200まで、0.001きざみで変化させる)を代入し、各々について(数30)の値を算出する。なお、x成分は0に固定しておく。算出した(数30)の値と測定した(数29)の値の差の2乗値の積分値を算出し、これが最も小さくなる時の数値を求める(数31)のy成分とz成分の値とする。なお、(数31)を求めるには、これに限らず、最急降下法や遺伝的アルゴリズム、ニューラルネットワーク等の手法を用いることができる。
【0076】
2足歩行ロボット装置201cの腰部を左右に揺動させて(数31)のy成分とz成分の値を求めた後、腰部を前後に揺動させる点以外は上述した方法と同様にして(数31)のx成分を求める。なお、この場合、(数31)のx成分を変化させ、y成分とz成分は固定とする。
【0077】
次に、弾性係数及び粘性係数の取得方法について説明する。
弾性係数及び粘性係数は、上半身質点の質量と、上半身質点の初期位置と、腰部の揺動動作時に腰部6軸力覚センサ210cにより検出される座面反力モーメント(数29)により求める。すなわち、搭乗者は搭乗部201aに自然に着座した状態で、2足歩行ロボット装置201cを試験的に作成した所定の歩行パターンにより腰部を左右に各々5〜6cm程度、約2秒(作成する歩行パターンの歩行周期と同程度の周期、すなわち1歩約1秒の歩行パターンを作成するならば約2秒)の周期で揺動させ、この時の着座部210bにかかる座面反力モーメントを腰部6軸力覚センサ210cにより測定する。
一方、この場合の座面反力モーメントの理論値(数30)は(数33)で表される。
【数33】

なお、(数33)中の上半身質点の位置ベクトル(数34)は、(数27)によりルンゲ・クッタ法を用いて暫定的に求めることができる。この場合、r(t)はこの時の歩行パターンにおける腰の運動である。
【数34】

このようにして算出した(数30)と測定した(数29)を比較し、一致若しくは最も近似する場合の弾性係数(数35)及び粘性係数(数36)の値を求める。
【数35】

【数36】

(数35)、(数36)の値を求めるための具体的な計算方法としては、例えば、次の方法等を用いることができる。すなわち、(数27)中の(数35)、(数36)に適当な数値(例えば(数35)は0から5000まで100きざみ、(数36)は0から1000まで20きざみで変化させる)を代入し、ルンゲ・クッタ法により(数34)のy成分を算出する。次に(数33)を用い、算出した(数34)のy成分により(数30)を算出する。算出した(数30)の値と測定した(数29)の値の差の2乗値の積分値を算出し、これが最も小さくなる時の数値を求める(数35)、(数36)の値とする。このようにして搭乗者モデルのy軸方向に配置されたばね及びダンパの弾性係数及び粘性係数を求めることができる。
【0078】
2足歩行ロボット装置201cの腰部を左右に揺動させてy軸方向に配置されたばね及びダンパの弾性係数(数35)及び粘性係数(数36)の値を求めた後、腰部を前後に揺動させる点以外は上述した方法と同様にしてx軸方向に配置されたばね及びダンパの弾性係数(数35)及び粘性係数(数36)の値を求める。
【0079】
なお、弾性係数(数35)及び粘性係数(数36)の値は簡易的に一貫して同じ値(時間的に変化しない)を取るとみなしてもある程度の歩行安定性を得ることができるが、時間的に断続変化するものとし、測定期間を時間的に区切って、例えば歩行開始時過渡期、定常歩行期、歩行終了時過渡期の3区間等、各時間区間毎に求めるとより良好な結果が得られる。
【0080】
以上のようにして取得した搭乗者パラメータ(上半身質点の初期位置(数31)、弾性係数(数35)、粘性係数(数36))を用いて(数27)をルンゲ・クッタ法で解くことにより搭乗者の上半身質点の軌道を算出する。
【0081】
次に、スチュワートプラットホームの逆運動学について説明する。
パラレルリンク機構(特にスチュワートプラットホーム型)では、シリアルリンク機構と比較して、非常に逆運動学は容易になる。これは、シリアルリンク機構においては、特別な場合を除いて解析解が存在しないため、解を繰り返し計算による数値解として求める必要があり、計算の量が非常に多くなるためである。また、解析解が存在する場合でも、多くの座標変換があるために計算が複雑になる。以下、逆運動学の解法について述べる。
2足歩行ロボットのパラレルリンク機構は、ベースプレート(2足歩行ロボットの腰部)とエンドエフェクタ(2足歩行ロボットの足底部)からなる。まず、右足のリンク配置、座標系を図3(a)、(b)に示す。図3(a)、(b)は腰座標系(数37)および足座標系(数38)を示す模式図である。また、(数39)は腰座標系から見たエンドエフェクタ側ジョイントの位置ベクトルである。
【数37】

【数38】

【数39】

腰座標系(数37)においての腰側ジョイントの位置を(数40)とし、足座標系(数38)においての足側ジョイントの位置を(数41)とする。
【数40】

【数41】

ここで、腰座標系から見た足座標系の位置・姿勢(エンドエフェクタの位置・姿勢)を表わすベクトル(数42)を定義する。
【数42】

また、腰座標系から見た足座標系の原点の位置ベクトル(数43)と、腰座標系においてθx、θy、θzの順に回転させる回転変換行列(数44)とを、(数45)、(数46)のように定義する。
【数43】

【数44】

【数45】

【数46】

(数41)、(数45)、(数46)より(数47)となり、(数39)の各成分は、(数48)となる。
【数47】

【数48】

ここで、(数49)となる変数を導入すると、単に幾何学的関係より、i番目の腰側ジョイントとi番目の足側ジョイントを結ぶリンクの長さは、(数50)となる。
【数49】

【数50】

詳細に書けば、(数51)となる。
【数51】

【0082】
(3)歩行パターン作成装置と2足歩行ロボット装置の構成について
次に、本実施の形態による歩行パターン作成装置と2足歩行ロボット装置の構成について図4〜図17を用いてハードウェア構成を説明し、図18、図33を用いてソフトウェア構成を説明する。
図4は、本実施の形態による歩行パターン作成装置(歩行パターン作成用コンピュータ)と2足歩行ロボット装置の全体構成を示すブロック図である。
図4において、1は2足歩行ロボット装置としてのロボット部(図40、41の201、201cに相当)、2は歩行パターンを作成する歩行パターン作成装置としての歩行パターン作成用コンピュータ、3は商用電源(AC100V)が供給される外部電源部、4はロボット部(2足歩行ロボット装置)1の緊急停止等を行うための外部スイッチ、5はロボット部1を構成する腰部(図40、41の202と209に相当)、6はロボット部1を構成する脚部(下肢)(図40の201a、201bに相当)である。図4に示すように、ロボット部1の腰部5と歩行パターン作成コンピュータ2とは無線(たとえば無線LAN)を介して接続されている。腰部5には外部電源部3から電源が供給される。ただし、腰部5に内蔵するバッテリ(図41の231)を使用しているときは外部電源部3は必要ない。
【0083】
図5は、主に腰部5を示すブロック図である。
図5において、腰部5は、制御用コンピュータ7(図41の209′に相当)、腰部6軸力覚センサ8(図41の210cに相当)、モータ制御部9、ブレーキ制御部10、電源部11、スイッチ回路12を有する。制御用コンピュータ7は、外部の歩行パターン作成用コンピュータ2と無線LANを介して接続され、また脚部6からのセンサ情報を取得して処理する。また、制御用コンピュータ7は、モータ制御部9にモータの速度指令値(電圧)を出力すると共に、脚部6のシリンダC1〜C12(後述する)に内蔵のDCサーボモータ(後述)のオン・オフ、ブレーキのオン・オフ、DCサーボモータ端子の短絡機能を制御する信号をスイッチ回路12に出力する。電源部11は、外部電源部3から電源を供給されるが、バッテリ使用時は必要ない。電源部11は、脚部6のセンサ、制御用コンピュータ7、モータ制御部9、ブレーキ制御部10、スイッチ回路12に電源を供給する。スイッチ回路12は、外部スイッチ4および制御用コンピュータ7からの信号を受け取り、排他的論理和(後述する)の論理に基づき、DCサーボモータのオン・オフ、ブレーキのオン・オフ、DCサーボモータ端子の短絡機能を制御する。モータ制御部9は、制御用コンピュータ7からの速度指令値に従い、脚部6のDCサーボモータの速度制御を行う。また、スイッチ回路12からのサーボオン・オフ信号によりDCサーボモータのオン・オフを行い、スイッチ回路12からのモータ端子短絡信号によりDCサーボモータ端子の短絡を行う。ブレーキ制御部10は、スイッチ回路12からの信号に従い、ブレーキの開閉を行う。
【0084】
図6は、主に脚部6を示すブロック図である。
図6において、脚部6は、2本の脚部、右脚部13aおよび左脚部13bから成る。各脚部13a、13bは、各々6本のアクチュエータシリンダC1〜C6、C7〜C12(図41の直動リンク235)と、右足底部14a(図40、41の右足部203に相当)および左足底部14b(図40、41の左足部204に相当)とから成る。各シリンダのDCサーボモータはモータ制御部9からの電流により制御される。また、DCサーボモータの端子間電圧および電流はモータ制御部9にフィードバックされる。各シリンダC1〜C12のロータリエンコーダ(後述する)はDCサーボモータの回転角度を検出し、制御用コンピュータ7にフィードバックする。各シリンダC1〜C12のオフセット検出用フォトマイクロセンサは、初期位置を検出し、制御用コンピュータ7に信号を出力する。足底部14a、14bの6軸力覚センサ(後述する)は床反力情報を取得する。これは制御用コンピュータ7に記録される。各シリンダC1〜C12のセンサ類には、電源部11より電源が供給される。
【0085】
図7は、外部電源部3を示すブロック図である。
図7において、外部電源部3はAC/DCコンバータ31で構成される。AC/DCコンバータ31は、商用電源(交流100V)を48V等の直流電圧に変換し、ロボット部1の腰部5の電源部11に供給する。
図8は、歩行パターン作成用コンピュータ2を示すブロック図である。
図8において、歩行パターン作成用コンピュータ2は、CPU21、メモリ22、ハードディスク23、入力装置24、表示装置25、インタフェース部26、LANカード27、無線LAN28から成り、歩行パターン作成ソフトウェアによりロボット部1の歩行パターンを作成する。また、無線LAN28により制御用コンピュータ7と通信することができ、歩行パターンを含むロボット制御ソフトウェアを制御用コンピュータ7にロードする。
【0086】
図9は、外部スイッチ4を示すブロック図である。
図9において、外部スイッチ4は、ブレーキ制御スイッチ41、サーボONスイッチ42、モータ端子短絡スイッチ43から成る。各スイッチ41〜43の状態はロボット部1の腰部5のスイッチ回路12に信号として送られ、該当する機能が制御される。ブレーキ制御スイッチ41は各アクチュエータシリンダC1〜C12の保持ブレーキをオン・オフする。サーボONスイッチ42はDCサーボドライバ(後述する)のサーボのオン・オフを制御する。モータ端子短絡スイッチ43はDCサーボドライバのモータ端子短絡スイッチを制御する。モータ端子が短絡されると、モータの逆起電力により、モータが回転し難くなる。
【0087】
図10は、主に制御用コンピュータ7を示すブロック図である。
図10において、制御用コンピュータ7は、CPU71、メモリ72、ハードディスク73などの基本的な構成要素と、パルスカウンタ79等に対するインタフェース部74、LANカード75、無線LAN76、D/Aコンバータ77、6軸力覚センサレシーバボード78から成る。制御用コンピュータ7は、無線LAN76により、歩行パターン作成用コンピュータ2と通信可能であり、歩行パターン作成用コンピュータ2で作成されハードディスク73に格納されているロボット制御ソフトウェアをメモリ72にロードし、実行する。また、制御用コンピュータ7は、ロボット制御ソフトウェアで計算された速度指令値をD/Aコンバータ77を用いてアナログ電圧に変換してモータ制御部9に出力すると共に、脚部6の各シリンダC1〜C12のロータリエンコーダから出力されるモータ角度情報をパルスカウンタ79を介して取得し、これをCPU71にフィードバックしてモータの位置制御を行う。さらに、制御用コンピュータ7は、必要に応じてスイッチ回路12にブレーキ制御信号、サーボON信号、モータ端子短絡信号を出力することにより、各機能を制御することができる。制御コンピュータ7内の全ての電源は腰部5の電源部11から供給される。
【0088】
図11は、主に電源部11を示すブロック図である。
図11において、電源部11は、48V等のニッケル水素バッテリ111(図41の231に相当)、バッテリ/電源切替部112、電源スイッチ113、4つのDC−DCコンバータ114〜117から成る。電源部11には、外部電源部3より供給される電源と、48Vニッケル水素バッテリ111により供給される電源とを選択するためのバッテリ/電源切替部112が設けられている。DC−DCコンバータ114、115は、制御用コンピュータ7に電源を供給するために用いられ、電圧は5V、±12Vである。DC−DCコンバータ116は、ブレーキ制御部10に電源を供給するためのもので、電圧は24Vである。DC−DCコンバータ117は、脚部6のセンサ類、スイッチ回路12のデジタルICなどのデジタル機器に電源を供給するために用いられ、電圧は5Vである。モータ制御部9には、主電源電圧つまりバッテリ111または外部電源部3の電圧がそのまま供給される。電源部11の電源スイッチ113をオンにすることによってロボット部1に電源が供給される。
【0089】
図12は、主にスイッチ回路12を示すブロック図である。
図12において、スイッチ回路12は、ブレーキ制御部10を介するブレーキのオン・オフ、モータ制御部9を介するサーボのオン・オフ、モータ制御部9を介するモータ端子短絡の各機能を制御するための論理回路(排他的論理和)123、121、122である。スイッチ回路12は、制御用コンピュータ7からの信号と外部スイッチ4からの信号との2つを入力し、排他的論理和をとって出力する。つまり、どちらかの入力が変化すると、出力の状態は必ず変化するので、任意の入力の組み合わせにおいてロボット部1を緊急停止させることが可能である。スイッチ回路12を構成するデジタルICには、腰部5の電源部11から電源が供給される。
【0090】
図13は、主にブレーキ制御部10を示すブロック図である。
図13において、ブレーキ制御部10は、半導体リレー101で構成され、スイッチ回路12からのブレーキオン・オフ信号を入力とし、電源部11より供給される電流をオン・オフし、脚部6の各シリンダC1〜C12の保持ブレーキをオン・オフする。ブレーキ制御部10の制御する上記保持ブレーキは、電流を流した状態で解放状態になり、電流オフ(非通電状態)でブレーキがかかった状態になる。
【0091】
図14は、主にモータ制御部9を示すブロック図である。
図14において、モータ制御部9は12個のDCサーボドライバD1〜D12で構成され、各ドライバD1〜D12が脚部6の各シリンダC1〜C12に対応する。DCサーボドライバD1〜D12に必要な電源は、腰部5の電源部11から供給される。DCサーボドライバD1〜D12は、スイッチ回路12からの信号(サーボオン・オフ信号)により、サーボをオン・オフする。サーボオフ時はモータの端子は開放され、フリーな状態になる。また、DCサーボドライバD1〜D12は、スイッチ回路12からの信号(モータ端子短絡信号)により、モータの端子を短絡する。モータ端子短絡時は、モータ自身の逆起電力により、モータが回転し難くなる。さらに、DCサーボドライバD1〜D12は、制御用コンピュータ7からの速度指令値(電圧)を目標値とし、脚部6のシリンダC1〜C12のモータを速度制御する。さらに、DCサーボドライバD1〜D12は、モータに電流を供給し、またモータの端子間電圧および電流を取得してフィードバックすることにより、速度制御を可能にしている。
【0092】
図15は、主にシリンダC1〜C12を示すブロック図である。
図15において、各シリンダC1〜C12(直動リンク235)は、ロータリエンコーダ151(図42、43の251に相当)、DCサーボモータ152(図42、43の248に相当)、保持ブレーキ153(図42、43の250に相当)、直動部154およびオフセット検出用のフォトマイクロセンサ155(図42、43の初期位置センサ247に相当)から構成される。ロータリエンコーダ151およびフォトマイクロセンサ155には、腰部5の電源部11から電源が供給される。DCサーボモータ152は、モータ制御部9により速度制御される。保持ブレーキ153は、ブレーキ制御部10により制御され、保持ブレーキ153がオンになると、DCサーボモータ152は摩擦力により固定される。ロータリエンコーダ151は、DCサーボモータ152の相対回転角度を検出し、それに比例した数のパルスを制御用コンピュータ7に送る。フィードバックされた角度データをもとに、制御用コンピュータ7は、DCサーボモータ152を位置制御することができる。DCサーボモータ152の回転運動は、直動部154で直動運動(直線運動)に変換され、左右それぞれ6つのシリンダの直動運動が足底部14に伝えられる。このときの足底部14の運動はスチュアートプラットホームの順運動学に従う。なお、歩行パターン作成時には逆運動学を用いる。また、ロータリエンコーダ151は、相対的な角度変位のみを検出するセンサであるので、フォトマイクロセンサ155を用いて初期位置を検出する。フォトマイクロセンサ155は、最もシリンダが縮んだ状態で反応し、シリンダが初期位置にあることを制御用コンピュータ7に知らせる。
【0093】
図16は、主に足底部(足部)14を示すブロック図である。なお、足底部14は右足底部14a(203)と左足底部14b(204)から成る(図6及び図40、41参照)。
図16において、足底部14は、足底板141(図41の203a、204aに相当)と6軸力覚センサ142(図41の204bに相当)から成る。6本のシリンダC1〜C6(直動リンク235)の直動運動の結果として、足底板141の運動が決定される。立脚時には6軸力覚センサ142によって床反力情報を取得し、これを制御用コンピュータ7で処理することにより、実際のZMPの位置を調べることができる。
【0094】
図17は、主に直動部154(図41、43、44の直動リンク235の直動部分)を示すブロック図である。
図17において、直動部154は、動力伝達部171(図43、44の歯付プーリ249、溝付きベルト252等から構成)、すべりねじ172(図44の雄螺子軸部254に相当)、ナット173(図44の255に相当)、リニアガイド174(図43、44のロッドレール部245、レールガイド246に相当)から構成される。動力伝達部171は、DCサーボモータ152の回転をすべりねじ172の軸に伝え、また回転軸の軸心のずれを吸収する。すべりねじ172の軸が回転すると、ナット173が直動運動(直線運動、直進後退運動)をする。ナット173の回転はリニアガイド174により抑制されるので、直進後退運動だけを取り出すことができる。直動部154の従動側の運動はジョイントを介して足底板141に伝えられる。
【0095】
図18は、歩行パターン作成用コンピュータ2のCPU21における機能実現手段(ソフトウェア構成)を示すブロック図である。
図18において、211はロボット部1の全相数等の設定データを入力するための設定データ入力手段、212は足部(足底部)14の軌道と腰部5の初期軌道とを設定する軌道設定手段、213は設定した足部14の軌道と腰部5の初期軌道とに基づいて目標ゼロモーメントポイント(目標ZMP)の軌道を設定する目標ZMP軌道設定手段、214は脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを算出する目標ZMP回りモーメント算出手段、215は目標ゼロモーメントポイント回りのモーメント等に対してフーリエ変換を行ってフーリエ係数を算出するフーリエ変換手段、216は算出したフーリエ係数に基づいてフーリエ係数を決定するフーリエ係数決定手段、217は算出した目標ゼロモーメントポイント回りのモーメント等に基づいて腰部5のモーメント補償軌道(初期軌道に対してモーメントを補償した軌道)を算出するモーメント補償軌道算出手段、218は設定した足部16の軌道と腰部5のモーメント補償軌道とにより各質点の加速度を算出する質点加速度算出手段、219は算出された各質点の加速度に基づいて目標ゼロモーメントポイント回りのモーメントであるエラーモーメントを算出するエラーモーメント算出手段、220は算出したエラーモーメントが所定モーメントよりも小さいか否かを判定するエラーモーメント判定手段、221は腰座標系(数27)から見た足部(「足底部」ともいう)の位置と姿勢(ロール角、ヨー角、ピッチ角)を算出する足部位置姿勢算出手段、222aは予め取得した搭乗者の力学モデルのパラメータ(搭乗者パラメータ)に基づいて搭乗者の各質点の軌道を算出する搭乗者質点軌道算出手段、222bは算出した搭乗者の各質点の軌道に基づいて搭乗者の各質点の加速度を算出する搭乗者質点加速度算出手段、223は腰部から見た足部の位置・姿勢の時系列データおよび腰部から見たZMP軌道および歩容フラグを歩行パターンとしてハードディスク23のファイルに出力するファイル出力手段である。また、目標ZMP回りモーメント算出手段214は、脚部6の運動により生じる目標ZMP回りモーメントを算出する下肢運動による目標ZMP回りモーメント算出手段2141と、腰部5の運動により生じる目標ZMP回りの既知のモーメントを算出する腰運動による目標ZMP回り既知モーメント算出手段2142とを有し、フーリエ変換手段215は、目標ZMP回りモーメント算出手段214において算出した目標ゼロモーメントポイント回りのモーメントと算出したエラーモーメントとの総和を算出するモーメント総和算出手段2151と、その算出した総和に基づいてフーリエ係数を算出するフーリエ算出手段2152とを有し、足部位置姿勢算出手段221は、足座標系(数38)の原点位置を算出する原点位置算出手段2211と、足部の姿勢を算出するための回転行列を求める回転行列算出手段2212と、ロール角、ヨー角、ピッチ角の姿勢角を算出する姿勢算出手段2213とを有する。
【0096】
図33は、制御用コンピュータ7のCPU71における機能実現手段(ソフトウェア構成)を示すブロック図である。
図33において、711は電源部11を介して電源を投入するための電源投入手段、712は歩行パターン作成用コンピュータ2から歩行パターンを無線で受信してハードディスク73に格納する歩行パターン設定手段、713は脚部6の脚を伸縮するシリンダC1〜C12の初期位置を設定するシリンダ初期位置設定手段、714はハードディスク73に格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段、715は使用する歩行パターンに基づいてモータ(DCサーボモータ)を制御するモータ制御手段、716は歩行動作の終了か否かを判定する終了判定手段である。
【0097】
(4)歩行パターン作成動作と2足歩行ロボット装置の制御動作
このように構成された2足歩行ロボット装置について、その動作を図19〜図36を用いて説明する。まず、図4〜図18の2足歩行ロボット装置における歩行パターン作成用コンピュータ2による歩行パターン作成動作について、図19〜図32を用いて説明する。図19〜図31は歩行パターン作成用コンピュータ2のCPU21の動作(歩行パターン作成動作)を示すフローチャートであり、図32は足座標系の原点位置の算出、回転行列の算出および姿勢角算出について説明する説明図である。
【0098】
図19は歩行パターン作成の全体動作を示す。
図19において、まず、設定データ入力手段211は、総歩数、足底部14の位置と姿勢、1相の時間(歩行速度)を設定データとして入力装置24を介して入力する(S1)。ここで、1相の時間とは或る期間を分割したときの1個分の時間長さであり、1相毎に2足歩行ロボット装置に歩行パターンを与えることで連続した歩行動作を行うことができる。次に、軌道設定手段212は、足部(足底部)14の軌道と腰部5の初期軌道とを設定し(S2、軌道設定ステップ)、目標ZMP軌道設定手段213は、設定した足部14の軌道と腰部5の初期軌道とに基づいて目標ゼロモーメントポイント(目標ZMP)の軌道を設定する(S3、目標ZMP軌道設定ステップ)。目標ZMP回りモーメント算出手段214の下肢運動による目標ZMP回りモーメント算出手段2141は、脚部6の運動により生じる目標ZMP回りモーメントを算出し(S4、下肢運動による目標ZMP回りモーメント算出ステップ)、目標ZMP回りモーメント算出手段214の腰運動による目標ZMP回り既知モーメント算出手段2142は、腰部5の運動により生じる目標ZMP回りモーメントを算出する(S5、腰運動による目標ZMP回り既知モーメント算出ステップ)。フーリエ変換手段215のモーメント総和算出手段2151は、目標ZMP回りモーメント算出手段214において算出した足部14と腰部5の運動による目標ゼロモーメントポイント回りのモーメントと算出したエラーモーメント(初期値はゼロ)との総和を算出し(モーメント総和算出ステップ)、フーリエ変換手段215のフーリエ係数算出手段2152は、その算出した総和に基づいてフーリエ係数を算出し(S6、フーリエ係数算出ステップ)、フーリエ係数決定手段216は、ステップS6で算出したフーリエ係数に基づいてフーリエ係数を決定する(S7、フーリエ係数決定ステップ)。次に、モーメント補償軌道算出手段217は、ステップS7で決定したフーリエ係数を逆フーリエ変換してモーメント補償軌道を算出し、この算出したモーメント補償軌道に基づいて腰部5の軌道(腰部5のモーメント補償軌道)を設定する(S8、モーメント補償軌道算出ステップ)。次に、質点加速度算出手段218は、設定した足部14の軌道とステップS8で算出した腰部5のモーメント補償軌道とにより搭乗者の力学モデルの各質点を含まない2足歩行ロボット装置の各質点の加速度を算出して加速度の時系列データを取得し(S9、質点加速度算出ステップ)、搭乗者質点軌道算出手段222aは、予め取得した搭乗者パラメータに基づいて搭乗者の各質点の軌道を算出し(S10a、搭乗者質点軌道算出ステップ)、搭乗者質点加速度算出手段222bは、算出した搭乗者の各質点の軌道に基づいて搭乗者の各質点の加速度を算出して加速度の時系列データを取得し(S10b、搭乗者質点加速度算出ステップ)、エラーモーメント算出手段219は、算出された2足歩行ロボット装置及び搭乗者の各質点の加速度の時系列データに基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出する(S11、エラーモーメント算出ステップ)。次に、エラーモーメント判定手段220は、算出したエラーモーメント(eM)が所定モーメント(εM)よりも小さいか否かを判定し(S12、エラーモーメント判定ステップ)、所定モーメントよりも大きいと判定したときはエラーモーメント判定手段220はフィードバックするエラーモーメントを算出し、その後ステップS4へ戻る(S13)。ステップS11でエラーモーメントが所定モーメントよりも小さいと判定した場合は原点位置算出手段2211は足座標系の原点位置を算出し、回転行列算出手段2212は足部の姿勢を算出するための回転行列を算出し、姿勢算出手段2213はロール角、ヨー角、ピッチ角の姿勢角を算出する(S14、足部位置姿勢算出ステップ)。次に、ファイル出力手段223は、腰部から見た足部の位置・姿勢の時系列データおよび腰部から見たZMP軌道を歩行パターンとしてハードディスク23のファイルに出力する(S15)。
【0099】
次に、ステップS2に示す軌道設定手段212の動作を図20(a)〜(c)を用いて詳細に説明する。図20(a)は足底部14の軌道と腰部5の初期軌道の設定動作を示し、図20(b)は一歩分の足底部14の軌道設定動作を、図20(c)は一歩分の腰部5の初期軌道設定動作を示す。
【0100】
まず図20(a)において、iをゼロに設定し(S21)、iが全相数より小さいか否かを判定する(S22)。最初はi<全相数であるので、ステップS23へ移行し、一歩分の足底部14の軌道を設定する(一歩分の足底部軌道設定処理)。次に、一歩分の腰部5の初期軌道を設定する(S24、一歩分の腰部初期軌道設定処理)。次に、iを1だけ増加して(i=i+1の演算を行って)ステップS22へ戻る(S25)。ステップS22〜S25をi≧全相数と成るまで繰り返す。ステップS22でi≧全相数と判定すると、この処理を終了する。
【0101】
次に、ステップS23の一歩分の足部軌道設定処理について図20(b)を用いて説明する。
まず一歩の中間点と終点を設定し(S231)、一歩の片立脚期の相数(或る期間を所定時間たとえば30msで分割したときの分割数)と一歩の相数とを設定する(S232)。次に、iを1に設定し(S233)、iが片立脚期の相数以下か否かを判定する(S234)。最初はi≦片立脚期の相数であるので、ステップS235へ移行し、上記中間点と終点に基づいて遊脚(路面から離れている脚)の足底部の位置を5次多項式(5次多項式とするのは、2回微分しても充分になめらかである必要があるからである)で近似して求め、静止している立脚の足底部の位置を設定する(S236)。次に、iを1だけ増加して(i=i+1の演算を行って)ステップS234へ戻る(S237)。ステップS234〜S237をi>片立脚期の相数となるまで繰り返す。ステップS234でi>片立脚期の相数と判定すると、ステップS238へ移行し、i≦一歩の相数か否かを判定し、最初はi≦一歩の相数であるので、次に、静止している両脚の足底部14の位置を設定する(S239)。次に、iを1だけ増加して(i=i+1の演算を行って)ステップS238へ戻る(S240)。ステップS238〜S240をi>一歩の相数と成るまで繰り返す。ステップS238でi>一歩の相数と判定すると、この処理を終了する。
【0102】
次に、ステップS24の一歩分の腰部初期軌道設定処理について図20(c)を用いて説明する。
まずiを1に設定し(S241)、iが一歩の相数以下か否かを判定する(S242)。最初はi≦一歩の相数であるので、次に、腰部5は一定の高さかつ一定速度で直線的に移動するとして腰の位置を求める(S243)。次に、iを1だけ増加して(i=i+1の演算を行って)ステップS242へ戻る(S244)。ステップS242〜S244をi>一歩の相数と成るまで繰り返す。ステップS242でi>一歩の相数と判定すると、この処理を終了する。
【0103】
次に、ステップS3に示す目標ZMP軌道設定手段213の動作について図21を用いて説明する。
まず、jとiを1に設定する(S31、S32)。次に、i≦片立脚期の相数か否かを判定し(S33)、最初はi≦片立脚期の相数であるので、次に、ZMPの位置を立脚側の足底部14の中心に設定する(S34)。次に、iを1だけ増加して(i=i+1の演算を行って)ステップS33へ戻る(S35)。ステップS33〜S35をi>片立脚期の相数と成るまで繰り返す。ステップS33でi>片立脚期の相数と判定すると、次に、i≦一歩の相数か否かを判定し(S36)、最初はi≦一歩の相数であるので、次に、ZMPの位置を2つの足底部14(右足底部14aと左足底部14b)の中間点に設定する(S37)。次に、iを1だけ増加してステップS36へ戻る(S38)。ステップS36〜S38をi>一歩の相数と成るまで繰り返す。ステップS36でi>一歩の相数と判定すると、次に、j<全相数か否かを判定し(S39)、最初はj<全相数であるので、jを1だけ増加してステップS32へ戻る(S40)。次に、再びiを1に設定して、j≧全相数となるまでステップS32〜S38を繰り返す。j≧全相数と判定すると、この処理を終了する。
【0104】
次に、ステップS4に示す下肢運動による目標ZMP回りモーメント算出手段2141の動作について図22を用いて説明する。
まずnを1に、下肢の質点数をNに設定し(S41)、n≦全相数か否かを判定する(S42)。最初はn≦全相数であるので、下肢の運動により目標ZMPの回りに生ずるモーメント(ベクトルM)を算出する(S43)。ステップS43に示すベクトルMは、(数2)において外力をゼロとした場合のベクトルである。次に、nを1だけ増加してステップS42へ戻る(S44)。ステップS42でn>全相数と判定されるまで、ステップS42〜S44を繰り返す。n>全相数と判定すると、この処理を終了する。全相数とは例えば1024(2の10乗)である。
【0105】
次に、ステップS5に示す腰運動による目標ZMP回り既知モーメント算出手段2142の動作について図23を用いて説明する。
まずnを1に設定し(S51)、n≦全相数か否かを判定する(S52)。最初はn≦全相数であるので、腰の運動により目標ZMPの回りに生ずる既知モーメント(Mky,Mkx)を算出する(S53)。ステップS53に示す既知モーメントは、(数6),(数7)において腰部5に関する座標を未知とした場合のモーメントである(数6、7における左辺の既知の項だけを抜き出し,右辺に移項したもの)。次に、nを1だけ増加してステップS52へ戻る(S54)。ステップS52でn>全相数と判定されるまで、ステップS52〜S54を繰り返す。n>全相数と判定すると、この処理を終了する。
【0106】
次に、ステップS6に示すフーリエ変換手段215の動作について図24を用いて説明する。
まずモーメント総和算出手段2151は、ステップS4で求めたベクトルMとステップS5で求めた既知モーメント(ベクトルMk)と後述のステップS12で求めたエラーモーメント(ベクトルE)との総和を求めると共に、全相数をNに設定する(S61、モーメント総和算出ステップ)。なお、エラーモーメントの初期値はゼロである。次に、フーリエ係数算出手段2152は、上記総和をフーリエ変換し(S62)、フーリエ係数を算出する(S63)。フーリエ変換やフーリエ係数の算出は一般的手法である。
【0107】
次に、ステップS7に示すフーリエ係数決定手段216の動作について図25を用いて説明する。
まずフーリエ係数決定手段216は、腰部5のモーメント補償軌道をフーリエ級数で表す(S71)。ステップS71のAn,Bn,Cn,Dn(n=0〜N−1)はフーリエ係数である。次に、このフーリエ級数を(数15)、(数16)に代入してフーリエ係数を比較し(S72)、比較結果に基づいてフーリエ係数を決定する(S73)。
【0108】
次に、ステップS8に示すモーメント補償軌道算出手段217の動作について図26を用いて説明する。
まずモーメント補償軌道算出手段217は、全相数をNに設定し(S81)、逆フーリエ変換用のデータ(つまりステップS73で決定したフーリエ係数を元に設定した逆フーリエ変換用のデータ)を設定し((数25)参照)(S82)、腰部5のモーメント補償軌道を上記逆フーリエ変換用のデータを逆フーリエ変換することにより算出する(S83)。次に、iを1に設定し(S84)、i≦Nか否かを判定する(S85)。最初はi≦Nであるので、次に、ステップS83で算出したモーメント補償軌道に基づいて腰部5の軌道を設定する(S86)。次に、iを1だけ増加する(S87)。ステップS85〜S87をi>Nとなるまで繰り返し、i>Nと判定すると、この処理を終了する。
【0109】
次に、ステップS9に示す質点加速度算出手段218の動作について図27を用いて説明する。
まず質点加速度算出手段218は、1相の時間をT(たとえば30ms)に、nを1に、全相数をNに設定し(S91、S92)、n≦Nか否かを判定する(S93)。最初はn≦Nであるので、次に、iを1に、質点の総数をJに設定し(S94)、i≦Jか否かを判定する(S95)。最初はi≦Jであるので、次に、離散時間における各質点の加速度(r(n)の2階微分)を計算する(S96)。次に、iを1だけ増加する(S97)。ステップS95〜S97をi>Jとなるまで繰り返し、i>Jであると判定すると、次にnを1だけ増加し(S98)、ステップS94〜S98をn>Nとなるまで繰り返し、n>Nであると判定すると、この処理を終了する。
【0110】
次に、ステップS10aに示す搭乗者質点軌道算出手段222aの動作について図28(a)を用いて説明する。
まずnを1に設定し(S100)、n≦全相数か否かを判定する(S101)。最初はn≦全相数であるので、予め取得した搭乗者パラメータ(上半身質点の質量、初期位置(数31)、弾性係数(数35)、粘性係数(数36))を用いて(数27)をルンゲ・クッタ法で解くことにより搭乗者の上半身質点の軌道(r(n))を算出する(S102)。なお、この場合のrw(n)はモーメント補償軌道(逆フーリエ変換で求めた近似値)である。次に、nを1だけ増加してステップS101へ戻る(S103)。ステップS101でn>全相数と判定されるまで、ステップS101〜S103を繰り返す。n>全相数と判定すると、この処理を終了する。
なお、搭乗者の力学モデルを構成する自由質点が複数ある場合は、各自由質点について同様にしてその軌道を算出する。
【0111】
次に、ステップS10bに示す搭乗者質点加速度算出手段222bの動作について図28(b)を用いて説明する。
まず、搭乗者質点加速度算出手段222bは、1相の時間をTに、nを1に、全相数をNに設定し(S106、S107)、n≦Nか否かを判定する(S108)。最初はn≦Nであるので、次に、離散時間における上半身質点の加速度(r(n)の2階微分)を計算する(S109)。次に、nを1だけ増加し(S110)、ステップS108〜S110をn>Nとなるまで繰り返し、n>Nであると判定すると、この処理を終了する。
なお、自由質点が複数ある場合は、各自由質点について同様にしてその加速度を算出する。
【0112】
また、2足歩行ロボット装置の腰部に固定された下半身質点(固定質点)の軌道及び腰部の軌道及び加速度に基づいて算出する。
【0113】
次に、ステップS11に示すエラーモーメント算出手段219の動作について図29を用いて説明する。
まずエラーモーメント算出手段219は、nを1に設定し(S111)、n≦全相数か否かを判定する(S112)。最初はn≦全相数であるので、次に、2足歩行ロボット装置の全ての質点及び搭乗者力学モデルの全ての質点について、ステップS43と同様にしてエラーモーメント(eM(n))を算出し(S113)、nを1だけ増加する(S114)。ステップS112〜S114をn>全相数となるまで繰り返す。
【0114】
次に、ステップS12に示すエラーモーメント判定手段220の動作について図30を用いて説明する。図30はエラーモーメントの算出方法について説明するものである。
まずエラーモーメント判定手段220は、繰り返し回数をnとし(S121)、nが1の場合はエラーモーメントを0とし(S122、S123)、nが2の場合はエラーモーメントを1回目で算出した値とし(S124、S125)、nが3以上の場合は前回で使用したエラーモーメントに前回で算出したエラーモーメントの半分を加えたものを今回のエラーモーメントとする(S126)。
n=1のときにエラーモーメントを0とする理由について説明する。n=1は、1回目の計算の後にフィードバックする値を表わしているのでは無くて、1回目の計算で使うエラーモーメントを示している。すなわち、n=1の場合のエラーモーメントE1を計算に用いる時点ではeM1は計算されておらず、フィードバックすべき量がない。そのためにE1=0というステップを便宜上入れてある。初めて計算される算出エラーモーメントeM1がE2に代入されるのも同様の理由で、eM1が計算された直後は繰り返し回数n=2となるために、E2に代入されて2回目の計算に使用される。
【0115】
次に、ステップS13に示す足部位置姿勢算出手段221の動作について図31を用いて説明する。
まず、nを1に設定し(S131)、n≦全相数か否かを判定する(S132)。最初はn≦全相数であるので、原点位置算出手段2211は、足座標系の原点位置を算出し(S133、後述の図32および(数82)参照)、回転行列算出手段2212は足部の姿勢を算出するための回転行列を算出し(S134、後述の(数58)参照)、姿勢算出手段2213はロール角、ヨー角、ピッチ角の姿勢角を算出する(S135、後述の(数91)参照)。次に、nを1増加し、ステップS132へ戻る。これをn>全相数となるまで繰り返す。n>全相数となると、この処理を終了する。
【0116】
ここで、足座標系の原点位置の算出、回転行列の算出および姿勢角算出について図32を用いて説明する。
従来は、絶対座標系における足部位置・姿勢および腰部位置・姿勢から逆運動学により各シリンダ長さ(つまり腰部ジョイントと足部ジョイントとの間の距離)を算出し、これを歩行パターンとして出力していたが、本実施の形態では、次のような手順で、絶対座標系における足部位置・姿勢および腰部位置・姿勢から、腰座標系から見た足座標系の位置・姿勢を算出し、これを歩行パターンとして出力する。
腰座標系から見た足座標系原点の位置ベクトル(数52)は、足部と腰部の絶対座標から、(数53)となる(図32参照)。
【数52】

【数53】

また、腰座標系から見た足座標系の姿勢を表わす回転行列(数54)と、絶対座標系から見た足座標系の姿勢を表わす回転行列(数55)と、絶対座標系から見た腰座標系の姿勢を表わす回転行列(数56)の関係は(数57)、(数58)のようになる。
【数54】

【数55】

【数56】

【数57】

【数58】

ここで、(数55)、(数56)は(数59)、(数60)のように表わされる。
【数59】

【数60】

【0117】
このようにして求めた、腰座標系から見た足座標系の姿勢を表わす回転行列(数54)より、次の手順でロール角、ヨー角、ピッチ角に換算する。
腰座標系から見た足座標系の姿勢を表わす回転行列(数54)の成分を(数61)のようにおく。
【数61】

これらより、2変数逆正接関数を用い、腰座標系から見た足座標系の姿勢を表わすロール角、ヨー角、ピッチ角は、(数62)のようになる。
【数62】

この腰座標系から見た足座標系の位置・姿勢(数63)、(数64)を両足分算出し、歩行パターンとして出力する。
【数63】

【数64】

ここで、(数62)について説明する。Atan2(y,x)は(数65)として計算されるが、結果の角度が存在する象限は、xとyの両方の符号によって決定される。例えば、Atan2(−2.0,−2.0)=−135°である。
【数65】

【0118】
次に、2足歩行ロボット装置の制御動作について、図33〜図37を用いて説明する。図33は制御用コンピュータ7のCPU71における機能実現手段を示すブロック図であり、図34〜図36は制御用コンピュータ7のCPU動作を示すフローチャートであり、図37はCPU71のモータ制御手段715を示す機能ブロック図である。
【0119】
まず2足歩行ロボット装置の制御動作の全体動作について図34を用いて説明する。
図34において、電源投入手段711は電源部11を介して2足歩行ロボット装置の電源を投入する(SS1)。次に歩行パターン設定手段712は、歩行パターン作成用コンピュータ(歩行パターン作成装置)2から歩行パターンを無線で受信してハードディスク73に格納し(SS2、歩行パターン設定ステップ)、シリンダ初期位置設定手段713は、脚部6の脚を伸縮するシリンダC1〜C12の初期位置を設定する(SS3、シリンダ初期位置設定ステップ)。次に、歩行開始命令手段714は、ハードディスク73に格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令し(SS4、歩行開始命令ステップ)、モータ制御手段715は、使用する歩行パターンに基づいてモータ(DCサーボモータ)152を制御する(SS5、モータ制御ステップ)。次に、終了判定手段716は、歩行動作の終了か否かを(終了命令が制御用コンピュータ7から出ているか否かを)判定する(SS6)。
【0120】
次に、ステップSS2に示す歩行パターン設定手段712の動作を図35を用いて説明する。
図35において、まず、設定したいパターンの数をNに、jをゼロに設定する(SS21)。次に、j<Nか否かを判定する(SS22)。最初はj<Nであるので、次に、歩行パターン作成用コンピュータ2で作成したデータ(腰座標系における足部の位置・姿勢、絶対座標系における腰軌道、絶対座標系におけるZMP軌道)を制御用コンピュータ7のメモリ72に記憶する(SS23)。次に、jを1だけ増加する(SS24)。ステップSS22〜SS24をj≧Nとなるまで繰り返す。j≧Nであると判定すると、この処理を終了する。
【0121】
次に、ステップSS3に示すシリンダ初期位置設定手段713の動作を図36を用いて説明する。
図36において、まず、D/Aコンバータ77から一定電圧を各モータドライバ(DCサーボドライバ)D1〜D12に出力し、低速かつ一定速度でシリンダC1〜C12を縮める方向に動かす(SS31)。次に、初期位置検出用のセンサ155が反応したか否かを判定し(SS32)、反応しない場合にはステップSS31へ戻り、反応した場合には反応したセンサがついているシリンダに位置制御(PI制御)をかけて固定する(SS33)。ステップSS31〜SS33の動作を全てのセンサが反応するまで行う(SS34)。全てのセンサが反応したと判定した場合は、全てのシリンダを動かして、2足歩行ロボット装置を歩行パターンに基づく初期位置にする(SS35)。
【0122】
次に、モータ制御手段715について図37を用いて説明する。図37はモータ制御手段715を示す機能ブロック図である。
図37において、モータ制御手段715は、メモリ72に記憶されている歩行パターンを出力する歩行パターン出力手段811と、足部の位置・姿勢の目標値に対して逆運動学演算を行ってシリンダ長さのデータ(つまりリンク長さのデータ)を生成する逆運動学演算手段813と、シリンダ長さのデータをモータの角度変位のデータに変換するデータ変換手段814と、シリンダの初期位置の微調整を行う初期位置微調整手段815と、後述のシリンダ駆動装置400(図37参照)を駆動するシリンダ駆動装置駆動手段816とを有する。
【0123】
このように構成されたモータ制御手段715の動作について図38、図39を用いて説明する。
図38はモータ制御手段とモータ駆動装置を示すブロック図である。図39はモータ制御手段715の動作を示すフローチャートである。
図38において、歩行パターン出力手段811、逆運動学演算手段813、データ変換手段814、初期位置微調整手段815、シリンダ駆動装置駆動手段816は図37と同様のものであり、同一符号を付し、説明は省略する。
【0124】
このように構成されたモータ制御手段715の動作について図39を用いて説明する。
図39において、まず、歩行パターンが選択され、歩行開始命令が出されると(歩行パターン選択と歩行開始命令とは外部のコンピュータから無線を介して伝えられる。通常は歩行パターン作成用コンピュータ2がこの役割を果たしている)、歩行パターン出力手段811は、腰座標系における足部の位置・姿勢のデータや絶対座標系における腰座標・ZMP座標のデータ(以下、「足部等データ」という)を制御周期(約1ms)毎に補間して出力する(SS41)。次に、逆運動学演算手段813は、足部等データに対して前述した逆運動学演算を行ってシリンダ長さのデータを算出し(SS42)、データ変換手段814は、算出したシリンダ長さのデータをモータの角度変位のデータに変換する(SS43)。このモータ角度変位データに初期位置微調整手段815からの初期位置の微調整データ(SS44)を加えた加算データaをシリンダ駆動装置駆動手段816が比較部COMに出力する(SS45)。加算データaはパルスカウンタ79からの実角度変位データbと比較部COMで比較され、差データ(a−b)となる。この差データ(a−b)の積分データと比例データとは比例積分部300において加算されてモータ回転速度データcとなり、このデータcは換算部301でデジタル電圧に換算されて、D/Aコンバータ77に出力され、D/Aコンバータ77でアナログ電圧となり、このアナログ電圧はサーボドライバD1〜D12に入力され、サーボドライバD1〜D12は上記アナログ電圧によりDCサーボモータ152を回転駆動する。DCサーボモータ152の回転変位(角度変位)はロータリエンコーダ151でパルス数として検出され、このパルス数はパルスカウンタ79で計数されて比較部COMへフィードバックされる。ここで比較部COM、比例積分部300、換算部301、D/Aコンバータ77、サーボドライバD1〜D12、DCサーボモータ152、エンコーダ151、カウンタ79はシリンダ駆動装置400を構成する。
【0125】
このように、本実施の形態においては、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さ(つまりシリンダ長さ)を制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができるようになる。
【0126】
以上のように本実施の形態によれば、足部の軌道と腰部の初期軌道を設定する軌道設定手段212と、設定した足部の軌道と腰部の初期軌道とに基づいて目標ゼロモーメントポイントの軌道を設定する目標ZMP軌道設定手段213と、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを算出する目標ZMP回りモーメント算出手段214と、算出した目標ゼロモーメントポイント回りのモーメントに基づいて腰部のモーメント補償軌道を算出するモーメント補償軌道算出手段217と、設定した足部の軌道と腰部のモーメント補償軌道とに基づいて2足歩行ロボット装置の各質点の加速度を算出する質点加速度算出手段218と、予め取得した搭乗者の力学モデルの搭乗者パラメータに基づいて搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段222aと、算出した各質点の軌道に基づいて搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段222bと、算出された2足歩行ロボット装置の各質点の加速度及び搭乗者の力学モデルの各質点の加速度に基づいて目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段219と、算出したエラーモーメントが所定モーメントよりも小さくなったとき足部の位置を算出すると共に足部の姿勢を算出する足部位置姿勢算出手段221とを有することにより、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による目標ゼロモーメントポイント回りのモーメントがゼロの近傍か否かをエラーモーメントにより判定することができ、歩行パターンの設定において目標ゼロモーメントポイント回りのモーメントを限り無くゼロに近づけることができるので、人間搭乗型の2足歩行ロボット装置に安定性の極めて高い2足歩行を行わせることができ、搭乗者の重量に対して比較的小型で軽量な2足歩行ロボット装置であっても搭乗者の受動的運動に対する安定性を確保できるため人間の住環境等の狭隘な環境での運用が可能であり実用性に優れ、また、搭乗者の体重や体型に応じて搭乗者毎に力学モデルのパラメータを取得することで、搭乗者が代わっても正確な力学モデルに基づく安定した歩行を2足歩行ロボット装置に行わせることができる。
【0127】
搭乗者質点軌道算出手段222aは、搭乗者パラメータとして上半身質点(自由質点)の質量、初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数に基づいて上半身質点の軌道を算出することにより、搭乗者の受動的運動を力学モデルの自由質点の運動としてモデル化することで正確にモデル化でき、搭乗者の受動的運動を考慮した極めて安定性の高い歩行を2足歩行ロボット装置に行わせることができ、また、搭乗者の力学モデルのパラメータとして自由質点の質量と初期位置及び弾性要素の弾性係数並びに粘性要素の粘性係数を用いることで、パラメータの取得を容易に行うことができ、搭乗者のモデル化を正確に且つ簡単に行うことができる。
【0128】
さらに、ZMP回りモーメント算出手段において算出した目標ゼロモーメントポイント回りのモーメントと算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換手段215と、算出したフーリエ係数に基づいてモーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定手段216とを備え、モーメント補償軌道算出手段217は、決定したフーリエ係数に基づく逆フーリエ変換により腰部のモーメント補償軌道を算出することにより、腰部のモーメント補償軌道を正確に算出することができるので、目標ゼロモーメントポイント回りのモーメントを迅速にゼロに近づけることができる。
【0129】
さらに、目標ZMP回りモーメント算出手段2141は、脚部の運動により生じる目標ZMP回りモーメントを算出する下肢運動による目標ZMP回りモーメント算出手段2141と、腰部の運動により生じる目標ZMP回りモーメントを算出する腰運動による目標ZMP回り既知モーメント算出手段2142とを有することにより、脚部の運動および腰部の運動による目標ゼロモーメントポイント回りのモーメントを正確に算出することができるので、腰部のモーメント補償軌道を正確に算出することができる。
【0130】
さらに、足部位置姿勢算出手段221は、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出手段2211と、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段2212と、回転行列算出手段で算出した回転行列により足部の姿勢を算出する姿勢算出手段2213とを有することにより、腰座標系からみた足部の位置と姿勢のデータを正確に生成することができるので、パラレルリンク機構においてはリアルタイム演算が容易な逆運動学演算を用いて脚部を伸縮するシリンダの長さを正確に制御することができ、逆運動学演算において種々の補正データを用いて種々の制御を行う場合に正確な制御を行うことができる。
【0131】
さらに、足部を備えた脚部と腰部と腰部の上部に固定された搭乗部とから成り、脚部は脚部を伸縮するシリンダを有し、腰部は全体を制御すると共に上記記載の歩行パターン作成装置と無線通信を行う制御コンピュータ7を有する2足歩行ロボット装置であって、制御コンピュータは、歩行パターン作成装置から受信した歩行パターンに基づいて2足歩行の制御を行うことにより、腰部にいす等の搭乗部を取り付けて人間の搭乗を可能としているので、種々の用途(たとえば福祉用、移動用)に適合する2足歩行ロボットを容易且つ迅速に構築することができ、2足歩行ロボット装置の脚部と腰部の運動だけでなく搭乗者の受動的運動も考慮してこれらの運動による足部の目標ゼロモーメントポイントにおけるモーメントをゼロに近づけることができるので、人間が搭乗した状態での歩行を安定化することができる。
【0132】
さらに、制御コンピュータ7は、歩行パターン作成用コンピュータから歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段712と、格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段714と、歩行開始命令手段の指令に基づいてモータを制御してシリンダの長さを制御するモータ制御手段715とを有することにより、歩行状態において2足歩行ロボット装置は歩行パターン作成用コンピュータから物理的な拘束を受けることなく高安定な歩行を行うことができ、また、周囲または自己の状態(たとえば搭載重量の軽重状態)に応じた適切な歩行パターンで歩行することができる。
【0133】
さらに、モータ制御手段715は、足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を歩行開始命令手段の指令に基づいて出力する歩行パターン出力手段811と、歩行パターン出力手段から出力される足部の位置・姿勢の目標値を逆運動学演算してシリンダの長さを算出する逆運動学演算手段813とを有することにより、パラレルメカニズムの脚機構にとっては計算量が膨大なために実施が困難な順運動学を行う必要がなくなり、計算が容易な逆運動学によりリアルタイムにリンク長さを制御することができるので、足部の位置・姿勢に関して種々の制御を行うことができる。
【0134】
また、図19〜図31に記載の歩行パターン作成方法の各ステップを実行させるためのプログラムであることにより、上記歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【0135】
さらに、上記プログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、上記歩行パターン作成方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【0136】
また、図34〜図36、図38〜図39に記載の2足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラムであることにより、上記2足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【0137】
さらに、上記プログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、汎用コンピュータで記録媒体を読み取りさえすれば、上記2足歩行ロボット装置の制御方法を任意の場所で任意の時間に汎用コンピュータに実行させることができる。
【産業上の利用可能性】
【0138】
本発明は2足歩行ロボット装置に2足歩行を行わせる歩行パターンを作成する装置、その歩行パターンに基づいて2足歩行を行う2足歩行ロボット装置、2足歩行を行わせる歩行パターンを作成する方法、および2足歩行を行う2足歩行ロボット装置の制御方法、ならびに、その歩行パターン作成方法とその2足歩行ロボット装置の制御方法を実行させるためのプログラムおよび記録媒体に関し、本発明によれば、搭乗者や積載物の重量に対して比較的小型で軽量な2足歩行ロボット装置において人間が搭乗した状態或いは重量物を積載した状態であっても安定した2足歩行を行わせることができる。
【図面の簡単な説明】
【0139】
【図1】(a)支持多角形を示す説明図、座標系とベクトルの定義を示す説明図
【図2】搭乗者の力学モデルを示す説明図
【図3】(a)腰座標系および足座標系を示す模式図、(b)腰座標系および足座標系を示す模式図
【図4】本発明の実施の形態1による歩行パターン作成装置と2足歩行ロボット装置の全体構成を示すブロック図
【図5】主に腰部を示すブロック図
【図6】主に脚部を示すブロック図
【図7】外部電源部を示すブロック図
【図8】歩行パターン作成用コンピュータを示すブロック図
【図9】外部スイッチを示すブロック図
【図10】主に制御用コンピュータを示すブロック図
【図11】主に電源部を示すブロック図
【図12】主にスイッチ回路を示すブロック図
【図13】主にブレーキ制御部を示すブロック図
【図14】主にモータ制御部を示すブロック図
【図15】主にシリンダを示すブロック図
【図16】主に足底部(脚部)を示すブロック図
【図17】主に直動部を示すブロック図
【図18】歩行パターン作成用コンピュータのCPUにおける機能実現手段を示すブロック図
【図19】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図20】(a)歩行パターン作成用コンピュータのCPU動作を示すフローチャート、(b)歩行パターン作成用コンピュータのCPU動作を示すフローチャート、(c)歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図21】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図22】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図23】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図24】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図25】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図26】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図27】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図28】(a)歩行パターン作成用コンピュータのCPU動作を示すフローチャート(b)歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図29】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図30】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図31】歩行パターン作成用コンピュータのCPU動作を示すフローチャート
【図32】足座標系の原点位置の算出、回転行列の算出および姿勢角算出について説明する説明図
【図33】制御用コンピュータのCPUにおける機能実現手段を示すブロック図
【図34】制御用コンピュータのCPU動作を示すフローチャート
【図35】制御用コンピュータのCPU動作を示すフローチャート
【図36】制御用コンピュータのCPU動作を示すフローチャート
【図37】モータ制御手段を示す機能ブロック図
【図38】モータ制御手段とモータ駆動装置を示すブロック図
【図39】モータ制御手段の動作を示すフローチャート
【図40】(a)実施の形態1における2足歩行ロボットの模式斜視図、(b)実施の形態1における2足歩行ロボットの模式平面図
【図41】2足歩行ロボットの斜視図
【図42】2足歩行ロボット装置の腰部の要部側面図
【図43】直動リンクの要部斜視図
【図44】(a)直動リンクの要部側面図、(b)(a)のA−A線の要部矢視断面図
【図45】ベース部側受動ジョイントの要部斜視図
【図46】足部側受動ジョイントの要部斜視図
【図47】足部側受動ジョイントの要部縦断面図
【符号の説明】
【0140】
1 ロボット部(2足歩行ロボット装置)
2 歩行パターン作成用コンピュータ(歩行パターン作成装置)
3 外部電源部
4 外部スイッチ
5 腰部
6 脚部
7 制御用コンピュータ
9 モータ制御部
10 ブレーキ制御部
11 電源部
12 スイッチ回路
13a 右脚部
13b 左脚部
14 足底部(足部)
14a 右足底部(右足部)
14b 左足底部(左足部)
21、71 CPU
22、72 メモリ
23、73 ハードディスク
24 入力装置
25 表示装置
26、74 インタフェース部
27、75 LANカード
28、76 無線LAN
31 AC/DCコンバータ
41 ブレーキ制御スイッチ
42 サーボONスイッチ
43 モータ端子短絡スイッチ
77 D/Aコンバータ
78 6軸力覚センサレシーバボード
79 パルスカウンタ
101 半導体リレー
111 ニッケル水素バッテリ
112 バッテリ/電源切替部
113 電源スイッチ
114、115、116、117 DC−DCコンバータ
121、122、123 排他的論理和
141 足底板
142、203b、204b 6軸力覚センサ
151 ロータリエンコーダ
152 DCサーボモータ
153 保持ブレーキ
154 直動部
155 フォトマイクロセンサ
171 動力伝達部
172 すべりねじ
173 ナット
174 リニアガイド
C1〜C12 シリンダ
D1〜D12 DCサーボドライバ
201、201c 2足歩行ロボット装置
201a 右脚部のパラレルリンク機構部
201b 左脚部のパラレルリンク機構部
202 ベース部
203 右足部
203a 固定板
204 左足部
204a 固定板
205、205′、205a、205a′、205b、205b′、205c、205c′ 直動リンク
206、206a、206a′、206b、206b′、206c、206c′ ベース部側受動ジョイント
207、207a、207b、207c 足部側受動ジョイント
208、208a、208b、208c 回動受動ジョイント
209 制御装置部
209′ 制御用コンピュータ
210a 搭乗部
210b 着座部
210c 腰部6軸力覚センサ
211 設定データ入力手段
212 軌道設定手段
213 目標ZMP軌道設定手段
214 目標ZMP回りモーメント算出手段
215 フーリエ変換手段
216 フーリエ係数決定手段
217 モーメント補償軌道算出手段
218 質点加速度算出手段
219 エラーモーメント算出手段
220 エラーモーメント判定手段
221 足部位置姿勢算出手段
222a 搭乗者質点軌道算出手段
222b 搭乗者質点加速度算出手段
223 ファイル出力手段
231 バッテリ
232 モータ駆動用回路部
235 直動リンク
236 ベース部側受動ジョイント
237 足部側受動ジョイント
241 保持ケーシング
242 アウターチューブ部
243 インナーロッド部
244、244′ ジョイント結合部
245 ロッドレール部
246 レールガイド
247 初期位置センサ
248 モータ
248a モータホルダ
249 モータ先端軸部
250 保持ブレーキ
251 ロータリエンコーダ
252 溝付きベルト
254 雄螺子軸部
254a 雄螺子先端軸部
255 雌螺子ナット部
256a、256b ストッパ
261 ベース部側上部継手
262 上部継手軸
263 ベース部側下部継手
264 下部継手軸
265 連結回動部
271 第1の足側上部継手
271a、271b、273a、273b 側部軸支板
273 第2の足側上部継手
272a ボールベアリング
275 ボール保持部
275a ボール収容部
276a、276b 継手軸
277 止めナット
278 足側基部
279 ボール継手軸
279a ボール部
COM 比較部
300 比例積分部
301 換算部
400 モータ駆動装置
711 電源投入手段
712 歩行パターン設定手段
713 シリンダ初期位置設定手段
714 歩行開始命令手段
715,715′ モータ制御手段
716 終了判定手段
811 歩行パターン出力手段
813 逆運動学演算手段
814 データ変換手段
815 初期位置微調整手段
816 シリンダ駆動装置駆動手段

【特許請求の範囲】
【請求項1】
足部を備えた脚部と腰部とから成る2足歩行ロボット装置の歩行パターンを作成する歩行パターン作成装置であって、
前記足部の軌道と前記腰部の初期軌道を設定する軌道設定手段と、
前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ZMP軌道設定手段と、
前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ZMP回りモーメント算出手段と、
前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出手段と、
前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記2足歩行ロボット装置の各質点の加速度を算出する質点加速度算出手段と、
予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出手段と、
前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出手段と、
前記算出した前記2足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出手段と、
前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出手段と
を有することを特徴とする歩行パターン作成装置。
【請求項2】
前記搭乗者の力学モデルは、1乃至複数の固定質点と1乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出手段は、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することを特徴とする請求項1に記載の歩行パターン作成装置。
【請求項3】
前記ZMP回りモーメント算出手段において算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換手段と、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定手段とを備え、前記モーメント補償軌道算出手段は、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することを特徴とする請求項1又は2に記載の歩行パターン作成装置。
【請求項4】
前記目標ZMP回りモーメント算出手段は、前記脚部の運動により生じる目標ZMP回りモーメントを算出する下肢運動による目標ZMP回りモーメント算出手段と、前記腰部の運動により生じる目標ZMP回りモーメントを算出する腰運動による目標ZMP回り既知モーメント算出手段とを有することを特徴とする請求項1乃至3の内いずれか1項に記載の歩行パターン作成装置。
【請求項5】
前記足部位置姿勢算出手段は、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出手段と、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出手段と、前記回転行列算出手段で算出した回転行列により足部の姿勢を算出する姿勢算出手段とを有することを特徴とする請求項1乃至4の内いずれか1項に記載の歩行パターン作成装置。
【請求項6】
足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とからなり、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項1乃至5の内いずれか1項に記載の歩行パターン作成装置と無線通信を行う制御コンピュータを有する2足歩行ロボット装置であって、
前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて2足歩行の制御を行うことを特徴とする2足歩行ロボット装置。
【請求項7】
前記腰部は、前記搭乗部から受ける力及びモーメントを検出する搭乗者検出部を備えていることを特徴とする請求項6に記載の2足歩行ロボット装置。
【請求項8】
前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定手段と、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令手段と、前記歩行開始命令手段の指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御手段とを有することを特徴とする請求項6又は7に記載の2足歩行ロボット装置。
【請求項9】
前記モータ制御手段は、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令手段の指令に基づいて出力する歩行パターン出力手段と、前記歩行パターン出力手段から出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算手段とを有することを特徴とする請求項8に記載の2足歩行ロボット装置。
【請求項10】
足部を備えた脚部と腰部とから成る2足歩行ロボット装置の歩行パターンを作成する歩行パターン作成方法であって、
前記足部の軌道と前記腰部の初期軌道を設定する軌道設定ステップと、
前記設定した足部の軌道と前記腰部の初期軌道とに基づいて前記目標ゼロモーメントポイントの軌道を設定する目標ZMP軌道設定ステップと、
前記脚部の運動および前記腰部の運動による前記目標ゼロモーメントポイント回りのモーメントを算出する目標ZMP回りモーメント算出ステップと、
前記算出した目標ゼロモーメントポイント回りのモーメントに基づいて前記腰部のモーメント補償軌道を算出するモーメント補償軌道算出ステップと、
前記設定した足部の軌道と前記腰部のモーメント補償軌道とに基づいて前記2足歩行ロボット装置の各質点の加速度を算出する質点加速度算出ステップと、
予め取得した搭乗者の力学モデルのパラメータに基づいて前記搭乗者の力学モデルの各質点の軌道を算出する搭乗者質点軌道算出ステップと、
前記算出した各質点の軌道に基づいて前記搭乗者の力学モデルの各質点の加速度を算出する搭乗者質点加速度算出ステップと、
前記算出した前記2足歩行ロボット装置の各質点の加速度及び前記搭乗者の力学モデルの各質点の加速度に基づいて前記目標ゼロモーメントポイントにおけるエラーモーメントを算出するエラーモーメント算出ステップと、
前記算出したエラーモーメントが所定モーメントよりも小さくなったとき前記足部の位置を算出すると共に前記足部の姿勢を算出する足部位置姿勢算出ステップと
を有することを特徴とする歩行パターン作成方法。
【請求項11】
前記搭乗者の力学モデルは、1乃至複数の固定質点と1乃至複数の自由質点と質点間の弾性要素及び粘性要素とで構成され、前記搭乗者質点軌道算出ステップにおいて、前記パラメータとして前記自由質点の質量、初期位置及び前記弾性要素の弾性係数並びに前記粘性要素の粘性係数に基づいて前記自由質点の軌道を算出することを特徴とする請求項10に記載の歩行パターン作成方法。
【請求項12】
前記ZMP回りモーメント算出ステップにおいて算出した目標ゼロモーメントポイント回りのモーメントと前記算出したエラーモーメントとの総和に基づいてフーリエ係数を算出するフーリエ変換ステップと、前記算出したフーリエ係数に基づいて前記モーメント補償軌道の近似解を求めるためのフーリエ係数を決定するフーリエ係数決定ステップとを備え、前記モーメント補償軌道算出ステップにおいては、前記決定したフーリエ係数に基づく逆フーリエ変換により前記腰部のモーメント補償軌道を算出することを特徴とする請求項10又は11に記載の歩行パターン作成方法。
【請求項13】
前記目標ZMP回りモーメント算出ステップは、前記脚部の運動により生じる目標ZMP回りモーメントを算出する下肢運動による目標ZMP回りモーメント算出ステップと、前記腰部の運動により生じる目標ZMP回りモーメントを算出する腰運動による目標ZMP回り既知モーメント算出ステップとを有することを特徴とする請求項10乃至12の内いずれか1項に記載の歩行パターン作成方法。
【請求項14】
前記足部位置姿勢算出ステップは、絶対座標系における腰座標系の原点と絶対座標系における足座標系の原点とから腰座標系から見た足部の位置を算出する原点位置算出ステップと、絶対座標系から見た足座標系の姿勢を表わす回転行列と絶対座標系から見た腰座標系の姿勢を表わす回転行列とから腰座標系から見た足座標系の姿勢を表わす回転行列を算出する回転行列算出ステップと、前記回転行列算出ステップで算出した回転行列により足部の姿勢を算出する姿勢算出ステップとを有することを特徴とする請求項10乃至13の内いずれか1項に記載の歩行パターン作成方法。
【請求項15】
足部を備えた脚部と腰部と前記腰部の上部に固定された搭乗部とから成り、前記脚部は前記脚部を伸縮するシリンダを有し、前記腰部は全体を制御すると共に請求項1乃至5の内いずれか1項に記載の歩行パターン作成装置と無線通信を行う制御用コンピュータを有する2足歩行ロボット装置の制御方法であって、前記制御コンピュータは、前記歩行パターン作成装置から受信した歩行パターンに基づいて2足歩行の制御を行うことを特徴とする2足歩行ロボット装置の制御方法。
【請求項16】
前記制御コンピュータは、前記歩行パターン作成装置から歩行パターンを無線で受信してメモリに格納する歩行パターン設定ステップと、前記格納した歩行パターンから歩行に使用するパターンを選択して歩行開始を指令する歩行開始命令ステップと、前記歩行開始命令ステップにおける指令に基づいてモータを制御して前記シリンダの長さを制御するモータ制御ステップとを有することを特徴とする請求項15に記載の2足歩行ロボット装置の制御方法。
【請求項17】
前記モータ制御ステップは、前記足部位置姿勢算出手段で算出した足部の位置・姿勢の目標値を前記歩行開始命令ステップにおける指令に基づいて出力する歩行パターン出力ステップと、前記歩行パターン出力ステップから出力される前記足部の位置・姿勢の目標値を逆運動学演算して前記シリンダの長さを算出する逆運動学演算ステップとを有することを特徴とする請求項16に記載の2足歩行ロボット装置の制御方法。
【請求項18】
コンピュータに請求項10乃至14の内いずれか1項に記載の歩行パターン作成方法の各ステップを実行させるためのプログラム。
【請求項19】
請求項18に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項20】
コンピュータに請求項15乃至17の内いずれか1項に記載の2足歩行ロボット装置の制御方法の各ステップを実行させるためのプログラム。
【請求項21】
請求項20に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate