第三章 機器手臂控制與路徑規劃
3.1 機械手臂的動力學模型
6
由 Lagrangian Equation[8]可得到機械手臂的動力學方程式:
M(q)q+C(q,q)q+G(q)+B(q)=τ (3.1.1)
7
8
9
10
11
12
Lin1 Lin1 1
0
Lin2 Lin2 2
a1
13
14
15
16
17
18 手臂工作區範圍內。由(3.3.13)式可觀察出,cos 函數範圍僅在-1~1 之間,如果超出範圍 時,則反三角會出現虛數,故可以以此為判斷依據來辨別輸入真實座標位置是否在工作
19
20
制即可使機械手臂依照規劃方式動作,運動途中如有插入新座標位置,也可立即規劃出 新的路線取代原有路線。
路徑規劃流程圖如下所示:
圖 3.9 路徑規劃流程圖
21
22
以下圖 4.1 為輸入之彩色影像:
圖 4.1 彩色影像
圖 4.2 經過閥值後影像
圖 4.3 AND 後二元影像
在靜態彩色影像中,如圖 4.1 所示,分別選取閥值後結果,由左至右分別為R>95, 110
G< ,B<115,可得到如圖 4.2 所示之影像,再將此三張影像執行 AND 動作,即可 得到一張二維的二元影像,如圖 4.3 所示。
23
4.1.3 HSV 4.1.3 HSV 4.1.3 HSV 4.1.3 HSV 法法法法
HSV 是根據色相、飽和度 就是平常所說的顏色名稱
光的強弱變化影響,常常作為偵測人臉的依據 低則逐漸變灰,取 0-100%
其示意圖如圖 4.6所示
HSV 法與 RGB 法相似, 其閥值來達到二值化處理
24
圖 4.5 向量法處理後二元影像
飽和度和明度來確定顏色的一種方法。色相是色彩的基本屬性 就是平常所說的顏色名稱,如紅色、黃色等,取 0-360 度的數值。
常常作為偵測人臉的依據。飽和度是指色彩的純度 100%的數值。明度也叫亮度,取 0-100%。
所示
圖 4.6 HSV 示意圖
,先將輸入影像透過(4.1.2)式,轉換為HSV 其閥值來達到二值化處理。
色相是色彩的基本屬性,
。因為色相不容易受到 飽和度是指色彩的純度,越高色彩越純,
HSV表示,再個別選取
25
26
由圖 4.8 可觀察出,其效果較優於 RGB 法,且與明度無關,故較不受光線亮度影響,
只需利用色相與飽和度即可選取欲辨識之顏色,參數調整容易,且計算時間較向量法短,
整體效果乍看之下與向量法相近,但使用同組閥值參數改變背景場景後,三者再進行比 較後,可以明顯看出 HSV 法表現較好,故之後使用顏色來分割欲偵測物體,皆使用 HSV 法來辨識。
當圖 4.9 左圖較亮的原始影像分別使用圖 4.3、圖 4.5 及圖 4.8 之閥值,可得到如 圖 4.10 之結果,明顯為 HSV 法表現較好。將圖 4.9 右圖較暗的原始影像代入相同閥值 後,如圖 4.11 所示,比較後可發現,HSV 法即使在光線不足的情況下,仍然可以明顯表 現出欲顯現之顏色,不受光線亮度所影響。
圖 4.9 亮度不同時原始影像
圖 4.10 改變場景後,RGB 法(左)與 HSV 法(中)與向量法(右)
27
圖 4.11 改變場景及亮度後,RGB 法(左)與 HSV 法(中)與向量法(右)
4.2 4.2
4.2 4.2 背景相減 背景相減 背景相減 背景相減
由於實驗背景複雜,假使背景有與欲分割出的顏色相似,則無法辨識欲選取之目標 物,為了避免此情形發生,故加入背景相減法與顏色辨識結合,使欲選取之目標物能更 單純地被擷取出來。
4.2.1 4.2.1 4.2.1
4.2.1 靜態背景模型靜態背景模型靜態背景模型靜態背景模型
採用背景相減法一開始先使用最簡單的方式,拍一張最初的影像,再將其轉為灰階 影像,之後並以此影像做為固定的靜態背景,如式(4.2.1)。接著只需將新輸入影像與此 影像相減,設定閥值,只要有相異過大之像素,即會被顯示出來。
k 0
x,y x,y
B =I k=0,1,2,... (4.2.1)
其中Bkx,y表示位於 x,y 像素的第 k 張背景灰階值,IIII則代表輸入之影像。
此法簡易,運算速度快,但只需要與最初的靜態背景相異像素皆會被顯現出來,假設新 影像物體進入後,隔一段時間固定不動,理論上已成為新背景,此背景模型仍會將此物 體顯示出來,或在實驗過程中,攝影機鏡頭受到外力干擾產生些微震動,都將使相減過 程中,大受影響。
如圖 4.12 所示為靜態背景的灰階影像,轉二元影像後產生的雜訊,通常為燈光變 化所影響。
28
以圖 4.12 為靜態背景,加入新物體得到背景相減結果,如圖 4.13 所示。使攝影機 鏡頭受到些微振動後,雖然在原始影像無法觀察出任何變化,但背景相減結果,如圖 4.14 所示,產生相當大的差異。
圖 4.12 灰階背景(左)與二元背景(右)
圖 4.13 原始影像(左)與背景相減後結果(右)
圖 4.14 震動後原始影像(左)與背景相減結果(右)
29
30
4.2.3 IRGABM 4.2.3 IRGABM 4.2.3 IRGABM
4.2.3 IRGABM 模型模型模型 模型
為了改良閥值背景模型,採用新型背景模型[16]所提出的 IRGABM(Improved Running Gaussian Average Background Model)法,其中提到產生干擾影像的雜點分為兩種,變化 快但改變較小的雜訊效應,變化慢但改變較大的變化光照效應。此法利用兩個參數改變
31
4.3 4.3 4.3
4.3 三角演算法 三角演算法 三角演算法 三角演算法
G. W. ZACK 於 1977 年提出[25],選取灰階值中的最高點與最低點並連成一線,再 求得與這條線最遠距離的灰階值,即是閥值,如圖 4.17 所示。可以利用此演算法來自 動選取閥值,而不是單單只選定一個固定的數值。其他還有許多種演算法如[6]所提到的 Background-symmetry algorithm、Isodata algorithm…等方式,但由於本實驗出現的直方 圖與三角演算法要求的圖形相近,故採用三角演算法來設定動態閥值。
圖 4.17 三角演算法示意圖
4.4 4.4 4.4
4.4 中值濾波器 中值濾波器 中值濾波器 中值濾波器
由於使用背景相減與顏色辨識後,仍然會有些許雜訊,故加入濾波器使處理畫面可 以更簡潔,之後在追蹤目標物時,較不會被雜訊所干擾,在此採用中值濾波器來達到此 功能。
中值濾波器是一種非線性的空間濾波器,對於處理胡椒鹽雜訊,提供了絕佳的雜訊 降低效能,比起同樣大小的線性平滑濾波有顯著較小的模糊化。
其響應建立在由濾波器所包圍之影像區域中所含像素的順序上,然後由排序結果決 定的值來取代中心像素的值。將像素的值用該像素(像素的原始值包含在中值的計算內) 近鄰灰階的中間值來取代。為了在一幅影像中的一個點上執行中值濾波,首先把問題裡
32
的像素和其鄰近像素的值排序,並決定它們的中間值,然後把這個值指定到該像素。例 如:在一個3×3的鄰域中,中間值是第五個最大的值,在5×5的鄰域中,中間值是第十 三個最大值,以此類推。
4.5 4.5
4.5 4.5 形態學 形態學 形態學 形態學
影像處理上,有一些基本的處理方式可以使影像膨脹或收縮,在應用上也可利用這 些處理來達到將影像斷開或閉合,或是可以用來處理雜訊。
由於原始畫面在經過先前所介紹到的許多方式處理過後,觀察畫面可察覺到,有些 連接處出現不連續的情形發生,為了盡量避免此情形發生,故希望藉由形態學膨脹的方 式,將影像中有些許斷開的部分連接起來。
4.5.1 4.5.1 4.5.1
4.5.1 膨脹膨脹膨脹膨脹
當A和B為Z2中的兩個集合,A藉由B的膨脹表示為A⊕B,數學表示法為
{
|( )
ˆ z}
A⊕B = z B ∩A≠ ∅ (4.4.1)
其中B稱為結構元素,
( )
Bˆ z表示為對其原點反射並平移此反射 z 單位圖 4.18 集合 A(左)與結構元素 B(中)與膨脹後結果(右)
33
4.5.2 4.5.2 4.5.2
4.5.2 侵蝕侵蝕侵蝕侵蝕
當A和B為Z2中的兩個集合,A被 B的侵蝕表示為AΘB,數學表示法為
{
|( )
z}
A BΘ = z B ⊆ A (4.4.2)
其中B稱為結構元素,
( )
B 表示為對其原點平移 z 單位 z圖 4.19 集合 A(左)與結構元素 B(中)與侵蝕後結果(右)
4.6 4.6
4.6 4.6 影像擷取流程 影像擷取流程 影像擷取流程 影像擷取流程
經過前幾節個別介紹所使用到的影像處理方式後,在此說明如何把目標物顯現出來 的完整流程。
首先,先將輸入影像透過顏色辨識的方式與背景相減法平行處理後,在畫面上即可 得到目標物大致的形狀,接著再利用中值濾波器將不需要的雜訊點濾除乾淨,為了改善 目標物有些許斷開的情形發生,故加入形態學將目標物膨脹些許大小,透過以上處理過 後,希望能找出影像中目標物中心點,故使用影像處理常見的邊緣偵測方式,使畫面更 簡潔,最後找到目標物之輪廓後,僅需在目標物邊緣找到四邊最大的點,將這些點組成 矩形圖案把目標物框選起來並求得中心點。整體流程圖如圖4.20表示
34
利用前幾節介紹之影像處理法去擷取目標物流程圖如下:
攝影機輸入影像
轉灰階並取得 第一張背景
將影像轉成HSV 並二值化得到二
元影像
使用背景相減 再利用三角演 算法求得Th
使用IRGABM求 得二值化影像
中值濾波器濾波
進行膨脹
邊緣偵測求得輪廓
圈選目標物
圖 4.20 影像擷取流程圖
4.7 ROI 4.7 ROI 4.7 ROI
4.7 ROI(region of i
在整個影像擷取目標物過程中
36
第五章 第五章
第五章 第五章 校正與最佳擊球點 校正與最佳擊球點 校正與最佳擊球點 校正與最佳擊球點
機械手臂與影像處理方面,個別都已運作正常的情況下,接著要將攝影機影像與真 實空間做結合,需要先進行攝影機校正處理,本論文採用[3]所提到的校正方式,雖然不 是最新穎的校正方式,但在校正成果上有不錯的表現,故採用此法即可。另外,在使用 單眼系統的情況下,加入了拋物線方程式與校正矩陣一同求解物體在飛行時的拋物線軌 跡參數預測其物體落點。由於物體飛行速度相對於機械手臂移動速度過快,受限於機械 手臂速度上的限制,故以機械手臂在可擊打區域內移動最小角度為前提,計算出最佳擊 球點的位置,並利用影像擷取點持續更新的方式,不斷地計算出新的參數並修正擊球點 位置。
5.1 5.1 5.1
5.1 校正 校正 校正 校正
每一部相機在硬體製作過程中會產生獨特的內部相關參數,而由於相機擺設方式的 不同,也可以得到不同的外部參數。為了瞭解這些相關參數,本文先介紹幾何相機模型,
採用常見的透視投影方式,再經由一連串運算後,求出其相關的校正矩陣,透過此校正 矩陣,即可進行真實世界座標與相機二維影像平面座標的轉換。
5.1.1 5.1.1 5.1.1
5.1.1 幾何相機模型幾何相機模型幾何相機模型幾何相機模型
假設影像為針孔的方式投影,如圖 5.1 所示
圖 5.1 針孔投影模型
37
38
Nomalized image plane θ
39
40
41
42
43
44
經過化簡後,矩陣行數不會再隨著擷取點數的不同而變化,維持著2n×6比例變化,
求解出 x 即為物體飛行軌跡之參數。當求取點數大於 3 點時,即採用 linear least-squares 的方式求解。
5.3 5.3 5.3
5.3 影像擷取點數策略 影像擷取點數策略 影像擷取點數策略 影像擷取點數策略
在實作中,取得越多點,可以減低其誤差,增加其軌跡預測參數的精確度,故盡量 擷取越多點越好,但隨著擷取點數的提高,所花費的時間相對也越長。另外,隨著影像 程式啟動後,攝影機透過影像處理即不斷地擷取到目標物,此時,目標物可能未出手,
假使將此擷取點参入一併計算,則可能使物體飛行軌跡產生很大的誤差,故如何從影像
假使將此擷取點参入一併計算,則可能使物體飛行軌跡產生很大的誤差,故如何從影像