四路感測器校正
1. 雙擊四路感測器上方按鈕,藍燈閃爍
2. 讓四個感測器同時通過黑線,來回一次,藍燈停止閃爍
3. 測試,在黑線上方則藍燈滅
起始速度測試
不翹起的狀況:從RPM = 200, step = -20往下測試
初始 RPM = 80,微翹車頭,RPM=60,不翹
加速度500RPM/sec,每0.1秒提速50PRM,仍可順利不翹頭
每圈行走距離,空轉時為 20.3 cm
前進,後退指令:以RPM 50 前進後退,最長約496 cm
原地右轉360度:左輪前進640度,右輪後退640度
右輪不動右轉360度:左輪前進1280度
左右輪間距:約11.3 cm
按鈕A, B:可視為硬體中斷
每秒約可執行 12000次,也就是每個周期約為100us;
加入四路巡跡偵測,每秒約1000次,也就是每個周期約為1ms;
加入超音波,每秒約1000次,也就是每個周期約為1ms;
超音波似乎為中斷執行,加入超音波時,執行週期無明顯增加;
改變馬達轉速需較長時間,每秒約250次,也就是每個周期約為4ms;
當僅改變一個馬達時,每秒約500次,也就是改變一個馬達轉速約耗時2ms
假設0.01秒偵測一次,線寬約2cm,至少每1cm偵測一次;
則秒速不得超過 100cm/sec,代表約每秒5轉,RPM為300
若以RPM = 200 估計,秒速約為67cm,
輪長一周20cm,最大應該為200 rpm
| 速度(rpm) | 秒速(cm) |
| 20 | 6.6 |
| 30 | 10 |
| 40 | 13.2 |
| 50 | 16.6 |
| 60 | 20 |
| 120 | 40 |
| 180 | 60 |
| 240 | 70 |
| 300 | 70 |
有角度偵測,可利用角度偵測改善偏差值
offset: 通常為 -96, -46, 0, 46, 96 幾種數值,中間的數值變化較不明顯。offset為正時代表車體偏右,負值代表車體偏左,但輸出非成線性變化,實際用處目前看起來不大
在RPM = 50的情況下,橫過直線,約可判斷250次
以RPM= 50, 速度V = 1000 cm/min = 16.7 cm/sec
橫跨2cm 約 0.12秒
左右兩側感測器間距稍寬於路徑黑線寬度,且因圖紙反射或車體歪斜,也就是當走偏但車體仍在線上時,有可能出現0000(與車體離線相同)或1100(類似左直角90度)的狀況,造成誤判。
解決方向:
1. 維持循線在 0100, 0110, 0010三種狀況
2. 前後多次偵測確認路線
在90度轉彎時,先判斷出橫向黑線叉路,由橫向黑線叉路跨到全白再轉90度,可在路線中間
以下,採用四種方式測試馬達轉彎
1. 先判斷黑線叉路,再判斷全白區=>右輪停,左輪轉320度,等效右轉90度,在轉彎前有明顯停頓
2. 先判斷黑線叉路,再判斷全白區=>右輪停,左輪以RPM=50轉動1.06秒,等效右轉90度,在轉彎前無停頓
3. 判斷黑線叉路,持續前進0.12秒(跨過黑線)=>右輪停,左輪轉320度,等效右轉90度,在轉彎前有明顯停頓
4. 判斷黑線叉路,持續前進0.12秒(跨過黑線)=>右輪停,左輪以RPM=50轉動1.06秒,等效右轉90度,在轉彎前無停頓
四種方法過彎時間如下,可知使用輪胎轉固定角度的花費時間較久,應以RPM加上轉動時間較佳
1. 1.62 sec
2. 1.19 sec
3. 1.61 sec
4. 1.19 sec
轉彎半徑:轉彎半徑以車體中心估算,若以轉彎側輪胎為距離,需再減5.6cm
轉彎半徑與兩輪的相對速度有關,例如RPM=50, 20與RPM =100, 50的轉彎半徑相同,惟過彎速度不同,右轉時左輪快,左轉時右輪快
| 左輪速度 | 右輪速度 | 相對速度 | 轉彎半徑 |
| 50 | 45 | 90% | 106 cm |
| 50 | 40 | 80% | 50 cm |
| 50 | 30 | 60% | 22 cm |
| 50 | 20 | 40% | 13 cm |
| 50 | 10 | 20% | 8.4 cm |
| 50 | 0 | 0% | 5.6 cm |
| 50 | -25 | -50% | 1.9 cm |
| 50 | -50 | -100% | 0 cm |
感應器在約 正負 3mm的範圍內,均可能感應到
改進方法 (?)=> 以3D列印在感應器下方加裝有四個孔洞的限縮板,限制光線入射範圍
0100 or 0010: 中心偏移的狀況
以線寬20mm計,感測器中心兩路距離12mm,表示從中心起,若位移4mm即超出邊界,但若以感測距離正負3mm計算,約需位移7mm才超出邊界
以下在轉彎的狀況下,計算橫向位移所需移動的距離及時間,轉速以RPM = 50為基準,另需要考慮感測器距離輪胎約7.5cm
| 左輪速度 | 右輪速度 | 相對速度 | 轉彎半徑 | 移動徑度(theta) | 移動距離(cm) | 移動時間(sec) |
| 50 | 45 | 90% | 106 cm | 0.0642 | 6.83 | 0.41 |
| 50 | 40 | 80% | 50 cm | 0.0746 | 3.76 | 0.23 |
| 50 | 30 | 60% | 22 cm | 0.0831 | 1.86 | 0.11 |
| 50 | 20 | 40% | 13 cm | 0.0868 | 1.13 | 0.07 |
| 50 | 10 | 20% | 8.4 cm | 0.0089 | 0.75 | 0.04 |
| 50 | 0 | 0% | 5.6 cm | 0.0905 | 0.51 | 0.03 |
1000 or 0001: 中心兩路完全不在線上的偏移狀況
以下在轉彎的狀況下,計算橫向位移所需移動的距離及時間,轉速以RPM = 50為基準,另需要考慮感測器距離輪胎約7.5cm
| 左輪速度 | 右輪速度 | 相對速度 | 轉彎半徑 | 移動徑度(theta) | 移動距離(cm) | 移動時間(sec) |
| 50 | 45 | 90% | 106 cm | 0.1169 | 12.44 | 0.75 |
| 50 | 40 | 80% | 50 cm | 0.1441 | 7.26 | 0.44 |
| 50 | 30 | 60% | 22 cm | 0.1707 | 3.82 | 0.23 |
| 50 | 20 | 40% | 13 cm | 0.1848 | 2.41 | 0.14 |
| 50 | 10 | 20% | 8.4 cm | 0.1935 | 1.63 | 0.1 |
| 50 | 0 | 0% | 5.6 cm | 0.1998 | 1.12 | 0.07 |
在前進的過程中,當偵測到路線狀況改變,由全白變為全黑並令馬達停止時,仍會向前前進多遠?
注意,此處距離由四路感測器最前沿開始計算
| 速度(rpm) | 前進距離(cm) |
| 20 | 0.5 |
| 30 | 0.5 |
| 40 | 0.8 |
| 50 | 1 |
| 100 | 3 |
| 150 | 4.5 |
| 200 | 8 |
| 250 | 9 |
| 300 | 9 |
轉彎方式比較(原地左轉與單輪左轉)
在40cm見方的正方形路線,轉彎十次
1. 原地左轉
感應到直角轉彎後,前進8cm,左輪-50 RPM後退右輪50 RPM前進,花費33.2秒
2. 單輪左轉
感應到直角轉彎後,前進2cm,左輪0 RPM停止右輪50 RPM前進,花費31.8秒
=========
因行進距離相同,平均每次轉彎,可快上0.14秒




