摘 要: 針對(duì)仿人機(jī)器人的人機(jī)交互問(wèn)題,,提出在無(wú)線網(wǎng)絡(luò)下,,使用智能手機(jī)對(duì)配備有攝像頭的仿人機(jī)器人進(jìn)行視頻監(jiān)控?;贚inux系統(tǒng),,使用V4L2接口對(duì)攝像頭視頻信息進(jìn)行采集,并使用JPEG算法對(duì)其進(jìn)行壓縮,,使用智能手機(jī)的Web瀏覽器顯示視頻信息,,并通過(guò)瀏覽器頁(yè)面的按鈕向機(jī)器人發(fā)送控制命令。實(shí)驗(yàn)結(jié)果表明,,在無(wú)線局域網(wǎng)內(nèi),,仿人機(jī)器人攝像頭拍攝到的視頻信息可以清晰,、穩(wěn)定、及時(shí)地傳輸?shù)讲煌到y(tǒng)和品牌的智能手機(jī)Web瀏覽器上,,用戶可根據(jù)需要向仿人機(jī)器人發(fā)送控制命令,,操作方便簡(jiǎn)單,便于使用,。
關(guān)鍵詞: 仿人機(jī)器人,;Wi-Fi技術(shù);智能手機(jī),;Web瀏覽器,;視頻監(jiān)控
第一臺(tái)仿人機(jī)器人WABOT-1誕生以來(lái),經(jīng)過(guò)了40年的發(fā)展,,仿人機(jī)器人已成為一個(gè)融合多門(mén)學(xué)科的高難度研究方向,,也是各類新型控制理論和工程技術(shù)的研究平臺(tái)[1-2]。
從最初的工業(yè)機(jī)器人完全按照人類的指令進(jìn)行工作,,到現(xiàn)代具有較高智能的仿人機(jī)器人自主地融入人們的工作和生活,,為實(shí)現(xiàn)成為人類的伙伴、與人類共存的目標(biāo),,仿人機(jī)器人的交互功能和技術(shù)始終是機(jī)器人發(fā)展中的重點(diǎn)[3-4],。
在人機(jī)交互設(shè)備這一領(lǐng)域已有許多研究手持設(shè)備控制機(jī)器人的文獻(xiàn),多數(shù)為專業(yè)的手持控制設(shè)備來(lái)操控小車機(jī)器人的移動(dòng),,手持設(shè)備較專業(yè),,且不普遍,控制對(duì)象也較簡(jiǎn)單,,智能化程度較低,。而智能化程度較高的系統(tǒng)需要高精度的傳感器設(shè)備以及多臺(tái)計(jì)算機(jī)作為服務(wù)器協(xié)調(diào)控制[5-7]。
綜合上述研究現(xiàn)況,,結(jié)合目前大家普遍使用的智能手機(jī),,為加快仿人機(jī)器人走入人們的生活,本文提出使用智能手機(jī)作為手持設(shè)備與仿人機(jī)器人進(jìn)行通信,。結(jié)合參考文獻(xiàn)[8-10],,決定采用Web瀏覽器進(jìn)行視頻監(jiān)控,可以最大限度地降低操作難度,,實(shí)現(xiàn)真正意義上的跨平臺(tái)通信,,可廣泛地應(yīng)用在各種場(chǎng)合中 ,。
由參考文獻(xiàn)[11-13]可知,,傳統(tǒng)的機(jī)器人研究通常使用CAN總線、網(wǎng)絡(luò)線等易兼容的連接線實(shí)現(xiàn)計(jì)算機(jī)與機(jī)器人的有線連接通信,,但使用有線連接是仿人機(jī)器人走入人們?nèi)粘I畹囊淮笞璧K,。無(wú)線AP(Access Point)數(shù)量的迅猛增長(zhǎng),、低廉的價(jià)格以及無(wú)線網(wǎng)絡(luò)的方便與高效使Wi-Fi(Wireless Fidelity)技術(shù)得到了迅速的普及。在一定范圍內(nèi),,可以使用無(wú)線連接將仿人機(jī)器人與智能手機(jī)組建在同一個(gè)無(wú)線局域網(wǎng)中,。該方法有利于降低成本,減小操作難度,。
1 系統(tǒng)結(jié)構(gòu)
仿人機(jī)器人是體系結(jié)構(gòu)中非常重要的一部分,,本文采用DARwin-OP、1.6 GHz Intel Atom系列主板,、Linux內(nèi)核的Ubuntu9.10操作系統(tǒng),、自帶高清網(wǎng)絡(luò)自動(dòng)聚焦的USB攝像頭(最大幀數(shù)為30幀)。Wi-Fi模塊支持802.11b/g/n,,速率高達(dá)150 Mb/s,,工作頻率為2.4 GHz智能手機(jī)。需具有無(wú)線Wi-Fi連接功能且含Web瀏覽器,。
通過(guò)無(wú)線路由器,,將仿人機(jī)器人與智能手機(jī)組建在一個(gè)局域網(wǎng)內(nèi)。系統(tǒng)構(gòu)成的主要部件如圖1所示,。
仿人機(jī)器人與智能手機(jī)接入同一局域網(wǎng),,攝像頭將采集到的視頻信息通過(guò)無(wú)線局域網(wǎng)傳送到手機(jī),手機(jī)也能將控制命令傳輸?shù)綑C(jī)器人,。
圖2是仿人Darwin機(jī)器人和智能手機(jī)間視頻傳輸系統(tǒng)的整體設(shè)計(jì)框圖,。
攝像頭對(duì)視頻進(jìn)行采集,采集后的圖片經(jīng)壓縮后通過(guò)Wi-Fi無(wú)線傳輸模塊傳送到智能手機(jī)端,,由手機(jī)的Web瀏覽器顯示視頻,。這樣用戶就可以在手機(jī)的瀏覽器上通過(guò)訪問(wèn)機(jī)器人的IP打開(kāi)視頻圖像進(jìn)行監(jiān)控,也可通過(guò)瀏覽器頁(yè)面按鈕操作將控制命令傳輸?shù)綑C(jī)器人端,,對(duì)機(jī)器人進(jìn)行控制,。
Darwin機(jī)器人的攝像頭對(duì)視頻進(jìn)行采集,采集后的圖片經(jīng)壓縮后通過(guò)Wi-Fi無(wú)線網(wǎng)絡(luò)傳輸模塊經(jīng)由無(wú)線路由傳送到智能手機(jī)視頻接收模塊,,由手機(jī)的Web瀏覽器顯示視頻,,用戶就可以在手機(jī)的瀏覽器上通過(guò)訪問(wèn)機(jī)器人的IP打開(kāi)視頻圖像進(jìn)行監(jiān)控。
2 系統(tǒng)實(shí)現(xiàn)
2.1 視頻采集
攝像頭視頻采集程序的設(shè)計(jì)與實(shí)現(xiàn)是視頻監(jiān)控應(yīng)用程序中比較關(guān)鍵的部分,,在Linux下采用V4L2(Video For Linux two)對(duì)視頻進(jìn)行采集,。V4L2是 Linux系統(tǒng)下視頻設(shè)備驅(qū)動(dòng)程序接口規(guī)范[10],為上層應(yīng)用程序提供了一系列的接口函數(shù),,可實(shí)現(xiàn)對(duì)視頻設(shè)備的操作,,進(jìn)而完成視頻圖像的采集。
V4L2對(duì)設(shè)備文件的操作方法簡(jiǎn)單直觀,,表1中的函數(shù)可以在應(yīng)用程序中直接調(diào)用,,功能如下:V4L2接口提供兩種方式進(jìn)行視頻數(shù)據(jù)采集,,一種是 read直接讀取方式,這種方式使用較為方便,,但占用大量的用戶內(nèi)存空間,;另一種是mmap內(nèi)存映射方式,將申請(qǐng)到的內(nèi)核緩沖區(qū)地址通過(guò)mmap函數(shù)映射到用戶空間,,可以直接對(duì)內(nèi)核緩沖區(qū)的數(shù)據(jù)進(jìn)行處理,,這種方式簡(jiǎn)潔有效,故本文采用第二種內(nèi)存映射方式,。
2.2 視頻處理
與傳統(tǒng)的單幀圖片傳輸相比,,視頻實(shí)時(shí)傳輸?shù)年P(guān)鍵問(wèn)題是視頻圖像信息的數(shù)據(jù)量非常大,需要對(duì)采集的原始圖像進(jìn)行壓縮,。目前圖像壓縮方法比較成熟的是JPEG或MPEG技術(shù),。
原理上這兩種編碼方式基本相同,JPEG針對(duì)單獨(dú)的圖像圖片進(jìn)行處理,,而MPEG則利用了圖像序列間的相似性技巧,,使MPEG的整體壓縮倍率要優(yōu)于JPEG。但考慮到傳輸信道鏈路特點(diǎn),,JPEG一次誤碼最多損失圖像序列中的一幅,,而MPEG將導(dǎo)致后續(xù)的多幅幀間編碼序列無(wú)法復(fù)現(xiàn),所以,,根據(jù)系統(tǒng)的可靠性需求,,JPEG成為優(yōu)選方案。
圖3是Darwin-OP的編程-框架數(shù)據(jù)流示意圖,,分別是視覺(jué)部分與動(dòng)作部分,。
視覺(jué)處理模塊LinuxCamera類包含V4L2接口程序,完成對(duì)攝像頭進(jìn)行設(shè)置以及圖片的存儲(chǔ)和處理,。其中,,LinuxCamera類、MinIni類讀取設(shè)置值,;Mjpg_steamer類確認(rèn)圖像,,主要是將由攝像頭端采集而來(lái)的YUYV格式的圖片,經(jīng)mjpg_streamer使用JPEG壓縮算法將圖片處理后轉(zhuǎn)換為jpeg圖片,。部分代碼如下:
minIni *ini = new minIni(INI_FILE_PATH),;
LinuxCamera::GetInstance()->Initialize(0);
LinuxCamera::GetInstance()->LoadINISettings(ini),;
mjpg_steamer *streamer = new mjpg_streamer(Camera::WIDTH,,
Camera::HEIGHT);
2.3 視頻傳輸與顯示
mjpg_streamer可以把經(jīng)過(guò)視頻壓縮后得到的jpeg圖片以流的形式通過(guò)基于IP的網(wǎng)絡(luò)傳輸?shù)綖g覽器,。視頻服務(wù)器首先基于TCP協(xié)議建立Socket連接,,監(jiān)聽(tīng)、接收客戶端請(qǐng)求,,再進(jìn)行分析請(qǐng)求,、響應(yīng)請(qǐng)求等操作。
視頻服務(wù)器建立TCP Socket套接字,、bind綁定端口后,,listen開(kāi)始監(jiān)聽(tīng),收到客戶端的連接請(qǐng)求后,,保存相應(yīng)信息并進(jìn)行分析,,給出相應(yīng)處理或發(fā)送數(shù)據(jù)。
瀏覽器通過(guò)監(jiān)控設(shè)備的IP地址打開(kāi)視頻監(jiān)控網(wǎng)頁(yè),,實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控,。
LinuxCamera類允許在Web瀏覽器端捕捉到mjpg_streamer流的幀,代碼如下:
while(1)
{
LinuxCamera::GetInstance()->CaptureFrame();
streamer->send_image(LinuxCamera::GetInstance()->
fbuffer->m_YUVFrame);
}
2.4 控制命令的實(shí)現(xiàn)
視頻傳輸?shù)街悄苁謾C(jī)瀏覽器后,,用戶可以根據(jù)視頻情況對(duì)機(jī)器人進(jìn)行操作,。首先使用動(dòng)作編輯軟件action_editor對(duì)機(jī)器人進(jìn)行動(dòng)作編寫(xiě),將編寫(xiě)好的動(dòng)作存放在任務(wù)表中,,瀏覽器頁(yè)面上用按鈕顯示相應(yīng)功能鍵,。
控制命令主要通過(guò)調(diào)用system函數(shù)實(shí)現(xiàn),函數(shù)的具體形式為system(const char *cmdstr),,其中cmdstr為字符串類型的輸入?yún)?shù),。system()先調(diào)用fork()函數(shù)產(chǎn)生一個(gè)子進(jìn)程,然后通過(guò)這個(gè)子進(jìn)程調(diào)用“/bin/sh-cmdstr”來(lái)執(zhí)行參數(shù)cmdstr字符串所代表的命令,。動(dòng)作編輯完成后可以通過(guò)函數(shù)對(duì)動(dòng)作頁(yè)進(jìn)行調(diào)用,,具體實(shí)現(xiàn)過(guò)程為:加載動(dòng)作;構(gòu)建LinuxCM730和CM730類以及對(duì)Motion類進(jìn)行初始化和注冊(cè)Action類,;對(duì)LinuxManagerTimer進(jìn)行初始化和讓MotionManager使能,;執(zhí)行動(dòng)作頁(yè)。
表2所示為任務(wù)表中編寫(xiě)的基本動(dòng)作,。用戶即可通過(guò)頁(yè)面按鈕操作機(jī)器人的動(dòng)作,。
3 實(shí)驗(yàn)結(jié)果與結(jié)論
實(shí)驗(yàn)使用Android的LenovoA298t手機(jī)、UC瀏覽器,、火狐瀏覽器,、小米1s UC瀏覽器和iphone 4s safari瀏覽器。
圖4給出的是通過(guò)機(jī)器人頭部攝像頭拍攝到的畫(huà)面通過(guò)無(wú)線Wi-Fi網(wǎng)絡(luò)傳輸?shù)绞謾C(jī)端的畫(huà)面實(shí)況,。
由實(shí)驗(yàn)結(jié)果可知,,視頻信息從攝像頭正常地傳輸?shù)教O(píng)果、小米和聯(lián)想不同品牌的智能手機(jī),,能在Android和IOS不同系統(tǒng)智能手機(jī)通過(guò)以上幾款不同的Web瀏覽器打開(kāi),,視頻信息穩(wěn)定,;根據(jù)具體的實(shí)驗(yàn)需求,可以通過(guò)手機(jī)控制機(jī)器人向前,、向后,、向左和向右4個(gè)方向的移動(dòng),便于機(jī)器人在不同的位置對(duì)實(shí)驗(yàn)室鍋爐設(shè)備進(jìn)行察看,;頭部上下左右移動(dòng),,可改變觀察時(shí)的角度,使機(jī)器人更全面,、更清晰地察看實(shí)驗(yàn)狀況,,最大限度地提供盡量多的信息供用戶使用。
經(jīng)過(guò)多次實(shí)驗(yàn),,由圖5可知,,通過(guò)手機(jī)向機(jī)器人發(fā)送頭部向上移動(dòng)的命令到手機(jī)端接收到的視頻圖像發(fā)生變化的平均響應(yīng)時(shí)間為2.1 s,比在計(jì)算機(jī)上接收視頻的平均響應(yīng)時(shí)間1.5 s稍有延遲,。但由于手機(jī)的便攜性更強(qiáng),,在日常生活的使用中,該延時(shí)還是可以接受的,,與計(jì)算機(jī)相比有不可替代的優(yōu)勢(shì),。
本文主要研究的是仿人機(jī)器人與智能手機(jī)之間運(yùn)用Wi-Fi進(jìn)行無(wú)線視頻傳輸,視頻傳輸成功后就像給了用戶一個(gè)遠(yuǎn)程的眼睛,,用戶只要拿著手機(jī)就能看到機(jī)器人能看到的范圍,,該組合使其整個(gè)系統(tǒng)既新穎又易讓人接受,加速了仿人機(jī)器人走入人們的日常工作和生活中,。
參考文獻(xiàn)
[1] 李明.機(jī)器人[M].上海:上??茖W(xué)技術(shù)出版社,2013.
[2] NI L G,,KARI D P,,MUGANZA A.Wireless integration of tactile senging on the hand of a humanoid robot NAO[R].IEEE International Symposium on Robot and Human Inter-active Communication,Paris,,F(xiàn)rance,,2012.
[3] 肖南峰.仿人機(jī)器人[M].北京:科學(xué)出版社,2008.
[4] Wang Qian,,Pan Wei,,Li Mo.Robot’s remote real-time nav-igation controlled by smart phone[C].IEEE International Conference on Robotics and Biomimetics,Guangzhou,,China,,2012:2351-2356.
[5] KOBAYASHI S,TAMAGAWA S,MORITA T.Intelligenthumanoid robot with Japanese Wikipedia ontology and robotaction ontology introduction[C].IEEE International Conference,,Lausanne,,Switzerland,2011.
[6] FINKE A,,HACHMEISTER N,,RIECHMANN H.Riechmannthought-controlled robots-systems,studies and future challenges[C].IEEE International Conference on Robotics and Automationn,,Karlsrube,Germany,,2013.
[7] 李宗瑋,,孫雷.基于智能手機(jī)的網(wǎng)絡(luò)機(jī)器人人機(jī)交互系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2011,,47(15):64-68.
[8] TIBEMACINE C,,KERDOUDI M L.Migrating component-based Web applications to Web services:towards consider-ing a “Web interface as a service”[C].2012 IEEE 19th International Coference on Web Services,Honolulu,,2012:146-153.
[9] YEOH K J M,,WONG H L.Web-based remote navigationalrobot for multiclass human-robot interaction[C].IEEE Con-ference on Sustainable Utization and Development in Engi-neering and Technology,Malaysia,,2012.
[10] 劉艷嬌.基于嵌入式Linux的無(wú)線視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),,2012.
[11] 黃時(shí),劉健,,王國(guó)權(quán).AUV內(nèi)部通訊總線設(shè)計(jì)[J].機(jī)器人,,2004,26(4):342-345.
[12] 周煜嘯,,羅仕鑒,,朱上上.手持移動(dòng)設(shè)備中以用戶為中心的服務(wù)設(shè)計(jì)[J].計(jì)算機(jī)集成制造系統(tǒng),2012,,2(18):243-253.
[13] Zhou Jianjun,,Cao Mingang,Li Su.Remote monitoringand automatic navigation system for agricultural vehicles based on WLAN[C].2008 International Conference on Wireless Communications,,Networking and Mobile Computing.Dalian,,China,2008:1-4.