以下、図面を参照しながら本発明の実施形態について詳解する。
図1及び図2には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボットが直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボットは、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右2足の下肢部とで構成され、例えば胴体に内蔵されている制御部(図示しない)により機体の動作を統括的にコントロールするようになっている。
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
制御部は、この脚式移動ロボットを構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(統括制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
このように構成された脚式移動ロボットは、制御部による全身協調的な動作制御により、2足歩行を実現することができる。かかる2足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
(1)右脚を持ち上げた、左脚による単脚支持期
(2)右足が接地した両脚支持期
(3)左脚を持ち上げた、右脚による単脚支持期
(4)左足が接地した両脚支持期
脚式移動ロボットにおける歩行制御は、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行なうことによって実現される。すなわち、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
歩行動作の軌道修正を始めとして、機体の姿勢安定制御には、一般に、目標ZMPに対する偏差を小さくするための位置、速度、及び加速度が連続となるように、5次多項式を用いた補間計算により行なう。ZMP(Zero Moment Point)を歩行の安定度判別の規範として用いている。ZMPによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形(すなわちZMP安定領域)の辺上あるいはその内側にピッチ軸及びロール軸モーメントがゼロとなるZMPが存在する。
図3には、この脚式移動ロボットが具備する関節自由度構成を模式的に示している。同図に示すように、脚式移動ロボットは、2本の腕部と頭部1を含む上肢と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
頭部を支持する首関節(Neck)は、首関節ヨー軸1と、第1及び第2の首関節ピッチ軸2a,2bと、首関節ロール軸3という3自由度を有している。
また、各腕部は、その自由度として、肩(Shoulder)における肩関節ピッチ軸4と、肩関節ロール軸5と、上腕ヨー軸6、肘(Elbow)における肘関節ピッチ軸7と、手首(Wrist)における手首関節ヨー軸8と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
また、体幹部(Trunk)は、体幹ピッチ軸9と、体幹ロール軸10という2自由度を有する。
また、下肢を構成する各々の脚部は、股関節(Hip)における股関節ヨー軸11と、股関節ピッチ軸12と、股関節ロール軸13と、膝(Knee)における膝関節ピッチ軸14と、足首(Ankle)における足首関節ピッチ軸15と、足首関節ロール軸16と、足部とで構成される。
但し、エンターティンメント向けの脚式移動ロボットが上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
上述したような脚式移動ロボットが持つ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行なうことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
図4には、本実施形態に係るロボット装置における基本的な制御構造を示している。図示の通り、本実施形態に係るロボット装置における制御構造は、ロボット装置全体の動作を制御する統括制御部として機能する中央制御装置10と、統括制御部に対して階層的に接続される局所制御部若しくは中間層制御装置として機能するルータ11と、ロボット装置の各関節部を駆動する駆動部としての複数のアクチュエータ12で構成される。
統括制御部としての中央制御装置10は、ロボット装置に対する主たる制御指令を算出する。主たる制御指令は、例えば、該ロボット装置の歩行や姿勢制御のようなロボットが任意の目的を達成するために行なう動作に関する制御指令である。中央制御装置10は、姿勢センサからのセンサ情報や外部コマンドなどにより発生した姿勢目標、ルータ11を介して送られた現在の姿勢情報などに基づいて、安定制御のため姿勢の演算を行ない、この演算結果に基づいて、アクチュエータのモータ回転角やトルクを指定する制御指令、制御ゲイン指令を発生する。
中央制御装置10からの制御指令は、外部環境に応じて適切な対処を行なう際、局所制御部としてのルータ11で算出される制御指令(後述)に比べて迅速な動作制御が必要とされないので、制御周期8msecで各ルータに送信される。
ロボット装置の姿勢を決定するために必要な物理量としては、モータの回転位置、回転速度及び回転の加速度がある。したがって、中央制御装置10からの姿勢指令とは、従来のモータ軸の回転位置指令だけでなく速度及び加速度も姿勢指令(通信の指令)として扱うことができる。例えば、ロボット装置が人間型ロボットである場合、中央制御装置10で算出された制御指令は、脚部、腕部又は首部などのロボットを構成する各部位毎の動作に関する制御指令であり、動作におけるユニットとされる各部位に対するユニット姿勢制御指令やユニット制御量(制御ゲイン)としてそれぞれ送信される。また、姿勢指令として、例えば、制御対象が手部であるときには、「握る」や「開く」のように状態を指令として与えることも含まれる。
従来のロボット制御構成では、中央制御装置からアクチュエータへ供給される軸回転位置指令は、アクチュエータの回転位置を示す指令のみからなる。これに対し、本実施形態では、中央制御装置10からルータ11へ供給される姿勢指令には、運動を決定するため位置、速度、及びトルクからなる3つの変数が含まれる。姿勢指令には、軸回転位置指令、軸回転速度指令、及び軸回転トルク指令からなる3要素のベクトルが含まれ、これにより完全な姿勢の運動を制御することができる。
一方、局所制御部若しくは中間層制御装置としてのルータ11は、統括制御部である中央制御装置10に対して下位に接続される。ルータ11は、脚部、腕部あるいは首部などの各部位毎に配設され、中央制御装置10から伝達される制御指令13aを受信し、各部位を動作させる駆動部として機能するアクチュエータに対して制御指令13bを送信する。制御指令13bは、例えば、アクチュエータが備えるモータや制御回路に対するモータ軸回転位置指令やモータ制御量(制御ゲイン)である。
また、ルータ11は、中央制御装置10で算出される主たる制御指令13aを受信し、さらに各アクチュエータ12に対する具体的な制御指令13bを送信するだけでなく、ルータ11の下位に接続されたアクチュエータ12におけるモータの駆動状況に応じて、アクチュエータ12を駆動させるための所要の制御指令を算出し、アクチュエータ12に送信する。ここで言う所要の制御指令とは、アクチュエータ12が備えるモータの駆動状況、又はアクチュエータ12により駆動される複数の関節部の変位に関する情報を考慮することにより算出された制御指令である。
アクチュエータ12は、ルータ11の下位に接続されるとともに、ルータ11を介して中央制御装置10から送信される制御指令13bに基づいて、各部位を構成する関節部を駆動する。また、アクチュエータ12は、制御指令13bを受信し、関節部を駆動するモータの駆動を制御するアクチュエータ制御装置15及び該モータの駆動状態を検出するセンサ16を有する。
さらに、センサ16により検出され、アクチュエータ12の駆動状態を示す情報14bは、ルータ11に送信される。ここで言う駆動状態を示す情報14bは、例えば、アクチュエータ12の各種状態を状態変数、アクチュエータ12が備えるモータの軸回転位置、関節部の変位量などを含んでいる。
アクチュエータを構成するモータは、姿勢指令に従って動くためにフィードバック制御される。制御ゲインとは、このフィードバック制御器、例えばPID(比例・積分・微分)制御装置におけるP、I、Dの大きさを示す。この制御ゲインによって、モータは姿勢指令に対して応答する追従性が変化する。例えば、モータは、比例ゲインPを小さくすると姿勢指令に対してゆっくりとした追従遅れをもって動くようになるが、比例ゲインPを大きくするとモータは高速に追従するようになる。このように制御ゲインを変化させることにより、姿勢指令と実際の動きとの誤差の大きさや応答時間を調整することが可能である。
局所制御部若しくは中間層制御装置としてのルータ11は、中央制御装置10からの制御指令13aと、制御対象であるアクチュエータの状態変数に基づいて自身で生成した制御指令とから、軸回転位置指令並びにモータ制御ゲインからなるアクチュエータ指令13bを生成し、下位のアクチュエータ制御装置12に供給する。これにより、各アクチュエータ12の駆動が制御される。また、駆動したアクチュエータの駆動結果、すなわちモータの回転角が各アクチュエータに備えられたポテンショ・センサなどの位置センサにより検出され、各アクチュエータの状態変数や現在軸回転位置を含む応答信号14bとしてルータ11へ戻される。この際、外部からの刺激(外乱力)を検出する各ユニットに設けられた複数の圧力センサなどのセンサ情報も同様に応答信号14bとしてルータ11へ戻される。
ここで、アクチュエータ状態変数は、アクチュエータを構成するモータにおける状態変数のことである。また、状態変数は、モータの現在の回転角度や、回転速度、及び回転トルクの大きさを示す。従来は現回転角度のみを情報として扱っていたが、本実施形態では、現回転角度に加え、運動制御に必要な回転速度、及び回転トルクも通信データとして扱うことができる。こうすることにより、指令13aに従って、厳密にアクチュエータを駆動することができるようになる。
本実施形態に係るロボット装置は、図4に示すような制御構造で2つの制御系統を備えている。このうち統括制御ループ17では、上述の主たる制御指令13aが中央制御装置10からルータ11に受信され、この制御指令13aに基づいてルータ11から各アクチュエータ12に制御指令13bが送信され、アクチュエータ12を駆動するに際して検出された関節部の変位などの情報14bがルータ11に送信され、さらに情報14bに基づいてルータ11から中央制御装置10に情報14aが送信されることにより、関節部の変位に応じて再度中央制御装置10で制御指令13aを算出するという一連の制御動作が行なわれる。
統括制御ループ17において伝達される制御指令は、上述の主たる制御指令13a、13b、並びに主たる制御指令13a、13bに基づいてアクチュエータ12が駆動する関節部の変位などの状態を示す情報14a、14bや、ロボットの歩行や姿勢制御を行なうための制御指令13a、13b、並びに関節部に関する変位などの情報14a、14bが考慮された、中央制御装置10で新たに算出される制御指令である。
したがって、後述する局所制御ループ18において送受信される制御指令に比べ、統括制御ループ17により送受信される制御指令は比較的高速な送受信が必要とされない(若しくは高速な送受信を動作を行なうことが困難である)。すなわち、ロボットの脚部、腕部又は首部などに加わる不測の衝撃のような外力が印加された場合、迅速に各関節部を駆動させることにより外力を排除することが必要とされない動作に関する制御指令である。
一方、局所制御ループ18では、アクチュエータ12に配設されたセンサ16により検出されたアクチュエータ12の駆動状態に関する情報14bをルータ11にフィードバックし、ルータ11はこの情報14bに基づいてアクチュエータ12による駆動に関する制御指令を算出し、該制御指令を再度アクチュエータ12に送信するという一連の制御動作が行なわれる。
ここで、ルータ11は、フィードバックされたアクチュエータの駆動状態に関する情報14bに基づいた制御指令を独自に算出し、中央制御装置10の介在なしにアクチュエータ12に送信する。このとき、アクチュエータ12の駆動状態に関する情報14bは、中央制御装置10に送信されることなく、ルータ11により算出された制御指令がアクチュエータ12に直接送信され、アクチュエータ12により関節部が所要の状態になるように駆動される。
局所制御ループ18では、センサ16により検出されたアクチュエータ12の駆動状態に関する情報14bやこの情報14bに基づいてルータ11によって算出される制御指令が、ルータ11とアクチュエータ12との間でのみ送受信される。したがって、局所制御ループ18は、中央制御装置10が制御指令を算出することなく、ルータ11が情報14bに基づいて独自に制御指令を算出し、アクチュエータ12に送信する。このことから、中央制御装置10を介して各種情報が送受信される統括制御ループ17に比べて、短い制御周期により、制御指令や情報14bを送受信する際の通信時間を低減することが可能となる。
アクチュエータ12からの応答信号14bは、ルータ11経由で8msecの周期で、応答信号14bとして中央制御装置10へ戻される。中央制御装置10は、次の制御指令13aを生成するために必要な最新の状態変数をこの応答信号14aから得ることができる。
一方、ルータ11は、アクチュエータ12から中央制御装置10へ戻される応答信号より短い1msecの周期で応答信号14bが供給され、この応答信号14bに基づいてアクチュエータ12の駆動状況を把握し、アクチュエータへの制御信号を生成する。そして、中央制御装置10から送信される制御指令13aによる制御量と、アクチュエータ12からの応答信号14bに基づいて自身で直接生成した制御信号による制御量の構成比率を調整し、アクチュエータ12を駆動するためのアクチュエータ指令13bを生成する。
すなわち、局所制御部としてのルータ11は、アクチュエータ12から1msecの周期で戻される応答信号14bに基づき自身で生成した応答周期が1msecの制御信号と、8msecの周期で中央制御装置10から供給される制御指令13aとからアクチュエータ制御指令13bを生成する。ここで、中央制御装置10からの制御指令13aが供給されない(又は、応答が間に合わない)間は、ルータ11が応答信号17Dに基づき独自でアクチュエータ12を駆動制御する。また、中央制御装置10からの指令15Dが供給された際は、自身で生成した制御信号とのゲイン・コントロール(又は構成比率のコントロール)を行なうことにより、ユニット駆動装置30を周期1msecで制御する。
本実施形態では、局所制御ループ18による高帯域すなわち高速な応答により、外乱に対する反射的な制御が可能となる。バッテリ駆動装置の消費電力やその他の制約から、上位の中央制御装置10の制御サイクルを高速化することには限界がある。機体に印加される外力は高帯域の外乱入力であり、これに対応するためには極めて高速な制御系が必要となる。このため、中間階層に相当するルータ11が局所制御ループ18を利用して高速なサイクルで動作することで高速に応答し、外乱分による偏差を吸収する。したがって、従来の反射モデルを中央演算部でシミュレートする方式とは相違し、高速な適応を可能とする制御系を構築することができる。
図4に示したように、本実施形態に係る制御系統は、統括制御ループ17と局所制御ループ18に階層化されているが、局所制御ループ18の制御周期が統括制御ループ17の制御周期よりも短く設定することにより、局所制御ループ18において高帯域の外乱に対して高速に応答する適応的な装置動作の制御を実現することができる。このことについて図5並びに図34を参照しながら説明する。
統括制御ループ17並びに局所制御ループ18はそれぞれ固有の制御周期を以って動作している。図34には、制御周期の構成を模式的に示している。図示の通り、1制御周期は、センサ信号の入力など状態取得を行なうフェーズと、取得された状態に応じた制御演算を行なうフェーズと、この演算結果に基づく制御信号を出力する演算値出力フェーズで構成される。但し、図5の通り、局所制御ループ18においてアクチュエータ12との間で送受信を行ない制御指令の送信や駆動状態に関する情報14bの受信が行なわれる第2の制御周期は、統括制御ループ17において制御指令を伝達したり駆動状態を示す情報14a、14bを取得したりするための第1の制御周期よりも短く設定されている。
ここで、ルータ11は、次の第1の制御周期が到来するまでの間は、フィードバックされたアクチュエータの駆動状態に関する情報14bに基づいた制御指令を独自に算出し、アクチュエータ12に送信する。このとき、アクチュエータ12の駆動状態に関する情報14bは、中央制御装置10に送信されることはない。これに代わって、ルータ11により算出された制御指令がアクチュエータ12に送信され、アクチュエータ12により関節部が所要の状態になるように駆動される。このように、中間階層に相当するルータ11が局所制御ループ18を利用して高速なサイクルで動作することで高速に応答し、外乱分による偏差を吸収することができる。
そして、次の第1の制御周期が到来すると、ルータ11は、アクチュエータ12の駆動状態に関する情報14bを中央制御装置10に送信する。これに対し、中央制御装置10では、通知された状態を基に目標値を逐次修正して、新たな制御指令を発行する。
第1の制御周期毎に中央制御装置10から制御指令を受信することから、ルータ11には、アクチュエータ12に対する独自に算出した制御量と、中央制御装置10からの制御量の双方が存在することになるが、これらの構成比率を適宜調整しながら、アクチュエータ12に対する制御量を構成する。
図6には、アクチュエータ12又は関節部において外力を受けるなどの高帯域の外乱が発生したときの、ルータ11における2つの制御量の構成比率を調整する動作チャートを示している。
同図では、横軸は時間軸である。また、縦軸は、ルータ11及び中央制御装置10からアクチュエータ12へ実際に伝達される制御量を示している。そして、時間軸上のゼロ点は、ロボット装置が高帯域の外乱を受けた時点に設定されているものとする。
通常の動作状態では、上位の統括制御部としての中央制御装置10の主導で、所定の行動計画に基づいて随意的な装置駆動が実行されている。
ここで、ロボット装置が高帯域の外乱を受けると、ルータ11が局所制御ループ18を利用して高速なサイクルで動作することで高速に応答し、外乱分による偏差を吸収する。すなわち、局所制御部としてのルータ11による反射的・不随意的な制御指令がルータ11の下位層に接続されているアクチュエータ12を制御範囲する。この結果、高帯域の外乱を受けた直後は、局所制御部としてのルータ11からのアクチュエータ12へ伝達される制御量は極めて高く、逆に、統括制御部としての中央制御装置10からアクチュエータ12へ伝達される制御量はきわめて低くなるように、構成比率が調整される。
その後、ルータ11は、中央制御装置10側の制御周期毎にアクチュエータ12の駆動状態に関する情報14bを中央制御装置10に送信する(図5を参照のこと)。これに対し、中央制御装置10では、ルータ11経由で通知されたアクチュエータ12の状態を基に目標値を逐次修正して、新たな制御指令を発行する。アクチュエータ12は、外乱に対する高速応答時には中央制御装置10からの制御指令とは大きく離れた反射的な動作を行なったが、このようにして、中央制御装置10からの制御指令に従う随意的な動作へと徐々に近づいていく。
そこで、局所制御部としてのルータ11からアクチュエータ12へ伝達される制御量を徐々に低下させていくとともに、統括制御部としての中央制御装置10からアクチュエータ12へ伝達される制御量を徐々に上昇させていくように、時間の経過とともに構成比率が調整される。
そして、所定の整定時間が経過したときには、局所制御部としてのルータ11からアクチュエータ12へ直接伝達される制御量はほぼゼロとなり、アクチュエータ12は統括制御部としての中央制御装置10の制御範囲に置かれ、行動計画に基づく随意的な動作が再開されることになる。
図7には、ロボット装置が高帯域の外乱を受けた以降の、中央制御装置10の目標値に対するアクチュエータ12の現実の出力値(制御量)の時間的変化を示している。
同図に示すように、アクチュエータ12は、外乱に対して高帯域の応答を行った直後には、中央制御装置10からの制御指令とは大きく離れた反射的な動作を行なう、不安定な動作状態である。
その後、中央制御装置10では、ルータ11経由で通知されたアクチュエータ12の状態を基に目標値を逐次修正して、新たな制御指令を発行する。この結果、アクチュエータ12の出力値は、中央制御装置10の目標値へと徐々に近づいていく。そして、所定の整定時間が経過したときには、アクチュエータ12の出力値は、中央制御装置10の目標値とほぼ一致した定常状態を回復する。
ルータ11が高帯域の外乱に対する反射的な応答を行なってから、中央制御装置10がアクチュエータ12の制御権を掌握する通常の状態へ回復するための所要時間、すなわち外乱が発生してから中央制御装置10の制御量の構成比率が100%に回復するまでの処方時間のことを、本明細書中では「整定時間」と呼ぶ。この整定時間は、中央制御装置10において目的とする装置動作に応じて決定することができる。例えば、ロボット装置が図1〜図2に示したような脚式移動ロボットの場合、整定時間は前記可動脚を用いた歩行周期によって定まる。
図35には、統括制御ループ17と局所制御ループ18間における制御量の構成比率の時間的変化の調整方法について図解している。外乱が発生した時点では局所制御ループ18で構成される反射系の制御量の構成比率が100%で統括制御ループ17で構成される上位制御系のそれが0%となり、その後、上位制御系の構成比率が徐々に回復していき、所定の整定時間を以って100%に戻る。このときの構成比率回復曲線はさまざまである。また、整定時間も上位制御系が目標とする装置動作に応じて調整することができる。
このような構成比率の調整操作を行なう構成比率調整部は、本実施形態では反射系制御部としてのルータ11に実装されており(図36を参照のこと)、中央制御部10からの制御指令値とルータ11からの制御指令値の配分を調整して統括制御ループ17又は局所制御ループ18を構成するようになっている。但し、構成比率調整部を上位制御系に実装することも可能である(図37を参照のこと)。この場合、ルータ11で生成された反射系の制御指令値は一旦上位制御系へ取り込まれ、中央制御装置10からは、構成比率調整部において決定された構成比率からなる制御量が出力されることになる。あるいは、反射系、上位制御系いずれのハードウェア・モジュールとも独立して構成比率調整部を配設することも可能である(図38を参照のこと)。この場合、構成比率調整部は、反射系制御部としてのルータ11並びに中央制御部10からそれぞれ制御指令値を入力し、これらの配分を調整して統括制御ループ17又は局所制御ループ18を構成する。
図8には、中央制御装置10からの制御指令を主導とする統括制御ループにおける制御フローと、ルータ11からの制御指令を主導とする局所制御ループにおける制御フローを示している。
図8(a)は、統括制御ループにおける制御フローを示し、また、同図(b)は局所制御ループにおける制御フローを示している。ここでは、一例として、ロボットの姿勢制御を行なうに際し、ロボットを構成する部位に不測の衝撃が加わった場合に実行される各種制御について説明する。但し、ロボットの姿勢制御を不安定にさせる外部環境の変化は、不測の衝撃に限定されるものではなく、ロボットが歩行する際に路面や進路上の障害物により所定の動作が妨げられる場合にロボットに加わる外力、あるいは前進の各部位に配設された温度センサによって検出される過度の温度上昇などであることもある。
統括制御ループ17では、ロボット1が起動した後、中央制御装置10は、任意の目的に基づいてロボット1の姿勢制御に関する制御指令13aを算出し、ルータ11に送信する(ステップS21)。
ルータ11は、制御指令13aに基づいて、各アクチュエータ12に応じた具体的な制御指令13bをアクチュエータ12に送信する(ステップS22)。該制御指令13bに基づいてアクチュエータ12が駆動されることにより、各関節部が駆動され、ロボットに対する姿勢制御が行なわれる。
また、アクチュエータ12が駆動するに際して、該アクチュエータ12の変位がアクチュエータ12の状態を示す状態変数としてセンサ16により検出される(ステップS23)。アクチュエータの状態を関する情報14bは、ルータ11を介して中央制御装置10に送信され、ロボットの動作はフィードバック制御される(ステップS24)。
一方、局所制御ループ18では、アクチュエータ12や関節部に加わる外力に起因するアクチュエータの変位をセンサ16が検出すると、ルータ11にフィードバックする(ステップS31)。
ルータ11は、フィードバックされた情報に基づいて、独自に所要の制御指令を算出し、アクチュエータ12に送信する(ステップS32)。ここで、所要の制御指令は、外力を減衰させるように各関節部が駆動させる制御指令を含む。
アクチュエータ12は、ルータ11から送信された所要の制御指令に基づいてアクチュエータ12により関節部を駆動させ、衝撃を減衰させる(ステップS33)。
ロボット装置の動作が開始すると、まず、中央制御装置10において目標となる姿勢指令が発生され、この制御指令(値)が8msecの制御周期で局所制御部若しくは中間層制御装置としての各ルータ11に送られる。そして、ルータ11では、姿勢指令に基づいてアクチュエータ12を制御する制御信号が演算され、これにより、アクチュエータ12を制御する。そして、駆動されたアクチュエータ12の回転位置などを示すアクチュエータ状態変数が検出され、ルータ11に供給される。反射系の動作は、アクチュエータ12からの応答信号であるアクチュエータ状態変数に基づいてアクチュエータを制御する最適な制御信号が制御周期1msecで生成され、上記の処理が繰り返されることにより行なわれる。
また、アクチュエータ状態変数やその他のセンサ出力値は、中央制御装置10に戻される。そして、中央制御装置10においても、これらのセンサ情報などに基づいて再び制御指令が生成され、ルータ11へ供給される。上述したように、中央制御装置10からの制御指令が8msecの周期であるのに対し、ルータ11がアクチュエータからの応答信号により直接的に生成するアクチュエータ制御信号はその周期が1msecと短い。
ルータ11で算出された所要の制御指令によって衝撃が十分に減衰されない場合には、再度アクチュエータ12の状態に関する情報14bを検出し、この情報14bに基づいて算出された所要の制御指令に基づいてアクチュエータ12を駆動させることにより各関節部を駆動させる。そして、衝撃が減衰するまで、このような局所制御ループ18を介したアクチュエータ12の制御を継続して行なうようにする。
また、ルータ11は、統括制御ループ17においてはアクチュエータ12の駆動に関する制御指令を独自に算出しないが、局所制御ループ18においてはアクチュエータの変位などの状態変数に基づいて独自に制御指令を算出し、衝撃などの外力を減衰させるようにアクチュエータ12を迅速に駆動させることができる。
すなわち、ルータ11は、中央制御装置10により制御指令を算出する統括制御ループ17では、中央制御装置10とアクチュエータ12との間で制御指令を受け渡す(中継する)役割を果たす一方、局所制御ループ18では、外力などの外部環境の変化によるアクチュエータ12や関節部の変位などの状態に基づいて、これらアクチュエータ12を駆動させる制御指令を算出し、迅速に複数の関節部を連動させることができる。
このように、本実施形態では、中央制御装置10の下位に少数のアクチュエータを独自に制御可能な複数のルータ11を局所制御部若しくは中間層制御装置として配設し、その制御周期を短くすることにより、ロボット装置は、人間の反射運動に相当するようなよりすばやい運動を実現することが可能となる。例えば、衝撃のように瞬時に対応が必要となる動作に対しても、迅速に関節部を駆動することにより衝撃を減衰させ、ロボットの破損の回避や姿勢制御の安定性の確保を図ることができる。
また、ルータ11が制御指令を算出することにより、中央制御装置10にかかる負荷を低減することが可能となり、ロボットに対する動作制御性を低下させることなく、中央制御装置に備えられる処理回路を小型化にすることもできる。
次に、上述したような2つの制御系統を有するロボット装置の構造について説明する。図9には、本発明に係るロボット装置の一例として、人間型ロボット(図1〜図2を参照のこと)における制御構成を模式的に示している。
同図に示すように、人間型ロボット30の体幹部31には、人間型ロボット30の動作を統括的に制御する統括制御部としての中央制御装置32が配設されている。また、人間型ロボット30を構成する腕部33、34及び脚部35、36に対しての局所制御部としてのルータ37、38、39及び40がそれぞれ配設されている。
ルータ37、38、39及び40には、それぞれが制御範囲内にある複数のアクチュエータがデイジーチェーン接続され、腕部33、34及び脚部35、36毎に一系統の伝送路を構成している。例えば、腕部33に対しては、4つのアクチュエータ33a〜33dがデイジーチェーン接続され、同様に、腕部34に対しても4つのアクチュエータ34a〜34dがデイジーチェーン接続されている。
本実施形態では、腕部33及び34に対してそれぞれ4つのアクチュエータがデイジーチェーン接続されるとともに、脚部35及び36に対しては、それぞれ6つのアクチュエータがデイジーチェーン接続されている。但し、ルータにデイジーチェーン接続されるアクチュエータ数は、腕部及び脚部のそれぞれを構成する関節部の数に合わせて接続すれば良く、また、図示する関節部の数と同数であることに限定されない。
図9に示す例では、腕部33、34及び脚部35、36毎にそれぞれルータ37〜40がそれぞれ配設されているが、ルータは腕部及び脚部に対応して接続するに限定されず、人間型ロボット30を構成する任意の構成単位毎に配設しても良い。したがって、肘関節部又は肩関節部、或いは股関節部及び膝関節部毎にルータを配設しても良く、所望の構成部位毎に配設することが可能である。
各ルータ37〜40は、信号伝送ケーブルを介して中央制御装置31とそれぞれ個別に接続され、中央制御装置31から各ルータ37〜40に対して最も下位に接続されたアクチュエータ33d、34d、35f及び36fに至る一系統の伝送路をそれぞれ構成している。したがって、図31に示した従来のロボット装置の制御構成と比較して、中央制御装置とアクチュエータとを接続する信号伝送ケーブルの数を低減することが可能となる。
なお、図9に示した例では、腕部33、34及び脚部35、36に比べて関節部が少ない体幹部41及び首部42では、アクチュエータ41a、41b、42a、及び42bが中央制御装置31とルータを介することなく接続されているが、ルータを介して接続されていても良い。
本実施形態に係る人間型ロボット装置30では、アクチュエータ33a、33b、…、42b毎にそれぞれの関節角度やその他の状態を検出するセンサ(図示しない)が配設され、中央制御装置31と、各ルータ37〜40と、ルータ毎にデイジーチェーン接続されたアクチュエータ33a,33b,…,42bにより統括制御ループが構成されている。すなわち、中央制御装置31に送信され、ロボット装置に関して任意の目的に応じた動作を行なうための主たる制御指令が中央制御装置31により算出される。
また、本実施形態に係るロボット装置30では、ルータ37〜40とこれらルータにデイジーチェーン接続されたアクチュエータ33a、33b、…、42bとにより局所制御ループが構成されている。ロボット装置に関する動作を行なう際、中央制御装置31により算出される制御指令に基づいて各関節部を駆動させるための統括制御ループと、不測の衝撃や障害物を瞬時に回避するに際して各関節部を比較的迅速に駆動制御するための局所制御ループとにより、通常時の動作制御と不測の状況における動作制御とを中央制御装置31に大きな負荷をかけることなく行なうことができる。さらに、各装置を接続する信号伝送ケーブルの総本数や長さを低減することができることにより、ロボット装置を小型化することもできる。
図10には、図9に示したロボット装置を構成する各装置間の接続状態を模式的に示している。
ロボット装置30内では、中央制御装置31は、腕部33、34、脚部35、36及びその他の部位(体幹部41、首部42)毎に配設されたルータ37〜40が汎用バス又はシリアル通信により接続されており、データのやりとりを行なうことができる。また、各ルータに対してはアクチュエータがデイジーチェーン接続されてなる信号伝送経路により制御される。なお、腕部33、34及び脚部35、36は図中で左右を区別して示している。
デイジーチェーン接続されるアクチュエータの接続数は任意であるが、各装置の接続状態について、右腕部を例に挙げて説明する。図10では、腕部33には4つのアクチュエータが各ルータ37に対して接続された状態を示しており、各アクチュエータを第1乃至第4のアクチュエータ33a〜33dと称することとする。また、ルータ37と中央制御装置31とは、汎用バス(又はシリアル通信)43を介して接続されている。ルータ37は、中央制御装置31によって生成されたロボット装置30の動作に関する主たる制御指令を汎用バス43経由で取得するとともに、主たる制御指令を伝送路44に送信した結果や各アクチュエータ33a〜33dから取得した各アクチュエータの駆動状態に関する情報などを汎用バス43経由で中央制御装置31に対して受け渡すようになっている。
本実施形態に係るロボット制御構成は階層構造をなしており、ルータ37〜40は、中央制御装置31に対して下層となる中間層制御装置として位置付けられる。中央制御装置31はロボット装置全体の動作を制御する。これに対し、各中間層制御装置は少数のアクチュエータからなるロボット装置の一部分(以下、「ユニット」とも呼ぶ)の動作制御をそれぞれ行なうものであり、主にその反射動作を制御する。図1〜図3に示すような脚式移動ロボット装置の場合には、中間層制御装置として、例えば右足部反射系制御装置、左足部反射系制御装置、右手部反射系制御装置、左手部反射系制御装置といった具合に、複数の中間制御装置が分散して配置される(図9を参照のこと)。
右足部反射系制御装置は、外部からの刺激を検出する検出手段である右足部に設けられた圧力センサなどの複数のセンサSからのセンサ信号、並びに中央制御装置31からの制御信号を処理して、右足部に配置される各アクチュエータに対して駆動制御信号を供給する。同様に、左足部反射系制御装置は、左足部に設けられる各アクチュエータを駆動する駆動信号を出力し、右手部反射系制御装置及び左手部反射系制御装置はそれぞれ右手部及び左手部に設けられる複数のアクチュエータを駆動する駆動信号を出力する。
ロボット装置の全身運動は、まず中央制御装置31において足部運動、ZMP軌道、体幹運動、上肢運動、腰部高さなどを設定し、次いで、これらの設定内容に従った動作を指示する制御信号を各ユニットに対応して設けられた中間層制御装置に転送し、これらの制御信号に基づき各々の中間層制御装置から制御対象の各アクチュエータを駆動する制御信号が出力されることにより行なわれる。ここで、本実施形態では、各中間層制御装置には、外部からの刺激に対して反射動作を行なうため、各ユニットに設けられた圧力センサなどからのセンサ信号が供給され、これらのセンサ信号に基づき各アクチュエータを個別に制御する制御信号も生成する。すなわち、中間層制御装置は、中央制御装置31から転送される制御信号と、自身で生成した制御信号との構成比率の調整を行ない、調整後の制御信号を出力するようになっている(前述並びに図6を参照のこと)。
この際、中央制御装置31は、ロボット装置の全体の動作を制御するためにすべてのアクチュエータの制御信号を生成するので演算量が多い。例えば、中央制御装置31から送信される制御信号の周期(制御周期)が8msecである。これに対し、各中間層制御装置では、例えば右足のみ、左足のみといった部分的な反射動作行なうための制御信号を算出する場合は演算量が少ないので、制御周期は例えば1msecと短い周期である。各中間層制御装置は、中央制御装置31からの制御信号とは別に、このように短い制御周期で反射動作を行なう制御信号を生成し、これら2つの制御信号の調整を行なうことにより、ロボット装置は歩いたり止まったりといった通常の動作を行なうとともに、反射動作を実現することができる。また、各中間層制御装置に供給されるセンサ信号は、その上層の中間層制御装置や中央制御装置31にも供給される。
また、図示しないが、ネスティングによりさらに複数の中間層制御装置が下層に向かって連結されている階層構造を構成していてもよい。この場合、複数の各中間層制御装置は、例えば頭部ユニット、腕部ユニット、又は脚部ユニットなどの各ユニットの一部又は全部に対し、外部からの刺激に対する反射的な動作を個別に制御する。すなわち、中央制御装置31が、すべてのアクチュエータの駆動制御を行なう一方で、それぞれの中間層制御装置は、中央制御装置31より短い制御周期(応答周期)で制御範囲内にあるアクチュエータの制御を行なうようになっている。ここで、中間層制御装置は、例えば、制御対象であるアクチュエータに具備される位置センサ(ポテンショメータ)からのセンサ信号に基づいて外部からの刺激に対する反射動作などを行なうための駆動制御を行なうが、この際、中央制御装置31からの制御との調整を行なう調整手段(前述並びに図6を参照のこと)を備えている。
図3に示すような多軸構成のロボット装置を制御する場合、腕、足、首などのように外部環境と頻繁に接触する部位は、歩行時の路面と足部が接触するときの衝突問題、又は転倒や衝突といったような衝撃的な外力が加わることが想定される。こうした場合、従来のロボット装置では、すべての制御対象の制御周期を高速化することにより対応する他ないが、制御する軸数が多くなると通信処理及び制御演算時間に限界が生じる。これに対し、本実施形態では、部位毎に反射系運動を制御する中間層制御装置を設け、少ない軸制御を行なうことで、より高速な応答を実現することができる。
各中間層制御装置は、反射系の動作を制御するため高速処理を行なう一方、中央制御装置31はロボット装置全体の姿勢の制御処理を行なうことにより、システムを外部環境の変化に適応して安定に制御することができる。例えば、脚部ユニットの一部分である足部の4軸の外力による反射運動制御を専用に制御する中間層制御装置を中央制御装置31の下位層に設けることで、より少ない軸数による高速な応答を実現して、不確定な凹凸路面に対し、リアルタイムに対応することができる。
図11には、伝送ケーブル44の具体的な構成例を示している。図示の通り、伝送ケーブル44は、ルータ37及び各アクチュエータ33aの動作電圧が供給される第1の電源線(Vcc)と、アースとして設けられた第2の電源線(GND)と、ルータ37から送信された制御指令の往路となる第1の信号線(RXD(TXD))と、アクチュエータの駆動状態に関する情報をルータ31に戻すための復路となる第2の信号線(DATA)と、クロック信号が供給される第3の信号線(CLOCK)とを有している。すなわち、伝送ケーブル44は、2本の電源線と3本の信号線とからなる計5本の線を有している。
図11に示すように構成された伝送ケーブル44は、ルータ37及び各アクチュエータ33a〜33d同士の間にそれぞれ配されており、それぞれルータ37及び各アクチュエータ33a〜33dに備えられたコネクタに接続されている。ルータ37及び各アクチュエータ33a〜33dは、伝送ケーブル44によって互いに接続される。すなわち、ロボット装置30においては、伝送ケーブル44がルータ37及び各アクチュエータ33a〜33d間を接続する伝送路としての機能を果たしている。
なお、図10に示したように、ルータ37から最も下位に接続された末端のアクチュエータ、すなわち第4のアクチュエータ33dでは、第1の信号線(TXD)と第2の信号線(DATA)がショートされる。これにより、ルータ37から第1の信号線(RXD(TXD))を介して伝送されたデータは、末端に位置する第4のアクチュエータ33dで第2の信号線(DATA)を介してルータ37に戻ることとなる。但し、ルータ37が各アクチュエータ33a〜33dからの戻りデータを受信する必要がない場合には、第1の信号線(TXD)と第2の信号線(DATA)をショートする必要がなく、また、第2の信号線(DATA)も不要である。
図12には、ルータ37及び各アクチュエータ33a〜33dの具体的な構成例を示している。同図に示す例では、本実施形態に係るロボット装置の関節部を駆動するためのモータと、このモータにより駆動される関節部の状態を検出するセンサが各アクチュエータ33a〜33dに備えられており、これらのモータを制御するデータやセンサによって得られたデータを伝送する場合について図示している。但し、伝送ケーブル44に備えられる信号線のみ示しており、電源線については図示を省略している。
ルータ37は、伝送ケーブル44を介してデータを送受信するSIO(Serial Input Output)回路50と、このSIO回路50の動作を制御するCPU51を備えている。また、ルータ37は、中央制御装置31との間で汎用バス43を介して制御指令又はアクチュエータの駆動状態に関する情報を授受する回路(図示しない)を備えている。
SIO回路50は、中央制御装置31から取得した送信対象とするデータから所定のデータ長からなるパケットを生成する。そして、このパケットを伝送ケーブル44の第1の信号線(TXD)を介して下位に接続されたアクチュエータ(第1のアクチュエータ33a)に送信するとともに、伝送ケーブル44の末端に接続されたアクチュエータ(第4のアクチュエータ33d)から第2の信号線(DATA)を介して戻されたデータを受信する。また、SIO回路50は、各アクチュエータ33a〜33dでパケットを送信するタイミングを示すクロック信号を生成し、このクロック信号を第3の信号線(CLOCK)を介して下位に接続されたアクチュエータに供給する。
各アクチュエータ33a〜33dは、伝送ケーブル44を介してデータを送受信するSIO回路52と、アクチュエータ内部で各部の動作を制御するCPU53と、ロボットの関節部を駆動するためのモータ55と、モータ55の駆動を制御するモータ・ドライバ54と、関節部の曲げ角度や加速度又はモータ55の回転角度などに関する状態を検出するセンサ56と、センサ56のアナログ出力をデジタル変換するA/Dコンバータ57を備えている。
SIO回路52は、伝送ケーブル44の第1の信号線(RXD)を介して、デーが格納されたパケットを上位に接続された装置から受信するとともに、第3の信号線(CLOCK)により供給されるクロック信号に基づいた所定の送信タイミングで、このパケットを第1の信号線(TXD)を介して下位の装置に送信する。また、SIO回路52は、受信したパケットが自己に宛てたものである場合には、このパケットに含まれるデータをCPU53に受け渡す機能を有している。なお、SIO回路52は、受信したパケットが自己に宛てたものであるか否かに関わらず、受信したパケットの全てを下位の装置に対して送信する。
CPU53は、SIO回路52、モータ・ドライバ54、及びA/Dコンバータ57に接続されており、各部の動作を制御する。各アクチュエータ33a〜33dにおいては、SIO回路52によって自己宛てのデータが取得されると、このデータがCPU53に受け渡され、このデータによって要求された処理内容に応じた演算処理や各部の動作を制御する処理をCPU53によって行なう。
例えば、要求された処理内容がモータ55の所定角度の回転駆動であれば、CPU53がモータ・ドライバ54に対して所定の制御指令を発することにより、モータ55が回転駆動される。また、センサ56によって検出された情報は、A/Dコンバータ57によってデジタル・データに変換された後、CPU53を介してSIO回路52に転送される。SIO回路52では、さらにパケット化されて、所定のタイミングで下位の装置に伝達される。
なお、図12には、各アクチュエータ33a〜33dのセンサ56及びA/Dコンバータ57がそれぞれ配設されている例を示しているが、これらをすべてのアクチュエータ33a〜33dに配設する必要はなく、例えば一部のアクチュエータにのみ配設されていてもよい。また、各アクチュエータ33a〜33dは、モータ55及びモータ・ドライバ54とセンサ56及びA/Dコンバータ57とのうち、いずれか一組だけを備えて構成されていてもよい。また、各アクチュエータ33a〜33dと同様に、モータ55及びモータ・ドライバ54や、センサ56及びA/Dコンバータ57をルータ37にも配設し、このルータ37自身がロボットの関節部を駆動する機能を装備するようにしてもよい。
また、中央制御装置10やルータ11から送信される制御命令を含むパケットを、各アクチュエータ毎の制御指令からなるパケット群とし、パケット群(1フレーム)に含まれるデータ・パケットを、ルータ37にデイジーチェーン接続されるアクチュエータ33a〜33dの数と同じ数だけ用意するようにしてもよい。
この場合、各アクチュエータ33a〜33dに対して送信対象とするデータを、各アクチュエータ33a〜33dではほぼ同時刻に取得することができる。したがって、例えばロボットの伝送系に適用した場合に、このロボットの動作を全体として滑らかに制御することが可能となる。さらに、ルータ37及び各アクチュエータ33a〜33dの間では、いずれの箇所でも1本の伝送ケーブル44のみを配することで十分であることから、ロボットの関節部における配線設計が容易となる。
図13には、アクチュエータにおけるサーボ構成を示している。図示のサーボ構成では、関節部に加わる外力に応じて該関節部の変位やアクチュエータが有するモータの駆動状態を上位のルータ11にフィードバックし、外力に応じて迅速に関節部を連動させることができる。
但し、同図に示す例では、ロボットの関節部を駆動するアクチュエータとしてのモータと、このモータの回転変位を検出するセンサと、ロボットに設けられた複数の関節部を統括制御する中央制御装置70からの制御指令に応じてモータの駆動を制御する制御回路とによって制御系が構成されている場合を想定している。この制御回路で実現される制御内容の原理について以下に説明する。
中央制御装置70は、アクチュエータJnを駆動するための制御指令Umをルータ71に送信する。制御指令Umは、例えばアクチュエータJnが備えるモータに対してのトルク指令Tnや、速度指令Vn、角度指令θnなどが含まれており、反射系制御装置としてのルータ71を介してアクチュエータJnに送信される。
制御回路72では、制御指令Umを、アクチュエータJnが駆動されることによって得られるモータのトルク、速度、関節部の変位に関する情報と比較し、所要のトルク、速度、関節部の変位が得られるようにフィードバックした状態でアクチュエータJnにより関節部を駆動する。また、外力Fdnが関節部に加わった場合には、外力Fdnに関する情報を制御回路にフィードバックしながら関節部を駆動することができる。したがって、外力Fdnに対して、アクチュエータJnを制御し関節部を迅速に駆動させる際に、ルータ71とアクチュエータJnとの間で制御指令及びFdnによるモータのトルク、速度及び関節部の変位に関する情報を送受信しながら、駆動制御することもできる。
なお、制御指令Umは、トルク指令Tn、速度指令Vnを必ずしも含んでいる必要はなく、アクチュエータJnの駆動制御を行なうための所要の指令が含まれていれば良い。
次に、本実施形態に係るロボット装置における関節部の駆動状態について、従来のロボット装置における関節部の駆動状態と比較しながら説明する。
図14には、従来のロボット装置における関節部の駆動状態を示している。同図(a)に示すように、従来のロボット装置では、例えばロボット装置の体幹部の如き本体J0に対して接続された関節部J1及びJ2から伸びる支持部L2の先端部に外力Fdが加わった場合、これら関節部J1及びJ2を駆動するアクチュエータに対して外力Fdを緩和するための制御指令が迅速に伝達されず、外力Fdがそのまま本体J0に加わることになり、ロボット装置本体の姿勢制御を迅速に確保することが困難である。
例えば、同図(b)に示すように、外力Fdに起因し、関節部J1及びJ2のそれぞれに負荷トルクFθ1及びFθ2が負荷され、各関節部J1及びJ2を駆動するモータにそれぞれに対して、関節部J1及びJ2は、外力Fdが考慮されない制御指令に基づいて変位量θ1及びθ2だけそれぞれ負荷トルクFθ1及びFθ2が伝達される。このとき、変位量θ1及びθ2だけ関節部J1及びJ2を駆動させるためのモータ電流Iθ1及びIθ2が、関節部J1及びJ2を駆動するアクチュエータに供給され、反作用トルクTθ1及びTθ2により関節部J1及びJ2の位置が保持されることにより、姿勢制御が行なわれる。
これら関節部J1及びJ2を制御するために、下記の式(1)及び式(2)に基づく情報がフィードバック制御において参照される。ここで、Umは指令信号、Xnは関節部やモータの状態を示す状態変数、Dnは外力により生じる外力トルク、Ynはフィードバック制御における出力である(但し、A、B、Cは定数)。
しかしながら、従来のロボット装置では、Fθ1及びFθ2に関する情報に基づいて新たな制御指令が迅速にアクチュエータに伝達されないことにより、不測の衝撃のような外力Fdが加わった場合でも外力Fdが本体J0に伝達されるため、ロボット装置全体としての姿勢制御の安定性を確保することが難しい。
一方、図15には、本実施形態に係るロボット装置における関節部の駆動状態を示している。同図(a)及び同図(b)に示すように、外力Fdを緩和するように関節部J1及びJ2の各変位量θ1f及びθ2fにより外力Fdを緩和するように、これら関節部J1及びJ2の駆動を制御するようになっている。
本実施形態では、関節部J1,J2の変位量を制御するに際してコンプライアンス制御が行なわれる。コンプライアンス制御とは、関節部やモータの実際の変位量などからなる状態と、あらかじめ送信された制御指令に基づいて関節部やモータを駆動した場合を推定したときの変位量などからなる状態変数と、実際の変位量との差に応じた調整成分を、外力などの外部環境の変化に応じてルータで算出される制御指令に重畳して駆動状態を調整することによって、外力Fdが本体J0に伝達されないようにこれら関節部を駆動するモータを制御する制御方法である。
このコンプライアンス制御によれば、関節部J1及びJ2を駆動するモータがコンプライアンス制御されると、関節部J1及びJ2は、図14(a)に示す変位量θ1及びθ2から、図15(a)に示す変位量θ1f及びθ2fへと変位量が変化する。
このとき、アクチュエータが有するセンサにより検出された外力Fdに基づいて関節部J1及びJ2を駆動するモータに供給されるモータ電流Iθ1及びIθ2がゼロになるように新たな制御指令Unが直近上位のルータ11により算出され、モータが制御される。そして、関節部J1及びJ2に印加される負荷トルクFθ1及びFθ2の大きさに応じて、関節部J1及びJ2の各変位が変位量θ1f及びθ2fになるようにモータが制御される。このようにして外力Fdによる反作用を減衰し、ロボット装置の本体J0に対する作用力Fddをゼロとすることができる。
また、関節部J1及びJ2をコンプライアンス制御する際、各関節部の駆動状態を示す以下の状態方程式(3)〜式(7)に基づいて制御指令Umと外力Fdによるロボット装置本体への作用力を減衰させ、ロボット装置の姿勢制御の安定性を確保することが可能となる。ここで、Dnは外力による外力トルクを示し、具体的には、Dn=(Fθ1f,Fθ2f)で表される。また、Udnは、外力トルクDnを補正する指令信号であり、Xmはコンプライアンス制御における内部モデルにより算出される状態変数、Ymは内部モデルによる出力である。また、Eは定数である。
図16には、本発明に係るロボット装置に好適に適用されるアクチュエータの内部構成例を示している。
図示のアクチュエータは、モータ101と、アクチュエータ制御器102と、ロータ・センサ・マグネット103と、ロータ位置センサ04と、減速器105と、位置センサ・マグネット106と、位置センサ107を備えている。
モータ101の駆動状態は、ロータ位置センサ104や位置センサ107により検出され、アクチュエータ制御器102にフィードバックされることにより、モータ101が駆動制御される。
モータ101の駆動は、アクチュエータ100に接続されたルータ11や中央制御装置10により制御される以外に、アクチュエータ制御器102により制御するようにしてもよい。後者の場合、不測の外力がモータに加わった場合でも、この外力がロボット装置の本体に加わらないように迅速にモータ101を制御することができる。
このように本実施形態によれば、不測の外力がロボット装置を構成する腕部や脚部などに加わった場合であっても、ロボット装置の動作を統括的に制御する統括制御部によって腕部や脚部を構成する各関節部を駆動制御することなく、統括制御部の下位に接続されたルータなどの局所制御部により各関節部を駆動させるアクチュエータを制御することができる。この結果、外力に起因してロボット装置の姿勢制御が不安定になることを回避することができる。
局所制御部若しくは中間層制御装置として動作するルータ11が、ロボット装置の足部を制御する場合の実施例について、以下に説明する。
図17には、ロボット装置の足部の自由度構成を模式的に示している。また、図18には、ロボット装置の足部足底の構成を示している。すなわち、図18(B)には足底を地面側から見た上面図を、図18(A)及び図18(C)には図18(B)のB−B及びC−C線における断面構成をそれぞれ示している。また、図19には、足部が凹凸路面に接触する様子を示している。
図17、図18(A)〜図18(C)に示すように、足部7は、4つの軸からなる4自由度の構成を有し、足底8は2自由度を有している。すなわち、足底8は、足底踵部8a、足指部8b、及び足指部8cの3つの部分で構成され、足底踵部8aと足指部8b及び8cとがそれぞれ第1指関節ロール軸を駆動する駆動手段であるモータM15と第2指関節ロール軸を駆動する駆動手段であるモータM16により回転可能に連結されている。
足底踵部8aは、上面視で略矩形で、その4隅近傍の地面と接する側には路面との接地圧力を検出する圧力センサS1〜S4が配設されている。また、足指部8b及び8cの地面と接する側にもそれぞれ圧力センサS5及びS6が配設されている。これら6つの圧力センサにより、2足歩行を行なうロボット装置が凹凸のある路面(すなわち不整地)を歩行する際、路面からの反力を検出することができる。また、足底8の路面に接する側の一部又は全面には、凸凹を有する不整地路面上においても安定し易いように、ゴムなどの柔軟物9が貼設されている。
そして、図19(A)に示すように、凸凹路面130上に足部7の足底8が接地する瞬間に、足底8に設けられた柔軟物を介して各圧力センサS1〜S6からのセンサ値が等しく、すなわち、各圧力センサS1〜S6が路面に均等に接触するように、足部が持つ4自由度のモータ及びモータの回転角を検出する位置センサを有するアクチュエータが中間層制御装置により駆動される。この中間制御装置が短い制御周期でアクチュエータを駆動制御して、凹凸路面に足底が倣い変化するようにすることにより、足底の摩擦が路面に適切になるよう接地させ、姿勢安定領域ZMPを広くして、ロボット装置が安定した姿勢をとることができる。
一方、図19(B)に示すように、従来のロボット装置の足底にはモータM15やM16が設けられていない。このため、凸凹路面130の形状に合わせて足底の形を変えることができないことから、凸凹路面では姿勢安定領域ZMPが狭くなり、ロボット装置の姿勢が安定しづらい。
このような4自由度構成の足部のシステムにおいて、足底に設けた圧力センサからのセンサ信号に基づいて、中間層制御装置としてのルータが各アクチュエータを駆動する駆動信号を生成し、反射運動させることにより、路面に足底が倣うように制御される。この反射運動の応答周波数は、中央制御装置10あるいは上位の中間層制御装置である上位システムの応答周波数に比べ2倍以上早い応答周波数特性を有するシステムになるよう設計される。
以下では、この反射運動を制御する制御システムについて説明する。図20には、図17に示した足部に関する反射運動制御システムの機能構成を模式的に示している。
足部の反射運動制御システムは、姿勢指令を出力する中央制御装置10と、この姿勢指令と、足底のセンサからの情報とを調整して、各モータを制御する制御指令を出力するルータで構成される中間層制御装置20と、この制御指令に基づき各モータの駆動信号を出力する例えばPID(比例・積分・微分)制御装置などの制御器311〜314と、各制御器311〜314により駆動制御されるモータM1、M2、M15及びM16と、これらのモータM1、M2、M15及びM16により路面に倣うように位置制御される足底平面を構成する足底踵部及び足底指部と、この足底に設けられた6つの圧力センサS1〜S6とで構成される。これら6つの圧力センサからのセンサ信号PS1〜PS6は、中間層制御装置20経由で中央制御装置10に供給される。
センサS1〜S6が路面に均等に接触するよう、各モータM1、M2、M15、M16が駆動され、これにより路面に足底が接触する面が拡大してZMPの領域が広くなり、歩行姿勢が安定化される。
中間層制御装置20は、上位の中間層制御装置(図示の例では中央制御装置10)から足部の位置指令を受信するとともに、圧力センサS1〜S6からの信号PS1〜PS6が供給される。このとき、圧力センサS1〜S6からの信号の有無に応じて以下の状態に遷移し、各モータM1、M2、M15、M16を制御する。
中間層制御装置20は、圧力センサからの信号がない場合には、例えば中央制御装置10などの上位からの指令に従って各軸のサーボ・モータM1、M2、M15、M16に位置の制御指令を送信する。
一方、圧力センサからの信号がある場合、すべてのセンサ信号の圧力値から平均値Paveを算出し、この平均圧力値Paveと比較して大きな圧力を受けたセンサ部の圧力が減少する方向に各モータM1、M2、M15、M16に対してそれぞれの回転指令を与える。これを繰り返し、すべてのセンサの圧力が平均値に均等に収束するようモータが制御されると、足底は凹凸路面に均一に接する状態へと徐々に移行する。
このように圧力センサからの信号がある場合は、上位からの指令と異なる動きを中間層制御装置20により実行されることになる。このため、上位との指令のズレを修正し、上位の指令との調整機構を動作させて、やがてシステム全体の歩容を満足するような制御指令を発生する。
このような対地適応の自由度を有する足部において、例えば足首にピッチ軸とロール軸を備え、さらに、足底に2つの平面の自由度を設けた4自由度の足部とし、足底に圧力センサを6箇所に設けた構造を採用する。このような構造を利用して、路面に接触したときの衝撃が最小になるよう4自由度のアクチュエータがアクティブに路面に倣う制御を行なう反射運動により、ロボット装置が安定に歩行することができる。凹凸路面に足底が倣う反射運動の制御手段として中間層制御装置を付加することにより、振動を抑えて安定に路面を歩行するようになる。
図21には、足部に供えられる4つのモータに対応する中間層制御装置及びモータ制御器を示している。同図に示すように、足部の反射動作を制御する中間層制御装置20は、図17に示す足部に設けられる4つのモータM1、M2、M16及びM15を個別に制御するため、上位の中間層制御装置又は中央制御装置10からそれぞれ姿勢指令値POSi(POS1〜POS4)が供給され、それぞれ制御指令値θref1〜θref4を出力する。
ここで、この中央制御装置10は、4つのモータを個別に制御するため、モータM1、M2、M16及びM15に対応する4つの調整機構部41〜44を備えており、これらに足底の圧力センサ信号PS1〜PS6が供給される。この調整機構部41〜44は、それぞれ供給される姿勢指令値POS1〜POS4による制御と、圧力センサ信号PS1〜PS6による制御との制御ゲインを調整する調整手段である。
中間層制御装置20は、各モータM1、M2、M16及びM15に対応してそれぞれ設けられる調整機構部41〜44と、調整機構部41〜44からのゲイン制御信号Kadji(Kadj1〜Kadj4)により姿勢指令POSiのゲイン・コントロールを行なう調整器51a〜54aと、圧力センサ信号PS1〜PS6に基づく指令値Pi(P1〜P4)をゲイン制御信号Kadji(Kadji〜Kadj4)によりゲイン・コントロールを行なう調整器51b〜54bと、2つの調整器51a〜54a並びに51b〜54bからの出力を加算する各加算器61〜64とで構成される。
本実施形態では、ゲイン制御信号Kadjiは、主に反射動作を制御するための圧力センサ信号に基づく指令値Piによる制御ゲインの比率を示すものである。例えば、圧力センサなどにより検出された外力(外乱力)が大きければ大きいほど中間層制御装置20の制御比率が大きくなるような信号とすることにより、より迅速に外乱力に対して反射運動が可能となる。一方、中央制御装置10又は上位の中間層制御装置20からの姿勢指令POSiによる制御の制御ゲインの比率は(1−Kadji)となるように正規化されており、中間層制御装置20による制御比率が大きいほど、中央制御装置10による制御比率は小さくなる。
調整機構部41〜44は、上位からの姿勢指令と外部環境からの刺激(圧力など)、すなわち、本実施形態においては、圧力センサ信号S1〜S6とが供給され、上位の指令値と外部環境の刺激とを調整する。調整機構部41〜44から出力されるゲイン制御信号Kadjiは、上位の指令と外部環境の変化における制御の比率を調整するもので、外部刺激の大きさ及び時間とともに変化するよう調整された後述する時定数τ0であり、この時定数τ0は可変であり任意に設定することができる。
調整機構部41〜44には、上述したように、より上位の中間層制御装置又は中央制御装置10からそれぞれ姿勢指令値POS1〜POS4が供給され、また、足底に設けられた6つの圧力センサS1〜S6から圧力センサ信号PS1〜PS6が供給される。姿勢指令値POSiは、上述したように、例えば制御対象となるモータの回転角を示す軸回転位置指令位置、モータの回転速度を示す軸回転速度指令、並びにモータの回転トルクを示す軸回転トルク指令などからなる。この調整機構部41〜44は、制御対象となるモータに対応して各圧力センサ信号PS1〜PS6の値に基づいて制御対象となるモータに対する第2の指令値Piを算出する。具体的には、例えば、各圧力センサ信号PS1〜PS6の値が等しくなる方向に各モータが制御されるように、第2の指令値Piを算出することなどができる。さらに、上位からの姿勢指令値POSiと、圧力センサ信号に基づいて求められた第2の指令値Piとの制御比率を調整するゲイン制御信号Kadjiを出力する。このゲイン制御信号Kadjiは、後述する方法により調整機構部41で算出されたものであってもよく、あるいは、上位の中間層制御装置20又は中央制御装置10からの指令値とともに入力されるものであってもよい。
このゲイン制御信号Kadjiは0〜1の時定数τ0である。調整器51b〜54bでは、ゲイン制御信号Kadj1〜Kadj4と、センサ信号から求められたそれぞれ第2の指令値P1〜P4とが乗算され、ゲイン・コントロールされる。一方、調整器51a〜54aでは、(1−ゲイン制御信号Kadj1)〜(1−ゲイン制御信号Kadj4)と上位から供給される姿勢指令値POS1〜POS4とがそれぞれ乗算されて、ゲイン・コントロールされる。そして、加算器61〜64では、調整器51a〜54aの出力と、調整器51b〜54bの出力とが加算され、制御指令値θref1〜θref4となって、所定のアクチュエータA1〜アクチュエータA4にそれぞれ供給される。
アクチュエータA1〜A4は、中間層制御装置20から供給される制御指令値θref1〜θref4から各モータM1、M2、M16、M15に取り付けられた位置センサ(回転角検出器)101〜104からのセンサ信号を減算する減算器71〜74と、減算器71〜74からの出力から各モータの位置を制御する制御信号を生成する位置制御器81〜84と位置制御器81〜84からの制御信号を増幅するアンプ91〜94と、アンプ91〜94にて増幅された制御信号により回転駆動されるモータM1、M2、M16、M15と、モータの回転角を検出する位置センサ(位置検出器)101〜104とで構成される。
位置センサ101〜104がモータの回転角を検出し、この回転角を実際の制御指令値θref1〜θref4から減算する。例えば、制御指令値θref1〜θref4よりも回転角が小さい場合は、その回転角を検出した位置センサからの信号により、不足分の回転がなされるように位置制御器81〜84が制御信号を出力する。
これにより、足部は、モータの回転角θ1〜θ4にモータの機構によって定まる正の定数Biが乗算された分だけ移動することになり、全体としてΣBi・θiだけ移動し、路面に均一に接触する方向に動作制御される。こうして一連の動作が終了すると、足底に設けられた各圧力センサS1〜S6により検出された圧力センサ信号PS1〜PS6が中間層制御装置20の調整機構41に供給される。これらの動作周期は1msecである。
図22(A)及び(B)には、インパルス外力があった場合及びステップ外力があった場合の調整機構41から出力されるゲイン制御信号Kadjiの時間変化をそれぞれ示している。ここで、ゲイン制御信号Kadjiが1である場合、上位の指令値POSiは無視され、中間層制御装置自身で生成された制御信号、すなわち、圧力センサから算出された指令値Piのみがモータの回転を駆動制御する制御指令値θrefiとなる。反対に、ゲイン制御信号Kadjiが0の場合には、上位の姿勢指令値POSiのみにより、モータが回転駆動される。
図22(A)に示すように、短期間に鋭い外力が印加された場合、ゲイン制御信号Kadjiを示す時定数τ0が1を示す間が短くなる。一方、図22(B)に示すように、所定の期間だけ外力が持続するようなステップ状の外力が加えられた場合には、時定数τ0が1を示す間が外力と同様の期間程度となるようなゲイン制御信号Kadjiが生成される。また、後述するように、時間変化するような外力が加えられる場合には、例えば時間変化するようなゲイン制御信号Kadjiが適宜生成される。
また、中間層制御装置20では、指令値Piは、例えば、各モータに作用する複数のセンサからのセンサ信号の最大値と平均値との差に基づいて生成された制御信号を使用するものとしてもよい。
続いて、足部における動作について、外部対象物に倣う場合の接地(立脚)時及び離反(遊脚)時について具体的な例を示して説明する。まず、ロボット装置が階段等の凹凸がある地面に足部を接地する場合について説明する。
図23(A)〜図23(D)には、足部がステップを有する地面110に足を接地する動作を時間の経過とともに示している。より具体的には、それぞれ時刻T0〜T4における側面から見た足部を示している。また、図24には、時刻T0〜T4における中央制御装置20からの指令値POSi、中間層制御装置自身で生成された指令値Pi、アクチュエータの回転を制御する制御指令値θrefi及びKadjiの大きさを示している。但し、図24に示す例では、上位からの姿勢指令値POS1〜POS4は一定値となっているものとする。
図23及び図24に示すように、時刻T0では、足部7が地面110に接していない状態にあり、足底に設けられた各圧力センサからの出力は0である。
次に、時刻T1では、足部7の足指部8a、8bが地面110の凸部111に接触した状態にあり、接触により、足指部8a、8bに設けられた圧力センサS5、S6に対して反力F0が加えられる。次の時刻T2では、足部7の足指部8a、8bが折れ曲がる。さらに次の時刻T3では、足底の足底踵部8cが地面に接地した状態を示し、接地により足裏踵部8cの圧力センサS1〜S4に対して反力F1が加えられている。
例えば、この足部7の反射動作を制御する中間層制御装置20に対して、足指部8a、8bにそれぞれ設けられたセンサS5、S6からのセンサ信号PS5、PS6が供給されると、例えばアクチュエータ3、4(モータM16、M15)が動作するような制御信号(制御指令値θref3,θref4)が出力される。なお、他のアクチュエータが動作してもよい。図23及び図24では、下記式(8)、(9)に示す制御指令値θref3、θref4が与えられるときの足部7の動作を示している。
このとき、Kadj3、Kadj4は、以下の式(10)及び(12)のように変化する。
本実施例では、定数K3、K4を0.1とする。また、指令値P3、P4は、圧力センサ信号PS5、PS6が中間層制御装置で定めた一定の圧力目標値PREF3、4となるように、以下の式(13)及び(14)に示すように変化する。この圧力目標値P3、P4は、例えばロボット装置の全体重を足底8に設けた圧力センサの数(本実施例の場合は6)で除した数値とすることができる。
上記の各式(13)並びに(14)におけるN3及びN4は正の定数である。N3、N4が大きい程、圧力センサ信号に対してモータの応答が速くなり、足部の動きが速くなる。
上述したように、足底に設けられた各圧力センサからのセンサ信号と、上位からの姿勢指令値POSi(ホスト指令値)とKadji(この場合は、Kadj3並びにKadj4)により、制御指令値θrefi(反射指令値)が生成される。これにより足底踵部8cと足指部8a、8bとの接続部に設けられたモータM16及びM15を回転制御することにより、ステップを有する地面に足部7が接地される。
次に、図23及び図24に示した例とは反対に、足部8がステップを有する地面から離れる場合について説明する。図25及び図26には、図23及び図24の動作により接地された足部が離れる場合を時間の経過とともに示している。より具体的には、図25には時刻T3〜T6における足部の様子を模式的に示しており、また、図26にはこのときの圧力センサ値及びKadjiの大きさを示している。この場合も、上位から一定の姿勢指令値POS1〜POS4が与えられている。
図25及び図26に示すように、上記の式(8)及び(29)が与えられたとき、アクチュエータ3、4(モータM16、M15)が回転制御されてステップを有する地面に足底8が倣うように動作する。足部7が地面110から離れる場合は、時刻T3において地面110に接地していた足底踵部8cは、時刻T4には浮き上がる。このとき、足底踵部8cに設けられている圧力センサS1〜S4からの圧力信号は0となる。そして、時刻T5で足指部8a、8bが地面110に接地し、時刻T6で再び足底8が地面110から離れる。
ここで、上記の式(8)及び(9)のKadj3、Kadj4は、それぞれ以下の式(15)及び(16)のように変化する。
ここで、K3並びにK4は、上述と同様、本実施例では0.1とする。P3、P4は、圧力センサ信号PS5、PS6が制御装置で定めた一定の圧力目標値PREF3、PREF4になるよう、上記の式(15)及び(16)のように変化する。上述したように、圧力目標値PREF3、PREF4は、ロボット装置の全体重を足低のセンサ数(本実施例では6個)で除した値とすることができる。
この場合も、足底に設けられた各圧力センサからのセンサ信号と上位の制御系からの姿勢指令値POSi(ホスト指令値)とがKadji(この場合は、Kadj3、Kadj4)に基づいて、制御指令値θrefi(反射指令値)が生成される。そして、この制御指令値θrefiにより、足底踵部8cと足指部8a、8bとの接続部に設けられた各モータM16、15が、回転制御されることにより、ステップを有する地面から足部7が離れる際の反射動作が制御される。
続いて、ロボット装置が下りの傾斜を有する地面に足部を接地させる場合について説明する。
図27には、足部が傾斜を有する地面120に足を接地する動作を時間の経過とともに示している。より具体的には、図27(A)〜図27(D)では、時刻T0〜T4における側面から見た足部7をそれぞれ示している。また、図28には、時刻T0〜T4における指令値及びKadjiの大きさを示している。また、図18(B)に示したように、足部の足底は6つの圧力センサが配置されている。ここで、各モータに対する上位からの姿勢指令値POS1〜POS4は、一定値となっている。
傾斜を有する地面120は下り坂である。このため、時刻T1では、足部の足低踵部8cから接地し、接地により足裏踵部8cに反力F1が加えられる。時刻T2では足首関節ロール軸のモータM2が回転し、時刻T3では足底全面が地面120に接地することにより、足裏踵部8cにさらに反力F2が、足指部8a、8bには反力F0がそれぞれ加えられるように制御される。なお、図28に示す例では、足指部8a、8cが地面に接触した瞬間であって、圧力センサS5、S6には圧力が加わっていない状態が示されている。
この場合、足部7の反射動作を制御する中間層制御装置20は、足底踵部8cに設けられた圧力センサS1〜S4からの圧力信号PS1〜PS4が供給されると、例えばアクチュエータA2(モータM2)の動作を制御する制御信号(制御指令値θref2)を生成する。勿論、これ以外のアクチュエータの動作を制御するようにしてもよい。図27及び図28では、下記式(10)により示さされる制御指令値θref2及び後述するθref1が与えられるときの足部7の動作例が示されている。
ここで、Kadj2は下式(18)のように変化する。
本実施例では、定数K2を0.1とする。また、指令値P2は、圧力センサ信号PS1〜4が中間層制御装置20で定めた一定の圧力目標値PREF2となるように、下式(19)のように変化する。この圧力目標値PREF2は、上述と同様に、例えばロボット装置の全体重を足底に設けた圧力センサの数(本実施例の場合は6)で除した数値とすることができる。
また、同様に、圧力センサ信号PS1〜PS4により、アクチュエータA1(モータM1)が動作制御される。なお、他のアクチュエータが動作制御されてもよい。
このとき、Kadj1は、下式(21)のように変化する。
本実施例では、定数K1を0.1とする。また、指令値P1は、圧力センサ信号PS1〜4が制御装置で定めた一定の圧力目標値PREF1となるように、下式(22)のように変化する。この圧力目標値P1は、上述したように、例えばロボット装置の全体重を足底に設けた圧力センサの数(本実施例の場合は6)で除した数値とすることができる。
上式(19)並びに(22)におけるN2、N1は正の定数である。このようして、足底に設けられた各圧力センサからのセンサ信号と、上位からの姿勢指令値POSi(ホスト指令値)とがKadj1、Kadj2に基づいて、制御指令値θref2(反射指令値)が生成される。そして、この制御指令値により足底と足首との間に設けられた足首関節ピッチ軸、足首関節ロール軸を駆動するモータM1及びモータM2がそれぞれ回転制御されることにより、ステップを有する地面から足部7が離れる際の反射動作が制御される。
続いて、図27及び図28に示した例とは逆に、足部が下りの傾斜を有する地面120から離れる場合について説明する。図29及び図30には、図27及び図28の動作により接地された足部が離れる場合を示している。より具体的には、各時刻T3〜T6における足部を示す模式図並びに圧力センサ値及びKadjiの大きさを示している。この場合も、各モータに対する上位からの姿勢指令値POS1〜POS4は、一定値となっている。
図27及び図28に示した例の場合も、上式(17)及び(20)が与えられたとき、アクチュエータA1、A2(モータM1、M2)が回転制御されて傾斜を有する地面120に足底が倣う様子を示している。すなわち、足底踵部8cに設けられた圧力センサS1〜S4からの圧力信号PS1〜PS4が供給されると、例えばアクチュエータA2(モータM2)の動作を制御する制御信号(反射指令値θref2)を上式(17)に従って生成する。ここで、Kadj2は、下式(23)のように変化する。
この場合も、定数K2を0.1とし、指令値P2は、圧力センサ信号PS1〜4が中間層制御装置で定めた一定の圧力目標値PREF2となるように、上式(19)のように変化する。
同様に、圧力センサS1〜S4からの圧力信号PS1〜PS4によりアクチュエータA1が上式(20)に示す指令値により回転制御される。このとき、Kadj1は、下式(24)のように変化する。
この場合においても、定数K1を0.1とし、指令値P1は、圧力センサ信号PS1〜4が制御装置で定めた一定の圧力目標値PREF1となるように、上式(22)のように変化する。このように、足指部8a、8bから最初に離れ、最後に足底踵部8cが地面120から離れるように動作制御される。
本実施例では、中央制御装置は比較的に低い応答速度で全身運動の姿勢制御の指令を演算し、下位の階層に分散して設けた複数の中間層制御装置により、末端の反射運動等の比較的に高速な応答速度の運動を制御する。このことによって中央制御装置における演算能力を低減し、その演算負担を軽減することができる。
また、分散して設けられる複数の中間層制御装置は、制御軸数が少ないため簡単な演算で対応でき、制御軸数の拡張が容易になるとともに、歩行や外部環境との衝突に対する高速な応答、及び末端の反射運動ができるようになる。
さらに、衝撃的な外乱、例えば不整地路面のような数式化できない接触時における高調波振動を低減するような倣い制御を行なうことができ、システムへの衝撃力を下位の中間層制御装置による制御により低減し、ロボット装置全体の姿勢を安定に保つことができる。すなわち、アクティブ・ダンパー効果の作用を得ることができ、機械的構造を簡単化することができる。
さらにまた、上述の具体例のように、これを足部に適応すると、凹凸路面に足底が接地する面積が多くなり、ZMPによる姿勢安定が容易になる。
なお、本発明は上述した実施例のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
例えば、上述した実施例では、4自由度の足部の構成について説明したが、足部の自由度は4自由度に限らず、人間と同様に、5本の足指に対応するようにモータを設けてもよい。また、腕部ユニットにおける手部、又は頭部ユニットにおける首部などにおいても足部と同様に適応して反射運動を行なわせることができる。
また、本明細書では本発明をハードウェアの構成として説明したが、本発明の要旨はこれに限定されるものではない。例えば、任意の処理を記述したコンピュータ・プログラムをCPUに実行させることにより実現することも可能である。この場合、コンピュータ・プログラムは、記録媒体に記録して提供することも可能であり、あるいは、インターネットやその他の伝送媒体を介して伝送することにより提供することも可能である。
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置あるいはその他一般的な移動体装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。