




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗一相撲機器人的認知一.實驗目的了解相撲機器人的基本構成及原理熟悉和掌握機器人軟件之一PBASIC語言下的BASICSTAMP編譯軟件二.實驗要求通過組裝機器人使學生能了解機器人學基本原理、運動基礎以及相關擴展功能,并熟悉和掌握BASICSTAMP編譯軟件的原理和方法三.實驗設備相撲機器人教學套件箱(內含小尖嘴鉗、小號螺絲刀)四.實驗內容1.組裝相撲機器人安裝電池盒所需配件:電池盒2顆4/403/8”平頭螺釘2顆4/40螺母SumoBot底盤安裝伺服電機所需配件:Parallax連續(xù)旋轉伺服電機8顆4/403/8”盤頭螺釘8顆4/40螺母SumoBot底盤安裝SumoBotPCB后面支柱所需配件:2根5/8”支柱2顆4/403/8”盤頭螺釘SumoBot底盤安裝SumoBotPCB前面支柱所需配件:2根5/8”支柱2顆4/401”盤頭螺釘SumoBot底盤裝配PCB面板所需配件:SumoBotPCB2顆4/403/8”盤頭螺釘2顆1-1/4”支柱2個墊片SumoBot底盤安裝車輪所需配件:安裝好的車輪黑色小螺釘(隨伺服電機)SumoBot底盤安裝鏟子所需配件:SumoBot鏟子2顆4/401/4”盤頭螺釘2顆4/40螺母SumoBot底盤安裝QTI傳感器電線所需配件:2根10”3-pin延長線SumoBot底盤安裝QTI傳感器所需配件:2個QTI傳感器2顆4/401/4”盤頭螺釘SumoBot底盤連線X7=左邊伺服電機X6=右邊伺服電機X5=左邊QTI傳感器X4=右邊QTI 傳感器將電池盒線連接至X1,其中白線連接到+端。教學底板上有一個三位開關,見下圖?!?”位:關斷教學底板電源“1”位:教學底板上電“2”位:教學底板和伺服電機一同上電2.學習使用BASICSTAMP軟件1)通訊測試為了確認BASICStamp模塊與你的計算機通訊正常,點擊“Run”菜單項,選擇“Identify”。這時,會出現一個下圖所示的窗口,樣例顯示系統(tǒng)在COM2端口檢測到BASICStamp2。這就意味著你的計算機與BASICStamp模塊通訊是正常的。2)編寫Hello程序'{$STAMPBS2}'{$PBASIC2.5}DEBUG"Hello,thisisamessagefromyoursumobot."END第一條指令是“Stamp”指令,它告訴BASICStamp編輯器你將下載程序到BASICStamp第二條指令是“PBASIC”指令,它告訴BASICStamp編輯器你使用的是2.5版本的PBASIC編程語言。這兩條消息語句叫做編譯器指令,以后所有的程序都要用到這兩句指令。END在程序運行結束之后,這個命令把BASICStamp模塊置于低功耗模式,所以這個命令比較簡便。在低功耗模式下,BASICStamp模塊等待復位鍵按下(或釋放)或有新的程序通過編輯器下載。如果板上的復位鍵被按下,BASICStamp模塊將再運行一次已加載的程序;如果新程序被加載進來,舊程序會被擦除,并且開始運行新程序?!癉EBUG”就是讓BASICStamp發(fā)送到調試終端的信息以某種特定方式顯示的指令?!癉EC”就是一個格式詞,告訴調試終端顯示十進制數值?!癈R”是一個向調試終端發(fā)送回車命令的控制符??刂品癈R”之后的文本或數值會顯示在原有文本的下一行。你可以修改你的程序使它包含更多的格式詞或控制符的調試命令。五.思考題1.機器人的定義和基本組成是什么?2.什么是嵌入式系統(tǒng)?實驗二相撲機器人伺服電機的控制一.實驗目的了解Parallax微型伺服電機的基本構成及原理學會搭建LED測試電路,掌握揚聲器的使用完成伺服電機的調零,學會調整、測試電機二.實驗要求通過連接、調整和測試相撲機器人的伺服電機,以及LED測試電路的搭建使學生能夠基本掌握對伺服電機的控制。三.實驗內容伺服電機簡介本次實驗所用的機器人采用的是Parallax公司的連續(xù)旋轉伺服電機伺服電機主要有三根線,分別為:黑、紅、白,其中紅色的為電源線(最大為6V直流電壓);黑色為地線;白色的為控制信號線(一般輸入周期為23ms左右的脈沖序列),通過對這信號線輸入脈沖序列來控制電機的運動,可以控制電機的運動速度,運動方向)。所有電機使用前必須進行零位校正。控制伺服電機速度和方向涉及如何讓BASICStamp微控制器不斷發(fā)送相同命令給電機。該命令通常以每秒50次的頻率重復發(fā)送到伺服電機以維持其速度和方向PAUSE命令:讓BASICStamp微控制器在執(zhí)行下一條命令之前先等待一段時間。PAUSEDurationDuration是PAUSE命令的參數,它的值告訴BASICStamp移到下一條命令之前要等待多久。Duration的單位是千分之一秒。假如你想延時1秒,可以給Duration賦值為1000重復執(zhí)行指令。DO……LOOP:要重復執(zhí)行某個動作可以調用DO……LOOP,例如,如果你想每隔一秒打印一條信息,按如下方式將DEBUG和PAUSE命令放在“DO……LOOP”之間即可:DODEBUG"Hello!",CRPAUSE1000LOOPLED測試電路的搭建搭建電路如下圖所示。確認發(fā)光二極管的短針腳(陰極)插入標有Vss的黑色插孔中。確認發(fā)光二極管的長針腳(陽極)插入白色面包板上圖示的位置。編程控制LED測試電路HIGH和LOW:使BASICStamp把LED與Vdd和Vss交替連接PULSOUT:伺服電機根據信號的高電平持續(xù)時間的長短作為向什么方向轉動的指示。對于精確的伺服電機控制而言,信號的高電平持續(xù)的時間要求比HIGH命令和PAUSE命令的時間值要精確的多。你只能每次以1ms為單位改變PAUSE命令參數Duration的取值。有一條不同的命令PULSOUT,能把高電平細分成更高的時間精度。參數Duration的計量單位是百萬分之2秒(即2微秒)。PULSOUTPin,Duration要求學生編程控制P13燈先亮5秒然后熄滅1秒轉為P12燈亮4秒……循環(huán)。伺服電機調零運行一個程序,發(fā)送一個脈沖信號到伺服電機,讓電機保持靜止。由于伺服電機在工廠沒有預先調整,它們在接收到該信號時將轉動??梢杂寐萁z刀調節(jié)伺服電機讓其保持靜止。這就是伺服電機調零。調節(jié)之后,須測試伺服電機,驗證其功能是否正常。測試程序將發(fā)送信號讓伺服電機順時針和逆時針以不同的速度旋轉。發(fā)送零點標定信號下圖顯示的信號是發(fā)送到與P12連接的伺服電機的校準信號,稱為零點標定信號。伺服電機調節(jié)好之后,這個信號就可以指示電機保持靜止。這個指令是由時間間隔為20ms的脈寬為1.5ms的一系列脈沖組成PULSOUT命令參數Pin值的計算:I/O管腳是P12,那么Pin的值就是12。下面計算脈寬為1.5ms時PULSOUT命令的參數Duration的取值。1.5ms即0.0015秒。前面講過,無論PULSOUT命令的參數Duration的值是多少,都要乘以2μs,這樣就可以計算出脈沖將持續(xù)多長時間。公式:如何保存值并計數本任務介紹在PBASIC程序中用于保存數值的變量。后面的機器人程序很大程度上依賴這些變量。能保存數值最主要的意義是程序能用這些變量來計數。一旦你的程序能計數,它就不但能控制也能記錄某件事件發(fā)生的次數。PBASIC語言在使用變量之前,要先給出它的名字(variableName)和大小(Size)。這叫聲明一個變量:variableNameVARSize在聲明變量之后,你也可以對它初始化,即給它一個初始值(或起始值)。value=500在“value=500”中,符號“=”是個運算符。其中Word:0~65535Byte:0~255Nib:0~15Bit:0~1計數并控制循環(huán)次數最方便的控制一段代碼執(zhí)行次數的方法是利用FOR…NEXT循環(huán),語法如下:FORCounter=StartValueTOEndValue{STEPStepValue}…NEXT三個點”…”表示你可以在FOR和NEXT之間放一個或多個的命令。確保要先聲明一個變量參數Counter。參數StartValue和EndValue可以是數值也可以是變量。你在語法描述中看到的位于{}之間的東西,表示可選參數。換句話說,沒有它FOR…NEXT仍將工作,但是你可以將之用于一些特殊目的。測試電機在裝配相撲機器人之前還有最后一件事要做,那就是測試電機。在本任務中,你將運行程序,使電機以不同速度和不同的方向旋轉。通過這些測試,將確保在裝配之前電機工作是正常的。調整速度和方向兩個電機的PULSOUT命令的參數Duration有多種不同的組合,假如你想讓兩個電機都運行,給與P13連接的電機發(fā)出850的脈寬,給與P12連接的電機發(fā)出650的脈寬,現在每通過循環(huán)一次要用的時間是:1.7ms–與P13連接的電機1.3ms–與P12連接的電機20ms–中斷持續(xù)時間1.6ms–代碼執(zhí)行時間---------------------------------------一共是24.6ms測試揚聲器FREQOUT命令:FREQOUTPin,Duration,Freq1{,Freq2}下面的FREQOUT命令實例FREQOUT3,2000,3000參數Pin的值是3,意味著高/低信號將送給I/O腳的P3,Duration代表著高/低信號持續(xù)的時間是2000,即2000毫秒或2秒。參數Freq1是信號的頻率,在此例中,將產生一個3000赫茲的音調。四.思考題1.簡述伺服電機的工作原理2.給與P13連接的電機發(fā)出850的脈寬,給與P12連接的電機發(fā)出650的脈寬,PAUSE=20,如果打算讓兩個電機運行1分鐘,須給兩電機多少個脈沖?實驗三相撲機器人巡航控制一.實驗目的通過編程使機器人能做出一些基本的動作,并能調節(jié)使動作更加精確。通過本次實驗讓學生掌握調節(jié)和校正機器人巡航路徑的方法,為后面的實驗做好準備。掌握子程序調用方法。二.實驗要求要求學生能編程實現機器人的各種巡航路徑的控制,并且能利用子程序調用的思想簡化編程。三.實驗內容基本的機器人動作可以看出,當機器人向前走時,它的右輪順時針旋轉,而左輪會逆時針旋轉。請同學編程使機器人向前走。思考:向后走呢?原地左轉?原地右轉?繞左輪左轉?(轉90度的效果經測試需要FORcounter=0TO20左右)繞右輪右轉?繞左輪右轉?繞右輪左轉?計算運動某一距離所需時間:編程讓機器人前進1s看所走距離是多少,即可得到速度勻變速運動:勻變速運動的關鍵是給PULSOUT命令的Duration參數賦予變量。下面的例程顯示的是一個FOR…NEXT循環(huán)它能使相撲機器人的速度由停止到全速。FOR…NEXT循環(huán)每重復執(zhí)行一次,pulseCount變量就增加1。第一次循環(huán)后,pulseCount變量的值是1,就像是在執(zhí)行命令PULSOUT13,751和PULSOUT12,749。第二次循環(huán)后,pulseCount變量的值是2,就像在執(zhí)行命令PULSOUT13,752和PULSOUT12,748。隨著pulseCount變量值的增加,電機的速度也在逐漸增加。勻加速:FORpulseCount=1TO100PULSOUT13,750+pulseCountPULSOUT12,750-pulseCountPAUSE20NEXT勻減速呢?用子程序簡化運動程序在后面的要求中,相撲機器人將執(zhí)行運動來避開障礙物。避開障礙物的一個關鍵的步驟就是需要按預先編好運動程序執(zhí)行動作。執(zhí)行這些動作的一個很好的方法是用子程序。子程序一個PBASIC子程序有兩個部分。一部分是子程序調用,它告訴程序跳到可重復執(zhí)行代碼部分,執(zhí)行后回到調用點。另一部分是實際的子程序,它以作為自己的名字的標號為子程序的起點,以RETURN命令結束。這個標號和RETURN命令之間的命令組成一個代碼段,執(zhí)行你想讓子程序做的工作。四.思考題1.寫出相撲機器人繞右輪左轉的程序。2.假如機器人前進速度為23cm/s,現欲使其前進53厘米,求出BASICStamp發(fā)給伺服電機的脈沖數。3.寫出使相撲機器人勻減速向右旋轉四分之一周的程序實驗四紅外線導航一.實驗目的了解利用紅外光探測障礙物的原理。能夠搭建并測試相關IR電路。編程實現機器人對障礙物的避開動作。二.實驗要求要求學生在掌握紅外發(fā)射和探測器原理的前提下,能編程實現相撲機器人避開障礙物的動作要求。三.實驗內容用紅外光探測障礙物的基本原理:在相撲機器人上建立的紅外物體探測系統(tǒng)在許多方面就象汽車的前燈。當汽車前燈的射出的光從障礙物體反射回來時,你的眼睛發(fā)現障礙物體,然后你的大腦處理這些信息,并據此控制你的身體引導汽車。相撲機器人使用紅外線兩極管LEDs作為前燈,如上圖所示。他們發(fā)射紅外光,在一些情況下,紅外線從物體反射從機器人前進的方向折回。相撲機器人的眼睛是紅外檢測器。紅外檢測器發(fā)出信號來表明它們是否檢測到從物體反射回的紅外線。相撲機器人的大腦,BASICStamp微控制器據此做出判斷并基于這個傳感器的輸入控制伺服電機。IR(紅外線)檢測器有內置的光濾波器,除了需要我們用它的內部的光敏二極管傳感器檢測的980nm紅外線,它幾乎不允許其它光通過。紅外檢測器也有一個電子濾波器,它只允許大約38.5kHz的信號通過。換句話說,檢測器只尋找每秒閃爍38,500次的紅外光。這就防止了普通光源象太陽光和室內光對IR的干涉。太陽光是直流干涉(0Hz),室內光依賴于所在區(qū)域的主電源,閃爍頻率接近100或120Hz。由于120Hz在電子濾波器的38.5kHz通帶頻率之外,它完全被IR探測器忽略。搭建并測試IR發(fā)射和探測器用FREQOUT命令測試紅外發(fā)射探測器FREQOUT命令主要是用來合成音頻。它的實際范圍是1到32768Hz。數字音調合成包括被稱為和聲的信號,和聲是混在你聽到的音調里的更高頻率的音調。人不能辨別頻率范圍從20Hz到20kHz的音調。由FREQOUT命令產生的和聲從32769Hz開始直到更高。你可以用高于32768Hz的參數Freq1直接控制和聲。本任務中,用命令FREQOUT4,1,38500向P4發(fā)送持續(xù)1秒的38.5kHz和聲,連接P4的紅外LED電路將發(fā)送和聲。如果紅外光被小車路徑上的物體反射回來,紅外檢測器將給BASICStamp發(fā)送一個信號,讓它知道已經檢測到反射回的紅外光。例:發(fā)送38.5kHz信號給連接到P4的IR發(fā)射器,然后用位變量irDetectLeft存儲連接到P11的IR探測器的輸出,。FREQOUT4,1,38500irDetectLeft=IN11當沒有IR信號返回時,IN11=1;當它探測到被物體反射的38500Hz和聲時,IN11=0。當FREQOUT命令發(fā)送和聲后,IR探測器的輸出處于低狀態(tài)不到1毫秒,因此當發(fā)送完FREQOUT命令后立即將IR探測器的輸出存儲到變量中是很重要的。這些存儲的值會顯示在調試終端或被機器人用來導航。探測紅外線干擾如果你偶爾注意到即使檢測范圍內沒有任何物體,你的相撲機器人指示探測到了物體,這說明附近的燈光正產生頻率接近38.5kHz的紅外光。如果你想在這種燈光下進行機器人比賽或演示,你的紅外系統(tǒng)可能會停止工作。因此在動手做演示之前,用這個紅外線干涉探測程序仔細檢查任何要演示相撲機器人的區(qū)域是非常必要的。程序原理:不用IRLED發(fā)送任何紅外光,只是監(jiān)控有沒有檢測到紅外光,如果檢測到紅外光,用揚聲器發(fā)出警報。探測和避開障礙物條件判斷命令語句IF…THEN:其句法是:IF(condition)THEN…{ELSEIF(condition)}…{ELSE}…ENDIF句中“…”的意思是,你可以在關鍵詞之間放置一個代碼段(由一條或多條命令組成)。如果左右IR都檢測到物體,則執(zhí)行以下操作:Back_up,Turn_Left,Turn_Left如果只左側IR檢測到物體,則執(zhí)行以下操作:Back_up,Turn_Right如果只右側IR檢測到物體,則執(zhí)行以下操作:Back_up,Turn_Left請同學完成探測和避開障礙物動作程序:(后退pulsecount=0TO40旋轉pulsecount=0TO20)四.思考題1.列舉出機器人常用的傳感器,并簡述它們各自的工作原理2.如何使機器人紅外設備能檢測到更遠的范圍?實驗五邊界識別一.實驗目的1.了解利用QTI傳感器識別邊界的原理。2.能夠搭建并測試相關IR電路。3.編程實現機器人對邊界的識別及避開動作。二.實驗要求要求學生在掌握QTI傳感器原理的前提下,能編程實現相撲機器人識別邊界以及做出反饋動作的要求。三.實驗內容QTI傳感器由紅外發(fā)射和接收器組成,用來檢測物體表面的反射率,原本是用在相撲機器人上檢測邊界。原理及其應用:當QTI傳感器走過一個黑的表面,反射率較低,經過一個亮的表面,反射率是較高。模塊里面有一個RC電路,反射率的變化使得電路中的電流變化,而導致RC電路充放電時間的變化,通過RCtime來測量反射率,來實現對特定的表面(例如:黑膠帶)進行跟蹤。QTI傳感器電路分析:QTI傳感器通過給W管腳提供5V(Vdd)電壓得以激活。這會產生電流流經470歐的電阻并到達QRD1114的LED一邊。傳感器通過下面反射的紅外光會改變流過QRD1114光電晶體管一邊的電流大小。晶體管實際上表現得像一個紅外光控制的電阻。BASICStamp有一個特定的命令RCTIME用來讀取可變電阻值。當與電容器相結合,BASICStamp可以通過讀取電容器充放電的時間來測量可變電阻。QTI被激活后,把R端子置于高位電容處于放電狀態(tài)大約持續(xù)1毫秒。RCTIME可以用來計算電容要充電到特定水平所需要的時間,這個時間是由流過QRD1114光電晶體管的電流控制的。當經過黑色區(qū)域時,光電晶體管電流會很低,于是電容器需要較長時間來充電,因此RCTIME將返回一個大的值。當QTI處于白色的界線時,通過光電晶體管的電流值高,于是電容器充電快,從而RCTIME會返回一個小的值。RCTIMEPin,State,Duration參數Pin是你要測量的I/O端口值。例如,如果你要測量P9,參數Pin應該是9。參數State可以是1也可以是0。如果通過電容兩端的電壓從高于1.4V向下衰減,參數State應該是1;如果電容兩端電壓從小于1.4V向上增加,參數State應該取0。Duration是存儲測量的時間的變量,其單位是2μs。timeLeftVARWord下面三行代碼是給電容充電,測量RC衰減時間并
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河北省安全員《A證》考試題庫及答案
- 二零二五年度智能制造入股合同協(xié)議書
- 2025年度農業(yè)科技企業(yè)員工借調與農業(yè)技術推廣合同
- 2025年度個體工商戶合伙協(xié)議范文與投資融資及財務規(guī)劃協(xié)議
- 2025年度征收城市老舊危房房屋拆遷補償協(xié)議
- 2025年度人事專員勞動合同(附員工培訓服務內容)
- 2025年度文化產業(yè)發(fā)展勞動合同法規(guī)范與創(chuàng)意人才合同
- 2025年度個人租賃市場租賃合同電子簽名合同
- 2025年度健康養(yǎng)生館店鋪承包合作協(xié)議
- 2025年度太陽能光伏發(fā)電站機電安裝服務協(xié)議
- 上肢功能訓練法
- 《3ds Max動畫制作實例教程》教學教案
- 加油站操作員(高級)理論考試題庫大全-單選題
- 人教版六年級下冊小學數學全冊課時練(一課一練)
- LY/T 2749-2016桉樹速豐林配方施肥技術規(guī)程
- GB/T 8427-1998紡織品色牢度試驗耐人造光色牢度:氙弧
- GB/T 5130-1997電氣用熱固性樹脂工業(yè)硬質層壓板試驗方法
- GB/T 2975-2018鋼及鋼產品 力學性能試驗取樣位置及試樣制備
- GB/T 21254-2017呼出氣體酒精含量檢測儀
- 邀請函模板完整
- IP系列操作手冊(中文)
評論
0/150
提交評論