3

私は、大きなロボット アームの位置を制御するロボット プロジェクトに取り組んでいます。提案は二重 PID ループを使用することでしたが、これには何が関係しているのか疑問に思っています。

私に説明されたように、最初の PID ループはアームの速度を処理する必要があり (重くて長いことが予想されるため、制御が「難しい」ため)、次にアームの位置とフィードを制御する 2 番目のループです。その値を最初の PID に挿入します。

ウィキペディアで提供されている表に従ってループを調整することにより、以前にPIDを使用しました。(別名: 複雑な方法を使用してループを調整できるとは思わないでください)

だから私は、ループを調整する方法に役立ついくつかの良い情報源と、これを機能させる方法に関する少しの情報 (疑似コード) を探しています。

4

2 に答える 2

3

ほとんどのロボット アームには、モーター トルクを制御するための低レベルの電流ループ、速度を制御するための別の低レベルの電圧ループ、およびモーター位置を制御するための高レベルの位置ループがあります。可能な限り、重力や摩擦などの既知の効果を説明するフィード フォワード システムを設定する必要があります。低レベルのループをできるだけ速く実行したい。より高いレベルの位置ループは、多少遅くなる可能性があります。たとえば、低レベル ループは 5Khz (0.0002 秒ごと) で実行され、位置ループは 250 Hz (0.004 秒) で実行されます。

于 2011-02-14T13:25:04.167 に答える
1
  1. ループをシミュレートします。私はこれを十分に強調することはできません (特に、手動のチューニング方法を採用する場合)。アクセスできる場合は、Simulink が最適です。そうでない場合は、腕をモデル化するための他のアプローチがあります。

  2. 2 つのループが最適なアプローチであると確信している場合 (そして私は確信が持てません)、まず問題を 2 つの異なる制御ループに分割し、それらを個別に解決してください。例として、最初に速度ループを開発して、許容可能な制御性能で速度目標を達成および維持します。次に、いくつかの固定された離散速度を使用して位置を達成および維持するための変位ループを作成します。

  3. これら 2 つの問題が満足のいく形で解決されたら、変位ループを使用して速度ループのターゲットを設定できます。ここでシミュレーションが重要になります。制御システムは非線形になります (ただし、定数係数 PID を適用するときは、線形性の合理的な尺度を効果的に想定しています)。変位ループを使用して速度ループの可変ターゲットを設定することにより、その非線形性を悪化させています。タイミングが重要です。新しい速度目標を設定する前に、変位ループは速度ループに目標を達成するための時間を与える必要があります。

  4. チューニングは難しいでしょう。チューニングを完全に回避することで、複雑な PID 問題を解決しました。代わりに、シミュレーテッド アニーリング アルゴリズムを使用して、最適な PID 係数を見つけました。このアプローチは、a) 問題を確実にシミュレートできること、および b) 客観的なパフォーマンス基準が存在することの 2 つを前提としていることに注意してください。

于 2011-02-12T02:00:10.340 に答える