五分鐘學會工業機器人DH引數標定
前段時間承擔了一個特種工業機器人的控制系統開發工作,按照結構工程師給的圖紙運動學建模然後做位置控制,卻怎麼調整控制引數效果都不好,位置偏差大。
折騰了一段時間後和結構工程師一合計,才發現結構工程師給錯了圖紙,嚇得我們團隊馬上用鐳射測距儀對比了理論末端位置和實際位置,果然還是不靠譜,於是搜尋了一下資料學習如何對DH引數進行標定。
理論上講,按照圖紙得到的DH引數計算機器人末端位置,理論值和實際測量值應該是一致的。
實際結果有偏差,說明圖紙的尺寸不正確,也可能是製造精度不夠,或者是裝配有偏差。運動學模型是DH引數的函式,如果能把偏差都反映到DH引數上,那麼可以改善運動學模型的精度。
用數學語言來描述這個引數修正的過程,已知三維空間中機器人末端的位置偏差
,透過分析,發現位置偏差和DH偏差
之間的關係滿足:
大量實驗,多測幾次資料,最後透過
最小二乘法求得DH偏差
,標定工作就算完成了。
那麼現在問題的關鍵是如何
求解M矩陣
,求解過程可以分為兩步:
1、按照運動鏈把末端偏差分解到每個座標系中
2、建立位姿旋轉矩陣與DH偏差之間的關係
用鐳射測距儀(其他的測距方法也ok,只要儀器的精度滿足你的要求)測出機器人末端相對於基座的
真實位姿旋轉矩陣
,它由兩部分組成:
——
理論位姿旋轉矩陣
(即根據圖紙尺寸計算得到的),
——
理論值與真實值之間的偏差
。
透過運動鏈把末端的偏差用各關節座標系的
來表達,即:
上式定義了一個
微分變換運算元矩陣
,它滿足:
。
待會再分析該微分變化運算元的求解過程,先將上式展開,
忽略微分中的高階項
,求得機器人位姿偏差:
上式計算光看很難搞清楚,建議取n=2手動推導一下。等式兩邊僅有微分變化運算元
未知,根據之前的分析,
DH偏差就隱藏在這個運算元矩陣中
,那麼只要求解出這個矩陣,也就能透過適當變換得到公式(1),只差最後一步了。
對於
MDH
的旋轉變換矩陣
:
計算
的全微分,
對DH引數部分的偏微分稍作處理:
計算得到:
則有:
即旋轉矩陣偏微分運算元:
將
帶入:
有了
的表示式,就可以算出
關於
的關係了
將DH引數帶入上式,取
中的位移量
,做相應的線性變換,既可得到公式(1)。
這裡給出實測資料供大家練習:
機器人的DH引數表(未標定之前)如下:
末端實際測量位移及各關節編碼器值為:
答主本身對標定沒有特別的研究,只是因為專案需要粗淺地學習了下,這篇文章是個人的一點拙見,提到的方法肯定不是最優的標定方法,要更深入地學習還得去大量閱讀書籍和論文。以下是我覺得不錯的知乎上的資料,大家也可以去看看。
參考文獻:
[1]姜鵬鵬。串聯機器人運動學引數標定技術的研究[D]。山東:青島科技大學,2018。
[2]郭哲。垂直六關節工業機器人運動學引數標定[D]。江蘇:東南大學,2018。