版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、滅火機(jī)器人的設(shè)計(jì)一、項(xiàng)目任務(wù)在能力風(fēng)暴機(jī)器人AS-UII的基礎(chǔ)上,組裝一個(gè)滅火機(jī)器人,并編寫(xiě)程序,讓其能完成滅火任務(wù)。(任務(wù)的詳細(xì)內(nèi)容請(qǐng)參見(jiàn)國(guó)際滅火比賽規(guī)則2010)二、項(xiàng)目要求 設(shè)計(jì)的機(jī)器人能在5分鐘內(nèi)把滅火場(chǎng)地中的蠟燭熄滅。每次運(yùn)行時(shí),蠟燭被任意放置在不同的房間內(nèi)。其它詳細(xì)要求請(qǐng)參見(jiàn)國(guó)際滅火比賽規(guī)則2010三、使用到的硬件設(shè)備機(jī)器人的硬件:(1)傳感器:碰撞傳感器、紅外傳感器、火焰?zhèn)鞲衅?、?)控制單元:微控制器、外部存儲(chǔ)器、復(fù)位系統(tǒng)和電源(3)驅(qū)動(dòng)器:直流電動(dòng)機(jī)、LCD(4)滅火風(fēng)扇四、程序的思路在機(jī)器人滅火實(shí)驗(yàn)中,要求機(jī)器人實(shí)現(xiàn)在實(shí)驗(yàn)場(chǎng)地里迅速找到蠟燭將其熄滅,在尋找過(guò)程中要避免碰撞墻
2、壁與蠟燭,如果發(fā)現(xiàn)火源,啟動(dòng)滅火程序,滅火,沒(méi)有發(fā)現(xiàn)火源,走迷宮,尋找火源,所以機(jī)器人必須實(shí)現(xiàn)以下功能:(1)由于在實(shí)驗(yàn)場(chǎng)地中,實(shí)驗(yàn)規(guī)定的房間內(nèi)都有可能擺放蠟燭,所以機(jī)器人必須能夠?qū)崿F(xiàn)搜索所有的房間,在行走過(guò)程中不允許碰撞墻壁,而且盡可能快的搜索所有房間,不走重復(fù)的路程。在此過(guò)程中,本人采用了迷宮法則里的左手法則(左手法則:看到墻壁往右轉(zhuǎn),沒(méi)看不到墻壁往左轉(zhuǎn))。(2)機(jī)器人在行走過(guò)程中要不斷的判斷是否有火源;如有還要判斷火源在機(jī)器人的哪個(gè)方位、離機(jī)器人的距離等。在此過(guò)程中,需要設(shè)計(jì)一個(gè)亮度檢測(cè)來(lái)尋找火源。(3)找到火源后,機(jī)器人自動(dòng)啟動(dòng)滅火裝置(風(fēng)扇)迅速將火熄滅,火源熄滅后,風(fēng)扇停止轉(zhuǎn)動(dòng)。根
3、據(jù)以上的思路設(shè)計(jì),在VJC編程環(huán)境下,編輯機(jī)器人行為控制程序,下載并反復(fù)調(diào)試控制程序,實(shí)現(xiàn)機(jī)器人滅火實(shí)驗(yà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;五、測(cè)試項(xiàng)目過(guò)程中出現(xiàn)的問(wèn)題分析項(xiàng)目設(shè)計(jì)中采用了迷宮法則,在測(cè)試中發(fā)現(xiàn)迷宮行走的速度不僅和紅外傳感器的數(shù)量、分布位置、分布角度有關(guān),還和迷宮法則實(shí)現(xiàn)的語(yǔ)法結(jié)構(gòu)有關(guān),可以說(shuō)迷宮算法千變?nèi)f化,在測(cè)試項(xiàng)目過(guò)程中就出現(xiàn)了下面的情況,有時(shí)候機(jī)器人走迷宮像飛一樣,而有時(shí)候機(jī)器人走迷宮像蝸牛爬,甚至在原地打轉(zhuǎn)。根據(jù)測(cè)試的調(diào)試分析,發(fā)現(xiàn)了兩個(gè)規(guī)律:(1)紅外傳感器的數(shù)量越多,迷宮行走速度的分化越嚴(yán)重。如果做到好,紅外傳感器數(shù)量越多,迷宮行走的速度就越快。調(diào)式能力低,紅外傳感器數(shù)量越多,迷宮行走的速度就越慢,其原因是紅外傳感器的數(shù)量增加后,相互配合的選擇性多,如果調(diào)得好,速度能加快,如果調(diào)得不好,傳感器多,相互干擾大,機(jī)器人常發(fā)出的光線被反復(fù)反射后被其他傳感器收到,抖動(dòng)現(xiàn)象特別厲害,嚴(yán)重的甚至出現(xiàn)30秒不動(dòng)的情況。(2)語(yǔ)法結(jié)構(gòu)中前進(jìn)的語(yǔ)句越多,機(jī)器人行走速度越快,撞墻的可能性也隨著增加,調(diào)式難度同樣增加。 在測(cè)試的過(guò)程中,由于環(huán)境光線的影響,有時(shí)候室內(nèi)光線太強(qiáng),會(huì)影響測(cè)試結(jié)果,導(dǎo)致機(jī)器人會(huì)誤以為有光源在前面就停止走動(dòng),啟動(dòng)滅火程序了,這樣就要重新調(diào)試參數(shù)重新測(cè)試才行。六、項(xiàng)目結(jié)論與體會(huì)(1)開(kāi)發(fā)機(jī)器人項(xiàng)目時(shí),硬件選擇適當(dāng)與否直接關(guān)系到機(jī)器人的反應(yīng)能力,此次
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度石英砂信用保證與銷售合同
- 二零二五年度農(nóng)村自建房買(mǎi)賣(mài)定金合同范本3篇
- 二零二五年度房屋抵押貸款再擔(dān)保服務(wù)合同3篇
- 二零二五年度家政服務(wù)人員權(quán)益保障三方合同范本3篇
- 二零二五年度教師職務(wù)晉升勞動(dòng)合同范本3篇
- 二零二五年度文化創(chuàng)意門(mén)面租賃與藝術(shù)展覽合作合同3篇
- 2025年度海上油輪保險(xiǎn)合同范本發(fā)布3篇
- 海南衛(wèi)生健康職業(yè)學(xué)院《西醫(yī)外科學(xué)醫(yī)學(xué)免疫學(xué)與病原生物學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 螃蟹涂鴉課程設(shè)計(jì)
- 二零二五年度二手房購(gòu)置糾紛調(diào)解服務(wù)合同
- 直播電商基地入駐協(xié)議書(shū)范文
- 兒童涂色畫(huà)空白填色圖(100張文本打印版)
- 2024版合同及信息管理方案
- 人教精通版小學(xué)英語(yǔ)(三年級(jí)起點(diǎn))四年級(jí)上冊(cè)同步練習(xí)試題(全套)
- 2024-2025學(xué)年人教版生物八年級(jí)上冊(cè)期末綜合測(cè)試卷
- 有機(jī)農(nóng)業(yè)種植技術(shù)操作手冊(cè)
- 2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)人教版期末測(cè)評(píng)卷(含答案)
- 2024-2030年中國(guó)裸眼3D市場(chǎng)深度調(diào)查與競(jìng)爭(zhēng)格局分析研究報(bào)告
- 曲線與曲面積分練習(xí)題含答案
- 《ISO56001-2024創(chuàng)新管理體系 - 要求》之25:“9績(jī)效評(píng)價(jià)-9.2內(nèi)部審核”解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024)
- 小升初典型奧數(shù):相遇問(wèn)題(講義)-2023-2024學(xué)年六年級(jí)下冊(cè)數(shù)學(xué)人教版
評(píng)論
0/150
提交評(píng)論