機(jī)器人應(yīng)用基礎(chǔ)-總綱_第1頁
機(jī)器人應(yīng)用基礎(chǔ)-總綱_第2頁
機(jī)器人應(yīng)用基礎(chǔ)-總綱_第3頁
機(jī)器人應(yīng)用基礎(chǔ)-總綱_第4頁
機(jī)器人應(yīng)用基礎(chǔ)-總綱_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

機(jī)器人應(yīng)用基礎(chǔ)機(jī)器人時代

2007年,比爾·蓋茨預(yù)言:

機(jī)器人即將重復(fù)個人電腦崛起之路!機(jī)器人將與個人電腦一樣邁入家家戶戶,徹底改變?nèi)祟惖纳罘绞剑€人電腦

(PC)

=>個人機(jī)器人(PR)機(jī)器人領(lǐng)域面臨嚴(yán)峻的考驗(yàn):

1、沒有標(biāo)準(zhǔn)的操作系統(tǒng)軟件

2、處理器和硬件系統(tǒng)受限制

3、沒有標(biāo)準(zhǔn)的軟件系統(tǒng)平臺

影響廣泛的世界級比賽,推動機(jī)器人產(chǎn)業(yè)的標(biāo)準(zhǔn)化!一、機(jī)器人

按用途分類工業(yè)機(jī)器人?特種機(jī)器人工業(yè)機(jī)器人搬運(yùn)機(jī)器人焊接機(jī)器人噴漆機(jī)器人裝配機(jī)器人…?特種機(jī)器人空中機(jī)器人地面機(jī)器人水下機(jī)器人服務(wù)機(jī)器人軍用機(jī)器人農(nóng)業(yè)機(jī)器人娛樂機(jī)器人競賽機(jī)器人…競賽機(jī)器人投籃機(jī)器人空中機(jī)器人

滅火機(jī)器人

尋線機(jī)器人舞蹈

機(jī)器人足球機(jī)器人。。。。。。三、足球機(jī)器人?FIRA

?RoboCup?青少年足球機(jī)器人?。。。。。。FIRA機(jī)器人足球比賽

最早由韓國高等技術(shù)研究院的金鐘煥教授于1995年提出,并于1996年在韓國舉辦了第一屆國際比賽。機(jī)器人足球系統(tǒng)的研究涉及非常廣泛的領(lǐng)域,包括機(jī)械電子學(xué)、機(jī)器人學(xué)、傳感器信息融合、智能控制、通訊、計(jì)算機(jī)視覺、計(jì)算機(jī)圖形學(xué)、人工智能等等。

比賽錄像控制難點(diǎn)

1、廣角失真問題矯正廣角失真

2、隊(duì)員識別

3、下層控制

4、決策控制

5、通信系統(tǒng)四、RoboCup的發(fā)展及關(guān)鍵技術(shù)

RoboCup:RobotWorldCup

主要活動

—技術(shù)會議

—足球杯比賽國際組織:RoboCup網(wǎng)站:http://

新的里程碑(Landmark)工程

—長遠(yuǎn)目標(biāo):到2050年,完全自主的類人的機(jī)器人將打敗當(dāng)時的世界足球冠軍隊(duì),這是一個50年的長遠(yuǎn)計(jì)劃。。涉及的研究領(lǐng)域智能機(jī)器人系統(tǒng)多智能體系統(tǒng)實(shí)時模式識別與行為系統(tǒng)智能體結(jié)構(gòu)設(shè)計(jì)實(shí)時規(guī)劃和推理傳感器技術(shù)動態(tài)實(shí)時系統(tǒng)分布式合作與對抗帶噪聲的,非全信息的環(huán)境模型非符號化的環(huán)境信息受限的通訊帶寬技術(shù)特點(diǎn)5、機(jī)器人的運(yùn)動規(guī)劃它具有以下特點(diǎn):(1)必須考慮多個機(jī)器人協(xié)作,機(jī)器人的運(yùn)動不能相互干擾;(2)整個比賽都是動態(tài)的,障礙(球和其它機(jī)器人)處在高速運(yùn)動中;(3)使用兩輪獨(dú)立驅(qū)動方式的移動機(jī)器人,是典型的非完整約束系統(tǒng);(4)機(jī)器人存在著顯著的動力學(xué)約束,即速度和加速度的限制;(5)整個運(yùn)動規(guī)劃過程要求很強(qiáng)的實(shí)時性。DX117AX12+RX28RX64舵機(jī)AX12DX117ComTTLRS485Torque(kg.cm)16.538.5Weight(g)5566Voltage(V)10162006usage(%)1/184/182007usage(%)6/2513/25我們的選擇還有:

RX-28Rx-64代理:Robotis

co.或智能佳機(jī)器人水球比賽仿生機(jī)器魚的機(jī)械結(jié)構(gòu)機(jī)械結(jié)構(gòu)控制單元通訊單元驅(qū)動單元支撐單元附件魚類游動的運(yùn)動學(xué)模型魚體波曲線方程C51單片機(jī)與機(jī)器人大腦AT89S52教學(xué)底板項(xiàng)目一、輪式機(jī)器人的制作與應(yīng)用微控制器的用途單片機(jī)與C51系列單片機(jī)項(xiàng)目單元1、機(jī)器人系統(tǒng)的構(gòu)建與調(diào)試

獲得軟件——KeiluVision2IDE官方下載()

安裝軟件從網(wǎng)上下載軟件后安裝硬件安裝通訊測試:你的第一個程序第一個程序#include<uart.h>intmain(void){uart_Init();//串口初始化

printf("Hello,thisisamessagefromyourRobot\n");}第一個程序添加頭文件uart.h程序入口,main()函數(shù)printf()函數(shù),打印輸出,在終端上顯示“//”表示注釋,后面內(nèi)容將被編輯器忽視項(xiàng)目單元2、機(jī)器人的基本運(yùn)動控制控制C51單片機(jī)的I/O口及伺服電機(jī)

機(jī)器人指示燈亮、滅控制控制單燈閃爍:使用P1端口的第一腳(P1_0)來控制發(fā)光二極管(LED)閃爍。while(1){P1_0=1;//P1_0輸出高電平delay_nms(500);//延時500msP1_0=0;//P1_0輸出低電平delay_nms(500);//延時500ms}●while循環(huán)函數(shù)●delay_nms延時函數(shù)時序圖簡介時序圖反應(yīng)的是高、低電壓信號與時間的關(guān)系圖機(jī)器人伺服電機(jī)控制信號控制伺服電機(jī)控制信號

零點(diǎn)標(biāo)定信號時序圖while(1){P1_0=1;//P1_0輸出高電平delay_nus(1500);//延時1.5msP1_0=0;//P1_0輸出低電平delay_nus(20000);//延時20ms}安裝伺服電機(jī)伺服電機(jī)與教學(xué)底板的連線原理圖(左)和實(shí)際接線示意圖(右)測試伺服電機(jī)1.3ms的控制脈沖序列使電機(jī)順時針全速旋轉(zhuǎn)1.7ms的連續(xù)脈沖序列使電機(jī)逆時針全速旋轉(zhuǎn)while(1){P1_0=1;delay_nus(1300);P1_0=0;delay_nus(20000);}while(1){P1_0=1;delay_nus(1700);P1_0=0;delay_nus(20000);}伺服電機(jī)旋轉(zhuǎn)規(guī)定的時間for循環(huán)

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句按如下方式理解for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語句for(Counter=1;Counter<=100;i++){P1_1=1;delay_nus(1700);P1_1=0;delay_nms(20);}用PC機(jī)控制機(jī)器人的運(yùn)動scanf(格式控制,地址表列);printf("ProgramRunning!\n");printf("Pleaseinputpulsenumber:\n");scanf("%d",&PulseNumber);printf("Pleaseinputpulseduration:\n");scanf("%d",&PulseDuration);for(Counter=1;Counter<=PulseNumber;Counter++){……delay_nus(PulseDuration);……}機(jī)器人巡航控制基本巡航動作機(jī)器人及其前進(jìn)方向的定義向前巡航for循環(huán)的參數(shù)控制了發(fā)送給電機(jī)的脈沖數(shù)量。由于每個脈沖的時間是相同的,因而for循環(huán)的參數(shù)也控制了伺服電機(jī)運(yùn)行的時間。for(counter=0;counter<130;counter++)//運(yùn)行3秒{P1_1=1;delay_nus(1700);P1_1=0;//左輪逆時針P1_0=1;delay_nus(1300);P1_0=0;//右輪順時針delay_nms(20);}其它巡航動作將delay_nus函數(shù)的參數(shù)n以不同的值組合就可以使機(jī)器人以其它的方式運(yùn)行向后行走P1_1=1;delay_nus(1300);P1_1=0;//左輪順時針P1_0=1;delay_nus(1700);P1_0=0;//右輪逆時針delay_nms(20);原地左轉(zhuǎn)P1_1=1;delay_nus(1300);P1_1=0;//左輪順時針P1_0=1;delay_nus(1300);P1_0=0;//右輪順時針delay_nms(20);原地右轉(zhuǎn)P1_1=1;delay_nus(1700);P1_1=0;//左輪逆時針P1_0=1;delay_nus(1700);P1_0=0;//右輪逆時針delay_nms(20);其它巡航動作——以某一輪子為支點(diǎn)旋轉(zhuǎn)從前面向左旋轉(zhuǎn)P1_1=1;delay_nus(1500);P1_1=0;//左輪靜止P1_0=1;delay_nus(1300);P1_0=0;//右輪順時針delay_nms(20);從前面向右旋轉(zhuǎn)P1_1=1;delay_nus(1700);P1_1=0;//左輪逆時針P1_0=1;delay_nus(1500);P1_0=0;//右輪靜止delay_nms(20);從后面向左旋轉(zhuǎn)P1_1=1;delay_nus(1500);P1_1=0;//左輪靜止P1_0=1;delay_nus(1700);P1_0=0;//右輪逆時針delay_nms(20);從后面向右旋轉(zhuǎn)P1_1=1;delay_nus(1300);P1_1=0;//左輪順時針P1_0=1;delay_nus(1500);P1_0=0;//右輪靜止delay_nms(20);勻變速運(yùn)動:防止機(jī)器人加速過快for(pulseCount=10;pulseCount<=200;pulseCount=pulseCount+1){P1_1=1;

delay_nus(1500+pulseCount);

P1_1=0;P1_0=1;

delay_nus(1500-pulseCount);

P1_0=0;delay_nms(20); }用函數(shù)簡化運(yùn)動程序:Forward()、Left_Turn()、Right_Turn()、Backward()voidForward(void){inti;for(i=1;i<=65;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}}高級主題——建立復(fù)雜運(yùn)動如果要讓機(jī)器人執(zhí)行一個更長,更復(fù)雜的動作,前面講到的方法將會很麻煩。

●用字符數(shù)組存儲運(yùn)動動作

●用switch語句解釋這些動作charNavigation[10]={'F','L','F','F','R','B','L','B','B','Q'};while(Navigation[address]!='Q'){switch(Navigation[address]){case'F':Forward();break;case'L':Left_Turn();break;case'R':Right_Turn();break;case'B':Backward();break;}address++;}switch(表達(dá)式){case常量表達(dá)式1:語句1;break;case常量表達(dá)式2:語句2;break;…case常量表達(dá)式n:語句n;break;default:語句n+1;break;}switch分支語句一般形式:項(xiàng)目單元3、機(jī)器人觸覺系統(tǒng)的制作與調(diào)試通過前面兩章的學(xué)習(xí),你已經(jīng)掌握如何用單片機(jī)的端口來控制機(jī)器人的各種運(yùn)動。當(dāng)時,連接機(jī)器人伺服電機(jī)的端口是作為輸出使用。從本章開始,單片機(jī)端口將作為輸入使用。觸覺導(dǎo)航觸須(胡須)硬件安裝好胡須的機(jī)器人測試胡須胡須電路圖intP1_4state(void)//獲取P1_4的狀態(tài){return(P1&0x10)?1:0;}intP2_3state(void)//獲取P2_3的狀態(tài){return(P2&0x08)?1:0;}C語言的一種運(yùn)算符——?表達(dá)式1?表達(dá)式2:表達(dá)式3胡須導(dǎo)航if((P1_4state()==0)&&(P2_3state()==0)){Backward();Left_Turn();Left_Turn();}elseif(P1_4state()==0){Backward();Left_Turn();}elseif(P2_3state()==0){Backward();Right_Turn();}elseForward();兩邊同時碰到,后退,左轉(zhuǎn)兩次}右邊碰到,后退再左拐}}左邊碰到,后退再右拐沒有障礙物,前進(jìn)當(dāng)機(jī)器人進(jìn)入墻角時,左胡須觸墻,于是它右轉(zhuǎn),向前行走,右胡須觸墻,于是左轉(zhuǎn)前進(jìn),又碰到左墻,再次碰到右墻…。如果不是你把它從墻角拿出來,它就會一直困在墻角里而出不來。逃離墻角死區(qū)修改程序讓機(jī)器人碰到上述問題時逃離死區(qū)。技巧是記下胡須交替觸動的總次數(shù)。技巧的關(guān)鍵是程序必須記住每個胡須的前一次觸動狀態(tài),并和當(dāng)前觸動狀態(tài)對比。如果狀態(tài)相反,就在交替總數(shù)上加1。如果這個交替總數(shù)超過了程序中預(yù)先給定的閥值,那么就該做一個“U”型轉(zhuǎn)彎,并且把胡須交替計(jì)數(shù)器復(fù)位。編程實(shí)現(xiàn)依賴于if…else嵌套語句if(P1_4state()!=P2_3state()){if((old2!=P1_4state())&&(old3!=P2_3state())){counter=counter+1;old2=P1_4state();old3=P2_3state();if(counter>4){counter=1;Backward();Left_Turn();Left_Turn();}}elsecounter=1; }項(xiàng)目單元4、機(jī)器人紅外導(dǎo)航使用紅外線發(fā)射和接收器探測道路搭建IR發(fā)射和探測器對左側(cè)和右側(cè)IR組原理圖三極管結(jié)構(gòu)、符號及管腳for(counter=0;counter<38;counter++){P1_3=1;delay_nus(13);P1_3=0;delay_nus(13);}irDetectLeft=P1_5state();測試IR發(fā)射和探測器對讓每個IRLED探測器組工作的關(guān)鍵是發(fā)送1毫秒頻率38.5kHz的紅外信號,然后立刻將IR探測器的輸出存儲到一個變量中。}周期T=26us,頻率f=1/T=38.5kHz持續(xù)時間t=38T=1ms變量irDetectLeft存儲探測器狀態(tài)函數(shù)延時的不精確性函數(shù)調(diào)用所需時間是微秒級,與工作要求同級,故延時不精確??蘸瘮?shù)——_nop_(void)當(dāng)微控制器在12MHz晶振下工作時,單片機(jī)AT89S52一個時鐘周期為:T=(1/12)*10-6S微控制器操作是用機(jī)器周期來計(jì)算的,一個機(jī)器周期為十二個時鐘周期:t=12*T=1*10-6s=1us

所以空函數(shù)_nop_()能產(chǎn)生1us的延時。教學(xué)板的晶振選用11.0592MHz,它能產(chǎn)生延時時間是1.08us,比1us有稍許誤差探測和避開障礙物用#define語句來簡化程序,如:#defineLeftIRP1_2//左邊紅外接收連接到P1_2#defineLeftLaunchP1_3//左邊紅外發(fā)射連接到P1_3在以后的程序中,可以用LeftIR代替P1_2發(fā)射并檢測信號IRLaunch('R');irDetectRight=RightIR;//右邊接收IRLaunch('L');irDetectLeft=LeftIR;//左邊接收紅外線導(dǎo)航,與胡須類似if((irDetectLeft==0)&&(irDetectRight==0))//兩邊同時接收到紅外線{Backward();Left_Turn();Left_Turn();}elseif(irDetectLeft==0)//只有左邊接收到紅外線{Backward();Right_Turn();}elseif(irDetectRight==0)//只有右邊接收到紅外線{Backward();Left_Turn();}elseForward();高性能的IR導(dǎo)航發(fā)送脈沖給電機(jī)之前檢查障礙物,可以大大改善機(jī)器人的行走性能。程序可以使用傳感器輸入為每個瞬間的導(dǎo)航選擇最好的機(jī)動動作。這樣,機(jī)器人永遠(yuǎn)不會走過頭,它會找到繞開障礙物的完美路線,成功的走過更加復(fù)雜的路線。如果前方有障礙物,機(jī)器人會使用脈沖命令避開,然后探測,如果物體還在,再使用另一個脈沖來避開它。機(jī)器人能持續(xù)使用電機(jī)驅(qū)動脈沖和探測,直到它繞開障礙物,然后它會繼續(xù)發(fā)向前行走的脈沖。if((irDetectLeft==0)&&(irDetectRight==0)){pulseLeft=1300;pulseRight=1700;}……………………P1_1=1;delay_nus(pulseLeft);P1_1=0;P1_0=1;delay_nus(pulseRight);P1_0=0;delay_nms(20);使用整型變量pulseLeft和pulseRight來設(shè)置發(fā)送的脈沖持續(xù)時間邊緣探測精確的延時:定時/計(jì)數(shù)器的應(yīng)用數(shù)組:保存相同類型的若干變量尾隨小車跟蹤條紋帶項(xiàng)目單元5、機(jī)器人串行通信系統(tǒng)的制作通過串口發(fā)送數(shù)據(jù)通過串口接收數(shù)據(jù)串口通訊UART(UniversalAsynchronousReceiver/Transmitter)是一種能夠把二進(jìn)制數(shù)據(jù)按位(bit)傳送的通信方式。AT89S52擁有1個串行通信接口UART。其主要功能如下:在輸出數(shù)據(jù)時,把數(shù)據(jù)進(jìn)行并-串轉(zhuǎn)換,即從計(jì)算機(jī)接收8位并行數(shù)據(jù)并發(fā)送到串口輸出;在輸入數(shù)據(jù)時,把數(shù)據(jù)進(jìn)行串-并轉(zhuǎn)換,即從串口讀入外部串行數(shù)據(jù)并將其轉(zhuǎn)換為8位并行數(shù)據(jù)送到計(jì)算機(jī)。RS232電平與TTL電平轉(zhuǎn)換TTL(Tansistor-TransistorLogic),是指三極管-三極管邏輯電路。很多單片機(jī),包括你所使用的AT89S52都是用的這種標(biāo)準(zhǔn)。它的邏輯“1”電平是5V,邏輯“0”電平是0V。RS232接口是1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的邏輯

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論