足球機器人畢業(yè)論文
《足球機器人畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《足球機器人畢業(yè)論文(40頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 足球機器人畢業(yè)論文 1--總體設(shè)計 2.2.2 機器人移動方式的選擇 機器人在地面上移動的方式通常有三種:車輪式、履帶式和步行式。 步行移動方式模仿人類或動物的行走機理,用腿腳走路,對環(huán)境適應(yīng)性好,智能程度也相對較高。正因如此,步行移動方式在機構(gòu)和控制上是最復(fù)雜的,技術(shù)上也還不成熟,不適于在要求靈活和可靠性高的比賽中。 履帶式實際是一種自己為自己鋪路的輪式車輛。它是將環(huán)狀循環(huán)軌道履帶卷繞在若干滾輪外,使車輪不直接與地面接觸。履帶式的的優(yōu)點是著地面積比車輪式大,所以著地壓強?。涣硗馀c路面黏著力強,能吸收較小的凸凹不平,適于松軟不平的地面。因此,履帶式廣泛用在各類建筑機械及軍用車輛
2、上。 車輪式移動是最常見的一種地面行進方式。車輪式移動的優(yōu)點是:能高速穩(wěn)定的移動,能量利用效率高,機構(gòu)和控制簡單,而且技術(shù)比較成熟。它的缺點是對路面要求較高,適于平整硬質(zhì)路面。 在本機器人足球比賽中,場地為室內(nèi)光滑平整地面,非常適合車輪運動,因此本設(shè)計選用車輪式運動方式。 2.3.2 機器人電路硬件選擇 根據(jù)規(guī)則所描述,要求機器人尺寸較為小巧,直徑為22cm,并且不允許人工干設(shè)其操作,需要自動控制。因此選用單片機為核心的控制器件,小型直流電機作為動力驅(qū)動,可以達到比賽的基本要求。 單片機價格低廉,體積小巧,一般為20引腳或40引腳封裝,其中包括了中央處理器,數(shù)據(jù)存儲器、程序存儲
3、器輸入輸出設(shè)備。對于需要靈活機動,精度要求不高,有可擴展性及程序可擦寫和簡單成熟的編程平臺等要求,單片機不失為最合適的選擇。 電機選擇方面,考慮到機器人本身自重不大,必且場地尺寸有限,可選用小型直流伺服電機,可用電樞電壓作為速度控制信號,但必須加裝減速箱以適應(yīng)低轉(zhuǎn)速和大扭矩的應(yīng)用環(huán)境。 2.4.2 傳感器元件及轉(zhuǎn)換元件選擇 通過對比賽規(guī)則的解讀可以發(fā)現(xiàn),對于球和場地基板的設(shè)計是該項比賽中最具特色內(nèi)容,它對機器人的核心設(shè)計――傳感器以及比賽的方式產(chǎn)生了決定性的影響。 發(fā)出紅外光的足球意味著機器人必須有紅外傳感器來對其進行檢測。紅外線波長介于可見光和無線電波之間,大約0.76nm-1000
4、nm,而光電傳感器其所用到的波長選擇在近紅外區(qū),即0.76-930nm。常用的紅外線接收元件為光電二極管和光電三極管。它們可以將接收到的光變化轉(zhuǎn)變的電流變化。 比賽的場地圖紙為縱向的黑白灰度漸變,這意味著機器人對進攻方向作出正確判斷必須要能讀出場地的灰度變化信息。要實現(xiàn)這一功能,則要用到紅外光電反射式傳感器。該元件由紅外發(fā)光管和接受管組成。發(fā)光管材料一般為砷化鉀半導(dǎo)體,發(fā)光波長范圍在0.76-1.5nm,小功率的管壓降1.0-1.3v,平均工作電流20-50mA,紅外發(fā)管有指向角,光軸,波長,輝度等性能指標(biāo)。紅外接收管可用上述光電二極管或三極管。 紅外元件所接收的信號,根據(jù)情況的需要,
5、要進行模擬-數(shù)字量的轉(zhuǎn)換,因此需要AD轉(zhuǎn)換芯片,AD轉(zhuǎn)換的選擇要根據(jù)所選用的的單片機來確定。本文所選用的51系列單片機,由于其端口的限制,需要AD轉(zhuǎn)換器具有串口數(shù)據(jù)輸出功能。 2.5.2 機器人運行算法的構(gòu)想 對比賽過程的規(guī)則進行分析后發(fā)現(xiàn),比賽的進行與真實的足球比賽的思維過程是一致的,機器人需要完成下述動作循環(huán) 圖2-4 然而在這一過程中,最關(guān)鍵的一步是把球攻進正確的球門。其難點在于找球的傳感器與地面方向的傳感器是相互獨立的兩套系統(tǒng),怎樣才能讓機器人判斷當(dāng)前狀態(tài)是找球過程還是在帶球進攻過程。如果單獨執(zhí)行找球程序,讓機器人跟隨球的方向前進,很有可能把球撞入己方球門;如果單獨執(zhí)行方向
6、判斷程序,機器人則無法知道當(dāng)前球的位置,有可能在沒有控球的情況下沖向?qū)Ψ角蜷T而造成無效的進攻。 怎樣解決找球程序和進攻方向判斷程序的銜接,避免烏龍球和無效的進攻,這是算法設(shè)計要解決的重要問題。然而筆者查閱過一些相關(guān)資料,一直沒有找令人滿意的算法解決方案。 由于機器人套件的外形限制,在外形上做一些改動以適應(yīng)算法需要的想法無法實現(xiàn)。而本設(shè)計這是利用了外形可以自行設(shè)計的優(yōu)勢,通過加裝了一個“持球探測臂”來解決算法上找球程序和進攻方向判斷程序的銜接的問題。 圖2-5 如圖所示,當(dāng)機器人尋找到球,并把球控制在控球板內(nèi)時,持球探測臂上垂直向下的持球傳感器將接收到紅外信號并轉(zhuǎn)換為
7、電流變化。利用該信號作為是否持球的判斷標(biāo)志,單片機不斷查詢該標(biāo)志位。若該標(biāo)志位無信號反饋,則說明機器人沒有控球,執(zhí)行找球程序;若該標(biāo)位有信號反饋,則說明已經(jīng)控球,則執(zhí)行進攻方向判斷及帶球進攻程序。 簡要流程如下: 圖2-6 2.6 Rhino繪制的機器人效果圖 圖2-7(點擊放大) 各部分零件介紹: 圖2-8 圖2-9 圖2-10 第三章 動力驅(qū)動部件與運動方式設(shè)計 3.2.3 四輪移動配置和操舵方式 3輪機器人車體配置結(jié)構(gòu)雖然簡單,但穩(wěn)定性差,遇到?jīng)_撞容易傾倒,與3輪相比,4輪穩(wěn)定性更好。4輪典型配置有如下兩種。 圖3-9 如
8、圖組合為前后輪為萬向腳輪,左右兩輪為獨立驅(qū)動輪,其自轉(zhuǎn)中心于車體中心重合,適于在狹窄場地運行。其靈活性穩(wěn)定性都比較好。其缺點是前后輪不能同時著地,加速前進時可能出現(xiàn)俯沖。 圖3-10 該配置方式是常見的所謂汽車配置方式,車的穩(wěn)定性較高。2個操舵輪需要同一個操舵機構(gòu)協(xié)調(diào)轉(zhuǎn)向,為了減少后輪摩擦損耗,配備了差動齒輪裝置,增加了機構(gòu)復(fù)雜性。 綜合各種因素考慮,本設(shè)計采用圖3-9所示的四輪配置方案。 第四章 硬件電路設(shè)計 引言 本章按照機器人系統(tǒng)結(jié)構(gòu)模塊,把本機器人分解為主控部分,傳感器部分,AD轉(zhuǎn)換部分,電源供電部分以及電機驅(qū)動部分。對每個部分的器件選用,主要功能以及各部分
9、所組合成的總體系統(tǒng)作了分析介紹。 4.1 機器人系統(tǒng)結(jié)構(gòu) 按照現(xiàn)代機器人理論,機器人分為機械手,環(huán)境,任務(wù)和控制器4個相互作用的部分。其系統(tǒng)結(jié)構(gòu)圖如下: 圖4-1 在本設(shè)計中根據(jù)實際情況的需要,對以上模型進行了簡化,得到以下的系統(tǒng)結(jié)構(gòu)圖: 圖4-2 4.2 主控部分硬件電路 4.2.1 主控部分硬件——89C4051 本設(shè)計選用了ATL公司生產(chǎn)的89C4051單片機作為控制器。 AT89C51是一個含有4K可編程可擦寫只讀存儲器的低功率高性能CMOS 8位單片機。該器件運用了Atmel公司的高密度不易丟失存儲技術(shù)斌且兼容MCS-51工業(yè)標(biāo)準(zhǔn)的設(shè)置和管角輸出
10、。片內(nèi)的閃存允許用系統(tǒng)內(nèi)模式編程或傳統(tǒng)的不易失程序編寫器。由于集成了一個通用8位CPU和閃存,使得Atml的AT89C51成為一片具有高靈活性,可有效解決大多嵌入式控制應(yīng)用的高性能單片機。 AT89C51支持如下標(biāo)準(zhǔn)特性:4K閃存,128字RAM,32條I/O線路,雙16位定時/計數(shù)器,5V雙電平中斷機構(gòu),一個全雙工串行口,片內(nèi)震蕩和時鐘電路。綜上,AT89C51 是按照靜態(tài)邏輯操作停止到0頻率設(shè)計的,并且支持兩套由軟件選擇的功率存儲模式。被空閑模式停止的CUP可有RAM,j定時/計數(shù)器,串口和中斷系統(tǒng)使其繼續(xù)運作。掉電模式用鎖定振蕩器停止一切芯片功能的方式存儲RAM內(nèi)的內(nèi)容,直到下一次
11、的硬件復(fù)位。 圖4-3 4.2.2控制電路所應(yīng)用到的端口功能介紹 VCC:為點片機提供+5V主電源 RST/Vpd:單片機復(fù)位引腳。單片機上電時,各存儲器處于隨機狀態(tài),在該引腳上輸入兩個周期高電平,使單片機復(fù)位。 P1.0——P1.7:8個帶內(nèi)部上拉電阻的I/O口。其中P1.4——P1.7四個口用作接到L298的IN1——IN4,用作了對直流電機的驅(qū)動控制。另外,8個I/O口上都留有LED接口,這樣可以通過程序?qū)⑷魏我粋€寄存器空間上的內(nèi)容輸出到P1口并由LED顯示,方便了程序的調(diào)試和功能的擴展。 P3.0:串行口,向AD轉(zhuǎn)換器TLC1543的clock口輸出時鐘頻
12、率,用于控制AD轉(zhuǎn)換的器串行傳輸?shù)念l率以及AD轉(zhuǎn)換器的轉(zhuǎn)換/讀寫周期的切換。 P3.1:串行口,接TLC1543的ADRESS地址口,串行輸出四位地址用以對AD轉(zhuǎn)換器的9個模擬量輸入口進行選通。 P3.4:串行口,接TLC1543的DATA out口,用以接收經(jīng)過AD轉(zhuǎn)換后的8數(shù)字量 P3.5:帶上拉電阻的I/O口,接TLC1543的片選CS口,用于對AD轉(zhuǎn)換器的轉(zhuǎn)換/數(shù)據(jù)讀取周期的控制。 P3.2:帶上拉電阻的I/O口,外部中斷0的輸入,用于碰撞開關(guān)的中斷輸入口。 XTAL.1XTAL.2:借外部晶振的兩條引腳。 GND:地線。 4.2.3 89C40
13、51線路連接圖: 圖4-4 4.3傳感器部分硬件電路 4.3.1 找球傳感器: 根據(jù)比賽用球為紅外發(fā)射裝置,故采用的傳感器為紅外接收的傳感器,根據(jù)車體前方的兩個紅外傳感器接收紅外光輸出電壓不同比較來判斷球的方位指導(dǎo)車體前進方向。 該紅外接收器由一只光電三極管構(gòu)成,其電路圖如下: 圖4-5A(chǔ) 當(dāng)光電三極管接收到紅外線信號時,其電阻減小,在管兩端的電壓分壓減小,輸出口電壓上升,輸入到AD轉(zhuǎn)換芯片進行轉(zhuǎn)換。 4.3.2 控球判傳感器 控球判斷傳感器也是一只紅外三極管,安裝在控球探測臂上,感光方向為正下方(見第二章相關(guān)章節(jié))其原理同上,因只需判斷持球與否連個狀態(tài),所以不需
14、要AD轉(zhuǎn)換比較,輸出量為數(shù)字量直接輸入到單片機P1.3口進行判讀。 4.3.3 進攻方向判斷傳感器 場地貼有按進攻黑白灰度漸變的基板帖紙,由兩個位于車底的灰度傳感器進行判斷,當(dāng)左右兩個傳感器值相等時,認為正對球門。灰度傳感器由反射式紅外光電判讀器組成,即一個紅外發(fā)光管和紅外三極管并排綁定構(gòu)成,其電路圖如下 圖4-5B 當(dāng)?shù)孛婊叶茸兓瘯r,對紅外光的反射量隨之變化,白色對紅外光反射力強,輸出電壓高;黑色對紅外光吸收力強,輸出低電壓。 4.3.4 碰撞傳感器 當(dāng)機器人與墻體發(fā)生碰撞時,裝于持球檢測臂上部的微動開關(guān)會被按下,導(dǎo)致一個中斷脈沖,使機器人進入中斷處理程序——倒退,轉(zhuǎn)向,
15、避開障礙。由于碰撞開關(guān)安裝高度大于球的直徑,不會造成球碰到碰撞開關(guān)而造成誤操作。 碰撞傳感器線路圖見89C4051線路圖,其中的電容C4電阻R3起到對碰撞信號穩(wěn)定延遲的作用,使單片機能接收到一個可靠的中斷信號。 4.4AD轉(zhuǎn)換部分硬件電路 4.4.1AD轉(zhuǎn)換芯片的選用——TLC1543 AD轉(zhuǎn)換器自用在于把接收到的紅外線電壓模擬信號轉(zhuǎn)換成可被單片機計算比較的數(shù)字信號。其類型有積分型,逐次比較型等等。針對本設(shè)計,所選用的是20管腳的單片機89C4051,其并行輸入口有限,并已用于驅(qū)動電機控制。而TLC1543的模擬端口地址輸入和數(shù)字量輸出都用串行口,這樣大大節(jié)省了I/O口資源。雖然串
16、行通訊速度慢于并行通訊,但對于本設(shè)計,串口速度遠高于機器人反應(yīng)速度,可以滿足需要。另外,該AD轉(zhuǎn)換器有11個模擬量輸入口,為今后的功能擴展留下很大空間。 圖4-6 4.4.2TLC1543與單片機的電路連接 圖4-7 4.4.3所用到的管腳功能介紹 ADDRESS:串行輸入地址端口,通過4位的串行地址選擇需要的模擬量端口。 Vcc:芯片工作正電壓。 REF+:高參考電壓值(通常是Vcc)輸入到該管腳,其最大輸入電壓取決于該管腳與REF-管腳上的電壓差值。 REF-:低參考電壓(通常接地)。 CS:片選信號。該位上一次由高到低的跳變將復(fù)位內(nèi)部計數(shù)器
17、和控制器,并使能DATA OUT和ADDRESS,并且I/O CLOCK在最大建立時間內(nèi)加兩個下降沿到內(nèi)部系統(tǒng)時鐘。一次由低到高的跳變將禁止DATAOUT和ADDRESS,同樣的加兩個下降沿到內(nèi)部時鐘。 DATA OUT:三態(tài)串行輸出口用于輸出AD轉(zhuǎn)換的結(jié)果。當(dāng)CS高時DATAOUT被置為高阻態(tài),CS低時被置為可用狀態(tài)。 vI/O CLOCK:輸入輸出時鐘。該管腳接受串行輸入的時鐘信號,并執(zhí)行4種功能。 1、前4個周期在ADDRESS上接收4位地址信號。 2、接下來幾個周期,被選中的模擬量端口電壓進入AD轉(zhuǎn)換器的電容陣列。 3、把前一周期所選中的模擬端口轉(zhuǎn)換結(jié)果從DATA OUT
18、輸出。 4、在第十個下降沿控制內(nèi)部控制器,使之開始轉(zhuǎn)換。 EOC:結(jié)束轉(zhuǎn)換信號。在第十個時鐘周期該由高跳到低并保持,直到轉(zhuǎn)換結(jié)束為止。 GND:接地端。 4.5 電源供應(yīng)部分 4.5.1穩(wěn)壓塊選用 本系統(tǒng)所有芯片都需要+5V的工作電壓,而干電池足能提供的電壓為1.5V的倍數(shù)的電壓,并且隨著使用時間的延長,其電壓會逐漸下降,想要得到穩(wěn)定的+5V工作電壓,則需要L7805穩(wěn)壓芯片。 圖4-8 4.5.2 電源選擇 雖然微處理器和微控制器不需要支持電路,功耗也很低,但必須要加以考慮。 ?單電池組:用一組電池同時給控制電路和驅(qū)動電機供電??梢允箼C器人的重量減輕,成
19、本降低。 ?雙電池組:用兩組電池分別給控制電路和驅(qū)動電機供電,可減少電機開關(guān)時的能量波動。 本設(shè)計才用雙電池供電模式,四節(jié)AA1.5V堿性電池用于控制芯片供電,一節(jié)9V電池用于驅(qū)動電機供電。 4.6 電機的驅(qū)動與控制 4.6.1 直流H橋集成功放電路驅(qū)動原理 直流H橋功放電路是用于控制直流電機雙向運動的基本電路,該電路使電機在單電源供電下可以雙向運轉(zhuǎn)。 圖示電路為用三極管構(gòu)成的H橋集成功放電路基本形式。為使電機順時針轉(zhuǎn),應(yīng)接通三極管A和D,對電機而言,其電壓右負左正,通過改變不同的三極管導(dǎo)通狀況,可改變電機兩端電壓,達到反轉(zhuǎn)目的。 圖4-9 4.6.2 L298雙通
20、道直流電機驅(qū)動芯片 L298驅(qū)動芯片是性能優(yōu)越的小型直流電機驅(qū)動芯片之一。它可被用來驅(qū)動兩個直流電機或者是雙極性步進電機。在6——46V的電壓下,可以提供2A的額定電流。L298還有過熱自動關(guān)斷功能,并有反饋電流檢測功能。 為保證L298正常工作,建議加裝片外續(xù)流二極管。 圖4-10 L298驅(qū)動雙電機的電路連接圖: 圖4-11 電機控制邏輯: 4.7 硬件連接總圖 圖4-12 第五章 軟件程序設(shè)計 引言 在完成了硬件的設(shè)計之后,需要進行相應(yīng)的軟件設(shè)計,對機器人的控制的思想,是直接通過軟件程序表達的。因此,軟件設(shè)計是整個設(shè)計過程中最重要的部分之
21、一,直接關(guān)系到機器人在賽場上的表現(xiàn)。本章先對程序運行的重要環(huán)節(jié)——AD轉(zhuǎn)換器的讀寫控制進行了說明,再針對各個功能模塊設(shè)計了相關(guān)軟件,各模塊間相互獨立,可用于測試各個部件的運行狀況。最后合成一個具有完整性能和多判斷的比賽應(yīng)用程序。 5.1 AD轉(zhuǎn)換器的讀寫控制模塊 5.1.1 TLC1543的時序分析 在本設(shè)計中所使用的AD轉(zhuǎn)換器為TLC1543,它支持串行的地址/數(shù)據(jù) 輸入輸出,大大節(jié)省了單片機的I/O口數(shù)量,但是這種串行通行方式有著較為復(fù)雜的時序要求。深入理解它的時序圖,是編寫讀寫控制程序的前提。 時序圖如下: 圖5-1 由圖可知,該芯片通過一個EOC(End of Co
22、nversion) 信號把時序劃分為兩個大的周期,當(dāng)EOC輸出高電平時,芯片開始從串口接收地址數(shù)據(jù)并發(fā)送轉(zhuǎn)換結(jié)果;當(dāng)EOC輸出低電平時,芯片進入AD轉(zhuǎn)換周期,直到轉(zhuǎn)換完畢,EOC會再次跳高。 在數(shù)據(jù)收發(fā)周期開始時,由CS片選信號跳低和EOC跳高為標(biāo)志,由外部入輸?shù)腎/O CLOCK作為串行通信的同步時鐘,該周期被這個時鐘信號劃分為10個小的時鐘周期。在ADDRESS口上,前4個周期接收4位地址信號,通過這4位地址信號來選中11個模擬量輸入口其中的一個;在DATA OUT口上,10個時鐘周期輸出10位AD轉(zhuǎn)換的數(shù)字量結(jié)果。需要注意的是,該結(jié)果來自于上一個數(shù)據(jù)收發(fā)周期中所確定的那個模擬量輸入口,
23、而本周期所確定的模擬量輸入口所讀進的數(shù)字轉(zhuǎn)換結(jié)果將在下一個讀寫周期輸出。 5.1.2 AD轉(zhuǎn)換器數(shù)據(jù)讀取程序的編寫 雖然89C4051上有自帶的串行口,但是TLC1543的串行通信較為特殊,需要在同一時鐘周期內(nèi)有兩個I/O口在同時輸入和輸出,并且51自帶的串口同步時鐘難于保證在1543應(yīng)用上的同步,于是本程序采用了用普通I/O口模擬串口的方法。 單片機的P3.0口連接AD轉(zhuǎn)換器的I/O CLOCK口,通過對P3.0口輸出的信號進行翻轉(zhuǎn)的方法來制造時鐘信號。P3.4連接DATA OUT 口,用移位寄存器的方式接收串行數(shù)據(jù)。即用P3.0控制時鐘,用標(biāo)志位C作為數(shù)據(jù)和地址的傳遞媒體,把轉(zhuǎn)換結(jié)果
24、通過C傳遞到可進行位操作的地址空間20H,接收一位,左移一位,直到8位傳遞完畢。同樣,用P3.1連接到ADDRESS口,把地址數(shù)據(jù)存入可進行位操作的21H地址空間,通過標(biāo)志位C把地址傳入ADDRESS,傳送一位,右移一位,直到4位地址傳完。在前4個周期,地址傳送和結(jié)果接收同時進行,后四個周期,只進行數(shù)據(jù)接收,因1543共有10個周期,所以8個周期完成后讓P3.0空翻轉(zhuǎn)兩次,完成數(shù)據(jù)地址的收發(fā)過程,進入AD轉(zhuǎn)換的過程,這時等待EOC的跳高信號,意味著轉(zhuǎn)換完成,進入下一個數(shù)據(jù)收發(fā)過程。 以上過程進行4個循環(huán),分別讀取左右紅外和左右灰度4傳感器的數(shù)據(jù),分別存放在02H,03H,04H,05H四個地
25、址單元中。 5.2 運動控制程序模塊 5.2.1 程序原理 機器人在實際運用中,需要作出的動作有:前進、后退、左轉(zhuǎn)和右轉(zhuǎn),其中,左右轉(zhuǎn)可以根據(jù)需要分別有以車身中心為圓心轉(zhuǎn)動和以車輪為圓心轉(zhuǎn)動。其工作原理為,通過89C51的P1口向電機驅(qū)動芯片L298傳送4位的控制信號,控制左右兩個電機的正轉(zhuǎn)反轉(zhuǎn),再調(diào)用一段延時程序,完成動作。 其中,兩個輪子反向轉(zhuǎn)動時,可實現(xiàn)以車身中心為圓心轉(zhuǎn)彎,當(dāng)一個輪轉(zhuǎn)動時,可實現(xiàn)以車輪為圓心轉(zhuǎn)彎。 5.2.2 運動控制模塊 ?延時程序:通過循環(huán)調(diào)用,執(zhí)行空語句實現(xiàn) DELAY: MOV R5,#04H ;延時1s DLOOP6: MOV R7,#0FF
26、H ;延時250ms DLOOP5: MOV R6,#0FFH ; DLOOP4: NOP ; NOP ; DJNZ R6,DLOOP4 ; DJNZ R7,DLOOP5 ; DJNZ R5,DLOOP6 ; RET ?直行程序:MOV P1,#50H ACALL DELAY RET ?后退程序:MOV P1,#A0H ACALL DELAY RET ?輪心左轉(zhuǎn):MOV P1,#10 H ACALL DELAY RET ?輪心右轉(zhuǎn):MOV P1,#40H ACALL DELAY RET ?軸心左轉(zhuǎn):MOV P1,#90H ACALL DEL
27、AY RET ?軸心右轉(zhuǎn):MOV P1,#60H ACALL DELAY RET 5.3 找球程序模塊 5.3.1編程思路 找球的過程是通過對左右兩個紅外傳感器的電壓數(shù)字量比較實現(xiàn)的。當(dāng)球在左前方時,左紅外傳感器接收光量大于右紅外,電壓數(shù)字量也大于右紅外,這時控制機器人向左轉(zhuǎn)。右轉(zhuǎn)情況相同。當(dāng)球在正前方時,左右傳感器電壓數(shù)字量相等,此時控制機器人直行。當(dāng)球在背后時,兩個紅外傳感器沒有光接收,此時以車身中心為圓心進行轉(zhuǎn)動,直到搜索到球為止。 找球程序有以下幾點值得注意。 1) 找球目的在于盡快地接近球,于是當(dāng)球不在正前方時,每次調(diào)整方向后,調(diào)入一段短距離直行程序,在修正方向的
28、同時,不斷地向球靠近;當(dāng)球在正前方時,調(diào)入一段長距離執(zhí)行程序,縮短找球時間。 2) 由于AD轉(zhuǎn)換以及傳感器的誤差的存在,即使球完全正對機器人,也不可能得到兩個完全相等的電壓數(shù)字量,于是在比較時應(yīng)設(shè)一個閾值,當(dāng)左右差值小于閾值時,認為正對足球,調(diào)用長直行;當(dāng)差值大于閾值時,再進行左右大小判斷,調(diào)用轉(zhuǎn)彎程序。 3) 當(dāng)進行閾值判斷時,差值有可能得到負數(shù),在此情況下應(yīng)求其相反數(shù)。 4) 當(dāng)球不在紅外傳感器可視范圍,即傳感器接收到的紅外信號為零時,由于周圍環(huán)境的影響和暗電流的存在,其輸出電壓不可能為零,而是約0.3 V左右。 5.3.2 找球程序流程圖 圖5-2 5.4 進攻程
29、序模塊 5.4.1編程思路 進攻方向的判斷是根據(jù)對面灰度的增減比較來進行的。在接近白色的區(qū)域,對紅外光的反射量大,光電判讀器即灰度傳感器的輸出電壓高,在接近黑色區(qū)域,輸出電壓則低。在此,默認從白到黑為進攻方向進行編程。 當(dāng)機器人找到球并持球時,程序進入進攻模塊。該模塊大致分為兩個步驟,首先判斷前進的方向是否是進攻的方向,之后,再判斷前進的方向是否平行于邊線正對球門。 在進攻程序之前的找球程序模塊中,多次用到讀取AD轉(zhuǎn)換結(jié)果的程序READ,在該程序中,每執(zhí)行一次,將讀進4個傳感器的轉(zhuǎn)換結(jié)果,其中左灰度和右灰度的轉(zhuǎn)換結(jié)果存放在04H和05H兩個地址單元里。在判斷正確前進方向時,03H和04
30、H里存放著前一次的轉(zhuǎn)換結(jié)果,先把它們轉(zhuǎn)移到共工作寄存器R1,R2中,在讀取當(dāng)前的灰度轉(zhuǎn)換結(jié)果,分別與前一次的結(jié)果進行比較,只要其中有一個值增大,就認定為前進方向錯誤,這時調(diào)用以車身中心為圓心的原地轉(zhuǎn)動程序,當(dāng)轉(zhuǎn)過約180度后,讀取當(dāng)前灰度值保存,再調(diào)用一段短距離直行程序,再次比較灰度值變化趨勢,直到左右兩個灰度值都為減小,這時,機器人前進方向為正確進攻方向。 在大方向調(diào)正之后,許要調(diào)整機器人的前進角度,即使前進方向平行于邊線,正對球門。這個動作左右兩個灰度傳感器轉(zhuǎn)換結(jié)果之間的比較完成。先讀取當(dāng)前灰度值,左右兩個結(jié)果進行比較,如果左灰度大于右灰度,說明前進方向偏左,調(diào)用原地轉(zhuǎn)動程序向右偏轉(zhuǎn),調(diào)
31、整后,再次讀取,比較,直到左右相等為止,這時方向正對球門,調(diào)用長距離直行程序,開始進攻,把球攻入球門。 在兩個灰度值大小比較時,與紅外傳感器有類似的問題需要注意:相減時出現(xiàn)負數(shù)時需要調(diào)整為相反數(shù);判斷相等時有傳感器誤差存在,需要設(shè)定閾值,差值小于閾值即認為相等。 圖5-3 5.4.2進攻程序模塊流程圖 圖5-4 5.5 碰撞避讓程序模塊 5.5.1碰撞避讓程序的硬件實現(xiàn) 本設(shè)計的碰撞避讓系統(tǒng),是通過51單片機的中斷控制功能實現(xiàn)的。MCS-51系列單片機有5個中斷源,可分為2個中斷優(yōu)先級。本碰撞避讓系統(tǒng)所用到的中斷源為 ,即外部中斷0。其請求信號由P3.2輸入請求信號
32、有效電平由IT0和設(shè)置,一旦輸入信號有效,則將TCON中的IE0標(biāo)志位置1,可向CUP申請中斷。 5.5.2中斷控制設(shè)置 MCS-51系統(tǒng)中斷控制由4個專用寄存器組成。 中斷請求標(biāo)志TCON 其中IE0為外部中斷零的申請標(biāo)志位。當(dāng)外部中斷源有請求時,該位置1,其復(fù)位由觸發(fā)方式來設(shè)置。IT0為外部中斷觸發(fā)方式設(shè)置位,IT0=0時,為電平觸發(fā)方式,該方式下,CUP每個機器周期對外部中斷源采樣,如果為低電平,則進入中斷。該方式中CUP響應(yīng)中斷后不能自動清除IE標(biāo)志位,所以中斷返回前,外部中斷源引腳上的低電平必須撤銷。IT0=1時為脈沖觸發(fā)方式,即在兩個相鄰的機器周期內(nèi) 上的電平發(fā)生
33、由高到低的跳變即進入中斷IE=1保持到CUP響應(yīng)中斷時,才由硬件清除,該方式下,中斷源低電平需要至少保持一個機器周期。 中斷開放和屏蔽 IE 其中,EA為總中斷允許位,EA=1時開放中斷,EA=0時關(guān)斷一切中斷。EX0為外部中斷0允許位,EX0=1時允許。 中斷優(yōu)先級設(shè)定 IP 其中PX0為外部中斷0優(yōu)先級設(shè)定,PX0=1時,為高優(yōu)先級。 5.5.3 碰撞系統(tǒng)模塊程序 中斷控制設(shè)置: SETB IT0 ;選擇觸發(fā)方式為電平觸發(fā) MOV IE,#85H ;EA=1,EX0=1,開放外部中斷0 MOV IP,#01H ;PX0=1,外部中斷零設(shè)為高優(yōu)先級 中
34、斷服務(wù)子程序 INTR0: MOV P1,#50H ;后退 ACALL DELAY01 ; ACALL TURN ;調(diào)頭 RETI ;中斷返回 5.6 整體程序 5.6.1編程思想 以上所述的幾大功能模塊,都可以獨立使用,分別完成不同的任務(wù),而把它們聯(lián)系到一塊,則可以形成一個完整的程序,使機器人在賽場上完成整場比賽。而把他們聯(lián)系在一起的橋梁則是前中提到的持球探測壁以及其上的持球傳感器。 持球傳感器也一個紅外接收管,不需要AD轉(zhuǎn)換,只需要邏輯判斷,當(dāng)機器人持球時,該傳感器從P3.6口輸入一個高電平。整個程序運行過程中,通過查詢方式來判斷是否持球。當(dāng)P3.6=0時,執(zhí)行找球程
35、序,當(dāng)P3.6=1時,執(zhí)行進攻程序。在整個程序中,中斷開放,實現(xiàn)任何狀態(tài)下的碰撞避讓。 5.6.2整體程序流程圖: 圖5-5(點擊放大) 第六章 測試及設(shè)計總結(jié) 6.1 足球機器人完成圖 圖6-1(點擊放大): 足球機器人完成圖 6.2功能測試 6.2.1 找球功能模塊測試 測試條件:用一個高功率紅外發(fā)光管模擬比賽用球,在室內(nèi)日光燈光源下進行測試。 測試軟件:找球程序模塊,差值閾值0.05V,無紅外情況輸出電壓0.45V。轉(zhuǎn)彎延時0.25秒,直行延時0.5秒。 測試結(jié)果:機器人能在40CM距離左右發(fā)現(xiàn)球,在向球運動過程中,前半段由于基礎(chǔ)電壓小,差值小于
36、閾值,直線前進;當(dāng)靠近球時,電壓增大,差值大于閾值,機器人左右調(diào)整方向,逐漸靠近小球。 6.2.2 碰撞功能模塊測試 測試條件:面向墻壁直行,模擬碰撞場地擋板。 測試軟件:裝入直行程序,中斷開放,中斷服務(wù)程序為倒退延時1秒,原地轉(zhuǎn)彎延時1秒。 測試結(jié)果:機器人在直行碰撞墻壁后,順利進入中斷服務(wù)程序,倒退并調(diào)頭,之后中斷返回繼續(xù)直行。 6.2.3 方向判斷功能模塊測試 測試條件:用黑白兩色紙模擬場地基板,室內(nèi)日光燈光源。 測試軟件:方向判斷程序模塊。默認由白向黑進攻。在起點采樣,直行到另一色地面再次采樣,比較判斷。 測試結(jié)果:由白向黑行進時,機器人判斷方向
37、為正確進攻方向 ,繼續(xù)前進;由黑向白行進時,機器人發(fā)現(xiàn)方向錯誤,掉頭前進。 6.3 設(shè)計結(jié)論 本足球機器人系統(tǒng),從市場調(diào)研,資料查找,構(gòu)思設(shè)計,到制作調(diào)試完畢,歷時3個多月,最終基本達到設(shè)計要求。 6.3.1 本設(shè)計的優(yōu)點及創(chuàng)新之處 本設(shè)計利用簡單的器件使機器人擁有了較為完善的功能,其開放的程序及模塊化的編程方法,用戶能夠根據(jù)需要方便的編寫輸入不同的程序,使得機器人的性能可以不斷的完善。同時,留有諸多的擴展接口(9個AD轉(zhuǎn)換接口,5個中斷源)給今后的功能擴展留下了廣闊的空間。 由于使用常規(guī)元件,并自己動手制作,整個開發(fā)制作成本約300元,大大低于市場同類產(chǎn)品。 機器人的外形結(jié)構(gòu)可
38、以根據(jù)需要改變,并實現(xiàn)一定功能,本設(shè)計中的“持球探測臂”就是通過機器人的外形實現(xiàn)功能,大大簡化了軟件程序的算法,是本設(shè)計的創(chuàng)新之處。 6.3.2 本設(shè)計可改進的方面 本設(shè)計屬于第一次嘗試,許多功能還不夠完善,結(jié)構(gòu)也過于簡單。在以下方面有待改進。 1. 移動方式方面:目前所使用的2個驅(qū)動輪方式都只有兩個自由度,還不能實現(xiàn)任意定位和定向。若4個輪子都具備獨立驅(qū)動和轉(zhuǎn)向能力,則可實現(xiàn)全方位的運動,大大增加其靈活性。 2. 電機驅(qū)動方式方面:目前所使用的邏輯驅(qū)動,只能實現(xiàn)電機的方向控制,遠遠不能滿足需要,因此,若能利用PWM等方式對電機進行調(diào)速,這樣在比賽中將會有更大的主動權(quán)。 3. A
39、D轉(zhuǎn)換方面:目前能使用的紅外傳感器只能實現(xiàn)簡單地計算比較。精確的計算差值,必利用差值對轉(zhuǎn)向進行精確的控制,這也是改進的方向之一。 4. 傳感器方面:本次設(shè)計只使用了光電和微動開關(guān)兩種傳感器,而傳感器的種類是繁多的,如超聲波測距傳感器,數(shù)字指南針等等,在足球機器人上都能發(fā)揮很大的作用。 6.4 設(shè)計參數(shù): 6.5 配件表: 參考文獻 1. 曹巧媛電子工業(yè)出版社,2002 2. 黃鴻,陳杰高等教育出版社,2002 3. 葛偉亮,賀力勤北京理工大學(xué)出版社,2001 4. 張有順中國計量出版社,1998 5. 蔡自興清華大學(xué)出版社,2001 6. 劉進長,辛健成河南科學(xué)技術(shù)出版社,2000 7. (美)麥克.布瑞德科學(xué)出版社,2004 8. (日)船倉一郎科學(xué)出版社,2004 9. (日)高橋友以,秋田純一,渡邊正人科學(xué)出版社,2004 10. AT89C4051 Description, ATMEL公司提供芯片資料 11. TLC1543 Description, TEXAS INSTRUMENTS公司提供芯片資料 12. L298N Description,ST公司提供芯片資料
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案