《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于體感遙控的全向移動機器人的系統(tǒng)設計
基于體感遙控的全向移動機器人的系統(tǒng)設計
2015年電子技術應用第6期
孫 強,王文濤
中南民族大學 計算機科學學院,湖北 武漢430074
摘要: 設計一款利用人體骨骼移動信息生成控制指令控制基于麥克納姆輪的具有全向移動抓取功能的機器人及其控制系統(tǒng)。首先通過kinect獲取人體深度圖像數(shù)據(jù),然后利用骨骼追蹤技術提取人體各個關節(jié)點,并建立空間坐標系,最后通過空間向量計算法計算出人體關節(jié)轉動角度,從而識別出控制動作并映射成相關控制命令。之后利用WiFi無線傳輸,將控制命令傳輸?shù)綑C器人使其執(zhí)行相應動作。對系統(tǒng)動作識別效率和模擬場景任務執(zhí)行進行測試,并給出測試結果。
中圖分類號: TP391
文獻標識碼: A
文章編號: 0258-7998(2015)06-0157-04
Design of omnidirectional robot system based on motion sensing remote control
Sun Qiang,Wang Wentao
College of Computer Science and Technology,South-Central University for Nationalities,Wuhan 430074,China
Abstract: This paper designed a robot and its control system,by using the human skeleton movement information to generate command control, which was based on the Mecanum wheels and had the omnidirectional movement and grasping functions. First of all, the upper computer was used to obtain the depth image data of human body through kinect. Then, the skeleton tracking technology was used to extract various joints of human body and establish the space coordinate system. Finally, the joint rotation angle of human body was calculated through the space vector algorithm, and in this way, the control movement could be identified and mapped into related control demand. Next, the WiFi transmission was used to transmit the control command to the robot to execute corresponding movement.The identification efficiency of system movement and the execution of tasks in simulated scenarios were tested, and the test results were given.
Key words : robot;kinect;skeleton data;Mecanum wheel;WiFi communication;robot arm

   0 引言

    在現(xiàn)代社會中,人們往往不得不在一些特殊的環(huán)境下(如極限溫度氣壓、輻射、化學污染等)執(zhí)行作業(yè)。而長期工作在這些環(huán)境,會對作業(yè)人員的身體健康帶來難以預料的威脅。隨著機器人技術的進步,各國政府正在進行多種研究,爭取將各類機器人應用到對應的特殊環(huán)境中,從而改變該環(huán)境下的人類的作業(yè)方式[1]。其中具備多自由度機械臂的移動機器人由于其移動性和作業(yè)能力,吸引了眾多研究者的目光[2],kinect是微軟公司于2011年推出的用于獲取目標物體三維坐標的機器視覺設備[3]。應用kinect體感識別實現(xiàn)人機交互[4]是一種新穎自然的人機交互技術,人們通過它用簡單的肢體語言便能快速靈活地操控機器人[5-7]。輪式移動機構的類型很多, 對于一般的輪式移動機構, 都不可能進行任意的定位和定向, 而全方位移動機構[8]則可以利用車輪所具有的定位和定向功能, 實現(xiàn)平面上的自由運動。麥克納姆輪[9-10]正是其中技術成熟穩(wěn)定性好的一種輪式結構。據(jù)此,本文設計了一種基于kinect體感操控并具有全向移動機構的WiFi視頻監(jiān)控抓取機器人。經(jīng)實驗證明,該機器人具備良好的可操控性和靈活性。

1 系統(tǒng)工作原理

    系統(tǒng)結構如圖1所示,整個系統(tǒng)分為機器人主體和上位機控制端兩個部分構成。機器人本身是由Acorn計算機有限公司的一款RISC微處理器(Acorn RISC Machine,ARM)控制板、全向移動底盤、基于openwrt系統(tǒng)[11]WiFi通信模塊、五自由度機械臂、二自由度視頻云臺等部分構成。上位機軟件在基于Windows系統(tǒng)的計算機上運行,接收機器人傳輸回來的實時視頻數(shù)據(jù)呈現(xiàn)給操縱者,操縱者根據(jù)視頻圖像面對kinect作出動作,上位機處理kinect采集的操縱者人體骨骼數(shù)據(jù),分析判斷人體指令并傳輸給機器人執(zhí)行指令。

jsj7-t1.gif

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個輪子的速度關系為:

    jsj7-gs1.gif

jsj7-t2.gif

    麥克納姆輪的輪子和滾子夾角為α=45°,vx、vy、ω為控制量。在控制過程中控制板接收控制量通過矩陣運算計算出轉速,由公式Cii/(mi·ωimax)(Ci是第i個電機的功率,ωi是計算出的第i個電機的轉速,ωimax是i號電機在同一電壓下設定的最大輸出功率下的轉速,mi是維護4個電機轉速在同一最大值的實測參數(shù))轉換為電機的輸出功率,進而通過調制脈沖寬度調制(Pulse Width Modulation,PWM)信號輸出到電機驅動模塊產生對應功率,完成底盤的驅動。本文設計將電機的調速范圍設定在0~100%。由視頻攝像頭傳輸回來的影像交由操控者視覺和感官進行判斷形成閉環(huán)系統(tǒng),進行反饋調節(jié),最終完成準確的全向運動的控制。

    當肢體語言與控制結合起來時,便需要用更加自然和易理解的方式讓控制變得更簡單。于是本文采用雙手協(xié)作的方式操控全向底盤的運作。從數(shù)學模型上可以得出全向移動底盤有任意軌跡運動能力,但是由于運動軌跡的方向性多,極易導致控制的不穩(wěn)定性,反而讓優(yōu)點變?yōu)槿秉c。由此精簡了運動的方向性,使其既滿足全向運動的豐富的能動性的同時也能保證其穩(wěn)定性。本文設定了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系列機器人數(shù)字舵機及一些高強度鋁合金材料構建組成,其可采用異步串行總線通信方式,通過通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)統(tǒng)一控制。每個舵機設定不同的節(jié)點地址,多個舵機可以統(tǒng)一運動也可以單個獨立控制。機械臂具有空間運動和夾持上的5個自由度,視頻云臺具有水平和豎直方向上的2個自由度。機械手臂的運動控制原理與云臺舵機的控制原理相當。控制過程中機械臂關節(jié)點運動分別映射著右手各關節(jié)和左手腕關節(jié)運動角度,由視頻攝像頭傳輸回來的景象交由操控者視覺和感官進行判斷形成閉環(huán)系統(tǒng),進行反饋調節(jié)控制實現(xiàn)空間內的定位運動。視頻云臺運動控制對應著左右手肩關節(jié)和肘關節(jié)運動,實現(xiàn)機器人前方左右0°~180°、上下0°~150°范圍內的視屏圖像采集。上位機識別關節(jié)轉動角度轉換成操作指令發(fā)送給機器人控制板,控制板通過串口通信使用數(shù)字信號控制舵機運動完成相應動作。運行時,二者不同時進行操作,通過雙臂的指令進行切換控制。

3 軟件設計

3.1 體感控制識別算法

    應用骨骼追蹤技術kinect可以追蹤用戶全身20個骨骼點。利用用戶雙手共9個骨骼點的數(shù)據(jù),并利用其他點坐標作為輔助識別用戶動作。

    本文以兩肩點連成的線段中心為坐標原點O、兩肩點直線為x軸、人體脊柱關節(jié)點連成的直線為y軸建立空間坐標系。識別人體控制動作主要是以識別關節(jié)運動角度變化來實現(xiàn)。如圖3(a)所示,以左手臂為例,取圖中a、b、c、d、e分別對應kinect識別的人體關節(jié)肩中點、肩關節(jié)點、肘關節(jié)點、腕關節(jié)點、手關節(jié)點。α1為線段bc(肩肘段)與坐標系xoz平面的夾角,α2為線段bc(肩肘段)與坐標系x軸的夾角,β為線段cd(肘腕段)與線段bc(肩肘段)的夾角,γ為線段cd段與線段de段的夾角。已知兩個線段端點坐標求夾角,本文采用的計算方法為取向量進行空間向量角進行運算。

    以計算角度α1和β為例。

    如圖3(b)所示,求角α1時,取b點的坐標為(x1,y1,z1),c點的坐標為(x2,y2,z2),有:

jsj7-gs2-5.gifjsj7-gs2-5.gif

    由此類推可以推得需要利用的兩手各關節(jié)對應的α、β、γ各角度的三角函數(shù)值,之后進行反三角函數(shù)運算可以獲得各關節(jié)轉動角度,進而將識別的角度轉換為控制命令或舵機運動角度并發(fā)送到機器人下位機完成控制。

jsj7-t3.gif

3.2 下位機軟件

    機器人控制板采用基于STM32F407芯片的最小系統(tǒng)板,通過串口接收通過WiFi模塊轉發(fā)過來的控制字并執(zhí)行相應指令。能實現(xiàn)機器人全套動作控制、電源檢測、危險路況檢測等功能。具體控制流程圖如圖4。

jsj7-t4.gif

3.3 通信協(xié)議設計

    本文設計的通信控制協(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構成,前10 B表示控制方向命令,后2個字節(jié)代表數(shù)據(jù)參數(shù)。舵機控制狀態(tài)時則分為5個手臂舵機和2個云臺舵機的舵機ID以及轉動參數(shù)一共28 B。

jsj7-b1.gif

4 實驗分析

    本文體感交互系統(tǒng)控制的本質核心在于人體特定關節(jié)點轉動角度的識別,為了驗證整個系統(tǒng)的有效性,分別進行了關節(jié)轉動角度識別率測試和整體操控測試。具體實驗過程如下。

4.1 關節(jié)轉動角度識別率測試

    本文系統(tǒng)應用的關節(jié)點為左右肩關節(jié)、肘關節(jié)、腕關節(jié)一共6個關節(jié)點,在WIN8+VS2013+Kinect for Windows SDK環(huán)境下編寫了測試軟件。本文挑選體型身高均有差異的10個人分成2組針對關節(jié)轉動的角度識別分別進行測試,每一個關節(jié)的轉動角度設為10°、20°、40°、60°、80° 5種情況,每種情況每人測試10次,即每個關節(jié)累積進行500次實驗,角度允許誤差±3°。去除偶然反常結果,實驗統(tǒng)計結果如表2所示。從表中可以有如下發(fā)現(xiàn):由左右肩關節(jié)到左右腕關節(jié)3個節(jié)點的識別率依次降低;轉動角度越大,識別的成功率越高。產生以上現(xiàn)象的原因是kinect識別人體關節(jié)角度跟人體姿勢變化幅度有關,而人體各關節(jié)點的人體姿勢幅度又取決于關節(jié)點為位置和關節(jié)點的轉動角度,故肩關節(jié)的識別準確率最高,同一個關節(jié)點轉動角度越大,識別率越高。盡管如此,各關節(jié)在各轉動角度的識別率都超過90%,具有較高的識別成功率,符合控制要求。

jsj7-b2.gif

4.2 機器人動作執(zhí)行測試

    機器人運動過程中分為底盤運動和機械臂云臺控制兩種狀態(tài),兩種控制狀態(tài)在人體自然站立等待2 s為周期進行選擇切換,在上位機控制軟件上有設有指示標志。首先對機器人所有動作指令進行測試,然后在4 m×4 m的空間中用膠帶粘出道路狹隘且具備多個直角轉角的地形圖,并放置障礙物、夾取目標物體來測試機器人特定情境的任務執(zhí)行情況,最終任務順利完成,表明機器人具備一定環(huán)境下的任務執(zhí)行能力。 

5 結束語

    本文設計了一種基于kinect體感遙控萬向移動抓取機器人系統(tǒng)。系統(tǒng)將kinect體感控制、萬向移動平臺、WiFi通信、五自由度機械臂、二自由度視頻云臺結合起來,實現(xiàn)了能采用體感交互方式進行操控的機器人。實驗證明,該機器人具有良好的操控性能,能在有限的空間區(qū)域執(zhí)行任務。在該機器人的基礎上加上空間定位、空氣、聲、光、電等傳感器可以極大提升其應用能力,在軍事、商業(yè)、民用等領域具有廣闊應用的前景。 

參考文獻

[1] 張明路,彭平,張小俊.特殊環(huán)境下服役機器人發(fā)展現(xiàn)狀及其關鍵技術研究[J].河北工業(yè)大學學報,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].現(xiàn)代設計與先進制造技術,2011,40(5):43-46.

[11] 張曉華,張玉華.基于路由器的開源嵌入式操作系統(tǒng)學習平臺[J].單片機與嵌入式系統(tǒng)應用,2013(2):13-16.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。