(57)【要約】【課題】アクチュエータが駆動する可動部におけるコンプライアンスの調整を簡便な回路構成により実現する。【解決手段】ホスト装置により与えられた制御指令Ｙｒに基づいてアクチュエータを駆動制御し、これにより出力状態Ｘが得られる実モデルＭ１に対して、実モデルＭ１の運動特性と同じ特性を有する数学モデルＭ２によって実際に得られると推定される状態Ｘｍを演算出力する。そして、実際の出力状態Ｘと数学モデルＭ２によって得られた推定状態Ｘｍとの差に応じた調整成分Ｆｄｍ（外力Ｆｄに相当する）制御指令Ｙｒに重畳することによってアクチュエータを制御する。【選択図】　図１
2004082243.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置から与えられた制御指令に基づいて、可動部を駆動するアクチュエータを制御するアクチュエータ制御装置において、
上記制御指令に基づいて上記アクチュエータを制御したときに得られると推定される上記可動部の状態と、上記可動部の実際の状態との差に応じた調整成分を、上記制御指令に重畳して上記アクチュエータを制御すること
を特徴とするアクチュエータ制御装置。
【請求項２】
ホスト装置から与えられた制御指令に基づいて、可動部を駆動するアクチュエータを制御するアクチュエータ制御装置において、
上記制御指令に基づいて上記アクチュエータを制御したときに得られると推定される上記可動部の状態を演算出力する状態推定手段と、
上記可動部の実際の状態を検出する検出器からの出力と上記状態推定手段からの出力との差に応じた調整成分を出力するコンプライアンス調整手段と、
上記制御指令に対して上記コンプライアンス調整手段からの出力を重畳する重畳手段とを備えること
を特徴とするアクチュエータ制御装置。
【請求項３】
ホスト装置から与えられた制御指令に基づいて、可動部を駆動するアクチュエータを制御するに際して、
上記制御指令に基づいて上記アクチュエータを制御したときに得られると推定される上記可動部の状態を算出する状態推定ステップと、
上記可動部の実際の状態を検出する状態検出ステップと、
上記状態推定ステップにより得られた上記可動部の推定状態と、上記状態検出ステップにより得られた上記可動部の現在状態との差に応じて上記制御指令の調整成分を出力する調整成分出力ステップと、
上記調整成分出力ステップにより得られた調整成分を上記制御指令に対して重畳した結果に基づいて上記アクチュエータの駆動を制御するアクチュエータ制御ステップとを有すること
を特徴とするアクチュエータの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する分野】
本発明は、例えばロボットにおける関節部を駆動する場合に適用して好適であり、機械的構造の可動部を駆動する各種アクチュエータの動作を制御するアクチュエータ制御装置、及びアクチュエータ制御方法に関する。
【０００２】
【従来の技術】
人間の動作に似せた運動を行う機械装置は、「ロボット」と称されている。ロボットは、従来から、工場における生産作業の自動化・省力化を目的として、例えば各種マニピュレータや搬送ロボットといった産業用ロボットとしての形態で広く利用されている。また、近年では、従来からの利用形態である産業用途のロボットだけでなく、一般家庭内での利用を想定したコミュニケーション能力が高いロボット、すなわち、いわゆる人間型ロボットやペット型ロボットの普及が注目されている。
【０００３】
ロボットは、所望とする運動を行うために複数の関節部を有しており、それぞれの関節部毎に、この関節部を駆動するための駆動系が備えられている。この駆動系は、一般に、関節部を駆動するアクチュエータと、アクチュエータの変位を測定するエンコーダと、エンコーダによって測定された変位をフィードバックしながら主制御部から要求された指示に応じてアクチュエータの駆動を制御する制御回路によって構成されている。そして、主制御部によって、複数の関節部の駆動系を統括的に制御することにより、ロボットが全体として所望とする運動・動作を行うように制御される。
【０００４】
【発明が解決しようとする課題】
ところで、従来のロボットにおいては、アクチュエータの駆動を制御するに際して、フィードバック制御系に強固なサーボがかけられており、主制御部からの制御指令に対して極めて忠実に動作するような制御が行われている。このため、以下で説明するような問題があった。
【０００５】
例えば、ロボットに卵などの損傷しやすい物体をつかむ動作をさせる場合には、この物体を損傷させない程度で、且つ確実につかむことが可能な程度の力を発揮することが必要となる。また、例えばロボットに歩行動作させる場合には、歩行面に存在する障害物に足を降ろしてしまったときに、この障害物を避けた位置に足を降ろす動作をさせることが必要となる。
【０００６】
このような場合に対応するために、従来のロボットは、例えば手足の先端部などに圧力センサを設けて、この圧力センサにより得られた情報を主制御部で処理し、主制御部からの制御指令に基づいて各関節部を駆動制御している。
【０００７】
しかしながら、この場合には、圧力センサが設けられた位置でしか物体に接したことが判断できず、圧力センサが設けられていない位置で物体に接触した場合には、この物体を考慮した駆動制御を行うことができない。したがって、例えば卵を手でつかむという動作を行うに際して圧力センサが設けられていない部分で卵をつぶしてしまったり、歩行時に障害物を検知することができずに転倒してしまうなどの虞があった。
【０００８】
また、近年では、例えば人間と握手する動作を行う場合のように、外部から加えられた力に倣って各関節部を動作させるといった具合に、機械的に柔軟性を有するロボットを実現することが求められている。
【０００９】
このような柔軟性をロボットに具備するための手法のひとつとして、センサにより検出されたアクチュエータ電流に基づいて外力を推定し、推定した外力に応じた制御指令を主制御部から発することにより各関節部を駆動制御する手法が従来から提案されている。しかしながら、この手法では、関節部に働く自己の慣性モーメントによる力と外力とを区別することができず、外力を正しく推定することができないといった問題があった。このため、外力に倣ったなめらかな動作を実現することが困難である。
【００１０】
また、他の手法としては、ロボットの各部に取り付けた位置センサや加速度センサなどにより得られた情報に基づいて外力を推定する手法が従来から提案されている。しかしながら、この場合には、自己の慣性モーメントによる力と外力とを区別して外力を推定するために、高度で複雑な演算処理を行う必要が生じる。したがって、外力に倣って柔軟な動作を実現するためには、複雑な演算処理を高速に処理することが可能な大規模で高価な演算回路が必要となってしまうといった問題があった。
【００１１】
そこで本発明は、上述した従来の実情に鑑みてなされたものであり、アクチュエータを外力に倣って駆動制御するに際して、簡便な構成により低コストで実現することが可能なアクチュエータ制御装置、及びアクチュエータ制御方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明の請求項１に係るアクチュエータ制御装置は、ホスト装置から与えられた制御指令に基づいて、可動部を駆動するアクチュエータを制御するアクチュエータ制御装置において、上記制御指令に基づいて上記アクチュエータを制御したときに得られると推定される上記可動部の状態と、上記可動部の実際の状態との差に応じた調整成分を、上記制御指令に重畳して上記アクチュエータに制御することを特徴とするものである。
【００１３】
また、本発明の請求項２に係るアクチュエータ制御装置は、ホスト装置から与えられた制御指令に基づいて、可動部を駆動するアクチュエータを制御するアクチュエータ制御装置において、上記制御指令に基づいて上記アクチュエータを制御したときに得られると推定される上記可動部の状態を演算出力する状態推定手段と、上記可動部の実際の状態を検出する検出器からの出力と上記状態推定手段からの出力との差に応じた調整成分を出力するコンプライアンス調整手段と、上記制御指令に対して上記コンプライアンス調整手段からの出力を重畳する重畳手段とを備えることを特徴とするものである。
【００１４】
さらに、本発明の請求項３に係るアクチュエータ制御方法は、ホスト装置から与えられた制御指令に基づいて、可動部を駆動するアクチュエータを制御するに際して、上記制御指令に基づいて上記アクチュエータを制御したときに得られると推定される上記可動部の状態を算出する状態推定ステップと、上記可動部の実際の状態を検出する状態検出ステップと、上記状態推定ステップにより得られた上記可動部の推定状態と、上記状態検出ステップにより得られた上記可動部の現在状態との差に応じて上記制御指令の調整成分を出力する調整成分出力ステップと、上記調整成分出力ステップにより得られた調整成分を上記制御指令に対して重畳した結果に基づいて上記アクチュエータの駆動を制御するアクチュエータ制御ステップとを有することを特徴とするものである。
【００１５】
以上のように構成された本発明では、制御指令に基づいてアクチュエータを制御したときに得られると推定される状態と、アクチュエータによって駆動される可動部の実際の状態との差に応じた調整成分をホスト装置からの制御指令に重畳している。
【００１６】
本発明において、可動部に外力が加わっていない場合には、推定された可動部の状態と実際の可動部の状態とは等しくなることから、これらの差は存在せず、調整成分も「０」となる。一方、可動部に外力が加わっている場合には、可動部の状態の推定にはホスト装置からの制御指令のみに基づいて行われ、外力の影響が考慮されていないことから、推定された可動部の状態と実際の可動部の状態とには差が生じ、この差に応じた調整成分が制御指令に重畳されることとなる。すなわち、大きな外力が加わっているときには大きな調整成分が制御指令に重畳され、小さな外力が加わっているときには小さな調整成分が制御指令に重畳される。本発明においては、この調整成分が外力が推定されたものに相当しており、この調整成分を制御指令に重畳することによって、外力が加わっている場合にはホスト装置からの制御指令に優先して、外力に倣ったアクチュエータの制御を行うことを実現している。すなわち、調整成分を制御指令に重畳することにより、アクチュエータが駆動を担当する可動部におけるコンプライアンスの調整を実現しているのである。
【００１７】
なお、本発明における可動部の「状態」としては、例えば、可動部における回転変位、角速度、トルク、加速度、各加速度、或いは応力などのうちから任意のものを少なくともひとつ選択することができる。例えば、可動部の「状態」としての回転変位に基づいて制御を行う場合には、可動部の状態を検出する検出器として、この可動部における回転変位を検出するセンサを配設するとともに、このセンサからの出力と、この可動部における回転変位を推定した結果得られた出力とを用いて調整成分を出力する構成とすればよい。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。以下では、本発明の具体的な実施の形態について説明するに先立ち、本発明の原理について、図１に示すブロック図を参照しながら説明する。
【００１９】
なお、図１に示すブロック図は、ロボットの関節部（可動部）を駆動するアクチュエータとしてのモータと、このモータの回転変位を検出するセンサと、ロボットに設けられた複数の関節部を統括制御するホスト装置から与えられた制御指令に応じてモータの駆動を制御する制御回路とによって制御系が構成されている場合を想定し、この制御回路で実現される制御内容の原理について模式的に示す図である。
【００２０】
本制御系においては、図１に示すように、ホスト装置から与えられた制御指令Ｙｒが現実の制御系である実モデルＭ１と、現実の制御系を数学的に演算処理する数学モデルＭ２とに入力される。
【００２１】
実モデルＭ１においては、制御指令Ｙｒがフィードフォワード定数Ｆｒを乗算されることにより、例えばモータを駆動する電流値ｕとしてモータに出力される。このとき、モータの状態は、以下で式１に示す状態方程式で表わすことができる。また、モータによる関節部の状態Ｙは、以下で式２に示す関係で表すことができる。
【００２２】
【数１】
2004082243.tif 000003
ここで、式１及び式２中に示すＸは状態変数であり、Ａ，Ｂ，Ｃ，Ｄはそれぞれ実際のモータの特性や関節部の構造などによって自ずと定まる定数である。このうち、定数Ｂ及び定数Ｄは、それぞれ、モータ回転軸に働く慣性モーメント及び粘性摩擦である。
【００２３】
また、実モデルＭ１においては、モータに取り付けられたセンサによって得られたモータの状態Ｘと、制御指令Ｙｒとの差にフィードバック定数Ｋが乗算されて、電流値ｕに対してフィードバックされている。
【００２４】
一方、数学モデルＭ２においては、上述した実モデルＭ１に対応した演算処理が行われている。すなわち、制御指令Ｙｒに対してフィードフォワード定数Ｆｒｍを乗算した結果得られた仮想的な電流値ｕｍに基づいて、以下で式３及び式４に示す演算が行われている。
【００２５】
【数２】
2004082243.tif 000004
ここで、式３及び式４中に示すＸｍは、実モデルＭ１における状態変数Ｘに対応するものであり、この実際の状態変数Ｘを演算処理によって数学的に推定した結果得られたものである。また、Ｙｍは、実モデルＭ１における関節部の状態Ｙを演算処理によって数学的に得たものである。また、式３及び式４中に示すＡ，Ｂ，Ｃ，Ｄはそれぞれ定数であり、実モデルＭ１における式１及び式２中の定数に対応している。
【００２６】
さらに、数学モデルＭ２においては、式３に示す演算処理よって得られた状態Ｘｍと、制御指令Ｙｒとの差にフィードバック定数Ｋｍが乗算されて、電流値ｕｍに対してフィードバックされている。
【００２７】
ここで、数学モデルＭ２における定数Ｆｍ及び定数Ｋｍは、それぞれ実モデルＭ１における定数Ｆ及び定数Ｋに対応しており、制御回路の設計段階で予め設定される値である。また、数学モデルＭ２において式３及び式４を演算処理する際に用いる定数Ａ，Ｂ，Ｃ，Ｄは、モータ及び関節部を実際に駆動したときに得られる結果を予め測定するなどして求めておくことができる。
【００２８】
また、本制御系は、実モデルＭ１における状態Ｘと、数学モデルＭ２により得られた状態Ｘｍとを比較して実モデルＭ１のコンプライアンスを調整するコンプライアンス調整器Ａが設けられている。
【００２９】
コンプライアンス調整器Ａは、センサによって得られた実際の状態Ｘと、数学モデルＭ２によって推定された状態Ｘｍとの差を演算することによって、エラー信号ｅを生成し、このエラー信号ｅに対して所定の演算処理Ｆを施すことにより、モータの回転軸に加えられている外力Ｆｄを推定して出力する。なお、図１中においては、この推定された外力をＦｄｍとして示す。コンプライアンス調整器Ａによって推定された外力Ｆｄｍは、制御指令Ｙｒに対する調整成分として、実モデルＭ１の制御系に重畳されている。
【００３０】
すなわち、コンプライアンス調整器Ａは、実モデルＭ１から得られた実際の状態Ｘと、数学モデルＭ２により推定して得られた状態Ｘｍとの差に基づいて、実モデルＭ１に加えられている外力Ｆｄを推定してＦｄｍとして出力している。そして、このＦｄｍが実モデルＭ１における制御系に調整成分として重畳されていることから、実モデルＭ１に外力Ｆｄが加えられている場合には、制御指令Ｙｒに優先して外力Ｆｄに倣った方向にモータが駆動されることとなる。すなわち、コンプライアンス調整器Ａは、実モデルＭ１におけるモータ回転軸でのコンプライアンスを調整する機能を有しているといえる。
【００３１】
なお、本制御系においては、モータや関節部の「状態」として、回転変位、角速度、トルク、加速度、各加速度、或いは応力などのうちから任意のものを少なくともひとつ選択して制御対象とすればよい。
【００３２】
具体的には、例えばセンサがモータの回転変位を検出するタイプのものである場合には、モータの回転変位を状態Ｘとして制御対象とすればよい。この場合には、数学モデルＭ２で演算出力する状態Ｘｍも、モータの回転変位を数学的な演算により推定したものとする。また、例えばセンサがモータ回転軸の角速度或いはトルクを検出するタイプのものである場合には、角速度或いはトルクを状態Ｘとして制御対象とする。この場合には、数学モデルＭ２で演算出力する状態Ｘｍも、角速度或いはトルクを数学的な演算により推定したものとする。また、例えば、複数のセンサを用いて検出された２つ以上の状態（例えば、回転変位及びトルクの２つの状態）を制御対象とするとしてもよい。この場合には、上述した式１乃至式４は、これらの状態を変数とする行列式となる。
【００３３】
また、上述においては、コンプライアンス調整器Ａによってモータの実際の状態Ｘとモータの推定状態Ｘｍとの差に基づいて調整成分を演算出力するして説明したが、コンプライアンス調整器Ａにおいては、モータの状態ではなく、関節部の状態（すなわち状態Ｙや状態Ｙｍ）に基づいて調整成分を演算出力するとしてもよい。
【００３４】
ここで、以上のように構成された本制御系によるモータの制御動作について、具体的な例を挙げながら説明する。以下での説明においては、制御指令Ｙｒが、関節部の目標回転変位を示す信号であり、制御対象とする「状態」として、センサによって検出されたモータ回転軸の回転変位を選択した場合を想定する。また、関節部の状態Ｙは、関節部における実際の回転変位を表すものとする。
【００３５】
この場合には、ホスト装置から目標回転変位Ｙｒが入力されると、この目標回転変位Ｙｒに応じた駆動電流ｕが制御回路によって生成され、モータに供給される。これにより、モータが駆動され、式１及び式２に示した関係により、ホスト装置から与えられた目標回転変位に応じた回転変位Ｙまで関節部が駆動される。このとき、センサによって検出されたモータの回転変位Ｘは、制御回路内でフィードバック制御に用いられるとともに、コンプライアンス調整器Ａにも入力される。
【００３６】
コンプライアンス調整器Ａは、実際のモータの回転変位Ｘと、演算処理によって推定したモータの回転変位Ｘｍとの差に基づいて、調整成分Ｆｄｍを生成する。この調整成分Ｆｄｍは、モータの制御系に重畳される。
【００３７】
ここで、関節部（モータ）に外力が加わっていない場合、すなわち外力Ｆｄが「０」である場合には、実モデルＭ１で検出された回転変位Ｘと、数学モデルＭ２により推定された回転変位Ｘｍとは等しくなるため、これらの差に基づいて生成される調整成分Ｆｄｍも「０」となる。したがって、この場合には、数学モデルＭ２及びコンプライアンス調整器Ａは、実モデルＭ１に対して影響を及ぼすことがなく、ホスト装置から与えられた目標回転変位Ｙｒに対応した回転変位Ｙまで関節部が回転するようにモータが駆動されることとなる。
【００３８】
また、関節部（モータ）に外力Ｆｄが加わっている場合には、実モデルＭ１における実際の回転変位Ｘが外力Ｆｄによる影響を受ける一方で、数学モデルＭ２から出力される回転変位Ｘｍには外力の影響が考慮されていないため、これら実際の回転変位Ｘと推定された回転変位Ｘｍとには差が生じる。したがって、この差に応じた調整成分Ｆｄｍがコンプライアンス調整器Ａから出力され、実モデルＭ１の制御系に重畳される。すると、外力Ｆｄによる影響がコンプライアンス調整器Ａから出力された調整成分Ｆｄｍによって相殺された後に、フィードバック制御がかかることとなる。
【００３９】
すなわちこの場合には、ホスト装置から与えられた目標回転変位Ｙｒと実際の関節部の回転変位Ｙとが一致していなくとも、フィードバック制御によるサーボが均衡する。したがって、モータは、加えられた外力Ｆｄに対応して出力されるコンプライアンス調整器Ａからの調整成分Ｆｄｍに応じて、ホスト装置から与えられた目標回転変位Ｙｒとは独立して、外力Ｆｄに倣って積極的に回転駆動されることとなる。
【００４０】
つぎに以下では、上述した本発明の原理に基づいてロボットの関節部を駆動制御する制御系を構成した場合の具体的な実施の形態として、図２及び図３に示す駆動モジュール１０について説明する。なお、駆動モジュール１０は、人間型ロボットの手を構成する１本の指部を伸張及び屈曲させるように駆動するモジュールとして構成されたものである。また、図２は、駆動モジュール１０を手の平側に相当する面側からみた平面図であり、図３は、指部を駆動するモータの回転軸方向からみた側面図である。
【００４１】
駆動モジュール１０は、図２及び図３に示すように、人間型ロボットにおける指の１本を構成する伸張及び屈曲が自在とされた指部１１と、この指部１１を駆動するモータ１２と、モータ１２の回転軸に接続されて、このモータ１２の回転出力を減速する減速器１３と、減速器１３の回転軸に取り付けられた回転位置センサ１４及びワイヤープーリー１５とを備えている。また、駆動モジュール１０には、モータ１２の駆動を制御する制御回路と、制御回路からの出力信号を増幅してモータ１２に駆動電流を供給するＤＣアンプとが備えられるが、これらは図２及び図３において図示を省略している。
【００４２】
指部１１は、基節部１１ａと、中節部１１ｂと、末節部１１ｃとの３つの部材によって構成されている。また、基節部１１ａ及びロボット本体の手部、基節部１１ａ及び中節部１１ｂ、中節部１１ｂ及び末節部１１ｃは、それぞれ、第１の回転軸１６、第２の回転軸１７、第３の回転軸１８によって回動自在に接続されている。また、指部１１には、基節部１１ａ、中節部１１ｂ、及び末節部１１ｃの内部で手の平側に第１のワイヤー１９が挿通されており、各節部の内部で手の甲側に第２のワイヤー２０が挿通されている。第１のワイヤー１９及び第２のワイヤー２０は、それぞれ末節部１１ｃの先端部に一端が係止され、他端がワイヤープーリー１５の回転面に係止されている。
【００４３】
駆動モジュール１０においては、ロボットの各部に搭載された主制御部（ホスト装置）から与えられた制御指令が制御回路（図示を省略する。）に入力されており、この制御指令に基づいた出力信号が制御回路からＤＣアンプ（図示を省略する。）に出力される。ＤＣアンプは、制御回路から出力された出力信号に応じた駆動電流をモータ１２に供給する。
【００４４】
モータ１２は、ＤＣアンプから供給された駆動電流に応じた出力で回転駆動し、回転力を減速器１３を介してワイヤープーリー１５に伝達する。ワイヤープーリー１５は、モータ１２から減速器１３を介して伝達された回転力によって、回転駆動される。
【００４５】
駆動モジュール１０は、上述の如く主制御部からの制御指令に応じてモータ１２が回転駆動される。このとき、例えば図４に示すように、ワイヤープーリー１５が同図中矢印Ｒで示す方向に回転すると、指部１１の手の平側に挿通された第１のワイヤー１９がワイヤープーリー１５に巻き取られるとともに、指部１１の手の甲側に挿通された第２のワイヤー２０がワイヤープーリー１５から繰り出される。これにより、図４に示すように、第１乃至第３の回転軸１６〜１８を中心に指部１１を構成する基節部１１ａ、中節部１１ｂ、及び末節部１１ｃの各接続部で回転し、指部１１全体が屈曲する。
【００４６】
逆に、ワイヤープーリー１５が図４中の矢印Ｒとは反対方向に回転すると、指部１１の手の平側に挿通された第１のワイヤー１９がワイヤープーリー１５から繰り出されるとともに、指部１１の手の甲側に挿通された第２のワイヤー２０がワイヤープーリー１５に巻き取られる。これにより、第１乃至第３の回転軸１６〜１８を中心に指部１１を構成する基節部１１ａ、中節部１１ｂ、及び末節部１１ｃの各接続部で回転し、指部１１全体が伸張して図３に示す状態となる。
【００４７】
つぎに、駆動モジュール１０に搭載され、ロボットの主制御部から与えられた制御指令に基づいてモータ１２の駆動を制御する制御回路の構成について、図５を参照しながら説明する。
【００４８】
図５に示す制御回路５０においては、主制御部からの制御指令がモータ１２の目標回転位置Ｙｒとして与えられており、回転位置センサ１４によって検出されたモータ１２回転軸の回転位置Ｙをフィードバック制御する構成とされている。すなわち、この制御回路５０においては、制御対象とする「状態」として、回転軸の回転位置を用いて構成されている。
【００４９】
制御回路５０は、図５に示すように、主制御部から与えられた制御指令Ｙｒに対して、回転位置センサ１４からの出力Ｙを減算して出力する第１の減算器５１と、この第１の減算器５１の出力を所定の増幅率（本例においては４０００倍）で増幅する第１の増幅器５２と、この第１の増幅器５２の後段に設けられた加算器５３とを備えている。この加算器５３からの出力は、ＤＣアンプ（図示を省略する。）によって増幅され、駆動電流としてモータ１２に供給される。
【００５０】
なお、図５においては、駆動電流がモータ１２内部において回転位置Ｙとして変換される様子を数学的に明示している。すなわち、本例においては、モータ１２のイナーシャＪａの値が「０．０００１１」、モータ１２の粘性摩擦Ｄａの値が「６５」であり、演算｛１／（Ｊａ・ｓ＋Ｄａ）｝を行った結果を時間ｓで積分した場合に相当する回転位置Ｙが、モータ１２に供給された駆動電流に応じて当該モータ１２から出力されることを示している。
【００５１】
また、制御回路５０は、実際に得られると推測される回転位置Ｙｍを演算出力する演算部５４と、この演算部５４からの出力が入力される第２の減算器５５と、第２の減算器５５からの出力を所定の増幅率（本例においては４０００倍）で増幅する第２の増幅器５６とを備えている。
【００５２】
演算部５４は、主制御部から与えられた制御指令Ｙｒに基づいてモータ１２を駆動制御した場合に得られると推測される回転位置Ｙｍを演算により求めて出力する。なお、図中においては、この演算部５４における演算を時間ｓの関数としてＦｍｏｄｅｌ（ｓ）として示している。
【００５３】
第２の減算器５５は、演算部５４から出力された回転位置Ｙｍと、回転位置センサ１４によって検出された実際の回転位置Ｙとが入力されており、これらの差を演算して第２の増幅器５６に出力する。第２の増幅器５６は、第２の減算器５５からの入力を増幅して加算器５３に出力する。
【００５４】
以上のように構成された制御回路５０においては、演算部５４によって図１に示した数学モデルＭ２に相当する演算処理、すなわちモータ１２回転軸の実際の運動特性と同じ特性のモデルによる演算処理が実現されており、第２の減算器５５及び第２の増幅器５６によって図１に示したコンプライアンス調整器Ａに相当する機能が実現されている。すなわち、第２の増幅器５６から加算器５３に対する出力が、モータ１２に対して外部から加えられた力（外力）が演算処理によって推定された調整成分Ｆｄｍに相当している。なお、以後の説明及び図５中においては、第２の減算器５５及び第２の増幅器５６をコンプライアンス調整器６０と総称する。
【００５５】
ここで、制御回路５０によってモータ１２を制御したときに、モータ１２回転軸の実際の回転位置Ｙが変化する様子について、図６に示す模式図を参照しながら説明する。
【００５６】
先ず、所定の時刻ｔ０において、主制御部からの目標回転位置を示す制御指令Ｙｒが制御回路５０に与えられると、この制御指令Ｙｒが第１の増幅器５２に増幅された後にＤＣアンプを介してモータ１２に出力され、モータ１２が回転を始める。そして、時刻ｔ１となった時点で、モータ１２の回転位置Ｙが制御指令Ｙｒに一致し、以後、時刻ｔ２において外力Ｆｄが加えられるまでの間、回転位置センサ１４により得られた回転位置Ｙが制御回路５０にフィードバックされることにより、この回転位置Ｙが保持されることとなる。
【００５７】
なお、時刻ｔ０から時刻ｔ２までの間は、外力Ｆｄが指部１１に対して（ひいてはモータ１２の回転軸に対して）加えられていない。このため、この間は、演算部５４からの出力である推定された回転位置Ｙｍと実際の回転位置Ｙとが一致し、コンプライアンス調整器６０からの出力は「０」となる。したがって、外力Ｆｄが加えられていない間は、主制御部からの制御指令Ｙｒに応じて通常の制御が行われ、モータ１２が駆動される。
【００５８】
ところが、例えば時刻ｔ２において外力Ｆｄがモータ１２の回転軸に対して加えられると、この外力Ｆｄの影響によって、モータ１２回転軸の回転位置Ｙが僅かに変化する。すると、演算部５４からの出力である推定された回転位置Ｙｍと実際の回転位置Ｙとの間に差が生じる。そして、この差に応じた調整成分Ｆｄｍがコンプライアンス調整器６０によって出力され、加算器５３によってモータ１２に対する出力に重畳される。
【００５９】
これにより、モータ１２は、主制御部からの制御指令Ｙｒに優先して、外力Ｆｄに倣って積極的に回転駆動され、図６に示すように回転位置Ｙが変化する。このような外力Ｆｄに倣う回転動作は、時刻ｔ３において外力が取り除かれるまで継続し、モータ１２は、駆動モジュール１０の機械的な構造による回転限界に達しない限り回転し続ける。
【００６０】
そして、時刻ｔ３において外力Ｆｄが取り除かれて「０」となると、モータ１２は、外力Ｆｄが取り除かれる直前の回転位置Ｙを保持することとなる。これは、時刻ｔ３以降で、コンプライアンス調整器６０からの出力Ｆｄｍが継続して出力される一方で、制御回路５０のフィードバック制御系によるサーボが働いていることによる。
【００６１】
なお、上述の説明においては、コンプライアンス調整器６０によるモータ１２回転軸のコンプライアンスが「１」に調整されており、外力Ｆｄに応じて全く抵抗なく直接モータ１２を回転駆動させる場合について説明している。このため、時刻ｔ３以降において、外力Ｆｄが取り除かれた後も、モータ１２の回転位置Ｙが保持されたままとなっている。
【００６２】
しかしながら、例えば図６中において１点鎖線で示すように、外力Ｆｄが取り除かれた直後にモータ１２回転軸の回転位置Ｙが制御指令Ｙｒに相当する位置まで戻るように構成するためには、制御回路５０における第２の増幅器５６の増幅率を調整することによって、コンプライアンス調整器６０によるモータ１２回転軸のコンプライアンスを「１」未満の任意の値となるように調整すればよい。このコンプライアンス調整器６０によるコンプライアンスの値に応じて、外力Ｆｄが取り除かれて以後、制御指令によって示された本来の回転位置Ｙｒまで戻るまでの変化率（図６中に角度θで示す）を調整することができる。
【００６３】
駆動モジュール１０においては、上述の如く、主制御部から与えられた制御指令Ｙｒに応じてモータ１２が回転制御されており、指部１１の伸張及び屈曲を行うことが可能とされている一方で、指部１１のいずれかの部位に物体が接触するなどして外力Ｆｄがモータ１２回転軸に加えられた場合には、この外力Ｆｄに倣ってモータ１２が積極的に回転駆動し、外力Ｆｄによる影響を低減する方向に指部１１が駆動される。
【００６４】
したがって、例えば卵などの損傷しやすい物体をつかむ動作をロボットに行わせる場合であっても、指部１１の全てに圧力センサなどを設けることが不要である。また、例えば、回転位置センサ１４からの出力を主制御部側で処理することによってモータ１２の駆動制御を行う従来の手法と異なり、極めて簡便且つ単純な回路構成によって実現可能な制御回路５０によってモータ１２のコンプライアンスを制御することが可能であるため、高度で高速な演算回路や高い演算処理能力などを不要とすることができる。したがって、ロボット全体の低コスト化・小型化・軽量化を図ることができる。
【００６５】
なお、上述においては、ロボットの指部１１を駆動する駆動モジュール１０について説明したが、本発明は、上述した実施の形態への適用に限定されるものではなく、アクチュエータによって機械的な構造を駆動する際に広く適用可能であることは勿論である。また、このアクチュエータとしては、駆動力を発揮するものであれば任意であり、モータに限らず、油圧アクチュエータ、静電アクチュエータ、或いは各種の内燃機関などを広く用いることが可能である。
【００６６】
【発明の効果】
本発明では、制御指令に基づいてアクチュエータを制御したときに得られると推定される状態と、アクチュエータによって駆動される可動部の実際の状態との差に応じた調整成分をホスト装置からの制御指令に重畳している。
【００６７】
本発明において、可動部に外力が加わっていない場合には、推定された可動部の状態と実際の可動部の状態とは等しくなることから、これらの差は存在せず、調整成分も「０」となる。一方、可動部に外力が加わっている場合には、可動部の状態の推定にはホスト装置からの制御指令のみに基づいて行われ、外力の影響が考慮されていないことから、推定された可動部の状態と実際の可動部の状態とには差が生じ、この差に応じた調整成分が制御指令に重畳されることとなる。すなわち、大きな外力が加わっているときには大きな調整成分が制御指令に重畳され、小さな外力が加わっているときには小さな調整成分が制御指令に重畳される。本発明においては、この調整成分が外力が推定されたものに相当しており、この調整成分を制御指令に重畳することによって、外力が加わっている場合にはホスト装置からの制御指令に優先して、外力に倣ったアクチュエータの制御を行うことを実現している。すなわち、調整成分を制御指令に重畳することにより、アクチュエータが駆動を担当する可動部におけるコンプライアンスの調整を実現しているのである。
【００６８】
本発明では、制御指令に基づいて可動部の状態を推定したり、調整成分を制御指令に重畳するに際して、加算や減算、或いは乗算といった極めて簡便な演算器又は演算手法により実現することが可能である。したがって、演算回路の構成を簡便化することができ、これにより低コスト化や処理の高速化を図ることができる。
【００６９】
したがって、本発明によれば、例えば卵などの損傷しやすい物体を安全に且つ確実につかんだり、歩行時に脚部に当たった障害物を確実に検知したり、人間が加える力に倣って握手をしたりなどといったように、外部から加えられた力に倣って関節部を滑らかに動作させることが可能なロボットを簡便且つ低コストで実現することができる。また、このような動作を実現する回路や装置の構成を簡便化することができることから、ロボット全体の軽量化・小型化を図ることも容易となる。
【図面の簡単な説明】
【図１】本発明に係る制御系の動作原理について説明するために示すブロック図である。
【図２】本発明の実施の形態として示す駆動モジュールの平面図である。
【図３】同駆動モジュールをモータの回転軸方向からみた側面図である。
【図４】同駆動モジュールの指部が屈曲した状態を示す側面図である。
【図５】同駆動モジュールに備えられる制御回路の回路構成について示すブロック図である。
【図６】同駆動モジュールに備えられるモータの回転位置が外力に倣って変化する様子を示す模式図である。
【符号の説明】
１０　駆動モジュール、１１　指部、１２　モータ、１３　減速器、１４　回転位置センサ、１５　ワイヤープーリー、１９　第１のワイヤー、２０　第２のワイヤー、５０　制御回路、５１　第１の減算器、５２　第１の増幅器、５３　加算器、５４　演算部、５５　第２の減算器、５６　第２の増幅器、６０　コンプライアンス調整器
【図１】
2004082243.tif 000005
【図２】
2004082243.tif 000006
【図３】
2004082243.tif 000007
【図４】
2004082243.tif 000008
【図５】
2004082243.tif 000009
【図６】
2004082243.tif 000010