• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于B/S架構(gòu)的服務型機器人遠程操控系統(tǒng)研究

      2019-12-25 01:14:48孫楠錢程王穎柴文君李淑敬
      無線互聯(lián)科技 2019年20期

      孫楠錢 程王穎 柴文君 李淑敬

      摘? ?要:文章針對服務機器人遙控軟件難以跨平臺的問題,設(shè)計和開發(fā)了一種基于B/S架構(gòu)的遠程操控系統(tǒng)。針對通信協(xié)議的差異導致通信障礙問題,文章引入網(wǎng)關(guān)程序進行協(xié)議轉(zhuǎn)換,從而實現(xiàn)網(wǎng)頁前端與機載程序之間的通信,并將網(wǎng)頁前端的部分業(yè)務邏輯交由網(wǎng)關(guān)程序?qū)崿F(xiàn),使得操控性能得以優(yōu)化。測試結(jié)果表明:該方案實現(xiàn)了PC端和手機端用網(wǎng)頁對服務機器人進行可視化操控,基于B/S的遠程操控系統(tǒng)對于其他機器人相關(guān)程序的設(shè)計和開發(fā)具有重要的借鑒意義。

      關(guān)鍵詞:遠程操控;服務型機器人;瀏覽器和服務器架構(gòu)

      隨著計算機科學、人工智能和智能感知等技術(shù)的迅速發(fā)展,服務型機器人不再局限于實驗室,而不斷地出現(xiàn)在企業(yè)中、社會中和家庭生活的方方面面,為人類的工作和生活提供了更為全面和便捷的服務[1],比如餐廳中會按照設(shè)定好的路線行走的送餐[2]機器人[3],在疾病監(jiān)測、輔助康復等領(lǐng)域有重要輔助作用的智能助老服務機器人[4]等。

      1? ? 系統(tǒng)介紹

      本系統(tǒng)計劃通過瀏覽器和服務器(Browser/Server,B/S)架構(gòu)實現(xiàn)了利用網(wǎng)頁對服務型機器人的遠程控制。首先,用戶在網(wǎng)頁前端通過點擊按鈕向網(wǎng)關(guān)程序發(fā)送控制命令;其次,網(wǎng)關(guān)程序接收并處理控制命令,同時發(fā)送給網(wǎng)頁前端一個回令,并且對機器人服務程序發(fā)送控制指令;最后,機器人服務程序接收控制指令后調(diào)用底層驅(qū)動應用程序編程接口(Application Programming Interface,API)來驅(qū)動機器人做出相應動作。以此完成網(wǎng)頁對服務型機器人的遠程控制。

      2? ? 對服務型機器人進行方案選擇

      2.1? 基于C/S架構(gòu)的命令控制方案

      首先,用戶利用網(wǎng)絡調(diào)試程序與機器人機載程序建立網(wǎng)絡連接;其次,通過其發(fā)送命令給機器人機載程序。機器人機載程序?qū)邮盏降拿钸M行解析、執(zhí)行,并做出一系列的動作。這種方法可以不需要單獨開發(fā)客戶端軟件,但是對于無基礎(chǔ)的用戶而言操作較難,不便于用戶的使用和市場的推廣,所以本系統(tǒng)不采用此方案。

      2.2? 基于C/S架構(gòu)的圖形界面控制方案

      用戶使用圖形化的客戶端軟件,通過點擊界面上的操控按鈕對服務型機器人進行操控。這種面向大眾用戶的圖形界面程序簡單、易用,更加有利于無基礎(chǔ)用戶的操作,但是由于軟件在不同設(shè)備、不同操作系統(tǒng)下不兼容,導致客戶端軟件對運行平臺有一定限制。若想解除這種限制,就要為每個平臺單獨開發(fā)客戶端軟件,導致開發(fā)難度增加,所以本系統(tǒng)不采用此方案。

      2.3? 基于B/S架構(gòu)的網(wǎng)頁控制方案

      用戶通過網(wǎng)頁瀏覽器打開前端網(wǎng)頁,點擊網(wǎng)頁中的控制按鈕,前端就會發(fā)送命令給機器人機載程序,進而控制機器人做出相應動作。這種方案既易于操作,又沒有運行平臺的限制,PC端和移動端都能使用。所以本系統(tǒng)采用此方案進行開發(fā)設(shè)計。

      3? ? 服務型機器人整體介紹

      3.1? 服務型機器人實驗平臺

      3.1.1? 啟明1服務機器人

      啟明1服務機器人是一款面向服務型應用的機器人平臺,其從上到下分別是Kinect立體相機、可以升降的脊柱、二自由度的機械臂和一個機械爪、UST-20LX激光雷達、3個萬向輪組成的移動底盤。

      3.1.2? 機器人軟件平臺

      機器人實驗平臺的框架如圖1(a)所示。機器人內(nèi)部有一個Windows8操作系統(tǒng)的電腦作為機器人軟件的運行環(huán)境,名為WPRobotServer.exe的機器人服務程序是用來控制機器人的1個開源程序,可以調(diào)用機器人底層驅(qū)動API??刂齐娐纺軌蚪邮詹⒔馕鲋骺仉娔X發(fā)來的指令,并控制硬件進行各種動作。

      3.2? 對服務型機器人遠程界面化操控功能的分析

      本文對實現(xiàn)服務型機器人遠程界面化操控分為瀏覽器和機載電腦兩大部分。其中,機載電腦軟件部分由網(wǎng)關(guān)程序和機器人服務程序兩大部分組成,用于解析命令傳達控制指令,如圖1(b)所示。具體流程如下:

      (1)在瀏覽器的網(wǎng)頁前端界面中點擊操作按鈕,會通過WebSocket協(xié)議向機載電腦的網(wǎng)關(guān)程序發(fā)送控制命令。

      (2)網(wǎng)關(guān)程序接收到控制命令后,會通過WebSocket協(xié)議向網(wǎng)頁前端發(fā)送回令。

      (3)網(wǎng)關(guān)程序會解析控制命令,然后將解析后的控制指令通過用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)發(fā)送給機器人服務程序,同時機器人服務程序?qū)崟r向網(wǎng)關(guān)程序發(fā)送機器人狀態(tài)信息。

      (4)機器人服務程序?qū)崿F(xiàn)對服務型機器人遠程界面化的操控。

      (a)機器人的軟硬件框架

      (b)服務型機器人遠程界面化操控流程

      3.3? 服務型機器人中Web瀏覽器的界面設(shè)計

      本系統(tǒng)對服務型機器人遠程操控界面的設(shè)置,采用HTML+CSS+JS搭建一個網(wǎng)頁,其網(wǎng)頁操控界面如圖2所示。服務型機器人操作按鈕放在相關(guān)的位置,點擊操控按鈕來控制機器人,當點擊Web服務端命令按鈕時,會將網(wǎng)頁前端程序以用戶控制信息形式發(fā)送給網(wǎng)關(guān)程序,再由網(wǎng)關(guān)程序?qū)⒋_認接收到以用戶控制信息的狀態(tài)發(fā)送給Web前端,最后由網(wǎng)頁前端在文本框中顯示。

      3.4? 網(wǎng)關(guān)程序?qū)τ脩艨刂菩畔⒌奶幚?/p>

      3.4.1? 對用戶控制信息進行解析

      網(wǎng)關(guān)程序接收到網(wǎng)頁前端發(fā)送的命令,按照圖3機器人控制命令格式匹配表,將用戶控制命令按空格拆分,拆分出的第一個單詞為命令,其余的單詞即為參數(shù),按參數(shù)個數(shù)分為無參數(shù)命令、單參數(shù)命令、雙參數(shù)和多參數(shù)命令。無參數(shù)命令與無參數(shù)命令表匹配,單參數(shù)命令與單參數(shù)命令表匹配,雙參數(shù)命令和多參數(shù)命令同理。如果匹配成功,則解析成功,相反則解析失敗。

      3.4.2? 執(zhí)行解析后的命令

      將命令和參數(shù)如表1—2所示,封裝成指令通過UDP協(xié)議發(fā)送給機器人服務程序。同時,網(wǎng)關(guān)程序會將命令執(zhí)行情況匯報給Web前端。

      3.5? 機器人服務程序識別控制指令

      機器人服務程序接收到網(wǎng)關(guān)程序發(fā)送而來的指令,然后按照表1—2中的指令格式,對數(shù)據(jù)報進行處理:首先,根據(jù)用戶數(shù)據(jù)報信息,對機器人服務程序指令進行解析;其次,根據(jù)解析結(jié)果調(diào)用機器人底層驅(qū)動來控制機器人實現(xiàn)相應動作。

      3.6? 對服務型機器人遠程界面化操控功能的測試測試人員對項目進行功能測試,時序如圖4所示。

      3.6.1? 點擊“前進”按鈕

      (1)測試人員通過電腦PC端打開網(wǎng)頁前端后,再點擊“前進”命令按鈕。

      (2)網(wǎng)頁前端會將控制命令以用戶控制信息({“notice”:“go forward 500”})通過WebSocket協(xié)議發(fā)送給網(wǎng)關(guān)程序。

      (3)當網(wǎng)關(guān)程序接收到用戶控制信息時,會通過WebSocket協(xié)議發(fā)送給網(wǎng)頁前端一個回令({“respond”:“直走 500”})到網(wǎng)頁前端顯示,同時,網(wǎng)關(guān)程序會對控制指令按照機器人服務程序指令格式進行封裝,封裝后的控制指令(0x55aa000703000001f40000fe00)通過UDP協(xié)議發(fā)送給機器人服務程序。

      (4)機器人服務程序通過調(diào)用底層驅(qū)動API來控制機器人向前前進500個單位距離。

      3.6.2? 點擊“停止”按鈕

      (1)測試人員通過電腦PC端打開網(wǎng)頁前端后,再點擊“停止”命令按鈕。

      (2)網(wǎng)頁前端會將控制命令以用戶控制信息({“notice”:“stop”})通過WebSocket協(xié)議發(fā)送給網(wǎng)關(guān)程序。

      (3)當網(wǎng)關(guān)程序接收到用戶控制信息時,會通過WebSocket協(xié)議發(fā)送給網(wǎng)頁前端一個回令 ({“stop”:“停止了”})到網(wǎng)頁前端顯示。同時,網(wǎng)關(guān)程序會對控制命令按照機器人服務程序指令格式進行封裝,封裝后的控制指令(0x55aa0007030000000000000900)通過UDP協(xié)議發(fā)送給機器人服務程序。

      (4)機器人服務程序調(diào)用底層驅(qū)動API來控制機器人,機器人正在進行的所有動作將停止運動。

      至此,以go forward 500和stop控制命令為例的來測試服務型機器人遠程界面化操控成功實現(xiàn)。

      4? ? 結(jié)語

      本系統(tǒng)通過B/S架構(gòu)實現(xiàn)網(wǎng)頁對服務型機器人的遠程界面化控制,用戶通過點擊界面的控制按鈕向網(wǎng)關(guān)程序發(fā)送控制命令。網(wǎng)關(guān)程序接收并處理控制信息,對機器人服務程序發(fā)送控制指令,并且同時向Web瀏覽器端發(fā)送一個回令。機器人服務程序接收控制指令,調(diào)用底層驅(qū)動API來控制機器人,驅(qū)動機器人做出相應動作。利用網(wǎng)頁對服務型機器人運動底盤模塊、機械臂模塊、語音模塊進行相關(guān)操控,從而控制機器人實現(xiàn)移動、語音、站立以及播放音樂等應用功能。

      本系統(tǒng)的創(chuàng)新性在于將基于統(tǒng)一局域網(wǎng)內(nèi)客戶端操控轉(zhuǎn)變?yōu)榛诰W(wǎng)頁端操控,使得原本只能在某一平臺上才能對服務型機器人進行操控轉(zhuǎn)換為可在多個操作系統(tǒng)上對服務型機器人進行操控,既保留了程序客戶端的遠程操控界面可視化,又減少了程序?qū)ζ渌钶d的平臺的依賴性,節(jié)約了跨平臺開發(fā)的成本。

      [參考文獻]

      [1]于海旭.服務機器人的發(fā)展動態(tài)與趨勢分析[J].機械設(shè)計與制造工程,2016(5):68-70.

      [2]李澤琛,石付才.基于STC89C52單片機的智能送餐機器人設(shè)計與實現(xiàn)[J].電子技術(shù)與工程,2016(18):264.

      [3]天津商業(yè)大學.循跡送餐機器人,中國:201510296464.6[P].2015.

      [4]金開軍,尚厚玉.人工智能技術(shù)在助老服務機器人中的應用研究[J].山東工業(yè)技術(shù),2019(19):140.

      榆树市| 南丰县| 延长县| 青龙| 鹰潭市| 屯门区| 横峰县| 方正县| 古交市| 蒲江县| 进贤县| 丽水市| 门源| 蓝田县| 湘乡市| 四会市| 霞浦县| 牙克石市| 满洲里市| 庆城县| 长海县| 库尔勒市| 景东| 定西市| 科尔| 双牌县| 绥芬河市| 克拉玛依市| 余干县| 合山市| 塘沽区| 保亭| 万荣县| 罗江县| 海城市| 桐柏县| 康乐县| 天水市| 东至县| 甘孜县| 石家庄市|