您當前的位置:首頁 > 書法

五分鐘學會工業機器人DH引數標定

作者:由 Y-box 發表于 書法時間:2021-07-15

前段時間承擔了一個特種工業機器人的控制系統開發工作,按照結構工程師給的圖紙運動學建模然後做位置控制,卻怎麼調整控制引數效果都不好,位置偏差大。

折騰了一段時間後和結構工程師一合計,才發現結構工程師給錯了圖紙,嚇得我們團隊馬上用鐳射測距儀對比了理論末端位置和實際位置,果然還是不靠譜,於是搜尋了一下資料學習如何對DH引數進行標定。

理論上講,按照圖紙得到的DH引數計算機器人末端位置,理論值和實際測量值應該是一致的。

實際結果有偏差,說明圖紙的尺寸不正確,也可能是製造精度不夠,或者是裝配有偏差。運動學模型是DH引數的函式,如果能把偏差都反映到DH引數上,那麼可以改善運動學模型的精度。

用數學語言來描述這個引數修正的過程,已知三維空間中機器人末端的位置偏差

[dx,dy,dz]^T

,透過分析,發現位置偏差和DH偏差

[\Delta a,\Delta \alpha,\Delta d,\Delta \theta]^T

之間的關係滿足:

[dx,dy,dz]^T=M[\Delta a,\Delta \alpha,\Delta d,\Delta \theta]^T\tag{1}

大量實驗,多測幾次資料,最後透過

最小二乘法求得DH偏差

,標定工作就算完成了。

那麼現在問題的關鍵是如何

求解M矩陣

,求解過程可以分為兩步:

1、按照運動鏈把末端偏差分解到每個座標系中

2、建立位姿旋轉矩陣與DH偏差之間的關係

用鐳射測距儀(其他的測距方法也ok,只要儀器的精度滿足你的要求)測出機器人末端相對於基座的

真實位姿旋轉矩陣

_{0}^{n}T+d_{0}^{n}T

,它由兩部分組成:

_{0}^{n}T

——

理論位姿旋轉矩陣

(即根據圖紙尺寸計算得到的),

d_{0}^{n}T

——

理論值與真實值之間的偏差

透過運動鏈把末端的偏差用各關節座標系的

_{i-1}^{i}T+d_{i-1}^{i}T

來表達,即:

五分鐘學會工業機器人DH引數標定

上式定義了一個

微分變換運算元矩陣

\delta_{i-1}^{i}T

,它滿足:

d_{i-1}^{i}T=_{i-1}^{i}T \cdot \delta_{i-1}^{i}T

待會再分析該微分變化運算元的求解過程,先將上式展開,

忽略微分中的高階項

,求得機器人位姿偏差:

五分鐘學會工業機器人DH引數標定

上式計算光看很難搞清楚,建議取n=2手動推導一下。等式兩邊僅有微分變化運算元

\delta_{i-1}^{i}T

未知,根據之前的分析,

DH偏差就隱藏在這個運算元矩陣中

,那麼只要求解出這個矩陣,也就能透過適當變換得到公式(1),只差最後一步了。

對於

MDH

的旋轉變換矩陣

_{i}^{i-1}T

_i^{i-1}T=   \left[ \begin{matrix}   c\theta_i &&-s\theta_i &&0&&a_{i-1}\\s\theta_ic\alpha_{i-1} && c\theta_ic\alpha_{i-1} && -s\alpha_{i-1}&& -s\alpha_{i-1}d_i\\s\theta_is\alpha_{i-1} && c\theta_is\alpha_{i-1} && c\alpha_{i-1}&& c\alpha_{i-1}d_i\\0&&0&&0&&1\end{matrix}  \right]  \tag{-}

計算

_{i}^{i-1}T

的全微分,

五分鐘學會工業機器人DH引數標定

對DH引數部分的偏微分稍作處理:

五分鐘學會工業機器人DH引數標定

計算得到:

五分鐘學會工業機器人DH引數標定

則有:

d _{i}^{i-1}T=_{i}^{i-1}T(Q_{a-1}\Delta a_{i-1}+Q_{\alpha-1}\Delta \alpha_{i-1}+Q_d\Delta d_{i}+Q_{\theta}\Delta \theta_{i})\tag{-}

即旋轉矩陣偏微分運算元:

\delta _{i}^{i-1}T=Q_{a-1}\Delta a_{i-1}+Q_{\alpha-1}\Delta \alpha_{i-1}+Q_d\Delta d_{i}+Q_{\theta}\Delta \theta_{i}\tag{-}

Q_a 、Q_d 、Q_{\theta}、Q_{\alpha}

帶入:

五分鐘學會工業機器人DH引數標定

有了

\sigma_{i-1}^{i}T

的表示式,就可以算出

d_n^0T

關於

\Delta a_{i-1}、\Delta\alpha_{i-1}、 \Delta d_{i}、\Delta \theta_{i}

的關係了

五分鐘學會工業機器人DH引數標定

將DH引數帶入上式,取

d_n^0T

中的位移量

[dx,dy,dz]

,做相應的線性變換,既可得到公式(1)。

這裡給出實測資料供大家練習:

機器人的DH引數表(未標定之前)如下:

五分鐘學會工業機器人DH引數標定

末端實際測量位移及各關節編碼器值為:

五分鐘學會工業機器人DH引數標定

答主本身對標定沒有特別的研究,只是因為專案需要粗淺地學習了下,這篇文章是個人的一點拙見,提到的方法肯定不是最優的標定方法,要更深入地學習還得去大量閱讀書籍和論文。以下是我覺得不錯的知乎上的資料,大家也可以去看看。

參考文獻:

[1]姜鵬鵬。串聯機器人運動學引數標定技術的研究[D]。山東:青島科技大學,2018。

[2]郭哲。垂直六關節工業機器人運動學引數標定[D]。江蘇:東南大學,2018。

標簽: dh  偏差  矩陣  標定  機器人