占 宏,孔海怡,楊辰光
(華南理工大學(xué)自動(dòng)化科學(xué)與工程學(xué)院,廣州 510641)
近年來(lái),移動(dòng)機(jī)器人技術(shù)得到快速發(fā)展并應(yīng)用于多個(gè)領(lǐng)域,如生活服務(wù)、醫(yī)療康復(fù)、物流運(yùn)送等,給人們的生活帶來(lái)了便利,大大提高了工作效率[1-3]。對(duì)于一些條件惡劣、環(huán)境復(fù)雜或者危險(xiǎn)的場(chǎng)所,為了保證操作者的安全,通常需要采用遠(yuǎn)程控制方式來(lái)操作移動(dòng)機(jī)器人獨(dú)立完成相關(guān)的作業(yè),如軍事勘探、地質(zhì)科考、地震救援等[4-5]。與傳統(tǒng)鍵盤(pán)鼠標(biāo)等接觸式遠(yuǎn)程控制模式相比,基于人體動(dòng)作識(shí)別的體感交互控制模式更加自然、直觀,更容易被用戶(hù)所接受[6-7]。體感交互控制模式有著重要的研究意義和廣闊的應(yīng)用前景。
將體感識(shí)別與移動(dòng)機(jī)器人控制相結(jié)合,開(kāi)發(fā)了一套人機(jī)交互控制系統(tǒng)。利用兩個(gè)MYO 手環(huán)采集人體手臂表面肌電信號(hào)分別進(jìn)行手勢(shì)識(shí)別和肌電強(qiáng)度估計(jì),并將獲取的信息與移動(dòng)機(jī)器人運(yùn)動(dòng)方向和速度控制命令相結(jié)合,通過(guò)WiFi 通信發(fā)送控制命令,實(shí)現(xiàn)移動(dòng)機(jī)器人的遠(yuǎn)程交互控制。人機(jī)交互控制系統(tǒng)對(duì)于復(fù)雜環(huán)境下的機(jī)器人遠(yuǎn)程作業(yè)控制有著重要的意義。
系統(tǒng)整體框架如圖1 所示,主要包括操作者、2 個(gè)MYO手環(huán)、移動(dòng)機(jī)器人、計(jì)算機(jī)4 部分。MYO 手環(huán)內(nèi)置有8 個(gè)肌電信號(hào)電極,采樣頻率為200 Hz,其能夠捕捉到操作者手臂肌肉運(yùn)動(dòng)時(shí)產(chǎn)生的表面肌電信號(hào)變化并通過(guò)自身藍(lán)牙模塊發(fā)送給計(jì)算機(jī)[8]。移動(dòng)機(jī)器人底部為4 個(gè)麥克納姆輪,其旋轉(zhuǎn)軸均與機(jī)器人本體成45°且對(duì)角位置輪的軸方向相同,每個(gè)輪均由功率為90 W的電動(dòng)機(jī)驅(qū)動(dòng),這一結(jié)構(gòu)使得移動(dòng)機(jī)器人可以按照操作者的命令向各個(gè)方向運(yùn)動(dòng)。此外,移動(dòng)機(jī)器人前端裝有激光雷達(dá),其掃描距離為8 m、角度分辨率為0.18°可以掃描并檢測(cè)環(huán)境中的障礙物。系統(tǒng)控制算法基于ROS平臺(tái),采用C語(yǔ)言進(jìn)行開(kāi)發(fā)。
圖1 系統(tǒng)整體框圖
系統(tǒng)有兩種控制模式:
(1)柔順運(yùn)動(dòng)模式。移動(dòng)機(jī)器人完全由操作者控制,此過(guò)程中操作者左右手手臂分別佩戴一個(gè)MYO手環(huán),左右兩個(gè)手環(huán)所采集的表面肌電信號(hào)分別用于獲取肌電強(qiáng)度信息和手勢(shì)識(shí)別,其中肌電強(qiáng)度信息可以轉(zhuǎn)換成移動(dòng)機(jī)器人的線速度命令,手勢(shì)識(shí)別結(jié)果則作為移動(dòng)機(jī)器人的運(yùn)動(dòng)方向命令。
(2)避障模式。移動(dòng)機(jī)器人在運(yùn)動(dòng)過(guò)程中不斷通過(guò)雷達(dá)檢測(cè)最近的障礙物與自身的距離,如果該距離小于安全距離,系統(tǒng)就會(huì)切換至自主避障模式,此時(shí)移動(dòng)機(jī)器人就會(huì)在避障算法的控制下沿著障礙物的輪廓運(yùn)動(dòng),運(yùn)動(dòng)線速度仍受到操作者的控制并隨其肌電強(qiáng)度幅值大小而變化。當(dāng)移動(dòng)機(jī)器人安全繞過(guò)障礙物并回到之前的運(yùn)動(dòng)路線時(shí),系統(tǒng)將再次啟動(dòng)柔順運(yùn)動(dòng)模式繼續(xù)運(yùn)動(dòng)。
系統(tǒng)主要包括手勢(shì)-命令映射的建立、肌電強(qiáng)度幅值提取與線速度計(jì)算、自主避障算法、模型預(yù)測(cè)控制器4 個(gè)模塊。
MYO 手環(huán)將通過(guò)采集右手手臂在不同手勢(shì)動(dòng)作下肌肉運(yùn)動(dòng)所產(chǎn)生的表面肌電信號(hào)傳送到計(jì)算機(jī)進(jìn)行分析、處理、識(shí)別操作者的手勢(shì),并映射到相應(yīng)的手勢(shì)命令[9-10]。如圖2 所示,手勢(shì)庫(kù)中預(yù)定義了手腕左擺、手腕右擺、手指伸展、手掌握拳和手指雙擊5 種手勢(shì),其分別對(duì)應(yīng)移動(dòng)機(jī)器人向左、向右、后退、前進(jìn)和停止5 種控制命令。
圖2 系統(tǒng)手勢(shì)-命令映射
操作者左手MYO手環(huán)所采集的表面肌電信號(hào)用來(lái)提取強(qiáng)度幅值并轉(zhuǎn)化為相應(yīng)的線速度。原始信號(hào)中通常存在一定的干擾,需要對(duì)采集的電信號(hào)進(jìn)行處理以得到質(zhì)量較高的信號(hào)。假設(shè)MYO 手環(huán)在當(dāng)前采樣k時(shí)刻所采集的第i 路(i=1,2,…,8)通道輸出的原始信號(hào)為Ei(k),計(jì)算8 個(gè)通道信號(hào)的幅值之和:
采用窗口大小為w的移動(dòng)平均濾波法得到k時(shí)刻表面肌包絡(luò)電信號(hào):
由文獻(xiàn)[11]中可知,如果定義e(*)為指數(shù)函數(shù),μ為一非線性形狀因子,那么采樣k時(shí)刻的肌電強(qiáng)度幅值:
如圖3 所示為實(shí)驗(yàn)過(guò)程中通過(guò)上述方法采集的表面肌電原始信號(hào)提取肌電強(qiáng)度幅值的過(guò)程,其中w=400,μ=-0.01。
圖3 肌電強(qiáng)度幅值提取
根據(jù)操作者的習(xí)慣,將肌電強(qiáng)度幅值的大小設(shè)置為與機(jī)器人的線速度呈線性關(guān)系。如果用ηmax、ηmin分別表示肌電強(qiáng)度的最大和最小幅值,vmax、vmin分別表示移動(dòng)機(jī)器人最大和最小線速度,那么移動(dòng)機(jī)器人的線速度v(k)和操作者肌電強(qiáng)度幅值ηemg(k)之間的關(guān)系可以表示為:
實(shí)現(xiàn)自主避障可以保證移動(dòng)機(jī)器人、操作者和環(huán)境的安全[12]。在柔順運(yùn)動(dòng)模式下,移動(dòng)機(jī)器人將一直沿著操作者控制命令方向運(yùn)動(dòng)直到接收到新的控制命令或者被障礙物阻擋。在此情況下,采用一種改進(jìn)的Bug算法即NT-Bug 算法以實(shí)現(xiàn)在未知環(huán)境下通過(guò)繞著障礙物的輪廓運(yùn)動(dòng)來(lái)避障并回到之前控制命令的運(yùn)動(dòng)路線上[13]。
用P代表算法的不同階段,P=0 表示柔順運(yùn)動(dòng)模式,P=1 表示避障模式。用Or表示移動(dòng)機(jī)器人的中心;B表示最近的障礙物單元;dobs表示Or與B 的距離即機(jī)器人與障礙物的最近距離;dsafe為最小安全距離。根據(jù)人工勢(shì)場(chǎng)法將障礙物看作虛擬排斥勢(shì)場(chǎng),B 施加于移動(dòng)機(jī)器人力的方向?yàn)棣萶bs。機(jī)器人控制命令運(yùn)動(dòng)方向θcom,運(yùn)動(dòng)路線Lcom為環(huán)繞障礙物輪廓運(yùn)動(dòng)的方向,θesc=或-表示逆時(shí)針或順時(shí)針?lè)较蜻\(yùn)動(dòng)。d表示Or到Lcom的距離,dσ為距離閾值。在操作者的控制命令下,移動(dòng)機(jī)器人開(kāi)始運(yùn)動(dòng)時(shí)處于柔順運(yùn)動(dòng)模式即P=0,當(dāng)dobs<dsafe時(shí),運(yùn)動(dòng)模式切換到避障模式即P=1,此時(shí)機(jī)器人的運(yùn)動(dòng)方向θ=θobs+θesc;當(dāng)0 <|d|<dσ時(shí)表明移動(dòng)機(jī)器人已經(jīng)繞過(guò)障礙物并到達(dá)Lcom,此時(shí)運(yùn)動(dòng)模式將切換至柔順運(yùn)動(dòng)模式即P=0。
如圖4 所示為移動(dòng)機(jī)器人運(yùn)動(dòng)時(shí)的坐標(biāo)系統(tǒng)示意圖,其中XrOrYr和XwOwYw分別為機(jī)器人坐標(biāo)系和全局坐標(biāo)系。
圖4 移動(dòng)機(jī)器人坐標(biāo)系統(tǒng)示意圖
定義移動(dòng)機(jī)器人在XwOwYw中的當(dāng)前位置為X=[x,y,θ]T;ω為角速度;vx、vy分別為Xr和Yr軸的速度分量。那么移動(dòng)機(jī)器人的運(yùn)動(dòng)學(xué)模型可以表示為:
之間的變換矩陣。同理,可以得到參考位置Xr=[xr,yr,θr]T的運(yùn)動(dòng)學(xué)模型。定義移動(dòng)機(jī)器人當(dāng)前位置和參考位置的狀態(tài)差為
并在系統(tǒng)平衡點(diǎn)進(jìn)行線性化可以得到動(dòng)態(tài)誤差模型:
為了實(shí)現(xiàn)移動(dòng)機(jī)器人的最優(yōu)跟蹤控制,下面設(shè)計(jì)基于上述動(dòng)態(tài)誤差模型的模型預(yù)測(cè)控制器[13-15]。定義采樣周期為ts,將式(6)進(jìn)行離散化處理得:
定義如下代價(jià)函數(shù):
式中:Np為預(yù)測(cè)時(shí)域Nc為控制時(shí)域且有0≤Np≤Nc,Nc≥1;R、Q均為對(duì)稱(chēng)正定矩陣。最優(yōu)控制輸入可以通過(guò)在相應(yīng)約束條件下最小化代價(jià)函數(shù)得到,即:
為方便求解,最終將最優(yōu)化控制問(wèn)題轉(zhuǎn)化為如下多約束二次規(guī)劃問(wèn)題來(lái)求解:
實(shí)驗(yàn)選取3 m×5 m區(qū)域并在其中設(shè)置了L 形障礙物,實(shí)際實(shí)驗(yàn)環(huán)境如圖5 所示。
圖5 設(shè)定的實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)前預(yù)先構(gòu)建了該區(qū)域的二維網(wǎng)格地圖,實(shí)驗(yàn)過(guò)程中移動(dòng)機(jī)器人運(yùn)動(dòng)的實(shí)時(shí)位置將被記錄在地圖上以更好地展示實(shí)驗(yàn)效果。實(shí)驗(yàn)NT-Bug 避障算法中設(shè)置:ηmax=80;ηmin=8;vmax=0.15 m/s;vmin=0.05 m/s;dsafe=0.55 m;θesc=。MPC 中參數(shù)設(shè)置為:Umax=-Umin=ΔUmax=-ΔUmin=[10,10,10,10,10,10]T,Xmax=-Xmin=[10,10,10,10,10,10,10,10,10]T。
實(shí)驗(yàn)開(kāi)始時(shí),操作者左右手臂分別佩戴好一個(gè)MYO手環(huán),由左右手共同控制移動(dòng)機(jī)器人向前方運(yùn)動(dòng),同時(shí)機(jī)器人通過(guò)雷達(dá)不斷掃描最近障礙物與自身的距離,此時(shí)系統(tǒng)處于柔順運(yùn)動(dòng)模式。當(dāng)最小距離小于安全距離0.55 m時(shí),機(jī)器人系統(tǒng)切換至避障模式并沿著L 形障礙物的輪廓運(yùn)動(dòng)。當(dāng)機(jī)器人與之前運(yùn)動(dòng)路線距離小于0.02 m時(shí),表明其回到控制命令運(yùn)動(dòng)路線上,系統(tǒng)又切換至柔順運(yùn)動(dòng)模式繼續(xù)運(yùn)動(dòng)。
上述實(shí)驗(yàn)所得結(jié)果如圖6 所示,圖6(a)中粉色標(biāo)記為實(shí)驗(yàn)過(guò)程中移動(dòng)機(jī)器人運(yùn)動(dòng)的實(shí)時(shí)位置記錄,可見(jiàn)機(jī)器人能夠按照操作者的命令前進(jìn),同時(shí)也自主安全地避開(kāi)了L 形障礙物并回到之前的運(yùn)動(dòng)路線上。圖6(b)為移動(dòng)機(jī)器人位置跟蹤誤差曲線,當(dāng)系統(tǒng)達(dá)到穩(wěn)定狀態(tài)后誤差小于0.01 m,表明機(jī)器人實(shí)現(xiàn)了對(duì)參考軌跡的跟蹤。上述實(shí)驗(yàn)結(jié)果驗(yàn)證了所設(shè)計(jì)移動(dòng)機(jī)器人交互控制系統(tǒng)的有效性。
圖6 移動(dòng)機(jī)器人實(shí)時(shí)實(shí)驗(yàn)結(jié)果
本文設(shè)計(jì)了一種基于表面肌電信號(hào)的移動(dòng)機(jī)器人交互控制系統(tǒng)。利用操作者左右手手臂兩個(gè)MYO 手環(huán)采集相應(yīng)的表面肌電信號(hào),其中右手信號(hào)進(jìn)行手勢(shì)識(shí)別作為移動(dòng)機(jī)器人的方向控制命令,左手信號(hào)用于提取肌電強(qiáng)度幅值并轉(zhuǎn)換成對(duì)應(yīng)的速度控制命令。在柔順運(yùn)動(dòng)模式下,移動(dòng)機(jī)器人按照操作者的控制命令運(yùn)動(dòng),當(dāng)遇到障礙物時(shí),系統(tǒng)切換至避障模式并采用NT-Bug避障算法實(shí)現(xiàn)自主障礙,MPC 控制器實(shí)現(xiàn)了對(duì)參考軌跡的跟蹤回到了之前的運(yùn)動(dòng)路線上。實(shí)驗(yàn)驗(yàn)證了該系統(tǒng)遠(yuǎn)程交互控制的有效性,這對(duì)于移動(dòng)機(jī)器人在未知復(fù)雜環(huán)境下作業(yè)如科考、救援等有著重要應(yīng)用價(jià)值。