サーボモータの簡単チューニングとPIDゲインを見つける

更新しました Nov 17, 2023

環境

ハードウェア

  • PXI-7350

ソフトウェア

  • Measurement & Automation Explorer (MAX)

ドライバ

  • NI-Motion

サーボモータをチューニングすることができません。希望する応答に近いPIDゲインを見つける簡単な方法はありますか?

この記事は、サーボチューニングの概念をより詳細に説明するUnderstanding Servo Tuneのホワイトペーパーを補足するものです。手動でサーボチューニングをおこなう適切な方法は1つではありませんが、下記に示された内容はシステムからの良い応答を与える妥当な範囲にあるゲインを簡単に求める方法です。 


 

Measurement & Automation Explorerのチューニング機能

NI-Motionシステムをチューニングする簡単な方法は、Step ResponseおよびControl Loopタブを別ウィンドウとして使用する方法です。この方法は、以下の手順のとおりです。
  1. Measurement & Automation Explorer (MAX)でモーションコントローラデバイスの項目にあるCalibration>>Servo Tuneを開きます。
  2. Step Responseタブをクリックしたままにします。
  3. Step Responseタブが別ウィンドウになるまでマウスをドラッグします。
  4. ウィンドウの右上部にあるピンのアイコンをクリックして、Step Responseウィンドウを固定します。
  5. 同様の手順をControl Loopタブにも行います。モータをチューニングする際に両ウィンドウが見えるようにサイズを調節します。ウィンドウサイズは、下記のスクリーンショットのようにします。




 

チューニング方法

制御ループを簡単に変更できるようにウィンドウを配置し、ステップ応答の変更を確認したら、次の手順を実行してPID制御システムを調整します。
  1. 3つのPIDパラメータ Kp、Kd、およびKiを0に設定します。
  2. Kpのチューニングから始めます。この値を必要な値より小さな値に設定します。この値が確実ではない場合は、1から始めます。
  3. Step Responseボタンをクリックして、システムのステップ応答を表示します。ステップ応答グラフについては、Understanding Servo Tuneの記事で詳しく説明しています。
  4. グラフの状態を確認して、以下のようにパラメータを変更します。
    • 低すぎる場合 - パラメータの値を2倍に設定します。
    • 高すぎる場合 - パラメータを現在値と前回の値の中間に設定します。
  5. 妥当なKp値になるまで手順3と4を繰り返します。多くのシステムでは、応答は振動しながら入力値付近で減衰応答が入力値に近づきます。多くのシステムでは、応答は振動しながら入力値付近で減衰応答が入力値に近づきます。この状態が起こる場合、手順3、4でのKp値を増加させている間にKd値を少し大きくする必要があるかもしれません。
  6. 適切なKp値を設定できたら、次はKd値を設定します。
  7. 妥当なKd値になるまで手順3と4を繰り返します。多くのシステムの場合、この応答は継続的に振動するのではなく、下図のように定常状態の値にすぐに減衰します。この定常状態は、入力のオフセットがかかる場合があり、このオフセットはKi値を変更するこで補正することが可能です。
  8. 適切なKd値を設定できたら、次はKi値を設定します。
  9. 適切なKi値になるまで手順3、4と同様の操作をKi値に対して繰り返し行います。このパラメータは、積分の位置の誤差に関わるので、オフセットエラーを取り除く事ができます。ただし、システムが不安定になる場合がありますので、慎重に行う必要があります。


チューニングの例については、Understanding Servo Tuneのドキュメントを参照してください。