亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        移動(dòng)機(jī)器人遠(yuǎn)程人機(jī)交互軟件平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

        2017-05-10 07:02:36黎振勝王恒升
        關(guān)鍵詞:協(xié)調(diào)者用例移動(dòng)機(jī)器人

        黎振勝,王恒升,2

        (1.中南大學(xué) 機(jī)電工程學(xué)院,長(zhǎng)沙 410083; 2.高性能復(fù)雜制造國(guó)家重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)沙 410083 )

        移動(dòng)機(jī)器人遠(yuǎn)程人機(jī)交互軟件平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

        黎振勝1,王恒升1,2

        (1.中南大學(xué) 機(jī)電工程學(xué)院,長(zhǎng)沙 410083; 2.高性能復(fù)雜制造國(guó)家重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)沙 410083 )

        基于移動(dòng)機(jī)器人代替人去危險(xiǎn)場(chǎng)合執(zhí)行探測(cè)和救援任務(wù)的應(yīng)用背景,設(shè)計(jì)了一個(gè)人機(jī)交互的軟件平臺(tái);采用UML對(duì)設(shè)計(jì)過程進(jìn)行建模,基于組件對(duì)系統(tǒng)進(jìn)行模塊化設(shè)計(jì);各組件并行運(yùn)行,通過消息隊(duì)列與消息響應(yīng)的機(jī)制實(shí)現(xiàn)組件之間的并發(fā)式通信;軟件平臺(tái)基于LabVIEW的Actor框架實(shí)現(xiàn),核心Actor組件基于狀態(tài)機(jī)設(shè)計(jì),協(xié)調(diào)其它組件之間的通信;設(shè)計(jì)了一個(gè)遠(yuǎn)程Actor代理,實(shí)現(xiàn)與基于ROS的遠(yuǎn)程機(jī)器人的本地控制系統(tǒng)通信,將人的指令傳輸給機(jī)器人并將機(jī)器人的傳感信息傳回給人機(jī)界面;實(shí)驗(yàn)系統(tǒng)部署在兩臺(tái)計(jì)算機(jī)上,一臺(tái)運(yùn)行基于LabVIEW的人機(jī)界面,另一臺(tái)運(yùn)行基于ROS的P3AT控制仿真系統(tǒng);實(shí)驗(yàn)表明,設(shè)計(jì)的軟件平臺(tái)各部分能夠協(xié)同工作,人機(jī)交互自然順暢,滿足預(yù)期要求。

        移動(dòng)機(jī)器人;人機(jī)交互;UML;LabVIEW;ROS

        0 引言

        智能移動(dòng)機(jī)器人正在以驚人的關(guān)注度走進(jìn)人類生產(chǎn)生活的各個(gè)方面,這已成為學(xué)界和工業(yè)界的共識(shí)。人們對(duì)機(jī)器人抱有極大的熱情和期待,例如期待機(jī)器人能夠代替人類去危險(xiǎn)、有毒、有害的場(chǎng)所實(shí)施災(zāi)害救援任務(wù),能夠進(jìn)入太空或其它星球完成太空探索任務(wù)等等。由于復(fù)雜的人類環(huán)境和任務(wù)要求,目前的科學(xué)技術(shù)水平距離人們對(duì)機(jī)器人能夠獨(dú)立完成任務(wù)的期待還有很長(zhǎng)的路要走。移動(dòng)機(jī)器人應(yīng)用的可行方式是通過人機(jī)交互來實(shí)現(xiàn)。

        移動(dòng)機(jī)器人與人的交互模型主要有4種。第一種是遙操作或者叫直接控制,即人與機(jī)器人為主從關(guān)系,機(jī)器人實(shí)際上是人的工具,人是控制器。這種交互方式的不足在于:1)如果工作人員離崗,機(jī)器人就停止工作,即人需要長(zhǎng)時(shí)間在線;2)由于人控制的精確性和穩(wěn)定性遠(yuǎn)遠(yuǎn)不如機(jī)器,機(jī)器人的工作能力被人所弱化;3)如果系統(tǒng)延時(shí)較大,如發(fā)生緊急事故,人不能立即操作機(jī)器人解除危險(xiǎn)。第二種交互模型為監(jiān)督控制,即人傳遞給機(jī)器人一個(gè)簡(jiǎn)單具體的指令清單,機(jī)器人按照指令清單執(zhí)行動(dòng)作,人主要進(jìn)行機(jī)器人監(jiān)控和流程控制。這種交互模型的不足在于;1)由于機(jī)器人及所處環(huán)境未知且復(fù)雜,機(jī)器人指令清單設(shè)計(jì)困難;2)非結(jié)構(gòu)環(huán)境下難以保證機(jī)器人動(dòng)作執(zhí)行正確。第3種交互模型為全自主控制,人只需傳遞機(jī)器人一個(gè)抽象的任務(wù)目標(biāo),機(jī)器人借助人工智能技術(shù)自主感知環(huán)境,進(jìn)行任務(wù)規(guī)劃和執(zhí)行。這是人類的終極期望,目前的技術(shù)水平還遠(yuǎn)不能達(dá)到。第4種是人機(jī)協(xié)作的交互方式,這種方式處在監(jiān)督控制和全自主控制之間。在這種模式下,人與機(jī)器人合作完成工作任務(wù),機(jī)器人并不是人類的工具而是伙伴,能夠跟人進(jìn)行溝通,將人類作為外接的智能源。隨著機(jī)器智能的不斷提高,人機(jī)協(xié)作的最高階段為對(duì)等協(xié)作[1]。

        以危險(xiǎn)場(chǎng)合的救援為背景,提出了一種遠(yuǎn)程人機(jī)交互的系統(tǒng)方案[2],意欲通過人機(jī)協(xié)作的方式,實(shí)現(xiàn)操作人員對(duì)處于危險(xiǎn)場(chǎng)合的救援機(jī)器人的遠(yuǎn)程控制。系統(tǒng)的結(jié)構(gòu)如圖2所示,機(jī)器人由基于ROS的嵌入式控制器進(jìn)行自律控制,通過無線網(wǎng)絡(luò)接受來自人的控制指令,人機(jī)協(xié)作的平臺(tái)軟件提供人機(jī)交互的接口。本文針對(duì)這一方案,設(shè)計(jì)了一套人機(jī)協(xié)作的軟件平臺(tái)。該平臺(tái)具有以下特點(diǎn):1)提供3種人與機(jī)器人交互的接口并可在3種方式下自由切換:自然語言交互接口,手柄遙操作接口和地圖導(dǎo)引接口;2)提供與基于ROS的遠(yuǎn)程機(jī)器人自律控制的命令交互及傳感信息接口;3)提供其它的智能計(jì)算模塊接口,如用于上層邏輯推演的計(jì)算模塊、用于視覺圖像識(shí)別的計(jì)算模塊等;4)提供機(jī)器人位置的實(shí)時(shí)地圖顯示功能;5)基于組件的軟件系統(tǒng)設(shè)計(jì)和基于操作者框架的LabVIEW程序?qū)崿F(xiàn);6)各模塊組件之間是基于消息傳遞的并發(fā)式運(yùn)行機(jī)制,運(yùn)行效率高。

        圖1 人機(jī)協(xié)作總體方案

        1 總體方案

        人機(jī)協(xié)作軟件平臺(tái)的總體設(shè)計(jì)如圖 3所示,系統(tǒng)包含7個(gè)并發(fā)工作的組件,各個(gè)組件獨(dú)立運(yùn)行,通過消息機(jī)制相互通信。其中協(xié)調(diào)者為核心組件,負(fù)責(zé)各組件通信和狀態(tài)協(xié)調(diào);通過人機(jī)界面組件對(duì)人的指令進(jìn)行解析,如果需要進(jìn)行路徑規(guī)劃,則啟動(dòng)路徑規(guī)劃功能,并通過“遠(yuǎn)程”組件將規(guī)劃的路徑或人的指令發(fā)送給機(jī)器人;協(xié)調(diào)者組件還通過“遠(yuǎn)程”組件接收機(jī)器人的傳感器信號(hào),將里程信息發(fā)送給地圖顯示組件,顯示機(jī)器人在地圖中的位置,其它信息可以通過人機(jī)界面組件顯示。

        考慮到計(jì)算性能問題,每一個(gè)組件可以單獨(dú)部署在一個(gè)物理計(jì)算機(jī)節(jié)點(diǎn)上,節(jié)點(diǎn)與節(jié)點(diǎn)之間通過局域網(wǎng)通信;考慮到每一個(gè)組件都可以單獨(dú)運(yùn)行,為了避免同步問題,組件間通信機(jī)制主要為不帶回復(fù)的異步通信模式。

        2 系統(tǒng)設(shè)計(jì)

        2.1 用例設(shè)計(jì)

        根據(jù)圖2的軟件框架和人機(jī)交互的要求,設(shè)計(jì)如圖 3所示的UML用例圖。

        圖3 人機(jī)協(xié)作平臺(tái)軟件用例圖

        共有4個(gè)核心的用例,分別為“語音協(xié)作控制”、“手動(dòng)協(xié)作控制”、“與控制面板交互”和“與機(jī)器人通訊”。核心用例的實(shí)現(xiàn)依賴其它子用例,根據(jù)關(guān)注點(diǎn)分離原則,將子用例分為以下5類:感知、交互、配置、計(jì)算及協(xié)調(diào)。這樣通過子用例實(shí)現(xiàn)核心用例的設(shè)計(jì)有助于軟件模塊的擴(kuò)展和實(shí)現(xiàn)[3-4]。

        圖3中用例之間的關(guān)系有3種:包含,擴(kuò)展和依賴。例如執(zhí)行“語音協(xié)作控制”用例時(shí),1)一定會(huì)執(zhí)行“監(jiān)測(cè)手機(jī)”和“語音信息驗(yàn)證”子用例,此為包括關(guān)系,使用虛箭頭線加<>表示;2)在一定條件下會(huì)執(zhí)行“全局路徑規(guī)劃”子用例,此為擴(kuò)展關(guān)系,使用虛線加<>表示;3)在某種程度上依賴于“與控制面板交互”用例的執(zhí)行,此為依賴關(guān)系,使用虛線表示。

        下面以“語音協(xié)作控制”用例為例展示部分用例文檔。

        用例名:語音協(xié)作控制

        概述:人在本地輸入語音信號(hào),對(duì)機(jī)器人進(jìn)行遠(yuǎn)程控制。

        前置條件:平臺(tái)軟件啟動(dòng)完成,機(jī)器人初始定位成功。

        主序列:

        步驟1:人通過控制面板要求進(jìn)行語音協(xié)作控制。

        步驟2:人輸入語音信號(hào)。

        步驟3:結(jié)合機(jī)器人狀態(tài)數(shù)據(jù),對(duì)命令進(jìn)行初步分析,驗(yàn)證命令的合法性。

        步驟4:將合法語音命令解釋成機(jī)器人能夠直接執(zhí)行的指令,在需要的情形(如“去A513”指令)使用全局路徑規(guī)劃;不需要的情形全局路徑規(guī)劃的指令(如“往前走五米”指令)則直接發(fā)出指令。

        步驟5:將解釋好的指令傳遞給遠(yuǎn)程機(jī)器人。

        步驟6:遠(yuǎn)程機(jī)器人對(duì)指令進(jìn)行執(zhí)行,平臺(tái)在人機(jī)交互界面顯示命令執(zhí)行情況。

        2.2 消息通信設(shè)計(jì)

        對(duì)圖2所示的軟件體系結(jié)構(gòu)的七個(gè)軟件組件之間的消息通信進(jìn)行設(shè)計(jì)。每個(gè)組件通過暴露消息接口來實(shí)現(xiàn)特定功能,宏觀上同時(shí)接收來自外界(機(jī)器人和人)的消息并進(jìn)行響應(yīng)。如“地圖顯示”軟件組件根據(jù)所收到的機(jī)器人狀態(tài)及環(huán)境消息更新地圖,“控制面板”軟件組件響應(yīng)人的標(biāo)準(zhǔn)操作,向“協(xié)調(diào)者”組件發(fā)送消息以調(diào)整行為。協(xié)作平臺(tái)軟件之間的消息接口使用UML組件圖表達(dá)如圖 4所示。

        本軟件的消息使用不帶回復(fù)的異步通信機(jī)制。按照活動(dòng)范圍,將消息分為兩類:內(nèi)部消息和外部消息。外部消息指的是與外部實(shí)體溝通的消息,如人、機(jī)器人 、手柄等。內(nèi)部消息是指內(nèi)部組件間交換的信息,如經(jīng)過自然語言處理模塊生成的語義信息等。按照功能劃分,消息可以分為三類:周期性消息、按需消息和啟停消息。周期性消息為設(shè)備的輪詢消息,如手柄的控制桿數(shù)據(jù)、機(jī)器人實(shí)時(shí)坐標(biāo)數(shù)據(jù)等。按需消息是改變組件行為的事件消息,如控制面板消息、狀態(tài)改變消息等。啟停消息是一種特殊消息,專門用于軟件組件的啟動(dòng)和停止。

        圖4 人機(jī)協(xié)作平臺(tái)軟件體系結(jié)構(gòu)

        為了降低設(shè)計(jì)復(fù)雜性和提高體系結(jié)構(gòu)容錯(cuò)率,組件采用分層設(shè)計(jì)的集中控制模式。體系結(jié)構(gòu)分三層,由“協(xié)調(diào)者”組件負(fù)責(zé)各組件通信和狀態(tài)協(xié)調(diào),各二級(jí)控制組件再與下一級(jí)組件通信,完成整個(gè)系統(tǒng)的行為控制。本系統(tǒng)目前的軟件規(guī)模不大,二級(jí)控制組件只有一個(gè)“操作面板”組件。這種控制模式對(duì)進(jìn)一步擴(kuò)展系統(tǒng)功能具有顯著優(yōu)勢(shì)[5]。

        每一個(gè)用例的實(shí)現(xiàn),都是軟件組件間交互的結(jié)果,組件圖給出了各組件之間的高層通信,但并沒有給明組件間通信的順序,下面使用UML順序圖對(duì)體系結(jié)構(gòu)的這一特征進(jìn)行描述。

        圖 5為“語音協(xié)作控制”用例的組件間通信交互順序圖。順序圖由外部參與者和參與到用例中的組件構(gòu)成,組件間通過消息(在LabVIEW中是一個(gè)Message類)進(jìn)行通信,組件收到消息后的響應(yīng)用矩形塊包裹的文字注釋表示,由于組件間通信模式為不帶回復(fù)的異步通信,所以組件并不回傳消息,直接執(zhí)行響應(yīng)動(dòng)作。

        圖5 “語音協(xié)作控制”用例的順序圖

        圖5的順序圖可解釋為:人輸入的聲音信息經(jīng)過語音識(shí)別模塊轉(zhuǎn)化為字符串,傳遞到“聲音”組件;聲音組件對(duì)其進(jìn)行自然語義理解,生成語義指令,傳遞給“操控面板”組件;“操控面板”組件結(jié)合用戶輸入等對(duì)語義指令信息進(jìn)行合法性檢查,無誤后轉(zhuǎn)發(fā)給“協(xié)調(diào)者”組件;“協(xié)調(diào)者”組件根據(jù)需要協(xié)調(diào)系統(tǒng)的整體行為,并將消息發(fā)送給“路徑規(guī)劃”組件;由該組件生成機(jī)器人能直接執(zhí)行的局部目標(biāo)消息,經(jīng)由“協(xié)調(diào)者”組件轉(zhuǎn)發(fā)給“遠(yuǎn)程機(jī)器人代理”組件,最終發(fā)送給移動(dòng)機(jī)器人。

        以上只是簡(jiǎn)化的組件通信流程,1)一個(gè)消息在組件間的傳遞往往服務(wù)于多個(gè)用例,如“路徑規(guī)劃”組件需要機(jī)器人當(dāng)前位置數(shù)據(jù),而這一數(shù)據(jù)在“查看地圖”用例中進(jìn)行采集,由“遠(yuǎn)程代理”組件從移動(dòng)機(jī)器人處采集,將消息傳遞給“協(xié)調(diào)者”組件,再由“協(xié)調(diào)者”組件對(duì)其進(jìn)行分發(fā);(2)在分布式組件結(jié)構(gòu)下,很多消息都需要周期性發(fā)送,如隨著機(jī)器人的移動(dòng),可能需要重新進(jìn)行路徑規(guī)劃,這就需要“路徑規(guī)劃”組件的周期性工作。

        2.3 組件設(shè)計(jì)

        在圖4的基于組件的系統(tǒng)結(jié)構(gòu)中,每一個(gè)組件作為一個(gè)獨(dú)立運(yùn)行的個(gè)體,其行為根據(jù)外界消息或事件而變化。由于篇幅所限,這里僅給出核心組件“協(xié)調(diào)者”的設(shè)計(jì)?!皡f(xié)調(diào)者”組件同時(shí)處理多個(gè)輸入和輸出,如需要同時(shí)處理手柄數(shù)據(jù)指令和運(yùn)行中的語音指令,需要在適當(dāng)?shù)臅r(shí)候?qū)σ恍┌l(fā)生沖突的指令進(jìn)行取舍,這種基于外部消息反應(yīng)的動(dòng)態(tài)行為非常適合使用狀態(tài)圖來設(shè)計(jì)。圖 6為 “協(xié)調(diào)者”組件的狀態(tài)圖。根據(jù)當(dāng)前協(xié)作平臺(tái)軟件功能,“協(xié)調(diào)者”組件內(nèi)部具有3個(gè)狀態(tài):就緒(Ready),手動(dòng)(Manual),導(dǎo)航(Guiding)。協(xié)調(diào)者對(duì)指令的取舍,就通過打開或關(guān)閉某一類型消息的接口來實(shí)現(xiàn)。在每一個(gè)狀態(tài)下,組件選擇開放不同的消息接口,設(shè)置不同的消息處理行為。實(shí)際上,關(guān)閉和開放某個(gè)接口就是通過改變對(duì)消息的處理來實(shí)現(xiàn)的,當(dāng)對(duì)某一消息的處理為空,則該組件對(duì)該消息無響應(yīng),即可看作該組件關(guān)閉了此接口。

        圖6 “協(xié)調(diào)者”組件的內(nèi)部運(yùn)行邏輯

        圖7 “協(xié)調(diào)者”Actor結(jié)構(gòu)

        “協(xié)調(diào)者”組件包含三類消息接口:手柄指令消息接口,語音指令消息接口、配置和狀態(tài)消息接口。機(jī)器人啟動(dòng)后,該組件進(jìn)入默認(rèn)的“就緒”狀態(tài),該狀態(tài)意味著關(guān)閉對(duì)手柄和語音指令消息的處理(該消息由操控面板組件發(fā)送而來)。在“就緒”狀態(tài),人無法通過手柄和語音控制機(jī)器人,可以使用操控面板進(jìn)行機(jī)器人參數(shù)配置,可以查看機(jī)器人當(dāng)前狀態(tài)(這兩個(gè)功能靠周期性發(fā)送機(jī)器人傳感器消息等來實(shí)現(xiàn))。

        人在操控面板上通過按鈕可使機(jī)器人進(jìn)入“導(dǎo)航”狀態(tài)。此時(shí)人可以通過語音與機(jī)器人進(jìn)行交互,平臺(tái)軟件識(shí)別語音指令后發(fā)送給機(jī)器人,在機(jī)器人執(zhí)行過程中,組件如果收到機(jī)器人返回的錯(cuò)誤狀態(tài)信息或者程序內(nèi)部錯(cuò)誤,則組件返回“就緒”狀態(tài)。

        人也可以對(duì)機(jī)器人的任務(wù)執(zhí)行進(jìn)行強(qiáng)制介入(例如機(jī)器人無法利用自身智能越過障礙時(shí)),使用手柄進(jìn)行強(qiáng)制操作。使用手柄操作后,操控面板將自動(dòng)發(fā)送一個(gè)轉(zhuǎn)換指令,組件進(jìn)入“手動(dòng)”狀態(tài),此時(shí)手動(dòng)操作機(jī)器人。人也可以隨時(shí)對(duì)機(jī)器人的任務(wù)執(zhí)行進(jìn)行恢復(fù),機(jī)器人再次進(jìn)入“導(dǎo)航”狀態(tài),繼續(xù)之前的任務(wù)。

        3 系統(tǒng)實(shí)現(xiàn)

        本文用LabVIEW實(shí)現(xiàn)了上述人機(jī)協(xié)作軟件平臺(tái)。鑒于篇幅限制,僅以“協(xié)調(diào)者”組件為例,介紹面向?qū)ο蟮臋C(jī)器人協(xié)作平臺(tái)軟件組件級(jí)開發(fā)與實(shí)現(xiàn)。

        軟件平臺(tái)總體上采用LabVIEW Actor Framework框架實(shí)現(xiàn)。這是一個(gè)基于面向?qū)ο蟮某绦蚰0澹瑢?shí)現(xiàn)了Actor編程模型,提供了多進(jìn)程通信的框架[6]。LabVIEW Actor Framework的類組織見圖 7右上部的虛線方框,在這個(gè)框架中,所有任務(wù)都由某個(gè)Actor完成,每個(gè)Actor都擁有一個(gè)主線程,維護(hù)一個(gè)自己的消息隊(duì)列。Actor通過將消息壓入其它Actor的隊(duì)列的方式來傳遞消息,接收到消息的Actor針對(duì)特定消息類型,啟動(dòng)自定義的消息處理函數(shù)。Actor之間通過這種方式向外界暴露接口。本系統(tǒng)的軟件組件使用Actor來實(shí)現(xiàn)正好滿足要求的并發(fā)工作的設(shè)計(jì)需求。

        根據(jù)圖 4描述的組件接口, “協(xié)調(diào)者”組件的內(nèi)部設(shè)計(jì)如圖 8所示,使用UML類圖描述。使用繼承的方式對(duì)預(yù)先提供的程序框架進(jìn)行擴(kuò)展,并應(yīng)用相關(guān)設(shè)計(jì)模式:(1)在Message.lvclass的基礎(chǔ)上對(duì)每一個(gè)消息接收接口設(shè)計(jì)一個(gè)類,并向其他Actor提供壓入自身消息隊(duì)列的方法(如Send Go to Manual.vi)和調(diào)用消息處理函數(shù)的方法(如Do.vi);(2)在Actor.lvclass的基礎(chǔ)上設(shè)計(jì)StateActor.lvclass和CoordinatorState.lvclass,針對(duì)各個(gè)消息接收接口設(shè)計(jì)消息處理函數(shù),并重寫Actor Core.vi;(3)使用狀態(tài)設(shè)計(jì)模式(State Design Pattern),設(shè)計(jì)3個(gè)狀態(tài)子類,每個(gè)子類執(zhí)行在這一狀態(tài)內(nèi)的消息處理函數(shù),這樣就把Actor的功能委托到3個(gè)狀態(tài)域中,降低了設(shè)計(jì)難度。

        4 仿真實(shí)驗(yàn)

        本文通過控制搭載機(jī)器人操作系統(tǒng)ROS的P3AT移動(dòng)機(jī)器人來驗(yàn)證人機(jī)協(xié)作平臺(tái)軟件的有效性。ROS是當(dāng)前流行的機(jī)器人軟件開發(fā)中間件,不僅提供了一整套基于xml-rpc的數(shù)據(jù)通信協(xié)議,還提供對(duì)各種常用機(jī)器人硬件的驅(qū)動(dòng)支持[7]。經(jīng)過數(shù)年的發(fā)展,ROS逐漸成熟,能夠提供優(yōu)質(zhì)的支撐軟件,包括機(jī)器人仿真器,可視化工具。在實(shí)際進(jìn)行機(jī)器人實(shí)體控制實(shí)驗(yàn)之前,先在ROS上搭建P3AT的仿真環(huán)境,在仿真環(huán)境下調(diào)試系統(tǒng),可以大大提高系統(tǒng)調(diào)試的工作效率;ROS上不僅可以建立P3AT的仿真模型,還能仿真其所帶的傳感器,如聲吶、激光雷達(dá)等,這對(duì)系統(tǒng)調(diào)試后部署到實(shí)體機(jī)器人上是非常有幫助的。本文將機(jī)器人協(xié)作平臺(tái)軟件部署在運(yùn)行LabVIEW軟件的Windows計(jì)算機(jī)上,并搭建了基于ROS的P3AT移動(dòng)機(jī)器人仿真系統(tǒng),人通過手機(jī)進(jìn)行聲音識(shí)別與指令輸入。

        與圖 2相對(duì)應(yīng),搭建的實(shí)驗(yàn)系統(tǒng)如圖 8所示。ROS系統(tǒng)由包組成,包括自己設(shè)計(jì)的ROS包zsProxy(負(fù)責(zé)協(xié)作平臺(tái)軟件與ROS之間的消息解析、捆綁與傳遞)、經(jīng)過改造后使用的ROS軟件包move_base(負(fù)責(zé)局部避障),和可免費(fèi)使用的開源包amr-ros-config(提供機(jī)器人模型供可視化)、rosaria(P3AT機(jī)器人驅(qū)動(dòng))、rosaria_client(調(diào)試組件),使用的支撐軟件包括P3AT機(jī)器人仿真器MobileSim(模擬機(jī)器人本體及傳感器)、ROS可視化軟件RViz(監(jiān)測(cè)整個(gè)實(shí)驗(yàn)情況)。ROS實(shí)驗(yàn)系統(tǒng)部署在運(yùn)行Ubuntu 14.04的另一臺(tái)計(jì)算機(jī)上人通過如圖 9所示的操控面板和機(jī)器人交互,當(dāng)前實(shí)現(xiàn)的功能主要有:機(jī)器人移動(dòng)和轉(zhuǎn)動(dòng)速度配置;機(jī)器人初始定位;Actor重啟;機(jī)器人工作模式切換;機(jī)器人電壓等傳感數(shù)據(jù)顯示;操作日志顯示;查看地圖和機(jī)器人在地圖中的位置等。

        圖9 人機(jī)交互界面

        具體實(shí)驗(yàn)流程為:人啟動(dòng)ROS系統(tǒng)和協(xié)作平臺(tái)程序,輸入機(jī)器人的初始坐標(biāo),將軟件切換至導(dǎo)航模式,拿起手機(jī),錄入聲音,如“往前走一米”,此時(shí)機(jī)器人會(huì)以實(shí)時(shí)避障的模式到達(dá)期望地點(diǎn),機(jī)器人在執(zhí)行任務(wù)過程中,人可以通過手柄更改軟件工作模式到手動(dòng),此時(shí)機(jī)器人會(huì)停止任務(wù)執(zhí)行,人現(xiàn)在可以用手柄對(duì)機(jī)器人進(jìn)行遙操作。

        圖 14是機(jī)器人執(zhí)行“往右走二米”時(shí)RViz的監(jiān)測(cè)情況,機(jī)器人起始位置如圖 10所示,機(jī)器人接收到指令后其move_base包會(huì)進(jìn)行局部路徑規(guī)劃,在RViz中可以看到機(jī)器人的當(dāng)前目標(biāo)姿態(tài)(紅色粗實(shí)線箭頭)和規(guī)劃出的軌跡(綠色細(xì)實(shí)線)。需要說明的是,目標(biāo)姿態(tài)的角度值為0,是因?yàn)閭鬟f的指令沒有對(duì)機(jī)器人姿態(tài)進(jìn)行約束。

        圖10 機(jī)器人的運(yùn)動(dòng)響應(yīng)

        5 結(jié)論

        將移動(dòng)機(jī)器人用于人無法到達(dá)的遙遠(yuǎn)或危險(xiǎn)場(chǎng)合,實(shí)施探索或救援任務(wù),是人類對(duì)機(jī)器人的期望。在此背景下,本文設(shè)計(jì)了一套人與遠(yuǎn)程機(jī)器人交互的軟件平臺(tái),人與機(jī)器人通過此平臺(tái)進(jìn)行交互與協(xié)作,實(shí)現(xiàn)預(yù)期的任務(wù)要求。本文工作具有以下特點(diǎn):1)設(shè)計(jì)過程基于UML對(duì)軟件及軟件模塊進(jìn)行建模,方便方案的討論與設(shè)計(jì)文檔的形成;2)軟件平臺(tái)是基于組件的模塊化設(shè)計(jì),便于軟件復(fù)用、軟件維護(hù)與功能擴(kuò)展;3)組件是并行獨(dú)立工作,通過串行無返回的消息傳輸機(jī)制,實(shí)現(xiàn)并發(fā)式組件運(yùn)行模式;4)軟件系統(tǒng)基于LabVIEW Actor Framework開發(fā)和實(shí)現(xiàn),復(fù)雜組件應(yīng)用了狀態(tài)設(shè)計(jì)模式,遠(yuǎn)程組件基于以太網(wǎng)通信,系統(tǒng)調(diào)試方便,開發(fā)效率高;5)遠(yuǎn)程的機(jī)器人本地控制基于ROS操作系統(tǒng)實(shí)現(xiàn),在部署到實(shí)物機(jī)器人前,先建立仿真環(huán)境,進(jìn)行系統(tǒng)調(diào)試;由于仿真環(huán)境的機(jī)器人模型、傳感器模型、環(huán)境模型均與實(shí)際一致,通過仿真測(cè)試后,系統(tǒng)可無縫部署到實(shí)物機(jī)器人上,大大提高了調(diào)試效率。本文系統(tǒng)實(shí)現(xiàn)的人與機(jī)器人的交互方式有自然語言交互、手柄直接操縱、地圖目標(biāo)導(dǎo)引3種模式;實(shí)現(xiàn)了與其它智能模塊的接口,如語義識(shí)別、路徑規(guī)劃等;實(shí)現(xiàn)了與遠(yuǎn)程ROS系統(tǒng)的接口。本文系統(tǒng)在實(shí)驗(yàn)室調(diào)試通過,仿真環(huán)境下機(jī)器人的人機(jī)交互與運(yùn)行順暢,滿足設(shè)計(jì)預(yù)期。

        [1] Goodrich M A, Schultz A C. Human-robot interaction: a survey[J]. Foundations and Trends in Human-Computer Interaction. 2007, 1(3): 203-275.

        [2] Wang H, Ren J, Li X. Natural spoken instructions understanding for rescue robot navigation based on cascaded Conditional Random Fields[A]. IEEE[C]. 2016.

        [3] Pfeifer R, Iida F, Bongard J. New robotics: Design principles for intelligent systems[J]. Artificial life, 2005, 11(1-2): 99-120.

        [4] Bruyninckx H, Klotzbücher M, Hochgeschwender N, et al. The BRICS component model: a model-based development paradigm for complex robotics software systems[A].Proceedings of the 28th Annual ACM Symposium on Applied Computing[C]. ACM, 2013: 1758-1764.

        [5] Gomaa H. Software modeling and design: UML, use cases, patterns, and software architectures[M]. Cambridge University Press, 2011.

        [6] Sumathi S, Surekha P. LabVIEW based advanced instrumentation systems[M]. Springer Science & Business Media, 2007.

        [7] Brugali D, Shakhimardanov A. Component-based robotic engineering (part ii)[J]. IEEE Robotics & Automation Magazine, 2010, 17(1): 100-112.

        Design and Implementation of a Software Platform for Interaction Between Human and Remote Mobile Robots

        Li Zhensheng, Wang Hengsheng

        (1.College of Mechanical and Electrical Engineering, Central South University, Changsha 410083, China;2.State Key Laboratory for High Performance Complex Manufacturing, Changsha 410083, China)

        A software platform for Human Robot Interaction (HRI) is designed and implemented based on the application background of mobile robot for inspection and rescue tasks, replacing human beings in hazardous areas. The design process of the software is modeled with UML and the design is based on modular components; the components work in parallel and communicate concurrently through queued message-response mechanism. The software platform is implemented with LabVIEW Actor Framework, in which the main Actor is designed with state machine in order to coordinate communication among components; a remote proxy Actor is designed to bridge the communication of ROS-based control system of the remote robot with the software platform, that is to send instructions from human to robot and to receive data back from sensors. The experimental system is deployed on two computers: one running the LabVIEW-based HRI software, and the other running the ROS-based simulation software of P3AT control system. Experiments show that the components of the software platform work together properly, and the interaction is natural and smooth between the human operator and the remote robot. The result meets the expectations.

        mobile robot;human-robot interaction; UML; LabVIEW; ROS

        2016-11-02;

        2016-11-29。

        國(guó)家“973”重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃(2013CB035504)。

        黎振勝(1993-),男,湖南華容人,碩士研究生,主要從事機(jī)器人控制系統(tǒng)軟件設(shè)計(jì)方向的研究。

        王恒升(1963-),男,陜西合陽人,博士,教授,博士研究生導(dǎo)師,主要從事智能機(jī)器人方向的研究。

        1671-4598(2017)04-0121-05

        10.16526/j.cnki.11-4762/tp.2017.04.034

        TP242;TP311

        A

        猜你喜歡
        協(xié)調(diào)者用例移動(dòng)機(jī)器人
        移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
        UML用例模型中依賴關(guān)系的比較與分析
        聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫
        從出土文獻(xiàn)用例看王氏父子校讀古書的得失
        淺談學(xué)校副校長(zhǎng)的工作藝術(shù)
        中文信息(2018年1期)2018-03-22 11:43:12
        基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
        淺談副校長(zhǎng)在學(xué)校管理中的定位
        淺談班主任的多元化角色
        基層黨支部工作的幾點(diǎn)思考
        極坐標(biāo)系下移動(dòng)機(jī)器人的點(diǎn)鎮(zhèn)定
        亚洲中文字幕无码天然素人在线| 蜜桃在线观看视频在线观看| 免费看av网站在线亚洲| 日韩人妻少妇一区二区三区| 伊人久久五月丁香综合中文亚洲| 综合无码综合网站| 国产精品女同二区五区九区 | 亚洲综合网站精品一区二区| 亚洲一区二区三区18| 曰韩无码av一区二区免费| 天堂8中文在线最新版在线| 国产欧美另类精品久久久| 国产情侣自拍偷拍精品| 丝袜人妻一区二区三区 | 日韩在线无| 男子把美女裙子脱了摸她内裤| 手机av在线中文字幕| 曰本人做爰又黄又粗视频| 亚洲天堂手机在线| 亚洲在线视频一区二区| 极品尤物人妻堕落沉沦| 黄瓜视频在线观看| 中文 国产 无码免费| 黄页免费人成网址大全| 老师开裆丝袜喷水视频| 97精品依人久久久大香线蕉97| 欧美日韩国产乱了伦| 人妻精品人妻一区二区三区四区| 亚洲国产av无码专区亚洲av| 国产精品无码专区视频| 91麻豆精品激情在线观最新| 欧美午夜理伦三级在线观看| 国产在线精品欧美日韩电影| 九九99久久精品在免费线97| 少妇被爽到高潮喷水免费福利| 亚洲中文字幕成人无码| 婷婷九月丁香| 久久精品国产亚洲av热东京热| 亚洲日韩精品一区二区三区无码| 国产女精品视频网站免费| 午夜日本精品一区二区|