999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

移動機器人遠程人機交互軟件平臺設計與實現

2017-05-10 07:02:36黎振勝王恒升
計算機測量與控制 2017年4期
關鍵詞:移動機器人指令設計

黎振勝,王恒升,2

(1.中南大學 機電工程學院,長沙 410083; 2.高性能復雜制造國家重點實驗室,長沙 410083 )

移動機器人遠程人機交互軟件平臺設計與實現

黎振勝1,王恒升1,2

(1.中南大學 機電工程學院,長沙 410083; 2.高性能復雜制造國家重點實驗室,長沙 410083 )

基于移動機器人代替人去危險場合執行探測和救援任務的應用背景,設計了一個人機交互的軟件平臺;采用UML對設計過程進行建模,基于組件對系統進行模塊化設計;各組件并行運行,通過消息隊列與消息響應的機制實現組件之間的并發式通信;軟件平臺基于LabVIEW的Actor框架實現,核心Actor組件基于狀態機設計,協調其它組件之間的通信;設計了一個遠程Actor代理,實現與基于ROS的遠程機器人的本地控制系統通信,將人的指令傳輸給機器人并將機器人的傳感信息傳回給人機界面;實驗系統部署在兩臺計算機上,一臺運行基于LabVIEW的人機界面,另一臺運行基于ROS的P3AT控制仿真系統;實驗表明,設計的軟件平臺各部分能夠協同工作,人機交互自然順暢,滿足預期要求。

移動機器人;人機交互;UML;LabVIEW;ROS

0 引言

智能移動機器人正在以驚人的關注度走進人類生產生活的各個方面,這已成為學界和工業界的共識。人們對機器人抱有極大的熱情和期待,例如期待機器人能夠代替人類去危險、有毒、有害的場所實施災害救援任務,能夠進入太空或其它星球完成太空探索任務等等。由于復雜的人類環境和任務要求,目前的科學技術水平距離人們對機器人能夠獨立完成任務的期待還有很長的路要走。移動機器人應用的可行方式是通過人機交互來實現。

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

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

圖1 人機協作總體方案

1 總體方案

人機協作軟件平臺的總體設計如圖 3所示,系統包含7個并發工作的組件,各個組件獨立運行,通過消息機制相互通信。其中協調者為核心組件,負責各組件通信和狀態協調;通過人機界面組件對人的指令進行解析,如果需要進行路徑規劃,則啟動路徑規劃功能,并通過“遠程”組件將規劃的路徑或人的指令發送給機器人;協調者組件還通過“遠程”組件接收機器人的傳感器信號,將里程信息發送給地圖顯示組件,顯示機器人在地圖中的位置,其它信息可以通過人機界面組件顯示。

考慮到計算性能問題,每一個組件可以單獨部署在一個物理計算機節點上,節點與節點之間通過局域網通信;考慮到每一個組件都可以單獨運行,為了避免同步問題,組件間通信機制主要為不帶回復的異步通信模式。

2 系統設計

2.1 用例設計

根據圖2的軟件框架和人機交互的要求,設計如圖 3所示的UML用例圖。

圖3 人機協作平臺軟件用例圖

共有4個核心的用例,分別為“語音協作控制”、“手動協作控制”、“與控制面板交互”和“與機器人通訊”。核心用例的實現依賴其它子用例,根據關注點分離原則,將子用例分為以下5類:感知、交互、配置、計算及協調。這樣通過子用例實現核心用例的設計有助于軟件模塊的擴展和實現[3-4]。

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

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

用例名:語音協作控制

概述:人在本地輸入語音信號,對機器人進行遠程控制。

前置條件:平臺軟件啟動完成,機器人初始定位成功。

主序列:

步驟1:人通過控制面板要求進行語音協作控制。

步驟2:人輸入語音信號。

步驟3:結合機器人狀態數據,對命令進行初步分析,驗證命令的合法性。

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

步驟5:將解釋好的指令傳遞給遠程機器人。

步驟6:遠程機器人對指令進行執行,平臺在人機交互界面顯示命令執行情況。

2.2 消息通信設計

對圖2所示的軟件體系結構的七個軟件組件之間的消息通信進行設計。每個組件通過暴露消息接口來實現特定功能,宏觀上同時接收來自外界(機器人和人)的消息并進行響應。如“地圖顯示”軟件組件根據所收到的機器人狀態及環境消息更新地圖,“控制面板”軟件組件響應人的標準操作,向“協調者”組件發送消息以調整行為。協作平臺軟件之間的消息接口使用UML組件圖表達如圖 4所示。

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

圖4 人機協作平臺軟件體系結構

為了降低設計復雜性和提高體系結構容錯率,組件采用分層設計的集中控制模式。體系結構分三層,由“協調者”組件負責各組件通信和狀態協調,各二級控制組件再與下一級組件通信,完成整個系統的行為控制。本系統目前的軟件規模不大,二級控制組件只有一個“操作面板”組件。這種控制模式對進一步擴展系統功能具有顯著優勢[5]。

每一個用例的實現,都是軟件組件間交互的結果,組件圖給出了各組件之間的高層通信,但并沒有給明組件間通信的順序,下面使用UML順序圖對體系結構的這一特征進行描述。

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

圖5 “語音協作控制”用例的順序圖

圖5的順序圖可解釋為:人輸入的聲音信息經過語音識別模塊轉化為字符串,傳遞到“聲音”組件;聲音組件對其進行自然語義理解,生成語義指令,傳遞給“操控面板”組件;“操控面板”組件結合用戶輸入等對語義指令信息進行合法性檢查,無誤后轉發給“協調者”組件;“協調者”組件根據需要協調系統的整體行為,并將消息發送給“路徑規劃”組件;由該組件生成機器人能直接執行的局部目標消息,經由“協調者”組件轉發給“遠程機器人代理”組件,最終發送給移動機器人。

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

2.3 組件設計

在圖4的基于組件的系統結構中,每一個組件作為一個獨立運行的個體,其行為根據外界消息或事件而變化。由于篇幅所限,這里僅給出核心組件“協調者”的設計。“協調者”組件同時處理多個輸入和輸出,如需要同時處理手柄數據指令和運行中的語音指令,需要在適當的時候對一些發生沖突的指令進行取舍,這種基于外部消息反應的動態行為非常適合使用狀態圖來設計。圖 6為 “協調者”組件的狀態圖。根據當前協作平臺軟件功能,“協調者”組件內部具有3個狀態:就緒(Ready),手動(Manual),導航(Guiding)。協調者對指令的取舍,就通過打開或關閉某一類型消息的接口來實現。在每一個狀態下,組件選擇開放不同的消息接口,設置不同的消息處理行為。實際上,關閉和開放某個接口就是通過改變對消息的處理來實現的,當對某一消息的處理為空,則該組件對該消息無響應,即可看作該組件關閉了此接口。

圖6 “協調者”組件的內部運行邏輯

圖7 “協調者”Actor結構

“協調者”組件包含三類消息接口:手柄指令消息接口,語音指令消息接口、配置和狀態消息接口。機器人啟動后,該組件進入默認的“就緒”狀態,該狀態意味著關閉對手柄和語音指令消息的處理(該消息由操控面板組件發送而來)。在“就緒”狀態,人無法通過手柄和語音控制機器人,可以使用操控面板進行機器人參數配置,可以查看機器人當前狀態(這兩個功能靠周期性發送機器人傳感器消息等來實現)。

人在操控面板上通過按鈕可使機器人進入“導航”狀態。此時人可以通過語音與機器人進行交互,平臺軟件識別語音指令后發送給機器人,在機器人執行過程中,組件如果收到機器人返回的錯誤狀態信息或者程序內部錯誤,則組件返回“就緒”狀態。

人也可以對機器人的任務執行進行強制介入(例如機器人無法利用自身智能越過障礙時),使用手柄進行強制操作。使用手柄操作后,操控面板將自動發送一個轉換指令,組件進入“手動”狀態,此時手動操作機器人。人也可以隨時對機器人的任務執行進行恢復,機器人再次進入“導航”狀態,繼續之前的任務。

3 系統實現

本文用LabVIEW實現了上述人機協作軟件平臺。鑒于篇幅限制,僅以“協調者”組件為例,介紹面向對象的機器人協作平臺軟件組件級開發與實現。

軟件平臺總體上采用LabVIEW Actor Framework框架實現。這是一個基于面向對象的程序模板,實現了Actor編程模型,提供了多進程通信的框架[6]。LabVIEW Actor Framework的類組織見圖 7右上部的虛線方框,在這個框架中,所有任務都由某個Actor完成,每個Actor都擁有一個主線程,維護一個自己的消息隊列。Actor通過將消息壓入其它Actor的隊列的方式來傳遞消息,接收到消息的Actor針對特定消息類型,啟動自定義的消息處理函數。Actor之間通過這種方式向外界暴露接口。本系統的軟件組件使用Actor來實現正好滿足要求的并發工作的設計需求。

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

4 仿真實驗

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

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

圖9 人機交互界面

具體實驗流程為:人啟動ROS系統和協作平臺程序,輸入機器人的初始坐標,將軟件切換至導航模式,拿起手機,錄入聲音,如“往前走一米”,此時機器人會以實時避障的模式到達期望地點,機器人在執行任務過程中,人可以通過手柄更改軟件工作模式到手動,此時機器人會停止任務執行,人現在可以用手柄對機器人進行遙操作。

圖 14是機器人執行“往右走二米”時RViz的監測情況,機器人起始位置如圖 10所示,機器人接收到指令后其move_base包會進行局部路徑規劃,在RViz中可以看到機器人的當前目標姿態(紅色粗實線箭頭)和規劃出的軌跡(綠色細實線)。需要說明的是,目標姿態的角度值為0,是因為傳遞的指令沒有對機器人姿態進行約束。

圖10 機器人的運動響應

5 結論

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

[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。

國家“973”重點基礎研究發展計劃(2013CB035504)。

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

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

1671-4598(2017)04-0121-05

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

TP242;TP311

A

猜你喜歡
移動機器人指令設計
聽我指令:大催眠術
移動機器人自主動態避障方法
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
基于Twincat的移動機器人制孔系統
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
極坐標系下移動機器人的點鎮定
基于引導角的非完整移動機器人軌跡跟蹤控制
主站蜘蛛池模板: 国产一区成人| 日韩人妻精品一区| 新SSS无码手机在线观看| 成年女人a毛片免费视频| 天堂在线www网亚洲| 亚洲h视频在线| 精品天海翼一区二区| 欧美亚洲另类在线观看| 久久99这里精品8国产| 97在线碰| 亚洲中文字幕在线精品一区| 亚洲天堂网在线播放| 特级毛片8级毛片免费观看| 欧美国产在线一区| 亚洲第一香蕉视频| 人与鲁专区| 精品伊人久久大香线蕉网站| 四虎精品免费久久| 欧美激情伊人| 免费人成视频在线观看网站| 精品国产成人av免费| 黄色国产在线| 亚洲综合中文字幕国产精品欧美| 亚洲精品大秀视频| 欧美色香蕉| 亚洲成人在线免费| 国产十八禁在线观看免费| 亚洲欧洲日产无码AV| 久久精品无码专区免费| 欧洲高清无码在线| 麻豆AV网站免费进入| 啊嗯不日本网站| 新SSS无码手机在线观看| 高h视频在线| 国产69精品久久久久孕妇大杂乱 | 欧美成人区| 亚洲综合第一页| 国产主播在线一区| 特级毛片8级毛片免费观看| 国产黄色视频综合| 一区二区三区四区精品视频| 欧美午夜理伦三级在线观看| 久久五月视频| 最新精品久久精品| 911亚洲精品| 青青热久麻豆精品视频在线观看| 午夜毛片福利| 天天躁夜夜躁狠狠躁图片| 国产美女91呻吟求| 九九热在线视频| 国产在线专区| 亚洲人网站| 精品少妇三级亚洲| 国产精品欧美激情| 午夜精品久久久久久久2023| 欧美一级夜夜爽| www欧美在线观看| 亚洲福利片无码最新在线播放| 免费看a级毛片| 国产免费黄| 少妇露出福利视频| 九九九精品成人免费视频7| 久久精品一卡日本电影| 中字无码av在线电影| 免费观看成人久久网免费观看| 色综合天天操| 中文字幕亚洲专区第19页| 影音先锋丝袜制服| 91精品国产91久无码网站| 免费高清毛片| 久久黄色一级视频| 亚洲区视频在线观看| 免费高清毛片| 毛片在线看网站| 99久久精品国产自免费| 精品欧美日韩国产日漫一区不卡| 毛片网站在线播放| 国产精品主播| 国产视频 第一页| 亚洲永久视频| 国产国产人成免费视频77777 | 久久成人18免费|