狠狠撸

狠狠撸Share a Scribd company logo
四路顏色感測器應用
Revised on November 11, 2022
? 巡線控制原理
? 設計直線巡線自走車
? 彎道巡線處理程序
? 設計彎道巡線自走車
? 使用偏差值修正車子行進
? 避障處理程序
? 設計巡線避障自走車
? 顏色識別
? 設計彎道巡線紅燈暫停自走車
? Quad RGB Sensor 使用可見光作為補光,顯著降低了環境光的干擾。
除了用來識別顏色之外,也可做為巡線感測之用
四路顏色感測器
2
mBuild連接埠 mBuild連接埠
光線感測器?4
補光燈?4
軌道追踨狀態LED?4
調校按鈕
? 白色有較強反射光,深色軌道反射光相對較弱
? 四路顏色感測器校準
? 如果 mBot2 巡線控制效果不佳,應進行 Quad RGB 感測器基本校準
1. 將 mBot2 放置在軌道圖的背景上,然後雙擊調校按鈕
2. 四路顏色感測器之軌道追踪狀態 LED 開始快速閃爍,平移車子使四路
顏色感測器緩慢滑過軌道,直到 LED 停止閃爍。大約需要 2.5 秒。就
會自動存儲獲得的參數值
3. 如果學習失敗,指示燈會慢閃,需要重新開始學習
註:?按調校按鈕,可切換補光燈的顏色。?般來說,並不需要?動改變顏色。學習
完成後會自動設置補光燈顏色
巡線控制原理 1/4
3
? 路線檢測初級應用
? 使用中間二顆顏色感測器 (L1及R1) 檢測軌道狀況
巡線控制原理 2/4
4
傳回值3,保持前進 傳回值2,應向左修正 傳回值1,應向右修正 傳回值0,策略?
? 中級應用
? 使用四顆顏色感測器檢測軌道狀況
巡線控制原理 3/4
5
傳回值7,右直角
傳回值15,無法判別T路口或十字路口
直接駛過 T 並檢查線路是否繼續
傳回值14,左直角
傳回值6 傳回值6 傳回值6
? 進階應用
? 讀取偏差值,介於 -100~100 之間
? 正值表示車子偏右,負值表示車子偏左。偏差值愈大表示車子愈偏離軌道
中心
? 補光的顏色可能對輸出值有輕微影響。切換補光燈的顏色,確保自走車放
在直線中間時輸出值為 0
? 能在車子還未駛離出軌道前即時修正
巡線控制原理 4/4
6
回轉巡線處理程序
7
高速回轉直到左側巡線慼測器進入軌道
低速回轉直到自走車回到軌道
? 功能要求
? 按下 CyberPi 按鍵 B,mBot2 開始前進
? 到達黑色軌道線盡頭時,自動調頭回轉
? 按下 CyberPi 按鍵 A,停止動作
設計直線巡線自走車 1/3
8
左回轉
左回轉
? 參考程式
? 新增 u_turn 積木指令
設計直線巡線自走車 2/3
9
設計直線巡線自走車 3/3
10
? 使用變數累計自走車偏離軌道程度
彎道巡線處理程序 1/2
11
-5 5
0
非常偏左 非常偏右
車子偏左,須向右修正 車子偏右,須向左修正
? 依據 pilot 變數值,修正 mBot2 左右輪動力
? 當偏移值 = 5 (偏右)
? 左輪 = 50 - 8*5 = 10
? 右輪 = -50 - 8*5 = -90
? 當偏移值 = -5 (偏左)
? 左輪 = 50 - 8*(-5) = 90
? 右輪 = -50 - 8*(-5) = -10
彎道巡線處理程序 2/2
12
? 功能要求
? 按下 CyberPi 按鍵 B,mBot2 開始前進
? 當 mBot2 偏離黑色軌道線時,以配速方式轉彎方式調整 mBot2 方向,使
mBot2 循著黑色軌道前進
? 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線自走車 1/3
13
? 參考程式
? 建立 pilot 變數
設計彎道巡線自走車 2/3
14
設計彎道巡線自走車 3/3
15
? 使用偏差值即時修正車子左右輪配速,只要車子偏離中心點就會開始
修正,而不是等感測器超出軌道再修正,車子行進會更順暢
? 讀取偏差值,介於 -100~100 之間
? 正值表示車子偏右,負值表示車子偏左。偏差值愈大表示車子愈偏離軌道
中心
使用偏差值修正車子行進 1/2
16
? 將偏差值換算 pilot 變數值
? 依據 pilot 變數值,修正 mBot2 左右輪動力
? 當偏移值 = 5 (偏右)
? 左輪 = 50 - 8*5 = 10
? 右輪 = -50 - 8*5 = -90
? 當偏移值 = -5 (偏左)
? 左輪 = 50 - 8*(-5) = 90
? 右輪 = -50 - 8*(-5) = -10
使用偏差值修正車子行進 2/2
17
? 功能要求
? 按下 CyberPi 按鍵 B,mBot2 開始前進
? 當 mBot2 偏離黑色軌道中心時,以配速方式轉彎方式調整 mBot2 方向,
使 mBot2 循著黑色軌道前進
? 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線自走車II 1/2
18
? 參考程式
? 建立pilot變數
設計彎道巡線自走車II 2/2
19
? 須視障礙物大小,調整旋彎及轉彎角度
避障處理程序
20
偵測到障礙物時,原地右轉後前進一段距離
左彎前進
等右側循線進入軌道後,右彎前進,直到回到軌道直線前進
? 功能要求
? 按下 CyberPi 按鍵B,mBot2 開始前進
? 遇到障礙物時繞道避開障礙物,並回到軌道繼續前進
? 到達黑色軌道線盡頭時,自動回轉
? 按下 CyberPi 按鍵 A,停止動作
? 設計注意事項
? 須調校轉彎角度及速度
設計避障巡線自走車 1/5
21
左回轉
左回轉
左回轉
繞過障礙物
? 參考程式
? 新增 route、u_turn 積木指令
設計避障巡線自走車 2/5
22
設計避障巡線自走車 3/5
23
須依據障礙物調校繞路弧度
設計避障巡線自走車 4/5
24
設計避障巡線自走車 5/5
25
? 巡軌指令也可應用於顏色判讀
? 當四路顏色傳感器位於紅色區塊上,回傳值為 3
顏色識別
26
? 功能要求
? 按下 CyberPi 按鍵 B,mBot2 開始前進
? 當 mBot2 偏離黑色軌道中心時,以配速方式轉彎方式調整 mBot2 方向,
使 mBot2 循著黑色軌道前進。遇到紅色區塊時暫停3秒後繼續前進
? 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線紅燈暫停自走車 1/3
27
? 參考程式
? 建立 pilot 變數
設計彎道巡線紅燈暫停自走車 2/3
28
設計彎道巡線紅燈暫停自走車 3/3
29
? 顏色感測器時可能因環境光或其它因素而存在色差,影響顏色識別的
準確度,此時可改用以下指令檢測顏色讀值,做為程式進行顏色判讀
的基準
? 設定自定義顏色
? 表示紅色值介於 185~215,綠色值介於 35~0,藍色值介於 35~0
? 判斷顏色感測器是否在自定義顏色上(注意回傳值只有 0 與 1)
自定義顏色識別
30
? 功能要求
? 按下 CyberPi 按鍵 B,mBot2 開始前進
? 當 mBot2 偏離黑色軌道中心時,以配速方式轉彎方式調整 mBot2 方向,
使 mBot2 循著黑色軌道前進。遇到紅色區塊時暫停3秒後繼續前進
? 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線紅燈暫停自走車II 1/3
31
? 參考程式
? 建立 pilot 變數
設計彎道巡線紅燈暫停自走車II 2/3
32
設計彎道巡線紅燈暫停自走車II 3/3
33

More Related Content

尘产辞迟2.0教学-四路顏色感测器应用.辫诲蹿