国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS的溯源機器人系統(tǒng)①

2019-03-11 06:02張美平郭旭城張毅韜王志宇
計算機系統(tǒng)應用 2019年3期
關鍵詞:語音物體節(jié)點

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

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

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

引言

隨著服務機器人的發(fā)展,基于視覺跟隨、語音控制、自主導航等新型控制方式的機器人由于具有增加人機交互、提高參與感等優(yōu)點越來越受到人們的關注.然而,隨著機器人技術的發(fā)展,為不同機器人編寫軟件這一工作也變得越來越繁重.不同的機器人設計方案不同,底層接口也大不相同,編寫的軟件也不同,但是其基本算法是一致的.為了改善這一缺點,機器人操作系統(tǒng) ROS (Robot Operating System)應運而生.ROS 是開源機器人操作系統(tǒng),它是一種分布式模塊化的開源軟件框架,其目的在于提高軟件代碼的復用率,提供機器人開發(fā)框架,很好的解決了軟件開發(fā)過程中代碼冗余、移植性差等問題[1],更提供了不同硬件的抽象描述、底層驅動程序的管理、程序節(jié)點間消息傳遞的機制、機器人軟件發(fā)行包的管理等功能[2].目前,開發(fā)者和開源 ROS 開發(fā)人員為 ROS 共享社區(qū)貢獻了各個領域的軟件包,如 SLAM 定位算法、坐標轉換 tf 庫、機器視覺開源庫 OpenCV 和 OpenNI等.由于 ROS 代碼的高可重用性和可擴展性,基于 ROS 的機器人系統(tǒng)可以通過利用社區(qū)中已有的代碼方便地用于二次開發(fā)[3].

近年物聯(lián)網(wǎng)相關技術的飛速發(fā)展,使得物聯(lián)網(wǎng)的概念深入人心,相關應用輻射至各行各業(yè).據(jù)統(tǒng)計,國內(nèi)物聯(lián)網(wǎng)連接數(shù)已達16億個,預計2020年將超過70億個,市場規(guī)模達到2.5萬億元,物聯(lián)網(wǎng)的發(fā)展?jié)摿薮?與之同時,國內(nèi)外對物聯(lián)網(wǎng)與智能機器人結合的研究已經(jīng)展開,如IBM公司、日本國際電氣通信先進技術研究所等[4,5].

本系統(tǒng)在基于ROS平臺的基礎上與物聯(lián)網(wǎng)相結合,設計可根據(jù)傳感器數(shù)據(jù)異常而追溯至異常數(shù)據(jù)源附近的機器人,通過機器人身上搭載的攝像頭捕獲異常數(shù)據(jù)源附近的圖像數(shù)據(jù).為使機器人具有更強的實用性,機器人添加了物體識別、物體追蹤、語音控制等功能.在結合用戶的需求后,設計了擁有視頻監(jiān)控、傳感器數(shù)據(jù)監(jiān)控、機器人控制功能的Web端.

1 系統(tǒng)框架

基于ROS的溯源機器人系統(tǒng)的功能主要由:感知層數(shù)據(jù)采集、基于感知數(shù)據(jù)的溯源服務、語音控制、物體識別、機器人物體追蹤和Web端等幾部分組成.其總體框架如圖1.感知層數(shù)據(jù)采集:通過傳感器獲取所處環(huán)境的物理狀態(tài),如溫濕度、光照數(shù)據(jù)等,采集到數(shù)據(jù)后將數(shù)據(jù)發(fā)送至ROS網(wǎng)絡;基于感知數(shù)據(jù)的溯源服務:對感知層的數(shù)據(jù)處理分析后,若結果表示為異常狀態(tài),機器人則自動導航至異常數(shù)據(jù)點,搭載的攝像頭獲取實時圖像,否則機器人原地待命;語音控制:喚醒詞喚醒機器人后可對機器人下達行駛命令,機器人做出相應的動作;物體自動識別:對機器人下達識別指令后,機器人將對當前獲取的圖像進行識別,并將結果返回給用戶;機器人的物體追蹤:用戶選取待追蹤的物體后機器人會自動追蹤該物體;Web端:實時顯示感知層獲取的數(shù)據(jù)并對執(zhí)行節(jié)點進行控制、展示視頻監(jiān)控和控制機器人.

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

2 系統(tǒng)硬件設計

2.1 系統(tǒng)總硬件設計

該系統(tǒng)由感知層的傳感器節(jié)點、接入網(wǎng)關、溯源機器人等組成.如表1所示,本系統(tǒng)硬件部分由樹莓派、STM32核心驅動板、攝像頭、各種傳感器與傳感器節(jié)點等幾部分構成.通過數(shù)字接口、SPI、串口等連接,實現(xiàn)系統(tǒng)所需要的感知、數(shù)據(jù)傳遞、圖像處理、溯源服務等功能.

表1 系統(tǒng)硬件

2.2 溯源機器人的硬件設計

溯源機器人采用性能為1.2 GHz四核Broadcom CEM2837 64位ARMV8處理器的樹莓派3代作為主控,板載 BCM43143WIFI模塊用于 WiFi通信;還采用基于ARM CortexM3內(nèi)核的STM32F103RC高性能單片機作為機器人的驅動板,其突出優(yōu)點是高性能、低成本、低功耗,主要用于控制機器人的行駛,并獲取IMU測量所得的機器人在三維空間中的角速度和加速度.另外,機器人搭載的高清攝像頭 Logitech C270,分辨率高達 1280×720 像素,以每秒 25 幀的速度獲取圖像數(shù)據(jù),并通過USB2.0將圖像數(shù)據(jù)傳輸至樹莓派.搭載的RPLIDAR A1掃描測距雷達采樣頻率高達8000次/秒,可實現(xiàn)對周圍環(huán)境的360度全方位掃描測距檢測,從而獲得周圍環(huán)境的輪廓圖,是應用SLAM算法較理想的傳感器,獲得的數(shù)據(jù)直接通過USB傳輸至樹莓派,無需其他任何編碼工作.溯源機器人的結構如圖2,實物圖如圖3.

圖2 溯源機器人硬件連接圖

圖3 溯源機器人識物圖

3 系統(tǒng)軟件設計

3.1 感知層的設計

通過無線傳感器網(wǎng)絡傳遞數(shù)據(jù)實現(xiàn)感知層數(shù)據(jù)采集的功能.無線傳感器網(wǎng)絡的組建采用了近幾年發(fā)展迅速的基于IPv6的Contiki物聯(lián)網(wǎng)操作系統(tǒng).感知層節(jié)點運行由Contiki協(xié)議棧提供的TCP/IP堆棧,將數(shù)據(jù)打包為UDP數(shù)據(jù)報遞交至網(wǎng)關.

底層數(shù)據(jù)上報格式與反向控制指令見表2,表3.

表2 感知層數(shù)據(jù)上報格式

表3 感知層執(zhí)行節(jié)點控制指令

3.2 Contiki-ROS網(wǎng)關程序的設計

整個網(wǎng)關程序的設計[6]如圖4.程序內(nèi)部使用Contiki IPv6接入模塊,實現(xiàn)IPv6和IPv4的動態(tài)轉換,設置轉換地址池,將數(shù)據(jù)匯聚處理后以ROS規(guī)范進行轉換,最后將感知層數(shù)據(jù)遞交至ROS網(wǎng)絡.

3.3 SALM自動溯源的實現(xiàn)

溯源模塊的流程見圖5.機器人首先采用基于優(yōu)化算法的hectorslam方法建立試驗環(huán)境的地圖并記錄傳感器節(jié)點的坐標.建圖過程見圖6.

其次溯源模塊監(jiān)聽感知層的實時數(shù)據(jù),若檢測出異常狀態(tài),如溫度超過閾值,則在建立試驗環(huán)境地圖的基礎上,采用ROS提供的navigation導航功能包集依次建立試驗環(huán)境的全局代價地圖和局部代價地圖,結合查詢得到的異常數(shù)據(jù)點坐標,初步規(guī)劃自動導航的全局路徑,再經(jīng)局部代價地圖調(diào)整得到修正過后的全局路徑.溯源機器人導航路徑建立的框架見圖7.

完成建圖和路線規(guī)劃后,引入ROS的actionlib功能包集合判斷溯源結果,actionlib使用client-server工作模式,不斷比較異常節(jié)點坐標和當前位置,判斷是否到達目標點,交互過程見圖8.

我認為,每位教師不只是學習業(yè)務知識,還必須學習《教育法》、《教師法》和《未成年人保護法》等法律法規(guī),并深刻認識到不懂法律,否則不依法執(zhí)教就是不合格的教師。例如:要想讓學生熱愛環(huán)境,保護公共衛(wèi)生,我們必須得先彎下腰,去主動拾起地上的字紙;要想讓學生學會文明用語,不用暴力解決問題,我們必須先注意自己的言行,不體罰和打罵學生。要想讓學生遵守《中小學生守則》和《小學生日常行為規(guī)范》,我們必須先遵守學校的各項規(guī)章制度,哪怕是排隊打飯不講小話的日常生活問題。

圖4 Contiki-ROS 網(wǎng)關設計圖

圖5 溯源流程

3.4 語音功能模塊

首先對獲取的語音信號進行判斷,若是規(guī)定的喚醒詞,則繼續(xù)獲取語音信號,在靜音檢測 2 s 后,保存為wav格式的音頻文件,信號的采樣頻率為16 000 Hz,聲道數(shù)為1.音頻信息獲取結束后,調(diào)用語音識別API,最后對返回的結果進行判斷,從而讓機器人做出相應的行駛動作.語音功能模塊的流程見圖9.

圖6 hectorslam 建圖流程

圖7 溯源機器人導航框架

圖8 溯源服務 protocol

圖9 語音控制流程

3.5 物體識別

物體識別采用tensorflow深度學習框架和Inceptionv3模型.程序收到物體識別的指令后,對當前攝像頭捕獲的圖像進行識別預測,根據(jù)預測結果的id號,在Inception-v3模型中查找對應的物體,最后將結果返回至用戶.程序的具體實現(xiàn)邏輯如圖10.

3.6 物體追蹤

實驗中待追蹤的物體具有較統(tǒng)一的顏色,為了讓機器人可以隨著顏色物體位置的改變而能做出簡單的移動,在考慮機器人的處理能力之后,采用Camshift算法利用其計算量少等特點實現(xiàn)物體追蹤.在選擇待追蹤的物體之后,以顏色作為基本特征來提取物體的圖像特征,將原本的RGB顏色空間轉換至HSV顏色空間.為更好的規(guī)避因光照不均勻造成的影響,提高準確率,抽取H通道作為顏色特征,計算待追蹤物體的Hue分量直方圖并輸出圖像的反向投影圖,因待追蹤物體的顏色較統(tǒng)一,所以只以H通道作為顏色特征也可實現(xiàn)追蹤.再利用Camshift算法計算得出當前圖像中待追蹤物體的位置信息(起始坐標、長度、寬度等),而后與待追蹤物體初始的位置信息進行比較,從而實現(xiàn)機器人的物體追蹤.程序的具體邏輯如圖11.

圖10 物體識別程序邏輯

試驗中位置信息的變化幅度閾值使用兩個值同時進行判斷,試驗中物體位置中心點的變化幅度閾值設置為0.4,物體位置長度的變化幅度閾值設置為0.2,當閾值偏大時,物體追蹤效果不怎么明顯,當閾值偏小時,由于算法的計算誤差有時會導致機器人追蹤失誤.

3.7 Web端的實現(xiàn)

Web端利用 HTML、CSS、roslibjs開發(fā).感知層顯示頁面分為感知層反向控制區(qū)和數(shù)據(jù)實時顯示區(qū),視頻監(jiān)控網(wǎng)頁則分為視頻采集區(qū),機器人控制區(qū).并采用websocket的方式與rosbridge節(jié)點進行通信,rosbridge 主要包含兩個部分,Rosbridge Protocol和Rosbridge Implementation.其中 Protocol部分提供了非ROS系統(tǒng)和ROS系統(tǒng)通信的具體格式,包括話題的訂閱,消息的發(fā)布等.Implementation 部分是 rosbridge 的具體實現(xiàn),包含 rosbridge_server 等包.rosbridge_server負責通信的傳輸層,包括 websockect,tcp,udp 等通信方式.

圖11 物體追蹤程序邏輯

視頻監(jiān)控則采用ROS提供的web_video_server,當一個HTTP請求相應的ROS圖像主題的視頻流,就會訂閱相應的話題,并創(chuàng)建一個視頻編碼器的實例[7],然后被編碼的原始視頻包被送達至客戶端.Web端的設計如圖12.

4 試驗與實現(xiàn)

在實驗室構建試驗環(huán)境對感知層的數(shù)據(jù)采集、機器人溯源功能、物體追蹤、物體識別、語音功能,Web端的功能進行測試.

機器人根據(jù)雷達獲取的信息采用hectorslam方法建圖的效果如圖13、圖14.之后對機器人的溯源功能進行測試,見圖15,在多次的測試中機器人都能到達異常數(shù)據(jù)點附近,準確率高達100%.

對物體追蹤功能進行試驗:選取待追蹤的物體,依次得到了待追蹤物體的Hue分量圖和待追蹤物體的反向投影圖,見圖16.手動讓機器人遠離待追蹤的物體,機器人會自動靠近待追蹤的物體,最終停在最開始的地方附近.

物體追蹤實驗的測試結果記錄如表4所示.從表中可知物體追蹤的成功率在75%,由于左右移動的距離較小以及Camshift算法得到的位置信息的誤差,所以在物體向左右移動的實驗中,效果較差.

圖12 Web 端交互示意圖

圖13 建立的地圖

圖14 地圖實景

圖15 溯源服務測試

圖16 物體追蹤測試

表4 物體追蹤測試記錄表

對語音功能進行測試:當喚醒詞成功喚醒機器人后,下達“向前進”的語音,語音模塊可準確地識別為“向前進”,與之同時,溯源機器人也會向前行駛.語音識別過程中終端頁面的輸出信息見圖17.之后對喚醒功能進行多次試驗,50次的試驗中成功喚醒43次,喚醒成功率高達86%.

圖17 語音功能測試

Web端的設計與物體識別功能的試驗效果見圖18、圖19.圖18是感知層數(shù)據(jù)的實時顯示與執(zhí)行節(jié)點的控制.圖19是視頻監(jiān)控與機器人控制的頁面,按住shift鍵并點擊方向圖標,機器人會做出相應的行駛.而點擊“識別”按鈕可進行識物,并顯示識別的結果.

圖18 感知層數(shù)據(jù)監(jiān)控頁面

圖19 視頻監(jiān)控與機器人控制頁面

5 總結

國內(nèi)外對物聯(lián)網(wǎng)與智能機器人結合的研究已經(jīng)展開,并取得了一定成就.本文基于此對物聯(lián)網(wǎng)與機器人結合的方式進行了研究,采用STM32節(jié)點、樹莓派等硬件并結合ROS、Contiki等支持,設計實現(xiàn)了感知層的數(shù)據(jù)采集,接入網(wǎng)關的數(shù)據(jù)處理,基于SLAM的自動溯源,語音控制,機器人的物體追蹤,Web 端的實時展示等;最后構建相關實驗環(huán)境,對系統(tǒng)與設備的相關性能進行測試,驗證可行性.未來需要進一步優(yōu)化整合系統(tǒng),構建大規(guī)模試驗與應用.

猜你喜歡
語音物體節(jié)點
基于圖連通支配集的子圖匹配優(yōu)化算法
結合概率路由的機會網(wǎng)絡自私節(jié)點檢測算法
面向復雜網(wǎng)絡的節(jié)點相似性度量*
采用貪婪啟發(fā)式的異構WSNs 部分覆蓋算法*
魔力語音
基于MQ3與MP3的價廉物美的酒駕語音提醒器
數(shù)字濾波在語音信號降噪中的應用
對方正在輸入……
揭開物體沉浮的秘密
為什么同一物體在世界各地重量不一樣?