




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、滅火機器人的設(shè)計一、項目任務(wù)在能力風(fēng)暴機器人AS-UII的基礎(chǔ)上,組裝一個滅火機器人,并編寫程序,讓其能完成滅火任務(wù)。(任務(wù)的詳細(xì)內(nèi)容請參見國際滅火比賽規(guī)則2010)二、項目要求 設(shè)計的機器人能在5分鐘內(nèi)把滅火場地中的蠟燭熄滅。每次運行時,蠟燭被任意放置在不同的房間內(nèi)。其它詳細(xì)要求請參見國際滅火比賽規(guī)則2010三、使用到的硬件設(shè)備機器人的硬件:(1)傳感器:碰撞傳感器、紅外傳感器、火焰?zhèn)鞲衅?、?)控制單元:微控制器、外部存儲器、復(fù)位系統(tǒng)和電源(3)驅(qū)動器:直流電動機、LCD(4)滅火風(fēng)扇四、程序的思路在機器人滅火實驗中,要求機器人實現(xiàn)在實驗場地里迅速找到蠟燭將其熄滅,在尋找過程中要避免碰撞墻
2、壁與蠟燭,如果發(fā)現(xiàn)火源,啟動滅火程序,滅火,沒有發(fā)現(xiàn)火源,走迷宮,尋找火源,所以機器人必須實現(xiàn)以下功能:(1)由于在實驗場地中,實驗規(guī)定的房間內(nèi)都有可能擺放蠟燭,所以機器人必須能夠?qū)崿F(xiàn)搜索所有的房間,在行走過程中不允許碰撞墻壁,而且盡可能快的搜索所有房間,不走重復(fù)的路程。在此過程中,本人采用了迷宮法則里的左手法則(左手法則:看到墻壁往右轉(zhuǎn),沒看不到墻壁往左轉(zhuǎn))。(2)機器人在行走過程中要不斷的判斷是否有火源;如有還要判斷火源在機器人的哪個方位、離機器人的距離等。在此過程中,需要設(shè)計一個亮度檢測來尋找火源。(3)找到火源后,機器人自動啟動滅火裝置(風(fēng)扇)迅速將火熄滅,火源熄滅后,風(fēng)扇停止轉(zhuǎn)動。根
3、據(jù)以上的思路設(shè)計,在VJC編程環(huán)境下,編輯機器人行為控制程序,下載并反復(fù)調(diào)試控制程序,實現(xiàn)機器人滅火實驗。程序流程圖如下(主模塊):程序的代碼如下:int ir_1=0;int photo_1=0;int bmp_1=0;float tim_1=0.0;int gi_1=0;int gi_2=0;int gi_3=0;void main() gi_1 = 1 ; gi_2 = 1 ; gi_3 = 1 ; while(gi_3 = 1) if(gi_1 = 1) SubRoutine_4 (); photo_1 =(photo(1)+photo(2)/2; if(photo_1 < 20
4、) if(photo_1 < 30) && (photo_1 > -30) SubRoutine_2 (); SubRoutine_5 (); if(gi_1 = 2) void SubRoutine_1( ) if(gi_1 = 1) ir_1 =ir_detector(); if( ir_1 = 1) motor( 1 , 80 ); motor( 2 , 30 ); else if(ir_1 = 4) motor( 1 , 80 ); motor( 2 , 50 ); else motor( 1 , 40 ); motor( 2 , 80 ); bmp_1 =
5、 bumper(); if( bmp_1 != 0) drive( -40 ,0); wait( 0.200000 ); stop(); drive( 0 , 100); wait( 0.250000 ); stop(); tim_1 =seconds(); if( tim_1 > 60.000000) gi_1 = 2 ; else if(gi_1 = 2) drive( 0 , 80); wait( 0.600000 ); stop(); gi_1 = 3 ; else if(gi_1 = 3) ir_1 =ir_detector(); if( ir_1 = 1) drive( 0
6、, 100); wait( 0.250000 ); stop(); else if(ir_1 = 4) drive( 0 , 100); wait( 0.250000 ); stop(); else motor( 1 , 20 ); motor( 2 , 80 ); bmp_1 = bumper(); if( bmp_1 != 0) drive( -40 ,0); wait( 0.500000 ); stop(); drive( 0 , 100); wait( 0.250000 ); stop(); void SubRoutine_2( ) photo_1 =photo(1)-photo(2)
7、; if(photo_1 < 20) if(photo_1 < 20) drive( 0 , -20); wait( 0.100000 ); stop(); else if(photo_1 < 20) drive( 0 , 20); wait( 0.100000 ); stop(); else drive( 100 ,0); wait( 0.090000 ); stop(); motor( 1 , 0 ); motor( 2 , 0 ); motor( 3 , 100 ); gi_3 = 0 ; return;void SubRoutine_3( ) if(gi_1 = 1)
8、 ir_1 =ir_detector(); if( ir_1 = 2) printf( "ir_1 =%dn" ,ir_1); motor( 1 , 30 ); motor( 2 , 20 ); else printf( "ir_1 =%dn" ,ir_1); motor( 1 , 20 ); motor( 2 , 30 ); tim_1 =seconds(); if( tim_1 > 60.000000) gi_2 = 2 ; else ir_1 =ir_detector(); if( ir_1 = 1) printf( "ir_1 =
9、%dn" ,ir_1); motor( 1 , 30 ); motor( 2 , 20 ); else printf( "ir_1 =%dn" ,ir_1); motor( 1 , 20 ); motor( 2 , 30 ); void SubRoutine_4( ) if(gi_2 = 1) ir_1=ir_detector(); printf( "ir_1 =%dn" ,ir_1); if(ir_1 = 0) drive( 0 , -100); wait( 0.050000 ); stop(); drive( 100 ,0); wait(
10、0.100000 ); stop(); else if(ir_1 = 4) drive( 0 , 100); wait( 0.250000 ); stop(); else drive( 0 , -100); wait( 0.010000 ); stop(); ir_1 =ir_detector(); if( ir_1 = 1) drive( 0 , 100); wait( 0.050000 ); stop(); drive( 100 ,0); wait( 0.200000 ); stop(); bmp_1 = bumper(); printf( "bmp_1 =%dn" ,
11、bmp_1); if(bmp_1 = 5) | (bmp_1 = 1) drive( -50 ,0); wait( 0.400000 ); stop(); drive( 0 , 100); wait( 0.050000 ); stop(); drive( 50 ,0); wait( 0.240000 ); stop(); tim_1 =seconds(); if( tim_1 > 110.000000) gi_2 = 2 ; tim_1 =seconds(); else if(gi_2 = 2) drive( 0 , 100); wait( 0.250000 ); stop(); dri
12、ve( 100 ,0); wait( 1.000000 ); stop(); drive( 0 , 100); wait( 0.100000 ); stop(); gi_2 = 3 ; else if(gi_2 = 3) ir_1=ir_detector(); printf( "ir_1 =%dn" ,ir_1); if(ir_1 = 0) drive( 0 , -100); wait( 0.050000 ); stop(); drive( 100 ,0); wait( 0.050000 ); stop(); else if(ir_1 = 4) drive( 0 , 100
13、); wait( 0.250000 ); stop(); else drive( 0 , -100); wait( 0.010000 ); stop(); ir_1 =ir_detector(); if( ir_1 = 1) drive( 0 , 100); wait( 0.050000 ); stop(); drive( 100 ,0); wait( 0.100000 ); stop(); bmp_1 = bumper(); printf( "bmp_1 =%dn" ,bmp_1); if(gi_1 = 1) drive( -100 ,0); wait( 0.200000
14、 ); stop(); drive( 0 , 100); wait( 0.050000 ); stop(); drive( 100 ,0); wait( 0.120000 ); stop(); return;void SubRoutine_5( ) photo_1 =(photo(1)+photo(2)/2; if(photo_1 < 200) stop(); photo_1 =(photo(1)+photo(2)/2; while(photo_1 != 255) motor( 1 , 0 ); motor( 2 , 0 ); motor( 3 , 100 ); photo_1 =(ph
15、oto(1)+photo(2)/2; stop_motor(3); return;五、測試項目過程中出現(xiàn)的問題分析項目設(shè)計中采用了迷宮法則,在測試中發(fā)現(xiàn)迷宮行走的速度不僅和紅外傳感器的數(shù)量、分布位置、分布角度有關(guān),還和迷宮法則實現(xiàn)的語法結(jié)構(gòu)有關(guān),可以說迷宮算法千變?nèi)f化,在測試項目過程中就出現(xiàn)了下面的情況,有時候機器人走迷宮像飛一樣,而有時候機器人走迷宮像蝸牛爬,甚至在原地打轉(zhuǎn)。根據(jù)測試的調(diào)試分析,發(fā)現(xiàn)了兩個規(guī)律:(1)紅外傳感器的數(shù)量越多,迷宮行走速度的分化越嚴(yán)重。如果做到好,紅外傳感器數(shù)量越多,迷宮行走的速度就越快。調(diào)式能力低,紅外傳感器數(shù)量越多,迷宮行走的速度就越慢,其原因是紅外傳感器的數(shù)量增加后,相互配合的選擇性多,如果調(diào)得好,速度能加快,如果調(diào)得不好,傳感器多,相互干擾大,機器人常發(fā)出的光線被反復(fù)反射后被其他傳感器收到,抖動現(xiàn)象特別厲害,嚴(yán)重的甚至出現(xiàn)30秒不動的情況。(2)語法結(jié)構(gòu)中前進的語句越多,機器人行走速度越快,撞墻的可能性也隨著增加,調(diào)式難度同樣增加。 在測試的過程中,由于環(huán)境光線的影響,有時候室內(nèi)光線太強,會影響測試結(jié)果,導(dǎo)致機器人會誤以為有光源在前面就停止走動,啟動滅火程序了,這樣就要重新調(diào)試參數(shù)重新測試才行。六、項目結(jié)論與體會(1)開發(fā)機器人項目時,硬件選擇適當(dāng)與否直接關(guān)系到機器人的反應(yīng)能力,此次
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人民消防為人民課件
- 社區(qū)護理部個人年終工作總結(jié)
- 車工工藝與技能課件:滾花
- 冰雪運動主題公園項目投資風(fēng)險評估與管理報告
- 眩暈康復(fù)治療
- 血流動力學(xué)個案護理
- 起搏器術(shù)后的護理
- 春季幼兒衛(wèi)生保健常識
- 呼吸鏈色素排列
- 公共衛(wèi)生工作總結(jié)
- GB/T 30819-2024機器人用諧波齒輪減速器
- DL-T5394-2021電力工程地下金屬構(gòu)筑物防腐技術(shù)導(dǎo)則
- 我的家鄉(xiāng)湄潭課件
- 人教版六年級下冊數(shù)學(xué)第五、六單元測試題及答案
- 試模自校規(guī)程
- 組織人事業(yè)務(wù)知識測試二
- 浙江省溫州市2022年初中科學(xué)中考試題及參考答案
- 食品經(jīng)營操作流程圖
- 排樁+錨索深基坑安全專項施工方案
- 大型橋梁高程控制網(wǎng)的布設(shè)和精度分析
- 普拉提運動對大學(xué)生圓肩駝背體態(tài)矯正的研究
評論
0/150
提交評論