《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于云平臺(tái)的多機(jī)器人遠(yuǎn)程實(shí)時(shí)控制系統(tǒng)設(shè)計(jì)
基于云平臺(tái)的多機(jī)器人遠(yuǎn)程實(shí)時(shí)控制系統(tǒng)設(shè)計(jì)
2014年微型機(jī)與應(yīng)用第19期
姜媛媛, 魏衡華
中國科學(xué)技術(shù)大學(xué) 自動(dòng)化系,安徽 合肥 230027
摘要: 目前由于機(jī)載設(shè)備的容量和處理能力有限,機(jī)器人完成復(fù)雜任務(wù)的能力受到限制。隨著無線網(wǎng)絡(luò)技術(shù)的快速發(fā)展,遠(yuǎn)程控制機(jī)器人成為了可能。以云平臺(tái)為基礎(chǔ),設(shè)計(jì)了一種具有海量處理能力的多機(jī)器人遠(yuǎn)程實(shí)時(shí)控制系統(tǒng),通過機(jī)載攝像頭實(shí)時(shí)捕獲畫面并通過無線網(wǎng)絡(luò)傳給搭建在云平臺(tái)上的后臺(tái)處理系統(tǒng),后臺(tái)處理系統(tǒng)按照設(shè)定的規(guī)則對畫面做出判斷,并將控制指令返回給機(jī)器人執(zhí)行相應(yīng)動(dòng)作。
Abstract:
Key words :

  摘 要: 目前由于機(jī)載設(shè)備的容量和處理能力有限,機(jī)器人完成復(fù)雜任務(wù)的能力受到限制。隨著無線網(wǎng)絡(luò)技術(shù)的快速發(fā)展,遠(yuǎn)程控制機(jī)器人成為了可能。以云平臺(tái)為基礎(chǔ),設(shè)計(jì)了一種具有海量處理能力的多機(jī)器人遠(yuǎn)程實(shí)時(shí)控制系統(tǒng),通過機(jī)載攝像頭實(shí)時(shí)捕獲畫面并通過無線網(wǎng)絡(luò)傳給搭建在云平臺(tái)上的后臺(tái)處理系統(tǒng),后臺(tái)處理系統(tǒng)按照設(shè)定的規(guī)則對畫面做出判斷,并將控制指令返回給機(jī)器人執(zhí)行相應(yīng)動(dòng)作。

  關(guān)鍵詞機(jī)器人遠(yuǎn)程控制;云平臺(tái);后臺(tái)控制系統(tǒng);實(shí)時(shí)性

0 引言

  近年來由于技術(shù)發(fā)展和任務(wù)需要,仿人機(jī)器人的應(yīng)用越來越廣泛[1-2]。隨著無線技術(shù)的快速發(fā)展,無線網(wǎng)絡(luò)傳輸數(shù)據(jù)的速度和穩(wěn)定性越來越高,使機(jī)器人的遠(yuǎn)程控制成為可能。國內(nèi)外學(xué)者對仿人機(jī)器人做了大量研究。參考文獻(xiàn)[3]詳細(xì)介紹了國內(nèi)外仿人機(jī)器人的研究及理論現(xiàn)狀,提出了發(fā)展趨勢;參考文獻(xiàn)[4]實(shí)現(xiàn)了基于網(wǎng)絡(luò)的機(jī)器人遠(yuǎn)程控制系統(tǒng),操作者通過網(wǎng)絡(luò)傳輸?shù)默F(xiàn)場實(shí)時(shí)畫面實(shí)現(xiàn)對遠(yuǎn)程機(jī)器人的控制;參考文獻(xiàn)[5]以環(huán)境感知為前提,提出了多機(jī)器人系統(tǒng)的合作即時(shí)定位與地圖創(chuàng)建的方法;參考文獻(xiàn)[6]介紹了多機(jī)器人在多個(gè)研究領(lǐng)域的進(jìn)展;參考文獻(xiàn)[7]以實(shí)時(shí)性和可靠性為前提,設(shè)計(jì)了一套遠(yuǎn)程控制系統(tǒng)和開發(fā)庫;參考文獻(xiàn)[8]提出了一種基于Linux的新的遠(yuǎn)程機(jī)器人控制系統(tǒng)的軟件體系結(jié)構(gòu)并對遠(yuǎn)程機(jī)器人的原理以及狀態(tài)監(jiān)控技術(shù)進(jìn)行了詳細(xì)闡述。

  當(dāng)機(jī)器人遇到復(fù)雜情況時(shí),由于機(jī)載設(shè)備容量和處理能力有限而顯得能力不足。將機(jī)器人感知的當(dāng)前環(huán)境實(shí)時(shí)傳輸給遠(yuǎn)程服務(wù)器,通過遠(yuǎn)程服務(wù)器對信息實(shí)時(shí)處理并做出響應(yīng)是克服該困難的有效方法。當(dāng)多個(gè)機(jī)器人同時(shí)完成任務(wù)時(shí),簡單的后臺(tái)處理器無法滿足計(jì)算需求,云計(jì)算為解決該問題提供了可能。

  云計(jì)算[9-10]是指通過互聯(lián)網(wǎng)技術(shù)、虛擬化技術(shù)將大量異構(gòu)的軟硬件資源結(jié)合起來,以服務(wù)的形式提供給用戶使用。

  本文采用的設(shè)備是Darwin-op高級版—達(dá)爾文機(jī)器人,該機(jī)器人是一款高智能仿人機(jī)器人,自帶Ubuntu9.10操作系統(tǒng),包含高清攝像頭、陀螺儀、麥克風(fēng)等專業(yè)傳感器,能夠穩(wěn)步行走和保持自身的平衡性,可以通過無線網(wǎng)訪問系統(tǒng)的資源,具有很好的視覺跟蹤和人機(jī)交互能力。

  本文擬通過機(jī)載攝像頭將監(jiān)控信息實(shí)時(shí)傳輸給搭建在云計(jì)算平臺(tái)上的后臺(tái)集群,后臺(tái)集群通過對畫面的探測,搜索出目標(biāo)信息,進(jìn)而搜索數(shù)據(jù)庫中保存的指令序列傳給機(jī)器人,機(jī)器人做出相應(yīng)的動(dòng)作。

1 系統(tǒng)整體設(shè)計(jì)

  1.1 系統(tǒng)組成

  本系統(tǒng)有以下5部分組成,系統(tǒng)框架結(jié)構(gòu)如圖1所示。

001.jpg

  (1) 機(jī)載攝像頭,每隔一定時(shí)間間隔采集一次當(dāng)前所處的環(huán)境畫面并傳遞給預(yù)處理模塊。

  (2) 預(yù)處理模塊,為減小傳輸帶寬,對畫面進(jìn)行一定比例的壓縮。

  (3) 通信模塊,負(fù)責(zé)機(jī)器人與后臺(tái)之間的交互,包括信息上傳和指令接收。

  (4) 控制模塊,根據(jù)后臺(tái)發(fā)出的指令做出相應(yīng)動(dòng)作。

  (5) 后臺(tái)數(shù)據(jù)處理集群,負(fù)責(zé)圖像的解析,并根據(jù)解析結(jié)果查詢數(shù)據(jù)庫,調(diào)取相應(yīng)的指令信息反饋給機(jī)器人。

  1.2 后臺(tái)數(shù)據(jù)處理集群

  為了方便各個(gè)節(jié)點(diǎn)之間的協(xié)調(diào)工作,后臺(tái)處理集群采用master-worker架構(gòu)。master節(jié)點(diǎn)主要負(fù)責(zé):計(jì)算節(jié)點(diǎn)的管理和任務(wù)的接收與分配。

  在計(jì)算節(jié)點(diǎn)管理方面,master節(jié)點(diǎn)維持一個(gè)計(jì)算節(jié)點(diǎn)列表,列表中的節(jié)點(diǎn)采用“心跳機(jī)制”,每隔一段時(shí)間向master節(jié)點(diǎn)報(bào)告其存活狀況,只有處于存活狀態(tài)的計(jì)算節(jié)點(diǎn)才參與任務(wù)的執(zhí)行。為增強(qiáng)適應(yīng)性,后臺(tái)集群不僅要滿足當(dāng)前所需,還要滿足將來不斷增加的負(fù)載需求,另外,本設(shè)計(jì)希望集群能夠在不停機(jī)的條件下擴(kuò)展計(jì)算資源。為此,將計(jì)算節(jié)點(diǎn)設(shè)計(jì)為注冊機(jī)制,當(dāng)新計(jì)算節(jié)點(diǎn)加入時(shí)首先向master節(jié)點(diǎn)申請加入,master節(jié)點(diǎn)接受后將該計(jì)算節(jié)點(diǎn)的信息(名稱、IP等)添加到計(jì)算節(jié)點(diǎn)列表中并反饋確認(rèn)信息。

  算法1 (master節(jié)點(diǎn)運(yùn)行算法):

  while true do

  receive a task Ti

  check next level process units’ workload

  find a minimum workload unit Uj

  allocate the task Ti to Uj

  end while

  在任務(wù)接收與分配方面,master通過TCP/IP協(xié)議與機(jī)器人進(jìn)行通信。當(dāng)master節(jié)點(diǎn)收到某個(gè)機(jī)器人上傳的信息時(shí),master節(jié)點(diǎn)根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)的負(fù)載情況將信息分配給負(fù)載最小的計(jì)算節(jié)點(diǎn)處理以達(dá)到負(fù)載均衡的目的,如算法1所示。各個(gè)節(jié)點(diǎn)的負(fù)載用CPU和內(nèi)存的利用率評定:

  RL4N0R1(V$YH_S3TRWE4}S8.png

  其中,ψ1和ψ2為權(quán)重,滿足ψ1+ψ2=1。

  在集群master和計(jì)算節(jié)點(diǎn)之間通過φMQ通信中間件進(jìn)行通信[11],該中間件具有較高的通信速度和良好的穩(wěn)定性。為保證每個(gè)計(jì)算任務(wù)都能得到處理,采用REQ-REP通信模式。整個(gè)后臺(tái)處理集群的結(jié)構(gòu)如圖2所示。

002.jpg

  1.3 系統(tǒng)實(shí)現(xiàn)方法

  信息流進(jìn)入集群后以有向無環(huán)圖的形式在各個(gè)計(jì)算節(jié)點(diǎn)之間流動(dòng),每個(gè)計(jì)算節(jié)點(diǎn)視為一個(gè)處理單元。為了適應(yīng)大負(fù)載及快速響應(yīng)的需求,將整個(gè)系統(tǒng)設(shè)計(jì)為可橫向并行和縱向并行的形式。在橫向方面,將負(fù)責(zé)某個(gè)任務(wù)的處理單元設(shè)置為多份。當(dāng)信息接收模塊接收到機(jī)器人的監(jiān)控圖像時(shí),系統(tǒng)根據(jù)各個(gè)處理單元的負(fù)載情況將計(jì)算任務(wù)分配到負(fù)載較輕的處理單元。在縱向并行方面,采用分而治之的思想,每個(gè)計(jì)算任務(wù)分為多個(gè)階段處理。本文將處理過程設(shè)計(jì)為兩部分:一級處理單元和二級處理單元。如圖3所示。

003.jpg

  將一級處理單元設(shè)置為檢測圖片中是否有人,二級處理單元設(shè)置為檢測圖片中是否有汽車。并且預(yù)設(shè)機(jī)器人執(zhí)行指令情況如下:⑴圖片中既無人又無汽車,機(jī)器人不動(dòng)作;⑵圖片中僅有人,機(jī)器人打招呼;⑶圖中有汽車,機(jī)器人向一側(cè)移動(dòng);⑷圖中既有人又有汽車,機(jī)器人先打招呼再向一側(cè)移動(dòng)。例如,當(dāng)機(jī)器人將實(shí)時(shí)圖片上傳到后臺(tái)時(shí),后臺(tái)系統(tǒng)根據(jù)各個(gè)處理單元的負(fù)載情況,將其分配到2號處理單元,2號處理單元調(diào)用人物探測功能,探測到有人存在,然后將結(jié)果和圖片傳遞到下游的二級處理單元中的6號,探測到?jīng)]有汽車存在,最后將兩個(gè)結(jié)果匯總提交給指令發(fā)送模塊,指令發(fā)送模塊查詢數(shù)據(jù)庫,向機(jī)器人發(fā)出打招呼指令。

  此外,為了保證各個(gè)計(jì)算節(jié)點(diǎn)之間的負(fù)載均衡,一、二級處理單元之間為多對多的關(guān)系,如圖3所示。 在對機(jī)器人傳遞的圖片進(jìn)行處理時(shí),挖掘出其中比較重要的元素(人、汽車),并根據(jù)圖像中是否存在目標(biāo)做出判斷。

  圖像處理選用opencv作為工具箱。opnecv中圖像識別主要包括兩部分:訓(xùn)練分類器和根據(jù)分類器對輸入的圖像進(jìn)行檢測。以人臉識別為例,目前分類器大多基于Haar特征訓(xùn)練得來(算法2)。具體操作如下:

  (1)根據(jù)Haar特征使用大量樣本進(jìn)行訓(xùn)練(所有參與訓(xùn)練的樣本必須歸一化為同樣大小的圖片),得到一個(gè)分類器。樣本分為正樣本和反樣本,正樣本為含有待檢測目標(biāo)的樣本,反樣本為含有其他圖像的樣本。

  (2)訓(xùn)練完成后根據(jù)訓(xùn)練產(chǎn)生的特征文件對感興趣的區(qū)域進(jìn)行檢測。在人臉識別中當(dāng)檢測區(qū)域有人臉時(shí)結(jié)果輸出1,表示含有目標(biāo)圖像;否則輸出0,表示不含有目標(biāo)圖像。

  算法2(Haar訓(xùn)練分類器算法):

  begin

  create Haar characteristic

  number_of_classifier←0

  while true do

  input positive samples

  input negative sample

  if false alarm rate > R then

  break

  end if

  if number_of_classifier > N then

  break

  end if

  calculate Haar eigenvalue

  train a strong classifier

  Store classifier information into temp file

  end while

  store cascade information to XML file

  check the function of classifier

  end

  在算法2中首先創(chuàng)建一個(gè)Haar特征,然后重復(fù)輸入正反樣本,訓(xùn)練產(chǎn)生一個(gè)新的強(qiáng)分類器,此過程一直重復(fù)直到虛警率或產(chǎn)生分類器的數(shù)量達(dá)到規(guī)定的閾值為止。

  系統(tǒng)后臺(tái)服務(wù)程序要對大量的物體進(jìn)行檢測,每個(gè)物體對應(yīng)一個(gè)訓(xùn)練的分類器XML文件。前面提到為了增強(qiáng)縱向并行性將整個(gè)檢測過程采用分而治之的思想。將后臺(tái)程序設(shè)置為一級和二級處理單元,一級處理單元負(fù)責(zé)掃描前[N/2]數(shù)量的物體,二級處理單元負(fù)責(zé)掃描后[N/2]數(shù)量的物體。為了增強(qiáng)動(dòng)態(tài)性,對處理的物體也采用動(dòng)態(tài)注冊的方式,當(dāng)有新的物體需要識別時(shí),需要在物體列表中注冊,同時(shí)將XML文件放到指定的位置,將針對該物體的指令保存到數(shù)據(jù)庫中,如圖4所示。

004.jpg

  機(jī)器人每隔一段時(shí)間通過機(jī)載攝像頭掃描當(dāng)前環(huán)境,將采集當(dāng)前環(huán)境的一幅圖片tar壓縮,然后通過TCP/IP協(xié)議傳輸?shù)胶笈_(tái)處理,等待該圖片對應(yīng)的指令。具體流程如圖5所示。

005.jpg

  另外,在機(jī)器人中預(yù)先設(shè)定各種動(dòng)作的代號及相關(guān)的動(dòng)作代碼,當(dāng)一個(gè)指令序列到來時(shí),機(jī)器人根據(jù)序列內(nèi)容解析出動(dòng)作代號,并根據(jù)代號執(zhí)行相應(yīng)的動(dòng)作。當(dāng)需要改變面對某種情況所執(zhí)行的動(dòng)作時(shí),只要修改后臺(tái)數(shù)據(jù)庫中代號序列就可以重新編排動(dòng)作,增強(qiáng)了靈活性。

2 實(shí)驗(yàn)

  在本實(shí)驗(yàn)中測試整個(gè)系統(tǒng)的性能。首先測試?yán)胦pencv的圖像識別技術(shù);然后通過模擬負(fù)載,測試后臺(tái)的處理性能;最后在真實(shí)環(huán)境中測試可行性。

  實(shí)驗(yàn)中使用Darwin-op機(jī)器人,后臺(tái)建立在由中國科學(xué)技術(shù)大學(xué)中科大-聯(lián)想云計(jì)算實(shí)驗(yàn)室開發(fā)的瀚海星云云計(jì)算服務(wù)平臺(tái)上。該平臺(tái)目前提供IaaS層的服務(wù),可以提供多種配置的Linux虛擬機(jī)。

  2.1 Opencv圖像識別測試

  在圖像識別測試中,以人臉識別和車輛識別為例進(jìn)行測試。

006.jpg

  在人臉識別中,使用opencv[12]示例中自帶的haarcascade_frontalface_alt.xml人臉識別分類器進(jìn)行測試。如圖6所示,分別在無背景、單人真實(shí)環(huán)境以及多人真實(shí)環(huán)境下進(jìn)行測試。通過對不同場景的測試,識別系統(tǒng)均可較好地識別出圖像中出現(xiàn)的人臉。

  在對車輛進(jìn)行識別時(shí),建立了一個(gè)規(guī)模較小、包含2 000個(gè)樣本的數(shù)據(jù)集來訓(xùn)練產(chǎn)生分類器,能識別圖片中出現(xiàn)的車輛(車輛識別中使用的訓(xùn)練集僅限于小汽車)。如圖7所示。

007.jpg

  2.2 后臺(tái)負(fù)載測試

  在該部分中,通過模擬負(fù)載,不停地向后臺(tái)系統(tǒng)批量傳送大量監(jiān)控圖像來模擬多機(jī)器人遠(yuǎn)程實(shí)時(shí)控制。在該實(shí)驗(yàn)中,使用4臺(tái)單核處理器作為后臺(tái)服務(wù)集群,其中2臺(tái)負(fù)責(zé)人臉識別,2臺(tái)負(fù)責(zé)車輛識別。

008.jpg

  如圖8所示,由于后臺(tái)系統(tǒng)在分配任務(wù)時(shí)總是將其分配到負(fù)載較輕的計(jì)算節(jié)點(diǎn)上,因此在整個(gè)運(yùn)行過程中各個(gè)節(jié)點(diǎn)的負(fù)載保持在相對均衡的狀態(tài)。同時(shí),由于使用多計(jì)算節(jié)點(diǎn)模式,從而能夠滿足同時(shí)控制多機(jī)器人的需求。

  2.3 系統(tǒng)測試

  在該部分根據(jù)預(yù)設(shè)指令測試整個(gè)系統(tǒng)的可行性。

  在實(shí)驗(yàn)過程中,使機(jī)器人1處于有人環(huán)境中,機(jī)器人2處于有汽車的環(huán)境中,這里用一個(gè)玩具車來代替。機(jī)器人1在遇到人時(shí)會(huì)做出打招呼的動(dòng)作,機(jī)器人2在遇到車時(shí)會(huì)做出避讓動(dòng)作。實(shí)驗(yàn)表明兩個(gè)機(jī)器人都能夠完成預(yù)設(shè)的指令,整個(gè)過程檢驗(yàn)了一個(gè)系統(tǒng)同時(shí)控制多個(gè)處于不同環(huán)境中的機(jī)器人的可行性。

3 結(jié)論

  本文將機(jī)器人與云計(jì)算結(jié)合起來,把機(jī)器人作為信息的獲取媒介和任務(wù)的最終執(zhí)行者,將后臺(tái)處理系統(tǒng)架設(shè)在云平臺(tái)上,利用云平臺(tái)的海量處理能力來解決多機(jī)器人的控制問題,實(shí)驗(yàn)表明本設(shè)計(jì)取得了良好的效果。但是,由于實(shí)驗(yàn)條件所限,機(jī)器人采集的只有圖像信息,在未來的工作中會(huì)將其他傳感器獲得的信息加入到其中,使機(jī)器人能夠更加全面地感知周圍環(huán)境,并根據(jù)這些信息做出更加準(zhǔn)確的決定。

參考文獻(xiàn)

  [1] 徐莉,劉振方,王建丞,等.仿生機(jī)器人綜述[J].黑龍江科學(xué),2013,4(7):57-61.

  [2] 王田苗,陶永,陳陽.服務(wù)機(jī)器人技術(shù)研究現(xiàn)狀與發(fā)展趨勢[J].中國科學(xué),2012,42(9):1049-1066.

  [3] 陳兵,駱敏舟,馮寶林,等.類人機(jī)器人的研究現(xiàn)狀及展望[J].機(jī)器人技術(shù)與應(yīng)用,2013(4):25-30.

  [4] 張曉暉,劉丁,李攀.基于網(wǎng)絡(luò)的機(jī)器人遠(yuǎn)程控制系統(tǒng)的實(shí)現(xiàn)與研究[J].機(jī)械科學(xué)與技術(shù),2007,26(6):808-811.

  [5] Cheng Liying, Xue Dingyu, Cong Yang, et al. The research of environment perception based on the cooperration of muti-robot [C]. Chinese Control and Decision Conference,2012:1914-1919.

  [6] Arai T, Pagllo E, Parker L E. Advances in multi-robot systems [J]. IEEE Transctions on Robotics and Automation, 2002,18(5):655-661.

  [7] 陳洋,陸宇平.機(jī)器人實(shí)時(shí)遠(yuǎn)程控制系統(tǒng)及其開發(fā)庫的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用,2006,32(2):7-10.

  [8] 薛廣濤,陳一民,張濤.基于Linux的遠(yuǎn)程機(jī)器人控制系統(tǒng)研究[J]. 機(jī)器人,2001, 23( 3):261-265.

  [9] 王波.虛擬化與云計(jì)算[M].北京:電子工業(yè)出版社,2009.

  [10]陳全,鄧倩妮.云計(jì)算及其關(guān)鍵技術(shù)[J].計(jì)算機(jī)應(yīng)用,2009,29(9):2562-2566.

  [11] Hinthens P. ZeroMQ [M]. O’REILLY, 2013.

  [12] Bradski G. Learning OpenCV [M]. O’REILLY, 2008.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 中文字幕精品视频| 亚洲日韩图片专区第1页| 久久久精品人妻一区二区三区| 男人扒开女人下面狂躁动漫版| 国产在线观看www鲁啊鲁免费 | 亚洲老妈激情一区二区三区| 3d动漫精品一区二区三区| 手机国产乱子伦精品视频| 伊人狠狠色丁香综合尤物| 高h全肉动漫在线观看最新| 影音先锋在线免费观看| 亚洲精品老司机| 色吊丝永久在线观看最新免费| 国产精品无码无卡无需播放器| 亚洲AV永久无码精品漫画| 神乃麻美三点尽露写真| 国产你懂的在线| freehd182d动漫| 日本一区二区三区四区公司| 亚洲偷自拍另类图片二区| 蜜桃视频一区二区| 国产精品亚洲аv无码播放| www.seyu.av| 日日操天天操夜夜操| 亚洲av日韩综合一区久热| 综合偷自拍亚洲乱中文字幕| 国产日韩精品一区二区在线观看| 99热在线精品观看| 日韩欧美视频在线| 免费鲁丝片一级在线观看| 韩国精品福利一区二区三区| 国产精品沙发午睡系列999| jizzjizz丝袜老师| 扒开两腿中间缝流白浆在线看| 亚洲永久精品ww47| 高清一级做a爱过程免费视频| 国产高清一级片| 中日韩欧美电影免费看| 极品美女a∨片在线看| 午夜国产在线观看| 香蕉污视频在线观看|