研究筆記

多自由度機械臂:拉格朗日動力學、控制與數值驗證

由質量矩陣與科氏項建立機械臂模型,比較數值積分及控制器,並以能量與追蹤誤差驗證。

2025年10月5日 · 約 1 分鐘閱讀

封存文章

本文是模擬框架,不是經實體機械臂辨識及安全認證的控制器。

nn 自由度剛體機械臂,標準操縱器方程為

M(q)q¨+C(q,q˙)q˙+g(q)+f(q˙)=τ.M(q)\ddot q+C(q,\dot q)\dot q+g(q)+f(\dot q)=\tau.

M(q)M(q) 必須對稱正定;CC 的選取應滿足 M˙2C\dot M-2C 反對稱,這提供重要的能量一致性檢查。

拉格朗日建模

由每個連桿的動能 TT 與位能 VV 寫出

ddtLq˙iLqi=τi,L=TV.\frac{d}{dt}\frac{\partial L}{\partial\dot q_i} -\frac{\partial L}{\partial q_i}=\tau_i, \qquad L=T-V.

實作時可由符號推導、自動微分或遞歸 Newton–Euler 法產生項目。任何方法都要以隨機姿態測試矩陣維度、對稱性和重力方向。

數值積分

狀態 x=(q,q˙)x=(q,\dot q) 滿足

x˙=[q˙M1(τCq˙gf)].\dot x= \begin{bmatrix} \dot q\\ M^{-1}(\tau-C\dot q-g-f) \end{bmatrix}.

Euler 法適合教學但對剛性接觸與高增益控制容易不穩。RK4 可提高固定步長精度;長時間無阻尼模擬則可考慮辛積分。比較方法時必須用同一輸入與時間網格,並做步長收斂。

控制器

關節 PID 為

τ=Kpe+Kiedt+Kde˙.\tau=K_pe+K_i\int e\,dt+K_d\dot e.

計算力矩控制加入模型補償:

τ=M(q)(q¨d+Kde˙+Kpe)+C(q,q˙)q˙+g(q).\tau=M(q)(\ddot q_d+K_d\dot e+K_pe) +C(q,\dot q)\dot q+g(q).

後者在模型準確時追蹤較好,但對質量、摩擦與未建模柔性更敏感。控制比較應報告 RMS 誤差、峰值扭矩、能耗、超調及飽和時間,而非只看一張軌跡圖。

能量檢查

無阻尼、無輸入時

E=T+VE=T+V

應近似守恆;有輸入和阻尼時應滿足功率帳

E(t)E(0)0t(τq˙q˙f)dt.E(t)-E(0) \approx\int_0^t \left(\tau^\top\dot q-\dot q^\top f\right)dt.

這個殘差常能抓出座標、符號及積分錯誤。

由模擬到實機

下一步包括參數辨識、感測噪聲、延遲、關節限位、碰撞與扭矩限制。控制器先在軟件及硬件在環測試,再以低速低扭矩逐步上機;任何自適應或學習控制亦需獨立安全層。

參考資料

  1. Spong, Hutchinson, and Vidyasagar, Robot Modeling and Control.
  2. Siciliano et al., Robotics: Modelling, Planning and Control.
  3. Hairer, Lubich, and Wanner, Geometric Numerical Integration.