




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗一 相撲機器人的認知一實驗目的1. 了解相撲機器人的基本構成及原理2. 熟悉和掌握機器人軟件之一PBASIC語言下的BASIC STAMP編譯軟件二實驗要求通過組裝機器人使學生能了解機器人學基本原理、運動基礎以及相關擴展功能,并熟悉和掌握BASIC STAMP編譯軟件的原理和方法三實驗設備 相撲機器人教學套件箱(內含小尖嘴鉗、小號螺絲刀)四實驗內容1組裝相撲機器人1) 安裝電池盒所需配件: l 電池盒l(wèi) 2顆4/40 3/8”平頭螺釘l 2顆4/40螺母l SumoBot底盤2) 安裝伺服電機所需配件:l Parallax連續(xù)旋轉伺服電機l 8顆4/40 3/8”盤頭螺釘l 8顆4/40螺
2、母l SumoBot底盤3) 安裝SumoBot PCB后面支柱所需配件:l 2根5/8”支柱l 2顆4/40 3/8”盤頭螺釘l SumoBot底盤4) 安裝SumoBot PCB前面支柱所需配件:l 2根5/8”支柱l 2顆4/40 1”盤頭螺釘l SumoBot底盤5) 裝配PCB面板所需配件:l SumoBot PCBl 2顆4/40 3/8”盤頭螺釘l 2顆1-1/4”支柱l 2個墊片l SumoBot底盤6) 安裝車輪所需配件:l 安裝好的車輪l 黑色小螺釘(隨伺服電機)l SumoBot底盤7) 安裝鏟子所需配件:l SumoBot鏟子l 2顆4/40 1/4”盤頭螺釘l 2顆4
3、/40螺母l SumoBot底盤8) 安裝QTI傳感器電線所需配件:l 2根10” 3-pin延長線l SumoBot底盤9) 安裝QTI傳感器所需配件:l 2個QTI傳感器l 2顆4/40 1/4”盤頭螺釘l SumoBot底盤10) 連線X7=左邊伺服電機X6=右邊伺服電機X5=左邊QTI傳感器X4=右邊QTI傳感器 將電池盒線連接至X1,其中白線連接到+端。教學底板上有一個三位開關,見下圖?!?”位:關斷教學底板電源“1”位:教學底板上電“2”位:教學底板和伺服電機一同上電2學習使用BASIC STAMP軟件1)通訊測試為了確認BASIC Stamp模塊與你的計算機通訊正常,點擊“Run
4、”菜單項,選擇“Identify”。 這時,會出現(xiàn)一個下圖所示的窗口,樣例顯示系統(tǒng)在COM2端口檢測到BASIC Stamp 2 。 這就意味著你的計算機與BASIC Stamp模塊通訊是正常的。2) 編寫Hello程序' $STAMP BS2 ' $PBASIC 2.5 DEBUG "Hello, this is a message from your sumobot." END第一條指令是“Stamp”指令,它告訴BASIC Stamp編輯器你將下載程序到BASIC Stamp 第二條指令是“PBASIC”指令,它告訴BASIC Stamp編輯器你使用的
5、是2.5版本的PBASIC編程語言。這兩條消息語句叫做編譯器指令,以后所有的程序都要用到這兩句指令。 END 在程序運行結束之后,這個命令把BASIC Stamp模塊置于低功耗模式,所以這個命令比較簡便。在低功耗模式下,BASIC Stamp模塊等待復位鍵按下(或釋放)或有新的程序通過編輯器下載。如果板上的復位鍵被按下,BASIC Stamp模塊將再運行一次已加載的程序;如果新程序被加載進來,舊程序會被擦除,并且開始運行新程序。 “DEBUG”就是讓BASIC Stamp發(fā)送到調試終端的信息以某種特定方式顯示的指令?!癉EC”就是一個格式詞,告訴調試終端顯示十進制數值。“CR”是一個向調試終端
6、發(fā)送回車命令的控制符??刂品癈R”之后的文本或數值會顯示在原有文本的下一行。你可以修改你的程序使它包含更多的格式詞或控制符的調試命令。五思考題1機器人的定義和基本組成是什么?2什么是嵌入式系統(tǒng)?實驗二 相撲機器人伺服電機的控制一實驗目的1. 了解Parallax微型伺服電機的基本構成及原理2. 學會搭建LED測試電路,掌握揚聲器的使用3. 完成伺服電機的調零,學會調整、測試電機二實驗要求通過連接、調整和測試相撲機器人的伺服電機,以及LED測試電路的搭建使學生能夠基本掌握對伺服電機的控制。三實驗內容1. 伺服電機簡介本次實驗所用的機器人采用的是Parallax公司的連續(xù)旋轉伺服電機伺服電機主要
7、有三根線,分別為:黑、紅、白,其中紅色的為電源線(最大為6V直流電壓);黑色為地線;白色的為控制信號線(一般輸入周期為23ms左右的脈沖序列),通過對這信號線輸入脈沖序列來控制電機的運動,可以控制電機的運動速度,運動方向)。所有電機使用前必須進行零位校正??刂扑欧姍C速度和方向涉及如何讓BASIC Stamp微控制器不斷發(fā)送相同命令給電機。該命令通常以每秒50次的頻率重復發(fā)送到伺服電機以維持其速度和方向PAUSE命令: 讓BASIC Stamp微控制器在執(zhí)行下一條命令之前先等待一段時間。 PAUSE Duration Duration 是PAUSE命令的參數,它的值告訴BASIC Stamp移
8、到下一條命令之前要等待多久。Duration的單位是千分之一秒。假如你想延時1秒,可以給Duration賦值為1000重復執(zhí)行指令。DO LOOP: 要重復執(zhí)行某個動作可以調用DO LOOP,例如,如果你想每隔一秒打印一條信息,按如下方式將DEBUG和PAUSE命令放在“DO LOOP”之間即可: DO DEBUG "Hello!", CR PAUSE 1000 LOOP 2. LED測試電路的搭建搭建電路如下圖所示。 1) 確認發(fā)光二極管的短針腳(陰極)插入標有Vss的黑色插孔中。 2) 確認發(fā)光二極管的長針腳(陽極)插入白色面包板上圖示的位置。編程控制LED測試電路 H
9、IGH和LOW:使BASIC Stamp把LED與Vdd和Vss交替連接PULSOUT:伺服電機根據信號的高電平持續(xù)時間的長短作為向什么方向轉動的指示。對于精確的伺服電機控制而言,信號的高電平持續(xù)的時間要求比HIGH命令和PAUSE命令的時間值要精確的多。你只能每次以1ms為單位改變PAUSE命令參數Duration 的取值。有一條不同的命令PULSOUT,能把高電平細分成更高的時間精度。參數Duration的計量單位是百萬分之2秒(即2微秒)。 PULSOUT Pin, Duration要求學生編程控制P13燈先亮5秒然后熄滅1秒轉為P12燈亮4秒循環(huán)。 3. 伺服電機調零 運行一個程序,發(fā)
10、送一個脈沖信號到伺服電機,讓電機保持靜止。由于伺服電機在工廠沒有預先調整,它們在接收到該信號時將轉動??梢杂寐萁z刀調節(jié)伺服電機讓其保持靜止。這就是伺服電機調零。調節(jié)之后,須測試伺服電機,驗證其功能是否正常。測試程序將發(fā)送信號讓伺服電機順時針和逆時針以不同的速度旋轉。1) 發(fā)送零點標定信號 下圖顯示的信號是發(fā)送到與P12連接的伺服電機的校準信號,稱為零點標定信號。伺服電機調節(jié)好之后,這個信號就可以指示電機保持靜止。這個指令是由時間間隔為20 ms 的脈寬為1.5 ms的一系列脈沖組成PULSOUT命令參數Pin值的計算:I/O管腳是P12,那么Pin的值就是12。下面計算脈寬為1.5 ms時PU
11、LSOUT命令的參數Duration的取值。1.5 ms即0.0015 秒。前面講過,無論PULSOUT命令的參數Duration的值是多少,都要乘以2 s,這樣就可以計算出脈沖將持續(xù)多長時間。公式: 2) 如何保存值并計數 本任務介紹在PBASIC 程序中用于保存數值的變量。后面的機器人程序很大程度上依賴這些變量。能保存數值最主要的意義是程序能用這些變量來計數。一旦你的程序能計數,它就不但能控制也能記錄某件事件發(fā)生的次數。 PBASIC語言在使用變量之前,要先給出它的名字(variableName)和大?。⊿ize)。這叫聲明一個變量: variableName VAR Size 在聲明變量
12、之后,你也可以對它初始化,即給它一個初始值(或起始值)。 value = 500 在“value = 500”中,符號“=”是個運算符。其中Word:065535Byte:0255Nib:015Bit:013) 計數并控制循環(huán)次數 最方便的控制一段代碼執(zhí)行次數的方法是利用FORNEXT循環(huán),語法如下: FOR Counter = StartValue TO EndValue STEP StepValueNEXT 三個點” ”表示你可以在FOR 和NEXT之間放一個或多個的命令。確保要先聲明一個變量參數Counter。參數StartValue 和EndValue可以是數值也可以是變量。你在語法描
13、述中看到的位于 之間的東西,表示可選參數。換句話說,沒有它FORNEXT仍將工作,但是你可以將之用于一些特殊目的。4. 測試電機 在裝配相撲機器人之前還有最后一件事要做,那就是測試電機。在本任務中,你將運行程序,使電機以不同速度和不同的方向旋轉。通過這些測試,將確保在裝配之前電機工作是正常的。1) 調整速度和方向 兩個電機的PULSOUT命令的參數 Duration有多種不同的組合, 假如你想讓兩個電機都運行,給與P13連接的電機發(fā)出850的脈寬,給與P12連接的電機發(fā)出650的脈寬,現(xiàn)在每通過循環(huán)一次要用的時間是: 1.7ms 與P13連接的電機 1.3ms 與P12連接的電機 20 ms
14、中斷持續(xù)時間 1.6 ms 代碼執(zhí)行時間 - - 一共是24.6 ms 2) 測試揚聲器 FREQOUT命令:FREQOUT Pin, Duration, Freq1 ,Freq2 下面的FREQOUT命令實例FREQOUT 3, 2000, 3000 參數Pin的值是3,意味著高/低信號將送給I/O腳的P3,Duration代表著高/低信號持續(xù)的時間是2000,即2000毫秒或2秒。參數Freq1是信號的頻率,在此例中,將產生一個3000赫茲的音調。 四思考題1簡述伺服電機的工作原理2 給與P13連接的電機發(fā)出850的脈寬,給與P12連接的電機發(fā)出650的脈寬,PAUSE=20,如果打算讓兩
15、個電機運行1分鐘,須給兩電機多少個脈沖?實驗三 相撲機器人巡航控制一實驗目的1. 通過編程使機器人能做出一些基本的動作,并能調節(jié)使動作更加精確。2. 通過本次實驗讓學生掌握調節(jié)和校正機器人巡航路徑的方法,為后面的實驗做好準備。3. 掌握子程序調用方法。二實驗要求要求學生能編程實現(xiàn)機器人的各種巡航路徑的控制,并且能利用子程序調用的思想簡化編程。三實驗內容1. 基本的機器人動作可以看出,當機器人向前走時,它的右輪順時針旋轉,而左輪會逆時針旋轉。請同學編程使機器人向前走。思考:向后走呢?原地左轉?原地右轉?繞左輪左轉?(轉90度的效果經測試需要FOR counter=0 TO 20左右)繞右輪右轉?
16、繞左輪右轉?繞右輪左轉?2. 計算運動某一距離所需時間: 編程讓機器人前進1s看所走距離是多少,即可得到速度3. 勻變速運動:勻變速運動的關鍵是給PULSOUT命令的Duration參數賦予變量。下面的例程顯示的是一個FORNEXT循環(huán)它能使相撲機器人的速度由停止到全速。FORNEXT循環(huán)每重復執(zhí)行一次,pulseCount變量就增加1。第一次循環(huán)后,pulseCount變量的值是1,就像是在執(zhí)行命令PULSOUT 13, 751 和 PULSOUT 12, 749。第二次循環(huán)后,pulseCount變量的值是2,就像在執(zhí)行命令PULSOUT 13,752和PULSOUT 12,748。隨著p
17、ulseCount變量值的增加,電機的速度也在逐漸增加。勻加速:FOR pulseCount = 1 TO 100 PULSOUT 13, 750 + pulseCount PULSOUT 12, 750 - pulseCount PAUSE 20 NEXT 勻減速呢?4. 用子程序簡化運動程序 在后面的要求中,相撲機器人將執(zhí)行運動來避開障礙物。避開障礙物的一個關鍵的步驟就是需要按預先編好運動程序執(zhí)行動作。執(zhí)行這些動作的一個很好的方法是用子程序。子程序 一個PBASIC子程序有兩個部分。一部分是子程序調用,它告訴程序跳到可重復執(zhí)行代碼部分,執(zhí)行后回到調用點。另一部分是實際的子程序,它以作為自己
18、的名字的標號為子程序的起點,以RETURN命令結束。這個標號和RETURN命令之間的命令組成一個代碼段,執(zhí)行你想讓子程序做的工作。 四思考題1寫出相撲機器人繞右輪左轉的程序。2假如機器人前進速度為23cm/s,現(xiàn)欲使其前進53厘米,求出BASIC Stamp發(fā)給伺服電機的脈沖數。3寫出使相撲機器人勻減速向右旋轉四分之一周的程序實驗四 紅外線導航一實驗目的1. 了解利用紅外光探測障礙物的原理。 2. 能夠搭建并測試相關IR電路。3. 編程實現(xiàn)機器人對障礙物的避開動作。二實驗要求要求學生在掌握紅外發(fā)射和探測器原理的前提下,能編程實現(xiàn)相撲機器人避開障礙物的動作要求。三實驗內容1. 用紅外光探測障礙物
19、的基本原理:在相撲機器人上建立的紅外物體探測系統(tǒng)在許多方面就象汽車的前燈。當汽車前燈的射出的光從障礙物體反射回來時,你的眼睛發(fā)現(xiàn)障礙物體,然后你的大腦處理這些信息,并據此控制你的身體引導汽車。相撲機器人使用紅外線兩極管LEDs作為前燈,如上圖所示。他們發(fā)射紅外光,在一些情況下,紅外線從物體反射從機器人前進的方向折回。相撲機器人的眼睛是紅外檢測器。紅外檢測器發(fā)出信號來表明它們是否檢測到從物體反射回的紅外線。相撲機器人的大腦,BASIC Stamp微控制器據此做出判斷并基于這個傳感器的輸入控制伺服電機。IR(紅外線)檢測器有內置的光濾波器,除了需要我們用它的內部的光敏二極管傳感器檢測的980 nm
20、紅外線,它幾乎不允許其它光通過。紅外檢測器也有一個電子濾波器,它只允許大約38.5 kHz 的信號通過。換句話說,檢測器只尋找每秒閃爍38,500次的紅外光。這就防止了普通光源象太陽光和室內光對IR的干涉。太陽光是直流干涉(0Hz),室內光依賴于所在區(qū)域的主電源,閃爍頻率接近100或120 Hz。由于120 Hz在電子濾波器的38.5 kHz通帶頻率之外,它完全被IR探測器忽略。2. 搭建并測試IR發(fā)射和探測器 1) 用FREQOUT命令測試紅外發(fā)射探測器 FREQOUT命令主要是用來合成音頻。它的實際范圍是1到32768 Hz。數字音調合成包括被稱為和聲的信號,和聲是混在你聽到的音調里的更高
21、頻率的音調。人不能辨別頻率范圍從20 Hz 到 20 kHz的音調。由FREQOUT命令產生的和聲從32769 Hz開始直到更高。你可以用高于32768Hz的參數Freq1直接控制和聲。本任務中,用命令FREQOUT 4, 1, 38500 向P4發(fā)送持續(xù)1秒的38.5 kHz和聲,連接P4的紅外LED電路將發(fā)送和聲。如果紅外光被小車路徑上的物體反射回來,紅外檢測器將給BASIC Stamp發(fā)送一個信號,讓它知道已經檢測到反射回的紅外光。 例:發(fā)送38.5 kHz信號給連接到P4的IR 發(fā)射器,然后用位變量irDetectLeft存儲連接到P11的IR探測器的輸出,。 FREQOUT 4, 1
22、, 38500 irDetectLeft = IN11 當沒有IR信號返回時,IN11=1;當它探測到被物體反射的38500 Hz和聲時,IN11=0。當FREQOUT命令發(fā)送和聲后, IR探測器的輸出處于低狀態(tài)不到1毫秒,因此當發(fā)送完 FREQOUT命令后立即將IR探測器的輸出存儲到變量中是很重要的。這些存儲的值會顯示在調試終端或被機器人用來導航。2) 探測紅外線干擾 如果你偶爾注意到即使檢測范圍內沒有任何物體,你的相撲機器人指示探測到了物體,這說明附近的燈光正產生頻率接近38.5 kHz的紅外光。如果你想在這種燈光下進行機器人比賽或演示,你的紅外系統(tǒng)可能會停止工作。因此在動手做演示之前,用
23、這個紅外線干涉探測程序仔細檢查任何要演示相撲機器人的區(qū)域是非常必要的。 程序原理:不用IR LED發(fā)送任何紅外光,只是監(jiān)控有沒有檢測到紅外光,如果檢測到紅外光,用揚聲器發(fā)出警報。 3. 探測和避開障礙物 條件判斷命令語句IFTHEN:其句法是: IF (condition) THENELSEIF (condition)ELSEENDIF 句中“”的意思是,你可以在關鍵詞之間放置一個代碼段(由一條或多條命令組成)。如果左右IR都檢測到物體,則執(zhí)行以下操作:Back_up,Turn_Left,Turn_Left如果只左側IR檢測到物體,則執(zhí)行以下操作: Back_up,Turn_Right如果只右
24、側IR檢測到物體,則執(zhí)行以下操作: Back_up,Turn_Left請同學完成探測和避開障礙物動作程序:(后退pulsecount=0 TO 40旋轉 pulsecount=0 TO 20)四. 思考題1列舉出機器人常用的傳感器,并簡述它們各自的工作原理2如何使機器人紅外設備能檢測到更遠的范圍?實驗五 邊界識別一實驗目的1.了解利用QTI傳感器識別邊界的原理。 2.能夠搭建并測試相關IR電路。3.編程實現(xiàn)機器人對邊界的識別及避開動作。二實驗要求要求學生在掌握QTI傳感器原理的前提下,能編程實現(xiàn)相撲機器人識別邊界以及做出反饋動作的要求。三實驗內容QTI傳感器由紅外發(fā)射和接收器組成,用來檢測物體表面的反射率,原本是用在相撲機器人上檢測邊界。原理及其應用:當QTI傳感器走過一個黑的表面,反射率較低,經過一個亮的表面,反射率是較高。模塊里面有一個RC電路,反射率的變化使得電路中的電流變化,而導致RC電路充放電時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZNZ 264.2-2024 重金屬中度污染農田土壤修復和安全利用技術規(guī)范 第2部分:超積累東南景天與中稻輪作
- T-ZZB 3744-2024 制革用陰離子型磺化油
- T-ZMDS 20008-2024 醫(yī)療器械嵌入式軟件漏洞評估方法
- 2025年度解除農業(yè)合作項目的聲明書
- 二零二五年度綠化苗木購銷與城市綠化養(yǎng)護服務合同
- 二零二五年度實習教師與教育機構教育咨詢服務合同
- 二零二五年度共享住宅租賃正規(guī)協(xié)議書范本及環(huán)保要求
- 二零二五年度勞動合同主體變更及培訓交接服務合同
- 2025年度水產養(yǎng)殖水質改良與養(yǎng)魚合同
- 二零二五年度人社部員工勞動合同勞動合同電子簽名與認證合同
- 醫(yī)院安全風險分級管控清單
- 高級服裝設計與面料
- 次梁與主梁鉸接計算程式
- 學前比較教育(學前教育專業(yè))第3版全套教學課件
- 企業(yè)人力資源內部審核檢查表
- 《素描》課件-第一章 素描入門
- GB/T 42828.1-2023鹽堿地改良通用技術第1部分:鐵尾砂改良
- 工資條(標準模版)
- 第四講 搜索引擎檢索
- 法語的發(fā)音規(guī)則及法語單詞分類記憶
- 衛(wèi)生和微生物基礎知識培訓-
評論
0/150
提交評論