標籤:

機器人運動學反解怎麼開發?

1.在應用matlab工具箱ikine進行反運算過程中,發現所求得的關節角度範圍過大,運行這組關節角提示超出矩陣運算範圍,是什麼原因? 2,實際開發過程中,反運算是如何編程的?我覺得應該不能用ikine這個模擬的函數吧,那是根據運動學公式一步一步編程嗎?那樣的話工作量是不是太大了,而且網上也很少看到這方面的例子,求大神指點,我是研究生,正在做相關工作,逆解問題不知道如何處理,ikine函數返回值也不對!!!


1.在應用matlab工具箱ikine進行反運算過程中,發現所求得的關節角度範圍過大,運行這組關節角提示超出矩陣運算範圍,是什麼原因?

這個沒遇到過,不理解什麼叫做關節範圍過大,建議放圖片。

2,實際開發過程中,反運算是如何編程的?我覺得應該不能用ikine這個模擬的函數吧,那是根據運動學公式一步一步編程嗎?那樣的話工作量是不是太大了

正常做機器人的話,逆解就是自己通過D-H或指數積一步一步推導和編程的。

這個工作量並不大,一個型號的機器人只需要計算一次;對於常見的6自由度機械臂,代碼數不會超過兩百行。

---

當然,如果對計算速度要求不高的話,可以採用一些通用數值解法:

大概就是跟ikine()一樣,參考MATLAB機器人工具箱中機器人逆解是如何求出來的? - fly qq 的回答,採用雅克比矩陣來迭代求解。(只不過實際使用時需針對關節極限、奇異點等做不同的優化)

由於這種方法只依賴於機械臂DH參數,求解方法對各種構型串聯機構都適用,所以有一些通用求解器可以直接使用,如OROCOS中的KDL, trac_labs的TRAC-IK,MIT的Drake項目等。

但是,實際工業應用中應該還是以解析解為主。(速度快、可靠、可以獲得所有解)。

---

做機器人的話,運動學算是最基本的,還需靜下心來好好看看書。


和熊有倫院士的《機器人學》里講的一樣,D-H參數法建模,求解步驟也很詳細。自己根據機器人的尺寸建立連桿坐標系,然後利用齊次變換方程,先求正解練練手。然後由給定末端位姿就可以利用矩陣求出反解。可以求出由末端參數表達的各關節角度值的表達式。

有了解析式,就方便多了。之後直接給定任意末端位姿,就可以求出反解了。一般6自由度機器人的後三軸交於一點,正反解的結果能很好吻合。正解是唯一的,但反解不是唯一的,一個末端位姿,可以用幾種不同的關節角度組合實現,就像一個人的肩部和手固定了,但是胳膊有還是可以有不同位置的。

一般反解有8個或者4個這樣,看具體結構。自己手算慢,用MATLAB幫忙算一些矩陣。

題主說的 ikine函數我也想用著,但是沒弄懂怎麼建立機器人模型,所以還是自己手算的。


推薦閱讀:

強化學習 Reinforcement Learning 在控制系統中的應用現狀與前景展望如何?
Jimu 機器人,米兔機器人,wedo,mindstorm,makeblock,針對兒童,該選擇哪個?
現代機器人及自動化技術還原鉛字印刷可行嗎?
如何看待大疆(DJI)或因黑飛導致的監管放棄中國市場?
孫正義稱「日本發展機器人產業,2050 年經濟成為世界第一」的說法有可能嗎?

TAG:機器人 | MATLAB |