




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、沈陽(yáng)化工大學(xué) 機(jī)器人課程設(shè)計(jì) 專業(yè):測(cè)控技術(shù)與儀器 班級(jí):測(cè)控0901 姓名:許偉博 學(xué)號(hào):09130109 目錄第一章 緒言11.1、目的和意義11.2、設(shè)計(jì)內(nèi)容21.2.1、機(jī)器人硬件21.2.2、設(shè)計(jì)任務(wù)21.3、運(yùn)行框圖3第二章 機(jī)器人觸覺(jué)導(dǎo)航32.1、安裝并測(cè)試機(jī)器人胡須42.2、測(cè)試觸須傳感器62.3、C語(yǔ)言程序如下6第三章 機(jī)器人紅外導(dǎo)航103.1、使用紅外線發(fā)射和接收器件探測(cè)道路103.2、搭建并測(cè)試IR發(fā)射和探測(cè)器113.3、測(cè)試紅外發(fā)射探測(cè)器113.4、探測(cè)和避開障礙物12第四章 心得體會(huì)15 第一章 緒言1.1、目的和意義 機(jī)器人涉及機(jī)械、電子、傳感、控制等多個(gè)領(lǐng)域和學(xué)科
2、。本課程設(shè)計(jì)是在機(jī)器人學(xué)課程的基礎(chǔ)上,利用多傳感技術(shù)、控制技術(shù)實(shí)現(xiàn)機(jī)器人控制系統(tǒng)的綜合與應(yīng)用,達(dá)到鍛煉學(xué)生綜合設(shè)計(jì)能力的目的。1.2、設(shè)計(jì)內(nèi)容、機(jī)器人硬件 本課程設(shè)計(jì)使用實(shí)驗(yàn)室已有的移動(dòng)機(jī)器人。機(jī)器人有兩個(gè)驅(qū)動(dòng)輪、一個(gè)從動(dòng)輪,驅(qū)動(dòng)輪由舵機(jī)直接驅(qū)動(dòng)。機(jī)器人控制器為89S52單片機(jī)。 圖1 機(jī)器人結(jié)構(gòu)簡(jiǎn)圖、設(shè)計(jì)任務(wù) 利用多傳感器技術(shù),實(shí)現(xiàn)對(duì)機(jī)器人的軌跡規(guī)劃及控制。具體為:控制機(jī)器人在規(guī)定的場(chǎng)地內(nèi)避開障礙物走遍整個(gè)場(chǎng)地。場(chǎng)地長(zhǎng)1.8m,寬1.5m,場(chǎng)地四周為高0.3m的擋板。場(chǎng)地如圖2所示。1.3、運(yùn)行框圖 第二章 機(jī)器人觸覺(jué)導(dǎo)航 本章你將通過(guò)給你的機(jī)器人增加觸覺(jué)傳感器學(xué)習(xí)如何使用這些端口來(lái)獲取外界
3、信息。實(shí) 際上,對(duì)于任何一個(gè)自動(dòng)化系統(tǒng)(不僅僅是機(jī)器人),無(wú)非都是通過(guò)傳感器獲取外界信息,通過(guò)接口進(jìn)入計(jì)算機(jī)(或者單片機(jī)),由計(jì)算機(jī)或單片機(jī)根據(jù)反饋信息進(jìn)行計(jì)算和決策,生成控制命令,然后通過(guò)輸出接口去控制系統(tǒng)相應(yīng)的執(zhí)行機(jī)構(gòu),完成系統(tǒng)所要完成的任務(wù)。因此,學(xué)習(xí)如何使用單片機(jī)的輸入接口同學(xué)習(xí)使用輸出接口同等重要。 許多自動(dòng)化機(jī)械都依賴于各種觸覺(jué)型開關(guān),例如當(dāng)機(jī)器人碰到障礙物時(shí),接觸開關(guān)就會(huì)察覺(jué),通過(guò)編程讓機(jī)器人躲開障礙物;旅客登機(jī)橋在靠近飛機(jī)時(shí)為了保護(hù)昂貴的飛機(jī),在登 機(jī)橋接口安裝觸須,當(dāng)?shù)菣C(jī)橋離飛機(jī)很近后觸須就會(huì)碰到飛機(jī),立即通知控制器提醒離飛機(jī)已經(jīng)很近了,需要降低靠近速度;工廠利用觸覺(jué)開關(guān)來(lái)計(jì)
4、量生產(chǎn)線上的工件數(shù)量;在工業(yè)加工過(guò)程中,也被用來(lái)排列物體。在所有這些實(shí)例中,觸覺(jué)開關(guān)提供的輸入通過(guò)計(jì)算機(jī)或者單片機(jī)處理后生成其它形式的程序化的輸出。 本章中,你將在機(jī)器人前端安裝并測(cè)試一個(gè)稱為胡須的觸覺(jué)開關(guān)。你將對(duì)機(jī)器人大腦編程來(lái)監(jiān)視觸覺(jué)開關(guān)的狀態(tài),以及決定當(dāng)它遇到障礙物時(shí)如何動(dòng)作。最終的結(jié)果就是通過(guò)觸覺(jué)給機(jī)器人自動(dòng)導(dǎo)航。2.1、安裝并測(cè)試機(jī)器人胡須 編程讓機(jī)器人通過(guò)觸覺(jué)胡須導(dǎo)航之前,首先必須安裝并測(cè)試胡須。圖3所示是安裝機(jī)器人觸覺(jué)胡須所需的硬件元件清單,包括: 1 金屬絲2根 2 平頭M3×22盤頭螺釘2個(gè) 3 13mm圓形立柱2個(gè) 4 M3尼龍墊圈2個(gè) 5 3-pin公-公接頭2
5、個(gè) 6 220電阻2個(gè) 7 10k電阻2個(gè) 圖3 胡須硬件 安裝胡須 1.拆掉連接主板到前支架的兩顆螺釘2.參考圖4,進(jìn)行下面操作 3.螺釘依次穿過(guò)M3尼龍墊圈、13mm圓 形立柱 4.螺釘穿過(guò)主板上的圓孔之后,擰進(jìn)主板下面的支架中,但不要擰緊 5.把須狀金屬絲的其中一個(gè)鉤在尼龍墊圈之上,另一個(gè)鉤在尼龍墊圈之下,調(diào)整它們的位置使它們橫向交 叉但又不接觸 6. 擰緊螺釘?shù)街Ъ苌?7.參考接線圖5,搭建胡須電路。 注意:右邊胡須狀態(tài)信息輸入是通過(guò)P1口的第4腳完成,而左邊胡須狀態(tài)信息輸入是通過(guò)P2口的第3腳完成 8.確定兩條胡須比較靠近,但又不接觸面包板上的3-pin頭。推薦保持3 mm的距離。
6、9.圖6所示是實(shí)際的參考接線圖。 10.安裝好觸覺(jué)胡須的機(jī)器人如圖7所示。 圖4 安裝機(jī)器人胡須 圖5 胡須電路示意圖 圖6教學(xué)底板上胡須接線圖 圖7 安裝好觸須的機(jī)器人2.2、測(cè)試觸須傳感器 先執(zhí)行一段簡(jiǎn)單的程序,下面的程序是讓小車前行的,修改參數(shù)調(diào)舵機(jī),使舵機(jī)保持前行,然后在通過(guò)設(shè)置程序讓左須子觸碰障礙物時(shí)左轉(zhuǎn),右須子觸碰障礙物是右轉(zhuǎn),這樣進(jìn)行調(diào)試,來(lái)檢測(cè)傳感器。 死區(qū)程序很關(guān)鍵,以中斷的方式寫入,避免其一直困在墻角里出不來(lái)。2.3、C語(yǔ)言程序如下#include<BoeBot.h>#include<uart.h>int P1_4state(void)/獲取P1_4
7、的狀態(tài),右胡須return (P1&0x10)?1:0;int P2_3state(void)/獲取P2_3的狀態(tài),左胡須return (P2&0x08)?1:0;void Forward(void) P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);void siqu(void) interrupt 0 if(condition1) commands for condition1If(condition2) commands for both condition2 and co
8、ndition1else commands for conditio1 but not condition2Else commands for not condition1void Left_Turn(void) int i; for(i=1;i<=26;i+)P1_1=1;delay_nus(1300); P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);void Right_Turn(void) int i; for(i=1;i<=26;i+)P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;dela
9、y_nus(1700);P1_0=0;delay_nms(20);void Backward(void) int i; for(i=1;i<=65;i+)P1_1=1;delay_nus(1300); P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);int main(void)int i=1; int z=0;uart_Init();printf("Program Running!n");while(1)if(P1_4state()=0)&&(P2_3state()=0)if(z=0)Backwar
10、d(); /向后Left_Turn();/向左for(i;i<100;i+) P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20); Left_Turn();/向左z=1; elseBackward(); /向后Right_Turn();/向右for(i;i<100;i+) P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20); Right_Turn();/向右z=0;else if(P1_4
11、state()=0)if(z=0)Backward(); /向后Left_Turn();/向左for(i;i<100;i+) P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20); Left_Turn();/向左z=1; elseBackward(); /向后Right_Turn();/向右for(i;i<100;i+) P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20); Right_Tu
12、rn();/向右z=0; else if(P2_3state()=0)if(z=0)Backward(); /向后Left_Turn();/向左for(i;i<100;i+) P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20); Left_Turn();/向左z=1; elseBackward(); /向后Right_Turn();/向右for(i;i<100;i+) P1_1=1;delay_nus(1700); P1_1=0;P1_0=1;delay_nus(1300);P1_0=
13、0;delay_nms(20); Right_Turn();/向右z=0;else Forward();/向前將上述程序下載到小車中進(jìn)行調(diào)試。 第三章 機(jī)器人紅外導(dǎo)航 現(xiàn)在許多遙控裝置和PDA都使用頻率低于可見(jiàn)光的紅外線進(jìn)行通信,而機(jī)器人則可以使用紅外線進(jìn)行導(dǎo)航??梢允褂靡恍﹥r(jià)格非常便宜且應(yīng)用廣泛的部件,讓機(jī)器人的C51微控制器可以收發(fā)紅外光信號(hào),從而實(shí)現(xiàn)機(jī)器人的紅外線導(dǎo)航。 3.1、使用紅外線發(fā)射和接收器件探測(cè)道路 許多機(jī)器人使用雷達(dá)(RADAR)或者聲納(SONAR)來(lái)探測(cè)物體而不需同物體接觸。我們使用紅外光來(lái)照射機(jī)器人前進(jìn)的路線,然后確定何時(shí)有光線從被探測(cè)目標(biāo)反射回來(lái),通過(guò)檢測(cè)反射回來(lái)的
14、紅外光就可以確定前方是否有物體。由于紅外遙控 技術(shù)的發(fā)展,現(xiàn)在紅外線發(fā)射器和接收器已經(jīng)很普及并且價(jià)格很便宜。這對(duì)于機(jī)器人愛(ài)好者而言是一個(gè)好消息。 紅外前燈 你將要在機(jī)器人上建立的紅外光探測(cè)物體系統(tǒng)在許多方面就象汽車的前燈系統(tǒng)。當(dāng)汽車 前燈射出的光從障礙物體反射回來(lái)時(shí),人的眼睛就發(fā)現(xiàn)了障礙物體,然后大腦處理這些信息, 并據(jù)此控制身體動(dòng)作駕駛汽車。機(jī)器人使用紅外線二極管LED作為前燈,如圖8所示。 圖8 用紅外光探測(cè)障礙物 圖9 本章需要用到的新部件 紅外線二極管發(fā)射紅外光,如果機(jī)器人前面有障礙物,紅外線從物體反射回來(lái),相當(dāng)于機(jī)器人眼睛的紅外檢測(cè)(接收)器,檢測(cè)到反射回的紅外光線,并發(fā)出信號(hào)來(lái)表明
15、檢測(cè)到從物體反射回紅外線。機(jī)器人的大腦單片機(jī)AT89S52基于這個(gè)傳感器的輸入控制伺服電機(jī)。 紅外線(IR)接收/檢測(cè)器有內(nèi)置的光濾波器,除了需要檢測(cè)的980 nm波長(zhǎng)的紅外線外, 它幾乎不允許其它光通過(guò)。紅外檢測(cè)器還有一個(gè)電子濾波器,它只允許大約38.5 kHz 的電信號(hào)通過(guò)。換句話說(shuō),檢測(cè)器只尋找每秒閃爍38,500次的紅外光。這就防止了普通光源象太陽(yáng)光和室內(nèi)光對(duì)IR的干涉。太陽(yáng)光是直流干涉 (0Hz)源,而室內(nèi)光依賴于所在區(qū)域的主電源,閃爍頻率接近100或120 Hz。由于120 Hz在電子濾波器的38.5 kHz通帶頻率之外,它完全被IR探測(cè)器忽略。 3.2、搭建并測(cè)試IR發(fā)射和探測(cè)器
16、 本任務(wù)中,我們將搭建并測(cè)試紅外線發(fā)射和檢測(cè)器。 元件清單: (1) 兩個(gè)紅外檢測(cè)器 (2) 兩個(gè)IR LED (3) 四個(gè)470電阻 (4) 兩個(gè)9013三極管 搭建紅外線前燈 電路板的每個(gè)角安裝一個(gè)IR組(IR LED和檢測(cè)器) 電路圖如圖10 圖10 左側(cè)和右側(cè)IR組原理圖 3.3、測(cè)試紅外發(fā)射探測(cè)器 用P1_3發(fā)送持續(xù)1毫秒的38.5kHz的紅外光,如果紅外光被小車路徑上的物體反射回來(lái),紅外檢測(cè)器將給微控制器發(fā)送一個(gè)信號(hào),讓它知道已經(jīng)檢測(cè)到反射回的紅外光。 讓每個(gè)IR LED 探測(cè)器組工作的關(guān)鍵是發(fā)送1毫秒頻率為38.5 kHz的紅外信號(hào),然后立刻將IR探測(cè)器的輸出存儲(chǔ)到一個(gè)變量中。下
17、面是一個(gè)例子,它發(fā)送38.5 kHz信號(hào)給連接到P1_3 的IR發(fā)射器,然后用整型變量irDetectLeft存儲(chǔ)連接到P1_2的IR探測(cè)器的輸出。 for(counter=0;counter<38;counter+) P1_3=1; delay_nus(13); P1_3=0; delay_nus(13); irDetectLeft=P1_2state(); 上述代碼給P1_3輸出的信號(hào)高電平13微秒,低電平為13微秒,總周期為26微秒,即頻率 約為38.5kHz??偣草敵?8個(gè)周期的信號(hào),即持續(xù)時(shí)間約為1毫秒(38*26約等于1000微秒)。 當(dāng)沒(méi)有紅外信號(hào)返回時(shí),探測(cè)器的輸出狀態(tài)為
18、高。當(dāng)它探測(cè)到被物體反射的38500Hz紅外信號(hào)時(shí),它的輸出為低。因紅外信號(hào)發(fā)送的持續(xù)時(shí)間為1毫秒,因此IR探測(cè)器的輸出如果處于低,其持續(xù)狀態(tài)也不會(huì)超過(guò)1毫秒,因此發(fā)送完信號(hào)后必須立即將IR探測(cè)器的輸出存儲(chǔ)到變量中。這些存儲(chǔ)的值會(huì)顯示在調(diào)試終端或被機(jī)器人用來(lái)導(dǎo)航。 輸入保存運(yùn)行程序 進(jìn)行調(diào)試當(dāng)你將物體移開時(shí) 是否顯示irdetectleft=1?3.4、探測(cè)和避開障礙物改變觸須程序使其適應(yīng)IR檢測(cè)和躲避調(diào)用函數(shù)<Void IRLaunch (unsigned char IR)來(lái)進(jìn)行紅外線發(fā)射>Void IRLaunch(unsigned char IR) int counter I
19、f(IR=L) For (counter=0.counter<38;counter+)/左邊發(fā)射LeftLaunch=1 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();LeftLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); if(IR &
20、#39;R') for(counter=0;counter<38;counter+)/右邊發(fā)射 RightLaunch=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); RightLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
21、 修改ifelse語(yǔ)句存儲(chǔ)IR檢測(cè)信息的變量。 if(irDetectLeft 0)&&(irDetectRight 0)/兩邊同時(shí)接收到紅外線 Left_Turn(); Left_Turn(); else if(irDetectLeft 0)/只有左邊接收到紅外線 Right_Turn(); else if(irDetectRight 0)/只有右邊接收到紅外線 Left_Turn(); else Forward();3.4.2 驗(yàn)證機(jī)器人的行為和和運(yùn)行程序RoamingWithIr.c時(shí)除不需要接觸是否非常像 例程:RoamingWithIr.c for(counter=0
22、;counter<38;counter+) /發(fā)射時(shí)間比胡須長(zhǎng) LeftLaunch=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LeftLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); if(IR 'R') /右
23、邊發(fā)射 for(counter=0;counter<38;counter+) RightLaunch=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); RightLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); void Forward
24、(void) /向前行走子程序 P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); void Left_Turn(void) /左轉(zhuǎn)子程序 int i; for( i=1;i<=26;i+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); void Right_Turn(void) /右轉(zhuǎn)子程序 int i; for( i=1;i<=26;i+) P1_1=1;
25、 delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); void Backward(void) /向后行走子程序 int i; for( i=1;i<=65;i+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); int main(void) int irDetectLeft,irDetectRight; uart_Init(); printf("Program Running!n"
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手農(nóng)村房屋購(gòu)房合同范本
- 農(nóng)村燒鍋爐合同范本
- 批墻合同范本
- 凍品簡(jiǎn)單合同范本
- 透析高鉀血癥的護(hù)理
- 2025年煙葉制絲工(技師)技能理論參考試指導(dǎo)題庫(kù)-下(多選、判斷題)
- 2025年鐵路職工職業(yè)技能競(jìng)賽(貨運(yùn)員賽項(xiàng))理論考試指導(dǎo)題庫(kù)(含答案)
- 母嬰店打工合同范本
- 職業(yè)暴露防護(hù)理
- 管網(wǎng)改造施工合同范本
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2024建筑施工安全生產(chǎn)隱患識(shí)別圖合集
- 2025年江蘇南京技師學(xué)院招聘工作人員19人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年吉安職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 2024阿里巴巴云計(jì)算云主機(jī)租賃及運(yùn)維服務(wù)合同2篇
- 高技能人才培訓(xùn)基地 建設(shè)項(xiàng)目實(shí)施方案
- 消毒供應(yīng)中心禮儀培訓(xùn)
- 微信公眾號(hào)運(yùn)營(yíng)步驟
- 2024年河南省中職對(duì)口升學(xué)高考語(yǔ)文試題真題(解析版)
- DB37T 4614.2-2023“愛(ài)山東”政務(wù)服務(wù)平臺(tái)移動(dòng)端 第2部分:運(yùn)營(yíng)管理規(guī)范
- 初中數(shù)學(xué)新課程標(biāo)準(zhǔn)(2024年版)
評(píng)論
0/150
提交評(píng)論