機械臂基本原理概覽(從上層軌跡規划到底層驅動器控制)

機械臂基本原理概覽(從上層軌跡規划到底層驅動器控制)

19 人贊了文章

這裡簡單的講一下自己對機械臂整個系統的理解,從結構到控制。都是很淺的東西,但是可以更好的去理解分層次的思想在機械臂整個複雜的系統中起到的作用。主要參考資料 機器人學導論 John J. Craig

下面主要簡單的考慮2連桿的機械臂,主要結構如圖

很簡單的2個轉動關節,每個關節由電機驅動控制。結構方面的就不說很多,重要的如何用數學的形式去唯一的表示這個結構,這裡用到的DH參數表示法,這裡主要目的不是追究每一個細節,而是整體的理解機械臂系統,所以簡單的理解就是我現在要4個參數來表示上面的結構的位置兩根連桿的長度 l_1 , l_2 以及連桿的旋轉角度 	heta_1, 	heta_2,這個很好理解。但是要注意的是,會發生變化的只有角度 	heta ,所以可以把長度 l 當成結構的固有屬性。

正題來了,現在結構的方面已經介紹清楚了,那整個機械臂系統是要做什麼,完成什麼任務,我們能夠控制的量是什麼?這裡簡單的描述一下任務,真實的任務遠遠複雜的多,但是千里之行,基於跬步。

任務就是簡單的讓機械臂的末端完成這樣一個動作,我們能夠控制的是電機的力矩(電流與之成正比)。下面開始從最底層(角度控制)開始分析到(軌跡生成)

1、關節角度的控制

首先我們現在能夠控制的是電機的力矩,而電機的力矩會改變關節角,但是是個什麼樣子的關係,我們如何控制力矩從而到達實現關節角度的控制?這裡首先介紹機器臂動力學。

其實動力學講的東西很簡單,但是深究公式還是有點東西,這裡先放出來,具體可以參考我之前放的文獻。

	au = M(Theta)ddot{Theta}+ V(Theta, dot{Theta})+ G(Theta)

其中 	au 代表電機的力矩, Theta 代表關節角向量。就是說,力矩會影響關節角,但是如果想用這個方程來控制,不是很現實,首先要知道動力學方程裡面精確的參數,而且要能夠準確的知道電機的輸出力矩,這些都不現實。所以這裡被PID控制器替代了。

2、正向運動學

正向運動學就是給定關節角 Theta ,然後算出末端執行器的笛卡爾坐標系位置 P ,簡單的表示就是 P = T(Theta) 。其實也很直接,就是告訴你關節的角度,計算出末端執行器(因為關注的都是末端,讓末端畫圓之類)在笛卡爾坐標系中的位置(x, y, z and so on)。這裡介紹下雅克比矩陣

V = J_T( Theta)dot{Theta} 其實也很簡單,就是反應關節速度與末端速度之間的關係,是直接對正向運動學求導得來。那麼這裡可以看到一個很有意思的事情,比如我想讓末端按照某一速度在笛卡爾坐標系下運動,那麼我相應控制的關節角應該是什麼? dot{Theta} = J_T^{-1}(Theta)V ,前提是這個逆能夠求出來。其實這一步應該放在逆向運動學裡面介紹的,但是其實逆向運動學我只想放個概念,不放公式,有個感性的認知。

3、逆向運動學

逆向運動學,就是給定末端執行器的笛卡爾坐標系的位置,算出相應的關節角。這個就很重要了。因為逆向運動學直接告訴我們,比如我們想讓末端到哪一個點,那麼相應的控制量(關節角)是多少。但是逆向運動學的求解會存在多解性或者奇異性的問題。

4、軌跡規劃

軌跡規劃就是,畫這樣一個圓,機械臂應該走的每個點的位置(把圓離散化)以及該點的速度以及每個點之間的插值問題,就是這麼簡單的一個東西。

所以最後整個的控制框圖就是

當然這裡考慮的是很簡單的任務,沒有考慮靜力學以及力控制相關的任務。但是基本框架是相通的。


推薦閱讀:

理解機器人運動學中的奇異性
中國自動化學會『寬度與深度強化學習』前沿講習班
一篇超全的工業機器人分類詳解

TAG:機器人 | 機器人控制 | 工業機器人 |