長春理工大學大學生創新創業訓練計劃

NO IMAGE

長春理工大學大學生創新創業訓練計劃

學術報告

專案編號:                 2014S015             

專案名稱:      基於深度視覺空間定位的機械控制系統   

專案負責人:                  李展                    

學    院:           光電工程學院           

專    業:               測控技術與儀器               

學    號:                 130211238                 

指導教師:                  徐熙平       

基於深度視覺空間定位的機械控制系統

長春理工大學  李展,郭影

(1.長春理工大學光電工程學院測控技術與儀器,吉林省長春市130022;

2.長春理工大學光電工程學院測控技術與儀器,吉林省長春市130022)

徐熙平,教授

 

摘要:介紹了基於深度視覺空間定位技術的機械手臂,利用Kinect感測器使機械控制與人的骨骼姿態聯絡在一起,能夠模擬操作者的手臂移動來完成特定的工作要求。其主要包括兩大模組:人體姿態識別和機械臂控制系統。

首先利用 Kinect 感測器獲取影象景深資料,克服了由於光照變化、陰影、物體遮擋以及環境變化等因素的干擾,深度圖解析度高,成本低。並通過骨骼追蹤技術處理景深資料,以匹配人體的各個部分,進而建立人體各個關節的 3D 座標。對人體的關節動作和手勢進行跟蹤檢測,獲取人體手臂各關節角度和人的手掌狀態,然後將手臂關節角以一定的對映準則對映到機器人各關節上,最後將這些資訊進行平滑濾波、編碼處理,通過藍芽模組將其傳送到控制機械臂的微控制器上,利用模糊PID控制,將不同的角度轉換為不同佔空比的PWM方波控制舵機運動。經實驗驗證,機械臂可以靈活的的模擬人體手臂移動並完成特定動作。

此控制系統簡化了機械控制的難度,大大增強了機械在複雜空間的適應性。其較強的“反饋感覺”可適用於遠端操控和人類重複性的工廠任務操作或者能在不適合人類的危險環境下工作。

 

關鍵詞:深度成像;人體姿態識別;PID控制;微控制器

 

一  引言

 

隨著人民生活水平提高,對於危險作業、 有毒作業、行動不便人員護理等提出越來越多的實際情況要求,而機械手可以實現遠端的非接觸控制。目前在各種移動機器人當中, 以裝備有機械手臂的移動機器人,最能取代人類完成複雜、 危險或繁重的工作, 而在家庭服務領域,機械手臂則可以完成如抓取物體, 實現開冰箱、 開門等一些任務。對機械手臂體感互動方式的研究引起各行各業的重視,操作者可以通過手勢動作來控制機械手抓取目標的行為,體感控制器將人體運動轉化為控制訊號,在擺脫了複雜的機械操作的同時利用無線通訊技術實現對機械手的遠端控制。

微軟 Kinect 深度攝像機,面向互動應用,基於深度影象進行動態動作識別,最明顯的技術特點就是識別的高速率,即能夠實現實時識別功能,以及識別的精確度。利用深度影象進行模式識別是近年來興起的技術, 這主要得益於深度圖攝像機的成本降低。與飛行時間技術、結構光、三維鐳射掃描等深度相機相比,深度相機的優勢在於拍攝的深度圖解析度高,成本低。以往的利用可見光影象的單目識別常常遭遇光照變化、陰影、物體遮擋以及環境變化等因素的干擾。利用深度影象進行模式識別可以很好地克服以上可見光影象模式識別常遇到的困難。尤其是 它的骨骼追蹤功能。骨骼追蹤是通過獲取的影象景深資料,通過骨骼追蹤技術處理景深資料,以確定人體的各個部分,進而建立人體各個關節的
3D 座標。

對機械手臂體感互動方式的研究,基於機器視覺獲得目標物體的三維座標,由控制器根據座標資訊來控制機械手臂各關節的轉動,實時模擬人體動作,這種研究顯得非常有意義。並且它有望成為老年人和殘障人士的操作工具, 幫助他們提高行動自由度,將 Kinect 與遠端控制結合起來,為 Kinect 在遠端家庭監護中的實際應用打下基礎。

 

二  人體姿態識別

 

人體姿態識別過程利用 Kinect 感測器和 OpenNI 開源開發模組實現人體動作資訊的採集。Kinect 是微軟開發的一款 3D體感攝影機,它有三個鏡頭,中間的鏡頭是 RGB 彩色攝像機,左右兩邊鏡頭則分別為紅外線發射器( Projector) 和紅外線 CMOS 攝影機( IR) 所構成的 3D 深度感應器。

本裝置基於深度成像原理,紅外發射機主動投射近紅外光譜,實現鐳射散斑成像,初步確定人體位置,並用紅外攝像頭和RGB彩色攝像頭接收人體的手臂擺動資訊,並準確計算人體手臂擺動的相對角度。其工作過程如下:

獲取人體動作——提取人體骨骼特徵點——計算手臂旋轉角度

 

1. 深度成像原理

深度成像原理[1]:Kinect深度成像本裝置採用“鐳射散斑成像技術”,鐳射照射到粗糙物體或穿透毛玻璃後隨即形成的衍射斑點.這些散斑具有高度的隨機性,會隨著距離的不同而變換圖案.即空間中任意兩處的散斑圖案都是不同的.故只要在空間中打上這樣的結構光,整個空間就都被做了標記,把一個物體放進這個空間,根據物體上面的散斑圖案,便可確定這個物體的空間位置。原理如圖1:1

圖1:深度成像原理

 獲取人體深度影象步驟如下:

  • 從光源向特定區域投射一束初級散斑;
  • 從目標區域獲取在不同距離關於光源組的多元散斑圖樣;
  • 在目標區域物體表面的位置獲取一個投射上去的初級散斑的測試影象;
  • 將測試影象與參照影象進行對比,以求在測試影象中辨別出與參照影象最相符的初級散斑圖案;
  • 基於由光源組到參照影象的距離,估計物體的位置;
  • 獲取人體深度影象(如圖2)

2

 

圖2:人體深度影象

 

2.提取人體骨骼特徵點

為了便於人體關節點資料採集和處理,在OpenNI 開發框架中預定義了以Kinect感測器為參考基準 的世界座標系CW,該座標系符合右手定則X軸正向指向左側,Y軸正向指向上方,Z軸指向前方,原點位於兩個攝像頭的中間點上。通過OpenNI 和 NiTE 實時獲取的人體各關節三維座標資訊,即是在世界座標系
CW 中描述的三維位置資訊。

由於Kinect 產生的景深資料作用有限,要利用 Kinect 建立真正意義上的互動,還需要在景深資料的基礎上,提取出人體骨骼資訊,這個過程就是骨骼追蹤。骨骼追蹤技術通過處理景深資料來建立人體各個關節的 3D 座標。具體過程是: 首先 Kinect 發射紅外線, 並探測紅外光反射,從而可以計算出視場範圍內每一個畫素的深度值, 即獲得深度資料,從深度資料中最先提取出來的是物體主體和形狀 。然後用這些形狀資訊來匹配人體的各個部分, 最後計算匹配出來的各個關節在人體中的位置。由深度圖通過機器學習,對人體特徵點進行分類,運用決策樹的思想將未知深度圖進行特徵提取,最終獲得人體肩部20個特徵點。並提取肩部,肘部,手部特徵點如圖3:
3

圖3:提取骨骼特徵點

3.計算手臂相對旋轉角度

考慮到機器人關節和人體關節在結構和自由度上的差異,在基於人體姿態識別的服務機器人運動控制中,需要解決二者之間的關節角對映[2]。為了計算手臂關節角度,避免人體站姿變化的干擾,需要將人體各關節點在世界座標系 CW 中的實時位置資訊 變換為人體基準座標系 CB 中的座標
。關係為:

其中,R為人體基準座標系相對與世界座標系的旋轉變換矩陣, O為人體基準座標系的原點 OB 在世界座標系中的位置。

使用兩個節點來識別這一動作只需要肘部和手腕關節點資訊。將肘部作為整個座標系統的中心或者零點,以肘部為基準點,隨便找一個水平的X軸上的點。然後就可以由這三點組成一個三角形。將三維座標點  分別投影到X,Y,Z軸得到與三個座標軸的夾角 即兩個關節的相對旋轉角,如圖4:

 
4

圖4:關節相對旋轉角

4.卡爾曼濾波處理
本文所採用的 Kinect 感測器具有裝置簡單、價格低廉,適用範圍廣的特點,給基於人體姿態識別的服務機器人運動控制帶了許多便利條件, 但其所採用的彩色攝像頭和紅外攝像頭存在精度較低、對外界環境變化敏感等缺點,檢測精度及穩定性遠無法與專業級可穿戴式檢測裝備相比。 即便在人體姿態固定、靜止的情況下,經過人體骨架追蹤演算法,獲取的關節點的三維座標值也會產生微小的波動,即 。 同時,當關節與關節之間存在互相遮擋的情況時, 追蹤到的各關節點也會出現失真現象[3]。
除此之外,人體手臂在自然或者非自然運動過程中也可能出現運動頻率或者幅度過大等狀況。以上這些因素將在時序上引起關節角度波動頻率過高 、角度變化過大甚至突變等問題,不利於對機器人手臂關節的控制。因此本文采用卡爾曼濾波的方法, 首先對重要的關節點三維資訊進行卡爾曼濾波預處理, 以改善由感測器精度和骨架追蹤演算法所引起關節點座標值的微小波動問題, 然後再經濾波處理以濾除其他各種因素對關節角度的干擾, 從而對識別出來的人體關節運動進行平滑、去噪處理。 鑑於前後兩次卡爾曼濾波的原理和方法相同,故本文僅對關節角度的卡爾曼濾波進行闡述。
卡爾曼濾波是一種高效的遞迴濾波器,能夠從一組有限的、包含噪聲的時間序列中,通過對物體位置的觀測,預測出物體位置的座標及速度,包括預測與更新兩個階段。 在預測階段,濾波器使用上一狀態的估計,做出對當前狀態的估計。在更新階段,濾波器利用對當前狀態的觀測值 ,優化預測階段的預測值,以獲得一個更精確的新估計值。 在人體姿態識別過程中,假定取樣時間間隔為 T; 人體運動狀態為某時刻人體關節的角度和角速度,則狀態變數為 ,通過人體姿態識別,可以獲取人體關節角度,則觀測向量為 在人手臂在自然運動過程中, 各關節的運動狀態在相鄰兩幀影象時間間隔內變化較小,設定其在此時間間隔內近似勻速運動。卡爾曼濾波利用系統狀態方程和觀測方程來實現濾波。系統狀態方程為[3]:

觀測方程為:

其中,k 為時間下標,Xk-1 和
Xk 為 k-1,k 時刻系統狀態向量,Zk 為 k 時刻的系統狀態觀測向量,Wk 和Vk 分別表示過程噪聲和觀測噪聲,
假設均為相互獨立、正態分佈的白色噪聲:P(w)~N(0,Q),P(v)~N(0,R)。 取過程噪聲Wk 和觀測噪聲Vk 的協方差矩陣為:5

其中, q=le-5,r=le-3

 

三  機械臂控制系統

 

機械臂控制系統以藍芽通訊模組和arduino微控制器為核心,獲得控制指令後確定機械臂大致輪廓的三維空間位置,通過藍芽模組將其傳送到控制機械臂的微控制器上,通過PD比例微分控制器對系統進行閉環控制,克服了簡單模糊控制和傳統 PID 控制的一些缺點,通過模糊規則進行推理和決策,實現 PID 控制器引數的實時優化,將不同的角度轉換為不同佔空比的PWM方波,驅動機械臂相應舵機轉動實現模擬人體動作的反饋運動。

    1.系統硬體設計

系統硬體設計以一片arduino晶片,藍芽控制模組和六自由度機械臂組成,接受檢測模組傳遞的訊號後通過對訊號處理使執行模組的舵機轉動,從而保證實時模擬人體動作。接收由上位機傳送而來的控制訊號,實現對機械臂的控制,藍芽通訊模組和微控制器控制單元如圖5、圖6:

 

6

    圖5:藍芽通訊模組                                    7圖6:微控制器控制單元

 

2.電路設計:

通過藍芽通訊模組將人體手臂角度資訊傳送到機械臂的微控制器上,其藍芽通訊模組的電路設計如圖7所示:8

 

圖7:藍芽通訊模組電路圖

 

 

 

 

 

3.舵機的閉環控制

通過PD比例微分控制器對系統進行閉環控制,將不同的角度轉換為不同佔空比的PWM方波,驅動機械臂相應舵機轉動實現模擬人體動作的反饋運動,並介紹了一種模糊自適應 PID 控制器,該方法用於電動舵機的位置伺服控制系統,克服了簡單模糊控制和傳統 PID 控制的一些缺點,通過模糊規則進行推理和決策,實現 PID 控制器引數的實時優化,模擬及實驗結果表明:此方法提高了系統的控制效能,具有較好的控制效果。

3.1模糊PID控制器的原理

PID控制是目前工業上應用最廣泛深入的控制方法。多數控制迴路都是應用該方法或在其基礎上進行較小的變形來控制。PID調節器及其改進型是工業控制中最常見的控制器。PID控制系統原理簡單、使用方便、魯棒性較強等優點,而且具有更大的靈活性、整定性、控制精度更好。引數自適應模糊PID控制器的系統結構主要由引數可調PID和模糊控制系統兩部分構成,其結構如圖8所示。

360截圖20160617181048720

圖8:自適應模糊PID控制器結構

 

模糊PID控制器的控制原理:PID控制器實現對系統的控制,模糊推理系統以誤差e和誤差變化率ec作為輸入,採用模糊推理方法對PID引數、、進行線上整定,以滿足在不同的誤差e和誤差變化率ec的情況下對控制器引數的不同要求,而使被控物件具有良好的動態、靜態效能。

3.2 PID控制器引數自整定原則

通常,PID控制器的控制算式為: 式中,和,分別為其輸入變數偏差與偏差變化,、及分別為表徵其比例,積分及微分作用的引數。

從系統的穩定性、響應速度、超調量和穩態精度等各方面來考慮,、、的作用如下:比例係數的作用是加快系統的響應速度,消除誤差,提高系統的調節精度。越大,系統的響應速度越快,系統的調節精度越高,但易產生超調,甚至會導致系統不穩定。取值過小,則會降低調節精度,使響應速度緩慢,從而延長調節時間,使系統靜態、動態特性變壞。積分作用係數的作用是消除系統的穩態誤差。越大,系統的靜態誤差消除越快,但過大,在響應過程的初期會產生積分飽和現象,從而引起響應過程的較大超調。若過小,將使系統靜態誤差難以消除,從而影響系統的調節精度。微分作用係數的作用是改善系統的動態特性,其作用主要是在響應過程中抑制偏差向任何方向的變化,對偏差變化進行提前預報。但過大,會使響應過程提前制動,從而延長調節時間,而且會降低系統的抗干擾效能。所以PID引數的整定必須考慮到在不同時刻三個引數的作用以及相互之間的互聯關係[5]。

 

PID引數的整定必須考慮在不同時刻3個引數的作用及相互之間的互相聯絡。

根據引數、、對系統輸出特性的影響情況,可以歸納出系統在被控過程中對於不同的偏差和偏差變化率,引數、、的自整定原則:

(1)當偏差較大的時侯,為了加快系統的響應速度,並防止因開始時偏差的瞬間變大可能引起的微分過飽和而使控制作用超出許可範圍,應取較大的和較小的。另外為防止積分飽和,避免系統響應出現較大的超調,值要小,通常取=0 [5];

(2)當偏差和變化率為中等大小的時候,為了使系統響應的超調量減小和保證一定的響應速度,應取小一些。在這種情況下的取值對系統的影響很大,所以應取小一些,而的取值要適當[4];

(3)當偏差較小的時候,為了使系統具有較好的穩態效能,應增大、的值,同時為了避免輸出響應在設定值附近振盪,以及考慮系統的抗干擾能力,應適當的選取,選取的原則是:當偏差變化率較小時,應取大一些;當偏差變化率較大時,應取較小的值,通常應為中等大小[5]。

用是改善系統的動態特性,其作用主要是在響應過程中抑制偏差向任何方向的變化,對偏差變化進行提前預報。但過大,會使響應過程提前制動,從而延長調節時間,而且會降低系統的抗干擾效能。

 

四  總結

 

文章主要研究了基於深度視覺空間定位的機械控制系統及Kinect骨骼追蹤關鍵技術,其主要包括人體姿態識別和機械手臂控制系統兩大部分。

 

本文進行的主要研究工作:

  • 合理安排攝像機與人體的位置,使人體手臂移動範圍滿足Kinect的工作空間。
  • 基於深度成像原理進行人體姿態識別並用卡爾曼濾波提高了資料採集的準確性。
  • 通過PD比例微分控制器實現舵機的閉環控制,降低系統複雜性和測量舵機轉動角度的成本。

該控制系統對機械手臂體感互動方式的研究,利用 Kinect深度相機的骨骼追蹤功能獲取的影象景深資料,以確定人體的各個部分,基於機器視覺獲得目標物體的三維座標,由控制器根據座標資訊來控制機械手臂各關節的轉動,實時模擬人體動作。拍攝的深度圖解析度高,成本低。克服了光照變化、陰影、物體遮擋以及環境變化等因素的干擾,簡化了機械控制的難度,大大增強了機械在複雜空間的適應性。

這項研究非常有意義,有望成為老年人和殘障人士的操作工具, 幫助他們提高行動自由度,將其安裝到移動平臺上,可以擴大其作業範圍,為 Kinect 在遠端家庭監護中的實際應用打下基礎。

 

參考文獻

 

[1]裴巖明. 基於Kinect的遠端機械臂體感控制系統研究[D].大連理工大學,2013.

[2]杜釗君. 基於體感感測器的手勢識別及人機互動系統研究[D].武漢科技大學,2013.

[3]彭丁聰. 卡爾曼濾波的基本原理及應用[J]. 軟體導刊,2009,11:32-34.

[4]王述彥,師宇,馮忠緒. 基於模糊PID控制器的控制方法研究[J]. 機械科學與技術,2011,01:166-172.

[5]田凡. 電液伺服系統模糊PID控制模擬與試驗研究[D].太原理工大學,2010.