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

?

基于C51單片機(jī)智能機(jī)器人觸覺導(dǎo)航系統(tǒng)設(shè)計(jì)

2015-05-15 10:22:56雷道仲
電子測試 2015年8期
關(guān)鍵詞:墻角觸覺導(dǎo)航系統(tǒng)

雷道仲

(湖南信息職業(yè)技術(shù)學(xué)院,湖南長沙,410200)

1 觸須傳感器

機(jī)完成機(jī)器人導(dǎo)航功能,直流伺服電機(jī)是機(jī)器人的行走系統(tǒng),完成各種行走動作。

觸覺傳感器工作原理非常簡單,其的等效電路原理圖如圖2中虛線所示[2]。傳感器在撲捉或感知外界信息是靠其裝在傳感器外面的觸須來完成,圖中的“右觸須”、“左觸須”實(shí)際上就是兩個帶觸須的觸覺型開關(guān),當(dāng)它們平時沒有觸碰到實(shí)物時,它們處于常開狀態(tài);將它們一端連接到單片機(jī)的I/O控制端口上(圖中P3.2/P3.3),則對應(yīng)的端口呈現(xiàn)出高電平狀態(tài);當(dāng)胡須觸碰到物體時,與它聯(lián)動的開關(guān)因受力而閉合,從而拉低對應(yīng)的單片機(jī)端口引腳電平,單片機(jī)則通過判斷對應(yīng)引腳電平的高低來間接感知外部事件(觸須觸碰到障礙物)是否發(fā)生。

圖1 機(jī)器人觸覺導(dǎo)航系統(tǒng)構(gòu)成框圖

2 系統(tǒng)設(shè)計(jì)方案

系統(tǒng)主要由單片機(jī)AT89C51、觸覺傳感器、直流伺服電機(jī)、供電電路等組成,其系構(gòu)成框圖如圖1所示。其中單片機(jī)是整個系統(tǒng)的控制核心,用來接收觸覺傳感器傳回來的外界信息,并根據(jù)信息情況作出相應(yīng)決策;控制伺服電機(jī)作出相應(yīng)動作,如:前進(jìn)、后退或左、右轉(zhuǎn)彎等。觸覺傳感器用來感知外界障礙物,配合單片

基金項(xiàng)目:湖南教育廳科學(xué)研究項(xiàng)目(No.12C1176)

3 硬件電路設(shè)計(jì)

3.1 機(jī)器人觸覺導(dǎo)航系統(tǒng)電路設(shè)計(jì)

3.2 電路工作原理

如圖2所示的電路工作過程如下:電路通電后,單片機(jī)P2.0與P2.1輸出伺服電機(jī)的控制信號,從而引導(dǎo)機(jī)器人朝前行走,同時單片機(jī)P3.2、P3.3端口負(fù)責(zé)收集左、右觸覺傳感器采集到的信號,當(dāng)左、右傳感器沒有碰到障礙物時,P3.2=P3.3=1;當(dāng)某個時刻,左觸須碰到障礙物,P3.2=0;則進(jìn)入相應(yīng)左避障子程序,如:后退——右轉(zhuǎn)等,完成避障;右觸須工作過程跟左觸須類似。如同時檢測到P3.2=P3.3=0;則先后退——再掉頭往反方向走,完成避障和導(dǎo)航功能。

4 軟件系統(tǒng)設(shè)計(jì)

4.1 機(jī)器人觸覺導(dǎo)航系統(tǒng)程序設(shè)計(jì)

機(jī)器人觸覺導(dǎo)航系統(tǒng)程序設(shè)計(jì)思路如下,51單片機(jī)的兩個端口P3.2和P3.3分別負(fù)責(zé)對左、右觸覺傳感器觸須進(jìn)行監(jiān)控,當(dāng)機(jī)器人前進(jìn)過程中左前方有障礙物時,左邊的觸須碰到這個障礙物時,P3.2引腳電平會變成低電平,程序會立刻轉(zhuǎn)至左避障函數(shù)中去執(zhí)行,只要我們在左避障函數(shù)中合理設(shè)置相關(guān)避障函數(shù),如:后退——右轉(zhuǎn)——再前進(jìn)等,便可以成功避開障礙,完成機(jī)器人導(dǎo)航。右觸須程序設(shè)計(jì)思路與此類似,右觸須被端口P3.3所監(jiān)控,整個系統(tǒng)主程序流程圖如圖3所示。

圖2 機(jī)器人觸覺導(dǎo)航系統(tǒng)電路

5 系統(tǒng)測試

5.1 觸覺傳感器測試

根據(jù)圖2所示的系統(tǒng)硬件電路原理圖,焊接好電路控制板,并將觸覺傳感器的兩個觸須安裝在單片機(jī)P3.2與P3.3端口上。檢查供電正常后,開機(jī)運(yùn)行。將數(shù)字萬用表打至直流20V檔,黑表筆接地,紅表筆觸碰單片機(jī)P3.2引腳,如果此時觸覺傳感器的觸須沒有碰到障礙物時,萬用表在P3.2引腳應(yīng)該檢測到一個接近5V左右的高電平;觸須碰到障礙物則萬用表應(yīng)該檢測到接近0V的低電平;如果沒有檢測到相應(yīng)的電平,則說明觸覺傳感器未能正常工作。則應(yīng)逐步仔細(xì)排查電路,直至觸覺傳感器正常工作為止。

5.2 系統(tǒng)整體調(diào)試

根據(jù)機(jī)器人觸覺導(dǎo)航系統(tǒng)程序設(shè)計(jì)思路,在KEIL C中編寫、編譯完成相應(yīng)程序代碼,將產(chǎn)生的可執(zhí)行文件燒寫到單片機(jī)程序存儲器,開機(jī)運(yùn)行機(jī)器人,我們發(fā)現(xiàn)機(jī)器人在觸覺傳感器的引導(dǎo)下能夠很好規(guī)避正前方障礙物,實(shí)現(xiàn)機(jī)器人導(dǎo)航功能。但如果機(jī)器人進(jìn)入到90度的墻角時,我們發(fā)現(xiàn)機(jī)器人總是左觸須觸墻,于是右轉(zhuǎn),向前行走,右觸須觸墻,于是左轉(zhuǎn),繼續(xù)前進(jìn),又碰到左墻,再次碰到右墻……,如果不是你把它從墻角拿出來,它將會一直困在墻角里而出不來。要解決這個問題,需要運(yùn)用一些編程策略對程序中作一些修改。

基本思路是先判斷前方障礙物是不是墻角,如果確認(rèn)是墻角,那么就讓小車作一個U形轉(zhuǎn)彎,即掉頭逃離墻角,如果不是墻角,則按一般避障功能便可以解決。

圖3 主程序流程圖

判斷機(jī)器人進(jìn)入90度墻角的方法[1]:如果函數(shù)P3_2state()返回0,函數(shù)P3_3state()返回1;當(dāng)觸須碰到右墻時,函數(shù)P3_2state()返回1,函數(shù)P3_3state()返回0;由此可推測,若前方障礙物是90度墻角,那么這兩個函數(shù)返回的值彼此不相等,而且各自前后兩次返回的值也不相等,我們可以在程序中設(shè)兩個變量用來記錄兩個觸須前一次觸動的舊狀態(tài),再與兩個觸須的當(dāng)前狀態(tài)進(jìn)行對比,如果前后兩次的狀態(tài)交替出現(xiàn),就用一個變量作為計(jì)數(shù)器記錄交替的次數(shù),若交替總數(shù)超過了程序中預(yù)先設(shè)定的閥值,就可以認(rèn)定前方的障礙物是墻角,那么就編程讓小車作一個U形轉(zhuǎn)彎,掉頭逃離墻角,同時將記錄交替次數(shù)的計(jì)數(shù)器變量復(fù)位,下面具體運(yùn)用這種思路修改的主函數(shù),使智能機(jī)器人能夠逃離墻角,修改后的主函數(shù)如下:

void main(void)

{

uchar counter=1; //觸須碰撞總次數(shù)

uchar old_R=1; //右觸須舊狀態(tài)

uchar old_L=0; //左觸須舊狀態(tài)

while(1)

{

if(P3_2state()!=P3_3state())

{

if((old_R!=P3_3state())&&(old_L!=P3_2state()))

{

counter=counter+1;

old_R=P3_2state();

old_L=P3_3state();

if(counter>4)

{

counter=1;

Backward();//向后

Left_Turn();//向左

Left_Turn();//向左

}

}

else

{按主程序流程圖避障}

6 結(jié)束語

實(shí)踐表明,運(yùn)用觸覺傳感器設(shè)計(jì)出的智能機(jī)器人導(dǎo)航系統(tǒng)能夠很好地規(guī)避正前方的障礙物,從而引導(dǎo)機(jī)器人完成導(dǎo)航功能;并且,觸覺傳感器具有價格低、易于控制等優(yōu)點(diǎn),因此,它是機(jī)器人或智能玩具中設(shè)計(jì)避障、導(dǎo)航功能的不二選擇。

參考文獻(xiàn)

[1] 秦志強(qiáng)等編著.C51單片機(jī)應(yīng)用與C語言程序設(shè)計(jì)[M].北京:電子工業(yè)出版社.,2007

[2] 譚立新,雷道仲等編著.單片機(jī)技術(shù)及應(yīng)用[M].長沙:中南大學(xué)出版社.2013

[3] 宋雪麗,王虎林,王毅.基于單片機(jī)的尋跡機(jī)器人的系統(tǒng)設(shè)計(jì)[J].儀表技術(shù).2009(04)

[4] 王東峰,王會良,董冠強(qiáng)編著.單片機(jī)C語言應(yīng)用100例[M].電子工業(yè)出版社2009年3月

猜你喜歡
墻角觸覺導(dǎo)航系統(tǒng)
墻角縫縫擦干凈
幼兒100(2023年35期)2023-09-22 07:28:40
墻角的梅花
喚起人工觸覺 實(shí)現(xiàn)“意念控制”的假肢
海外星云(2021年6期)2021-10-14 07:20:42
說說“北斗導(dǎo)航系統(tǒng)”
食的觸覺
特別健康(2018年3期)2018-07-04 00:40:20
“北斗”導(dǎo)航系統(tǒng)是怎樣煉成的
一種GNSS/SINS容錯深組合導(dǎo)航系統(tǒng)設(shè)計(jì)
墻角數(shù)枝梅
墻角數(shù)枝梅
解讀全球第四大導(dǎo)航系統(tǒng)
万宁市| 宝清县| 田东县| 洛南县| 云安县| 汝阳县| 新平| 英德市| 广饶县| 克什克腾旗| 墨脱县| 绥芬河市| 云南省| 万荣县| 珠海市| 霍城县| 平定县| 无为县| 神农架林区| 双辽市| 台州市| 义乌市| 黄骅市| 曲阳县| 屯留县| 韩城市| 田东县| 磐石市| 合阳县| 新建县| 亚东县| 黄石市| 永年县| 沙坪坝区| 宝山区| 商洛市| 双城市| 隆昌县| 泸水县| 当雄县| 阜康市|