第4、5章 機器人巡航、機器人觸覺導(dǎo)航_第1頁
第4、5章 機器人巡航、機器人觸覺導(dǎo)航_第2頁
第4、5章 機器人巡航、機器人觸覺導(dǎo)航_第3頁
第4、5章 機器人巡航、機器人觸覺導(dǎo)航_第4頁
第4、5章 機器人巡航、機器人觸覺導(dǎo)航_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基礎(chǔ)機器人制作與編程(第3版)第四講機器人巡航“十三五”職業(yè)教育國家規(guī)劃教材任務(wù)一基本巡航動作4.1基本巡航動作下面是使機器人向前走3s的例程:1、確保BasicDuino微控制器和伺服電機都已接通電源。2、輸入、保存并運行程序RobotForwardThreeSeconds.bs2。向前巡航當(dāng)給兩條PULSOUT指令中參數(shù)Duration以不同的值時,可以使機器人以不同的方式巡航。例如,下面的兩條PULSOUT指令可以使機器人向后走:PULSOUT13,650PULSOUT12,850向后巡航和原地旋轉(zhuǎn)任務(wù)二基本巡航運動的調(diào)整4.2基本巡航運動的調(diào)整校準的第一步是讓機器人直線運動一段足夠長的距離來檢查它是向左偏還是向右偏。向前全速運動10s應(yīng)該足夠了。對上面的RobotForwardThreeSeconds.bs2程序進行簡單地修改就可以滿足這一檢驗要求。1、打開程序RobotForwardThreeSeconds.bs2,將程序另存為RobotForwardTenSeconds.bs2。2、將變量counter的EndValue參數(shù)值由122改為407。3、運行程序,仔細觀察在機器人向前行走10s的過程中是否會向左偏或向右偏。機器人直線運動的校準4.2基本巡航運動的調(diào)整軟件調(diào)節(jié)可以使機器人旋轉(zhuǎn)一個期望的角度,如旋轉(zhuǎn)90”等。由于機器人的旋轉(zhuǎn)時間決定了它的旋轉(zhuǎn)角度,而FOR...NEXT循環(huán)控制著運行時間,所以可以通過調(diào)整FOR.NEXT循環(huán)的參數(shù)EndValue得到所需要的旋轉(zhuǎn)角度。下面的程序可以使機器人向左旋轉(zhuǎn)90度。FORcounter=1TO24'Rotateleft-about1/4turnPULSOUT13,650PULSOUT12,650PAUSE20轉(zhuǎn)動調(diào)整任務(wù)三計算運動距離4.3計算運動距離在機器人運動之前,必須先測試出機器人的直線運動速度。最簡單的方法是把機器人放在一把尺子旁邊,讓機器人向前走1s,然后測量機器人走了多遠,這樣就得到了它的運動速度。例程如下:1、輸入、保存并運行程序ForwardOneSecond.bs2。2、將機器人放在尺子旁邊。3、確保機器人兩個輪子與地面接觸點的連線與尺子的0cm刻度線對齊。4、按下復(fù)位鍵,重新運行程序。5、測量從出發(fā)點到機器人停下時兩個輪子與地面接觸點的連線的垂直距離。任務(wù)四勻變速運動4.4勻變速運動勻變速運動是指逐漸增加或減小機器人的運動速度,而不是急起或急停。這種運動方式可以提高機器人的電源和伺服電機的使用壽命。1、輸入、保存并運行程序StartAndStopWithRamping.bs2。2、驗證機器人是否先逐漸加速到全速,再保持一段時間,最后逐漸減速到停止。編寫勻變速程序任務(wù)五用子程序簡化巡航運動程序4.5用子程序簡化巡航運動程序01子程序一個PBASIC子程序有兩個部分。一個部分是子程序調(diào)用,它告訴程序跳到可重復(fù)執(zhí)行代碼部分,執(zhí)行后回到調(diào)用點;另一個部分是實際的子程序,它以作為自已名字的標號為子程序的起點,以RETURN指令為終點,標號和RETURN指令之間的代碼段執(zhí)行想讓子程序做的工作。01例程:OneSubroutine.bs21、輸入、保存并運行程序OneSubroutine.bs2。2、觀察調(diào)試終端,按幾次復(fù)位鍵,每次都應(yīng)該看到順序相同的3條信息。任務(wù)六高級主題一一在EEPROM中建立復(fù)雜運動4.6高級主題一一在EEPROM中建立復(fù)雜運動EEPROM與RAM(隨機存取存儲器)在以下幾個方面有所不同。1、EEPROM存儲一個值要花費較多時間,有時需要幾毫秒。2、EEPROM支持寫操作的次數(shù)是有限的,約為1千萬次,而RAM能無限次地讀/寫。3、EEPROM的主要功能是存儲程序,數(shù)據(jù)可以存儲在剩余的部分。如圖4.3所示給出了程序MovementsWithSubroutines.bs2的存儲映射圖。4.6高級主題一一在EEPROM中建立復(fù)雜運動這種編程方法需要用到一些新的PBASIC指令:DATA指令READ和SELECT…CASE...ENDSELECT指令。在運行新的例程之前,先學(xué)習(xí)一下如何使用這些新指令。EEPROM指南1、仔細閱讀程序EepromNavigationbs2,理解程序的每一部分是如何工作的。2、輸入、保存并運行程序EepromNavigationbs2。例程:EepromNavigation.bs2感謝觀看基礎(chǔ)機器人制作與編程(第3版)“十三五”職業(yè)教育國家規(guī)劃教材基礎(chǔ)機器人制作與編程(第3版)第五講機器人觸覺導(dǎo)航“十三五”職業(yè)教育國家規(guī)劃教材任務(wù)一安裝并測試機器人的胡須5.1安裝并測試機器人的胡須01搭建好胡須硬件1、準備好胡須硬件,如圖5.1所示。2、斷開BasicDuino微控制器的電源。3、按照圖5.2所示將機器人胡須安裝到面包板上。5.1安裝并測試機器人的胡須01搭建好胡須硬件3、按照圖5.2所示將機器人胡須安裝到面包板上。按照如圖5.3所示胡須電路示意圖和圖5.4所示胡須安裝實物圖在面包板上將電路搭建。5.1安裝并測試機器人的胡須01搭建好胡須硬件3、按照圖5.2所示將機器人胡須安裝到面包板上。安裝胡須后的基礎(chǔ)機器人如圖5.5所示。需要特別注意的一點是,面包板需要與BasicDuino微控制器共地,所以要將BasicDuino微控制器的負極(GND)與胡須相連,具體連接方式如圖5.6所示。5.1安裝并測試機器人的胡須01測試胡須例程:TestWhiskers.bs2。本例程用來測試胡須的功能是否正常。通過顯示存儲在P7和P5的輸入存器(IN7和IN5)中的二進制數(shù)值,測試BasicDuino微控制器是否檢測到胡須的狀態(tài)。當(dāng)相應(yīng)輸入寄存器的存儲值為1時,說明胡須沒有被按下;當(dāng)存儲值為0時,說明胡須被按下。任務(wù)二現(xiàn)場測試胡須5.2現(xiàn)場測試胡須1、斷開BasicDuino微控制器的電源。2、參照圖5.7所示的LED胡須測試電路圖完成實際接線。搭建LED胡須測試電路5.2現(xiàn)場測試胡須1、重新接通BasicDuino微控制器的電源。2、將程序TestWhiskers.bs2另存為TestWhiskersWithLeds.bs2。3、在PAUSE50和LOOP之間插入以下兩段IF…THEN語句。4、運行程序TestWhiskersWithLeds.bs2。5、輕輕按下胡須,測試上述程序。如果每根胡須在接到自己的3-pin接頭時紅色LED燈均變亮,則測試通過。對LED胡須測試電路編程任務(wù)三胡須導(dǎo)航5.3胡須導(dǎo)航當(dāng)機器人向前行走碰到障礙物時,它的一根或兩根胡須會被按下,此時可以調(diào)用第4講中的基本動作子程序使機器人倒退或轉(zhuǎn)彎,以避開障礙物重新向前行走,直到遇到另一個障礙物后再重復(fù)上述過程。為了實現(xiàn)上述功能,需要編程使機器人能夠進行條件判斷。PBASIC語言中有一個條件判斷指令語句IF...THEN。編寫程序,使機器人能夠基于胡須導(dǎo)航5.3胡須導(dǎo)航主程序中的IF…THEN語用于檢測胡須所有可能的狀態(tài)。一個全速前進的脈沖可以使機器人前進大約1/2cm。發(fā)送一個控制脈沖,然后檢測胡須狀態(tài)是一個好主意。由于IF...THEN語句一般嵌套在DO...LOOP之中,所以每次程序從ForwardPulse返回都要運行到LOOP語句處,然后再返回到DO,此時IF…THEN語句會再次執(zhí)行檢測胡須的狀態(tài)。帶著胡須的機器人是如何漫游的任務(wù)四機器人迷路時的人工智能決策5.4機器人迷路時的人工智能決策編程逃離墻角編寫逃離墻角程序時,需要使用IF…THEN嵌套語句,即令程序先檢查一種條件,如果該條件成立(條件為真),則再檢查包含于這個條件之內(nèi)的另一個條件。程序EscapingCorners.bs2是如何工作的

溫馨提示

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

評論

0/150

提交評論