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

        ?

        低帶寬條件下機(jī)器人探索地圖的傳輸方法*

        2018-03-29 08:20:03張紅陽(yáng)肖宇峰
        關(guān)鍵詞:移動(dòng)機(jī)器人柵格線程

        張紅陽(yáng),肖宇峰,劉 冉

        (1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010; 2.西南科技大學(xué) 特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽(yáng) 621010)

        0 引言

        網(wǎng)絡(luò)技術(shù)的飛速發(fā)展給人們生活和工作帶來(lái)了極大的便利性[1]。近十年來(lái),遠(yuǎn)程機(jī)器人同時(shí)定位與地圖創(chuàng)建(Simultaneous Localization and Mapping,SLAM)技術(shù)得到很快的發(fā)展。傳統(tǒng)的方法利用本地計(jì)算機(jī)遠(yuǎn)程登錄到遠(yuǎn)端主機(jī),然后將遠(yuǎn)端主機(jī)的桌面窗口通過(guò)網(wǎng)絡(luò)傳遞到本地進(jìn)程,從而將創(chuàng)建的地圖在本地主機(jī)呈現(xiàn)。這種方式雖然可以使用戶直觀地看到建圖的整個(gè)過(guò)程,但其對(duì)網(wǎng)絡(luò)帶寬要求高,雖然現(xiàn)有技術(shù)在帶寬為56 Kb/s時(shí)可進(jìn)行遠(yuǎn)程登錄連接,但這種情況下遠(yuǎn)程桌面的顯示效果、響應(yīng)速度將會(huì)受到很大影響,想要更加流暢的體驗(yàn)度則需要占用較多的帶寬資源[1]。文獻(xiàn)[2]提出通過(guò)語(yǔ)音與機(jī)器人交互進(jìn)行地圖構(gòu)建,然后將機(jī)器人的位置返回到客戶端并記錄下來(lái)。這種方式傳輸數(shù)據(jù)少,滿足低帶寬條件下傳輸數(shù)據(jù)的要求,但其不能直觀地反映機(jī)器人在整個(gè)環(huán)境中的位置。

        針對(duì)無(wú)線低帶寬條件下大面積探索地圖高效傳輸問(wèn)題,本文將創(chuàng)建好的地圖數(shù)據(jù)進(jìn)行壓縮,采用C/S的設(shè)計(jì)模式并且自主設(shè)計(jì)地圖交互協(xié)議,使得遠(yuǎn)端主機(jī)上創(chuàng)建好的地圖數(shù)據(jù)準(zhǔn)確、高效地進(jìn)行傳輸。

        1 探索地圖的傳輸方案

        該系統(tǒng)分為機(jī)器人端和APP端。機(jī)器人端通過(guò)局域網(wǎng)接收APP端下發(fā)的控制指令控制機(jī)器人移動(dòng),在移動(dòng)時(shí)通過(guò)SLAM模塊進(jìn)行柵格地圖的構(gòu)建。無(wú)線局域網(wǎng)帶寬較低,并且探索地圖的生成是一個(gè)動(dòng)態(tài)過(guò)程:隨著探索范圍擴(kuò)大,生成的地圖不斷擴(kuò)大。如果進(jìn)行遠(yuǎn)程傳輸,直接傳輸?shù)膸捯髸?huì)越來(lái)越大。所以通過(guò)地圖壓縮模塊對(duì)地圖數(shù)據(jù)進(jìn)行壓縮,減少傳輸數(shù)據(jù)量。然后通過(guò)地圖發(fā)送模塊將地圖數(shù)據(jù)發(fā)送到APP端。APP端通過(guò)地圖接收模塊接收到地圖數(shù)據(jù)后,通過(guò)地圖顯示模塊將接收到的地圖數(shù)據(jù)進(jìn)行整合并顯示出來(lái)。探索地圖的傳輸方案框圖如圖1所示。

        圖1 移動(dòng)機(jī)器人探索地圖的傳輸方案

        2 探索地圖生成方法

        2.1 SLAM

        在概率意義上網(wǎng)格占據(jù)Fast-SLAM算法估計(jì)關(guān)于機(jī)器人位姿x1:t和地圖m的聯(lián)合后驗(yàn)概率p(x1:t,m|z1:t,u1:t-1)。利用條件獨(dú)立性,該估計(jì)可被分解為:

        p(x1:t,m|z1:t,u1:t-1)=p(m|x1:t,z1:t)p(x1:t|z1:t,u1:t-1)

        (1)

        (2)

        2.2 柵格地圖及其PGM文件格式

        柵格地圖由代表機(jī)器人工作空間的許多網(wǎng)格單元組成,每個(gè)網(wǎng)格單元都具有被占據(jù)的概率值,如圖2所示。

        圖2 柵格地圖創(chuàng)建

        通過(guò)下式更新每個(gè)柵格的狀態(tài):

        (3)

        (4)

        接下來(lái)要將這些數(shù)據(jù)以PGM文件格式(portable graymap file format)進(jìn)行保存。PGM格式圖像由文件頭部分和數(shù)據(jù)部分組成。PGM文件的數(shù)據(jù)部分通過(guò)如下公式進(jìn)行保存:

        (5)

        3 探索地圖遠(yuǎn)程傳輸實(shí)現(xiàn)

        3.1 機(jī)器人端發(fā)送程序

        機(jī)器人端的主要任務(wù)是根據(jù)APP端的速度指令控制機(jī)器人進(jìn)行地圖構(gòu)建,并將地圖數(shù)據(jù)發(fā)送到APP端進(jìn)行顯示。機(jī)器人端設(shè)計(jì)流程如圖3所示。

        圖3 機(jī)器人端設(shè)計(jì)流程圖

        首先創(chuàng)建Socket套接字,然后機(jī)器人端一直處于監(jiān)聽(tīng)APP端模式。當(dāng)APP端請(qǐng)求連接時(shí),機(jī)器人端接受連接并處理該APP端的請(qǐng)求。子線程1接收到請(qǐng)求地圖的指令后,通知子線程2對(duì)地圖數(shù)據(jù)進(jìn)行壓縮。首先循環(huán)讀取第2節(jié)生成的PGM格式的柵格地圖數(shù)據(jù),然后將地圖數(shù)據(jù)通過(guò)PGM文件壓縮算法[5-6]經(jīng)過(guò)分塊預(yù)處理、量化、編碼轉(zhuǎn)換成數(shù)據(jù)量較小的JPEG格式的數(shù)據(jù),再將轉(zhuǎn)換后的地圖數(shù)據(jù)發(fā)送到APP端,確保探索地圖的實(shí)時(shí)顯示??紤]到在地圖傳輸過(guò)程中存在網(wǎng)絡(luò)不穩(wěn)定的情況,傳輸可能中斷,則關(guān)閉子線程2并通知子線程1繼續(xù)等待接收APP端指令,當(dāng)建立連接后重新傳輸?shù)貓D數(shù)據(jù)。

        3.2 APP端接收程序

        APP端基于Android平臺(tái)進(jìn)行開(kāi)發(fā),使用Java語(yǔ)言進(jìn)行程序設(shè)計(jì)。其主要功能是發(fā)送機(jī)器人速度指令和接收地圖數(shù)據(jù)并顯示。APP端設(shè)計(jì)流程如圖4所示。

        圖4 APP端設(shè)計(jì)流程圖

        APP端啟動(dòng)后創(chuàng)建一個(gè)Socket類對(duì)象,綁定機(jī)器人端的IP地址和端口號(hào),并請(qǐng)求連接機(jī)器人端。建立連接成功后,分別創(chuàng)建發(fā)送數(shù)據(jù)線程和接收數(shù)據(jù)線程,根據(jù)雙方約定好的協(xié)議進(jìn)行收發(fā)數(shù)據(jù)。發(fā)送數(shù)據(jù)線程用來(lái)向機(jī)器人端發(fā)送地圖請(qǐng)求指令和速度指令。接收數(shù)據(jù)線程用來(lái)循環(huán)接收地圖數(shù)據(jù),當(dāng)一張地圖數(shù)據(jù)沒(méi)有接收完,則循環(huán)接收地圖數(shù)據(jù),直到接收整張地圖數(shù)據(jù)。當(dāng)完整一張地圖數(shù)據(jù)接收完畢后將讀入的網(wǎng)絡(luò)字符流數(shù)據(jù)轉(zhuǎn)化為Bitmap格式數(shù)據(jù),然后將地圖繪制在移動(dòng)設(shè)備上顯示,接著再等待接收機(jī)器人端發(fā)送的下張地圖數(shù)據(jù)。當(dāng)斷開(kāi)連接后關(guān)閉線程,關(guān)閉套接字,釋放資源。

        3.3 探索地圖數(shù)據(jù)包

        考慮到系統(tǒng)的規(guī)范性和可擴(kuò)展性,必須設(shè)計(jì)一套規(guī)范的交互協(xié)議來(lái)進(jìn)行APP端和機(jī)器人端之間的通信。由于TCP協(xié)議具有較高的可靠性,因此本文的傳輸協(xié)議選擇TCP,用于機(jī)器人端與APP端交互的應(yīng)用層協(xié)議則利用TCP套接字實(shí)現(xiàn)。

        上面提到的應(yīng)用層協(xié)議也就是用于地圖數(shù)據(jù)交互的協(xié)議,如表1所示。當(dāng)APP端接收到數(shù)據(jù)后,如果校驗(yàn)和無(wú)誤則判斷包頭。包頭無(wú)誤則提取包實(shí)體部分。提取出包實(shí)體后查看當(dāng)前包數(shù)Cur_P,若此值與等待的包序號(hào)i相同,則提取總包數(shù)Tol_P,根據(jù)此值來(lái)計(jì)算接收數(shù)據(jù)包的個(gè)數(shù),總包數(shù)收完,則進(jìn)行數(shù)據(jù)包的重組并顯示。若Cur_P值大于等待包序號(hào),則認(rèn)為當(dāng)前等待的數(shù)據(jù)包可能丟失,則放棄該包數(shù)據(jù),重新初始化接收參數(shù),開(kāi)始接收新的數(shù)據(jù)包。若Cur_P值小于等待包序號(hào),則為無(wú)效的數(shù)據(jù)包,不做任何處理,繼續(xù)等待下一包的數(shù)據(jù)。

        表1 地圖交互協(xié)議

        4 系統(tǒng)測(cè)試

        4.1 實(shí)驗(yàn)平臺(tái)

        實(shí)驗(yàn)平臺(tái)是自主研制的搭載北陽(yáng)Hokuyo UTM-30LX激光掃描儀的三輪全向移動(dòng)機(jī)器人,工控機(jī)裝有Ubuntu 12.04的Linux系統(tǒng),Linux系統(tǒng)中裝載了Hydro版本的ROS(Robot Operating System)次級(jí)操作系統(tǒng)。三輪全向移動(dòng)機(jī)器人如圖5所示。

        圖5 三輪全向移動(dòng)機(jī)器人

        4.2 實(shí)驗(yàn)環(huán)境及結(jié)果分析

        實(shí)驗(yàn)環(huán)境為西南科技大學(xué)東七樓走廊,其面積約為460 m2,走廊寬度為3.31 m。分別進(jìn)行有效性和高效性測(cè)試。

        (1)有效性測(cè)試

        ①APP端地圖顯示效果。經(jīng)過(guò)圖6和圖7對(duì)比,APP端和機(jī)器人端顯示的地圖完全吻合。

        ②機(jī)器人端與APP端關(guān)于機(jī)器人定位效果對(duì)比。

        圖6 機(jī)器人端SLAM過(guò)程圖

        圖7 APP端探索地圖顯示效果圖

        圖6中左上角三角形所在的位置為機(jī)器人端機(jī)器人的位置,圖7中左上角的圓形為機(jī)器人在APP端顯示的位置,兩者相對(duì)比可以看出在APP端正確顯示了機(jī)器人的位置。地圖的分辨率為0.05 m/pixel,通過(guò)比較機(jī)器人端和APP端6個(gè)機(jī)器人位置的定位坐標(biāo),如表2所示,可得坐標(biāo)誤差在±10 cm的誤差范圍內(nèi),相對(duì)誤差在1%以內(nèi),滿足定位精度的要求。

        表2 機(jī)器人端與APP端關(guān)于機(jī)器人定位坐標(biāo)對(duì)比

        (2)高效性測(cè)試

        地圖壓縮前后及傳輸時(shí)間對(duì)比。整個(gè)實(shí)驗(yàn)在JCG JHR-N835R路由器搭建的無(wú)線局域網(wǎng)內(nèi)測(cè)試,其無(wú)線傳輸速率理論值為300 Mb/s。在APP端距離路由器50 m時(shí)帶寬已衰減為25 Kb/s,此時(shí)設(shè)為機(jī)器人已進(jìn)入低帶寬環(huán)境下。分別做了低帶寬環(huán)境和不是低帶寬環(huán)境的8次實(shí)驗(yàn)。地圖傳輸時(shí)間及文件大小比較如表3所示。

        由表3可以看出,經(jīng)PGM文件壓縮算法,探索地圖數(shù)據(jù)得到大幅度壓縮。不同帶寬條件下,傳輸時(shí)間隨著帶寬的增加而減少。在同樣低帶寬條件下,壓縮后的傳輸時(shí)間約為壓縮前的1/27.5,滿足低帶寬條件下大面積地圖傳輸?shù)囊蟆?/p>

        表3 傳輸時(shí)間及文件大小比較

        5 結(jié)論

        本文設(shè)計(jì)并實(shí)現(xiàn)了大范圍探索地圖遠(yuǎn)程傳輸系統(tǒng)。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)可以解決無(wú)線低帶寬條件下大面積機(jī)器人探索地圖高效傳輸問(wèn)題,并且為移動(dòng)機(jī)器人的遠(yuǎn)程數(shù)據(jù)訪問(wèn)和控制提供了技術(shù)支持。

        [1] 高巖,黃曉濤,肖來(lái)元.面向低帶寬網(wǎng)絡(luò)的遠(yuǎn)程圖形終端設(shè)計(jì)[J].軟件導(dǎo)刊,2015,14(9):83-86.

        [2] 佘元博. 基于ROS的交互型自主導(dǎo)航機(jī)器人平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 南京:南京大學(xué), 2015.

        [3] 張建偉.開(kāi)源機(jī)器人操作系統(tǒng)[M].北京:科學(xué)出版社,2012.

        [4] BERNTORP K, NORDH J. Rao-blackwellized particle smoothing for occupancy-grid based SLAM using low-cost sensors[J]. IFAC Proceedings Volumes, 2014, 47(3): 101-103.

        [5] 叢爽, 蒲亞坤, 王軍南. DCT圖像壓縮方法的改進(jìn)及其應(yīng)用[J]. 計(jì)算工程與應(yīng)用, 2010,46(18):160-163.

        [6] ERNAWAN F, ABU N A, SURYANA N. An adaptive JPEG image compression using psychovisual model[J]. Advanced Science Letters, 2014, 20(1): 26-31.

        猜你喜歡
        移動(dòng)機(jī)器人柵格線程
        移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
        基于鄰域柵格篩選的點(diǎn)云邊緣點(diǎn)提取方法*
        基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
        淺談linux多線程協(xié)作
        不同剖面形狀的柵格壁對(duì)柵格翼氣動(dòng)特性的影響
        基于CVT排布的非周期柵格密度加權(quán)陣設(shè)計(jì)
        極坐標(biāo)系下移動(dòng)機(jī)器人的點(diǎn)鎮(zhèn)定
        基于引導(dǎo)角的非完整移動(dòng)機(jī)器人軌跡跟蹤控制
        動(dòng)態(tài)柵格劃分的光線追蹤場(chǎng)景繪制
        Linux線程實(shí)現(xiàn)技術(shù)研究
        久久综合99re88久久爱| 国产丝袜免费精品一区二区| 日本久久一级二级三级| 成人久久久精品乱码一区二区三区 | 人妻少妇乱子伦无码视频专区| 亚洲综合精品成人| 国产午夜亚洲精品一级在线| 中文字幕中文字幕三区| 肉色丝袜足j视频国产| 天天爽夜夜爽夜夜爽| 国产美女69视频免费观看| 99精品电影一区二区免费看| 人妻无码∧V一区二区| 日本一区二区在线播放视频 | 99久久精品国产91| 97碰碰碰人妻无码视频| 欧美成人形色生活片| 国产不卡一区二区三区视频| 国产亚洲午夜精品久久久| 国产乱子伦农村xxxx| 国产主播福利一区二区| 精品少妇白浆一二三区| 一本色道久久婷婷日韩| 亚洲人成电影在线观看天堂色| 国产免费一区二区三区最新不卡| 国产一区二区av在线观看| 欧美怡春院一区二区三区| 1区2区3区高清视频| 亚洲欧美成人在线免费| 亚洲乱码一区二区av高潮偷拍的| 一二三四日本中文在线| 亚洲免费观看网站| 一区二区三区成人av| 久久久久久av无码免费网站下载| 内射中出无码护士在线| 国产精品亚洲A∨无码遮挡| 午夜福利视频一区二区二区| 在线观看热码亚洲av每日更新| 久久无码一一区| av在线一区二区三区不卡| 久久精品女人天堂av免费观看|