劉會巧
摘要:本文以德普施公司的教學(xué)機(jī)器人為實驗平臺,它的微控制器是8位的AVR單片機(jī)(ATmega8)。本文實現(xiàn)通過采用紅外傳感器對障礙物進(jìn)行探測,遇到障礙物后用發(fā)光二極管發(fā)光實現(xiàn)報警,并由單片機(jī)控制機(jī)器人改變運行路線的設(shè)計。
關(guān)鍵詞:單片機(jī);機(jī)器人;避障;紅外傳感器
中圖分類號:TP242.6 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)07-0022-02
1 引言
隨著經(jīng)濟(jì)及科技的快速發(fā)展,智能機(jī)器人的應(yīng)用也越來越廣泛。智能機(jī)器人能夠通過傳感器來感知外界,并達(dá)到避障功能。如何讓機(jī)器人在行進(jìn)過程中識別障礙物并精準(zhǔn)避障是一個非常重要的課題。本文通過采用紅外傳感器來識別有無障礙物,并在遇到障礙物時用發(fā)光二極管發(fā)光實現(xiàn)報警,同時用AVR單片機(jī)控制機(jī)器人改變行進(jìn)路線的方法實現(xiàn)機(jī)器人識別障礙物并避障的功能。
2 系統(tǒng)設(shè)計方案
2.1 設(shè)計目的
本文的設(shè)計目的是機(jī)器人能從無障礙地區(qū)啟動前進(jìn),感應(yīng)前進(jìn)路線上的障礙物后實現(xiàn)報警,并根據(jù)障礙物的位置選擇下一步行進(jìn)方向?qū)崿F(xiàn)避障功能。
為了實現(xiàn)機(jī)器人避障,我們需要德普施公司的機(jī)器人,用AVR單片機(jī)控制機(jī)器人的前后左右運動;需要紅外傳感器,其中紅外發(fā)射器發(fā)出紅外光來照射機(jī)器人的路線,然后確定何時有光線從障礙物反射到紅外探測器,以此確定障礙物的位置;需要發(fā)光二極管,當(dāng)遇到障礙物的時候,通過發(fā)光來提示機(jī)器人前方有障礙物;需要蜂鳴器,當(dāng)機(jī)器人在啟動和復(fù)位的時候進(jìn)行提示。
2.2 軟件設(shè)計
根據(jù)機(jī)器人避障系統(tǒng)的設(shè)計目的,我們需要對AVR單片機(jī)進(jìn)行編程以便實現(xiàn)避障報警等功能。其中機(jī)器人避障系統(tǒng)的軟件流程圖如圖1所示。
其中實現(xiàn)紅外線傳輸接收信號的程序:
while(1){for(uint16_t counter=0;counter<38;counter++)//發(fā)送紅外線脈沖
{PORTD|=_BV(PD6);delay_nus(13);PORTD&=~_BV(PD6);delay_nus(13);}
if((irDetectLeft==0)&&(irDetectRight==0))//左右兩邊同時接收到紅外線
{Backward();Left_Turn();Left_Turn();baojing();printf("前");}
else if(irDetectLeft==0)//只有左邊接收到紅外線
{Backward();Right_Turn();baojing();printf("左");}
else if(irDetectRight==0)//只有右邊接收到紅外線
{Backward();Left_Turn();baojing();printf("右");}
else {Forward();printf("后");}}//兩邊都沒有接收到紅外線
2.3 硬件設(shè)計
本文用AVR單片機(jī)控制機(jī)器人的前進(jìn)后退及避障功能。其中單片機(jī)上的PB6、PB7端口引出時鐘電路,PC6端口引出復(fù)位電路,時鐘電路及復(fù)位電路以及單片機(jī)的供電和接地電路構(gòu)成了單片機(jī)工作的最小系統(tǒng),PD6端口引出兩個紅外發(fā)射器,PC0、PC1端口引出對應(yīng)紅外探測器,PD7端口引出蜂鳴器電路,PC7端口引出發(fā)光二極管報警電路。以上電路構(gòu)成了機(jī)器人避障系統(tǒng)的硬件電路,其中機(jī)器人避障系統(tǒng)硬件電路的原理圖如圖2所示,硬件電路的實物圖如圖3所示。
3 結(jié)語
本文結(jié)合ATmega系列單片機(jī)原理和德普施教學(xué)機(jī)器人等相關(guān)的知識,對利用紅外導(dǎo)航機(jī)器人躲避障礙物系統(tǒng)進(jìn)行了設(shè)計。機(jī)器人在運行過程中碰到障礙物后紅外傳感器接收到其相應(yīng)的脈沖,使機(jī)器人能夠準(zhǔn)確避開,發(fā)光二極管發(fā)出報警,在開始/復(fù)位時蜂鳴器發(fā)出報警。在此理論基礎(chǔ)之上,需要根據(jù)機(jī)器人的靈敏程度進(jìn)行調(diào)試直到實現(xiàn)機(jī)器人能夠準(zhǔn)確避障。
參考文獻(xiàn)
[1]宋長會.移動機(jī)器人控制系統(tǒng)設(shè)計與研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006,(01)9-13.
[2]海濤.ATmega系列單片機(jī)原理及應(yīng)用教科書[M].北京:機(jī)械工業(yè)出版社,2008,(01)58-63.endprint