国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

異構(gòu)低能耗的跟隨機(jī)器人系統(tǒng)設(shè)計(jì)

2022-10-15 03:47汪慶海楊芳艷
電子科技 2022年10期
關(guān)鍵詞:行人算法模塊

汪慶海,楊芳艷

(上海理工大學(xué) 機(jī)械工程學(xué)院,上海 200093)

隨著機(jī)器人技術(shù)的發(fā)展,服務(wù)機(jī)器人得到了越來越多的關(guān)注,日常生活與生產(chǎn)對(duì)服務(wù)機(jī)器人的需求日益增加。自主跟隨機(jī)器人作為服務(wù)機(jī)器人中重要的一員也得到了廣泛的重視[1]。跟隨機(jī)器人研究的主要目的是使其智能化。近年來,隨著深度學(xué)習(xí)技術(shù)的快速崛起,跟隨機(jī)器人技術(shù)也向前邁出了一大步。在機(jī)器人上使用這些技術(shù)需要高性能、強(qiáng)算力的計(jì)算平臺(tái)來支撐,這也引發(fā)了機(jī)器人能耗大、續(xù)航時(shí)間短的問題。在機(jī)器人中引入嵌入式計(jì)算平臺(tái)可以節(jié)約成本、降低功耗,有助于機(jī)器人實(shí)現(xiàn)更長時(shí)間的巡航。

目前,關(guān)于導(dǎo)航與視覺跟隨的研究工作集中于單一的導(dǎo)航或者行人跟隨。跟隨機(jī)器人的工作環(huán)境一般是復(fù)雜且未知的,在這種情況下智能導(dǎo)航技術(shù)就可以發(fā)揮它的優(yōu)勢(shì),使機(jī)器人具有從當(dāng)前位置智能、安全地移動(dòng)到目標(biāo)位置的能力。在智能導(dǎo)航領(lǐng)域,研究者提出了多種算法,例如以Dijkstra[2]算法和A*[3]算法為代表的全局路徑規(guī)劃算法,以DWA(Dynamic Window Approach)算法和TEB[4](Timed Elastic Band)算法[5]為代表的局部路徑規(guī)劃算法。這些算法均推動(dòng)了自主導(dǎo)航技術(shù)的快速發(fā)展。在機(jī)器人視覺跟隨當(dāng)中,主要利用人臉檢測(cè)[6]、頭肩檢測(cè)[7]、目標(biāo)人手持彩色版[8]以及在衣服上粘貼二維碼來實(shí)現(xiàn)機(jī)器人對(duì)目標(biāo)人的跟隨[9]。然而,視覺跟隨的精度易受到機(jī)器人底盤響應(yīng)速度與精度、光照、相機(jī)抖動(dòng)等因素影響,從而誘發(fā)目標(biāo)跟丟問題。以上問題說明單一的視覺跟隨方式過于單一化、非智能化,在實(shí)際應(yīng)用上具有較大的局限性。

本文提出了異構(gòu)低能耗的跟隨機(jī)器人系統(tǒng),在低能耗異構(gòu)計(jì)算平臺(tái)下,將自主導(dǎo)航技術(shù)和視覺跟隨技術(shù)進(jìn)行融合并應(yīng)用到機(jī)器人上,通過自主導(dǎo)航技術(shù)使機(jī)器人實(shí)現(xiàn)多目標(biāo)點(diǎn)巡航。在巡航過程中,利用感知模塊和跟隨算法,實(shí)時(shí)對(duì)行人進(jìn)行檢測(cè)與識(shí)別。根據(jù)識(shí)別結(jié)果,利用基于馬爾可夫狀態(tài)轉(zhuǎn)移的控制方法實(shí)現(xiàn)機(jī)器人在導(dǎo)航與目標(biāo)跟隨兩種任務(wù)下的實(shí)時(shí)切換。

1 系統(tǒng)概述

1.1 系統(tǒng)總體框架

本系統(tǒng)框架主要由硬件層、算法層和業(yè)務(wù)層組成,其系統(tǒng)框架如圖1所示。

圖1 系統(tǒng)框架

作為系統(tǒng)框架的最底層,該系統(tǒng)的硬件框架是基于X86以及(ARM+GPU)的異構(gòu)計(jì)算平臺(tái)。在此之上,機(jī)器人操作系統(tǒng)對(duì)底層硬件進(jìn)行封裝,并實(shí)現(xiàn)更高層次的計(jì)算與邏輯控制。首先,通過ROS將所需的硬件如機(jī)器人底盤、激光雷達(dá)、相機(jī)虛擬化為相應(yīng)的節(jié)點(diǎn)和話題;然后,利用算法層中相應(yīng)的算法模塊(如圖2所示)實(shí)時(shí)訂閱傳感器的信息來實(shí)現(xiàn)機(jī)器人的導(dǎo)航與跟隨功能;最后,各個(gè)算法模塊之間通過使用基于馬爾可夫狀態(tài)轉(zhuǎn)移的控制方法來實(shí)現(xiàn)實(shí)時(shí)的業(yè)務(wù)數(shù)據(jù)通訊與邏輯處理,以滿足機(jī)器人靈活的狀態(tài)切換。

1.2 算法框架

算法框架由3個(gè)模塊組成:自主導(dǎo)航模塊、視覺模塊以及智能切換模塊。算法框架如圖2所示。

圖2 算法框架

2 低能耗異構(gòu)計(jì)算平臺(tái)設(shè)計(jì)

低能耗是機(jī)器人設(shè)計(jì)的首要核心問題,實(shí)現(xiàn)性能與能耗的平衡是其中的重難點(diǎn)。近年來,人工智能技術(shù)被廣泛應(yīng)用在機(jī)器人上,然而這些技術(shù)通常需要高性能、高能耗的硬件支持,這對(duì)機(jī)器人的續(xù)航非常不利。為了平衡計(jì)算量與能耗之間的矛盾,由不同架構(gòu)模組構(gòu)成的計(jì)算平臺(tái)被越來越多的研究者所采用。

本文采用X86架構(gòu)的計(jì)算模組和(ARM+GPU)的計(jì)算模組來實(shí)現(xiàn)異構(gòu)計(jì)算平臺(tái)搭建。其中,CPU(Central Processing Unit)負(fù)責(zé)處理串行計(jì)算任務(wù),GPU負(fù)責(zé)數(shù)據(jù)的高密度并行計(jì)算任務(wù)??紤]到系統(tǒng)所涉及算法的特性,本文將不同類型的算法部署到不同的計(jì)算模組中。定位導(dǎo)航算法以及邏輯控制算法具有典型的串行計(jì)算特征,因此被部署在基于X86架構(gòu)的計(jì)算模組上。視覺跟隨相關(guān)算法是基于深度神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)的,且對(duì)實(shí)時(shí)性要求較高,因此本文將其部署在(ARM+GPU)的計(jì)算模組上,以此來提高異構(gòu)計(jì)算平臺(tái)的執(zhí)行效率和整體性能。

本文所設(shè)計(jì)的異構(gòu)計(jì)算平臺(tái)具有以下兩方面優(yōu)點(diǎn):(1)硬件層面。該系統(tǒng)是一個(gè)低耦合的模塊化平臺(tái),具有較強(qiáng)的可伸縮性、組合自由性。因此可以靈活地根據(jù)算法需要、場(chǎng)景特點(diǎn)進(jìn)行硬件配置,實(shí)現(xiàn)能耗與成本的雙優(yōu)化;(2)軟件層面。系統(tǒng)所采用的ROS主-從機(jī)框架能夠?qū)崿F(xiàn)軟件邏輯的高度緊耦合。向上可實(shí)現(xiàn)對(duì)算法層的透明計(jì)算服務(wù),向下可實(shí)現(xiàn)不同架構(gòu)硬件的同一封裝。

3 各模塊的算法設(shè)計(jì)與實(shí)現(xiàn)

3.1 自主導(dǎo)航模塊

機(jī)器人自主導(dǎo)航模塊的核心是move_base節(jié)點(diǎn),它是導(dǎo)航過程中運(yùn)動(dòng)控制的最終執(zhí)行機(jī)構(gòu)。全局代價(jià)地圖、局部代價(jià)地圖、全路徑規(guī)劃、局部路徑規(guī)劃、恢復(fù)策略等都在這里得到具體的實(shí)現(xiàn)。其中,路徑規(guī)劃模塊是實(shí)現(xiàn)機(jī)器人能夠到達(dá)目標(biāo)點(diǎn)與局部避障的核心算法。

全局規(guī)劃器以全局靜態(tài)代價(jià)地圖作為輸入,在執(zhí)行路徑規(guī)劃時(shí)不考慮機(jī)器人的機(jī)械性能和運(yùn)動(dòng)學(xué)約束,通過A*算法規(guī)劃出機(jī)器人從當(dāng)前位置到目標(biāo)位置的最優(yōu)路徑。A*算法是基于啟發(fā)式的圖搜索算法。通過評(píng)估函數(shù)f(n)=g(n)+h(n)來衡量節(jié)點(diǎn)n的代價(jià),其中g(shù)(n)表示從起始點(diǎn)到當(dāng)前節(jié)點(diǎn)n的累計(jì)代價(jià),h(n)表示當(dāng)前節(jié)點(diǎn)n到終點(diǎn)的預(yù)計(jì)代價(jià)[10]。具體的算法流程如圖3所示。

圖3 A*算法流程圖

局部路徑規(guī)劃器使用基于圖優(yōu)化的TEB算法,將路徑問題變成一個(gè)圖優(yōu)化問題。具體流程為:在生成的全局路徑上采樣路徑點(diǎn),并且優(yōu)化機(jī)器人當(dāng)前位置與采樣路徑點(diǎn)之間的全局路徑子集。然后, 結(jié)合全局靜態(tài)代價(jià)地圖與局部動(dòng)態(tài)代價(jià)地圖,在跟隨全局路徑的同時(shí)考慮機(jī)器人的各種約束,從而實(shí)現(xiàn)避障。對(duì)于差分類型的機(jī)器人,TEB將機(jī)器人的一系列位姿軌跡模型抽象成帶有時(shí)間信息的彈性帶模型。機(jī)器人的第i個(gè)位姿狀態(tài)可表示為Si=[xi,yi,θi],位姿包含位置信息xi、yi和方向角θi,則機(jī)器人在map坐標(biāo)系下的序列可以表示為

C={Si},i=0,1,2,3,…,n;n∈N

(1)

ΔTi是機(jī)器人位姿Si和Si+1的過渡時(shí)間間隔,用于記錄時(shí)間序列。

τ={ΔTi},i=0,1,2,3,…,n-1

(2)

TEB的軌跡序列如圖4所示。

圖4 TEB軌跡序列

將機(jī)器人在map坐標(biāo)系的序列和時(shí)間序列合并可得

B:=(C,τ)

(3)

通過加權(quán)多目標(biāo)優(yōu)化獲取最優(yōu)的路徑,即最優(yōu)的C。

(4)

(5)

式中,B*為最優(yōu)結(jié)果;fk為單個(gè)目標(biāo)函數(shù)的權(quán)值;f(B)即為考慮各種約束的目標(biāo)函數(shù),例如非完整運(yùn)動(dòng)學(xué)約束。其約束條件為:差分機(jī)器人在平面運(yùn)動(dòng)只有兩個(gè)自由度,其只能以朝向的方向直線運(yùn)動(dòng)或旋轉(zhuǎn)。這種運(yùn)動(dòng)學(xué)約束使得機(jī)器人以由若干弧段組成的平滑軌跡運(yùn)動(dòng)。機(jī)器人軌跡如圖5所示。

圖5 運(yùn)動(dòng)軌跡

初始Si與運(yùn)動(dòng)方向di,i+1的夾角θi與θi+1相等。若βi為機(jī)器人在第i段弧段相對(duì)于map坐標(biāo)系的絕對(duì)位姿[11],則有

θi=θi+1

(6)

(7)

其中,運(yùn)動(dòng)方向向量

(8)

相應(yīng)的目標(biāo)函數(shù)如式(9)所示。

(9)

3.2 行人目標(biāo)檢測(cè)算法

基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法分為兩大類: Two-Stage檢測(cè)算法(R-CNN)和One-Stage檢測(cè)算法(YOLO系列)。前者在檢測(cè)精度上占有優(yōu)勢(shì),后者則在檢測(cè)速度上占有優(yōu)勢(shì)[12]。YOLO的核心思想是將目標(biāo)檢測(cè)視為單一的回歸問題,直接在輸出層回歸邊框的坐標(biāo)和所屬類別。YOLOv4相較于YOLO以往版本有所更新,其骨干網(wǎng)絡(luò)采用CSPDarknet53[13],并在CSPDarknet53上增加了深卷積網(wǎng)絡(luò)的空間金字塔池(Spatial Pyramid Pooling,SPP)塊[14],共包含72個(gè)卷積層和一個(gè)全連接層,采用3×3卷積核。針對(duì)不同級(jí)別的檢測(cè)器,挑選PAN作為對(duì)不同骨干層進(jìn)行參數(shù)聚合方法,并將PAN快捷連接的相加改為串聯(lián)[15]。優(yōu)化方法還包括馬賽克更新圖像,對(duì)圖像進(jìn)行改變擾動(dòng)后繼續(xù)訓(xùn)練、采用Mish激活函數(shù)和優(yōu)化損失函數(shù)等操作,使得在目標(biāo)檢測(cè)中具有更好的表現(xiàn)能力。YOLOv4框架結(jié)構(gòu)如圖6所示。

圖6 YOLOv4框架

本文采用COCO數(shù)據(jù)集的行人類訓(xùn)練數(shù)據(jù)集以及自行采集的行人圖片進(jìn)行訓(xùn)練。從COCO數(shù)據(jù)集中取出64 115張行人數(shù)據(jù),其中59 000張圖片用作訓(xùn)練,其余的用作測(cè)試。采集的行人圖片有1 512張,其中室內(nèi)場(chǎng)景916張,室外場(chǎng)景596張。本文隨機(jī)取其中1 200張用作訓(xùn)練,312張用作測(cè)試集。采用YOLOv4算法在COCO行人數(shù)據(jù)集上訓(xùn)練的模型,記為YOLOv4-coco。采用YOLOv4算法在COCO數(shù)據(jù)集和采集的數(shù)據(jù)集上聯(lián)合訓(xùn)練的模型,記為YOLOv4-our。YOLOv4算法的預(yù)訓(xùn)練模型記為yolov4。模型評(píng)測(cè)指標(biāo)為AP(Average Precision),AP是PR(Precision Recall)曲線下的面積。目標(biāo)檢測(cè)實(shí)驗(yàn)對(duì)比了上述3種模型的AP值,結(jié)果如表1所示。

表1 目標(biāo)檢測(cè)結(jié)果

3.3 視覺目標(biāo)追蹤

隨著目標(biāo)檢測(cè)技術(shù)的不斷進(jìn)步,基于檢測(cè)的目標(biāo)跟蹤方法(Tracking-by-Detection)已逐漸成為目標(biāo)跟蹤算法研究的主導(dǎo)方向[16]。YOLOv4只能檢測(cè)出行人或物體在圖像中的像素信息(定位)與類別信息(分類),但這些信息量無法滿足實(shí)際應(yīng)用需求。本系統(tǒng)需要獲得穩(wěn)定的相機(jī)到目標(biāo)行人的實(shí)際距離,但在實(shí)際檢測(cè)中,外界的光照、遮擋以及相機(jī)的抖動(dòng)會(huì)影響檢測(cè)框的穩(wěn)定性,因此在檢測(cè)算法的輸出加入視覺跟蹤算法Deep SORT[17]模塊,可使檢測(cè)結(jié)果的輸出相對(duì)穩(wěn)定。Deep SORT算法屬于基于預(yù)測(cè)軌跡的跟蹤算法,可以根據(jù)上下文信息實(shí)時(shí)對(duì)檢測(cè)目標(biāo)進(jìn)行跟蹤。本文先獲取YOLOv4算法在當(dāng)前幀中得到的檢測(cè)框以及卡爾曼濾波算法通過上一幀得到的當(dāng)前幀的預(yù)測(cè)框;再計(jì)算兩者之間的馬氏距離和特征量最小的余弦距離,并對(duì)兩種距離進(jìn)行加權(quán)融合來表達(dá)匹配程度;最后通過匈牙利算法實(shí)現(xiàn)對(duì)多目標(biāo)的匹配。

3.4 目標(biāo)行人識(shí)別

在這個(gè)模塊中,本文使用行人重識(shí)別算法來實(shí)時(shí)判斷當(dāng)前通過相機(jī)傳回來的視頻幀中是否存在數(shù)據(jù)庫中待跟隨的目標(biāo)行人。識(shí)別算法的具體描述如文獻(xiàn)[18]所述。為了能夠更好地實(shí)現(xiàn)泛化,本文使用由跨域性能較好的IBN-a[19]所加持的ResNet50網(wǎng)絡(luò)。

與此同時(shí),使用多個(gè)數(shù)據(jù)集聯(lián)合訓(xùn)練,將Market1501數(shù)據(jù)集、CUHK03數(shù)據(jù)集和MSMT17數(shù)據(jù)集進(jìn)行了聯(lián)合訓(xùn)練,然后在沒有進(jìn)行訓(xùn)練的DukeMTMC數(shù)據(jù)集進(jìn)行測(cè)試,評(píng)測(cè)指標(biāo)為mAP(mean Average Precision)和Rank-1。測(cè)試結(jié)果如表2所示。

表2 行人重識(shí)別網(wǎng)絡(luò)識(shí)別結(jié)果

3.5 基于馬爾可夫狀態(tài)轉(zhuǎn)移的邏輯控制與切換模塊

機(jī)器人采用基于馬爾可夫狀態(tài)轉(zhuǎn)移的方法實(shí)現(xiàn)自主巡航狀態(tài)與跟隨狀態(tài)的快速智能化切換,其整體控制邏輯如圖7所示。該控制由4個(gè)狀態(tài)環(huán)組成,其中環(huán)①表示定點(diǎn)避障巡航下的狀態(tài)轉(zhuǎn)移過程;環(huán)②表示通過識(shí)別到目標(biāo)人臉后進(jìn)入跟蹤狀態(tài)11,在識(shí)別到目標(biāo)跟隨人員的背影后又進(jìn)入跟隨狀態(tài)的狀態(tài)轉(zhuǎn)移過程;環(huán)③表示在目標(biāo)人員跟丟后的異常處理的狀態(tài)轉(zhuǎn)移過程;環(huán)④表示只識(shí)別到目標(biāo)人臉且未識(shí)別到目標(biāo)人員背影情況下的狀態(tài)轉(zhuǎn)移過程。

圖7 狀態(tài)轉(zhuǎn)移與切換

4 機(jī)器人系統(tǒng)的實(shí)驗(yàn)驗(yàn)證

本文的實(shí)驗(yàn)機(jī)器人主要由表3所示的硬件組成。

表3 系統(tǒng)硬件型號(hào)

4.1 異構(gòu)低能耗計(jì)算平臺(tái)實(shí)驗(yàn)

為了驗(yàn)證異構(gòu)低能耗計(jì)算平臺(tái)在能耗使用上的優(yōu)勢(shì),本文分別在本計(jì)算平臺(tái)(選用Intel NUC(X86)以及Nvidia Xavier(ARM+GPU))與Dell筆記本電腦上進(jìn)行了機(jī)器人自主導(dǎo)航與視覺跟隨算法的實(shí)驗(yàn)。計(jì)算平臺(tái)相關(guān)的軟、硬件參數(shù)如表4所示,所測(cè)得的電壓、電流、功率以及CPU、GPU的使用情況如圖8和圖9所示,其相應(yīng)的能耗對(duì)比如表5所示。

圖8 測(cè)得的實(shí)時(shí)功率

圖9 實(shí)時(shí)CPU、GPU使用情況

表4 計(jì)算平臺(tái)參數(shù)

表5 實(shí)驗(yàn)測(cè)得的參數(shù)

通過表5可知,在CPU與GPU使用情況一定時(shí),異構(gòu)低功耗計(jì)算平臺(tái)在運(yùn)行算法時(shí)的總功率大約為38 W,而Dell筆記本電腦的功率卻達(dá)到154 W,相當(dāng)于運(yùn)行相同算法時(shí),本文所提計(jì)算平臺(tái)能降低75%的功耗。該結(jié)果也表明,本文所提出的計(jì)算平臺(tái)在降低能耗上可以達(dá)到理想的效果。

4.2 跟隨機(jī)器人系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)

行人重識(shí)別算法識(shí)別出的目標(biāo)跟隨人員應(yīng)始終維持在相機(jī)視野的中間。利用該思路在驗(yàn)證異構(gòu)低能耗跟隨機(jī)器人系統(tǒng)有效性的過程中,來發(fā)布控制機(jī)器人

運(yùn)動(dòng)的指令,從而使機(jī)器人能實(shí)時(shí)跟隨目標(biāo)人移動(dòng)。機(jī)器人利用深度相機(jī)實(shí)時(shí)獲取目標(biāo)行人的距離,為保證跟隨的安全性與可靠性,設(shè)置目標(biāo)行人與機(jī)器人的最短跟隨距離為0.6 m。在如圖10所示的實(shí)驗(yàn)場(chǎng)景下,通過使用差分機(jī)器人Scout Mini進(jìn)行算法驗(yàn)證。實(shí)驗(yàn)的硬件架構(gòu)如圖11所示,計(jì)算平臺(tái)采用Ubuntu18.04操作系統(tǒng),ROS版本為Melodic。整個(gè)實(shí)驗(yàn)過程的視頻鏈接為https://v.qq.com/x/page/j3236uf3viq.html。圖12為實(shí)驗(yàn)過程中單人與多人情況下目標(biāo)跟隨的截圖。

圖10 實(shí)際場(chǎng)景與其對(duì)應(yīng)的柵格地圖

圖11 實(shí)驗(yàn)硬件架構(gòu)

圖12 機(jī)器人系統(tǒng)的實(shí)驗(yàn)截圖

5 結(jié)束語

本文設(shè)計(jì)的跟隨機(jī)器人系統(tǒng)通過采用異構(gòu)低能耗的計(jì)算平臺(tái),在采用相同導(dǎo)航與跟隨算法的情況下,所提計(jì)算平臺(tái)能節(jié)省75%的能耗,延長了機(jī)器人的續(xù)航時(shí)間。本文利用激光雷達(dá)和相機(jī)傳感器的感知,在基于馬爾可夫狀態(tài)轉(zhuǎn)移的邏輯控制下,實(shí)現(xiàn)了定點(diǎn)巡航與跟隨兩種狀態(tài)間的智能切換。本文在實(shí)際場(chǎng)景中對(duì)所提出的系統(tǒng)進(jìn)行了可行性驗(yàn)證。在今后的研究中,可以嘗試縮小與改進(jìn)視覺跟隨模塊的模型,提高其檢測(cè)速度與可移植性,從而強(qiáng)化跟隨機(jī)器人系統(tǒng)的魯棒性。

猜你喜歡
行人算法模塊
Module 2 Highlights of My Senior Year
Module 4 Music Born in America
毒舌出沒,行人避讓
Travellng thg World Full—time for Rree
路不為尋找者而設(shè)
我是行人
學(xué)習(xí)算法的“三種境界”
算法框圖的補(bǔ)全
算法初步知識(shí)盤點(diǎn)
必修模塊相關(guān)知識(shí)過關(guān)訓(xùn)練
博湖县| 子长县| 金寨县| 永兴县| 贵溪市| 孟连| 新郑市| 八宿县| 盐亭县| 玉林市| 新晃| 铜山县| 灵山县| 杂多县| 宁陵县| 平远县| 彭山县| 大姚县| 和硕县| 柏乡县| 屏东县| 巴东县| 和龙市| 阿拉善右旗| 安阳市| 鄂尔多斯市| 屏东市| 乐至县| 明溪县| 江华| 汝城县| 兴城市| 雅江县| 康保县| 新兴县| 深泽县| 仙游县| 柘城县| 武汉市| 孝感市| 滕州市|