• 
    

    
    

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

      基于ROS與Contiki的物聯(lián)網(wǎng)環(huán)境下數(shù)據(jù)采集機器人設計①

      2019-04-10 05:07:24張美平張毅韜郭旭城王志宇
      計算機系統(tǒng)應用 2019年2期
      關鍵詞:應用層網(wǎng)關傳感

      張美平,張毅韜,郭旭城,王志宇

      1(福建師范大學 數(shù)學與信息學院,福州 350007)

      2(福建師范大學 福建省網(wǎng)絡安全與密碼技術重點實驗室,福州 350007)

      引言

      隨著物聯(lián)網(wǎng)相關技術的飛速發(fā)展,物聯(lián)網(wǎng)的概念逐漸深入人心,相關應用輻射至各行各業(yè).據(jù)統(tǒng)計,國內物聯(lián)網(wǎng)連接數(shù)已達16億個,預計2020年將超過70億個,市場規(guī)模達到2.5萬億元,物聯(lián)網(wǎng)發(fā)展?jié)摿薮?物聯(lián)網(wǎng)是新一輪產業(yè)變革的重要方向和推動力量,對于深化供給側結構性改革、推動產業(yè)轉型升級具有重要意義.現(xiàn)如今,全球各國無不積極推動機器人產業(yè),近期人工智能與深度學習等技術發(fā)展熱度增溫,更是成為推動智能機器人發(fā)展的重要動能.據(jù)工研院IEK研究報告預估,全球智能機器人的市場規(guī)模預計在2021年將成長至336億美元,而亞洲將是成長最多的地區(qū).

      通信連接只是物聯(lián)網(wǎng)的第一步,在此基礎之上的應用才是物聯(lián)網(wǎng)重要的核心,智能機器人可作為物聯(lián)網(wǎng)智能終端提供這種作用.機器人在智能家居、家庭安防等物聯(lián)網(wǎng)應用方向上得到了充分的利用,尤其是機器人裝載感知設備而具有的環(huán)境感知能力,為家居生活、倉庫管理、無人區(qū)監(jiān)測等應用場景提供了極大的便捷和助力.

      國內外對于物聯(lián)網(wǎng)與智能機器人結合的研究已經展開,國外如IBM公司、日本國際電氣通信先進技術研究所等.Grieco等人[1]提出了物聯(lián)網(wǎng)輔助機器人應用方向,歸納了各行業(yè)領域機器人的模型參數(shù)和具體硬件平臺,以及相關的物聯(lián)網(wǎng)技術,為物聯(lián)網(wǎng)與機器人結合的研究提供了不錯的方案基礎.國內,孔令富等人[2]提出構建物聯(lián)網(wǎng)機器人系統(tǒng)的指導思想,分析該系統(tǒng)的研究現(xiàn)狀,同時剖析了物聯(lián)網(wǎng)機器人系統(tǒng)存在的客觀問題;湯莉莉等人[3]提供了一套較為具體的物聯(lián)網(wǎng)智能機器人設計的解決方案,實現(xiàn)視頻監(jiān)控,機器人狀態(tài)自檢測與監(jiān)控、太陽能充能等功能.

      在各類物聯(lián)網(wǎng)應用方向蓬勃發(fā)展的影響下,物聯(lián)網(wǎng)系統(tǒng)下,與感知數(shù)據(jù)交互的智能機器人的作用與地位逐漸變得不可或缺.但市場上智能機器人平臺眾多,設計方案不同,導致大量代碼冗余、移植性通用性較差等問題,造成了其與物聯(lián)網(wǎng)系統(tǒng)數(shù)據(jù)的交互需要更繁雜的數(shù)據(jù)協(xié)議等客觀現(xiàn)實問題,增加了智能機器人融入物聯(lián)網(wǎng)系統(tǒng)的難度.

      本文針對以上問題,一方面利用ROS的通訊框架和OpenWrt、Contiki搭建了一款完整的三層結構的物聯(lián)網(wǎng)系統(tǒng);另一方面設計了一套基于ROS的移動機器人平臺,不僅做到物聯(lián)網(wǎng)系統(tǒng)下環(huán)境數(shù)據(jù)的采集上遞與反饋,且提供充足優(yōu)良的機器人開發(fā)接口,為物聯(lián)網(wǎng)下智能機器人的智能化程度不斷提高打下基礎.

      1 系統(tǒng)框架

      本文選擇的整體系統(tǒng)框架類似于物聯(lián)網(wǎng)的三層結構,智能機器人作為應用層的物聯(lián)網(wǎng)終端,與感知數(shù)據(jù)進行交互.如圖1所示.

      圖1 整體系統(tǒng)框架

      (1)感知層

      傳感數(shù)據(jù)通過開源物聯(lián)網(wǎng)操作系統(tǒng)Contiki提供的TCP/IP堆棧,將數(shù)據(jù)打包為UDP數(shù)據(jù)報上傳至ROS-Contiki網(wǎng)關.

      (2)接入層

      ROS-Contiki網(wǎng)關實現(xiàn)協(xié)議IPv6與IPv4之間的動態(tài)轉換,設置轉換地址池、地址比對、數(shù)據(jù)匯聚處理的功能,并以ROS規(guī)范進行轉換,實現(xiàn)感知層數(shù)據(jù)與ROS網(wǎng)絡的雙向流通.

      (3)應用層

      提供針對感知層的數(shù)據(jù)監(jiān)控與節(jié)點反向控制、機器人基本控制的Web服務.同時智能機器人可在物聯(lián)網(wǎng)系統(tǒng)環(huán)境下,與感知數(shù)據(jù)實現(xiàn)雙向交互.

      2 系統(tǒng)的設計

      2.1 感知層

      在指定區(qū)域部署傳感節(jié)點與執(zhí)行節(jié)點,如圖2所示,通過無線傳感網(wǎng)絡傳遞數(shù)據(jù)實現(xiàn)感知層功能.無線傳感網(wǎng)絡的組建采用了近幾年發(fā)展迅速的基于IPv6的Contiki物聯(lián)網(wǎng)操作系統(tǒng).感知層節(jié)點由STM32W108處理器,各類傳感器或執(zhí)行模塊構成.感知層節(jié)點運行由Contiki協(xié)議棧提供的TCP/IP堆棧,將數(shù)據(jù)打包為UDP數(shù)據(jù)報遞交至ROS-Contiki網(wǎng)關.

      感知層部署節(jié)點分為兩類:

      (1)傳感節(jié)點.傳感節(jié)點負責上報所采集數(shù)據(jù).

      (2)執(zhí)行節(jié)點.執(zhí)行器負責監(jiān)聽執(zhí)行指令,控制相關外設.

      圖2 執(zhí)行節(jié)點(左)、傳感節(jié)點(右)

      節(jié)點間組網(wǎng)與通訊如圖3.

      圖3 節(jié)點間組網(wǎng)通訊

      底層數(shù)據(jù)需要約定數(shù)據(jù)上報與反向控制指令的格式協(xié)議(見表1和表2),以便網(wǎng)關接入模塊和應用層應用解析數(shù)據(jù)和生成指令.

      2.2 接入層

      接入層主要涉及ROS-Conitki網(wǎng)關設備的選擇與接入模塊的設計[4],如圖4.ROS-Conitki網(wǎng)關設備選用運行Linux開源無線路由器操作系統(tǒng)OpenWrt的巴法絡路由器,參數(shù)設置見表3.OpenWrt是嵌入式設備上運行的Linux系統(tǒng),為Linux下的開發(fā)提供了良好環(huán)境.同時網(wǎng)關需要一個Contiki IPv6接入模塊,實現(xiàn)IPv6和IPv4的動態(tài)轉換,設置轉換地址池、數(shù)據(jù)匯聚、處理,并且以ROS規(guī)范進行轉換,并將感知層數(shù)據(jù)遞交至ROS網(wǎng)絡.

      表1 數(shù)據(jù)上報協(xié)議

      表2 反向控制指令協(xié)議

      圖4 網(wǎng)關內部結構

      表3 巴法絡路由器參數(shù)

      為非ROS系統(tǒng)的網(wǎng)關設備滿足ROS規(guī)范與ROS網(wǎng)絡通訊,我們使用rosserial_embeddedLinux庫進行開發(fā).rosserial_embeddedLinux提供了ROS通信協(xié)議,可用于嵌入式Linux系統(tǒng)的串行UART,或其無線或網(wǎng)絡連接.它允許嵌入式Linux系統(tǒng)運行完整的ROS節(jié)點,而我們只需擁有目標設備的開發(fā)編譯鏈.

      ROS-Contiki網(wǎng)關運行tunslip6程序.該程序建立一個名為“tun0”的虛擬網(wǎng)卡.直接用程序讀寫該設備,tun0建立在數(shù)據(jù)鏈路層,接入模塊將邊界路由節(jié)點上遞的數(shù)據(jù),通過slip串口與IP協(xié)議,將其封裝為IP數(shù)據(jù)包,再遞交至UDP服務端.UDP服務端將執(zhí)行節(jié)點的最新IP地址存入地址池,為反向控制做好準備,同時將傳感數(shù)據(jù)封裝為ros消息,以規(guī)定的話題發(fā)布至ROS網(wǎng)絡.

      反之,接入模塊(見圖5)通過ros_node訂閱規(guī)定話題,接收ROS網(wǎng)絡傳來的數(shù)據(jù)(多為控制指令).通過比對地址池,匹配目標執(zhí)行節(jié)點,tunslip6程序將數(shù)據(jù)轉換為串口數(shù)據(jù)通過串口遞交至邊界路由設備.

      圖5 接入模塊結構設計

      2.3 應用層

      提供針對感知層數(shù)據(jù)監(jiān)控與反向控制和針對機器人控制的web前端頁面.web服務與ROS網(wǎng)絡的通訊,采用rosbridge協(xié)議規(guī)范下的rosbridge_suite軟件包進行web服務端與客戶端的開發(fā).

      rosbridge主要包含兩個部分,Rosbridge Protocol和Rosbridge Implementation.其中Protocol部分提供了非ROS系統(tǒng)和ROS系統(tǒng)通信的具體格式,包括話題的訂閱,消息的發(fā)布等.Implementation部分是rosbridge的具體實現(xiàn),包含rosbridge_server等包.rosbridge_server負責通信的傳輸層,包括webscoket,tcp,udp等格式.

      用戶使用PC或移動終端采取相關操作,將UI操作綁定為一種指定話題下消息的發(fā)布或訂閱,以websocket的方式與rosbridge節(jié)點通訊,該節(jié)點將收到的數(shù)據(jù)封裝為ROS規(guī)范的ROS消息,并遞交至ROS網(wǎng)絡,實現(xiàn)Web服務與ROS網(wǎng)絡的結合,如圖6.

      圖6 Web服務與ROS網(wǎng)絡

      3 機器人設計

      3.1 硬件設計

      機器人硬件框架如圖7所示.

      圖7 機器人硬件部件與架構

      履帶小車底盤作為機器人移動的基本部件,通過裝載的電機實現(xiàn)驅動.底盤搭載了STM32核心驅動板和作為主控設備的樹莓派.核心驅動板上連接了三軸陀螺儀GY-85,如圖8.

      (1)STM32核心驅動板

      運行一個基本的ROS節(jié)點.

      (2)樹莓派

      運行ROS-Master,承擔ROS網(wǎng)絡的牽頭組建的功能.同時可協(xié)同多個ROS節(jié)點.同時提供多個外設接口,為機器人的服務拓展提供硬件條件.

      圖8 機器人實物圖

      3.2 軟件設計

      機器人的軟件設計主要基于ROS規(guī)范的ROS節(jié)點開發(fā).機器人運行的ROS節(jié)點如圖9所示.

      圖9 機器人運行節(jié)點

      STM32_node: 讀取機器人的電機里程數(shù)、電量、速度、Imu數(shù)據(jù)等機器人狀態(tài)數(shù)據(jù)并以ROS規(guī)范封裝,上遞至ROS網(wǎng)絡;同時可監(jiān)控傳感數(shù)據(jù),并監(jiān)聽用戶執(zhí)行指令.

      serial_node: 將STM32核心驅動板通過串口連接至ROS網(wǎng)絡.

      riki_base_node: 描述機器人基本信息的節(jié)點,接受來自驅動板經過過濾的imu融合數(shù)據(jù),速度數(shù)據(jù)等,同時可與本文物聯(lián)網(wǎng)系統(tǒng)下數(shù)據(jù)實現(xiàn)交互.

      rosbridge_suit_node: 實現(xiàn)ROS網(wǎng)絡與非ROS網(wǎng)絡的應用層應用之間的通信.

      4 系統(tǒng)運作

      系統(tǒng)整體運作形式下,感知層部署感知節(jié)點和執(zhí)行節(jié)點,執(zhí)行節(jié)點集成相應的執(zhí)行器,感知節(jié)點將感知數(shù)據(jù)遞交至邊界路由節(jié)點,由邊界路由節(jié)點上傳至ROS-Contiki網(wǎng)關.網(wǎng)關記錄節(jié)點所分配地址,并將數(shù)據(jù)封裝為ROS消息,發(fā)布至指定的話題,供機器人與應用層服務節(jié)點訂閱.機器人時刻訂閱機器人指令話題,監(jiān)聽機器人指令,作出反饋.

      同時,web頁面提供了反向控制的接口,將其和規(guī)定的ROS消息綁定,發(fā)送至約定好的ROS話題,ROSContiki網(wǎng)關訂閱該話題,解析ROS消息獲取命令,并根據(jù)地址池將控制指令下發(fā)至執(zhí)行節(jié)點.

      5 測試效果

      (1)啟動機器人

      為機器人上電,通過遠程登錄軟件進入樹莓派.輸入如下命令:

      roslaunch rikirobot bringup.launch

      roslaunch rosbridge_suit rosbridge_websocket.lauch

      (2)部署節(jié)點,啟動網(wǎng)關

      將邊界路由節(jié)點通過USB線接入巴法絡路由器.輸入如下指令:

      tunslip6 -s /dev/ttyUSB0 aaaa::1/64 &

      再執(zhí)行接入模塊程序:

      ./pc-server /dev/USB0

      (3)打開瀏覽器,進入Web服務(如圖10).

      圖10 Web服務頁面

      6 總結

      本文分為兩個方面: 基于ROS的物聯(lián)網(wǎng)系統(tǒng)的三層設計和該系統(tǒng)下機器人的設計.

      物聯(lián)網(wǎng)系統(tǒng)分為三層: 感知層、接入層、應用層.本文中感知層節(jié)點運行Contiki操作系統(tǒng),被分配不同的IPv6地址,以mesh的方式組建傳感網(wǎng)絡.ROSContiki網(wǎng)關則基于OpenWrt與Rosserial協(xié)議,將底層上報的數(shù)據(jù)以ROS消息規(guī)范封裝上遞至ROS網(wǎng)絡.應用層服務節(jié)點通過ros_bridge進行Web前端的服務集成,搭建一套基于ROS網(wǎng)絡的物聯(lián)網(wǎng)系統(tǒng).

      機器人以樹莓派做主控,STM32核心驅動板作為硬件驅動.機器人的核心系統(tǒng)框架采用當下流行的開源的機器人操作系統(tǒng)——ROS.并結合當下優(yōu)秀的嵌入式系統(tǒng)OpenWrt項目,依托優(yōu)秀的ROS通訊框架,用較低的成本,開發(fā)出本文物聯(lián)網(wǎng)系統(tǒng)下智能機器人.

      猜你喜歡
      應用層網(wǎng)關傳感
      《傳感技術學報》期刊征訂
      新型無酶便攜式傳感平臺 兩秒內測出果蔬農藥殘留
      基于改進RPS技術的IPSEC VPN網(wǎng)關設計
      IPv6與ZigBee無線傳感網(wǎng)互聯(lián)網(wǎng)關的研究
      電子制作(2018年23期)2018-12-26 01:01:26
      基于分級保護的OA系統(tǒng)應用層訪問控制研究
      新一代雙向互動電力線通信技術的應用層協(xié)議研究
      物聯(lián)網(wǎng)技術在信息機房制冷系統(tǒng)中的應用
      LTE Small Cell網(wǎng)關及虛擬網(wǎng)關技術研究
      移動通信(2015年18期)2015-08-24 07:45:08
      應對氣候變化需要打通“網(wǎng)關”
      太陽能(2015年7期)2015-04-12 06:49:50
      某型Fabry-Perot光纖應變計的傳感特性試驗
      福建省| 顺义区| 吉隆县| 班玛县| 霍林郭勒市| 牡丹江市| 庄河市| 安化县| 理塘县| 太湖县| 织金县| 城步| 泰州市| 肥乡县| 洮南市| 绥棱县| 盱眙县| 项城市| 桃江县| 灵石县| 枣阳市| 玛多县| 青川县| 嘉兴市| 壤塘县| 威信县| 都安| 沂源县| 武乡县| 永胜县| 都兰县| 界首市| 泊头市| 蒙山县| 赣榆县| 合水县| 江城| 霍山县| 吴忠市| 宁陵县| 吉安县|