龔波濤,汪孔屏,張雷
(國網(wǎng)上海市電力公司工程建設(shè)咨詢分公司,上海 200120)
隨著信息社會的不斷發(fā)展和人民生活水平的日益提高,人們對于智能化服務(wù)設(shè)備的要求也越來越高[1]。目前,智能機器人已逐漸成為日常生活中較為常見的智能化設(shè)備,無論是在公共服務(wù)、醫(yī)療保健、居家保潔等領(lǐng)域均有廣泛的應(yīng)用[2-3],但對于環(huán)境具有感知、決策和適應(yīng)能力的自主式智能機器人是當前研究的難點。
自主式智能機器人的自主跟隨算法,是保證其完成指定任務(wù)的關(guān)鍵所在?,F(xiàn)有的自主跟隨算法大多只能按既定路徑跟蹤和執(zhí)行任務(wù),對于程序未涉及或突發(fā)的情境無法進行處理。此外,也存在部分算法具備一定的自主學習能力,但跟蹤精度與效率難以滿足現(xiàn)代生活對于機器人智能化的要求[4-5]。
針對上述問題,該文提出了一種基于深度學習的智能機器人自主跟隨算法。利用搭建的智能機器人平臺獲取目標信息,并采用深度學習算法分析目標位置信息。從而能夠主動識別并學習外界環(huán)境的變化,高精度、高效率地完成多場景的自主跟隨任務(wù)處理。
自主跟隨機器人需要跟隨目標進行移動,目前機器人的移動方式主要分為履帶式、步行足式、輪式[6]。其中輪式移動機器人具有較好的運動能力,簡單的筒式機械結(jié)構(gòu)使其適用性更為廣泛。因此,該文研究的智能機器人采用輪式結(jié)構(gòu)[7]。
輪式智能機器人按車輪數(shù)目可以劃分成單輪、雙輪、H 輪、四輪,其中H 輪和四輪的穩(wěn)定性較為理想[8]。自主跟隨智能機器人的功能目標在于跟隨與載物,因此采用四輪結(jié)構(gòu)。其包括了兩個支撐輪和兩個獨立驅(qū)動輪,通過差速驅(qū)動的方式,實現(xiàn)機器人的轉(zhuǎn)向。
機器人的底盤盒設(shè)為圓形,以便更優(yōu)地完成轉(zhuǎn)彎等運動。并在底盤盒中放置電池、電機驅(qū)動器安裝跟隨控制系統(tǒng),這些配置具有一定的重量,在一定程度上保證了運動的平穩(wěn)性。同時在底盤盒上通過支撐桿銜接一個托盤,可用于放置物品。支撐桿的長度是0.8 m,便于搭載目標識別器件,如云臺和攝像機。驅(qū)動輪軸上安裝有減速器與編碼器,可通過平鍵連接。
為了便于描述機器人的運動,對其進行幾何建模,機器人的瞬時旋轉(zhuǎn)中心和回轉(zhuǎn)半徑定義為G和R。機器人的方向由垂直于前輪軸的主軸給出,且之間的角度φ為方向角。機器人的二維平面模型,如圖1 所示。
圖1 機器人二維平面模型
假設(shè)機器人的運動是純平移與純勻速旋轉(zhuǎn),則智能機器人有兩種類型的運動:笛卡爾坐標系直線運動和圓形運動。數(shù)學模型公式,如下所示。
直線運動方程:
圓周運動方程:
式(1)、(2)中,φ為機器人軸的方向角,rw為車輪半徑,N為運動周期,ωg為回轉(zhuǎn)角速度,ωr為車輪的角速度,s為采樣期間的旋轉(zhuǎn)步長。
從而可以推導出機器人的運動狀態(tài)與車輪速度的關(guān)系為:
式(3)中,2L為兩輪軸之間的長度,v1、v2分別是兩輪的速度。
智能機器人基于攝像頭獲取目標的信息,并利用深度學習分析目標位置信息,從而完成目標自主跟隨。
深度學習(Deep Learning,DL)的核心在于通過增加抽象級別學習數(shù)據(jù)的表示,而在更高層次上的抽象表示均通過在較低層次上的不抽象表示來完成定義[9-10]。這種分層學習過程較為強大,因為DL允許系統(tǒng)直接從原始數(shù)據(jù)中理解和學習復雜的表示,使其在眾多學科中廣泛應(yīng)用[11]。目前,已有的DL結(jié)構(gòu)包括深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、深度自編碼器、深度玻爾茲曼機、深度信念網(wǎng)絡(luò)、深度殘差網(wǎng)絡(luò)等[12-13]。
深度自編碼(Deep Autoencoder,DA)是通過堆疊多個自動編碼器而獲得的,這些自動編碼器是數(shù)據(jù)驅(qū)動的無監(jiān)督模型。并將輸入量自動投影到較輸入量更小的維空間以降低數(shù)據(jù)維度,其結(jié)構(gòu)如圖2 所示。在自動編碼器中,輸入/輸出層使用等量的單位,而隱藏層使用較少的單位。非線性/線性變換體現(xiàn)在隱藏層單元中,并將給定輸入編碼轉(zhuǎn)為更小的維度[14]。雖然DA 需要一個預(yù)訓練階段,且存在部分消失錯誤,但因其數(shù)據(jù)壓縮能力較強,并擁有多種變形結(jié)構(gòu),例如去噪自動編碼器、稀疏自動編碼器、變分自動編碼器等,目前已獲得了廣泛應(yīng)用[15]。
圖2 DA的結(jié)構(gòu)
當用于多模式學習時,完全連接的自編碼器和DA的一個局限性均忽略了多維圖像結(jié)構(gòu)[16]。這樣,輸出不僅與普通大小的輸入有關(guān),且還引入了部分參數(shù),這些參數(shù)使得每個特征均跨越了整個視界。為此,該文通過引入卷積自編碼(Convolution Autoencoder,CA)實現(xiàn)了權(quán)重在輸入中的實時共享,從而保留空間局部性。
設(shè)輸入數(shù)據(jù)是Z={z1,z2,…,zn},濾波器映射定義成H={h1,h2,…,hm},數(shù)據(jù)深度是D,濾波器的尺寸是( 2k+1,2k+1,n)。通過卷積運算獲得m個數(shù)據(jù)深度是D的激活映射,其數(shù)學表達式為:
式中,α是非線性的,濾波器映射所對應(yīng)的數(shù)據(jù)為p∈{1,…,m}。
上述激活映射即為數(shù)據(jù)Z的低維度編碼描述。采用Max-pooling 處理方式完成輸入數(shù)據(jù)大小的下采樣,且經(jīng)過兩層隱含層傳輸這一激活特征映射,并將其投影至d維的公共子空間。
此外,在解碼環(huán)節(jié)中采用反卷積,以將數(shù)據(jù)重新投影至原始空間。其與常規(guī)卷積一致,只是加大了輸入數(shù)據(jù)的維數(shù)。最終,CA 中輸入數(shù)據(jù)的重建由輸入數(shù)據(jù)最小化與重構(gòu)數(shù)據(jù)間的損失共同實現(xiàn)。即數(shù)學描述式為:
基于CA 學習模型提出了機器人自主跟隨算法,其流程如圖3 所示。
圖3 基于CA的自主跟隨算法流程
智能機器人首先接收目標坐標,已知其(O,X,Y)坐標系中的實際位置。然后基于攝像頭數(shù)據(jù)掌握環(huán)境和周圍障礙物情況,估計下一步要執(zhí)行的動作。機器人通過該文算法獲取最優(yōu)化的跟隨位置,并參照已有參數(shù)計算出距離信息,設(shè)定參考跟隨距離。在此基礎(chǔ)上,對比經(jīng)過深度學習算法得到的實際距離值與設(shè)定閾值之間的大小關(guān)系。若實際距離值超過設(shè)定閾值,則機器人加快跟進;若實際距離值低于設(shè)定閾值,則機器人減慢跟隨速度。
實驗在Google Colab 上進行,內(nèi)存為12 GB,CPU為Intel(R)Xeon(R)2.30 GHz。在CA 網(wǎng)絡(luò)中,批大小設(shè)置為256,epoch 數(shù)設(shè)為25,并使用Adam 優(yōu)化算法進行參數(shù)訓練。實驗中智能機器人云臺上搭載的攝像頭分辨率為2 048×2 048,各像素點轉(zhuǎn)換成距離后約為6 mm。
在目標與智能機器人上分別人為設(shè)置一個記號,通過Motive 光學捕獲軟件實現(xiàn)記號的不間斷跟蹤,則攝像機獲得的每一幀記號即是目標與智能機器人的運行軌跡點。利用Matlab 處理這些軌跡點,從而獲得目標與跟隨機器人的軌跡曲線,如圖4 所示。其采用中心位置平均誤差(Center Location Average Error,CLAE)作為評價指標,從而表示跟隨目標的中心位置與手工標定的準確位置之間的平均誤差。
圖4 智能機器人的自主跟隨軌跡
由圖中可以看出,圖像軌跡與物體運動圖像仍存在偏差。此外,從CLAE 曲線可以看出完成直線運動時,智能機器人與跟隨目標的軌跡幾乎重疊,像素差值的最大值為5.2,轉(zhuǎn)換為等效距離約為5.2 cm。同樣,當智能機器人跟著目標人物完成曲線運動時,兩者軌跡的重疊程度不如直線運動,但像素差值的最大值為22,轉(zhuǎn)換為等效距離約23 cm。綜合來看,機器人能夠在復雜的環(huán)境下實現(xiàn)穩(wěn)定的自主跟隨。
為了論證所提出算法的跟隨性能,將與文獻[5]、文獻[8]、文獻[10]進行對比分析,跟隨結(jié)果的準確率,如表1 所示。其中,考慮了有目標遮擋與無目標遮擋兩種情況。
表1 跟隨準確性對比分析
從表1 中可以看出,無論是有目標遮擋還是無目標遮擋,智能機器人采用CA 深度學習的自主跟隨算法的準確率均保持在85%以上。由于無遮擋,目標清晰且分析過程簡單,因此跟隨準確率高達91.36%。文獻[5]融合多傳感器信息,實現(xiàn)了機器人的自主跟隨定位以及躲避障礙,但缺乏高效的處理算法,因此跟隨準確率不佳。尤其是在有目標遮擋的情況下,準確率僅為78.14%。文獻[8]利用A*算法和人工勢場法進行機器人的路徑規(guī)劃,但未考慮遮擋等復雜情況。同樣,文獻[10]基于蟻群算法增強智能感知,雖然能夠快速尋得目標,但在復雜環(huán)境中容易出現(xiàn)目標丟失,因此跟隨準確率為84.12%,仍有待提升。
跟隨機器人具有廣闊的應(yīng)用場景,但目前能夠完成高精度自主跟隨的機器人技術(shù)尚未成熟。為此,提出了一種基于深度學習的智能機器人自主跟隨算法,并設(shè)計了自主跟隨智能機器人的機械結(jié)構(gòu)。利用CA 算法處理云臺獲取的目標位置信息,并結(jié)合機器人運動模型完成準確的目標跟隨。此外,基于搭建的智能機器人平臺進行實驗結(jié)果表明,所提出的算法能夠?qū)崿F(xiàn)直線與曲線運動的高精度跟隨。并在無目標遮擋場景中的跟隨準確率最高達91.36%,達到了預(yù)期目標。
文中所提出的算法僅實現(xiàn)了智能機器人的自主跟隨,對于遇到障礙物情況下的路徑規(guī)劃未展開研究。因此接下來的工作中,將重點探究避障及路徑規(guī)劃算法。