文獻標識碼: A
文章編號: 0258-7998(2015)06-0157-04
0 引言
在現代社會中,人們往往不得不在一些特殊的環境下(如極限溫度氣壓、輻射、化學污染等)執行作業。而長期工作在這些環境,會對作業人員的身體健康帶來難以預料的威脅。隨著機器人技術的進步,各國政府正在進行多種研究,爭取將各類機器人應用到對應的特殊環境中,從而改變該環境下的人類的作業方式[1]。其中具備多自由度機械臂的移動機器人由于其移動性和作業能力,吸引了眾多研究者的目光[2],kinect是微軟公司于2011年推出的用于獲取目標物體三維坐標的機器視覺設備[3]。應用kinect體感識別實現人機交互[4]是一種新穎自然的人機交互技術,人們通過它用簡單的肢體語言便能快速靈活地操控機器人[5-7]。輪式移動機構的類型很多, 對于一般的輪式移動機構, 都不可能進行任意的定位和定向, 而全方位移動機構[8]則可以利用車輪所具有的定位和定向功能, 實現平面上的自由運動。麥克納姆輪[9-10]正是其中技術成熟穩定性好的一種輪式結構。據此,本文設計了一種基于kinect體感操控并具有全向移動機構的WiFi視頻監控抓取機器人。經實驗證明,該機器人具備良好的可操控性和靈活性。
1 系統工作原理
系統結構如圖1所示,整個系統分為機器人主體和上位機控制端兩個部分構成。機器人本身是由Acorn計算機有限公司的一款RISC微處理器(Acorn RISC Machine,ARM)控制板、全向移動底盤、基于openwrt系統[11]的WiFi通信模塊、五自由度機械臂、二自由度視頻云臺等部分構成。上位機軟件在基于Windows系統的計算機上運行,接收機器人傳輸回來的實時視頻數據呈現給操縱者,操縱者根據視頻圖像面對kinect作出動作,上位機處理kinect采集的操縱者人體骨骼數據,分析判斷人體指令并傳輸給機器人執行指令。
2 機器人硬件設計
2.1 全向移動底盤的設計及其控制原理
全向移動底盤由4個鋁60 mm 45°萬向輪子、4個空芯12 V Namiki直流電機、L293D 4路直流電機驅動模塊、鋁板、12 V鋰電池等部件構成。圖2(a)所示為麥克納姆輪的原理結構, 其外形象一個斜齒輪, 輪齒是能夠轉動的鼓形滾子, 滾子的軸線與輪的軸線成α角度。滾子有兩個自由度, 在繞自身轉動的同時又能繞車軸轉動。這使得輪體本身也具備了兩個自由度:繞輪軸的轉動和沿滾子軸線垂線方向的平動。圖2(b)所示為底盤結構,以移動平臺中心O點為原點建立全局坐標系oxy,oxy相對地面靜止。在平面上,全方位移動平臺具有3個自由度,其中心點O速度[V1,V2,ω]。ω1、ω2、ω3、ω4分別為4個輪的轉動速度;R為車輪半徑;W、L為圖示的結構尺寸。車體速度與4個輪子的速度關系為:
麥克納姆輪的輪子和滾子夾角為α=45°,vx、vy、ω為控制量。在控制過程中控制板接收控制量通過矩陣運算計算出轉速,由公式Ci=ωi/(mi·ωimax)(Ci是第i個電機的功率,ωi是計算出的第i個電機的轉速,ωimax是i號電機在同一電壓下設定的最大輸出功率下的轉速,mi是維護4個電機轉速在同一最大值的實測參數)轉換為電機的輸出功率,進而通過調制脈沖寬度調制(Pulse Width Modulation,PWM)信號輸出到電機驅動模塊產生對應功率,完成底盤的驅動。本文設計將電機的調速范圍設定在0~100%。由視頻攝像頭傳輸回來的影像交由操控者視覺和感官進行判斷形成閉環系統,進行反饋調節,最終完成準確的全向運動的控制。
當肢體語言與控制結合起來時,便需要用更加自然和易理解的方式讓控制變得更簡單。于是本文采用雙手協作的方式操控全向底盤的運作。從數學模型上可以得出全向移動底盤有任意軌跡運動能力,但是由于運動軌跡的方向性多,極易導致控制的不穩定性,反而讓優點變為缺點。由此精簡了運動的方向性,使其既滿足全向運動的豐富的能動性的同時也能保證其穩定性。本文設定了10種方向運動,分割了不同的自然手勢作為控制量,并使用了左手方向右手動能(即左手指示運動方向,右手指示動能)的原則,通過左右手的運作使得整個全向底盤能夠靈活地進行運動??刂屏坑晒絍n=an·v指示(an為左手動作指示,v為右手速度控制,n為x、y或ω代表直行、橫行、旋轉動作,an是方向指向,v是速度大小)。以前進控制動作為例,左手抬起垂直胸前伸直成直線,右手前伸抬起肘腕段與肩肘段夾角0~90°為正向速度控制,ax=1,ay=0,aω=0,v≥0,即V具有正向前進的速度。
2.2 機械臂、視頻云臺設計及控制原理
機械臂和視頻云臺運動機構是由proMOTION CDS系列機器人數字舵機及一些高強度鋁合金材料構建組成,其可采用異步串行總線通信方式,通過通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter,UART)統一控制。每個舵機設定不同的節點地址,多個舵機可以統一運動也可以單個獨立控制。機械臂具有空間運動和夾持上的5個自由度,視頻云臺具有水平和豎直方向上的2個自由度。機械手臂的運動控制原理與云臺舵機的控制原理相當??刂七^程中機械臂關節點運動分別映射著右手各關節和左手腕關節運動角度,由視頻攝像頭傳輸回來的景象交由操控者視覺和感官進行判斷形成閉環系統,進行反饋調節控制實現空間內的定位運動。視頻云臺運動控制對應著左右手肩關節和肘關節運動,實現機器人前方左右0°~180°、上下0°~150°范圍內的視屏圖像采集。上位機識別關節轉動角度轉換成操作指令發送給機器人控制板,控制板通過串口通信使用數字信號控制舵機運動完成相應動作。運行時,二者不同時進行操作,通過雙臂的指令進行切換控制。
3 軟件設計
3.1 體感控制識別算法
應用骨骼追蹤技術kinect可以追蹤用戶全身20個骨骼點。利用用戶雙手共9個骨骼點的數據,并利用其他點坐標作為輔助識別用戶動作。
本文以兩肩點連成的線段中心為坐標原點O、兩肩點直線為x軸、人體脊柱關節點連成的直線為y軸建立空間坐標系。識別人體控制動作主要是以識別關節運動角度變化來實現。如圖3(a)所示,以左手臂為例,取圖中a、b、c、d、e分別對應kinect識別的人體關節肩中點、肩關節點、肘關節點、腕關節點、手關節點。α1為線段bc(肩肘段)與坐標系xoz平面的夾角,α2為線段bc(肩肘段)與坐標系x軸的夾角,β為線段cd(肘腕段)與線段bc(肩肘段)的夾角,γ為線段cd段與線段de段的夾角。已知兩個線段端點坐標求夾角,本文采用的計算方法為取向量進行空間向量角進行運算。
以計算角度α1和β為例。
如圖3(b)所示,求角α1時,取b點的坐標為(x1,y1,z1),c點的坐標為(x2,y2,z2),有:
由此類推可以推得需要利用的兩手各關節對應的α、β、γ各角度的三角函數值,之后進行反三角函數運算可以獲得各關節轉動角度,進而將識別的角度轉換為控制命令或舵機運動角度并發送到機器人下位機完成控制。
3.2 下位機軟件
機器人控制板采用基于STM32F407芯片的最小系統板,通過串口接收通過WiFi模塊轉發過來的控制字并執行相應指令。能實現機器人全套動作控制、電源檢測、危險路況檢測等功能。具體控制流程圖如圖4。
3.3 通信協議設計
本文設計的通信控制協議如表1所示。狀態號代表機器人的兩種狀態即運動和機械臂操作兩種狀態,以0x00和0x01來表示,其數據區發送的數據也根據兩種狀態來組織。運動狀態時數據區由12 B構成,前10 B表示控制方向命令,后2個字節代表數據參數。舵機控制狀態時則分為5個手臂舵機和2個云臺舵機的舵機ID以及轉動參數一共28 B。
4 實驗分析
本文體感交互系統控制的本質核心在于人體特定關節點轉動角度的識別,為了驗證整個系統的有效性,分別進行了關節轉動角度識別率測試和整體操控測試。具體實驗過程如下。
4.1 關節轉動角度識別率測試
本文系統應用的關節點為左右肩關節、肘關節、腕關節一共6個關節點,在WIN8+VS2013+Kinect for Windows SDK環境下編寫了測試軟件。本文挑選體型身高均有差異的10個人分成2組針對關節轉動的角度識別分別進行測試,每一個關節的轉動角度設為10°、20°、40°、60°、80° 5種情況,每種情況每人測試10次,即每個關節累積進行500次實驗,角度允許誤差±3°。去除偶然反常結果,實驗統計結果如表2所示。從表中可以有如下發現:由左右肩關節到左右腕關節3個節點的識別率依次降低;轉動角度越大,識別的成功率越高。產生以上現象的原因是kinect識別人體關節角度跟人體姿勢變化幅度有關,而人體各關節點的人體姿勢幅度又取決于關節點為位置和關節點的轉動角度,故肩關節的識別準確率最高,同一個關節點轉動角度越大,識別率越高。盡管如此,各關節在各轉動角度的識別率都超過90%,具有較高的識別成功率,符合控制要求。
4.2 機器人動作執行測試
機器人運動過程中分為底盤運動和機械臂云臺控制兩種狀態,兩種控制狀態在人體自然站立等待2 s為周期進行選擇切換,在上位機控制軟件上有設有指示標志。首先對機器人所有動作指令進行測試,然后在4 m×4 m的空間中用膠帶粘出道路狹隘且具備多個直角轉角的地形圖,并放置障礙物、夾取目標物體來測試機器人特定情境的任務執行情況,最終任務順利完成,表明機器人具備一定環境下的任務執行能力。
5 結束語
本文設計了一種基于kinect體感遙控萬向移動抓取機器人系統。系統將kinect體感控制、萬向移動平臺、WiFi通信、五自由度機械臂、二自由度視頻云臺結合起來,實現了能采用體感交互方式進行操控的機器人。實驗證明,該機器人具有良好的操控性能,能在有限的空間區域執行任務。在該機器人的基礎上加上空間定位、空氣、聲、光、電等傳感器可以極大提升其應用能力,在軍事、商業、民用等領域具有廣闊應用的前景。
參考文獻
[1] 張明路,彭平,張小俊.特殊環境下服役機器人發展現狀及其關鍵技術研究[J].河北工業大學學報,2013,42(1):70-75.
[2] 康靜.移動機械手建模及控制技術研究[D].天津:天津理工大學,2010.
[3] JONGWOOK K,DONGJUN S,DONGSEOK J.A study on the control method of 3-dimensional space application using kinect system[J].International Journal of Computer Science and Network Security,2011,11(9):55-59.
[4] 黃璐.面向交互的手勢識別研究[D].武漢:華中師范大學,2011.
[5] 倪晨,邱鵬,王鋒,等.Kinect體感技術在人機交互中的應用研究[J].信息技術與信息化,2013,0(1):87-90.
[6] ZHOU J I,DASGUPTA D.V-detector:An efficient negative selection algorithm with“probably adequate”detector coverage[J].Infor-mation Sciences,2009,17(9):1390-1406.
[7] AYDIN I,KARAKSE M,AKIN E.Chaotic-based hybrid negative selection algorithm and its applications in fault and anomaly detection[J].Expert Systems with Applications,2010(37):5285-5294.
[8] GILLES M,CYRIL N,G?魪RARD P,et al.Omni-directional robot with spherical orthogonal wheels:concepts and analyses[J].IEEE International Conference on Robotics and Automation,2006,15(5):3374-3379.
[9] GFRERRER A.Geometry and kinematics of the Mecanum wheel[J].Computer Aided Geometric Design,2008,25(9):784-791.
[10] 劉洲,吳洪濤.Mecanum四輪全方位移動機構運動分析與仿真[J].現代設計與先進制造技術,2011,40(5):43-46.
[11] 張曉華,張玉華.基于路由器的開源嵌入式操作系統學習平臺[J].單片機與嵌入式系統應用,2013(2):13-16.