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