作為在校工科生,只回答問題中關於如何自學機器人方面的問題。
1. 基礎知識入門
教材大同小異,推薦常用的兩本:
克雷格:
機器人學導論 (豆瓣)蔡自新:
機器人學 (豆瓣)配合教材可以看史丹佛大學的公開課:
史丹佛大學公開課:機器人學以上內容,幫助在腦海中建立機器人學的大概圖景和基本概念。當然,不必盡看,實際上認真鉆研一套足矣。通常機器人學基礎討論都基於機械臂,需要弄懂的幾個問題:機械臂的空間描述和座標變換;機械臂運動學;機械臂逆運動學;機械臂動力學;軌跡規劃;機械臂的控制;其他如機械設計、傳感器、影像處理etc。
基礎內容中,個人認為最重要的必須掌握的幾個概念:
① 剛體位姿的座標描述和變換 :機器人模型的基礎,於機器人學的重要性猶如英文字母至於英文;
② D-H座標變換 :機械臂建模的重要方法,以簡潔的數學語言描述由一連串剛體組成的機械臂;
③ 雅各比矩陣 :機械臂運動學的核心,用於關節速度和末端速度的換算;
④ 拉格朗日動力學 :力和速度加速度之間換算的橋梁。
最重要的工具:數學,尤其是 線性代數 。
2. 基礎動手入門
工科不動手,學過也沒有。如果你覺得上述基礎內容很枯燥(實際上確實很枯燥),不放自己動手增加趣味性。
軟體上,可以使用萬能的matlab。實際上,克雷格的【機器人學導論】裏就有大量matlab習題,可以參考。當然這裏不得不提Perter Corke編寫的 robotics toolbox for matlab :
http:// petercorke.com/Robotics _Toolbox.html。
安裝這個toolbox之後,你可以在matlab上透過D-H方法建立機器人模型,並避開底層繁瑣的矩陣運算,透過簡單的函式進行一些運動學計算——不過逆運動學求解經常不收斂,畢竟不涉及底層嘛。更多的細節題主可以自己摸索。貼一個自己開始瞎搗騰時弄的模型圖(害羞>.<):