《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 嵌入式Linux下移動機器人超聲波測距系統(tǒng)
嵌入式Linux下移動機器人超聲波測距系統(tǒng)
單承剛
摘要: 設(shè)計了基于S3C2410+Linux平臺的移動機器人超聲波避障系統(tǒng)。介紹了SRF05新型高精度傳感器的工作原理、測距系統(tǒng)多路超聲波傳感器的軟硬件實現(xiàn)及機器人平臺的整個軟件工作流程。Linux系統(tǒng)超聲波驅(qū)動模塊中采用的輪循工作方式實現(xiàn)了機器人在未知環(huán)境下的避障功能,機器人平臺運行效果良好。
Abstract:
Key words :

    摘 要:設(shè)計了基于S3C2410+Linux平臺的移動機器人超聲波避障系統(tǒng)。介紹了SRF05新型高精度傳感器的工作原理、測距系統(tǒng)多路超聲波傳感器的軟硬件實現(xiàn)及機器人平臺的整個軟件工作流程。Linux系統(tǒng)超聲波驅(qū)動模塊中采用的輪循工作方式實現(xiàn)了機器人在未知環(huán)境下的避障功能,機器人平臺運行效果良好。


    關(guān)鍵詞: 機器人;ARM9;超聲波;導(dǎo)航;避障

     在機器人的導(dǎo)航系統(tǒng)中,超聲波傳感器以其信息處理簡單、速度快和價格低等優(yōu)點,被廣泛用作移動機器人的測距傳感器,以實現(xiàn)避障、定位和導(dǎo)航等功能。實驗室機器人以S3C2410+Linux系統(tǒng)為架構(gòu),采用了高精度的SRF05超聲波傳感器測距,實現(xiàn)對機器人的導(dǎo)航避障。該傳感器的回波反饋與測距方式與通用的超聲波傳感器有所區(qū)別,在S3C2410系統(tǒng)中實現(xiàn)也稍有難度,由于傳感器精度可達到1cm,因此使用該傳感器彌補了通用超聲波傳感器近距離測距存在盲點的問題,節(jié)省了外圍紅外測距模塊等硬件資源。
1 SRF05傳感器工作原理
    S3C2410微控制器利用10 μs的高頻脈沖觸發(fā)SRF05傳感器,觸發(fā)下傳感器會發(fā)出8個40 kHz的超頻脈沖,當(dāng)SRF05傳感器的ECHO引腳電平為高時,開啟定時器計數(shù)器計時;當(dāng)ECHO變?yōu)榈碗娖綍r,表明機器人遇到障礙物,編程實現(xiàn)定時器停止計時。高脈沖寬度與測距距離有正比關(guān)系,SRF05的測距有效范圍為1 cm~4 m,無障礙物或遇超大障礙物時,ECHO腳會變?yōu)榈碗娖剑诉^程需要時間為30 ms,設(shè)置定時器的周期比超聲傳感器探測最大距離所需的渡越時間稍長。因此,在測距時定時器周期設(shè)置應(yīng)至少大于30 ms才能有效測距。
2 系統(tǒng)方案設(shè)計
2.1 系統(tǒng)組成結(jié)構(gòu)
    輪式移動機器人核心控制系統(tǒng)由觸摸屏顯示、攝像頭圖像采集、超聲波避障、直流電機閉環(huán)控制、人感應(yīng)傳感器、水(火)檢測和氣體檢測模塊、串口無線Modem模塊部分組成。其中超聲波避障模塊直接影響機器人行進位移的精度以及在有效范圍內(nèi)的圖像采集控制。整個系統(tǒng)基于ARM9架構(gòu)的S3C2410微控制器與Linux系統(tǒng)平臺,使用Linux系統(tǒng)驅(qū)動程序控制各個硬件模塊[1]
2.2 超聲波測距系統(tǒng)
    為了實現(xiàn)導(dǎo)航、避障,移動機器人的前、后、左、右各安裝1路SRF05超聲波傳感器,使機器人能夠感知4個方位的障礙信息。另外,為了滿足系統(tǒng)擴展,可添加安裝多路SRF05超聲波傳感器,進一步增強機器人的導(dǎo)航避障性能。安裝超聲波傳感器之間角度應(yīng)該大于它的波束角30°,這樣傳感器同時工作時才不會有干擾。采用分組的方式,左右兩套和前后兩套分別為一組,組與組之間采用輪循的方式工作。這樣既可以得到很高的采集頻率,同時也滿足了系統(tǒng)的實時性要求。
    采用相關(guān)GPIO口作為超聲波傳感器的INIT觸發(fā)引腳,并且配置定時器周期,設(shè)置定時中斷及外部中斷。測距流程:開始打開超聲波,激發(fā)傳感器INIT引腳10 ms,打開定時器并開始計時,在定時器周期內(nèi)收到傳感器ECHO低電平觸發(fā)外部中斷,在外部中斷處理程序中讀取定時器計數(shù)值,計算障礙物距離,并且傳送給中央處理器。不同組傳感器的開啟在定時中斷中完成,并且開啟另一定時器完成計數(shù)功能[2]。系統(tǒng)測距流程圖如圖1所示。

 

 

2.3 采集回波
    S3C2410 GPIO觸發(fā)中斷只能設(shè)置一種觸發(fā)方式,如果設(shè)為上升沿觸發(fā)打開定時器計時,則無法捕獲下降沿,也就無法關(guān)閉定時器,因此采用軟件方式實現(xiàn)。設(shè)置2個時間延遲函數(shù)usdelay( )和msdelay( ),在給出10 ms高頻脈沖后等超聲波觸發(fā)再使能定時器計時,這些在該組傳感器對應(yīng)的定時器中斷中完成。并設(shè)置外部中斷EINT1接收超聲波傳感器的ECHO回波引腳的變化。其觸發(fā)方式為下降沿觸發(fā),等下降沿來臨關(guān)閉定時器讀出計數(shù)值即為脈寬的時間長度時,然后根據(jù)距離公式=(ECHO 高電平的時間)×(聲納速度)/2得出距離。空氣中V與溫度關(guān)系:T為攝氏溫度[3]。一般情況下超聲波速近似聲速,在室內(nèi)溫度影響下取約343.2 m/s。
3 軟件實現(xiàn)
3.1 延遲函數(shù)實現(xiàn)

    設(shè)計軟件延遲函數(shù)usdelay( ),代碼實現(xiàn)如下:
    static int delayLoopCount1=10;
    void usdelay(int time)
    { int i;
      for(;time>0;time--)
      for(i=0;i    函數(shù)延遲時間為10μs,打開傳感器激發(fā)高頻脈沖后延遲10μs然后關(guān)脈沖,即可利用該函數(shù)。
    設(shè)計msdelay( )函數(shù)用于衡量整個測距周期的時間值。msdelay(1000)延遲大約為1 s,這樣系統(tǒng)可以有足夠的回波檢測時間,同時也不會對其他多路超聲波傳感器造成信號干擾。msdelay( )代碼實現(xiàn)如下:
    static int delayLoopCount2=1310;
    void msdelay(int time)
    { int i;
      for(;time>0;time--)
      for(i=0;i    可以利用PC口相關(guān)引腳作為超聲波傳感器使能端口,程序?qū)崿F(xiàn)如下:
    rGPCCON=0x555;//端口C為輸出口用于啟動超聲波,可激發(fā)多路超聲波
    rGPCDAT=0x0;//數(shù)據(jù)位清0
    rGPCDAT=0xf;//設(shè)置為高頻脈沖,發(fā)出8T 40kHz超頻波
    usdelay(1);//延遲10μs
    rGPCDAT=0x0;//清數(shù)據(jù)位
3.2 回波檢測實現(xiàn)
    利用定時器計數(shù)器功能和外部中斷可以實現(xiàn)回波檢測計算障礙物距離,外部中斷接超聲波的ECHO并設(shè)置為下降沿觸發(fā)。定時器的初始化如下:
    rTCFG0=0x9595;                                      //預(yù)分頻值為95
    rTCFG1=0x00000;                                     //分割值1/2
    rTCNTB0=10 000;
    根據(jù)T=[TCNTB0×(TCFG0+1)×(1/TCFG1)]/50MHz得出定時器的周期為60ms,在這個時間段內(nèi)足以計算回波時間。
    外部中斷1初始化如下:
    rGPFCON=0xaa;                              //GPF1 設(shè)置為 EINT1
    rINTMOD=0x0;                              //為普通中斷
    rGPFUP=0xf;                              //禁止 GPF0 上拉電阻
    pISR_EINT1=(unsigned)Eint1Handler;       //設(shè)置外部中斷
                                             //中斷向量
    EnableIrq(BIT_EINT1);                    //使能中斷
    rEXTINT0 =0x492;                         // EINT1 下降沿觸發(fā)
3.3 障礙物距離計算
    void __irq Eint1Handler(void)   // eint1 中斷服務(wù)子程序
    {  
      sonar_time_front =((10000- rTCNTO0) >> 1);//定時器的計數(shù)值除以2即為障礙物距離
      ClearPending(BIT_EINT1); //清除中斷標(biāo)志位
      i++;
    Uart_Printf('nEINT1 occured times=%dn',i);//串口打印調(diào)試顯示中斷發(fā)生次數(shù)
        Uart_Printf('nsonar_time_front=%d',sonar_time_front);
//串口打印顯示計算器計數(shù)值
    t1= sonar_time_front*0.204;                //計算距離值
    front_range=t1;                                  // 賦值全局變量     
    }
3.4 輪循方式測距
    由于超聲波之間有干擾,采用輪詢[4]的方式依次打開超聲波,定時中斷中啟動下一路超聲波傳感器工作,下一路對應(yīng)的定時中斷再啟動其他路,每次只測1個,這樣可以有效地避免干擾,為了提高實時性可以控制定時器周期,如設(shè)置為35 ms,這樣4路超聲波輪循1次大約為140 ms,足以滿足實時要求。
4 機器人行進過程
    利用多路超聲波傳感器的反饋障礙物信息控制機器人直流電機驅(qū)動系統(tǒng)的軟件流程圖如圖2所示。

 


    嵌入式Linux系統(tǒng)中SRF05模塊為只讀的字符設(shè)備。在應(yīng)用層下打開該設(shè)備后,驅(qū)動程序完成測距,測得的數(shù)據(jù)傳到應(yīng)用層,應(yīng)用層根據(jù)算法判斷障礙物的位置給直流電機,控制系統(tǒng)實現(xiàn)避障導(dǎo)航[5]
    機器人的每次行為都是根據(jù)超聲波測距模塊和當(dāng)前機器人運行的即時速度給出運行時間,在遇到障礙物時(0[6]。
    采用新型SRF05超聲波傳感器,在S3C2410+Linux平臺的移動機器人上實現(xiàn)了超聲波的測距,并利用超聲波傳感器控制驅(qū)動系統(tǒng)和圖像采集系統(tǒng)。各模塊驅(qū)動程序已成功加載到嵌入式Linux操作系統(tǒng)中,在此平臺下機器人運行效果良好。
參考文獻
[1] RUBINI A. Linux設(shè)備驅(qū)動程序. LISOLEG譯.北京:中國電力出版社,2000:66-76.
[2] BILLUR B. Fast processing techniques for accurate ultrasonic range measurements[J]. Measurement Science and Technology,2000,11 (1) :45 - 50.
[3] 王峰,葛立峰.一種高精度超聲測距系統(tǒng)的設(shè)計 [J]. 計算機技術(shù)與發(fā)展,2008,18(1):229-236.
[4] 陳春林,陳宗海,卓睿.基于多超聲波傳感器的自主移動機器人探測系統(tǒng) [J].測控技術(shù),2004,23(6): 11-13.
[5] TIKANMKI A,MKEL T, PIETIKINEN A, et al. Multi-robot system for exploration in an outdoor environment[J]. Robotics and Applications and Telematics ,2007,9(1):563-567.
[6] Dai G, Chen T. Design on measurement and control system of cleaning robot based on sensor array detection[J].Control and Automation, 2007. ICCA 2007. IEEE International Conference on Volume , Issue , 2007-05-30~2007-06-01:1319 -1322.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产日韩欧美一区在线 | 亚洲黄网站黄| 欧美视频一区二区三区| 久久久国际精品| 制服丝袜亚洲播放| 亚洲日本中文字幕免费在线不卡| 亚洲欧美亚洲| 亚洲视频1区| 亚洲精品一区久久久久久| 激情成人中文字幕| 国产欧美日韩一区二区三区| 欧美深夜影院| 欧美区高清在线| 亚洲国产精品成人久久综合一区 | 亚洲欧美日本国产专区一区| 亚洲高清资源| 午夜精品免费在线| 中文国产成人精品| 亚洲精品日韩欧美| 亚洲国产日韩欧美在线图片| 好吊日精品视频| 国产情人节一区| 欧美性大战久久久久| 欧美欧美在线| 欧美女同视频| 欧美日韩成人一区二区三区| 欧美成人a∨高清免费观看| 久久综合色一综合色88| 久久人人爽人人爽| 久久三级视频| 狼人天天伊人久久| 免费观看在线综合色| 美女91精品| 欧美1区2区3区| 欧美aa在线视频| 欧美高清视频在线播放| 欧美粗暴jizz性欧美20| 欧美1区免费| 欧美成人有码| 欧美国产极速在线| 久久久999精品免费| 久久国产主播精品| 久久精品在线视频| 久久亚洲色图| 欧美凹凸一区二区三区视频| 欧美福利专区| 欧美精品一区在线观看| 欧美日韩精品久久| 欧美色123| 国产精品一二三视频| 国产欧美精品日韩精品| 国产午夜精品久久久久久免费视| 国产偷自视频区视频一区二区| 国产自产女人91一区在线观看| 精品电影在线观看| 亚洲片区在线| 亚洲最新合集| 一区二区三区导航| 午夜在线精品偷拍| 久久精品亚洲一区二区| 亚洲三级视频| 亚洲视频1区2区| 性视频1819p久久| 久久综合久色欧美综合狠狠| 欧美精品首页| 国产精品久久久久久久久久妞妞| 国产毛片一区| 亚洲高清视频在线观看| 亚洲久久一区二区| 亚洲男人第一av网站| 久久成人精品无人区| 亚洲人成亚洲人成在线观看| 亚洲少妇中出一区| 欧美中文字幕在线观看| 老司机免费视频一区二区| 欧美激情中文字幕乱码免费| 欧美丝袜一区二区三区| 国产欧美日韩在线观看| 欧美日韩福利在线观看| 国产美女精品一区二区三区 | 日韩午夜av在线| 亚洲欧美久久久久一区二区三区| 久久国产视频网| 99爱精品视频| 欧美在线视频免费观看| 欧美r片在线| 国产精品入口麻豆原神| 在线观看日韩国产| 中文一区字幕| 亚洲欧洲日韩在线| 午夜精品视频| 欧美激情小视频| 国产欧美日韩| 亚洲美洲欧洲综合国产一区| 新67194成人永久网站| 亚洲美女电影在线| 欧美综合激情网| 欧美日韩性生活视频| 国内精品一区二区| 中文在线资源观看网站视频免费不卡| 久久精品亚洲精品| 亚洲免费在线电影| 欧美精品粉嫩高潮一区二区| 国产啪精品视频| 99精品国产福利在线观看免费| 欧美中文字幕不卡| 亚洲一本视频| 欧美wwwwww| 国产色视频一区| 亚洲精品久久久久中文字幕欢迎你| 亚洲欧美另类在线| 一区二区三区高清视频在线观看| 久久精品一区二区三区不卡牛牛| 国产精品www| 亚洲精品免费一二三区| 亚洲大胆视频| 欧美在线国产| 欧美亚洲不卡| 亚洲日本成人| 亚洲激情啪啪| 久久深夜福利| 国产精品av久久久久久麻豆网| 好吊日精品视频| 亚洲一区二区三区涩| 日韩一二三区视频| 欧美一区二区视频在线观看| 欧美日韩国产三级| 亚洲激情欧美激情| 91久久在线视频| 裸体丰满少妇做受久久99精品| 国产日产高清欧美一区二区三区| 一本色道久久综合亚洲精品小说 | 国产欧美日韩| 亚洲性视频网站| 亚洲一区二区欧美| 欧美日韩18| 亚洲日韩视频| 亚洲区第一页| 久久av一区二区三区| 国产精品激情电影| 亚洲第一黄色网| 亚洲第一在线综合在线| 久久久精品性| 国产日韩精品一区二区三区在线| 一本色道婷婷久久欧美| 99国产精品视频免费观看一公开| 女女同性女同一区二区三区91| 伊人精品久久久久7777| 久久se精品一区精品二区| 久久久欧美一区二区| 国内一区二区三区在线视频| 久久成年人视频| 麻豆精品传媒视频| 亚洲电影一级黄| 亚洲美女尤物影院| 欧美精彩视频一区二区三区| 亚洲精品免费一二三区| 中文亚洲视频在线| 国产精品国产成人国产三级| 亚洲嫩草精品久久| 久久精品成人一区二区三区| 国产一区二三区| 亚洲国产精品久久久久| 欧美肥婆在线| aⅴ色国产欧美| 午夜精品美女久久久久av福利| 国产精品亚洲аv天堂网| 午夜性色一区二区三区免费视频| 久久久91精品国产| 亚洲第一福利视频| 亚洲蜜桃精久久久久久久| 欧美精品在线视频| 亚洲精品国产日韩| 亚洲自拍偷拍麻豆| 国产一二三精品| 亚洲人精品午夜| 欧美色视频日本高清在线观看| 亚洲性人人天天夜夜摸| 久久精品卡一| 亚洲国内欧美| 亚洲欧美日韩在线不卡| 国产亚洲欧美中文| 亚洲激情六月丁香| 卡一卡二国产精品| 亚洲午夜一区| 欧美精品日日鲁夜夜添| 西西人体一区二区| 欧美日本亚洲视频| 久久精品亚洲精品国产欧美kt∨| 欧美午夜宅男影院| 亚洲美女精品成人在线视频| 国产色产综合色产在线视频| 一区二区三区国产精华| 精品二区久久| 欧美中文字幕在线视频| 一区二区激情视频| 欧美顶级少妇做爰| 久久精品国产亚洲一区二区三区| 国产精品毛片| 国产精品一区二区三区久久久|