它能以多少種方式運動?
自由度:運動的幾何學
自由度(DOF)是物體能夠運動的一種獨立方式。理解自由度是理解機器人如何與空間互動的第一步。
3D空間中的位置需要3個自由度:x(左右)、y(前後)、z(上下)。空間中的一個點有3個自由度。
方向增加了3個更多的:滾轉(繞前進軸旋轉)、俯仰(繞側邊軸旋轉)、偏航(繞垂直軸旋轉)。剛體在空間中有6個自由度:3個位置 + 3個方向。
機器人臂 & 自由度:
- 一個6軸鉸接臂(如工業機器人)有6個關節,每個增加1個自由度。有了6個自由度,末端執行器可以到達工作空間內的任何位置和方向:它有完整的空間自由。
- 一個4軸SCARA機器人有4個自由度:它可以在平面上的任何位置定位並旋轉,但不能傾斜其工具。適合在平面上進行拿取和放置。
- 一個3軸笛卡爾/門式機器人有3個自由度:它可以在盒形體積內的任何位置定位,但根本無法調整其工具的方向。適合3D打印機。
超過6個自由度:7軸機器人是冗餘的:它的自由度超過了完整空間定位所需的。額外的自由度讓它能夠在障礙物周圍到達,就像人類的手臂在某物後面夠東西一樣。冗餘是一個幾何優勢。
自由度和任務要求
一家工廠需要一個機器人執行三項不同的任務:(A) 沿著汽車車身面板上的3D曲線路徑分配膠水、(B) 從傳送帶上拿起芯片並將其放在平面電路板上、以及 (C) 從多個角度焊接複雜的3D接頭。
機器人幾何的兩個方向
運動學:運動中的幾何
運動學是研究不考慮力的運動。在機器人技術中,它是純粹的幾何:關節角度和末端執行器位置之間的關係。
正向運動學(FK):給定所有關節角度 → 計算末端執行器的位置和方向。這是「簡單」的方向。
對於2連桿平面臂:如果關節1的角度為θ₁,關節2的角度為θ₂,連桿長度為L₁和L₂,末端執行器位於:
- x = L₁ cos(θ₁) + L₂ cos(θ₁ + θ₂)
- y = L₁ sin(θ₁) + L₂ sin(θ₁ + θ₂)
對於6軸臂,正向運動學使用齊次變換矩陣鏈:每個關節貢獻一個4×4矩陣,編碼旋轉和平移。將全部六個矩陣相乘以得到末端執行器位姿。這是機械性的,但總是產生一個唯一的答案。
反向運動學(IK):給定所需的末端執行器位置和方向 → 計算實現它的關節角度。這是「困難」的方向。
反向運動學很困難,因為:
- 多重解:6軸臂通常可以以多種配置到達同一點(肘部向上與肘部向下、手腕翻轉與不翻轉)。可能有8個或更多有效解。
- 無解:如果目標超出工作空間,則沒有關節角度有效。
- 奇異性:在某些位姿,兩個關節軸對齐,機器人失去一個自由度:如萬向節鎖定。在奇異性附近,小的笛卡爾運動需要巨大的關節速度。
反向運動學:為什麼困難?
考慮一個簡單的2連桿平面臂,L₁ = L₂ = 1米。末端執行器需要到達點(1.0, 1.0)。
從基部到目標的距離是sqrt(1² + 1²) = sqrt(2) ≈ 1.414 m。由於L₁ + L₂ = 2 m > 1.414 m,該點是可到達的。
可達性的形狀
工作空間:機器人可以到達的幾何體積
工作空間包絡線是末端執行器可以到達的所有點的集合。其形狀完全取決於機器人的幾何結構。
鉸接臂(6軸):工作空間大致是一個空心球體。外邊界在最大到達距離(所有連桿伸展)。內邊界存在是因為臂無法足夠地向後折疊以到達靠近基部的點。截面看起來像甜甜圈(圓環)。
SCARA:工作空間是一個圓柱體。臂在水平方向掃過(產生圓形截面),Z軸沿垂直方向運動。結果是一個平底圓柱形體積:水平到達範圍寬廣,垂直有限。
笛卡爾/門式:工作空間是一個矩形盒子。每個軸沿一個尺度線性移動。簡單、可預測、易於編程:但很笨重,因為機器人必須與其工作空間一樣大。
工作空間中的奇異性:在某些位姿,機器人失去一個自由度。完全伸展的鉸接臂(在其工作空間的外邊界處)處於奇異性:它無法進一步向外移動末端執行器。當兩個手腕關節軸對齐時出現腕部奇異性。在奇異性處,雅可比矩陣失去秩,機器人的有效自由度暫時減少。
靈巧工作空間 vs. 可達工作空間:可達工作空間是末端執行器至少可以以一種方向到達的地方。靈巧工作空間是可以實現任何任意方向的地方。靈巧工作空間總是可達工作空間的子集:且通常小得多。
通過工作空間選擇機器人
一個工廠車間有三個站點排列成L形。站點A在左邊,站點B直接在前面,站點C在右邊並略微升高(300毫米高)。機器人必須從A拿起零件,在B執行操作,並從單一安裝位置將成品放在C。
組態空間:機器人的抽象幾何
組態空間:運動規劃的生活場所
組態空間(C-space)是機器人技術中最強大的幾何抽象之一。與其思考機器人的物理形狀,不如將其整個狀態表示為N維空間中的單個點。
對於有N個關節的機器人,C空間有N個尺度:每個關節角度一個軸。機器人的每種可能位姿都是C空間中的單個點。運動(位姿序列)是通過C空間的曲線。
C空間中的障礙物:真實世界中的物理障礙物在C空間中變成一個禁區。如果將機器人置於關節角度(θ₁, θ₂, ..., θN)會導致碰撞,該點在C空間障礙物內部。C空間障礙物的形狀是複雜的:真實世界中的簡單盒子在C空間中變成奇形怪狀的區域。
路徑規劃 = 找到無碰撞曲線:給定起始組態(C空間中的一個點)和目標組態(另一個點),找到連接它們的連續曲線,不進入任何禁區。
算法:
- A*(基於網格):將C空間離散化為網格,搜索最短路徑。在低維(2-3自由度)中效果良好,但網格大小隨維度呈指數增長。
- RRT(快速探索隨機樹):在C空間中構建隨機樣本樹,向未探索區域增長。在高維(6+自由度)中工作。不是最優的,但在找到可行路徑時很快。
- PRM(概率路線圖):預先計算隨機無碰撞組態圖,然後搜索圖。適合在同一環境中進行重複查詢。
幾何洞察:6自由度機器人的路徑規劃問題是一個通過6D空間的曲線問題。維度使精確解不可行:概率方法(RRT、PRM)是實用方法。
組態空間思考
一個2連桿平面臂(2自由度)在有單一矩形障礙物的房間中運作。關節1的範圍從0°到360°,關節2的範圍從0°到360°。組態空間是一個2D正方形:θ₁在一個軸上,θ₂在另一個軸上。