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

        ?

        基于Android的家居機器人的設(shè)計與實現(xiàn)

        2018-01-22 01:48:30程昭勛黎煒桁馮譯萱陳紫楊張月霞
        電腦與電信 2017年11期
        關(guān)鍵詞:視頻流端口界面

        程昭勛 黎煒桁 吳 萌 馮譯萱 陳紫楊 張月霞

        (北京信息科技大學(xué)信息與通信工程學(xué)院,北京 100101)

        1 引言

        隨著移動通信技術(shù)的迅猛發(fā)展,智能手機也在人們的生活中逐漸普及。與此同時,人們對機器人等高科技產(chǎn)品的控制器要求也越來越高。傳統(tǒng)的機器人控制器,比如遙控器,其大小以及兼容性問題的存在導(dǎo)致其無法滿足人們對機器人控制的需求。目前,Android智能手機已經(jīng)成為人們最常用的通訊工具,如果能利用Android手機解決對機器人的遠程控制問題,將大大提高機器人控制的便利性并拓展其應(yīng)用范圍[1-4]。

        目前,人們主要通過與機器人配套的遙控器來控制機器人,一些國外文獻所設(shè)計的機器人控制軟件中增加了視頻采集與傳輸[5]、機械臂控制[5]與模式切換[6]等功能。以上研究提出的實用性很高,都有現(xiàn)實意義。在國內(nèi),移動終端上也有一些控制機器人的APP軟件,如Robot Control、RoboSpace、黑盒機器人等。這類機器人種類繁多且功能強大。但國外軟件的一些功能與接口被刪減,數(shù)據(jù)更新不及時,并且這類APP代碼較為冗長,無法進行二次開發(fā),不便于軟件的改進。而國內(nèi)的軟件用戶操作形式比較單一,在對機器人的操控多為手動模式,APP中沒有提供給用戶更多的選擇。基于以上情況,本文做出了一些改進。

        本文提出了基于物聯(lián)網(wǎng)的家居搬運機器人的全新理念并設(shè)計了基于Android的手機APP。該APP包括視頻傳輸、運動控制、模式切換、機械臂控制和參數(shù)設(shè)置等功能。經(jīng)過軟件測試,軟件可以實現(xiàn)對機器人進行控制,并且擁有易于使用、能夠?qū)τ谔囟ㄐ枨筮M行二次開發(fā)等優(yōu)勢,具有較大的應(yīng)用潛力。

        2 系統(tǒng)總體設(shè)計

        該Android APP由包括視頻傳輸模塊,運動控制模塊,模式切換模塊,機械臂控制模塊,參數(shù)設(shè)置模塊組成。如圖1所示。

        圖1 功能框圖

        進入開始界面后,先對各項參數(shù)進行初始化,如視頻控制IP,視頻控制端口,并可以對機器人以及云臺的初始位置進行設(shè)定。

        而后進入視頻采集及動作控制界面,此界面中包含模式切換選項,提供巡線尋跡,超聲波、紅外避障,跟隨主人功能。用戶做出指令,若需采集視頻則進入視頻采集模塊,并對采集好的視頻進行解析,顯示在視頻播放器中,同時用戶可以對機器人進行動作控制。若用戶不需采集視頻則可以直接對機器人進行動作控制。系統(tǒng)流程圖,如圖2所示。

        使用java語言在eclipse編譯平臺上對Android APP進行開發(fā)、測試。

        圖2 軟件流程圖

        3 軟件設(shè)計

        3.1 視頻功能

        在APP對家居搬運機器人傳輸視頻的控制模塊中,代碼分別存放在以下三個不同文件中,即MyMainFrm.java、MyVideo.java和MySurface View.java。下面針對三個不同文件進行詳細說明。

        MyMainFrm.java是主頁面,用戶在其中設(shè)置視頻控制地址以及控制端口。

        MyVideo.java文件是用來顯示視頻的,是一個可見的界面文件。

        MySurfaceView.java文件中的代碼可以用來解析從wifi模塊傳回的視頻,是一個播放器窗口。MySurfaceView.java文件嵌入到MyVideo.java文件之中,共同完成APP中對機器人傳回視頻的播放與控制功能,并在主頁面MyMainFrm.java中顯示。

        具體地,在MyMainFrm.java中用變量videoUrl,control-Url和port獲取wifi機器人的控制界面中用戶在文本框中輸入的視頻地址,控制地址以及端口。并利用insert將剛剛獲取的數(shù)據(jù)作為新定義的intent的參數(shù)。wifi智能機器人中運行著一個視頻推流服務(wù)器mjpg-streamer,當(dāng)點擊開始按鈕,在MyVideo.java中啟動了線程,執(zhí)行HTTPURL.connection請求指令,wifi模塊就會開始采集usb攝像頭采集到的視頻,并通過HTTP端口號為8080反饋回Android控制端。

        視頻的解碼部分,用read記錄傳回視頻流的長度并按位解碼。首先找到視頻流,返回的視頻流的開頭為Content-Length,用它作為判定條件按位解析找到視頻流。視頻格式為mjpeg,此格式一幀以0xFF 0xD8開頭,以0xFF 0xD9結(jié)尾,程序找到視頻的包頭和包尾并將之間的數(shù)據(jù)轉(zhuǎn)換成JPEG格式,也就是一幀的圖像。通過線程的循環(huán)不斷地獲取就能成為視頻流。

        接著decodestream函數(shù)進行解碼產(chǎn)生bitmap bmp一幀的數(shù)據(jù)。最后進行顯示,用函數(shù)調(diào)整長寬高,將一幀的數(shù)據(jù)放進canvas畫布上并用unlockCanvasAndPost解鎖畫布并顯示出來[7]。

        最終,不停地通過while循環(huán)獲取視頻流,一幀一幀的視頻流疊加在一起,對于人眼來說就是一個完整的視頻。

        3.2 運動控制功能

        機器人的運動控制功能部分主要在MyVideo.java文件中。在這之前,先從MyMainFrm.java中獲取到機器人的控制端口與IP地址,通過button_go的按鈕跳轉(zhuǎn)到MyVideo.java文件,通過文件中的代碼對機器人進行前、后、左、右、停的運動控制。初始化中,在初始化定義的全局變量socket中設(shè)置機器人的IP和wifi這兩個端口,將此變量作為命令傳輸?shù)妮d體。接著利用MyVideo.java文件中定義的socketwriter輸出流函數(shù)發(fā)出指令。最后,利用OnClickListener函數(shù)進行單擊監(jiān)聽,即在APP中按下按鈕后轉(zhuǎn)到相應(yīng)代碼進行響應(yīng)。

        下面以前進為例:當(dāng)用戶按下前進按鈕,socketWriter向機器人發(fā)出標準通信協(xié)議,用控制命令(byte)0xff,(byte)0x00,(by te)0x01,(byte)0x00,(byte)0xff}使機器人前進,執(zhí)行完畢后用 socketWriter.flush()函數(shù)清除緩存[9,10]。

        考慮到通信可能存在異常情況無法正常使用,使用try和catch語句捕獲并處理異常[8]。

        3.3 模式切換功能

        機器人內(nèi)置了“巡線遁跡”、“超聲波避障”、“紅外避障”、“跟隨主人”、“手動模式”等功能的切換菜單,其中“巡線遁跡”、“超聲波避障”、“紅外避障”、“跟隨主人”模式為自動模式,用戶在APP端發(fā)送指令后機器人端利用AR9331WIFI模塊接收指令,并調(diào)用各個傳感器與舵機聯(lián)動執(zhí)行。手動模式則可以切換至用戶自行控制。

        針對可能遇見的較為復(fù)雜的環(huán)境,在設(shè)計此功能時,將其設(shè)計為手動模式優(yōu)先級最高,因此在自動模式下,用戶無需等待機器人的所有動作全部完成,即可切換至手動模式。提高了機器人控制時的穩(wěn)定性,也可避免用戶在對機器人添加更多傳感器,對各個自動功能進行二次開發(fā)時測試造成的麻煩。

        3.4 機械臂控制功能

        機械臂控制功能與運動控制功能類似,wifi機器人中運行著ComToNet程序,它的目的在于把網(wǎng)口傳過來的數(shù)據(jù)發(fā)送給串口。由于程序默認開放的端口為2001,故控制端默認端口也為2001。

        與運動控制相同,利用socket作為載體,用socketwrite來發(fā)送數(shù)據(jù)。而與運動控制不同的就是傳輸協(xié)議,如表1所示。

        表1 傳輸協(xié)議代碼

        3.5 參數(shù)設(shè)置功能

        對于視頻傳輸?shù)年P(guān)鍵參數(shù)、視頻地址、控制地址以及端口的設(shè)置部分,利用EditText窗口,由用戶自行輸入,而其他常量在constant.java中設(shè)置。

        對于數(shù)據(jù)的輸入利用圖形化控件進行控制,如按鈕和滾動條等。而為了使其與軟件進行關(guān)聯(lián),利用監(jiān)聽函數(shù),使程序在用戶改變了控件參數(shù)后機器人能夠響應(yīng)[11]。

        4 軟件測試

        根據(jù)wifi智能機器人小車系統(tǒng)總體設(shè)計方案,利用Android平臺具體實現(xiàn)了各個模塊的功能。

        4.1 主界面測試

        進入APP后可以成功進入主界面,各控件能夠正常顯示,如圖3所示,并有軟件更新提示。

        圖3 APP主頁面

        4.2 視頻采集顯示以及動作控制測試

        進入主頁面后點擊開始按鈕,順利進入視頻采集顯示以及動作控制界面,并能夠使用搖桿對機器人的運動進行控制,360度有效,并能夠同時使用圖形化控件對機器人機械臂進行控制,如圖4所示。

        圖4 視頻采集及運動控制界面

        4.3 模式切換界面測試

        在視頻采集界面中進行模式切換,即可對機器人的控制模式進行切換,巡線尋跡功能,超聲波、紅外避障功能,跟隨主人功能以及手動控制功能均可實現(xiàn),且精度較高,如圖5所示。

        圖5 模式切換界面

        4.4 參數(shù)設(shè)置測試

        進入主界面后,點擊設(shè)置按鈕可對機器人的初始參數(shù)進行設(shè)置,如關(guān)鍵參數(shù)視頻控制IP,視頻控制端口,并可以對機器人初始位置以及云臺坐標進行設(shè)定,如圖6所示。

        圖6 初值設(shè)置界面

        5 總結(jié)

        本文實現(xiàn)了基于Android開發(fā)的應(yīng)用程序,整個系統(tǒng)專門用于對物聯(lián)網(wǎng)的家居搬運機器人進行控制。該家居搬運機器人通過單片機連接各個模塊,結(jié)合物聯(lián)網(wǎng)及手機APP對其進行控制。最終達到了預(yù)期設(shè)定的目標。經(jīng)過軟件測試,該APP可以對機器人進行控制,且易于使用,能夠?qū)τ谔囟ㄐ枨筮M行二次開發(fā),具有較大的應(yīng)用潛力。

        [1]Fiawoo S Y,Sowah R A.Design and development of an Android application to process and display summarised corporate data[C]// IEEE,International Conference on Adaptive Science & Technology. IEEE,2012:86-91.

        [2] Slavin R,Wang X,Hosseini M B,et al.Toward a framework for detecting privacy policy violations in android application code[J]. British Journal of Educational Technology,2016(03):25-36.

        [3] Aligombe A,Ahmed I,Richard Iii G G,et al.AspectDroid:Android App Analysis System[J].Hepatology,2016(04):145-147.

        [4] Moran K,Linaresvasquez M,Bernalcardenas C,et al.Automatically Discovering,Reporting and Reproducing Android Application Crashes[C]// IEEE.

        [5] International Conference on Software Testing,Verification and Validation.IEEE,2016:33-44.

        [6] Oster J,Behar J,Colloca R,et al.Open source Java-based ECG analysis software and Android app for Atrial Fibrillation screening[C]//IEEE International Conference on Software Testing,Verification and Validation.IEEE,2014(12):731-734.

        [7] Roy S,Deloach J,Li Y,et al. Experimental Study with Realworld Data for Android App Security Analysis using Machine Learning[C]//Computer Security Applications Conference.2015:81-90.

        [8]鄧知輝.基于A n d r o i d控制平臺的家居機器人設(shè)計與實現(xiàn)[J].信息通信,2015(10):64-65.

        [9]劉鳳臣,姚赟峰,劉黎明,等.高速搬運機器人產(chǎn)業(yè)應(yīng)用及發(fā)展[J].輕工機械,2012(02):108-112.

        [10]湯莉莉,王金勇,黃偉.物聯(lián)網(wǎng)智能機器人設(shè)計[J].現(xiàn)代電子技術(shù),2017(08):73-76.

        猜你喜歡
        視頻流端口界面
        邊緣實時視頻流分析系統(tǒng)配置動態(tài)調(diào)整算法研究
        一種端口故障的解決方案
        基于視頻流傳輸中的擁塞控制研究
        國企黨委前置研究的“四個界面”
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        端口阻塞與優(yōu)先級
        人機交互界面發(fā)展趨勢研究
        美國視頻流市場首現(xiàn)飽和征兆
        手機界面中圖形符號的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        初識電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        女人被男人躁得好爽免费视频| 国产丝袜美腿在线视频| 音影先锋中文字幕在线| 精品人妻中文无码av在线| 国产精品一区二区暴白浆| 成美女黄网站18禁免费| 护士人妻hd中文字幕| 久久人人爽爽爽人久久久 | 国产不卡一区二区三区视频| 久久伊人精品色婷婷国产| 国产亚洲成av人片在线观黄桃| 国精产品一品二品国在线| 久久se精品一区二区国产| 精品人妻av一区二区三区四区 | 97久久久一区二区少妇| 亚洲精品无码精品mv在线观看| 熟妇高潮一区二区三区| 999精品免费视频观看| 最好的99精品色视频大全在线| 国产欧美日韩中文久久| 免费人成视频在线观看网站| 国内视频一区| 日本一区二区三级在线| 国产黄大片在线观看| 久久香蕉国产精品一区二区三| 亚洲av午夜福利精品一区二区| 青青草小视频在线播放| 亚洲狠狠婷婷综合久久久久图片| av色综合网站| 国产精品美女一区二区av| 久久99国产精品久久99| av人摸人人人澡人人超碰小说| 一本久久精品久久综合桃色| 久久精品国产av麻豆五月丁| 天天夜碰日日摸日日澡| 狠狠色狠狠色综合网老熟女| 亚洲熟少妇一区二区三区| 不卡一卡二卡三乱码免费网站| 中文字幕第七页| 国产色婷亚洲99精品av网站| 久久久亚洲av波多野结衣|