物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

基于RFID的助盲語音尋物機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)

作者:鄭雅麗 王震 李通
來源:電腦知識與技術(shù)
日期:2016-06-03 14:18:48
摘要:基于RFID助盲尋物機(jī)器人,是幫助盲人尋找物品的電子產(chǎn)品,它可以方便盲人尋找所需物品,避免盲人因找物而帶來的麻煩,并可以通過語音命令對機(jī)器人進(jìn)行控制,同時機(jī)器人也會給出語音提示,讓盲人能享受現(xiàn)代科技生活的便捷。
關(guān)鍵詞:RFID尋物機(jī)器人語音

  隨著科學(xué)技術(shù)的發(fā)展和人們生活水平的不斷提高,我們對生活的安全、舒適、便捷等各方面的要求也越來越高[2]。針對盲人的生理缺陷,研究了一款幫助盲人尋找所需物品的移動機(jī)器人,它以UP-MAGIC2410為主控芯片,嵌入式Linux為操作系統(tǒng),并采用多線程的方式集成了射頻識別模塊、超聲波測距模塊、電機(jī)驅(qū)動模塊和語音聲控模塊。通過RFID模塊對物品進(jìn)行辨識確定所尋物體的位置并且進(jìn)行精確定位,直流電機(jī)和驅(qū)動器完成對機(jī)器人的移動控制,而超聲波模塊實(shí)現(xiàn)避障功能[3]。盲人可以通過語音來對機(jī)器人進(jìn)行尋物控制,在語音命令的指示下機(jī)器人將獨(dú)立完成一次尋物過程,并會在找到的物體處給出語音提示?;赗FID的助盲尋物機(jī)器人是結(jié)合了RFID技術(shù)、語音聲控技術(shù)、傳感技術(shù)等的融合體,它給盲人的生活帶了極大的便利[4]。

  1功能描述

  基于RFID助盲尋物機(jī)器人,是幫助盲人尋找物品的電子產(chǎn)品,它可以方便盲人尋找所需物品,避免盲人因找物而帶來的麻煩,并可以通過語音命令對機(jī)器人進(jìn)行控制,同時機(jī)器人也會給出語音提示,讓盲人能享受現(xiàn)代科技生活的便捷。

  本系統(tǒng)主要包括以下幾個功能模塊:

  1)智能檢測模塊:

  ◆RFID讀寫器:檢測室內(nèi)的帶有RFID標(biāo)簽的物品,確定其物品方位后通過語音提示給盲人。

  ◆溫濕度傳感器:檢測室內(nèi)的溫度和濕度,通過語音提示給盲人。

  ◆煙霧濃度探測器:自動檢測煙霧及溫度,當(dāng)煙霧濃度大于一定的范圍的時候,進(jìn)行語音提示。

  2)手動控制模塊:

  ◆Zigbee模塊:在手動控制模塊與中控模塊之間進(jìn)行無線傳輸指令和數(shù)據(jù)。

  ◆按鍵控制:直接通過手持終端上的按鍵來發(fā)出控制指令。

  ◆SPCE061A語音模塊:識別盲人發(fā)出的語音指令來控制機(jī)器人,語音控制機(jī)器人使得整個系統(tǒng)操作簡單實(shí)用更加人性化。

  3)中控模塊:

  ◆中控模塊采用北京博創(chuàng)公司的UP-MAGIC2410開發(fā)板,它集成了助盲語音尋物機(jī)器人的所有子系統(tǒng),接口豐富,功能強(qiáng)大,是機(jī)器人的總控制器。通過手持終端的Zigbee無線通訊,控制機(jī)器人的開啟、溫濕度檢測、煙霧濃度檢測和語音尋物的功能。

  硬件系統(tǒng)框圖如下圖1。

基于RFID的助盲語音尋物機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)

  2項(xiàng)目總體設(shè)計(jì)

  根據(jù)助盲尋物機(jī)器人的功能與技術(shù)要求的實(shí)際情況,采用“硬件+軟件”的系統(tǒng)結(jié)構(gòu)來設(shè)計(jì)機(jī)器人[5],各部分簡要介紹如下:

基于RFID的助盲語音尋物機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)

  系統(tǒng)選用基于采用UP-MAGIC2410的硬件開發(fā)平臺。嵌入式操作系統(tǒng)選用Linux 2.6.24,可以很好的滿足用戶的需求,而且用戶可以對Linux系統(tǒng)進(jìn)行剪裁或定制。

  SQLit3數(shù)據(jù)庫支持大多數(shù)的SQL指令,使用方便,一個文件就是一個數(shù)據(jù)庫,不需要安裝數(shù)據(jù)庫服務(wù)器軟件,減小了系統(tǒng)空間的使用量。不僅有完整的Unicode標(biāo)準(zhǔn)支持,而且它還具有速度快的特點(diǎn),可以減少系統(tǒng)查詢所消耗的時間。

  系統(tǒng)的開發(fā)環(huán)境如下:

  1)硬件環(huán)境:UP-MAGIC2410硬件開發(fā)平臺、SPCE061A語音模塊、Zigbee無線傳輸模塊、超聲波模塊、RFID模塊;

  2)軟件環(huán)境:Linux2.6+SQLite3

  3應(yīng)用的技術(shù)分析

  3.1 Zigbee簡介

  ZigBee技術(shù)是一種應(yīng)用于短距離范圍內(nèi),低傳輸數(shù)據(jù)速率下的各種電子設(shè)備之間的無線通信技術(shù)。ZigBee名字來源于蜂群使用的賴以生存和發(fā)展的通信方式,蜜蜂通過跳ZigZag形狀的舞蹈來通知發(fā)現(xiàn)的新食物源的位置、距離和方向等信息,以此作為新一代無線通訊技術(shù)的名稱。

  ZigBee技術(shù)的特點(diǎn):

  1)功耗低:工作模式下,ZigBee傳輸速率低,傳輸數(shù)據(jù)量很小,因此信號的收發(fā)時間很短,其次在非工作模式時,ZigBee節(jié)點(diǎn)處于休眠模式。2)傳輸可靠:ZigBee的媒體接入控制層(MAC層)采用talk-when-ready的碰撞避免機(jī)制。3)網(wǎng)絡(luò)容量大:ZigBee低速率、低功耗和短距離傳輸?shù)奶攸c(diǎn)使它非常適宜支持簡單器件。4)兼容性:ZigBee技術(shù)與現(xiàn)有的控制網(wǎng)絡(luò)標(biāo)準(zhǔn)無縫集成。

  5)安全性:Zigbee提供了數(shù)據(jù)完整性檢查和鑒權(quán)功能,在數(shù)據(jù)傳輸中提供了三級安全性。

  CC2430是一顆真正的系統(tǒng)芯片(SoC)CMOS解決方案。這種解決方案能夠提高性能并滿足以ZigBee為基礎(chǔ)的2.4GHz ISM波段應(yīng)用對低成本,低功耗的要求。它結(jié)合一個高性能2.4GHz DSSS(直接序列擴(kuò)頻)射頻收發(fā)器核心和一顆工業(yè)級小巧高效的8051控制器。

  3.2 RFID簡介

  RFID模塊采用RMU900+讀寫器。RMU900+模塊是超小型化超高頻讀寫器核心部件,它集成了PLL、發(fā)射、接收、射頻耦合器件 及MCU等。其主要工作頻率為840-960MHz,同時支持EPC C1 GEN2、ISO 18000-6C兩個協(xié)議,可工作在+3.3V的低電壓下,最大輸出功率可達(dá)到27dBm,并且可以通過UART、WIEGAND連接上位機(jī)。RMU900+模塊還提供完整的通訊協(xié)議,可用于上位機(jī)為Linux操作系統(tǒng)的應(yīng)用。

  3.3 UP-MAGIC2410簡介

  本次項(xiàng)目的設(shè)計(jì)使用的硬件平臺是由北京博創(chuàng)興業(yè)科技有限公司開發(fā)的UP-MAGIC 2410實(shí)驗(yàn)平臺。S3C2410微處理器的ARM9高性能的開發(fā)平臺,主頻200MHz,100MHz總線頻率。采用最小系統(tǒng)核心板加擴(kuò)展板的雙層構(gòu)架,標(biāo)配32MSDRAM和64M NAND FLASH。提供LINUX2.4/2.6操作系統(tǒng),并且提供了完整的驅(qū)動和應(yīng)用程序。

  UP-MAGIC 2410是專門為對成本和功耗非常敏感同時性能要求又相當(dāng)高的應(yīng)用而設(shè)計(jì)的。憑借代碼大小和中斷延遲的優(yōu)化、集成的系統(tǒng)部件、靈活的配置、簡單的高級語言編程和強(qiáng)大的軟件系統(tǒng),UP-MAGIC2410將成為廣大系統(tǒng)(從復(fù)雜片上系統(tǒng)到低端的微控制器)的理想解決方案。

  部分模塊的詳細(xì)設(shè)計(jì):

  3.4語音控制模塊

  語音控制模塊主要是通zigbee的無線傳輸來控制助盲機(jī)器人尋找物體。SPCE061A是臺灣凌陽公司出的一款單片機(jī),它的CPU內(nèi)核采用凌陽最新推出μ’nSP?s21(Microcontroller and Signal Processor)16位微處理器芯片。圍繞μ’nSP?s21所形成的16位μ’nSP?s21系列單片機(jī)采用的是模塊式集成結(jié)構(gòu),它以μ’nSP?s21內(nèi)核為中心集成不同規(guī)模的ROM、RAM和功能豐富的各種外設(shè)接口部件;由于具有語音處理的特色,即便是不掛接額外的硬件,也能制作語音通訊產(chǎn)品[6]。

基于RFID的助盲語音尋物機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)

  3.5超聲波模塊設(shè)計(jì)圖如下

  超聲波是指頻率超過20KHz以上的聲音。理論上,聲音在25℃空氣中傳播速度的理論值為344m/s,這個速度在0℃時降為334m/s。如果測距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕U?。而超聲波測距是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據(jù)發(fā)射和接收的時間差計(jì)算出發(fā)射點(diǎn)到障礙物的實(shí)際距離。由此可見,超聲波測距原理與雷達(dá)原理是一樣的。

  測距的公式表示為:L=C*T (1)。

  式(1)中L為測量的距離長度;C為超聲波在空氣中的傳播速度;T為測量距離傳播的時間差(T為發(fā)射到接收時間數(shù)值的一半)。

基于RFID的助盲語音尋物機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)

  發(fā)射部分用來對超聲波換能器進(jìn)行功率驅(qū)動,將由單片機(jī)產(chǎn)生的40KHZ脈沖信號送入發(fā)射輸入端,經(jīng)過驅(qū)動放大達(dá)到足夠功率之后,推動超聲波換能器產(chǎn)生超聲波。之所以使用40KHz的脈沖信號是因?yàn)閷?shí)際的需要α=αf2式中α為衰減,α為介質(zhì)常數(shù)(空氣中α=2×10-13S2/cm),f位震蕩頻率。由上面的公示可知,當(dāng)f=40KHz時,α=3.2×10-4/cm,1/a=31m。如果f=30KMz,1/a=56cm。用波動方程表示超聲波A=A0e-axcos(wt+kx),那么(1/a)表示了在這個長度上,平面聲波的振幅衰減為原來e分之一。由此可見,頻率越高,衰減越厲害,傳播的距離越短。

基于RFID的助盲語音尋物機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)

  接收部分主要由接收換能器和放大電路等環(huán)節(jié)組成。其中放大電路是一個放大倍數(shù)較高的三級運(yùn)算放大器,是將從目標(biāo)處反射回來的微弱信號進(jìn)行放大整形后送入計(jì)數(shù)控制電路部分。由于在距離較遠(yuǎn)時聲波的回波信號很小,因而轉(zhuǎn)換為電信號的幅度也較小,為此要求將信號放大60萬倍左右[7]。因?yàn)楣采浞糯筮m合用于小信號放大,所以采用三級共射放大:前兩級放大100倍,其帶寬為15MHz能充分滿足要求;第三級采用運(yùn)算放大器,帶寬為4 MHz。

  部分代碼如下:

  void init0int() interrupt 0

  {uint timer_us = 0;

  TR0=0;//關(guān)閉定時器0

  timer_us = TH0*256+TL0;

  if(timer_us>190)timer_us=timer_us-180;//修正測距的距離

  if(timer_us<=735)

  {timer_us=timer_us-96}//二次修正

  length = ((unsigned long)(329)*timer_us)/2000;//計(jì)算長度,是擴(kuò)大1000倍

  flag = 0;

  EA = 0; }//禁止所有中斷

  3.6驅(qū)動模塊的設(shè)計(jì)

  驅(qū)動程序是連接硬件設(shè)備和設(shè)備文件的紐帶,是操作系統(tǒng)內(nèi)核和硬件設(shè)備之間的接口。

  采用嵌入式Linxu系統(tǒng),其驅(qū)動程序主要有兩種加載方式:直接編譯入內(nèi)核和模塊加載[8]。其中,采用直接編譯進(jìn)內(nèi)核方式,在內(nèi)核啟動時就已經(jīng)存在。而采用模塊化加載方式,需要時動態(tài)的加載入內(nèi)即可,這樣使得程序按需加載,節(jié)省了內(nèi)存,也相對靈活[9]。

  模塊化加載的的方式如下:

  1)在Linxu內(nèi)核目錄下,執(zhí)行“make menuconfig”指令,彈出Linux內(nèi)核的配置菜單。

  2)針對本課題選用的PL2303芯片的串口轉(zhuǎn)USB設(shè)備,在配置菜單中選擇響應(yīng)的驅(qū)動模塊,具體如下:

  USB support -->

  USB Serial Converter Support -->

  USB Serial Converter Support

  USB Prolific 2303 Single Port Serial Driver

  3)退出配置菜單,并執(zhí)行“make modules”指令編譯驅(qū)動模塊。也可以只編譯內(nèi)指定目錄下的驅(qū)動模塊,即通過執(zhí)行“make mod? ules SUBDIRS=drivers/usb/serial”指令只編譯內(nèi)核源代碼中drivers/usb/serial目錄下的驅(qū)動模塊。

  4)執(zhí)行完上述指令后,會在drivers/usb/serial目錄下生成驅(qū)動模塊usbserial.ko和pl2303.ko。

  5)將usbserial.ko和pl2303.ko下載到開發(fā)平臺上,并執(zhí)行“insmod usbserial.ko”和“insmod pl2303.ko”兩條指令。當(dāng)然由于pl2303. ko是依賴于usbserial.ko的,所以上述指令的執(zhí)行順序是不能改變的。

  6)最后,通過mknod建立響應(yīng)的設(shè)備文件結(jié)點(diǎn),即執(zhí)行“mknod /dev/ttyUSB0 c 188 0”即可,而指令中的/dev/ttyUSB0代表文件節(jié)點(diǎn)的名車;“c”代表驅(qū)動程序的類型,為字符驅(qū)動;而188和0分別代表該串口轉(zhuǎn)USB設(shè)備的主次設(shè)備號[10]。

  3.7系統(tǒng)的工作流程如下

  通過對SPCE061A語音模塊進(jìn)行語音命令預(yù)存儲操作,并將訓(xùn)練的命令存儲在flash中,在下次啟動時先判定是否已經(jīng)存儲,如果存儲,就直接將命令進(jìn)行加載。否則對其訓(xùn)練。

  在語音訓(xùn)練完成時,再和中控進(jìn)行串口通信。但接受到一條命令時,語音模塊就通過串口像中控平臺發(fā)送一個對應(yīng)的命令符。

  中控平臺找到物體后,語音模塊可以通過串口中斷接受中控平臺發(fā)來的命令,并給予語音提示。

  預(yù)先對RFID記錄標(biāo)簽信息。RFID啟動時,先開啟USB接口,等待中控平臺傳送指令,在通過指令找到相應(yīng)標(biāo)簽信息,然后開啟標(biāo)簽查找功能。

  機(jī)器人在中控平臺的指令下啟動,并根據(jù)中控平臺中尋徑算法控制其移動避障。并在每一次移動的同時發(fā)送超聲波所反饋的信息。

  超聲波先設(shè)定好其探測長度(設(shè)定頻率),當(dāng)電機(jī)驅(qū)動開啟后,超聲波通過單片機(jī)GPIO口控制也隨之開啟,隨著機(jī)器人的每一次移動,將前方信息反饋給單片機(jī)。再由單片機(jī)通過串口傳送給中控平臺。

  先存儲語音和RFID標(biāo)簽信息的數(shù)據(jù)庫,再創(chuàng)建語音控制,RFID通信,和算法的線程,機(jī)器人的調(diào)控接口作為參數(shù)設(shè)置在算法線程中,由算法來給電機(jī)驅(qū)動提供指令。

  4仿真及總結(jié)

  基于RFID助盲語音尋物機(jī)器人完成實(shí)現(xiàn)之后,我們對它進(jìn)行了測試,當(dāng)我們在室內(nèi)點(diǎn)燃物品產(chǎn)生煙霧時,機(jī)器人自動會通過語音提示來告訴盲人室內(nèi)的煙霧濃度過高,同時還可以檢測室內(nèi)的溫濕度狀況;當(dāng)通過語音發(fā)出尋物指令時,機(jī)器人就開始移動尋找物品,如果有障礙物遮擋時它會自動及時進(jìn)行避障,不至于撞到周圍物體,直到機(jī)器人移動到RFID模塊掃描到所要找的物品時,它會停止移動并且通過語音提示來告訴盲人物品已找到。整個測試結(jié)果基本達(dá)到了預(yù)期的效果,但是機(jī)器人移動起來所走的路線由于受到路面等環(huán)境因素稍微有點(diǎn)偏差,以致最后離找到的物品發(fā)生位置上的偏差。

  這款助盲語音尋物機(jī)器人所定位的服務(wù)對象是我國的廣大的盲人群體,切實(shí)的幫助盲人解決生活上尋找物體的不便,為他們帶來物聯(lián)網(wǎng)時代下高科技的生活體驗(yàn)[11]。利用RFID定位導(dǎo)航,是依賴其較高的精確度,且便于控制[12]。根據(jù)RFID技術(shù)檢測到目標(biāo)物的位置[13],利用超聲波探測技術(shù)結(jié)合貪心算法進(jìn)行局部路徑規(guī)劃[14],在保證規(guī)劃任務(wù)順利完成的同時,也保證了路徑規(guī)劃的收斂性,并且具有較好的環(huán)境適應(yīng)能力[15]。在探測路面狀況方面,是利用超聲波來進(jìn)行實(shí)時探測。超聲波不僅可以設(shè)置探測定長,而且探測距離遠(yuǎn)。采用Zigbee無線傳輸語音命令控制機(jī)器人,實(shí)現(xiàn)人機(jī)互動的趣味和便利。

  隨著對移動機(jī)器人技術(shù)的深入研究,以及機(jī)器人在工業(yè)和日常生活中的逐漸普及,采用RFID技術(shù)的移動機(jī)器人研究的顯得越來越為人們所關(guān)注,其也必將為人們的生活、生產(chǎn)帶了極大的便利。

  參考文獻(xiàn):

  [1]李磊,葉濤,譚民.移動機(jī)器人技術(shù)研究現(xiàn)狀與未來[J].機(jī)器人,2002(24):475-477.

  [2]楊化書,曲新峰.工業(yè)機(jī)器人技術(shù)的應(yīng)用及發(fā)展[J].黃河水利職業(yè)技術(shù)學(xué)院學(xué)報,2004(4):42-43.

  [3]郭戈,胡征峰,董江輝.移動機(jī)器人導(dǎo)航與定位技術(shù)[J].微計(jì)算機(jī)信息,2003(8):10-12.

  [4]陳博.機(jī)器人技術(shù)的發(fā)展趨勢和最新發(fā)展[J].西安教育學(xué)院學(xué)報,2004(3):85-87.

  [5]康一梅.嵌入式軟件設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2008:178,189-194,282-284.

  [6]王??.有聲圖書市場分析[EB/OL].http://bbs.省略/home.php?mod=space&uid=51004&do=blog&id=379745,2010-11-02。

  [7]吳濤.移動機(jī)器人避障與路徑規(guī)劃研究[D].武漢:華中科技大學(xué),2004.

  [8]李俊.嵌入式Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人民郵電出版社,2008:16-20.

  [9]劉淼.嵌入式系統(tǒng)接口設(shè)計(jì)與Linux驅(qū)動程序開發(fā)[M].北京:北京航空航天大學(xué)出版社,2006:199-204.

  [10]童永清.Linux C編程實(shí)戰(zhàn)[M].北京:人民郵電出版社,2008:204-219.

  [11]蔣新松.機(jī)器人學(xué)導(dǎo)論[M].沈陽:遼寧科學(xué)技術(shù)出版社,1944:511-516,543-554.

  [12]陳華志,謝存禧.移動機(jī)器人導(dǎo)航及其相關(guān)技術(shù)的研究[J].機(jī)床與液壓,2003(4):12-15.

  [13]雷斌.動態(tài)環(huán)境下多移動機(jī)器人路勁規(guī)劃研究[M].武漢:武漢理工大學(xué),2006.

  [14]劉京京.多目標(biāo)遺傳優(yōu)化及其在機(jī)器人路徑規(guī)劃中的應(yīng)用[D].南京:南京理工大學(xué),2007.

  [15]劉世成.工業(yè)機(jī)器人路徑規(guī)劃算法研究[M].沈陽:沈陽工業(yè)大學(xué),2004.