光機(jī)電一體化實驗報告_第1頁
光機(jī)電一體化實驗報告_第2頁
光機(jī)電一體化實驗報告_第3頁
光機(jī)電一體化實驗報告_第4頁
光機(jī)電一體化實驗報告_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

光機(jī)電一體化實驗報告法學(xué)院張品2012301550041實訓(xùn)目的:1、接觸型傳感器作為輸入反饋與C51單片機(jī)的編程實現(xiàn)。2、編程使機(jī)器人基于胡須導(dǎo)航,條件判斷語句的嵌套與機(jī)器人的人工智能決策的編程使機(jī)器人逃離進(jìn)入墻角死區(qū)。實驗設(shè)備:胡須狀金屬絲2根;平頭M3x22盤頭螺釘2個13mm圓形立柱2個;M3尼龍墊圈2個;3-pin公-公接頭2個;220Q電阻2個;10kQ電阻2個。工作原理:機(jī)器人前進(jìn),在前進(jìn)過程中,如果碰到右障礙,機(jī)器人會先后退,再左轉(zhuǎn)90°;如果碰到左障礙,機(jī)器人會先后退,再右轉(zhuǎn)90°;如果兩根胡須都碰到障礙,機(jī)器人會先后退,再左轉(zhuǎn)180°。程序編制:機(jī)器人向前走的過程中,碰到障礙物,機(jī)器人用它的一根或者兩根胡須探測障礙物,一旦胡須探測到障礙物,就調(diào)用導(dǎo)航子函數(shù)使機(jī)器人倒退或旋轉(zhuǎn),然后再重新向前行走,直到遇到另一個障礙物。#include<BoeBot.h>#include<uart.h>intP1_4state(void){return(P1&0x10)?1:0;}intP1_7state(void){return(P2&0x80)?1:0;}voidForward(void){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}voidLeft_Turn(void){inti;for(i=1;i<=19;i++){P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}}voidRight_Turn(void){inti;for(i=1;i<=19;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);}}voidBackward(void){inti;for(i=1;i<=38;i++){P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);}}intmain(void){intcounter=1;intold2=1;intold3=0;uart_Init();printf("ProgramRunning!\n");while(1){if(P1_4state()!=P1_7state()){if((old2!=P1_4state())&&(old3!=P1_7state())){counter=counter+1;old2=P1_4state();old3=P1_7state();if(counter>4){counter=1;Backward。;//向后Left_Turn();//向左Left_Turn();//向左}}elsecounter=1;}if((P1_4state()==0)&&(P1_7state()==0))//兩胡須同時碰到{Backward();//向后Left_Turn();//向左Left_Turn();//向左}elseif(P1_4state()==0)//右胡須碰到{Backward。;//向后Left_Turn();//向左}elseif(P1_7state()==0)//左胡須碰到{Backward。;//向后Right_Turn();//向右}else//胡須沒有碰到Forward。;//向前}}思考題:逃離死區(qū)當(dāng)機(jī)器人進(jìn)入墻腳是如何動作?假設(shè)左胡須觸墻,于是它右轉(zhuǎn)。當(dāng)小車再向前行走,右胡須觸墻,于是左轉(zhuǎn)。然后它前進(jìn)又會碰到左墻,再次碰到右墻,這樣小車會進(jìn)入死循環(huán)。小車能在無人干預(yù)的情況下走出困境嗎?在這種情況下,如果小車有記憶的能力,能夠記住前面幾次探測的情況,那么就可以判斷是否進(jìn)入死角了??梢孕薷腞oamingWithWhiskers.c來解決這個問題。技巧是記下胡須交替觸動的總次數(shù)。技巧重要的一點是程序必須記住每個胡須在上次觸動時處于什么狀態(tài)。它必須和當(dāng)前觸動時的狀態(tài)對比。如果狀態(tài)相反,就在總數(shù)上加一。如果這個總數(shù)超過了程序中預(yù)先給定的閥值,那么就該做一個U型轉(zhuǎn)彎,并且把胡須交替計數(shù)器復(fù)位。ifondition1){cmmandsforcondition1:ifondition2){commandsforbothconditionandcondition:}else{commandsforcondition1butnotcondition2:}else{Commandsfornotcondition1:}If(p1_5state()!=p2_3state()){If((old2!=p1_5state())&&(old3!=p3_3state())){counter=counter+1:old2=p1_5state:ols3=p2_3state:if(counter>4){Counter=1:Backward。;//向后Left_Turn();//向左Left_Turn();//向左}}elseCounter=1}實驗心得:我們小組一共是三個人,所以每個人的任務(wù)比較多。因為我對編程不熟悉,所以這個任務(wù)交給了其余兩個人,我只負(fù)責(zé)機(jī)器人的組裝和使用,其余兩人負(fù)責(zé)編程和調(diào)試。雖然我們是按照書上的步驟來的,但實際中還是有很多問題,最明顯的就是程序的調(diào)試,經(jīng)常出現(xiàn)沒有預(yù)想到的問題,仔細(xì)檢查后才發(fā)現(xiàn)是編程時的不細(xì)心導(dǎo)致的。同時機(jī)器人也可能出現(xiàn)一些硬件問題,這個需要自己仔細(xì)檢查。通過這次試驗,讓我了解到了智能機(jī)器人在現(xià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

提交評論