




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
機器人程序設計(C語言)新工科建設之路·機器人技術與應用系列選擇結構程序設計一機器人紅外導航第六章使用紅外發(fā)射器和接收器探測道路紅外前燈在機器人上建立的紅外探測物體系統(tǒng)在許多方面就像汽車的前燈系統(tǒng)。使用紅外發(fā)射器和接收器探測道路紅外二極管發(fā)射紅外光,如果機器人前面有障礙物,紅外光從物體反射回來,相當于機器人眼睛的紅外檢測(接收)器,檢測到反射回的紅外光,并發(fā)出信號來表明檢測到從物體反射回紅外光。機器人的大腦——單片機AT89S52基于該傳感器的輸入控制伺服電機。搭建并測試IR發(fā)射和探測器對01本任務將搭建并測試紅外線發(fā)射和檢測器對。本章需要用到的新部件如圖6-2所示。搭建并測試IR發(fā)射和探測器對搭建并測試IR發(fā)射和探測器對元器件清單(1)紅外檢測器,2個。(2)IRLED(帶套筒),2個。(3)470Ω電阻,2個。(4)連接線,若干。搭建并測試IR發(fā)射和探測器對搭建紅外前燈電路板的每個角安裝一個IR組(IRLED和檢測器)。(1)斷開主板和伺服系統(tǒng)的電源。(2)在教學板上建立如圖6-3所示的電路,可參考實物連接圖,如圖6-4所示。搭建并測試IR發(fā)射和探測器對搭建紅外前燈搭建并測試IR發(fā)射和探測器對搭建紅外前燈測試紅外檢測器讓每個IRLED探測器組工作的關鍵是發(fā)送1ms頻率為38.5kHz的紅外信號,然后立刻將IR探測器的輸出存儲到一個變量中。例如,它發(fā)送38.5kHz信號給連接到P1_3的IR發(fā)射器,然后用整型變量irDetectLeft存儲連接到P1_2的IR探測器的輸出上。搭建并測試IR發(fā)射和探測器對測試紅外檢測器for(counter=0;counter<38;counter++)P1_3=1;delay_nus(13);P1_3=0;delay_nus(13);irDetectLeft=P1_2state();搭建并測試IR發(fā)射和探測器對搭建并測試IR發(fā)射和探測器對例程:TestLeftlrPair.c(1)打開教學板的電源。(2)輸入、保存并運行程序TestLeftIrPair.c。(3)保持機器人與通信電纜的連接,因為需用調試終端來測試IR組。(4)放一個物體,如手或一張紙,距離左側IR組2~3cm處,見圖6-1。搭建并測試IR發(fā)射和探測器對例程:TestLeftlrPair.c(5)驗證:放一個物體在IR組前時,調試終端是否會顯示“irDetecfLeft=0”?將物體移開時,它是否顯示“irDetectLeft=1”(如圖6-5所示)?(6)如果調試終端顯示的是預料的值,沒發(fā)現(xiàn)物體,則顯示1;發(fā)現(xiàn)物體,則顯示0,轉到例程后的“該你了”部分。(7)如果調試終端顯示的不是預料的值,試試按排錯部分的步驟進行排錯。搭建并測試IR發(fā)射和探測器對排錯①如果調試終端顯示的不是預料的值,檢查電路和輸入的程序。②如果總是得到0,甚至當沒有物體在機器人前面時也是0,可能是附近的物體反射了紅外光。③如果機器人前面沒有物體時,絕大多數(shù)時間讀數(shù)是1,但偶爾是0,這可能是附近的熒光燈的干擾。關掉附近的熒光燈,重新測試。搭建并測試IR發(fā)射和探測器對排錯搭建并測試IR發(fā)射和探測器對函數(shù)延時的不精確性如果把KeiluVision4IDE安裝在C盤,將在C:\ProgramFiles\Keil\C51\INC目錄下發(fā)現(xiàn)頭文件“INTRINS.H”。這個頭文件中聲明了一個空函數(shù)_nop_(void),它能準確延時一個機器周期,即約1μs。探測和避開障礙物02探測和避開障礙物有關IR檢測器的趣事是它們的輸出與觸須的輸出非常相像。沒有檢測到物體時,輸出為高電平;檢測到物體時,輸出為低電平。本任務是更改程序RoamingWithWhiskers.c,使它適合IR檢測器。探測和避開障礙物進行IR探測時要使用AT89S52的4個引腳:P1_2、P1_3、P3_5和P3_6。探測和避開障礙物宏定義宏定義的一般形式為:#define標識符字符串探測和避開障礙物改變觸須程序,使其適合IR檢測和躲避下一個例程與RoamingWithWhiskers.c相似:更改旁邊的名稱和描述,加入兩個變量來存儲IR檢測器的狀態(tài)。intirDetectLeftintirDetectRight探測和避開障礙物改變觸須程序,使其適合IR檢測和躲避下一個例程與RoamingWithWhiskers.c相似:更改旁邊的名稱和描述,加入兩個變量來存儲IR檢測器的狀態(tài)。intirDetectLeftintirDetectRight探測和避開障礙物改變觸須程序,使其適合IR檢測和躲避設計一個函數(shù)voidIRLaunch(unsignedcharIR)來進行紅外發(fā)射。voidIRLaunch(unsignedcharIR)intcounter;if(IR=='L')//左邊發(fā)射for(counter=0;counter<38;counter++)LeftLaunch=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_0;LeftLaunch=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();nop_(0);_nop_();_nop_();_nop_(0;_nop_();_nop_();探測和避開障礙物改變觸須程序,使其適合IR檢測和躲避if(IR=='R')//右邊發(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_();探測和避開障礙物改變觸須程序,使其適合IR檢測和躲避例程:RoamingWithlr.c(1)打開教學板的電源。(2)保存并運行程序。(3)機器人的運動與運行程序RoamingWithWhiskers.c時相比,是不是除了不需接觸,其他都非常像。高性能的IR導航03高性能的IR導航在每個脈沖之間采樣,以避免碰撞探測障礙物很重要的一點是在機器人撞到它之前給機器人留有繞開它的空間。如果前方有障礙物,機器人會使用脈沖命令避開,然后探測,如果物體還在,再使用另一個脈沖來避開它。機器人能持續(xù)使用電機驅動脈沖和探測,直到它繞開障礙物,它會繼續(xù)發(fā)送向前行走的脈沖。高性能的IR導航在每個脈沖之間采樣,以避免碰撞例程:FastIrRoaming.c輸入、保存并運行程序FastIrRoaming.c。高性能的IR導航在每個脈沖之間采樣,以避免碰撞高性能的IR導航在每個脈沖之間采樣,以避免碰撞高性能的IR導航在每個脈沖之間采樣,以避免碰撞高性能的IR導航在每個脈沖之間采樣,以避免碰撞高性能的IR導航FastIrRoaming.c是如何工作的這個程序使用稍微不同的方法來使用驅動脈沖。除了兩個存儲IR檢測器輸出的狀態(tài),它還使用兩個整型變量來設置發(fā)送的脈沖持續(xù)時間。intpulseLeft,pulseRight;intirDetectLeft,irDetectRight;高性能的IR導航do...while語句在C語言中,直到型循環(huán)控制語句是“do...while”,它的一般形式為:do語句while(表達式);俯視的探測器04俯視的探測器到目前為止,當機器人探測到前面有障礙物時,主要使機器人做避讓動作。也有一些場合,當沒有檢測到障礙物時,機器人也必須采取避讓動作。(1)斷開主板和伺服系統(tǒng)的電源。(2)使R組向外向下,如圖6-6所示。俯視的探測器俯視的探測器(1)卷裝黑色聚氯乙烯絕緣帶,19mm寬。(2)一張白色招貼板,56cm×71cm。推薦材料俯視的探測器(1)如圖6-7所示,建立一塊有絕緣帶邊界的場地。使用至少3條絕緣帶,絕緣帶邊之間連接緊密,沒有白色露出來。(2)用1k2(或2kQ)電阻代替圖6-3中的R3(R4),這樣就減少了通過IRLED的電流,從而降低了發(fā)射功率,使機器人在本任務中看得近一些。用絕緣帶模擬桌子的邊沿俯視的探測器用絕緣帶模擬桌子的邊沿俯視的探測器邊沿探測編程編程使機器人在桌面行走而不會走到桌邊,只需修改程序FastfrRoaming.c中的if..else語句。主要的修改是,當iDetectLeft和irDetectRight的值都是0時,表明在桌子表面檢測到物體(桌面),機器人向前行走。俯視的探測器邊沿探測編程例程:AvoidTableEdge.c(1)打開程序FastIrRoaming.c并另存為AvoidTableEdge.c。(2)修改它使其與下面例程匹配。(3)打開主板與電機的電源。(4)在帶絕緣帶邊框的場地上測試程序。俯視的探測器AvoidTableEdge.c是如何工作的在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南交通職業(yè)技術學院《功率電子技術》2023-2024學年第二學期期末試卷
- 天津生物工程職業(yè)技術學院《財政學專業(yè)英語》2023-2024學年第二學期期末試卷
- 2024-2025學年永州市祁陽縣四下數(shù)學期末調研模擬試題含解析
- 尼勒克縣2025年六年級數(shù)學小升初摸底考試含解析
- 莒南縣2025年三下數(shù)學期末學業(yè)質量監(jiān)測模擬試題含解析
- 攝影器械購銷合同范本
- 買賣地皮定金合同范本
- 住宅監(jiān)理合同范本
- 聘請評級機構合同范本
- 塌方維修施工合同范本
- JJF 1341-2012 鋼筋銹蝕測量儀校準規(guī)范-(高清現(xiàn)行)
- 人教版數(shù)學五年級下冊 全冊各單元教材解析
- 給水排水管道工程質量通病以及防治
- 偏癱臨床路徑流程
- 計算機視覺全套課件
- GB-T 9251-2022 氣瓶水壓試驗方法(高清版)
- 基于單片機的電子廣告牌設計畢業(yè)設計論文
- 中國聯(lián)通IMS接口規(guī)范 第三分冊:Sh接口 V1.0
- 判斷抽樣(課堂PPT)
- 通用橫版企業(yè)報價單模板
- 中國移動B-BOSS系統(tǒng)總體結構
評論
0/150
提交評論