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