Lego
This presentation is the property of its rightful owner.
Sponsored Links
1 / 42

Lego 機器人 PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

Lego 機器人. 基礎元件與感測器. 硬體元件. NXT 主機 Motor * 3 感測 器:觸碰感測器、聲音感測器、光源感測器、超音波感測器 各式機構零件. NXT 主機. 馬達. 當執行任何需要「動」的指令時,馬達是絕對不可缺少的部分。 馬達裡內建角度感測器 ( 旋轉感測器 ) ,可以用來測量速度和距離 角度感測器所控制的角度可精確到轉動 1 度. 觸碰感測器. 主要判別為壓入 ( 數值為 1) ,及無壓入 ( 數值為 0) 常被使用為程式中的開關鈕 前端有十字孔,方便製作緩衝器,可以用來偵測機器人有沒有撞到障礙物。. 聲音感測器.

Download Presentation

Lego 機器人

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Lego

Lego 機器人

基礎元件與感測器


Lego

硬體元件

  • NXT 主機

  • Motor * 3

  • 感測器:觸碰感測器、聲音感測器、光源感測器、超音波感測器

  • 各式機構零件


Lego

NXT 主機


Lego

馬達

當執行任何需要「動」的指令時,馬達是絕對不可缺少的部分。

馬達裡內建角度感測器(旋轉感測器),可以用來測量速度和距離

角度感測器所控制的角度可精確到轉動1度


Lego

觸碰感測器

  • 主要判別為壓入(數值為1),及無壓入(數值為0)

  • 常被使用為程式中的開關鈕

  • 前端有十字孔,方便製作緩衝器,可以用來偵測機器人有沒有撞到障礙物。


Lego

聲音感測器

  • 可以偵測環境中的音量大小

  • 在調整分貝模式裡,所收集到的數據近乎人類耳朵所聽見的範圍。

  • 將接收到的數值轉換為一個介於0(最安靜)到100(最吵雜)之間的值

  • 有些數據人類是沒有辦法聽見的,例如:超聲波、超低音、超高音等。


Lego

光源感應器

  • 可以分辨光線的強弱

  • 將接收到的數值轉換為一個介於0(最暗)到100(最亮)之間的值。

  • 光源感應器可以由

    • 紅外線發射管的反射光來讀值:

      • 顏色較暗的物體,回傳值較低;

      • 顏色較亮的物體,回傳值較高。

    • 紅外線發射管也可以關掉,進而達到只讀取環境光的強度。


Lego

超音波感應器

  • 用來測量距離、發現障礙物、偵測物體的移動

  • 其原理是發射超音波(圖中左邊的「眼睛」),再接收超音波(圖中右邊的「眼睛」),依據超音波從發射到接收的時間差異,計算距離物體的遠近。

  • 偵測的範圍約在0~250公分之間,精確度是±3公分

  • 如果在同一間房間,有一個以上的超音波感應器正在運行,NXT所得的數據會有很大的偏差。


Try me

Try Me

  • Port 1 : 觸碰感測器 Touch

  • Port 2 : 聲音感測器 Sound

  • Port 3 : 光源感測器 Light

  • Port 4 : 超音波感測器 UltraSonic


Nxt program

NXT Program

  • Forward 5 – Empty – Backward 5 – Empty – Stop

  • Run

  • 觀察是否走直線


Nxt g

NXT-G


Lego

基本行進控制 -- Move 指令


Lego

基本行進控制 – Move 指令參數設定

  • Port (連接埠):預設為左輪接 Port C,右輪接 Port B。

  • Direction(行進方向):可選擇前進、後退或停止。

  • Power:決定電力大小。

  • Duration:可設定

    • Unlimited(無限執行)

    • Degrees(指定馬達旋轉角度)

    • Rotations(指定馬達旋轉圈數)

    • Seconds(指定選轉秒數)

  • Steering:控制左右輪轉速差來讓車子轉彎。


Lego

基本行進控制 –Move 指令

  • 哪些設定會影響行進速度?

  • 哪些因素會影響行進距離?轉彎角度?

  • 測量練習


Lego

基本行進控制 – Move 指令應用

  • 請設計程式來控制自動車,在教室的地面上

    • 原地左轉一圈。

    • 沿一直徑約60cm 的圓旋轉一圈。

    • 走一約 60cm*60cm 的正方形軌跡。


Lego

基本行進控制 -- Move 指令應用 倒車入庫


Lego

基本行進控制 – Move 指令 路邊停車


Lego

感測器應用


Touch sensor

觸碰感應器 Touch Sensor線控車

按一下前進,再按一下煞車,如此重複執行


Lego

觸碰感應器 練習– 線控車

  • 加速控制:

    • 觸碰感應器按一下:用 motor power 25 前進

    • 觸碰感應器再按一下:用 motor power 50 前進

    • 觸碰感應器再按一下:用 motor power 75 前進

    • 觸碰感應器再按一下:用 motor power 25 前進

    • 如此重複循環

  • 油門煞車

    • 使用兩個觸碰感測器,一個模擬油門,一個模擬煞車

    • 按下油門車子前進

    • 按下煞車車子靜止


Lego

觸碰感測器– 碰碰車

  • 在車子前端安裝一觸碰感測器

  • 若碰到障礙物則倒退轉彎

  • 經三次碰撞到達終點


Lego

聲音感測器 與 參數傳遞聲控車

將聲音感測器的Sound Level 參數

傳遞給 Move 指令作為 Power 數值

音量大小將決定馬達轉速


Light sensor

光源感測器 Light Sensor

  • 觀測紀錄二 影響光感值之因素

    • 距離與光感值

    • 顏色與光感值

    • 材質與光感值

    • 環境光的影響

  • 請將觀測結果紀錄於附件檔中


Lego

光源感應器—偵測黑線

車子一直往前走 (Unlimited) 直到偵測到黑線為止

請先測量白底與黑線的光感值,自行定義適當之邊界值

馬達轉速是否影響正確性?


Lego

光源感應器 – 偵測黑線 迴圈版


Lego

光源感應器 – 偵測黑線 迴圈版

  • 重複指令會自動重複執行框框中的指令碼,直到終止條件成立。重複指令的終止條件有幾種語法:

    • Forever (永遠): 無窮迴圈,不斷的重複執行,永不終止。

    • Sensor (感測器) : 根據感測器的輸入值決定是否終止。

    • Time (時間): 執行指定的秒數後停止。

    • Count (次數): 執行指定的次數後停止。

    • Logic (邏輯值):當輸入的邏輯值為 True 時停止。


Lego

光源感應器 – 偵測黑線 平行版

  • 左圖中的程式有兩個分支。

    • 第一個分支是Move Unlimited (一直往前走)

    • 第二個分支是等候光源感測器偵測到黑線就停下來。

  • 按住Shift 鍵將兩個分支的程式連起來,這兩段程式就會同時執行,也就是說:一邊前進、一邊偵測光源感測器是否看到黑線,當看到黑線就停下來。


Lego

光源感應器 – 偵測黑線 平行版

  • 我們可以將上面的程式定義成一個 Block (副程式),方便在主程式中呼叫使用。

  • 定義Block 的步驟是:

    • 先把整段副程式框選起來

    • 在功能表列選擇 Edit-Make a New My Block,如下圖

    • 設定 Block Name (副程式名稱)


Lego

光源感測器重複偵測黑線

  • 請修改上一個程式,改為重複偵測黑線

  • 每次偵測到黑線暫停兩秒,再繼續前進偵測

  • 提示:如何避免車子卡住停在黑線上?


Lego

奔向光明

  • 請設計一程式,根據光感值決定車速

  • 光感值越小車速越小,光感值越大車速越大


Lego

超音波感測器 來客統計

本程式宣告一個變數N

每當超音波偵測到有訪客(距離小於 30cm),就將變數N的數值加一

本範例可用於統計來客數做總量管制、或尋找幸運訪客(如第一百位)


Lego

超音波感測器 來客統計變數宣告

  • 請選擇功能表列的 Edit / Define Variables

  • 按下Create 鈕,輸入變數名稱(Name) 及資料類型(Datatype)

  • 宣告完成後可在 Data 工具箱中找到宣告好的變數


Lego

超音波感測器 來客統計變數語法

下圖是在變數N寫入(Write) 起始值0的方法。

另外參數的傳遞是用拖曳滑鼠產生連接線的方式表達的,例如在下圖中變數N的值傳送給加法指令的參數A,和參數B (數值為1,在參數區設定)相加後,將相加的結果傳送給變數N (相當於將變數N的值加一)。上圖中的黃色線條代表參數值的傳遞方向。


Lego

變數的應用

找路機器人

  • 請修改之前的範例程式,讓自動車在經過三條黑線後右轉90度,再經過兩條黑線後停車

  • 需使用迴圈及變數

    找到黑線退回原點

  • 請修改之前的範例程式,讓自動車找到黑線後退回到原來的起點


Lego

超音波感應器 – 有禮的門房

偵測到有人則隨機打招呼 “Hello” 或 “Have a nice day”


Lego

超音波感測器 -- 送往迎來 NG 版


Lego

超音波感測器應用 送往迎來

  • 設計一程式,若有物體靠近則說 “Hello”,若有物體遠離則說 “Good Bye”

  • 提示:需偵測物體距離隨著時間變大或變小

  • 提示:可用變數紀錄第一次測量和第二次測量時的障礙物距離


Lego

單光感循跡車

光源感測器感測到黑色

驅動右輪向左前方前進

光源感測器感測到白色

驅動左輪向右前方前進


Lego

單光感循跡車程式


Lego

單光感循跡練習

請設計一程式讓車子自動沿著上列軌跡行進

在不脫離軌跡的前提下,如何讓車子以最快速度完成循跡?


Lego

單光感循跡避障競賽

  • 任務:

    • 需沿著白紙上用黑色膠帶貼成的軌跡前進,軌跡的大小及形狀未知。

    • 在黑色軌跡上被任意放置兩個障礙物,障礙物擺放位置未知。

    • 自動車需循黑色軌跡前進,當遇到障礙物時要繞道而行,繞道長度不可超過 2.5 個車身長度。

    • 繞過障礙物後須再回到黑色軌跡上繼續循跡前進,直到終點。


Lego

單光感循跡避障競賽

  • 競賽規則:

    • 全程不可擦撞障礙物,包括繞道後重新回到軌跡上時亦然。擦撞障礙物者視同任務失敗。

    • 在任務成功的前提下,以最快速度回到終點者為優勝。

  • 參考影片

    • 優勝影片1:http://youtu.be/FAUJtchuhpQ

    • 優勝影片2:http://youtu.be/vjmcWIxILPI


  • Login