本期將為您介紹於如何用Altair控制模組-Activate,控制多體機構運動模型,利用PID控制器達到控制路徑的監測,達到實際運行路徑(轉軸角度)與施加的命令曲線趨於一致,以及得到多體模型中需輸入之入力(轉矩)。我們會拿一個機械手臂路徑規劃的範例來講解,此模型為Altair公開資料中可下載之模型
多體運動模型-MotionView
首先我們需要有一個設定好的多體運動模型,設置好一個四軸的機械手臂,建模重點包含多體機構運動學中的接觸(Contact)、轉軸(Joint)、運動控制(Motion)等,有了這些系統即可完成機械手臂之路徑運動。然後再進一步設定控制參數,輸入及輸出參數,以及Force指令讀取輸入之轉矩力量值,施加在旋轉軸上。
- 施加強制角度位移控制-Motion
我們用Motion(強制角位移)的形式,賦予每一個旋轉軸在整個運動過程中的角度控制,用這種方式可以讓轉動角度完美的依照使用者定義的曲線轉動,精準地控制每一個時間點各軸的轉動位置,就像一般我們做結構分析常用的強制位移曲線。在此範例中我們需要四個Motion控制四個旋轉軸如下圖,設定完後可以點擊Run,計算得到機械手臂運動路徑。
- 設定輸入及輸出參數-Solver Variable
- Activate模組做控制路徑,需要定義輸入及輸出參數,輸出參數分別為轉軸之角度-Angle,轉軸之角速度-Rate,以及轉軸的角度控制命令曲線-Order,輸入參數為施加於轉軸之轉矩值-Torque。
- 設置力量控制-Force
Force施加轉矩於轉軸上,Force的數值即為輸入參數的值。每個旋轉軸需設置一組Force-轉矩力量控制。設定完後即可把前述之運動控制(Motion)關掉,轉軸之運動即改為使用Force驅動。這裡因為還沒有使用控制模型,直接運行後可看到手臂不會依照命令路徑運動。
- 設置輸入及輸出矩陣-Solver Array
控制系統模型-Activate
利用控制模組建立一個PID控制器系統,並且利用Activate的多體模型信號器讀取前述之多體模型。
- PID控制器及馬達驅動
- PID控制器及馬達驅動,如下圖左方為輸入參數(角度、角速度及轉軸控制命令),進入中間PID控制器,輸出dVh參數給右方馬達驅動器,得到需要輸入之轉矩值(Torque)
- 多體模型信號區塊
- 內建讀取多體模型之工具(MotionSolveSignal),選擇多體模型檔案,指定輸出mrf檔名後,自動讀取在多體模型中設定之輸入輸出參數。這個例子中多體模型輸入參數為轉矩(Torque),輸出參數為轉軸角度、角速度及角度命令。
- 曲線輸出信號
- Activate的繪圖工具(Scope),輸出計算過程中之角度、角速度、轉矩曲線。角度及命令曲線繪於同一圖形區塊,可以看到實際角度及命令曲線的吻合程度,透過修改PID控制器的Kp、Ki及Kd值,可以得到不同的角度控制曲線,最終目標為使兩條曲線趨於一致。這裡我們簡單介紹一下三個參數的意義:
- Kp:比例控制項,考慮的是當前的誤差
- Ki:積分控制項,考慮的是過去的誤差
- Kd:微分控制項,考慮的是未來的誤差
- 計算結果
- 控制模型設定完成後,點擊Simulate執行計算,計算過程中可以看到轉矩曲線及角度曲線輸出。讀取計算完後之h3d動畫檔案,與初始階段使用MotionView設定模型,比較兩者之運動路徑幾乎相符。
留言列表