(57)【要約】【課題】特別な同定動作や同定信号を必要とせず、重力や動摩擦等の影響も受けずに、通常の動作の最中にパラメータ同定を実行することができるモータの制御装置を提供する。【解決手段】モータ制御部１１の指令に基づいてモータ１３を駆動し、モータ１３に接続される機構部１２を有するモータの制御装置において、モータ１３を模擬したモータモデル２３と機構部１２を模擬した機構モデル部２２とモータ制御部１１を模擬した制御モデル部２１とを有するシミュレーション部２０と、実機部１０とシミュレーション部２０の同一状態量を比較する状態量比較部３１と、状態量を用いた評価量を作成する評価量演算部３２と、評価量が予め設定された基準値内に入るように機構モデル部２２のパラメータを同定するモデルパラメータ調整部３３とを備える。【選択図】図１
2004260891.tif 000002
【特許請求の範囲】
【請求項１】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御装置において、
前記モータを模擬したモータモデルと前記機構部を模擬した機構モデル部と前記モータ制御部を模擬した制御モデル部とを有するシミュレーション部と、
前記モータ制御部、前記モータ及び前記機構部からなる実機部と前記シミュレーション部との同一状態量を比較する状態量比較部と、
前記状態量を用いた評価量を作成する評価量演算部と、
前記評価量が予め設定された基準値内に入るように前記機構モデル部のパラメータを同定するモデルパラメータ調整部とを備えることを特徴とするモータの制御装置。
【請求項２】
前記シミュレーション部の前記機構モデル部は、低次数のモデルから高次数のモデルへ変更することを特徴とする請求項１記載のモータの制御装置。
【請求項３】
前記状態量比較部は、位置、速度及び加速度の状態量を比較することを特徴とする請求項１乃至２記載のモータの制御装置。
【請求項４】
前記状態量比較部は、位置、速度、加速度の状態量を周波数解析手段で解析した結果を比較することを特徴とする請求項１乃至２記載のモータの制御装置。
【請求項５】
前記モータ制御部の制御部及びシミュレーション部の制御モデル部は、前記モデルパラメータ調整部の結果に基づいて制御機構を変更することを特徴とする請求項１乃至４記載のモータの制御装置。
【請求項６】
前記モデルパラメータ調整部は、前記状態量の瞬間値又は蓄積値を用いた同定結果により、同定動作の終了を判断することを特徴とする請求項１乃至５記載のモータの制御装置。
【請求項７】
前記モデルパラメータ調整部は、外部又は前記評価量演算部の結果に基づいて前記同定動作を行うか否かを選択することを特徴とする請求項１乃至６記載のモータの制御装置。
【請求項８】
状態量比較部は、前記モータが複数接続された機械装置の場合、各モータの状態量を複合した値を使用することを特徴とする請求項１乃至７記載のモータの制御装置。
【請求項９】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御装置において、
前記モータを模擬したモータモデルと前記機構部を模擬した機構モデル部と前記モータ制御部を模擬した制御モデル部とを有するシミュレーション部と、
前記実機部に作用する外力を補償する外力補償部と、
前記実機部と前記シミュレーション部の同一状態量から前記外力補償部のパラメータを同定する補償パラメータ調整部とを備えたことを特徴とするモータの制御装置。
【請求項１０】
前記外力補償部のパラメータが重力と摩擦であることを特徴とする請求項９記載のモータの制御装置。
【請求項１１】
前記同一状態量は、前記モータ制御部と前記制御モデル部の速度偏差積分値又はトルク指令であることを特徴とする請求項９乃至１０記載のモータの制御装置。
【請求項１２】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御方法において、
前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
前記実機部と前記シミュレーション部に同一の指令を入力し、
前記実機部と前記シミュレーション部との状態量を比較し、
前記状態量に基づいて前記機構モデル部のパラメータを調整することを特徴とするモータの制御方法。
【請求項１３】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御方法において、
前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
前記シミュレーション部の前記機構モデル部のパラメータ同定時に、第１段階として低次数のモデルで同定動作を実行し、
第２段階として第１段階で求めたパラメータを分割することで１つ次数を上げて高次数のモデルへ変更して分割したパラメータの同定動作を実行し、
第３段階として第２段階で１つ次数を上げた際に生じたパラメータを同定し、前記第１から第３段階まで次数を上げながらパラメータ同定を繰り返すことを特徴とするモータの制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、モータの制御装置に関し、更に詳しく言えば、特にモータを含む機構部のモデルパラメータを同定するモータの制御装置及び制御方法に関する。
【０００２】
【従来の技術】
モータの制御装置に適用されているモータの制御系のブロック線図を図１１に示す。モータ制御系の特性が機構系とモータ含む全体の動作に直接影響するため、制御装置の制御パラメータの調整は極めて重要である。しかし、一般にモータのモデルパラメータである負荷イナーシャ（正確にはモータ回転子イナーシャに機械側負荷イナーシャを加えたもの）は未知であることが多いので、制御パラメータの自動調整を行うためには、負荷イナーシャの値を同定する必要がある。
従来例１としては、モータのモデルパラメータである負荷イナーシャを自動調整する装置として、制御対象、すなわちモータ及び機構部を所定のパターンで加減速する速度パターンを発生する速度指令信号発生部と、この速度指令信号発生部から発生された速度パターンに基づいて制御対象を加減速させて、制御対象の位置を制御する位置制御部及び制御対象の速度を制御する速度制御部と、制御対象の現在位置を観測するエンコーダよりなる観測装置とを備えている。そして、速度指令信号発生部から発生された指令速度が予め設定した所定の速度となった時点の制御対象の指令位置と観測装置が観測した現在位置との位置偏差に基づいて、制御対象の負荷イナーシャを同定する方法である（特許文献１参照）。
【０００３】
また、従来例２としては、モータの回転速度を変えるパターン（ランプ状の速度指令を含む）を発生するテストパターン発生器と、速度制御演算器の積分器への出力を遮断するスイッチと、テストゲインへの切り替えが可能な速度ループゲイン乗算器と、ゲイン調整器を備えている。この制御装置では、モータイナーシャのみの状態での定常速度偏差とモータに負荷イナーシャを付けた状態での定常速度偏差の比から負荷イナーシャを求める（特許文献２参照）。
また、従来例３としては、制御パラメータの調整や負荷イナーシャを同定する際には、非線形量である重力や摩擦などの外力の影響を別途補償する必要がある。従来の外力補償のパラメータを求める手段として、モータの一定区間を正転方向に一定速で動かし、さらに同一の区間を同一の速さで逆方向に動かし、それぞれの運動時の電流またはトルク指令を積分器により積分し、それぞれの積分値を加算し、加算された結果から重力に関するリンクパラメータを推定し、それぞれの積分値を減算し、減算された結果から摩擦に関するリンクパラメータを推定する方法がある（特許文献３参照）。
【０００４】
【特許文献１】
特開平９−１９１６７９号公報
【特許文献２】
特開平６−７０５６６号公報
【特許文献３】
特開平８−２５２７８７号公報
【０００５】
【発明が解決しようとする課題】
ところが、前記従来例１では、負荷イナーシャを同定する際に、特別な同定動作を必要とし、通常の動作の最中にパラメータの同定や調整をすることができないという問題がある。これは、専用の動作指令で同定を行っても、実際の作業で使用する動作指令で動作させると発振などが発生する危険性がある。また、精度の面では、モータに重力や摩擦が働く場合、基準となる規範を持たず、位置偏差や速度検出値が影響を受けるため、負荷イナーシャを正確に同定することができないという問題がある。
また同様に、前記従来例２では、特定の同定動作に加えて、積分制御を行っていないので、クーロン摩擦、一定外力などの影響が速度偏差に現れるため、イナーシャ同定値のバラツキや誤差が大きいという問題がある。
更に、モータを含む機構部を設置後は、機構部の周りに複数の周辺機器がある場合があり、負荷イナーシャ同定のための特別な動作のための可動範囲が大きく取れないという問題がある。また、モータ稼動中に機構部の負荷イナーシャが変化する場合には、負荷イナーシャの代表値を用いるか、複数回の同定作業を実行する手間が必要であった。そのため、実際の作業に使用する動作命令を使用して、自動的に同定動作を実施できることが望ましい。また、実際の作業の動作命令を用いる場合、複数のリンクを持つロボットでは作業中の姿勢変化により負荷イナーシャが実時間に変化するため、一定速度の定常偏差では同定できないという問題もある。
【０００６】
また、外力補償パラメータを求める手段の従来例３では、運動時の加減速時に電流またはトルク指令に含まれる加速力の影響を除去するため、速度が一定になる区間を必要としており、そのため広い可動領域と動作時間を必要とする問題があった。また、制御系の遅れにより速度積分項に溜まる値により同定値に誤差が生じる場合があった。また、特定の同定動作を必要とするため、頻繁に負荷が変わるような場合には、その都度作業を止めて同定動作を実行しなければならないという問題があった。
そこで本発明は、特別な同定動作を必要とせず、重力や動摩擦等の影響も受けずに、通常の動作の最中に、作業中の姿勢変化にも対応して、パラメータを同定することを目的とする。更に、加減速時でも広い可動領域を必要とせず、制御系の遅れにも対応でき、自動運転中でも重力や摩擦の外力補償パラメータを同定することを目的とする。
【０００７】
【課題を解決するための手段】
本発明では、上記問題点を解決するため、請求項１記載のモータの制御装置は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御装置において、前記モータを模擬したモータモデルと前記機構部を模擬した機構モデル部と前記モータ制御部を模擬した制御モデル部とを有するシミュレーション部と、前記モータ制御部、前記モータ及び前記機構部からなる前記実機部と前記シミュレーション部との同一状態量を比較する状態量比較部と、前記状態量を用いた評価量を作成する評価量演算部と、前記評価量が予め設定された基準値内に入るように前記機構モデル部のパラメータを同定するモデルパラメータ調整部とを備えることを特徴とするものである。
【０００８】
請求項２記載のモータの制御装置は、前記シミュレーション部の前記機構モデル部は、低次数のモデルから高次数のモデルへ変更することを特徴とするものである。
請求項３記載のモータの制御装置は、前記状態量比較部は、位置、速度及び加速度の状態量を比較することを特徴とするものである。
請求項４記載のモータの制御装置は、前記状態量比較部は、位置、速度、加速度の状態量を周波数解析手段で解析した結果を比較することを特徴とするものである。
請求項５記載のモータの制御装置は、前記モータ制御部の制御部及びシミュレーション部の制御モデル部は、前記モデルパラメータ調整部の結果に基づいて制御機構を変更することを特徴とするものである。
【０００９】
請求項６記載のモータの制御装置は、前記モデルパラメータ調整部は、前記状態量の瞬間値又は蓄積値を用いた同定結果により、同定動作の終了を判断することを特徴とするものである。
請求項７記載のモータの制御装置は、前記モデルパラメータ調整部は、外部又は前記評価量演算部の結果に基づいて前記同定動作を行うか否かを選択することを特徴とするものである。
請求項８記載のモータの制御装置は、状態量比較部は、前記モータが複数接続された機械装置の場合、各モータの状態量を複合した値を使用することを特徴とするものである。
請求項９記載のモータの制御装置は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御装置において、前記モータを模擬したモータモデルと前記機構部を模擬した機構モデル部と前記モータ制御部を模擬した制御モデル部とを有するシミュレーション部と、前記実機部に作用する外力を補償する外力補償部と、前記実機部と前記シミュレーション部の同一状態量から前記外力補償部のパラメータを同定する補償パラメータ調整部とを備えたことを特徴とするものである。
【００１０】
請求項１０記載のモータの制御装置は、前記外力補償部のパラメータが重力と摩擦であることを特徴とするものである。
請求項１１記載のモータの制御装置は、前記同一状態量は、前記モータ制御部と前記制御モデル部の速度偏差積分値又はトルク指令であることを特徴とするものである。
請求項１２記載のモータの制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御方法において、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、前記実機部と前記シミュレーション部に同一の指令を入力し、前記実機部と前記シミュレーション部との状態量を比較し、前記状態量に基づいて前記機構モデル部のパラメータを調整することを特徴とするものである。
請求項１３のモータの制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される機構部を有するモータの制御方法において、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、前記シミュレーション部の前記機構モデル部のパラメータ同定時に、第１段階として低次数のモデルで同定動作を実行し、第２段階として第１段階で求めたパラメータを分割することで１つ次数を上げて高次数のモデルへ変更して分割したパラメータの同定動作を実行し、第３段階として第２段階で１つ次数を上げた際に生じたパラメータを同定し、前記第１から第３段階まで次数を上げながらパラメータ同定を繰り返すことを特徴とするモータの制御方法。
【００１１】
【発明の実施の形態】
本発明の第１の基本構成を図１に示して説明する。ここでは、説明の簡略化のため、本制御装置で駆動するモータは１個とし、前記モータに接続される機構部は減速機を介した単純な円筒形状の負荷とする。
図１において、実機部１０は、機構部１２と、機構部１２に接続された前記モータ１３と、前記モータ１３を制御するモータ制御部１１で構成されている。シミュレーション部２０は、前記モータ１３を模擬したモータモデル２３と、前記機構部１２を模擬した機構モデル部２２と、前記モータ制御部１１を模擬した制御モデル部２１で構成されている。
制御装置のモータを制御する装置内で、前記実機部１０及び前記シミュレーション部２０は並列に配置されており、それぞれ上位コントローラから同一の指令を入力とする。前記実機部１０及び前記シミュレーション部２０では、入力された指令に応じて機構部１２及び機構部モデル２２を制御するためのトルク指令をそれぞれモータ１３及びモータモデル２３に出力する。ここで、上位コントローラから入力される同一の指令は、実際の作業で使用する動作指令であり、予め記憶されたパターンを再生して用いても良いし、ＣＡＤデータなどから自動的に作成する方法でも良い。予め記憶されたパターンを使用すると、パターン作成時点で周辺機器との干渉を回避してあるため、同定動作中に周辺機器との衝突がない。
【００１２】
状態量比較部３１では、前記実機部１０と前記シミュレーション部２０における前記モータ制御部１１と前記制御モデル部２１の同一状態量（例えば、位置偏差や速度フィードバックなど）を、または、前記機構部１３と前記機構モデル部２２の同一状態量（例えば、位置フィードバックなど）を比較して、状態量比較値を作成する。ここで、状態量比較値は、状態量の瞬間値か、状態量の一定時間毎の蓄積値で作成される。
評価量演算部３２では、前記状態量比較部３１で作成した前記状態量比較値が予め決められたしきい値以内であるかどうかを判断する。これは、実機とモデルのパラメータが完全に一致した場合、即ち実機とシミュレーションが全く同じ挙動を示す場合には、理想的には状態量比較値が０になる。
ここで、しきい値と比較する際に、前記状態量比較値の瞬間値を用いるか、前記状態量比較値の蓄積値を用いるかは選択できる。更に、モータが複数接続されるロボット等の機械装置の場合には、前記状態量比較値を直交座標値に変換した値も選択できる。
【００１３】
前記状態量比較値がしきい値以上であれば、モデルパラメータ調整部３３で前記機構モデル部２２のモデルパラメータの値を変更し、前記状態量比較値がしきい値以内に入るまで、同一指令による動作からモデルパラメータ値の変更を繰り返す。前記状態量比較値がしきい値以内であれば、実機とシミュレーションのパラメータが近似値になったと判断して同定作業を終了する。ここで、モデルパラメータ値の変更方法は、状態量比較値の符号で修正方向を判別し、しきい値に対する状態量比較値の大きさで修正量を決定する。
通常の作業中に同定動作を実行するか、又は通常の作業を中断して特別な同定動作を実行するかは、作業者が前記制御装置を介して選択できる。更に、前記評価量演算部３２内において逐次前記状態量比較値を監視しておき、通常の作業中に負荷イナーシャの変動があるような場合でも、状態量比較値が大きくなることを判断し、自動的に同定動作を実行させても良い。
【００１４】
以下に、本発明の第１の具体的実施例を図２に示して説明する。
前記モータ制御部１１は、位置速度制御ループ１１１とアンプ１１２で構成されており、通常の作業用の位置（角度）指令を入力してトルク指令をアンプ１１２へ出力することで、モータ１３及び前記機構部１２を駆動する。位置速度制御ループ１１１では図１６に示す位置比例−速度比例積分制御を用いる。同様に、前記制御モデル部２１も、位置速度制御ループモデル２１１とアンプモデル２１２で構成されており、通常の作業用の位置（角度）指令を入力してトルク指令をアンプモデル２１２へ出力することで、前記機構モデル部２２を駆動する。
更に、同定精度の要求が高い場合には、実機部とシミュレーション部で差異を無くすため、重力や摩擦の補償を行う。前記モータ制御部１１で、前記機構部１２の重力と静止摩擦及び動摩擦の外力補償部１５を内蔵し、位置フィードバック（以下、ＦＢとする）に応じた重力トルクと摩擦トルクを演算して、トルク指令に加算することで、外力の影響を補償する。又は、前記制御モデル部２１に前記モータモデル２３の重力モデルと静止摩擦及び動摩擦モデルの外力補償部モデル２５を内蔵して、指令に応じた重力トルクと摩擦トルクを演算して、トルク指令に加算することで、外力の影響を模擬しても良い。外力補償部１５を有効にするか、外力補償部モデル２５を有効にするかを、必要に応じて選択する。
【００１５】
また同様に、制御対象が複数のリンクを持つロボットの場合には、実際の作業に使用する動作指令によっては姿勢変化が起きるため、各軸の負荷イナーシャが実時間で変動してしまうことがある。そこで、予め機構部のモデルを持ち、実時間で動力学の演算を解き、姿勢毎の負荷イナーシャを求めることで、これを規範として負荷イナーシャの値を設定でき、姿勢変化の影響を受けず、著しく外れた負荷イナーシャの値を設定することもなくなる。
制御対象となる機構部は、一般的にモータの出力端から減速機を介して接続されており、機構部によって２慣性モデルや３慣性モデル以上である場合がある。
ここでは簡略化のため、モータが１個で機構部が２慣性モデルである場合で、モータのモータロータのイナーシャＪｍは既知として、機構部のイナーシャＪＬと減速機のバネ定数Ｋを同定する方法について説明する。
同定手順としては、機構モデル部を低次数のモデルから高次数のモデルへ変更することで同定を行う。例えば、図３（ａ）に示すように、始めに機構部のイナーシャＪＬとモータロータのイナーシャＪｍを併せて、低次数のモデルとして剛体モデルＪ＝ＪＬ＋Ｊｍを求めることで、機構部のイナーシャＪＬを同定する。次に、図３（ｂ）に示すように、機構部のイナーシャＪＬとモータロータイナーシャＪｍを分離して２慣性の高次数のモデルとして、減速機のバネ定数Ｋを求める。ここで、減速機のイナーシャは、機構部側とモータ側に分離して、機構部とモータに含める。以下の例では、低次数のモデルとして剛体モデル、高次数のモデルとして２慣性モデルを使用したが、低次数のモデルとして２慣性モデルを使用し、高次数のモデルとして３慣性モデルを使用してもよい。
【００１６】
以下、機構部のイナーシャＪＬと減速機のバネ定数Ｋを同定する方法について詳細に説明する。ここでは、通常の作業で使用する命令を用いた同定動作で実行するが、特別に同定動作用の指令を使用しても良い。
（１）同定準備
実機部１０の機構部１２のモデルは、機構部のイナーシャＪＬとモータロータのイナーシャＪｍを併せた剛体モデルの初期値Ｊを設定する。シミュレーション部２０の機構モデル部２２も、実機部１０と同じ値を設定する。次に、上位コントローラから、図４（ａ）に示す作業時の位置指令を、前記実機部１０の前記モータ制御部１１及び前記シミュレーション部２０の前記制御モデル部２１に入力する。この指令は作業中のあるポイントから別のポイントへ移動する命令である。
（２）機構部のイナーシャＪＬの同定
同定には位置指令の加減速区間（過渡状態）を使用して、この指令に対するモータ１３及びモータモデル２３に接続された位置検出器１４及び位置検出器モデル２４で検出した位置ＦＢの微分値（速度ＦＢ）を状態量とする。実機部及びシミュレーション部の速度指令及び速度ＦＢは、図４（ｂ）に示す波形となる。この速度ＦＢの過渡状態での状態量差が０になるように、シミュレーション部のイナーシャＪを変更する。ここで、イナーシャＪを変更するが、モータロータのイナーシャＪｍは既知であるため、実際は機構部のイナーシャＪＬ分を変更していることと同等である。
【００１７】
実機とシミュレーションの速度ＦＢは前記状態量比較部３１の振動成分抽出部３１１で高周波成分を除去した後に比較され、状態量比較値（速度ＦＢの偏差）を作成する。求められた過渡状態での状態量比較値が、評価量演算部３２で予め決められたしきい値以内であるかどうかを判断する。ここで、高周波の振動成分は除去されており、前記状態量比較値は一定時間毎の蓄積値を用いることで、平均的な比較が可能となる。
しきい値以内であれば、モデルパラメータの同定を終了する。また、しきい値以上であれば、モデルパラメータ調整部３３でモデルパラメータの値を変更し、しきい値以内になるように繰り返す。ここで、しきい値よりも正側に大きい場合は実機部に対するモデルのイナーシャＪが大きいので、モデルのイナーシャＪを小さく設定し直す。逆にしきい値よりも負側に大きい場合は、実機部に対するモデルのイナーシャＪが小さいので、シミュレーション部のイナーシャＪを大きく設定し直す。
【００１８】
（３）減速機のバネ定数Ｋの同定
次に、実機とシミュレーションで剛体モデルのイナーシャＪが一致した後で、低次数のモデルの剛体モデルを高次数のモデルの２慣性系モデルに変更して、２慣性間を連結しているバネの剛性定数Ｋを求める。求める方法としては、以下の２通りがある。
（１）制御系は通常のゲインで、実機部に２慣性系のオブザーバを配置してねじれ角を推定し、シミュレータ部側のねじれ角と比較する方法
（２）制御系は通常よりも高いゲインで、定常状態での速度ＦＢを比較する方法始めに、方式（１）を説明する。図５に実機部に追加する２慣性系モデルのオブザーバのブロック線図を示す。パラメータ同定の方法としては、シミュレーション部も実機部のブロック線図と同構造であるため、実機部とシミュレーション部のねじり角が一致するようにシミュレーション部の減速機のバネ定数を変更する。ここで、ＤＬは減速機粘性係数、Ｎは総合減速比を表す。
モータ回転角θｍとモータ角速度指令値Ｕｒｅｆから、次の５つの状態量を推定計算する。本オブザーバは全次元で構成する。ここで、θＳはねじれ角、ｄ２は２次側外力を、各変数の上の・は一回時間微分を表す。
【００１９】
【数１】
2004260891.tif 000003
【００２０】
２慣性系オブザーバの状態方程式は、以下の式で表すことができる。ここで、∧はその変数のオブザーバ推定値を表す。
【００２１】
【数２】
2004260891.tif 000004
【００２２】
【数３】
2004260891.tif 000005
【００２３】
ここで、Ｃ＝［１  ０  ０  ０  ０］とし、Ｌ行列は行列｜Ａ−ＬＣ｜の固有値を決定することで定まる。
上記オブザーバを構成することで、式（３）からねじり角θＳを求めることができる。
【００２４】
次に、図６にブロック線図を示す。前記状態量比較部３１において、前記実機部１０の２慣性系オブザーバ１６からの出力であるねじり角θＳと、前記シミュレーション部２０の機構モデル部２２のねじり角θＳＳを比較し、高周波成分のノイズなどを除去し、希望とする振動成分の周波数成分を抽出して、状態量比較値を作成する。求められた状態量比較値が、評価量演算部３２で予め決められたしきい値以内であるかどうかを判断する。ここで、２慣性系オブザーバ１６のねじり角θＳには遅れが生じてシミュレーション部とタイミングを合わせるため、前記シミュレーション部２０のねじり角θＳＳに対してフィルタ２６を設ける。
しきい値以内であれば、モデルパラメータの同定を終了する。また、しきい値以上であれば、モデルパラメータ調整部３３でモデルパラメータのバネ定数Ｋを変更し、しきい値以内になるように同定を繰り返す。
【００２５】
次に、方式（２）を説明する。式（２）では過渡状態での速度応答波形を一致させたが、本方式では定常状態での速度応答波形を一致させて、バネ定数Ｋを求める。
実機部及びシミュレーション部の速度ＦＢは、図４（ｂ）に示す定常状態の波形となる。ここで、本実施例では速度一定の命令を用いているが、実際の動作では速度変動が生じる命令がある。その場合でも、シミュレーション部の速度ＦＢを規範として、実機部の速度ＦＢと比較することで、速度一定の命令である時と同じ状態量比較値を得ることができる。
実機部とシミュレーション部のバネ定数が同じであれば振動周波数も同じになるが、バネ定数が大きい場合には振動周波数も大きくなり、バネ定数が小さい場合には振動周波数も小さくなる。
図４（ｃ）に示すように、実機とシミュレーションの速度ＦＢは、状態量比較部３１の振動成分抽出部３１１でノイズなどの高周波成分を除去し、希望とする振動成分の周波数成分を抽出して、振動成分の周期ΔＴから振動周波数を求める。
実機部の速度ＦＢの振動周波数ｆＲとシミュレーション部の速度ＦＢの振動周波数ｆＳは、（式４）（式５）で表すことができる。
【００２６】
【数４】
2004260891.tif 000006
【００２７】
【数５】
2004260891.tif 000007
【００２８】
よって、振動周波数ｆＲとｆＳを比較することで、状態量比較値（ｆＲとｆＳの差分）を作成する。ここで、状態量比較値は前記状態量比較値の一定時間毎の平均値を用いる。速度ＦＢの高周波ノイズを除去しきれていない場合でも、平均値を用いることで誤差を小さくし、評価量演算部３２で誤った判断を避けるためである。
【００２９】
次に、平均値を用いた状態量比較値が、評価量演算部３２で予め決められたしきい値以内であるかどうかを判断する。しきい値以内であれば、モデルパラメータであるバネ定数Ｋの同定を終了する。
また、しきい値以上であれば、モデルパラメータ調整部３３でモデルパラメータのバネ定数Ｋを変更して、しきい値以内になるように繰り返す。ここで、バネ定数Ｋの変更手順は、振動周波数ｆＲに比べて振動周波数ｆＳが大きい場合には、予め設定された大きさだけバネ定数Ｋを小さく変更し、小さい場合には予め設定された大きさだけバネ定数Ｋを大きく変更する。これらの変更は、振動周波数が一致するまで自動的に繰り返し行うものとする。
上記実施例により、負荷イナーシャＪＬ及び減速機のバネ定数Ｋのパラメータを自動的に同定することができる。
【００３０】
これら一連の同定作業の実施は、作業者が機構部の負荷を変更した場合に作業者が制御装置を操作することで意図的に実施する方法や、予め前記評価量演算部３２内で特定の状態量比較値（速度ＦＢやねじれ角など）を監視して、負荷イナーシャの変動を自動的に検出して同定作業を開始する方法が考えられる。そのため、上記実施例では、通常の作業中における特定の状態量比較値を監視して、実機部とシミュレーション部の値に差がある場合には自動的に同定動作を開始する構成にしても良い。
【００３１】
以下に、本発明の第２の具体的実施例を図７に示して説明する。
本実施例では、前記第１の実施例の（４）の２慣性系のモデルにした場合のバネ定数を求める過程が異なる。前記第１の実施例では速度ＦＢの波形から振動成分を抽出したが、本実施例では２次側機構部の１次側機構部（モータロータ）への反力による振動をトルク指令の波形から抽出する。ここでは、機構部のイナーシャＪＬは既に求められていると仮定する。
前記実機部１０の前記モータ制御部１１及びシミュレーション部２０の前記制御モデル部２１は、通常よく用いられる位置比例−速度比例積分制御を用いる。上位コントローラからは、パラメータ同定用の指令として、一定速度の動作指令を与え、定常状態での実機部とシミュレーション部のトルク波形を状態量として用いる。定常状態でのトルク波形は、図７（ａ）及び（ｂ）に示す波形になる。
実機とシミュレーションのトルク指令は状態量比較部３１に入力され、比較される。前記状態比較部３１内の振動成分抽出部３１１で高周波成分のノイズなどを除去し、希望とする振動成分の周波数成分を抽出して、状態量比較値を作成する。図７（ｃ）のように２慣性間のバネ項による振動成分を抽出することができる。後は第１の具体的実施例に記載したように、この差分が小さくなるようにモデルパラメータ調整部３３でモデルパラメータのバネ定数Ｋを変更して、しきい値以内になるまで繰り返す。
【００３２】
以下に、本発明の第３の具体的実施例を図８に示して説明する。
本実施例では、前記第３の実施例で２慣性系のモデルのバネ定数を求める過程が異なる。前記第３の実施例では振動成分の抽出を波形の時間変化を直接測定して求めていたが、本実施例では状態量比較部３１でＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を用いることで、実機部１０とシミュレーション部２０のトルク指令の振動成分をより簡単に一致させることができる。
前記状態比較部３１内の振動成分抽出部３１１でＦＦＴ解析することによって、図９（ａ）及び（ｂ）のトルク指令から、図９（ｃ）に示すように簡単に振動成分の周波数を特定することができる。後は第１の具体的実施例に記載した手順で、周波数及びパワーがほぼ一致するようにモデルパラメータ調整部３３でモデルパラメータのバネ定数Ｋを変更して、しきい値以内になるように繰り返す。
【００３３】
以下に、本発明の第４の具体的実施例を図１０に示して説明する。
本実施例は、前記第１〜第３の具体的実施例で求められた機構部のモデルパラメータを元に、実機部１０の前記モータ制御部１１及びシミュレーション部２０の前記機構モデル部２２の制御構造を変更する。
始めに、機構モデル部２２のモデルパラメータを同定する前は、機構モデル部２２は機構部の負荷イナーシャＪＬとモータロータのイナーシャＪｍを併せた剛体モデルＪ＝ＪＬ＋Ｊｍとする。
次に、前記第１の具体的実施例で求めたように、モデルパラメータである負荷イナーシャＪＬと減速機のバネ定数Ｋを求める。この減速機のバネ定数Ｋが十分に大きく剛体と見なせる場合には、制御構成は変更しない。
しかし、バネ項の影響が大きい場合には、図１０に示すように、シミュレーション部２０の機構モデル部２２を２慣性系モデルの制御構成に変更し、２次側機構部モデル２２１に入力されるねじれ角θＳＳによる反力τＳをトルク指令から減算する。また、実機部１０のモータ制御部１１に前述の第１の具体的実施例で説明した２慣性系オブザーバを配置し、推定したねじれ角θＳによる反力τＲをトルク指令から減算する。
このように、モデルパラメータの同定結果により、前記モータ制御部１１及び前記機構モデル部２２の制御構成を変更することで、２次側の振動を抑制することができ、高精度な制御を行うことができる。
【００３４】
以下に、本発明の第５の具体的実施例を説明する。
本実施例では、モータが複数接続された水平多関節型ロボットに関して、相互慣性の同定方法を説明する。説明を簡略化するため、図１１（ａ）に示すように制御対象の機構部は、２軸の水平多関節型ロボットとする。各軸の主慣性（前述の負荷イナーシャＪＬ）は前記実施例１〜４の方法で既に求められていると仮定し、他の軸に影響を与える相互慣性のパラメータを求める方法について説明する。
本実施例では、シミュレーション部に実機部の相互干渉３５と同じ相互干渉モデル３６を設け、実機部とシミュレーション部のロボット先端の直交座標系における位置ＦＢ値を比較し、位置ＦＢ偏差を小さくすることで、相互干渉のパラメータを同定する。以下に詳細に説明する。
【００３５】
（１）相互干渉モデル
２軸の水平多関節型ロボットの運動方程式は次のように表される。
【００３６】
【数６】
2004260891.tif 000008
【００３７】
【数７】
2004260891.tif 000009
【００３８】
ここで、ｍｉはリンクｉの質量、Ｌｉは軸から重心までの距離、ａｉはリンク長さである。また、速度項は速度に依存しており、速度制御ループで補償されるため、無視して考えられるので、式（６）と（７）は次のように表せる。
【００３９】
【数８】
2004260891.tif 000010
【００４０】
【数９】
2004260891.tif 000011
【００４１】
よって、式（８）と（９）は以下のように表現することができる。
【００４２】
【数１０】
2004260891.tif 000012
【００４３】
ここで、
【００４４】
【数１１】
2004260891.tif 000013
【００４５】
【数１２】
2004260891.tif 000014
【００４６】
【数１３】
2004260891.tif 000015
【００４７】
また、Ｉｉは重心周りの慣性モーメント、Ｎｉはｉ軸モータの減速機の減速比、Ｉｉｍはモータのモータロータのイナーシャ（等価慣性モーメント）である。
ｍｉ、Ｌｉ、ａｉ、Ｎｉは既知であり、主慣性であるＪ１１とＪ２２は、負荷イナーシャＪＬとして既に求められているため、特定の姿勢θ１とθ２での重心周りの慣性モーメントＩｉを式（１１）〜（１３）から求め、相互慣性であるＪ１２とＪ２１を求めることができる。
（式１０）は、加減速時に２軸目が１軸目に作用する干渉トルクτ１２と１軸目が２軸目に作用する干渉トルクτ２１が、以下のように表せることを意味する。
【００４８】
【数１４】
2004260891.tif 000016
【００４９】
【数１５】
2004260891.tif 000017
【００５０】
よって、図１２に示すように、求められた相互慣性のパラメータＪ１２（＝Ｊ２１）を元に、シミュレーション部２０に相互干渉モデル３６を配置する。ここでは、初期値としてＪ１２とＪ２１に適当な初期値（例えば、零）を入力し、パラメータの同定を実施しても良い。
【００５１】
（２）相互慣性モデルのパラメータＪ１２の同定
上位コントローラから、通常の作業用の位置（角度）指令を、前記実機部１０の前記モータ制御部１１ａ，１１ｂ及び前記シミュレーション部２０の前記制御モデル部２１ａ，２１ｂに入力する。この指令は、図１１（ｂ）に示すように１軸目を・・θ１で、２軸目を・・θ２で動作させることで、２軸目に干渉力τ２１を与え、実機部とシミュレーション部の挙動（軌跡ズレ）を比較する。
実機部の相互干渉部３５の相互慣性Ｊｒ１２（＝Ｊｒ２１）と、シミュレーション部の相互干渉モデル部３６の相互慣性Ｊｓ１２（＝Ｊｓ２１）が一致していない場合には、実機部とシミュレーション部にも軌跡ズレが発生する。ここでは、実機部とシミュレーション部の軌跡ズレを合わせることで、相互干渉モデル部３６の相互慣性を同定する。
実機部とシミュレーション部の軌跡の比較をするために、順変換部３４では、前記モータ制御部１１の位置検出器１４ａ，１４ｂの位置ＦＢと、前記制御モデル部２１の位置検出器モデル２４ａ，２４ｂの位置ＦＢをそれぞれ順変換し、実機部とシミュレーション部のロボット先端の位置ＦＢ（状態量）を求める。前記状態比較部３１では、２つの前記位置ＦＢを差分して状態量比較値を求め、評価量演算部３２で予め決められたしきい値以内であるかどうかを判断する。
しきい値以内であれば、モデルパラメータ（相互慣性）の同定を終了する。これで実機部の相互干渉部３５とシミュレーション部の相互干渉モデル部３６が近似値になったことになる。
【００５２】
しきい値以上であれば、モデルパラメータ調整部３３で相互干渉モデル部のモデルパラメータの値（Ｊ１２＝Ｊ２１）を変更して、しきい値以内になるように繰り返す。ここで、相互慣性モデルのパラメータの変更方法について説明する。例えば、図１１（ｂ）に示すように、実機部の軌跡よりもシミュレーション部の軌跡のズレが大きい。これは、干渉力の影響が大きくモデル化されているためで、相互慣性のモデルパラメータＪ１２（＝Ｊ２１）を小さく設定する必要がある。逆に、実機部の軌跡よりもシミュレーション部の軌跡のズレが小さい場合、相互慣性のモデルパラメータＪ１２（＝Ｊ２１）を大きくする。
以上の作業を繰り返すことで、実際の作業に使用するロボットの姿勢における相互干渉のモデルパラメータを同定できる。
【００５３】
以下に、本発明の第６の具体的実施例を説明する。
本実施例では、モータが複数を接続された垂直多関節型ロボットに関して、外力補償パラメータの同定方法を説明する。説明を簡略化するため、図１３（ａ）に示すように、制御対象の機構部は、１軸の垂直単関節型ロボットとする。ここで、同定する外力補償パラメータは、重力、摩擦とする。また、図１３（ｂ）に示すように、摩擦は速度によって変化する粘性摩擦と速度によらず一定のクーロン摩擦のモデルを導入して、対象とする評価量の一致を図る。
本実施例では、実機部に外力補償部１５を設け、往復運動における実機部の前記モータ制御部の速度偏差積分値とシミュレーション部の制御モデル部の速度偏差積分値を比較し、外力に相当する部分を抽出することで、外力補償のパラメータを同定する。ここで、速度積分値の代りにトルク指令を使用しても良い。
以下に詳細に説明する。
【００５４】
（１）同定準備
上位コントローラから、図１４（ａ）に示すような通常の作業用の位置（角度）指令を、前記実機部１０の前記モータ制御部１１及び前記シミュレーション部２０の前記制御モデル部２１に入力する。上位から入力する指令は、必要最小限の動作と時間で同定するため、図１４（ｂ）に示すように一定速区間を含まない往復運動を行う速度指令となる。ただし特別の同定動作用の指令である必要は無く、通常の作業プログラム実行中の指令でよく、一定速区間を持った指令でもその区間を同定に使用しない方法を取っても良い。
運動に必要なトルクは、図１４（ｃ）に示すように加減速時に慣性に打ち勝ってアームを加速する加減速トルクと、重力に打ち勝ってアームの姿勢を維持する重力トルクと、減速機などの摩擦に打ち勝って速度を維持するための摩擦トルクの加算されたものとなる。
【００５５】
ここで、シミュレーション部には重力や摩擦が作用しないため、シミュレーション部の制御モデル部の速度偏差積分値は、重力や摩擦の影響は受けず、慣性の影響のみが作用した値となる。また、実機部の前記モータ制御部の速度偏差積分は、慣性と重力と摩擦の全てが作用した値となるため、両方の差を取ることで、慣性の影響をキャンセルすることができる。つまり、同じ位置指令を前記実機部１０と前記シミュレーション部２０の同じ構成の制御系に入力するため、実機部とシミュレーション部の差を取ることで、指令の影響をキャンセルすることができる。
よって、速度偏差積分値の差は図１４（ｄ）に示すように重力トルクと摩擦トルクを加算したものとなる。
同様に、制御系の遅れにより、実機部の前記モータ制御部の速度偏差積分に若干の速度偏差が溜まるが、同様にシミュレーション部の制御モデル部の速度偏差積分値にも制御系の遅れによる速度偏差も溜まっているため、両方の差を取ることで、制御遅れの影響をキャンセルすることができる。
【００５６】
（２）外力補償パラメータの同定
図１５に示すように、状態量比較部３１では、実機部とシミュレーション部の前記速度偏差積分値を状態量として、２つの値の差を取り、正回転時と負回転時でそれぞれ積分する。次に外力補償パラメータ調整部３７において、正回転時の速度偏差積分値τＣＷの積分値ＩＮＴＧ（τＣＷ）と、負回転時の速度偏差積分値τＣＣＷの積分値ＩＮＴＧ（τＣＣＷ）を加算することで、図１４（ｄ）に示すように、正回転時に正側に、負回転時に負側に作用していた摩擦トルクをキャンセルでき、重力トルクτＧのみを抽出することができる。
【００５７】
【数１６】
2004260891.tif 000018
【００５８】
また、重力トルクは以下の式で表すことができ、リンク重量ｍ１が既知である場合には、リンク重心距離Ｌ１を求めることが出来る。
【００５９】
【数１７】
2004260891.tif 000019
【００６０】
同様に、正回転時の速度偏差積分値τＣＷの積分値ＩＮＴＧ（τＣＷ）から、負回転時の速度偏差積分値τＣＣＷの積分値ＩＮＴＧ（τＣＣＷ）を減算することで、図１４（ｄ）に示すように重力トルクτＧをキャンセルでき、摩擦トルクτＦのみを抽出することができる。
【００６１】
【数１８】
2004260891.tif 000020
【００６２】
ここでは、速度が一定になる区間が無いため、全区間の速度を平均した速度における摩擦トルクが求まったことになる。そのため、複数の速度が取れるように加減速の大きさが異なる指令で動作させて、速度によって変化する粘性摩擦パラメータと、速度によって変化しないクーロン摩擦パラメータを求める。
ここで、速度偏差積分値の全ての区間で積分値を取って、ノイズや脈動分をキャンセルしているが、より短い単位時間辺りの速度偏差積分値の平均を取って、それぞれ正回転時と負回転時で減算しても良く、その場合には１つの動作で複数の速度における摩擦トルクが求められるため、より短い時間で摩擦補償パラメータを同定することができる。
実際の作業に使用する指令を用いて以上の作業を繰り返すことで、ロボットの姿勢における外力補償パラメータを同定でき、求められた外力補償パラメータを用い、外力補償部３５で外力の補償を行う。
【００６３】
ここでは、垂直単関節型ロボットの重力と摩擦のパラメータを同定したが、頻繁に搬送物が変化するようなパレタイジング作業時のロボットの手先負荷を求める場合でも、自動運転中にロボット各軸の速度偏差積分値から同様に手先負荷の重力パラメータを同定でき、実時間で手先負荷を考慮した最適な制御を実行することができる。
【００６４】
【発明の効果】
以上述べたように、請求項１のモータの制御装置によれば、実機部及びシミュレーション部を並列に配置し、実際の作業で使用する同一の指令に応じて機構部及び機構部モデルの状態量を比較し、予め決められたしきい値以内に状態量入るまで、同一指令による動作からモデルパラメータ値の変更を繰り返すことにより、重力や動摩擦等の影響を受けずに、機構部の周りに複数の周辺機器がある場合でも動作領域の制限などの制約を受けずに、機構部のモデルパラメータを簡単に自動的に同定できる。また、複数のリンクを持つロボットでは、作業中の姿勢変化を演算することで負荷イナーシャの実時間の変化にも対応できる。
請求項２記載のモータの制御装置によれば、機構部モデルを剛体から多慣性モデルに変更してモデルパラメータを同定することにより、慣性間の詳細なモデルパラメータを同定できる。
請求項３記載のモータの制御装置によれば、実機部及び前記シミュレーション部の同一状態量の波形を直接比較することにより、演算部に負担を掛けることなく、正確にモデルパラメータを同定できる。
請求項４記載のモータの制御装置によれば、実機部及び前記シミュレーション部の同一状態量の波形をＦＦＴなどで解析して特徴を抽出することにより、作業者の経験などに左右されずに、正確にモデルパラメータを同定できる。
請求項５記載のモータの制御装置によれば、実機部及び前記シミュレーション部の同一状態量を比較して求めたモデルパラメータの同定結果により制御構造を変更することにより、モデルの機構構成に合った制御系を構築でき、制御対象をより的確に制御できる。
請求項６記載のモータの制御装置によれば、状態量の瞬間値又は蓄積値を用いた同定結果で同定動作の終了を判断することにより、モデルパラメータの不用意な変更や、ノイズによる影響を防止できる。
請求項７記載のモータの制御装置によれば、作業者又は前記評価量演算部の判断により、前記同定動作の実行を選択することにより、作業者が作業内容に応じてモデルパラメータの更新ができ、モデルパラメータの不用意な変更を防止できる。また、自動的にパラメータの更新をできる。
請求項８記載のモータの制御装置によれば、機械装置の複合した状態量で同定動作を実施することにより、複数軸の場合の軸間に生じるモデルパラメータも同定することができる。
請求項９記載のモータの制御方法によれば、実機部及びシミュレーション部を並列に配置し、実際の作業で使用する同一の指令に応じて機構部及び機構部モデルの状態量を比較し、予め決められたしきい値以内に状態量入るまで、同一指令による動作からモデルパラメータ値の変更を繰り返すことにより、重力や動摩擦等の影響を受けずに、機構部の周りに複数の周辺機器がある場合でも動作領域の制限などの制約を受けずに、機構部のモデルパラメータを簡単に自動的に同定できる。また、複数のリンクを持つロボットでは、作業中の姿勢変化を演算することで負荷イナーシャの実時間の変化にも対応できる。
請求項１０から１２記載のモータの制御装置によれば、実機部及びシミュレーション部を並列に配置し、実際の作業で使用する同一の指令に応じて機構部及び機構部モデルの同一状態量から、前記実機部の外力補償部のパラメータを同定する補償パラメータ調整部とを備えたことにより、加減速時でも広い可動領域を必要とせず、制御系の遅れにも対応でき、自動運転中でも重力と摩擦の外力補償パラメータを同定できる。これにより、モデルパラメータ同定の精度も向上できる。
請求項１３記載のモータの制御方法によれば、モータ制御部とモータと機構部からなる実機部をシミュレーションするシミュレーション部とを備え、前記シミュレーション部の前記機構モデル部のパラメータ同定時に、第１段階として低次数のモデルで同定動作を実行し、第２段階として第１段階で求めたパラメータを分割することで１つ次数を上げて高次数のモデルへ変更して分割したパラメータの同定動作を実行し、第３段階として第２段階で１つ次数を上げた際に生じたパラメータを同定し、前記第１から第３段階まで次数を上げながらパラメータ同定を繰り返すことにより、多慣性の機構部モデルであっても慣性間の詳細なモデルパラメータを自動的に同定できる。
【図面の簡単な説明】
【図１】本発明の第１の基本構成図
【図２】本発明の第１の具体的実施例を表す第１のブロック図
【図３】本発明の第１の具体的実施例におけるモデル図
【図４】本発明の第１の具体的実施例における第１の応答波形
【図５】本発明の第１の具体的実施例におけるオブザーバモデルを示すブロック図
【図６】本発明の第１の具体的実施例を表す第２のブロック図
【図７】本発明の第２の具体的実施例における応答波形
【図８】本発明の第３の具体的実施例を表すブロック図
【図９】本発明の第３の具体的実施例における応答波形
【図１０】本発明の第４の具体的実施例を表すブロック図
【図１１】本発明の第５の具体的実施例を表すモデル図
【図１２】本発明の第５の具体的実施例を表すブロック図
【図１３】本発明の第６の具体的実施例を表すモデル図
【図１４】本発明の第６の具体的実施例における応答波形
【図１５】本発明の第６の具体的実施例を表すブロック図
【図１６】従来の制御方式を示すブロック図
【符号の説明】
１０：実機部
１１：モータ制御部
１２：機構部
１３：モータ
１４：位置検出器
１５：外力補償部
１６：２慣性系オブザーバ
１１１：位置速度ループ
１１２：アンプ
１２１：２次側機構部
１２２：減速機
２０：シミュレーション部
２１：制御モデル部
２２：機構モデル部
２３：モータモデル
２４：位置検出器モデル
２５：外力補償部モデル
２６：フィルタ
２１１：位置速度制御ループモデル
２１２：アンプモデル
２２１：２次側機構部モデル
２２２：減速機モデル
３１：状態量比較部
３１１：振動成分抽出部
３２：評価量演算部
３３：モデルパラメータ調整部
３４：順変換部
３５：相互干渉部
３６：相互干渉モデル部
３７：外力補償パラメータ調整部
【図１】
2004260891.tif 000021
【図２】
2004260891.tif 000022
【図３】
2004260891.tif 000023
【図４】
2004260891.tif 000024
【図５】
2004260891.tif 000025
【図６】
2004260891.tif 000026
【図７】
2004260891.tif 000027
【図８】
2004260891.tif 000028
【図９】
2004260891.tif 000029
【図１０】
2004260891.tif 000030
【図１１】
2004260891.tif 000031
【図１２】
2004260891.tif 000032
【図１３】
2004260891.tif 000033
【図１４】
2004260891.tif 000034
【図１５】
2004260891.tif 000035
【図１６】
2004260891.tif 000036