第二章 運動學
2.3 機器人之運動學
機器人的運動學描述了機體各部件間通過關節的連接所表現的運動關 係。當中的關節,對於主動型人形機器人來說,一個關節基本上安置有一個 制動器,而致動關節表現的自由度各有不同,就使用性來說,目前常見為採 用的就是一個關節配置一個自由度為1 的旋轉馬達形成轉動關節。將這些轉 動關節按序列串接模擬人類關節活動的配置,構成一個多自由度的開放式串 聯機器人,並依據前述提出的理論來定義運動狀態。
2.3.1 機器人運動模型
圖 2.2. 左為 Solidworks 建構之簡模,右為座標結構。
L1
L2 L3 Joint1
Joint2
Joint3
14
2.3.2 正向運動學
正向運動學(forward kinematics),在知道關節資訊下反應出末端執行器 (end-effector)的運動情形,例如求得每根連桿當下位置與姿態、機器人質心
15 封閉解(closed-form solution)和數值解(numerical solution),若機器人結構滿足 Pieper 準則[10]可適用封閉解,包含代數解法和幾何解法等解析型式;數值 解法可通過所謂的 Newton-Raphson 迭代運算來得到。當然,對於人形機器 人的研究已歷經了各方一系列的努力,其軸位配置大抵有一些習慣性的組合 方法,因此也有關於特定軸位組合架構的人型機器人之逆向運動學的推導程 序[11]。
16
2.3.4 Jacobian 矩陣
在說明Jacobian 矩陣之前,先說明機器人是由 n 個關節構成,通常一個 關節配一個自由度,所以機器人的運動由這n 個關節向量組合而成,這些關 節向量的集合稱為關節空間(joint space);而我們在生活環境用以描述工作狀 態的空間稱為操作空間(operation space),通常使用直角坐標系,所謂的笛卡 爾空間(Cartesian space)。而我們總是控制制動端來達到操作端的條件,這就 是關節空間狀態映射到操作空間狀態的轉換關係,也就是前述的正逆向的變 換觀念。
所以除了位移變量間的關係表示,jacobian 矩陣也可表示速度和力在關 節空間與操作空間的映射關係。以速度分析來說,當關節空間向量qn, 操作空間位置向量xp,存在x x
q ,對時間做一次導數得x J
qq ,其
j i
ij q
J x
q
q 的一階偏導數,是為Jacobian 矩陣內的構成元素。
在此回想前述的逆向運動學求解問題,基於數值解的方式,由 Jacobian 的轉換關係,可以在定義末端操作器的速度已知情形下對Jacobian 求逆
q xJ
q 1 (2-7)
接著對q積分即可得角度q。當然,這樣的逆運算不是都一定存在有解,若 是碰到有兩個關節驅動軸(D-H 設定之 z)軸位對正一直線時,即為奇異現象 (singularity),逆矩陣無法計算正確解。但本篇的運動結構限制在一平面上運 動,故不用考慮奇異狀況。
17
2.3.5 VMC 控制扭矩計算用之正向運動學
2.3.2 節所敘述之正向運動學是一般普遍使用之架構,也便於應用在數值 模擬上的展現。本節所推導的正向運動學因導入腳底板下穩定點的概念,在 座標結構上的配置使用D-H 參數法來推導有不便之處,因軸位配置無法符 合規則,其詳細推導將在後續提出。
18