(57)【要約】【課題】粘性変化を持つ機構部に適用しても、外乱推定内の粘性変化を考慮して駆動部の駆動状態に拘らず外乱推定の精度を極力向上できる駆動制御装置を提供する。【解決手段】装置の各部について、駆動・検出部２３０内では、モータドライバ２３５が制御対象物と結合される潤滑剤を含んだ粘性変化を持つ機構部の電動機を駆動部２３１のアクチュエータ２３２を介して駆動し、駆動情報検出部２３６が駆動部２３１の駆動情報を検出し、電流検出部２３４が駆動部２３１の電流を検出する。ＣＰＵ２１０内では、外乱推定部２３８が機構部に加わる負荷外乱を電流、駆動情報に基づいて推定し、駆動制御部２１３が駆動部２３１への駆動指令を負荷外乱に含まれる機構部と駆動部２３１とに関する粘性係数、及び駆動情報に基づいて制御する他、負荷外乱の推定時に粘性係数の値を駆動部２３１による機構部の停止中に停止時間に応じて補正する。【選択図】図２
2018067284.tif 000002
【特許請求の範囲】
【請求項１】
制御対象物を駆動する駆動部と、前記制御対象物及び前記駆動部に接続され、潤滑剤を含んだ粘性変化を持つ機構部と、前記駆動部による前記機構部の駆動情報を検出する駆動情報検出部と、前記駆動部に流れる電流を検出する電流検出部と、前記機構部に加わる負荷外乱を前記電流検出部で検出された前記電流と前記駆動情報検出部で検出された前記駆動情報とに基づいて推定する外乱推定部と、前記駆動部への駆動指令を前記外乱推定部により推定された前記負荷外乱に含まれる当該駆動部と前記機構部とに関する粘性係数、及び前記駆動情報検出部により検出された前記駆動情報に基づいて制御する制御部と、を備えた駆動制御装置であって、
前記制御部は、前記外乱推定部による前記負荷外乱の推定時に前記粘性係数の値を前記駆動部による前記機構部の駆動開始後から予め決められた値に漸近し、且つ前記駆動情報の変化に応じて異なる値に漸近するように設定することを特徴とする駆動制御装置。
【請求項２】
制御対象物を駆動する駆動部と、前記制御対象物及び前記駆動部に接続され、潤滑剤を含んだ粘性変化を持つ機構部と、前記駆動部による前記機構部の駆動情報を検出する駆動情報検出部と、前記駆動部に流れる電流を検出する電流検出部と、前記機構部に加わる負荷外乱トルクを前記電流検出部で検出された前記電流と前記駆動情報検出部で検出された前記駆動情報とに基づいて推定する外乱トルク推定部と、前記駆動部への駆動指令を前記外乱トルク推定部により推定された前記負荷外乱トルクに含まれる当該駆動部と前記機構部とに関する粘性係数、及び前記駆動情報検出部により検出された前記駆動情報に基づいて制御する制御部と、を備えた駆動制御装置であって、
前記制御部は、前記外乱トルク推定部による前記負荷外乱トルクの推定時に前記粘性係数の値を前記駆動部による前記機構部の停止中に停止時間に応じて補正すると共に、当該駆動部による当該機構部の駆動開始後から予め決められた値に漸近し、且つ前記駆動情報の変化に応じて異なる値に漸近するように設定することを特徴とする駆動制御装置。
【請求項３】
請求項１又は２記載の駆動制御装置において、
前記制御部は、補正する前記粘性係数の値に上限を設定することを特徴とする駆動制御装置。
【請求項４】
請求項１〜３の何れか１項記載の前記駆動制御装置において、
前記制御部は、補正する前記粘性係数の値の初期値について、停止した瞬間の粘性係数と同じ値を用いることを特徴とする駆動制御装置。
【請求項５】
請求項１〜４の何れか１項記載の駆動制御装置において、
前記制御部は、補正する前記粘性係数の値を時間関数で変化する値とすることを特徴とする駆動制御装置。
【請求項６】
請求項５記載の駆動制御装置において、
前記制御部は、補正する前記粘性係数の値について、時間に比例する値を用いることを特徴とする駆動制御装置。
【請求項７】
請求項１〜６の何れか１項記載の駆動制御装置において、
前記制御部は、補正する前記粘性係数の値について、補正するモードと補正しないモードとを切り替え可能であることを特徴とする駆動制御装置。
【請求項８】
請求項１又は２記載の駆動制御装置において、
前記粘性係数は、粘性摩擦係数であり、
前記駆動情報検出部は、前記駆動情報として前記駆動部による前記機構部の回転角速度を検出する回転角速度検出部であり、
前記制御部は、補正する前記粘性摩擦係数の値について、前記回転角速度検出部での前記回転角速度が第１の回転角速度のときの第１の粘性摩擦係数と第２の回転角速度のときの第２の粘性摩擦係数との関係において、当該第１の回転角速度が当該第２の回転角速度未満のときには当該第２の粘性摩擦係数よりも当該第１の粘性摩擦係数の値を大として設定することを特徴とする駆動制御装置。
【請求項９】
請求項２記載の駆動制御装置において、
前記粘性係数は、粘性摩擦係数であり、
前記駆動情報検出部は、前記駆動情報として前記駆動部による前記機構部の回転角速度を検出する回転角速度検出部であり、
前記制御部は、補正する前記粘性摩擦係数の値について、前記回転角速度検出部での前記回転角速度が第１の回転角速度のときの第１の粘性摩擦係数と第３の回転角速度のときの第４の粘性摩擦係数又は第４の回転角速度のときの第５の粘性摩擦係数との関係において、当該第１の回転角速度から当該第３の回転角速度又は当該第４の回転角速度へと切り替わったときには当該第１の粘性摩擦係数から当該第４の粘性摩擦係数又は当該第５の粘性摩擦係数へと時間的に連続して変化する値を設定することを特徴とする駆動制御装置。
【請求項１０】
請求項２記載の駆動制御装置において、
前記粘性係数は、粘性摩擦係数であり、
前記機構部の温度を検出する温度検出部を備え、
前記外乱トルク推定部は、前記機構部に加わる負荷外乱トルクを前記電流検出部で検出された前記電流、前記駆動情報検出部で検出された前記駆動情報、及び前記温度検出部で検出された前記温度に基づいて推定し、
前記駆動情報検出部は、前記駆動情報として前記駆動部による前記機構部の回転角速度を検出する回転角速度検出部であり、
前記制御部は、前記外乱トルク推定部による外乱トルク推定時に前記粘性摩擦係数の値について、前記駆動部による前記機構部の停止中に停止時間に応じて補正すると共に、当該駆動部による当該機構部の動作開始後から予め決められた値に漸近し、且つ前記回転角速度検出部での前記回転角速度及び前記温度の変化に応じて異なる値に漸近するように設定することを特徴とする駆動制御装置。
【請求項１１】
請求項１０記載の駆動制御装置において、
前記温度検出部は、前記潤滑剤を保持する前記機構部のケースに直接設置されたことを特徴とする駆動制御装置。
【請求項１２】
請求項１０記載の駆動制御装置において、
前記制御部は、補正する前記粘性摩擦係数の値について、前記回転角速度検出部での前記回転角速度及び前記温度検出部での温度が第１の回転角速度、且つ第１の温度のときの第１の粘性摩擦係数と、当該第１の回転角速度、且つ第２の温度のときの第３の粘性摩擦係数との関係において、当該第１の温度が当該第２の温度未満のときには当該第３の粘性摩擦係数よりも当該第１の粘性摩擦係数の値を大として設定することを特徴とする駆動制御装置。
【請求項１３】
請求項１０記載の駆動制御装置において、
前記制御部は、補正する前記粘性摩擦係数の値について、前記回転角速度検出部での前記回転角速度及び前記温度検出部での温度が第１の回転角速度、且つ第１の温度のときの
第１の粘性摩擦係数と、第２の回転角速度、且つ当該第１の温度のときの第２の粘性摩擦係数との関係において、当該第１の回転角速度が当該第２の回転角速度未満のときには当該第２の粘性摩擦係数よりも当該第１の粘性摩擦係数の値を大として設定することを特徴とする駆動制御装置。
【請求項１４】
請求項１０記載の駆動制御装置において、
前記制御部は、補正する前記粘性摩擦係数の値について、前記温度検出部での前記温度が第１の温度のときの第１の粘性摩擦係数と第３の温度のときの第６の粘性摩擦係数との関係で当該第１の温度から当該第３の温度へ変化したときには当該第１の粘性摩擦係数から当該第６の粘性摩擦係数へと時間的に連続して変化する値を設定することを特徴とする駆動制御装置。
【請求項１５】
請求項８〜１４の何れか１項記載の駆動制御装置において、
前記制御部は、補正する前記粘性摩擦係数の値について、前記駆動部による前記機構部の動作開始後から一次関数的に変化して予め決められた値に漸近するように設定することを特徴とする駆動制御装置。
【請求項１６】
請求項８〜１４の何れか１項記載の駆動制御装置において、
前記制御部は、補正する前記粘性摩擦係数の値について、前記駆動部による前記機構部の動作開始後から指数関数的に減衰して予め決められた値に漸近するように設定することを特徴とする駆動制御装置。
【請求項１７】
請求項１又は２記載の駆動制御装置において、
装置本体へ電力供給する電源部と、前記電源部から前記電力供給されていない電源を落とした時間を計測して電源オフ時間を決定する電源オフ時間計測部と、を備え、
前記制御部は、前記外乱推定部又は前記外乱トルク推定部で用いる前記粘性係数を前記電源オフ時間計測部で計測した前記電源オフ時間に応じて補正することを特徴とする駆動制御装置。
【請求項１８】
請求項１７記載の駆動制御装置において、
装置本体と接続されて現在の時間を計時する機能を持つ上位システムを備え、
前記電源オフ時間計測部は、前記電源を落とした時間と前記上位システムから取得した現在の時間との差分を前記電源オフ時間とすることを特徴とする駆動制御装置。
【請求項１９】
請求項１７記載の駆動制御装置において、
前記電源オフ時間計測部は、装置に内蔵されて前記電源を落とした時間を計時する計時装置を含むことを特徴とする駆動制御装置。
【請求項２０】
請求項１７記載の駆動制御装置において、
ユーザが装置外部から電源が落ちている時間を入力可能な入力部を備え、
前記電源オフ時間計測部は、前記電源を落とした時間とユーザが前記入力部により入力した当該電源が落ちている時間との差分を前記電源オフ時間とすることを特徴とする駆動制御装置。
【請求項２１】
請求項２０記載の駆動制御装置において、
前記電源オフ時間計測部で決定する前記電源オフ時間は、前記入力部の入力によって予めユーザが決定できることを特徴とする駆動制御装置。
【請求項２２】
請求項１７記載の駆動制御装置において、
前記機構部の温度を検出する温度検出部を備え、
前記電源オフ時間計測部は、前記温度検出部で検出された温度に基づいて前記電源を落とした時間を推定して計測することを特徴とする駆動制御装置。
【請求項２３】
請求項１７〜２２の何れか１項記載の駆動制御装置において、
前記制御部は、前記電源オフ時間計測部で決定した前記電源オフ時間に応じて前記粘性係数を補正するモードと補正しないモードとを切り替え可能であることを特徴とする駆動制御装置。
【請求項２４】
請求項１７〜２３の何れか１項記載の駆動制御装置と、装置本体と接続されて時間を計時する機能を持つ上位システムと、その他の装置と、をネットワーク接続した構成で工場設備用とされることを特徴とする駆動制御システム。
【請求項２５】
請求項１〜２３の何れか１項記載の駆動制御装置を備え、前記駆動部のアクチュエータにより前記機構部の電動機を駆動することを特徴とするトルク制御装置。
【請求項２６】
請求項２５記載のトルク制御装置を備え、入力部からの操作力指令値の外力に対して前記電動機の出力により前記制御対象物の関節をアシスト制御することを特徴とするアシスト制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動制御装置、駆動制御システム、トルク制御装置、アシスト制御装置に関する。
【背景技術】
【０００２】
従来、この種の駆動制御装置による制御対象の一例となる産業ロボットの腕や手に相当する部分のマニピュレータにおける外乱や外乱トルクを推定する方法として、外乱オブザーバを使用する技術が知られている。このような技術では、マニピュレータに結合される機構部に接続された電動機であるモータの電流・角速度・角加速度等から外乱を推定する。具体的には、モータの電流及びトルク定数を乗算した入力トルク、並びにモータの回転系慣性モーメントを示すイナーシャ及び角加速度を乗算した出力トルクとクーロン摩擦や粘性摩擦に係る摩擦力との関係から外乱トルクを推定する場合を例示できる。
【０００３】
このような制御対象における外乱や外乱トルクの推定に関連する周知技術の一例は下記に挙げられる。時間や温度ともに変化する摩擦力をより正確に求め、時間や温度の変化に依存することなく常に位置制御や柔軟制御の制御性能を高く維持することができる「サーボ制御装置および方法」（特許文献１参照）である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１に係る技術は、摩擦補償により位置制御や柔軟制御の性能を向上するため、一定時間でトルク指令値とシミュレーション値とを常に比較し、粘性値及びクーロン摩擦値を補正する手段を開示している。ところが、係る手法では、グリース等の潤滑剤による粘性変化を持つ機構部に適用した場合、粘性のパラメータが変化してしまい、外乱推定の精度が悪化してしまうという問題がある。その他、外乱推定時の粘性値が考慮されておらず、駆動部により駆動指令を受けるモータの停止中には粘性値を補正することができないという問題もある。
【０００５】
また、特許文献１に係る技術は、駆動部のトルク推定の精度を改善するため、時間や温度の変化に依存することなく、時間変化や温度変化に対して動的に粘性摩擦係数を切り替えている。或いは、時間変化に応じた摩擦モデルを生成することによって、粘性摩擦係数を時間変化に対して補償する手法を開示している。ところが、係る手法では、時間及び速度や温度に代表される状況変動に対する粘性摩擦係数の変化を考慮していないため、外乱トルク推定の精度が悪化してしまうという問題がある。
【０００６】
本発明は、このような問題点を解決すべくなされたもので、その主たる技術的課題は、以下のように表現できる。粘性変化を持つ機構部に適用しても、外乱推定内の粘性変化を考慮して駆動部の駆動状態に拘らず外乱推定の精度を向上できる駆動制御装置、駆動制御システム、トルク制御装置、アシスト制御装置を提供するものである。
【０００７】
また、本発明のその他の技術的課題は、以下のように表現できる。粘性変化を持つ機構部に適用しても、状況変動に対する粘性摩擦係数の変化を考慮して外乱トルク推定の精度を向上できる駆動制御装置、駆動制御システム、トルク制御装置、アシスト制御装置を提供するものである。
【課題を解決するための手段】
【０００８】
上記技術的課題を解決するため、本発明の一形態は、制御対象物を駆動する駆動部と、制御対象物及び駆動部に接続され、潤滑剤を含んだ粘性変化を持つ機構部と、駆動部による機構部の駆動情報を検出する駆動情報検出部と、駆動部に流れる電流を検出する電流検出部と、機構部に加わる負荷外乱を電流検出部で検出された電流と駆動情報検出部で検出された駆動情報とに基づいて推定する外乱推定部と、駆動部への駆動指令を外乱推定部により推定された負荷外乱に含まれる当該駆動部と機構部とに関する粘性係数、及び駆動情報検出部により検出された駆動情報に基づいて制御する制御部と、を備えた駆動制御装置であって、制御部は、外乱推定部による負荷外乱の推定時に粘性係数の値を駆動部による機構部の駆動開始後から予め決められた値に漸近し、且つ駆動情報の変化に応じて異なる値に漸近するように設定することを特徴とする。
【発明の効果】
【０００９】
本発明では、上記一形態に係る構成により、粘性変化を持つ機構部に適用しても、外乱推定内の粘性変化を考慮して駆動部による駆動状態に拘らず負荷外乱推定の精度を向上できるようになる。上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例に係る駆動制御装置が適用されたマニピュレータ装置の概略構成を示したもので、（ａ）は駆動制御装置を備えたマニピュレータ本体と制御対象のマニピュレータ並びに周辺装置との接続構成に係るブロック図、（ｂ）はマニピュレータの外観を側面方向から示した図である。
【図２】図１に示すマニピュレータ装置の細部構成を周辺装置を含めて示したブロック図である。
【図３】図２に示すマニピュレータ装置のマニピュレータ本体に備えられる入力部の外観構成を示した概略図である。
【図４】図２に示すマニピュレータ装置のマニピュレータ本体に備えられる外乱推定部を外乱トルク推定部とした場合の回路構成を例示したもので、（ａ）はローパスフィルタを持たない回路構成図、（ｂ）ローパスフィルタを持つ回路構成図である。
【図５】図４（ｂ）に示す外乱トルク推定部で得られた外乱トルク推定値を用いてトルク制御を行う場合のトルク制御回路の構成例を示したブロック図である。
【図６】図５に示すトルク制御回路を用いてアシスト制御を行うイメージの模式図を示したもので、（ａ）はマニピュレータの操作状態推移に対比される位置変化に対する力の変化の関係で示される動作に必要な力の特性図、（ｂ）は外力の操作力に対する操作力指令値の関係を示した図である。
【図７】図５に示すトルク制御回路を用いてアシスト制御を行う場合の図２に示すマニピュレータ装置のマニピュレータ本体に備えられるＣＰＵ内の駆動制御部に係る動作処理を示すフローチャートである。
【図８】図４（ｂ）に示す外乱トルク推定部を温度センサで検出される温度を用いて粘性摩擦係数の補正用とした場合の回路構成を例示した図である。
【図９】図８に示す外乱トルク推定部を適用した場合の異なる温度での回転角速度に対する粘性摩擦係数及び摩擦力との関係を示した特性図であり、（ａ）は回転角速度に対する粘性摩擦係数の特性図、（ｂ）は回転角速度に対する摩擦力の特性図である。
【図１０】図８に示す外乱トルク推定部を適用した場合の駆動部による機構部に対する駆動時間に対応して回転角速度及び温度を異なるパターンで変化させて粘性摩擦係数を補正する場合の特性パラメータを移動回転距離と対比させて示した図である。同図（ａ）は特性パラメータのパターン１に関する図、同図（ｂ）は特性パラメータのパターン２に関する図、同図（ｃ）は特性パラメータのパターン３に関する図である。
【図１１】図８に示す外乱トルク推定部を適用した場合の駆動部による機構部に対する駆動時間に対応して回転角速度を途中で変化させて粘性摩擦係数を補正する場合の特性パラメータを移動回転距離と対比させて示した図である。同図（ａ）は特性パラメータのパターン４に関する図、同図（ｂ）は特性パラメータのパターン５に関する図である。
【図１２】図１１（ａ）の特性パラメータのパターン４で回転角速度を第１の回転角速度で駆動開始してから十分時間が経過して粘性摩擦係数が第１の粘性摩擦係数に漸近する前に第３の回転角速度に変化させた場合の時間に対する粘性摩擦係数及び回転角速度の特性を対比して示した図である。
【図１３】図７で説明した駆動制御部による駆動・検出部及び駆動部を介しての機構部への駆動後の駆動時間に基づく粘性摩擦係数補正制御の動作処理に係るフローチャートである。
【図１４】図７で説明した駆動制御部による駆動・検出部及び駆動部を介しての機構部への駆動後の移動した移動回転距離に基づく粘性摩擦係数補正制御の動作処理に係るフローチャートである。
【図１５】実施例に係る粘性摩擦係数の補正に使用される駆動部による機構部の停止時間に対する粘性摩擦係数Ｃの関係で示される補正関数特性の特性図である。同図（ａ）は非線形な補正関数に関する図、同図（ｂ）は線形な補正関数に関する図である。
【図１６】実施例に係る粘性摩擦係数の補正動作のパターンを時間に対する粘性摩擦係数の関係で示される補正関数と時間に対するモータの回転角速度の関係で示される動作特性とを対比して示した図である。
【図１７】実施例に係る粘性摩擦係数Ｃの補正時に切り替え使用される補正関数を時間に対する粘性摩擦係数の関係で示した特性図である。
【図１８】図２に示すマニピュレータ装置のマニピュレータ本体に備えられるＣＰＵ内の駆動制御部による粘性摩擦係数補正の動作処理を示すフローチャートである。
【図１９】図２に示すマニピュレータ装置を工場設備用とし、上位システムとその他の装置とにネットワークで接続した構成の駆動制御システムを示す概略図である。
【図２０】図２に示すマニピュレータ装置に備えられる入力部で現在の時間を入力したときの粘性摩擦係数の補正処理を示すフローチャートである。
【図２１】図２に示すマニピュレータ装置に備えられる入力部で電源が落ちている時間を入力したときの粘性摩擦係数の補正処理を示すフローチャートである。
【図２２】図２に示すマニピュレータ装置に備えられる温度センサで検出される温度に基づいて電源が落ちている時間を推定して計測するときに使用される補正関数を停止時間に対する温度の関係で示した特性図である。図２２（ａ）は非線形な推定補正関数の特性に関する図、図２２（ｂ）は線形な推定補正関数の特性に関する図である。
【図２３】図２に示すマニピュレータ装置のマニピュレータ本体に備えられるＣＰＵ内の駆動制御部による動作モード切り替えの動作処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明の駆動制御装置、駆動制御システム、トルク制御装置、アシスト制御装置について、実施例を挙げ、図面を参照して詳細に説明する。
【実施例】
【００１２】
図１は、本発明の実施例に係る駆動制御装置が適用されたマニピュレータ装置２００の概略構成を示したものである。同図（ａ）は駆動制御装置を備えたマニピュレータ本体２０１と制御対象のマニピュレータ並びに周辺装置との接続構成に係るブロック図、同図（ｂ）はマニピュレータの外観を側面方向から示した図である。
【００１３】
図１（ａ）、図１（ｂ）を参照すれば、このマニピュレータ装置２００は、一端側が手の役割を持つアーム１０１の他端部の根元部分がベース板１０８に取付け固定された土台１０２との間で軸支されて関節となる。また、軸心を駆動中心１０３としてアーム１０１が回転可能な１自由度を持つ制御対象のマニピュレータとして機構部に結合される。この上でマニピュレータ本体２０１に備えられる駆動制御装置で機構部の電動機を駆動するように構成される。ここでのマニピュレータの駆動中心１０３は、減速機１０６に接続され、電動機としてのモータ１０５からの動力によって回転駆動される。これにより、減速機１０６に接続されたモータ１０５の動力が伝達されてアーム１０１が駆動中心１０３に対して回転駆動する。アーム１０１の動作を制動させるためにアーム１０１の根元部分と減速機１０６との間に動力伝達機構部としてのクラッチを介在させても良い。モータ１０５にはその回転量を計測可能なモータ用エンコーダ（ＥＮＣ）１０４が取付けられている。ここでの機構部は、モータ１０５及びこれを駆動する駆動部に接続される減速機１０６及びモータ用エンコーダ１０４を含む構成（或いはアーム１０１を含めても良い）を示す。土台１０２は、機構部及びモータ１０５とマニピュレータのアーム１０１とに対する支持部として働く。マニピュレータ自体は、減速機１０６とモータ用エンコーダ１０４が取付けられたモータ１０５とがアーム１０１に固定され、駆動中心１０３が土台１０２に固定される構造となる。その他、マニピュレータ本体２０１には、後文で説明する外部接続装置１０７が接続される。
【００１４】
上述したマニピュレータ装置２００におけるマニピュレータの機構部は、潤滑剤を含む粘性変化を持つ場合を想定している。因みに、ここでは制御対象物をマニピュレータのアーム１０１としたが、その他にグリース等の潤滑剤を含む波動歯車装置や工作機器等に適用することも可能である。こうした場合、機構部のモータ１０５は、それ以外の流体機械や熱機関を含む広義な意味での原動機を用いることが可能である。
【００１５】
図２は、図１に示すマニピュレータ装置２００の細部構成を周辺装置を含めて示したブロック図である。
【００１６】
図２を参照すれば、ここでのマニピュレータ装置２００は、マニピュレータ本体２０１に対して周辺装置として上述した外部接続装置１０７に該当する電源部２９１とホストコントローラ２８１とが接続されて構成される。マニピュレータ動作に画像情報が必要な場合には更にホストコントローラ２８１に対して画像入力装置２７１が接続される。因みに、マニピュレータ装置２００の構成自体は、変更可能である。マニピュレータ本体２０１、ホストコントローラ２８１、電源部２９１を別体として構成する以外、これらの全てをマニピュレータ本体２０１内に実装したスタンドアロン式の構成を例示できる。
【００１７】
マニピュレータ本体２０１の細部構成は、駆動部２３１のアクチュエータ２３２に対する駆動指令を駆動・検出部２３０のモータドライバ２３５を介して行うＣＰＵ２１０を備える。このＣＰＵ２１０内の通信制御部２１１がホストコントローラ２８１と通信網２８２で接続され、ホストコントローラ２８１から通信網２８２及び通信制御部２１１を経由してＣＰＵ２１０内の駆動制御部２１３に各種情報が伝送される。この各種情報は、動作モード情報、駆動制御に必要な各種パラメータ、マニピュレータの目標移動位置情報等である。
【００１８】
ＣＰＵ２１０には、各種センサ２２０や各種スイッチ２２１の信号が入力される。また、例えばＣＰＵ２１０に接続可能な入力部２３９から動作モードを入力して設定することもできる。この際、これらの信号情報に基づいてマニピュレータに対する緊急停止等の軌道停止動作が駆動制御部２１３の動作指令によって行われる。更に、ＣＰＵ２１０にはクロック２２３が入力端子及び出力端子で接続され、クロック信号が取り込まれるようになっている。
【００１９】
加えて、ＣＰＵ２１０内には、動作プログラムやマニピュレータの動作制御に必要な情報を書き換え可能に格納するための各種メモリ機能を持つ記憶部２１４やカウント計数用のタイマ２１２が搭載されている。これらに接続された駆動制御部２１３は、マニピュレータの動作制御として、駆動・検出部２３０のモータドライバ２３５による駆動部２３１のアクチュエータ２３２への駆動指令を出力する。このとき、駆動制御部２１３は、外乱推定部２３８により推定された負荷外乱に含まれるモータ１０５と機構部と関する粘性係数に基づいて駆動指令の出力を制御する。即ち、マニピュレータの各関節は、駆動制御部２１３から駆動指令を受けた駆動・検出部２３０のモータドライバ２３５がドライブする駆動部２３１のアクチュエータ２３２によって機構部のモータ１０５を駆動することで行われる。図２では駆動部２３１がアクチュエータ２３２にエンコーダ２３３が付設されて構成され、駆動・検出部２３０内に含まれる形態として示している。
【００２０】
アクチュエータ２３２の駆動情報は、駆動部２３１のアクチュエータ２３２に付設されたエンコーダ２３３からの信号として駆動・検出部２３０の駆動情報検出部２３６に入力される。駆動情報検出部２３６は、エンコーダ２３３からの信号を移動量、移動速度、移動加速度といった駆動情報に変換する。
【００２１】
また、機構部３２１のアクチュエータ２３２に流れる電流は駆動・検出部２３０の電流検出部２３４によって駆動・検出部２３０内で検出される。更に、駆動・検出部２３０には駆動部２３１の温度を検出する温度検出部としての温度センサ２４０を備えるようにし、温度検出情報を外乱推定部２３８へ送出するようにしても良い。これらの駆動情報検出部２３６で検出された駆動情報、電流検出部２３４で検出された電流、及び温度センサ２４０で検出された温度は、ＣＰＵ２１０内の外乱推定部２３８に入力される。外乱推定部２３８は、入力された駆動情報、電流、及び温度に基づいて駆動部２３１に加わる負荷外乱を推定して駆動制御部２１３に送出する。尚、温度センサ２４０を用いる場合には、潤滑剤を保持する駆動部２３１のケースに温度センサ２４０を直接設置することが好ましい。例えば潤滑剤のグリス近傍のハーモニックドライブ(登録商標）のケースに直接取り付ければ、グリスの温度を直接検出することができる。
【００２２】
駆動制御部２１３では、駆動情報検出部２３６で検出された駆動情報、外乱推定部２３８で推定された負荷外乱値、並びに入力部２３９等で設定された動作モードに基づいて目標指令値を生成する。このとき、駆動制御部２１３は、目標指令値に沿った駆動となるように、駆動・検出部２３０のモータドライバ２３５に駆動指令を送出し、駆動部２３１のアクチュエータ２３２をフィードバック制御で駆動する。この結果、図１に示したモータ１０５が目標指令値に沿うように回転制御される。外乱推定部２３８により推定される負荷外乱には、モータ１０５を含む機構部と駆動部２３１とに関する粘性係数が含まれる。
【００２３】
駆動部２３１は、駆動・検出部２３０の駆動情報検出部２３６、電流検出部２３４、及びモータドライバ２３５に接続される。駆動情報検出部２３６は、駆動・検出部２３０内のモータドライバ２３５による駆動部２３１のアクチュエータ２３２の駆動情報を検出する。電流検出部２３４は、駆動・検出部２３０内でモータドライバ２３５に流れる電流を検出する。
【００２４】
外乱推定部２３８は、駆動部２３１に加わる負荷外乱を電流検出部２３４で検出された電流、駆動情報検出部２３６で検出された駆動情報、及び温度センサ２４０で検出された温度に基づいて推定する。駆動制御部２１３は、駆動・検出部２３０への駆動指令を外乱推定部２３８により推定された負荷外乱に含まれる機構部と駆動部２３１とに関する粘性係数と駆動情報検出部２３６により検出された駆動情報とに基づいて制御する。上述した各部構成のうち、駆動情報検出部２３６、電流検出部２３４、及びモータドライバ２３５と、外乱推定部２３８、及び駆動制御部２１３と、を備えた構成は、モータ１０５を含む機構部を駆動するための駆動制御装置と呼ばれても良い。
【００２５】
また、ここでの駆動制御部２１３は、特徴的機能として、外乱推定部２３８による負荷外乱の推定時に粘性係数の値を駆動・検出部２３０の駆動部２３１による機構部の駆動開始後から予め決められた値に漸近し、且つ駆動情報の変化に応じて異なる値に漸近するように設定する機能を持つ。また、この負荷外乱の推定時に粘性係数の値を駆動部２３１による機構部の停止中に停止時間に応じて補正するようにしても良い。粘性係数の値の補正には、予め計算して決められた関数データの特性パラメータが用いられる。こうした機能を持つ場合、後文で詳述するように粘性変化を持つ機構部に適用しても、負荷外乱推定内の粘性変化を考慮して駆動・検出部２３０の駆動状態に拘らず負荷外乱推定の精度を極力向上することができる。因みに、負荷外乱には負荷外乱トルク以外にも装置の自重等が含まれる。
【００２６】
ところで、上述した外乱推定部２３８は、例えば機構部に加わる負荷外乱トルクを推定する外乱トルク推定部としても良い。こうした場合、駆動制御部２１３は、外乱トルク推定部による負荷外乱トルクの推定時に粘性係数の値を駆動・検出部２３０の駆動部２３１による機構部の停止中に停止時間に応じて補正すると共に、駆動部２３１による機構部の駆動開始後から予め決められた値に漸近し、且つ駆動情報の変化に応じて異なる値に漸近するように設定する機能を持つことになる。ここでは粘性係数として、粘性摩擦係数を扱う場合を例示できる。こうした機能を持つ場合、後文で詳述するように粘性変化を持つ機構部に適用しても、時間及び速度に対する粘性摩擦係数の変化を考慮して負荷外乱トルク推定の精度を極力向上することができる。
【００２７】
因みに、上述した負荷外乱トルクを推定して粘性摩擦係数の値を補正する機能の駆動制御装置は、駆動部２３１のアクチュエータ２３２により機構部のモータ１０５を駆動するため、トルク制御装置と呼ばれても良い。また、こうした観点でのトルク制御装置は、入力部２３９からの操作力指令値の外力に対してモータ１０５の出力により制御対象物のアーム１０１の関節をアシスト制御するため、アシスト制御装置と呼ばれても良い。尚、駆動情報検出部２３６は、実施態様上で駆動情報を回転情報とし、回転角速度を検出する回転角速度検出部としても良い。
【００２８】
何れにしても、駆動制御部２１３は、その他の機能として、補正する粘性係数の値や粘性摩擦係数の値に上限を設定することができる。或いは補正する粘性係数の値や粘性摩擦係数の値の初期値について、停止した瞬間の粘性係数又は粘性摩擦係数と同じ値を用いることができる。また、駆動制御部２１３は、補正する粘性係数の値や粘性摩擦係数の値を時間関数で変化する値とすること、或いは補正する粘性係数の値や粘性摩擦係数の値について、時間に比例する値を用いることができる。更に、駆動制御部２１３は、補正する粘性係数の値や粘性摩擦係数の値について、補正するモードと補正しないモードとを切り替え可能とすることができる。
【００２９】
実施例に係るマニピュレータ装置２００のマニピュレータ本体２０１に備えられる駆動制御装置では、機構部及びそれに含まれるモータ１０５における負荷外乱の推定に際して、時間関数で変化する粘性係数を用いることができる。負荷外乱の推定を行う際、粘性係数が一定値又は回転情報に応じてその値を変える手法は確立されており、機構部に含まれるグリース等の潤滑剤には粘性が時間に応じて変化する特性があることも知られている。従って、負荷外乱の推定で用いる粘性係数を時間の関数で変化させれば粘性係数が実機モデルに近くなるため、負荷外乱の推定の精度が向上するようになる。ここで、具体的に負荷外乱推定を負荷外乱トルク推定とし、粘性係数を粘性摩擦係数とする場合を例示できるのは上述した通りである。
【００３０】
図３は、上述したマニピュレータ装置２００のマニピュレータ本体２０１に備えられる入力部２３９の外観構成を示した概略図である。
【００３１】
図３を参照すれば、入力部２３９は、ユーザによるマニピュレータの操作用又は動作プロファイルの作成用とされるタッチパネルａと、動作プロファイルの作成用のテンキーｂと、を備える。また、その他にマニピュレータの動作開始用の実行ボタンｃと、電源オン用の電源ボタンｄと、マニピュレータの動作を緊急に停止するための緊急停止ボタンｅと、を備えている。
【００３２】
入力部２３９をユーザが使用する場合、電源ボタンｄをオンにすると、タッチパネルａが表示され、その表示内容に従ってマニピュレータの操作が可能となる。そこで、ユーザはタッチパネルａやテンキーｂにより動作プロファイルを作成した後、実行ボタンｃによりマニピュレータの動作を開始する。このとき、上述した粘性係数や粘性摩擦係数を補正するモードと補正しないモードとを切り替え設定することが可能となっている。
【００３３】
例えば、タッチパネルａに表示されるメニューから「動作モード選択」を選定すると、タッチパネルａ上に粘性係数或いは粘性摩擦係数を補正するか否かのオン・オフスイッチが表示される。そこで、ユーザはテンキーｂやタッチパネルａを利用して補正モードオン・オフを切り替えることができる。また、補正モードをオフとした場合、粘性係数或いは粘性摩擦係数のデフォルト値を決めることができる。補正モードのオン・オフに係る情報とデフォルト値とはＣＰＵ２１０に入力され、外乱推定部２３８或いは外乱トルク推定部で使用される。
【００３４】
図４は、上述したマニピュレータ本体２０１に備えられる外乱推定部２３８を外乱トルク推定部とした場合の回路構成を例示したもので、同図（ａ）はローパスフィルタを持たない回路構成図、同図（ｂ）ローパスフィルタを持つ回路構成図である。
【００３５】
図４（ａ）に示される外乱トルク推定部は、実機部４０４に対するトルク推定部４０３Ａがローパスフィルタを持たない場合に該当する。これに対し、図４（ｂ）に示される外乱トルク推定部は、実機部４０４に対するトルク推定部４０３Ｂが擬似微分用のローパスフィルタ４０５を持つ場合に該当する。何れの外乱トルク推定部についても、実機部４０４は通常、減速機１０６を含めると２慣性系のブロック図になるが、ここでは１慣性系と捉えて簡略化して示している。また、ここでは電流検出部２３４から入力される電流の検出結果及び駆動情報検出部２３６から得られる駆動情報に含まれる外乱トルク及びクーロン摩擦に基づいて実機部４０４の出力をモータ１０５の回転角速度ωを積分１／ｓした値でモータ軸の角度θとする。この他、慣性モーメントＪとして駆動部２３１や減速機１０６に係る慣性モーメントをモータ軸に換算した値を使用する。尚、１／ｓはラプラス変換の表記上で積分を示すものである。
【００３６】
図４（ａ）及び図４（ｂ）に共通する実機部４０４では、電流の検出結果にトルク定数Ｋｔを乗じた値と後述する演算パラメータとの差分を慣性モーメントＪの逆数１／Ｊで乗算した値を積分１／ｓした値によりモータ１０５の回転角速度ωを算出する。また、この回転角速度ωを積分１／ｓした値によりモータ軸の角度θを出力する。重力項付加部４０１は、モータ１０５に接続されている機構部により力が異なるため、その機構部で出力される角度θに対する関数で重力項ｇ（θ）を決定して外乱トルク及びクーロン摩擦の加算値にパラメータとして加算する。粘性摩擦係数付加部４０２は、回転角速度ωにモータ１０５と減速機１０６及び駆動部２３１とに関する粘性摩擦係数Ｃを乗じた値を外乱トルク及びクーロン摩擦の加算値と重力項ｇ（θ）との加算値に加算して演算パラメータとする。
【００３７】
また、図４（ａ）のトルク推定部４０３Ａでは、電流の検出結果にトルク定数Ｋｔの推定値Ｋｔ＊を乗じた値からクーロン摩擦及び後述する演算パラメータを減算した値を外乱トルク推定値とする。尚、ここでの＊は、以下も同様であるように推定値記号のハットマークを代用するものとする。この演算パラメータは、外乱オブザーバを用いる。具体的には、重力項ｇ（θ）と回転角速度ωに粘性摩擦係数Ｃの推定値Ｃ＊を乗じた値とを加算した値に対して上述した慣性モーメントＪの逆数１／Ｊで乗算した値に慣性モーメントＪの推定値Ｊ＊を乗じた値を加算した値で得られる。
【００３８】
更に、図４（ｂ）のトルク推定部４０３Ｂでは、電流の検出結果にトルク定数Ｋｔの推定値Ｋｔ＊を乗じた値とローパスフィルタ４０５の時定数τを考慮して回転角速度ωに慣性モーメントＪの推定値Ｊ＊／τを乗じた値との加算値を算出する。また、この加算値に対して回転角速度ωに粘性摩擦係数Ｃの推定値Ｃ＊を乗じた値を減算した値から重力項ｇ（θ）及びクーロン摩擦を減算した値をローパスフィルタ４０５で疑似微分１／（ｓτ＋１）する。更に、疑似微分１／（ｓτ＋１）の値から上述した時定数τを考慮して回転角速度ωに慣性モーメントＪの推定値Ｊ＊／τを乗じた値を減算して外乱トルク推定値を得る。
【００３９】
何れにしても、実機部４０４及びトルク推定部４０３Ａ、４０３Ｂで使われる各種パラメータであるトルク定数Ｋｔ、慣性モーメントＪ、粘性摩擦係数Ｃ、或いはそれらの推定値等には誤差が含まれているため、パラメータを同定して値を合わせる必要がある。実用上では、例えば実験データを用いて統計処理上での重回帰分析を行ったり、或いは周波数応答解析からパラメータの同定を行う場合を例示できる。
【００４０】
図５は、図４（ｂ）に示す外乱トルク推定部で得られた外乱トルク推定値を用いてトルク制御を行う場合のトルク制御回路の構成例を示したブロック図である。
【００４１】
図５を参照すれば、このトルク制御回路は、図４（ｂ）の外乱トルク推定部で得られる外乱トルク推定値をフィードバックし、操作力目標となるトルク指令と比較して外乱トルク推定値をトルク指令の値から減算した結果を得る。この結果に対して比例、積分、微分を含むＰＩＤ演算を行うＰＩＤ制御器５０１でＰＩＤ演算する。また、そのＰＩＤ演算の結果を受けた電流ドライバ５０２がモータ１０５へ電流値を供給する。このときの電流値が外乱トルク推定部に入力されるが、こうしたフィードバック制御を行うことでトルク指令値に追従したトルク制御を精度良く行うことができる。このトルク制御回路では、演算パラメータに重力項ｇ（θ）を用いているものの、重力補償等の動力学的補償を行っていない。そこで、更に摩擦補償や重力補償、慣性力等の補償を実施すれば、より追従性の優れたフィードバック制御並びに負荷外乱を打ち消すためのフィードフォワード制御を精度良く行わせることができる。
【００４２】
図６は、図５に示すトルク制御回路を用いてアシスト制御を行うイメージの模式図を示したものである。同図（ａ）はマニピュレータ５０３の操作状態推移に対比される位置変化に対する力の変化の関係で示される動作に必要な力の特性図、同図（ｂ）は外力の操作力に対する操作力指令値の関係を示した図である。
【００４３】
図６（ａ）を参照すれば、図５に示すトルク制御回路でアシスト制御を行う際、マニピュレータ５０３を或る位置Ｐから他の位置Ｐ′へ操作して移動させるときには、トルク指令の値による操作力の目標値を設定する。これにより、動作に必要な力の一部がモータ出力のアシスト力で補われて外力の操作力への合力となるため、一定の外力の操作力で目標値に追従した操作が可能となる。また、図６（ｂ）を参照すれば、操作力指令値の目標値Ｆとしては、外力の操作力の変化−Ｆ１〜Ｆ１の区間のように外力の操作力の目標値Ｆに対して不感帯を持つようなプロファイルを持たせれば良い。これにより、突然動作することや発振を抑制でき、安定した動作が可能となる。
【００４４】
図７は、図５に示すトルク制御回路を用いてアシスト制御を行う場合のマニピュレータ装置２００Ｃのマニピュレータ本体２０１に備えられるＣＰＵ２１０内の駆動制御部２１３に係る動作処理を示すフローチャートである。
【００４５】
図７を参照すれば、駆動制御部２１３のアシスト制御に係る動作処理では、まずトルク指令となる操作力目標値設定（ステップＳ１）を行ってからマニピュレータ５０３の位置を関節角により検出（ステップＳ２）する。この後、駆動制御部２１３はマニピュレータ５０３の外力の操作力を検出（ステップＳ３）する。次に、検出結果に基づいて操作有りか否かの判定（ステップＳ４）を行う。この判定の結果、操作が無ければマニピュレータ５０３の位置を関節角により検出（ステップＳ２）する処理の前に戻ってそれ以降の処理を繰り返す。これに対し、操作が有ればアシスト制御を開始する。ここまでの処理の流れでは、駆動制御部２１３においてマニピュレータ５０３の位置や回転角速度ωの変化や外力の操作力の変化から入力部２３９による操作の有無を判断してアシスト制御を開始できることを示している。
【００４６】
アシスト制御が開始されると、駆動制御部２１３は初期的に設定されたマニピュレータ５０３の操作力目標値を検出結果に基づいて操作目標値誤差検出（ステップＳ５）を行ってからモータ１０５のトルク出力値を算出（ステップＳ６）する。このトルク出力値は、モータの回転系慣性モーメントを示すイナーシャと回転角速度ωを微分した角加速度とを乗算して得られる。そこで、駆動制御部２１３は算出されたトルク出力値でモータ駆動（ステップＳ７）してから再度マニピュレータ５０３の位置を関節角により検出（ステップＳ８）した後、マニピュレータ５０３の外力の操作力を検出（ステップＳ９）する。
【００４７】
更に、検出結果に基づいて操作有りか否かの判定（ステップＳ１０）を行う。この判定の結果、操作が有れば操作目標値誤差検出（ステップＳ５）する処理の前に戻ってそれ以降の処理を繰り返す。これに対し、操作が無ければアシスト制御を終了する。ここまでの処理の流れでは、駆動制御部２１３において検出した操作目標値誤差に基づいてモータ１０５を駆動制御しつつ、外力の操作力との比較を行ってその外力の操作力が操作目標値になるようモータ１０５をフィードバック制御することを示している。この結果、アシスト制御の動作を精度良く行わせることができる。
【００４８】
図８は、図４（ｂ）に示す外乱トルク推定部を温度センサ２４０で検出される温度を用いて粘性摩擦係数の補正用とした場合の回路構成を例示した図である。
【００４９】
図８を参照すれば、この外乱トルク推定部は、図４（ｂ）の回路構成と比べ、実機部４０４における粘性摩擦係数付加部６０１がグリース等の潤滑剤による粘性変化を持つ駆動部２３１を対象とした場合に粘性摩擦係数Ｃが駆動時間ｔ及び回転角速度ωと温度Ｔとによって変化することを考慮する。そこで、粘性摩擦係数Ｃ（ω，Ｔ，ｔ）をパラメータとして用いる。因みに、温度Ｔを用いない場合には、粘性摩擦係数Ｃ（ω，ｔ）をパラメータとして用いることになる。また、トルク推定部４０３Ｂでは、電流の検出結果にトルク定数Ｋｔの推定値Ｋｔ＊を乗じた値と回転角速度ωにローパスフィルタ４０５の時定数τを用いて慣性モーメントＪの推定値Ｊ＊／τを乗じた値との加算値に対する減算用パラメータが相違している。具体的には、回転角速度ωに乗じられる粘性摩擦係数Ｃの推定値Ｃ＊（ω，Ｔ，ｔ）をパラメータとして用いる点が相違している。ここでも温度Ｔを含ませない場合には、粘性摩擦係数Ｃの推定値Ｃ＊（ω，ｔ）をパラメータとして用いることになる。
【００５０】
ところで、トルク推定部４０３Ｂで用いるパラメータは、予め取得しておいた駆動時間ｔ及び回転角速度ωと温度Ｔとに応じたデータ値を用いることが好ましい。そのデータとしては、一定の回転角速度ωで駆動したとき及び回転角速度ωを途中で変化させたときの粘性摩擦係数Ｃｘの値の駆動時間ｔの変化を複数の回転角速度ω、温度Ｔの組合せで取得しておく。そして、それらのデータに基づいて駆動時間ｔ、回転角速度ω、温度Ｔに対する粘性摩擦係数Ｃｘの値を関数化したものを用いる。因みに、粘性摩擦係数Ｃｘのｘは０〜∞とする場合を例示できる。これらのデータは、複数のテーブル形式として記憶部２１４に格納するようにすれば精度の高いトルク推定を行うことができる。
【００５１】
また、上述したデータは個体毎に異なることが多いため、個体毎に取得することが望ましい。粘性摩擦係数Ｃｘの補正方法として、図８に示す回路構成を例示して説明したが、本実施例では駆動時間ｔ及び回転角速度ωと温度Ｔとに対する粘性摩擦係数Ｃｘの補正を行うことを技術的要旨とする。このため、図８に示す回路構成以外に、例えば電流値の多項式から推定する手法、電流及び電圧、磁束から推定する手法等を適用することができる。また、トルク推定をせずに摩擦補償をする場合であっても、粘性摩擦係数Ｃｘの補正を行うことができる。
【００５２】
図９は、図８に示す外乱トルク推定部を適用した場合の異なる第１の温度Ｔａ、第２の温度Ｔｂでの回転角速度ωに対する粘性摩擦係数Ｃ及び摩擦力ｆとの関係を示した特性図である。同図（ａ）は回転角速度ωに対する粘性摩擦係数Ｃの特性図、同図（ｂ）は回転角速度ωに対する摩擦力ｆの特性図である。但し、ここでの温度Ｔの関係は第１の温度Ｔａ＜第２の温度Ｔｂであるとする。また、以下も同様であるように、こうした特性や関数は何れも実験による測定、シミュレーション、理論計算等の様々な方法で決定することができるので、予め取得した上で記憶部２１４の不揮発性メモリに記憶されているものとする。
【００５３】
図９（ａ）を参照すれば、第１の温度Ｔａでの回転角速度ωに対する粘性摩擦係数Ｃの特性では、粘性摩擦係数Ｃが回転角速度ω＝０の初期値Ｃ０から駆動部２３１により機構部を駆動開始して回転角速度ωを増加させると、駆動時間ｔに応じてそれぞれ異なる曲線状に減衰して降下するように変化する特性であることを示している。
【００５４】
具体的に云えば、図９（ａ）の特性図では、駆動時間ｔの初期値ｔ０では一定値を維持する特性になるが、所定時間ｔ１経過後や長時間ｔ∞経過後では回転角速度ωが速い程、粘性摩擦係数Ｃが低くなる特性となることを示している。長時間ｔ∞経過後の粘性摩擦係数Ｃは、第１の回転角速度ω１のときの第１の粘性摩擦係数Ｃ１の値よりも速度アップした第２の回転角速度ω２のときの第２の粘性摩擦係数Ｃ２の値の方が小さくなっている。因みに、温度Ｔを用いない場合にも図９（ａ）に示す特性とほほ同様な形態となる。
【００５５】
また、第２の温度Ｔｂでの回転角速度ωに対する粘性摩擦係数Ｃの特性においても同様な傾向を示し、粘性摩擦係数Ｃが回転角速度ω＝０の初期値Ｃ０′から駆動部２３１により機構部を駆動開始して回転角速度ωを増加させると、駆動時間ｔに応じてそれぞれ異なる曲線状に減衰して降下するように変化する特性であることを示している。ここでも長時間ｔ∞経過後の粘性摩擦係数Ｃは、第１の回転角速度ω１のときの別の第１の粘性摩擦係数Ｃ１′の値よりも速度アップした第２の回転角速度ω２のときの別の第２の粘性摩擦係数Ｃ２′の値の方が小さくなっている。
【００５６】
要するに、図９（ａ）からは、第１の温度Ｔａ、第２の温度Ｔｂの双方の対比で粘性摩擦係数Ｃの特性は駆動時間ｔに伴って下降する傾向にあることが判る。また、回転角速度ωが速い程、粘性摩擦係数Ｃの値や特性が低下すると共に、温度Ｔが低い程、粘性摩擦係数Ｃの値や特性が上昇することが判る。
【００５７】
これに対し、図９（ｂ）を参照すれば、第１の温度Ｔａでの回転角速度ωに対する摩擦力ｆの特性では、摩擦力ｆが回転角速度ω＝０の初期値Ｆ０から駆動部２３１により機構部を駆動開始して回転角速度ωを増加させると、駆動時間ｔに応じてそれぞれ異なる曲線状に増大して上昇するように変化する特性であることを示している。
【００５８】
具体的に云えば、図９（ｂ）の特性図では、回転角速度ωの増加で粘性摩擦係数Ｃが低下するのに伴い、駆動時間ｔの初期値ｔ０、所定時間ｔ１経過後、長時間ｔ∞経過後と次第に摩擦力ｆの特性が低下することを示している。但し、ここでの摩擦力ｆの特性の低下は回転角速度ωの増加に対して比例せず、駆動時間ｔに応じて粘性摩擦係数Ｃの大きさを示す特性上の第１の回転角速度ω１や第２の回転角速度ω２のときの傾きが徐々に小さくなるような特性となることを示している。即ち、駆動時間ｔの初期値ｔ０での第１の回転角速度ω１や第２の回転角速度ω２のときの特性上の傾きよりも、所定時間ｔ１経過後、
長時間ｔ∞経過後での第１の回転角速度ω１や第２の回転角速度ω２のときの特性上の傾きが徐々に小さくなっている。因みに、温度Ｔを用いない場合にも図９（ｂ）に示す特性とほほ同様な形態となる。
【００５９】
また、第２の温度Ｔｂでの回転角速度ωに対する摩擦力ｆの特性でも同様な傾向を示し、摩擦力ｆが回転角速度ω＝０の初期値Ｆ０′から駆動部２３１により機構部を駆動開始して回転角速度ωを増加させると、駆動時間ｔに応じてそれぞれ異なる曲線状に増大して上昇するように変化する特性となることを示している。ここでも駆動時間ｔの初期値ｔ０での回転角速度ω１や回転角速度ω２のときの特性上の傾きよりも、所定時間ｔ１経過後、長時間ｔ∞経過後での第１の回転角速度ω１や第２の回転角速度ω２のときの特性上の傾きが徐々に小さくなっている。
【００６０】
要するに、図９（ｂ）からは、第１の温度Ｔａ、第２の温度Ｔｂの双方の対比で摩擦力ｆの特性は駆動時間ｔの経過に伴って上昇する傾向にあることが判る。また、回転角速度ωが速い程、摩擦力ｆが上昇すると共に、温度Ｔが低い程、摩擦力ｆの値や特性が上昇することが判る。
【００６１】
図１０は、図８に示す外乱トルク推定部を適用した場合の駆動部２３１による機構部に対する駆動時間ｔに対応して回転角速度ω及び温度Ｔを異なるパターンで変化させて粘性摩擦係数Ｃを補正する場合の特性パラメータを移動回転距離と対比させて示した図である。同図（ａ）は特性パラメータのパターン１に関する図、同図（ｂ）は特性パラメータのパターン２に関する図、同図（ｃ）は特性パラメータのパターン３に関する図である。
【００６２】
図１０（ａ）を参照すれば、特性パラメータのパターン１では、機構部への駆動をオンに維持した状態で異なる第１の回転角速度ω１、第２の回転角速度ω２と第１の温度Ｔａ、第２の温度Ｔｂとの組み合わせで粘性摩擦係数Ｃが未動作時の初期値Ｃ０からそれぞれ異なる曲線状に減衰して降下した後に一定値となる特性を示している。即ち、図１０（ａ）では特性パラメータとして、駆動部２３１による機構部の動作開始後から指数関数的に減衰して予め決められた値に漸近するように粘性摩擦係数Ｃの補正特性を設定するパターンを用いる場合に該当している。
【００６３】
具体的に云えば、図１０（ａ）の特性図では、第１の回転角速度ω１で第１の温度Ｔａの場合の第１の粘性摩擦係数Ｃ１の減衰下限値、第２の回転角速度ω２で第１の温度Ｔａの場合のそれより小さい第２の粘性摩擦係数Ｃ２の減衰下限値、第２の回転角速度ω２で第２の温度Ｔｂの場合の更にそれより小さい第３の粘性摩擦係数Ｃ３の減衰下限値となっていることを示している。因みに、温度Ｔを用いない場合には、図１０（ａ）中の第１の回転角速度ω１で第１の温度Ｔａの場合の第１の粘性摩擦係数Ｃ１に係る特性、及び第２の回転角速度ω２で第１の温度Ｔａの場合の第２の粘性摩擦係数Ｃ２に係る特性とほほ同様な形態となる。
【００６４】
また、そのときの移動回転距離は、第１の回転角速度ω１又は第２の回転角速度ω２を示す回転角速度ωの絶対値をオン時間分で積分して得られる様子を示している。即ち、図１０（ａ）では、図９（ａ）の場合と同様に、回転角速度ω及び駆動時間ｔと温度Ｔとの変化に対して急激に粘性摩擦係数Ｃの値が下がる特性を示している。尚、駆動時間ｔについては経過時間と同じとみなして良いもので、初期値ｔ０となっている。但し、グリースの種類等によって粘性摩擦係数Ｃの特性が異なるため、図示した例に限らず実測値に基づいて粘性摩擦係数Ｃの特性を決定して補正を行えば良い。粘性摩擦係数Ｃの特性の変化の仕方は回転角速度ω及び駆動時間ｔと温度Ｔとの変化に対して指数関数、多項式関数、比例等で表わされる。また、それらの変化の仕方に応じて区間に分けて補正用の式を変更するようにしても良い。因みに、こうした点は温度Ｔを含まない場合にも同様である。
【００６５】
これに対し、図１０（ｂ）を参照すれば、特性パラメータのパターン２では、機構部への駆動をオンに維持した状態で異なる第１の回転角速度ω１、第２の回転角速度ω２と第１の温度Ｔａ、第２の温度Ｔｂとの組み合わせで粘性摩擦係数Ｃが未動作時の初期値Ｃ０からそれぞれ直線状に異なる傾きにより減衰した後に一定値となる特性となっている。即ち、図１０（ｂ）では特性パラメータとして、駆動部２３１による機構部の動作開始後から一次関数的に減衰変化して予め決められた値に漸近するように設定するパターンを用いる場合の一例に該当する。
【００６６】
具体的に云えば、図１０（ｂ）の特性図では、第１の回転角速度ω１で第１の温度Ｔａの場合の第１の粘性摩擦係数Ｃ１の減衰下限値、第２の回転角速度ω２で第１の温度Ｔａの場合のそれより小さい第２の粘性摩擦係数Ｃ２の減衰下限値、第２の回転角速度ω２で第２の温度Ｔｂの場合の更にそれより小さい第３の粘性摩擦係数Ｃ３の減衰下限値となっていることを示している。因みに、ここでも温度Ｔを用いない場合には、図１０（ｂ）中の第１の回転角速度ω１で第１の温度Ｔａの場合の第１の粘性摩擦係数Ｃ１に係る特性、及び第２の回転角速度ω２で第１の温度Ｔａの場合の第２の粘性摩擦係数Ｃ２に係る特性とほほ同様な形態となる。
【００６７】
また、そのときの移動回転距離は、第１の回転角速度ω１又は第２の回転角速度ω２を示す回転角速度ωの絶対値をオン時間分で積分して得られる様子を示している。図１０（ｂ）は、図１０（ａ）のように回転角速度ω及び駆動時間ｔと温度Ｔとの変化に対して急激に減衰するように変化する粘性摩擦係数Ｃの補正特性の全体を一次関数で近似して補正する場合の特性に該当する。
【００６８】
更に、図１０（ｃ）を参照すれば、特性パラメータのパターン３では、駆動部２３１による機構部への駆動をオンに維持した状態で異なる第１の回転角速度ω１、第２の回転角速度ω２と第１の温度Ｔａ、第２の温度Ｔｂとの組み合わせで粘性摩擦係数Ｃが未動作時の初期値Ｃ０からそれぞれ直線状に異なる傾きにより段階別で減衰した後に一定値となる特性となっている。即ち、図１０（ｃ）では特性パラメータとして、駆動部２３１による機構部の動作開始後から一次関数的に減衰変化して予め決められた値に漸近するように設定するパターンを用いる場合の他例に該当している。
【００６９】
具体的に云えば、図１０（ｃ）の特性図についても、第１の回転角速度ω１で第１の温度Ｔａの場合の第１の粘性摩擦係数Ｃ１の減衰下限値、第２の回転角速度ω２で第１の温度Ｔａの場合のそれより小さい第２の粘性摩擦係数Ｃ２の減衰下限値、第２の回転角速度ω２で第２の温度Ｔｂの場合の更にそれより小さい第３の粘性摩擦係数Ｃ３の減衰下限値となっていることを示している。因みに、ここでも温度Ｔを用いない場合には、図１０（ｃ）中の第１の回転角速度ω１で第１の温度Ｔａの場合の第１の粘性摩擦係数Ｃ１に係る特性、及び第２の回転角速度ω２で第１の温度Ｔａの場合の第２の粘性摩擦係数Ｃ２に係る特性とほほ同様な形態となる。
【００７０】
また、そのときの移動回転距離は、第１の回転角速度ω１又は第２の回転角速度ω２を示す回転角速度ωの絶対値をオン時間分で積分して得られる様子を示している。図１０（ｃ）は、図１０（ａ）のように回転角速度ω及び駆動時間と温度Ｔとの変化に対して急激に減衰するように変化する粘性摩擦係数Ｃの補正特性を区間分けして一次関数で段階別に近似して補正する場合の特性に該当する。図１０（ｃ）のように一次関数で近似する関数等のデータが多いときには予めそれらをテーブル形式で記憶部２１４に持たせるようにすれば、ＣＰＵ２１０内部における演算処理を少なくしたり、或いは使用する記憶部２１４における記憶容量を減らすことができる。
【００７１】
上述した特性パラメータのパターン２、３において、ＣＰＵ２１０内の駆動制御部２１３は、粘性摩擦係数Ｃの値について、温度Ｔの使用の有無に応じて以下のような補正を行うことになる。まず温度Ｔを用いない場合には、駆動情報検出部２３６として用いる回転角速度検出部での回転角速度ωが第１の回転角速度ω１のときの第１の粘性摩擦係数Ｃ１と第２の回転角速度ω２のときの第２の粘性摩擦係数Ｃ２との関係において、第１の回転角速度ω１＜第２の回転角速度ω２のときには第２の粘性摩擦係数Ｃ２＜第１の粘性摩擦係数Ｃ１として設定するものである。このような設定を行えば、回転角速度ωが上がると粘性摩擦係数Ｃが下がるものの、実際の粘性摩擦係数Ｃは回転角速度ωに比例しないため、回転角速度ωへの比例の値を使うよりもトルク推定の精度が向上する。
【００７２】
次に、温度Ｔを用いる場合、駆動制御部２１３は、外乱トルク推定部による外乱トルク推定時に粘性摩擦係数Ｃの値について、駆動・検出部２３０による駆動部２３１の停止中に停止時間に応じて補正することを前提とする。この他、駆動・検出部２３０による駆動部２３１の動作開始後から予め決められた値に漸近し、且つ回転角速度検出部での回転角速度ω及び温度センサ２４０での温度Ｔの変化に応じて異なる値に漸近するように設定することを前提とする。
【００７３】
こうした前提で駆動制御部２１３は、粘性摩擦係数Ｃの値について、以下のような補正を行う。具体的に云えば、回転角速度検出部での回転角速度ω及び温度センサ２４０での温度Ｔが第１の回転角速度ω１、且つ第１の温度Ｔａのときの第１の粘性摩擦係数Ｃ１と、第１の回転角速度ω１、且つ第２の温度Ｔｂのときの第３の粘性摩擦係数Ｃ３との関係において、第１の温度Ｔａ＜第２の温度Ｔｂのときには第３の粘性摩擦係数Ｃ３＜第１の粘性摩擦係数Ｃ１として設定するものである。このような設定を行えば、温度Ｔが上がると粘性摩擦係数Ｃが下がるものの、実際の粘性摩擦係数Ｃは温度Ｔに比例しないため、温度Ｔへの比例の値を使うよりもトルク推定の精度が向上する。
【００７４】
また、駆動制御部２１３は、回転角速度検出部での回転角速度ω及び温度センサ２４０での温度Ｔが第１の回転角速度ω１、且つ第１の温度Ｔａのときの第１の粘性摩擦係数Ｃ１と、第２の回転角速度ω２、且つ第１の温度Ｔａのときの第２の粘性摩擦係数Ｃ２との関係において、第１の回転角速度ω１＜第２の回転角速度ω２のときには第２の粘性摩擦係数Ｃ２＜第１の粘性摩擦係数Ｃ１として設定するものである。このような設定を行えば、回転角速度ωが上がると粘性摩擦係数Ｃが下がるものの、実際の粘性摩擦係数Ｃは回転角速度ωに比例しないため、回転角速度ωへの比例の値を使うよりもトルク推定の精度が向上する。
【００７５】
図１１は、図８に示す外乱トルク推定部を適用した場合の駆動部２３１による機構部に対する駆動時間ｔに対応して回転角速度ωを途中で変化させて粘性摩擦係数Ｃを補正する場合の特性パラメータを移動回転距離と対比させて示した図である。同図（ａ）は特性パラメータのパターン４に関する図、同図（ｂ）は特性パラメータのパターン５に関する図である。
【００７６】
図１１（ａ）を参照すれば、特性パラメータのパターン４では、回転角速度ωを第１の回転角速度ω１から途中で第３の回転角速度ω３へと遅くした状態で粘性摩擦係数Ｃが未動作時の初期値Ｃ０から第１の粘性摩擦係数Ｃ１の減衰下限値、それを初期値としてより大きな第４の粘性摩擦係数Ｃ４の上昇値となる特性であることを示している。
【００７７】
また、そのときの移動回転距離は、第１の回転角速度ω１での駆動時における時間分で第１の回転角速度ω１の絶対値を積分して得られる区間と第３の回転角速度ω３での駆動時における時間分で第３の回転角速度ω３の絶対値を積分して得られる区間とに分けられる様子を示している。即ち、図１１（ａ）では、上述したように回転角速度ωが速い方が粘性摩擦係数Ｃは小さくなるので、第４の粘性摩擦係数Ｃ４は第１の粘性摩擦係数Ｃ１よりも高い値になる。漸近する第４の粘性摩擦係数Ｃ４の値は、最初から第３の回転角速度ω３で駆動した場合に漸近する値と同じである。駆動時間ｔを基準にする場合はそれぞれの第１の回転角速度ω１、第３の回転角速度ω３の時間、移動回転距離を基準にする場合はそれぞれの第１の回転角速度ω１、第３の回転角速度ω３での移動回転距離に対して粘性摩擦係数Ｃが変化するようにする。
【００７８】
これに対し、図１１（ｂ）を参照すれば、特性パラメータのパターン５では回転角速度ωを第１の回転角速度ω１から途中で第４の回転角速度ω４と速くした状態で粘性摩擦係数Ｃが未動作時の初期値Ｃ０から第１の粘性摩擦係数Ｃ１の減衰下限値、それを初期値としてより小さな第５の粘性摩擦係数Ｃ５の減衰下限値となる特性を示している。
【００７９】
また、そのときの移動回転距離は、第１の回転角速度ω１での駆動時における時間分で第１の回転角速度ω１の絶対値を積分して得られる区間と第４の回転角速度ω４での駆動時における時間分で第４の回転角速度ω４の絶対値を積分して得られる区間とに分けられる様子を示している。即ち、図１１（ｂ）では、上述したように回転角速度ωが速い方が粘性摩擦係数Ｃは小さくなるので、第５の粘性摩擦係数Ｃ５は第１の粘性摩擦係数Ｃ１よりも小さな値となる。ここでも漸近する第５の粘性摩擦係数Ｃ５の値は、それぞれ最初から第４の回転角速度ω４で駆動した場合に漸近する値と同じである。更に、駆動時間ｔを基準にする場合はそれぞれの第１の回転角速度ω１、第４の回転角速度ω４の時間、移動回転距離を基準にする場合はそれぞれの第１の回転角速度ω１、第４の回転角速度ω４の移動回転距離に対して粘性摩擦係数Ｃが変化するようにする。
【００８０】
上述した特性パラメータのパターン４、５において、ＣＰＵ２１０内の駆動制御部２１３は、粘性摩擦係数Ｃの値について、以下のような補正を行うことになる。具体的に云えば、駆動情報検出部２３６として用いる回転角速度検出部での回転角速度ωが第１の回転角速度ω１のときの第１の粘性摩擦係数Ｃ１と第３の回転角速度ω３のときの第４の粘性摩擦係数Ｃ４又は第４の回転角速度ω４のときの第５の粘性摩擦係数Ｃ５との関係に注視する。そこで、第１の回転角速度ω１から第３の回転角速度ω３又は第４の回転角速度ω４へと切り替わったときには第１の粘性摩擦係数Ｃ１から第４の粘性摩擦係数Ｃ４又は第５の粘性摩擦係数Ｃ５へと時間的に連続して変化する値を設定するものである。このような設定を行えば、回転角速度ωによって粘性摩擦係数Ｃが異なるものの、回転角速度ωを変えた瞬間に粘性摩擦係数Ｃが変化するのではなく、駆動時間ｔに伴ってその回転角速度ωにおける粘性摩擦係数Ｃに近付くため、そうした点を考慮してトルク推定の精度を向上させることができる。
【００８１】
図１２は、図１１（ａ）に示す特性パラメータのパターン４で回転角速度ωを第１の回転角速度ω１で駆動開始してから十分時間が経過して粘性摩擦係数Ｃが第１の粘性摩擦係数Ｃ１に漸近する前に第３の回転角速度ω３に変化させた場合の時間に対する粘性摩擦係数Ｃ及び回転角速度ωの特性を対比して示した図である。
【００８２】
図１２を参照すれば、ここでは回転角速度ωの切り替え時における粘性摩擦係数Ｃについて、回転角速度パターンＡは第４の粘性摩擦係数Ｃ４よりも小さい場合、回転角速度パターンＢは第４の粘性摩擦係数Ｃ４よりも大きい場合を示している。この他、何れの回転角速度パターンＡ、Ｂであっても粘性摩擦係数Ｃが第４の粘性摩擦係数Ｃ４に漸近するように変化することを示している。
【００８３】
このような粘性摩擦係数Ｃの補正特性は、温度センサ２４０で得られる温度Ｔを用いる場合の温度Ｔの変化にも適用することができる。この場合、駆動制御部２１３は、補正する粘性摩擦係数Ｃの値について、温度センサ２４０での温度Ｔが第１の温度Ｔａのときの第１の粘性摩擦係数Ｃ１と第３の温度Ｔｃのときの第６の粘性摩擦係数Ｃ６との関係において、第１の温度Ｔａから第３の温度Ｔｃへ変化したときには第１の粘性摩擦係数Ｃ１から第６の粘性摩擦係数Ｃ６へと時間的に連続して変化する値を設定するものである。このような設定を行えば、特性パラメータのパターン４、５で説明した場合と同様にトルク推定の精度を向上させることができる。
【００８４】
図１３は、上述した駆動制御部２１３による駆動・検出部２３０及び駆動部２３１を介しての機構部への駆動後の駆動時間ｔに基づく粘性摩擦係数補正制御の動作処理に係るフローチャートである。但し、ここでは予め計算して取得した関数データの特性パラメータを持つテーブルが用意され、駆動開始から一定時間毎に駆動中の駆動時間ｔ及び回転角速度ωに基づいて粘性摩擦係数Ｃを更新するものとする。
【００８５】
図１３を参照すれば、駆動制御部２１３では、まずテーブル形式で記憶部２１４に格納された粘性摩擦係数Ｃのデータを読み込んで取得する粘性摩擦係数データ取得（ステップＳ１）の処理を行う。次に、入力部２３９の操作等で駆動部２３１による機構部への駆動が指示されているかを確認して駆動開始か否かの判定（ステップＳ２）を行う。この判定の結果、駆動開始されていなければ、この判定（ステップＳ２）の前に戻って処理を繰り返すようにして待機する。これに対し、駆動開始されていれば、駆動部２３１による機構部の駆動時間ｔの計測を開始する駆動時間計測スタート（ステップＳ３）の処理を行う。更に、駆動制御部２１３は、駆動時間ｔを取得する駆動時間取得（ステップＳ４）の処理を行う。
【００８６】
この後、駆動制御部２１３は、一定時間経過したか否かの判定（ステップＳ５）を行う。この判定の結果、一定時間経過していなければ、駆動時間取得（ステップＳ４）の処理の前に戻ってそれ以降の処理を繰り返す。これに対し、一定時間経過していれば、駆動部２３１のエンコーダ２３３から駆動情報検出部２３６で検出されたモータ１０５の回転角速度ωを検出する回転角速度検出（ステップＳ６）の処理を行う。更に、駆動制御部２１３は、取得した駆動時間ｔ及び検出した回転角速度ω、温度センサ２４０で検出される温度Ｔから粘性摩擦係数Ｃを更新（ステップＳ７）する処理を行う。最後に、駆動制御部２１３は、入力部２３９の操作等で駆動部２３１による機構部への駆動終了が指示されているかを確認して駆動終了か否かの判定（ステップＳ８）を行う。この判定の結果、駆動終了でなければ、駆動時間取得（ステップＳ４）の処理の前に戻ってそれ以降の処理を繰り返す。これに対し、駆動終了であれば、動作処理を終了する。
【００８７】
図１４は、上述した駆動制御部２１３による駆動・検出部２３０及び駆動部２３１を介しての機構部への駆動後の移動した移動回転距離に基づく粘性摩擦係数補正制御の動作処理に係るフローチャートである。但し、ここでは予め計算して取得した関数データの特性パラメータを持つテーブルが用意され、駆動開始から一定時間毎に駆動中の移動回転距離及び回転角速度ωに基づいて粘性摩擦係数Ｃを更新するものとする。
【００８８】
図１４を参照すれば、図１３で説明した粘性摩擦係数データ取得（ステップＳ１）〜回転角速度検出（ステップＳ６）までの処理が共通しているため、これらの処理プロセス分の説明は省略する。ここでは、回転角速度検出（ステップＳ６）の処理の後、駆動制御部２１３は移動回転距離を算出する移動回転距離算出（ステップＳ７）の処理を行う。更に、駆動制御部２１３は算出された移動回転距離及び検出した回転角速度ω、温度センサ２４０で検出される温度Ｔから粘性摩擦係数Ｃを更新（ステップＳ８）する処理を行う。最後に、駆動制御部２１３は、入力部２３９の操作等で駆動部２３１への駆動終了が指示されているかを確認して駆動終了か否かの判定（ステップＳ９）を行う。この判定の結果、駆動終了でなければ、駆動時間取得（ステップＳ４）の処理の前に戻ってそれ以降の処理を繰り返す。これに対し、駆動終了であれば、動作処理を終了する。
【００８９】
図１３及び図１４の何れの動作処理についても、粘性摩擦係数Ｃの変化は数ミリ秒単位の変化ではなく、数秒〜数十秒単位での変化であることが多い。このため、演算処理を考えた場合、双方で共通して持たせたように一定時間経過したか否かの判定（ステップＳ５）を実施して間隔を空けるのが望ましいが、逐次値を更新するようにしても良い。
【００９０】
図１５は、実施例に係る粘性摩擦係数Ｃの補正に使用される駆動・検出部２３０による駆動部２３１の停止時間ｔｏｆｆに対する粘性摩擦係数Ｃの関係で示される補正関数特性図であり、同図（ａ）は非線形な補正関数Ｗ１に関する図、同図（ｂ）は線形な補正関数Ｗ２に関する図である。
【００９１】
図１５（ａ）を参照すれば、ここでの駆動部２３１による機構部の停止時間ｔｏｆｆは具体的にはモータ１０５の駆動動作の間にある回転角速度ω＝０のときの区間に該当するもので、粘性摩擦係数Ｃの補正に使用される補正関数Ｗ１上では、粘性摩擦係数Ｃの初期値Ｃ０がモータ１０５の停止直前の粘性摩擦係数Ｃを示すものとなる。補正関数Ｗ１については、例えば実験的に求めることができるもので、粘性摩擦係数Ｃの上限値Ｃｍａｘが決められている。この上限値Ｃｍａｘは機構部に含まれる潤滑剤の種類によって決定することができる。
【００９２】
補正関数Ｗ１を求める場合、十分な時間、モータ１０５を駆動させた後に粘性摩擦係数Ｃが下限値となるように停止時間毎に駆動させ、そのときの粘性摩擦係数Ｃの最大値をプロットすれば良いものである。また、十分な時間が経過しなくてもこの手法は有効であり、そのときには初期値が違う補正関数を導き出すことができる。通常こうした手法で粘性摩擦係数Ｃを求めると、通常図１５（ａ）に示されるような非線形な補正関数Ｗ１が得られる。図１５（ｂ）に示されるような線形な補正関数Ｗ２は、計算量を減らすために線形な近似式の線形式を用いることが可能である場合を例示したものである。
【００９３】
図１６は、実施例に係る粘性摩擦係数Ｃの補正動作のパターンを時間ｔに対する粘性摩擦係数Ｃの関係で示される補正関数と時間ｔに対するモータ１０５の回転角速度ωの関係で示される動作特性とを対比して示した図である。
【００９４】
図１６を参照すれば、動作特性で実線で示される動作パターン１は、モータ１０５が第１の回転角速度ω１で回転した後に停止し、ｔｏｆｆ１時間経過してから再び第１の回転角速度ω１で回転し始めた場合に該当する。ここでの動作中のモータ１０５の回転角速度ωが第１の回転角速度ω１の場合、停止したときの粘性摩擦係数Ｃは補正関数Ｗ３に係る初期値Ｃ０１となる。このときの粘性摩擦係数Ｃは、ｔｏｆｆ１時間経過後の値である第１の粘性摩擦係数Ｃ１となる。
【００９５】
また、動作特性で点線で示される動作パターン２は、図１６を参照すれば、モータ１０５が第２の回転角速度ω２で回転した後に停止し、ｔｏｆｆ２時間経過してから再び第１の回転角速度ω１で回転し始めた場合に該当する。ここでの動作中のモータ１０５の回転角速度ωが第２の回転角速度ω２の場合、停止したときの粘性摩擦係数Ｃは補正関数Ｗ４に係る初期値Ｃ０２となる。このときの粘性摩擦係数Ｃは、ｔｏｆｆ２時間経過後の値である第２の粘性摩擦係数Ｃ２となる。即ち、動作パターン１と動作パターン２とでは別な補正関数Ｗ３、Ｗ４を持つことになるが、これはモータ１０５の停止前の回転角速度ωが異なり、粘性摩擦係数Ｃの初期値が違うためである。これらの補正関数Ｗ３、Ｗ４は予め実験的に求めておく必要がある。
【００９６】
図１７は、実施例に係る粘性摩擦係数Ｃの補正時に切り替え使用される補正関数Ｗ５、Ｗ６を時間ｔに対する粘性摩擦係数Ｃの関係で示した特性図である。
【００９７】
図１７を参照すれば、ここでは粘性摩擦係数Ｃの補正関数Ｗ５、Ｗ６の切り替えを示しており、モータ１０５の動作中は粘性摩擦係数Ｃが下がる特性の補正関数Ｗ５が使用され、モータ１０５が停止時間ｔｏｆｆに至ってからの停止中は粘性摩擦係数Ｃが上がる特性の補正関数Ｗ６が使用されることを示している。ここでは、それぞれの動作モードに見合った補正関数Ｗ５、Ｗ６が別々に用意されており、切り替えるタイミングはモータ１０５の回転角速度ωをトリガとしている。即ち、回転角速度ω＝０でモータ１０５が停止中になった場合には、停止中用の補正関数Ｗ６を使用し、回転角速度ω＝０以外の動作中になった場合には、動作中用の補正関数Ｗ５を使用する。
【００９８】
図１８は、上述したマニピュレータ装置２００のマニピュレータ本体２０１に備えられるＣＰＵ２１０内の駆動制御部２１３による粘性摩擦係数補正の動作処理を示すフローチャートである。
【００９９】
図１８を参照すれば、駆動制御部２１３による粘性摩擦係数補正の動作処理では、まず入力部２３９やホストコントローラ２８１からの粘性摩擦係数補正開始の設定を受けると、モータ１０５が停止中であるか否かを回転角速度ω＝０であるか否かの判定（ステップＳ１）で確認する。この判定の結果、回転角速度ω＝０でなければ、モータ１０５が停止していないとみなして判定前に戻って判定を継続する。これに対し、回転角速度ω＝０であれば、モータ１０５が停止している停止中とみなして現在の粘性摩擦係数Ｃを取得して初期値とする（ステップＳ２）処理を行う。
【０１００】
次に、駆動制御部２１３は、タイマ２１２のカウントをスタート（ステップＳ３）してカウントアップ（ステップＳ４）を行う。更に、駆動制御部２１３は、カウントアップ結果と粘性摩擦係数Ｃの初期値Ｃ０とから設定された補正関数を用いて粘性摩擦係数Ｃを算出して更新（ステップＳ５）する処理を行う。最後に、駆動制御部２１３は、回転角速度ω＝０でないか否かの判定（ステップＳ６）を行う。この判定の結果、回転角速度ω＝０であれば、回転角速度ωが発生せずにモータ１０５が停止中とみなしてカウントアップ（ステップＳ４）の処理の前に戻ってそれ以降の処理を繰り返す。これに対し、回転角速度ω＝０でなければ、回転角速度ωが発生してモータ１０５が動作しているとみなして動作処理を終了する。ここでは粘性摩擦係数Ｃを逐一更新しているが、逐一更新せずに回転角速度ωが発生したタイミングで更新しても良い。
【０１０１】
ところで、実施例に係る駆動制御装置が適用されたマニピュレータ装置２００では、マニピュレータ本体２０１に対して電源部２９１から電力供給されていない状態でも粘性摩擦係数補正を行うことができる。このような機能を持つ構成では、電源部２９１から電力供給されていない電源を落とした時間を計測して電源オフ時間を決定する電源オフ時間計測部を備えることを前提とする。この上でＣＰＵ２１０が外乱推定部２３８や外乱トルク推定部で用いる粘性係数や粘性摩擦係数を電源オフ時間計測部で計測した電源オフ時間に応じて補正することになる。
【０１０２】
図１９は、上述したマニピュレータ装置２００を工場設備用とし、上位システム７０１とその他の装置７０２とにネットワークＮＷで接続した構成の駆動制御システムを示す概略図である。
【０１０３】
図１９を参照すれば、この駆動制御システムは、現在の時間を計時する機能を持つプログラマブルロジックコントローラＰＬＣやパーソナルコンピュータＰＣ等の上位システム７０１を用いて電源を落とした時間を計測して電源オフ時間を決定するものである。この駆動制御システムでは、マニピュレータ装置２００がその他の装置７０２と一緒にネットワークＮＷを通して繋がっている。そこで、マニピュレータ装置２００に入力部２３９等から電源停止命令が入力されると、例えばＣＰＵ２１０の通信制御部２１１がホストコントローラ２８１へ上位システム７０１から現在の時間の取得要求をネットワークＮＷ経由で行う。現在の時間の取得要求を受けた上位システム７０１では、ネットワークＮＷ経由でホストコントローラ２８１を介してＣＰＵ２１０の通信制御部２１１に現在の時間を送信する。通信制御部２１１では現在の時間を受信すると、タイマ２１２を通して駆動制御部２１３に引き渡す。駆動制御部２１３は、取得した現在の時間を記憶部２１４の不揮発性メモリに保存する。記憶部２１４の不揮発性メモリには、上位システム７０１から取得した現在の時間と現在の粘性係数や粘性摩擦係数Ｃとが保存されることになる。
【０１０４】
記憶部２１４の不揮発性メモリに上位システム７０１から取得した現在の時間と現在の粘性係数や粘性摩擦係数Ｃとが保存されると、その後はマニピュレータ装置２００の電源が落とされてマニピュレータ本体２０１に電源部２９１から電力供給されなくなる。再びマニピュレータ本体２０１に電源部２９１から電力供給されると、駆動制御部２１３はタイマ２１２を通して通信制御部２１１及びホストコントローラ２８１経由で上位システム７０１から現在の時間を取得する。そこで、取得した現在の時間を記憶部２１４の不揮発性メモリに保存された停止時間ｔｏｆｆとみなせる前回取得した現在の時間と比べてその差分を電源オフ時間として決定する。また、駆動制御部２１３は、記憶部２１４の不揮発性メモリに保存された外乱推定部２３８や外乱トルク推定部で用いる粘性係数や粘性摩擦係数Ｃを電源オフ時間に応じて補正する。即ち、ここでのＣＰＵ２１０における駆動制御部２１３は、電源オフ時間計測部として機能する。因みに、マニピュレータ装置２００に内蔵されて電源を落とした時間を計時する計時装置として、ＣＰＵ２１０に内蔵されたタイマ２１２を利用することもできる。この場合、電源部２９１から電力供給されなくなる直前のＣＰＵ２１０に内蔵されるタイマ２１２のカウント計数値を停止時間ｔｏｆｆとみなせる前回取得の現在の時間にし、タイマ２１２を駆動制御部２１３と協働して電源オフ時間計測部として機能させれば良い。
【０１０５】
図２０は、上述したマニピュレータ装置２００に備えられる入力部２３９で現在の時間を入力したときの粘性摩擦係数Ｃの補正処理を示すフローチャートである。
【０１０６】
図２０を参照すれば、例えば入力部２３９で現在の時間を入力した場合、ＣＰＵ２１０の駆動制御部２１３では、まず現在の時間を入力したか否かの判定（ステップＳ１）を行う。この判定の結果、現在の時間を入力していなければ（入力をキャンセルしていれば）粘性摩擦係数Ｃに初期値Ｃ０を採用（ステップＳ２）するようにしてから補正処理を終了する。これに対し、現在の時間を入力していれば現在の時間を前回取得の現在の時間に相当する停止時間ｔｏｆｆとみなせる電源を落とした時間と比較（ステップＳ３）し、電源を落とした時間が入力された現在の時間より前であるか否かの判定（ステップＳ４）を行う。この判定の結果、電源を落とした時間が入力された現在の時間より後であれば現在の時間を入力したか否かの判定（ステップＳ１）の前に戻ってそれ以降の処理を繰り返す。これに対し、電源を落とした時間が入力された現在の時間より前であれば入力された現在の時間と電源を落とした時間との差分を電源オフ時間として決定し、その電源オフ時間に対して粘性摩擦係数を補正（ステップＳ５）してから補正処理を終了する。
【０１０７】
図２１は、上述したマニピュレータ装置２００に備えられる入力部２３９で電源が落ちている時間を入力したときの粘性摩擦係数の補正処理を示すフローチャートである。
【０１０８】
図２１を参照すれば、ここでは予め電源が落ちている時間をユーザが入力部２３９で入力している場合を想定しているため、ＣＰＵ２１０の駆動制御部２１３では、まず電源が落ちている時間を入力したか否かの判定（ステップＳ１）を行う。この判定の結果、電源が落ちている時間を入力していなければ（入力をキャンセルしていれば）そのまま補正処理を終了する。これに対し、電源が落ちている時間を入力していればその入力された電源が落ちている時間を記憶部２１４の不揮発性メモリに保存（ステップＳ２）するようにしてから補正処理を終了する。この後、マニピュレータ装置２００の電源が落とされてマニピュレータ本体２０１に電源部２９１から電力供給されなくなる。再びマニピュレータ本体２０１に電源部２９１から電力供給されると、駆動制御部２１３は記憶部２１４の不揮発性メモリから電源が落ちている時間と粘性摩擦係数Ｃとを読み出し、電源供給された時間と比べて電源を落とした時間を推定する。そこで、駆動制御部２１３は電源を落とした時間とユーザが入力部２３９により入力した電源が落ちている時間との差分を電源オフ時間として決定し、その電源オフ時間に対して粘性摩擦係数Ｃを補正する。ここでは、電源オフ時間がユーザにより入力した電源が落ちている時間に依存して決定されるため、電源オフ時間は入力部２３９の入力によって予めユーザが決定できると言える。
【０１０９】
更に、駆動制御部２１３の電源オフ時間計測部としての機能は、駆動・検出部２３０に備えられた温度センサ２４０で検出された温度に基づいて電源を落とした時間を推定して計測することもできる。
【０１１０】
図２２は、マニピュレータ装置２００に備えられる温度センサ２４０で検出される温度に基づいて電源が落ちている時間を推定して計測するときに使用される推定補正関数Ｗ７、Ｗ８を停止時間ｔｏｆｆに対する温度Ｔの関係で示した特性図である。同図（ａ）は非線形な推定補正関数Ｗ７の特性に関する図、同図（ｂ）は線形な推定補正関数Ｗ８の特性に関する図である。
【０１１１】
図２２（ａ）を参照すれば、非線形な推定補正関数Ｗ７は、予め実験的に求めた推定関数を記憶部２１４の不揮発性メモリに記憶しておくもので、温度センサ２４０で検出される温度に応じて駆動制御部２１３の電源オフ時間計測部としての機能で参照される。例えば電源を落としたときの温度がＴａであれば、モータの温度がＴａになるまで上昇させてから動作を停止させ、温度の推移をグラフ化して推定関数にすれば良い。予め実験的に求めた推定関数は通常非線形となる。推定補正関数Ｗ７における温度Ｔは、停止時間ｔｏｆｆとの関係を示され、電源を入れたときの温度Ｔ２、電源を落としたときの温度Ｔ１、温度の下限値である初期温度Ｔ０（電源を落とす停止直前の温度）を含んでいる。初期温度Ｔ０は機構部に含まれる潤滑油の種類によって決定することができる。推定補正関数Ｗ７は、初期温度Ｔ０未満にならないように設定できるもので、例えばその場合には初期温度Ｔ０を環境温度にする場合を例示できる。駆動制御部２１３では、温度センサ２４０で検出される温度が例えばＴ２であればそれに対応する推定補正関数Ｗ７上で停止時間ｔｏｆｆを取得して電源を入れた時間を推定する。また、温度センサ２４０で検出される温度がＴ１であれば同様にそれに対応する停止時間ｔｏｆｆを取得して電源を落とした時間を推定する。
【０１１２】
図２２（ｂ）を参照すれば、線形な推定補正関数Ｗ８は、図２２（ａ）に示した非線形な推定補正関数Ｗ７を計算量を減らせるために線形の近似式としたもので、役割上は非線形な推定補正関数Ｗ７と同じであり、記憶部２１４の不揮発性メモリに記憶しておけば良い。推定補正関数Ｗ８の場合も、初期温度Ｔ０未満にならないように設定できる。駆動制御部２１３により温度センサ２４０で検出される温度がＴ２、Ｔ１であれば、推定補正関数Ｗ７上で停止時間ｔｏｆｆを取得して電源を入れた時間、電源を落とした時間を推定する点も同じである。
【０１１３】
図２３は、上述したマニピュレータ装置２００のマニピュレータ本体２０１に備えられるＣＰＵ２１０内の駆動制御部２１３による動作モード切り替えの動作処理を示すフローチャートである。
【０１１４】
図２３を参照すれば、駆動制御部２１３による動作モード切り替えの動作処理では、まず入力部２３９やホストコントローラ２８１からの動作モード切り替え開始の設定を受けると、入力された補正モードを読み取って補正モードオンであるか否かの判定（ステップＳ１）を行う。この判定の結果、補正モードオンであれば、図１８を参照して説明した手順で粘性摩擦係数Ｃを補正（ステップＳ２）してから動作処理を終了する。これに対し、補正モードオンでなく、補正モードオフであれば、入力されたデフォルト値を粘性摩擦係数Ｃ（ステップＳ３）としてから動作処理を終了する。因みに、図２３に示す動作モード切り替えの動作処理は、駆動制御部２１３の電源オフ時間計測部の機能にも適用される。即ち、電源オフ時間計測部の機能で決定した電源オフ時間に応じて粘性係数や粘性摩擦係数Ｃを補正するモードと補正しないモードとを切り替え可能である。
【符号の説明】
【０１１５】
１０１  アーム
１０２  土台
１０３  駆動中心
１０４  モータ用エンコーダ
１０５  モータ
１０６  減速機
１０７  外部接続装置
１０８  ベース板
２００  マニピュレータ装置
２０１  マニピュレータ本体
２１０  ＣＰＵ
２１１  通信制御部
２１２  タイマ
２１３  駆動制御部
２１４  記憶部
２２０  各種センサ
２２１  各種スイッチ
２２３  クロック
２３０  駆動・検出部
２３１  駆動部
２３２  アクチュエータ
２３３  エンコーダ
２３４  電流検出部
２３５  モータドライバ
２３６  駆動情報検出部
２３８  外乱推定部
２３９  入力部
２４０  温度センサ
４０１  重力項付加部
４０２、６０１  粘性摩擦係数付加部
４０３Ａ、４０３Ｂ  トルク推定部
４０４  実機部
５０１  ＰＩＤ制御器
５０２  電流ドライバ
５０３  マニピュレータ
７０１  上位システム
７０２  その他の装置
【先行技術文献】
【特許文献】
【０１１６】
【特許文献１】特許第４４５３２６号公報
【図１】
2018067284.tif 000003
【図２】
2018067284.tif 000004
【図３】
2018067284.tif 000005
【図４】
2018067284.tif 000006
【図５】
2018067284.tif 000007
【図６】
2018067284.tif 000008
【図７】
2018067284.tif 000009
【図８】
2018067284.tif 000010
【図９】
2018067284.tif 000011
【図１０】
2018067284.tif 000012
【図１１】
2018067284.tif 000013
【図１２】
2018067284.tif 000014
【図１３】
2018067284.tif 000015
【図１４】
2018067284.tif 000016
【図１５】
2018067284.tif 000017
【図１６】
2018067284.tif 000018
【図１７】
2018067284.tif 000019
【図１８】
2018067284.tif 000020
【図１９】
2018067284.tif 000021
【図２０】
2018067284.tif 000022
【図２１】
2018067284.tif 000023
【図２２】
2018067284.tif 000024
【図２３】
2018067284.tif 000025