協作臂的設計出發點是模擬人的手臂 ,在某些特定場景下(人們越來越懶,越來越嬌貴,苦活臟活累活都不想自己幹),代替手臂進行抓取、碼垛、噴漆、打磨等操作。新手小白要學習協作臂,理解各種基本概念,理所當然應該從重新認識我們的手臂開始。
想一想,手臂有幾個關節?
從軀幹往手掌方向,依次是肩、肘、腕關節。
手臂靈活吧,這裏其實已經涉及到 自由度(DoF, Degree of Freedom) 的概念。
機器人的自由度(DoF, Degree of Freedom),表示機器人位形所需的最小實值座標數。——【現代機器人學-機構、規劃和控制】操作臂的自由度,是操作臂中具有獨立位置變量的數目,這些位置變量確定了機構中所有部件的位置。——【機器人學導論】
概念不太好理解?舉個兩粟子:
機器人結構各異,這樣算自由度好麻煩,沒關系已經有大神推出了公式:
Kutzbach - Grubler公式
DoF = m(N-1-J) + \sum_{i=1}^{J}{f_{i}}
對於一個具有N個構件(含基座)的機構,令J為關節數,m為剛體的自由度數(對於平面機構,m=3;對於空間機構,m=6),fi為關節i對應的自由度數。註意:此公式只有在所有關節約束都獨立的情況下才成立,否則,只能用於判斷自由度的下限值。這下可以開算了,這回是書上的粟子,都是平面機構:
圖a)機構的自由度,N=5,J=4,每個關節的自由度為1,dof = 3(5-1-4)+4 = 4
圖b)機構的自由度,N=5,J=5,每個關節的自由度為1,dof = 3(5-1-5)+5 = 2
圖c)機構的自由度,N=6,J=7,每個關節的自由度為1,dof = 3(6-1-7) + 7 = 1
圖d)機構的自由度,N=6,J=7,每個關節的自由度為1,dof = 3(6-1-7) + 7 = 1
現在,再回看看 手臂的自由度 是多少,能不能套用這個公式。首先N = 4(軀幹(基座)、大臂、小臂、手),J = 3(肩、肘、腕)。
再來確定一下,手臂各個關節的自由度,上圖來照著說。
圖中每個箭頭代表一個自由度,解釋一下:
套用前面的公式, 手臂自由度 dof = (4 - 1 - 3) + 3(肩)+1(肘)+3(腕) = 7;
接下來看看這個圖,反手摸肚臍。大部份人的手臂都做不到,這又引入了一個概念,那就是 工作空間 。
機械臂的工作空間,簡單的說就是機械臂可以到達的所有位置的。機械臂由於本身設計的原因,有些位置是不能到達的,用數學來解釋,就是逆運動學方程式無解。下圖為某協作臂的工作空間,中間的圓柱形區域是不能到達的。
參考文獻: