2011-02-12 63 views
3

我正在研究機器人項目,涉及控制大型機器人手臂的位置。建議使用雙PID循環,我想知道這是什麼。正如我所描述的那樣,第一個PID迴路應該處理手臂的速度(因爲它預計很重,很長,因此「難以控制」),然後第二個控制手臂的位置手臂並將其值輸入到第一個PID中。Double pid loop

我之前使用過PID,按照wikipedia上提供的表來校準循環。 (也就是說,不要假設我可以使用複雜的方法來校準環路)

所以我正在尋找一些很好的資源來幫助如何校準環路以及一些信息(僞代碼)如何使這個工作,再加上如果這是一個好主意。

回答

3

大多數機器人臂具有用於控制馬達扭矩,用於控制速度另一個低電平電壓環路低電平電流回路,和用於控制電機的位置更高的水平位置環路。儘可能地建立一個前饋系統來解釋重力和摩擦等已知效應。您希望低級循環儘可能快地運行。較高級別的位置循環可能會稍微慢一些。例如,低電平環路可以以5千赫茲(每0.0002秒)運行,位置環路以250赫茲(0.004秒)運行。

+1

您是否知道將前饋控制添加到PID控制器有什麼好的參考?我對這個概念很熟悉,但是我很難從我的問題的物理學轉向一些有用的東西。 – 2012-01-01 15:13:00

1
  1. 模擬你的循環。我不能強調這一點(特別是如果你將採用手動調整方法)。如果你有權訪問它,Simulink就是要走的路。如果不是,還有其他方法來模擬手臂。

  2. 如果您確定兩個循環是最好的方法(並且我不相信),那麼首先將問題分解爲兩個不同的控制循環並獨立解決它們。作爲一個例子,首先開發一個速度迴路來實現和保持一個速度目標與可接受的控制性能。然後,開發一個位移回路,以使用少量固定的離散速度實現並保持一個位置。

  3. 一旦這兩個問題都解決了您的滿意,您可以使用位移環來設置速度環的目標。這就是仿真變得至關重要的地方:控制系統將是非線性的(但是當應用恆定係數PID時,您正在有效地假設合理的線性度量)。您正通過使用位移環爲您的速度環設置一個變量目標來複合該非線性。時間選擇非常重要:在設置新的速度目標之前,位移環必須給速度環一些時間才能達到目標目標。

  4. 調整將是一個挑戰。我通過完全避免調諧來解決複雜的PID問題。相反,我使用模擬退火算法來發現最佳的PID係數。請注意,這種方法假定了兩件事情:a)可以可靠地模擬問題; b)存在客觀的性能標準。