基於超聲波傳感器的移動機器人導航設計
發布時間:2019-02-25 責任編輯:wenwei
【導讀】該(gai)機(ji)器(qi)人(ren)的(de)最(zui)小(xiao)係(xi)統(tong)為(wei),觸(chu)摸(mo)屏(ping)模(mo)塊(kuai),超(chao)聲(sheng)波(bo)模(mo)塊(kuai),攝(she)像(xiang)頭(tou)圖(tu)像(xiang)采(cai)集(ji)模(mo)塊(kuai),直(zhi)流(liu)電(dian)機(ji)閉(bi)環(huan)控(kong)製(zhi)係(xi)統(tong),在(zai)整(zheng)個(ge)係(xi)統(tong)中(zhong)測(ce)距(ju)是(shi)最(zui)總(zong)要(yao)的(de)一(yi)環(huan),它(ta)直(zhi)接(jie)影(ying)響(xiang)電(dian)機(ji)運(yun)行(xing)距(ju)離(li)的(de)精(jing)度(du),在(zai)有(you)效(xiao)範(fan)圍(wei)內(nei)的(de)圖(tu)像(xiang)采(cai)集(ji)控(kong)製(zhi)。整(zheng)個(ge)係(xi)統(tong)都(dou)是(shi)在(zai)ARM9 與linux 平台中完成,每個模塊都是用設備驅動的方式實現使得模塊的控製更加方便。
1、引言
在項目開發中采用從英國進口的SRF05 超聲波傳感器,它的回波反饋與測距方式與通常使用的超聲波傳感器相比較特別, 在ARM中實現也稍有難度, 但該傳感器精度很高可達到1cm, 因此用該傳感器去掉了用於近距離測距的紅外測距模塊節約了硬件資源。
該(gai)機(ji)器(qi)人(ren)的(de)最(zui)小(xiao)係(xi)統(tong)為(wei),觸(chu)摸(mo)屏(ping)模(mo)塊(kuai),超(chao)聲(sheng)波(bo)模(mo)塊(kuai),攝(she)像(xiang)頭(tou)圖(tu)像(xiang)采(cai)集(ji)模(mo)塊(kuai),直(zhi)流(liu)電(dian)機(ji)閉(bi)環(huan)控(kong)製(zhi)係(xi)統(tong),在(zai)整(zheng)個(ge)係(xi)統(tong)中(zhong)測(ce)距(ju)是(shi)最(zui)總(zong)要(yao)的(de)一(yi)環(huan),它(ta)直(zhi)接(jie)影(ying)響(xiang)電(dian)機(ji)運(yun)行(xing)距(ju)離(li)的(de)精(jing)度(du),在(zai)有(you)效(xiao)範(fan)圍(wei)內(nei)的(de)圖(tu)像(xiang)采(cai)集(ji)控(kong)製(zhi)。整(zheng)個(ge)係(xi)統(tong)都(dou)是(shi)在(zai)ARM9 與linux 平台中完成,每個模塊都是用設備驅動的方式實現使得模塊的控製更加方便。
2、SRF05 超聲波測距方法
提供一個10us 的脈衝觸發超聲波傳感器,SRF05 會發出8 個周期的頻率為40khz 的超頻脈衝,此時在echo 也是就回波口上的電平變為高,此時定時器開始計時,等到echo 變為低電平證明有障礙物此時停止計時,高脈衝的寬度有測距的距離成正比,該超聲波的有效測距範圍為1cm~4m, 因此如果沒有障礙物或障礙物大於4m,echo 依然會變為低電平此時定時器的時間為30ms, 因此在測距時定時器的周期應大於30ms 這樣才能有效測距。

原理如圖1 所示。
3、超聲波測距軟件實現

如圖2 為超聲波測距的流程圖。
3.1 回波檢測的采集方法
超聲波的回波的檢測是個難點, 因為在ARM中一個端口設置中斷隻能設置一種觸發方式, 如果設為上升沿觸發可以打開定時器定時但無法捕獲下降沿,也就無法關閉定時器,從而不能測距, 因此用軟件的方式實現。首先設置兩個時間延遲函數usdelay()和msdelay(),這樣可以在給出高脈衝10us 後等超聲波觸發再打開定時期計時,在設置一個外部中斷eint1 接到超聲波傳感器的echo 口並設置為下降沿觸發,等下降沿來臨關閉定時器讀出值既為脈寬的時間長度,然後根據障礙物的距離=(ECHO高電平的時間)* 聲納速度/2 得出距離。空氣中v 與溫度關係:v=331.5√1+T/273 m/s,T 為攝氏溫度。一般情況下超聲波速近似聲速,在室內溫度影響下取約343.2m/s。
3.2 超聲波觸發的實現
利用數字示波器精確設計一個軟件計時函數usdelay (),具體實現如下。

則usdelay(1)既為10us,該函數用於在給出激發高脈衝後延續10us 然後關脈衝。
還要設計一個msdelay()用於控製整個測距周期的時間值。
msdelay(1000)在主函數數中用於延遲1s,這樣定時器可以完全有足夠的回波檢測時間同時也不會對其它三路超聲波信號造成幹擾。
如下所示。

3.3 超聲波回波檢測的實現
回波檢測計算脈寬的時間需要用到定時器和外部中斷,外部中斷接超聲波的echo 並設置為下降沿觸發。定時器的初始化如下。
rTCFG0=0x9595; //預分頻值為95
rTCFG1=0x00000; //分割值1/2
rTCNTB0=10000; /
根據T=[TCNTB0*(TCFG0+1)*(1/TCFG1)]/50MHZ 得出定時器的周期為60ms 在這個時間段裏足以計算回波時間。
外部中斷1 初始化如下
rGPFCON=0xaa; //GPF1 設置為EINT1
rINTMOD=0x0; //設置為普通中斷
rGPFUP=0xf; //禁止GPF0 上拉電阻
pISR_EINT1=(unsigned)Eint1Handler; //建立中斷向量
EnableIrq(BIT_EINT1); //使能中斷
rEXTINT0 =0x492; // EINT1 下降沿觸發
根據T=[TCNTB0*(TCFG0+1)*(1/TCFG1)]/50MHZ 得出定時器的周期為60ms 在這個時間段裏足以計算回波時間。
3.4 在外部中斷中計算機距離

3.5 循環控製與輪詢測距
youyuchaoshengbozhijianyouganrao,caiyonglunxundefangshiyicidakaichaoshengbo,meicizhiceyige,zheyangkeyiyouxiaodibimianganrao,weiletigaoshishixingkeyikongzhidingshiqizhouqi,birushezhiwei35ms,這樣四路超聲波輪詢一次大約為140ms,足以滿足實時要求。
4、機器人控製的實現
圖3 為利用超聲波的反饋信息控製機器人直流電機閉環係統的總體結構圖。

linux 係(xi)統(tong)中(zhong)超(chao)聲(sheng)波(bo)傳(chuan)感(gan)器(qi)為(wei)隻(zhi)讀(du)的(de)字(zi)符(fu)設(she)備(bei),具(ju)體(ti)應(ying)用(yong)為(wei)在(zai)應(ying)用(yong)程(cheng)序(xu)下(xia)打(da)開(kai)超(chao)聲(sheng)波(bo)設(she)備(bei),然(ran)後(hou)在(zai)驅(qu)動(dong)中(zhong)測(ce)距(ju),測(ce)得(de)的(de)數(shu)據(ju)傳(chuan)到(dao)應(ying)用(yong)程(cheng)序(xu),應(ying)用(yong)程(cheng)序(xu)中(zhong)有(you)超(chao)聲(sheng)波(bo)的(de)避(bi)障(zhang)算(suan)法(fa),根(gen)據(ju)算(suan)法(fa)判(pan)斷(duan)障(zhang)礙(ai)物(wu)的(de)位(wei)置(zhi)給(gei)直(zhi)流(liu)電(dian)機(ji)控(kong)製(zhi)信(xin)號(hao)進(jin)行(xing)避(bi)障(zhang)導(dao)航(hang)。
觸摸屏中的圖形界麵中含有機器人的指令設置, 可以設置運行速度,圖像采集與超聲波模塊的打開與關閉,是否開啟機器人模糊算法運行軌跡還是使用普通的PID 調節, 這使得機器人有很多種方案可以選擇。
機器人的每一次行為都是根據超聲波傳感器測得的值和當前機器人運行的即時速度來來給出將要運行的時間, 在遇到障礙物時(0<t<30us 等於30 微秒時達到超聲波的最大探測距離), 開啟攝像頭圖像采集模塊, 這時攝像頭會拍下障礙物的圖像,並利用無線MODEM把圖像傳回控製電腦,這樣用戶就可以知道前方是什麼障礙物, 該係統實現了移動機器人的自主避障和采集障礙物信息的作用,可以用來探測未知環境。
5、結論
本文采用新型的超聲波傳感器,在ARM9 與嵌入式linux 為平台的移動機器人上實現了超聲波的測距, 並利用超聲波傳感器控製運動係統和圖像采集係統。該機器人目前已經成功應用與本項目的開發並取得良好的效果。
本文創新點:采用一種精度高的新型超聲波傳感器,用軟件方法克服了它在ARM9 中不利於檢測回波的問題,成功應用於移動機器人的運行軌跡控製, 使得機器人無論在行走和圖像采集的即時性上都得到了很大的高。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻



