SlideShare a Scribd company logo
1 of 32
Download to read offline
電子工程系車用電子與資訊組
教學(8)
巡線控制應用
吳錫修
February 14, 2018
反射式紅外線感測原理、巡線控制原理、mBot轉彎
控制、直線巡線設計、彎道巡線設計、巡線避障設計
shapethefuture
 巡線感應模組預設接到mCore連接埠2,左右各有⼀組反射式紅外
線感應器
mBot巡線感應模組 1/2
2 Wu, ShyiShiou Dept. of E.E.
右側
反射式IR
反射式IR
左側
shapethefuture
mBot巡線感應模組 2/2
3 Wu, ShyiShiou Dept. of E.E.
IR發射二極體
IR接收二極體
shapethefuture
 利用顏色對光線的反射率,來檢測路徑軌跡
 黑色吸收光線,巡線感應器在黑色軌道線上時不會收到IR反射訊號
 巡線感應器對於純白或純黑表面分辨率最佳,使用白紙及黑色電工
膠帶,效果比較明顯
 紅外線感應器背面有藍色LED指示燈,當LED燈亮起,表示接收到反
射的紅外線
巡線控制原理 1/2
4 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 兩組感應器與黑色路徑之間會有四種狀態
 依據巡線感應器的狀態,控制左右輪子的轉速,來達到mBot自動循
著黑色路徑移動的目的
巡線控制原理 2/2
5 Wu, ShyiShiou Dept. of E.E.
傳回值0
保持前進
傳回值1
應向左修正
傳回值2
應向右修正
傳回值3
策略?
shapethefuture
 巡線狀態指令
 通常將巡線感測器回傳值存入變數,再判斷如何調整mBot移動
 巡線策略須考量以下因素
 前進的速度
 轉彎的時機、方式、速度
巡線感應模組控制指令
6 Wu, ShyiShiou Dept. of E.E.
shapethefuture
1. 連接mBot與PC
2. mBlock選單命令連接>更新韌體
3. 編輯程式區塊
4. 測試
 mBot在軌道上左右移動,觀察數值變化情形
Lab 測試巡線感應器傳回值
7 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 功能要求
 按下按鈕後,mBot開始前進
 mBot到達桌子邊緣時自動後退,並隨機轉彎
Lab 桌上自走車練習 1/3
8 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 程式流程
Lab 桌上自走車練習 2/3
9 Wu, ShyiShiou Dept. of E.E.
開始
隨機轉彎
前進
後退1秒
按下按鈕
是
否
重覆執行
巡線感測<3
是
否
shapethefuture
 參考程式
Lab 桌上自走車練習 3/3
10 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 行進間右轉:左側馬達轉速>右側馬達轉速
 以右輪為支點右轉
 以左輪為支點右轉
 原地右旋轉
mBot轉彎控制 1/2
11 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 行進間左轉:左側馬達轉速<右側馬達轉速
 以左輪為支點左轉
 以右輪為支點左轉
 原地左旋轉
mBot轉彎控制 2/2
12 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 巡線感測器回傳值對應的mBot動作
 0代表車子在黑線上,可繼續往前進
 1代表車子偏向右邊,須往左修正
 2代表車子偏向左邊,須往右修正
 3代表車子偏離黑線,此時該如何呢?
 修正移動策略,使mBot移動靈活性與巡線準確性取得最佳平衡點
 調校前進的速度
 調校轉彎的速度
 調校偏離黑線時的移動修正策略
設計直線巡線自走車
13 Wu, ShyiShiou Dept. of E.E.
shapethefuture
回轉巡線設計
14 Wu, ShyiShiou Dept. of E.E.
高速回轉直到左側巡線慼測器進入軌道
低速回轉直到自走車回到軌道
shapethefuture
 功能要求
 按下按鈕後,mBot開始前進
 到達黑色軌道線盡頭時,自動回轉
Lab 直線巡線應用練習 1/3
15 Wu, ShyiShiou Dept. of E.E.
左回轉
左回轉
shapethefuture
 程式流程
Lab 直線巡線應用練習 2/3
16 Wu, ShyiShiou Dept. of E.E.
開始
直行
巡線感測器0
偏左前進
1(偏右)
偏右前進
2(偏左)
3
回轉
回轉
巡線感測器=1
高速左轉
低速左轉
巡線感測器=0
前進
是
是
否
否
返回
shapethefuture
 參考程式
Lab 直線巡線應用練習 3/3
17 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 使用變數累計mBot偏離軌道程度
 愈多組巡線感測器可更精準判斷路徑狀況
設計彎道巡線自走車 1/2
18 Wu, ShyiShiou Dept. of E.E.
-5 50
非常偏右 非常偏左
偏右 偏左
shapethefuture
 依據mBot偏離軌道情形,修正mBot方向
設計彎道巡線自走車 2/2
19 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 功能要求
 按下按鈕後,mBot開始前進
 當mBot偏離黑色軌道線時,以轉彎方式調整mBot方向,使mBot循著
黑色軌道前進
Lab 曲線巡線練習I 1/3
20 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 程式流程
Lab 曲線巡線練習I 2/3
21 Wu, ShyiShiou Dept. of E.E.
開始
偏離指標=0
偵測路徑
巡軌移動
按下按鈕
否
重覆執行
偵測路徑
將偏離指標-1
巡線感測器1(偏右)
0
2(偏左)
偏離指標=0 將偏離指標+1
返回
巡軌移動
偏離指標=0
否
是
右轉
偏離指標>0
是
直行左轉
否
返回
shapethefuture
 參考程式
曲線巡線練習I 3/3
22 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 mBot左轉及右轉指令為原地旋轉方式,應用在巡線控制上,mBot
行進明顯頓頓的
 使用左右馬達速度差方式轉彎,可讓mBot在行進間轉彎校正車子方
向,巡線控制較平順,但必須視彎道狀況調整速度差,否則遇到大
彎道時,mBot可能脫離軌道
行進間轉彎巡線
23 Wu, ShyiShiou Dept. of E.E.
小速度差
中速度差
大速度差
shapethefuture
 功能要求
 按下按鈕後,mBot開始前進
 當mBot偏離黑色軌道線時,以速度差方式調整mBot方向,使mBot循
著黑色軌道前進
 設計注意事項
 須視軌道狀況調整左右馬達速度差
Lab 曲線巡線練習II 1/4
24 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 程式流程
Lab 曲線巡線練習II 2/4
25 Wu, ShyiShiou Dept. of E.E.
開始
偏離指標=0
偵測路徑
巡軌移動
按下按鈕
否
重覆執行
巡軌移動
偏離指標=0
否
是
偏離指標>0
是
直行
依偏離指標程度
右彎前進
依偏離指標程度
左彎前進
返回
偵測路徑
將偏離指標-1
巡線感測器
1(偏右) 2(偏左)
0(在軌道上)
將偏離指標+1 偏離指標=0
返回
偏離指標=max
3(脫離軌道)
shapethefuture
 參考程式
Lab 曲線巡線練習II 3/4
26 Wu, ShyiShiou Dept. of E.E.
shapethefuture
Lab 曲線巡線練習II 4/4
27 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 功能要求
 按下按鈕後,mBot開始前進
 遇到障礙物時繞道避開障礙物,並回到軌道繼續前進
 到達黑色軌道線盡頭時,自動回轉
 設計注意事項
 須調校轉彎角度及速度
Lab mBot避障巡邏車 1/4
28 Wu, ShyiShiou Dept. of E.E.
左回轉
左回轉
左回轉
繞過障礙物
shapethefuture
 程式流程
Lab mBot避障巡邏車 2/4
29 Wu, ShyiShiou Dept. of E.E.
開始
直行
巡線感測器0
偏左前進
1(偏右)
偏右前進
2(偏左)
3
回轉
有障礙物避障 是
回轉
巡線感測器=1
高速左轉
低速左轉
巡線感測器=0
前進
是
是
否
否
返回
避障
通過軌道
左彎前進
右彎前進
回到軌道
是
是
否
否
返回
右轉
shapethefuture
 參考程式
Lab mBot避障巡邏車 3/4
30 Wu, ShyiShiou Dept. of E.E.
shapethefuture
Lab mBot避障巡邏車 4/4
31 Wu, ShyiShiou Dept. of E.E.
shapethefuture
 巡線控制原理
 mBot巡線感測器控制指令
 巡線策略
 直線巡線自走車設計
 曲線巡線自走車設計
複習
32 Wu, ShyiShiou Dept. of E.E.

More Related Content

What's hot

mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdfmbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf吳錫修 (ShyiShiou Wu)
 
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v72017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7信仁 邱
 
機器人齊步走 V4 m_bot_mblock
機器人齊步走 V4 m_bot_mblock機器人齊步走 V4 m_bot_mblock
機器人齊步走 V4 m_bot_mblock信仁 邱
 

What's hot (20)

mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用
 
mBot教學(3) - 開發mBot應用程式
mBot教學(3) - 開發mBot應用程式mBot教學(3) - 開發mBot應用程式
mBot教學(3) - 開發mBot應用程式
 
Mbot教學(1b) mBot初體驗
Mbot教學(1b) mBot初體驗Mbot教學(1b) mBot初體驗
Mbot教學(1b) mBot初體驗
 
mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用
 
mbot2.0教學-超音波感測應用.pdf
mbot2.0教學-超音波感測應用.pdfmbot2.0教學-超音波感測應用.pdf
mbot2.0教學-超音波感測應用.pdf
 
mBot教學(4) - 移動控制
mBot教學(4) - 移動控制mBot教學(4) - 移動控制
mBot教學(4) - 移動控制
 
mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用
 
mBot教學(7)- 聲光控制應用
mBot教學(7)-聲光控制應用mBot教學(7)-聲光控制應用
mBot教學(7)- 聲光控制應用
 
mbot2.0教學-移動控制.pdf
mbot2.0教學-移動控制.pdfmbot2.0教學-移動控制.pdf
mbot2.0教學-移動控制.pdf
 
mBot 教學1 組裝與測試
mBot 教學1 組裝與測試mBot 教學1 組裝與測試
mBot 教學1 組裝與測試
 
mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用
 
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdfmbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
 
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v72017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
 
機器人齊步走 V4 m_bot_mblock
機器人齊步走 V4 m_bot_mblock機器人齊步走 V4 m_bot_mblock
機器人齊步走 V4 m_bot_mblock
 
mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式
 
mbot2.0教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.pdfmbot2.0教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.pdf
 
mBot 教學3 開發mBot應用程式
mBot 教學3 開發mBot應用程式mBot 教學3 開發mBot應用程式
mBot 教學3 開發mBot應用程式
 
mBot組裝與測試
mBot組裝與測試mBot組裝與測試
mBot組裝與測試
 
mBot教學(11) 聲音感測應用
mBot教學(11) 聲音感測應用mBot教學(11) 聲音感測應用
mBot教學(11) 聲音感測應用
 
mBot教學(5) - 超音波感測應用
mBot教學(5) - 超音波感測應用mBot教學(5) - 超音波感測應用
mBot教學(5) - 超音波感測應用
 

More from 吳錫修 (ShyiShiou Wu)

Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理IIUnity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理IUnity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I吳錫修 (ShyiShiou Wu)
 
Unity遊戲設計- 2D動畫製作及應用
Unity遊戲設計-  2D動畫製作及應用Unity遊戲設計-  2D動畫製作及應用
Unity遊戲設計- 2D動畫製作及應用吳錫修 (ShyiShiou Wu)
 

More from 吳錫修 (ShyiShiou Wu) (20)

Vuforia AR影片程式設計
Vuforia AR影片程式設計Vuforia AR影片程式設計
Vuforia AR影片程式設計
 
micro:bit亮度感測應用
micro:bit亮度感測應用micro:bit亮度感測應用
micro:bit亮度感測應用
 
Vuforia AR 同時追踨多張辨識圖
Vuforia AR同時追踨多張辨識圖Vuforia AR同時追踨多張辨識圖
Vuforia AR 同時追踨多張辨識圖
 
micro:bit開關控制應用
micro:bit開關控制應用micro:bit開關控制應用
micro:bit開關控制應用
 
Vuforia AR 應用程式設計入門
Vuforia AR應用程式設計入門Vuforia AR應用程式設計入門
Vuforia AR 應用程式設計入門
 
Vuforia AR 應用程式準備作業
Vuforia AR應用程式準備作業Vuforia AR應用程式準備作業
Vuforia AR 應用程式準備作業
 
micro:bit LED顯示控制
micro:bit LED顯示控制micro:bit LED顯示控制
micro:bit LED顯示控制
 
IDE for micro:bit
IDE for micro:bitIDE for micro:bit
IDE for micro:bit
 
Microbit 1 introduction
Microbit 1 introductionMicrobit 1 introduction
Microbit 1 introduction
 
Arduino overview
Arduino overviewArduino overview
Arduino overview
 
使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計
 
使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
 
nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言
 
Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲
 
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理IIUnity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
 
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理IUnity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
 
Arduino程式除錯
Arduino程式除錯Arduino程式除錯
Arduino程式除錯
 
Unity遊戲設計- 2D動畫製作及應用
Unity遊戲設計-  2D動畫製作及應用Unity遊戲設計-  2D動畫製作及應用
Unity遊戲設計- 2D動畫製作及應用
 

mBot教學(8) - 巡線控制應用